kinetex 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/README.md +919 -445
  2. package/dist/browser/kinetex.esm.js +18 -18
  3. package/dist/browser/kinetex.js +749 -295
  4. package/dist/browser/kinetex.min.js +18 -18
  5. package/dist/cjs/aws-sigv4.js +4 -1
  6. package/dist/cjs/cache.js +52 -14
  7. package/dist/cjs/circuit-breaker.js +24 -4
  8. package/dist/cjs/client.js +495 -131
  9. package/dist/cjs/cookie-parser.js +7 -4
  10. package/dist/cjs/cookie-store.js +16 -8
  11. package/dist/cjs/core.js +83 -35
  12. package/dist/cjs/dedup.js +9 -7
  13. package/dist/cjs/digest.js +26 -0
  14. package/dist/cjs/graphql.js +19 -4
  15. package/dist/cjs/headers.js +64 -8
  16. package/dist/cjs/interceptors.js +86 -33
  17. package/dist/cjs/logging.js +1 -1
  18. package/dist/cjs/pagination.js +14 -6
  19. package/dist/cjs/progress.js +129 -42
  20. package/dist/cjs/socks5.js +36 -21
  21. package/dist/cjs/sse.js +48 -11
  22. package/dist/cjs/utils.js +24 -12
  23. package/dist/cjs/worker.js +6 -6
  24. package/dist/cjs/ws.js +23 -7
  25. package/dist/esm/aws-sigv4.js +4 -1
  26. package/dist/esm/aws-sigv4.js.map +1 -1
  27. package/dist/esm/cache.js +52 -14
  28. package/dist/esm/cache.js.map +1 -1
  29. package/dist/esm/circuit-breaker.js +24 -4
  30. package/dist/esm/circuit-breaker.js.map +1 -1
  31. package/dist/esm/client.js +495 -131
  32. package/dist/esm/client.js.map +1 -1
  33. package/dist/esm/cookie-parser.js +7 -4
  34. package/dist/esm/cookie-parser.js.map +1 -1
  35. package/dist/esm/cookie-store.js +16 -8
  36. package/dist/esm/cookie-store.js.map +1 -1
  37. package/dist/esm/core.js +83 -35
  38. package/dist/esm/core.js.map +1 -1
  39. package/dist/esm/dedup.js +9 -7
  40. package/dist/esm/dedup.js.map +1 -1
  41. package/dist/esm/digest.js +26 -0
  42. package/dist/esm/digest.js.map +1 -1
  43. package/dist/esm/graphql.js +19 -4
  44. package/dist/esm/graphql.js.map +1 -1
  45. package/dist/esm/headers.js +64 -8
  46. package/dist/esm/headers.js.map +1 -1
  47. package/dist/esm/interceptors.js +86 -33
  48. package/dist/esm/interceptors.js.map +1 -1
  49. package/dist/esm/logging.js +1 -1
  50. package/dist/esm/pagination.js +14 -6
  51. package/dist/esm/pagination.js.map +1 -1
  52. package/dist/esm/progress.js +129 -42
  53. package/dist/esm/progress.js.map +1 -1
  54. package/dist/esm/socks5.js +36 -21
  55. package/dist/esm/socks5.js.map +1 -1
  56. package/dist/esm/sse.js +48 -11
  57. package/dist/esm/sse.js.map +1 -1
  58. package/dist/esm/types.js.map +1 -1
  59. package/dist/esm/utils.js +24 -12
  60. package/dist/esm/utils.js.map +1 -1
  61. package/dist/esm/worker.js +6 -6
  62. package/dist/esm/worker.js.map +1 -1
  63. package/dist/esm/ws.js +23 -7
  64. package/dist/esm/ws.js.map +1 -1
  65. package/dist/types/aws-sigv4.d.ts.map +1 -1
  66. package/dist/types/cache.d.ts +8 -1
  67. package/dist/types/cache.d.ts.map +1 -1
  68. package/dist/types/circuit-breaker.d.ts.map +1 -1
  69. package/dist/types/client.d.ts +29 -12
  70. package/dist/types/client.d.ts.map +1 -1
  71. package/dist/types/cookie-parser.d.ts.map +1 -1
  72. package/dist/types/cookie-store.d.ts.map +1 -1
  73. package/dist/types/core.d.ts +10 -0
  74. package/dist/types/core.d.ts.map +1 -1
  75. package/dist/types/dedup.d.ts +0 -7
  76. package/dist/types/dedup.d.ts.map +1 -1
  77. package/dist/types/digest.d.ts +14 -0
  78. package/dist/types/digest.d.ts.map +1 -1
  79. package/dist/types/graphql.d.ts.map +1 -1
  80. package/dist/types/headers.d.ts +25 -10
  81. package/dist/types/headers.d.ts.map +1 -1
  82. package/dist/types/interceptors.d.ts.map +1 -1
  83. package/dist/types/logging.d.ts +1 -1
  84. package/dist/types/pagination.d.ts.map +1 -1
  85. package/dist/types/progress.d.ts.map +1 -1
  86. package/dist/types/socks5.d.ts.map +1 -1
  87. package/dist/types/sse.d.ts.map +1 -1
  88. package/dist/types/types.d.ts +25 -2
  89. package/dist/types/types.d.ts.map +1 -1
  90. package/dist/types/utils.d.ts.map +1 -1
  91. package/dist/types/worker.d.ts +6 -6
  92. package/dist/types/worker.d.ts.map +1 -1
  93. package/dist/types/ws.d.ts +4 -0
  94. package/dist/types/ws.d.ts.map +1 -1
  95. package/package.json +4 -4
@@ -1,9 +1,9 @@
1
- /* kinetex v1.1.0 | MIT | https://github.com/kinetexjs/kinetex */
2
- "use strict";var kinetex=(()=>{var Jc=Object.create;var Ot=Object.defineProperty;var Qc=Object.getOwnPropertyDescriptor;var Gc=Object.getOwnPropertyNames;var Xc=Object.getPrototypeOf,Yc=Object.prototype.hasOwnProperty;var Ko=r=>{throw TypeError(r)};var Zc=(r,e,t)=>e in r?Ot(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var Ge=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var F=(r,e,t)=>()=>{if(t)throw t[0];try{return r&&(e=r(r=0)),e}catch(n){throw t=[n],n}};var fe=(r,e)=>{for(var t in e)Ot(r,t,{get:e[t],enumerable:!0})},Vo=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Gc(e))!Yc.call(r,s)&&s!==t&&Ot(r,s,{get:()=>e[s],enumerable:!(n=Qc(e,s))||n.enumerable});return r};var Xe=(r,e,t)=>(t=r!=null?Jc(Xc(r)):{},Vo(e||!r||!r.__esModule?Ot(t,"default",{value:r,enumerable:!0}):t,r)),el=r=>Vo(Ot({},"__esModule",{value:!0}),r);var h=(r,e,t)=>Zc(r,typeof e!="symbol"?e+"":e,t),tl=(r,e,t)=>e.has(r)||Ko("Cannot "+t);var Jo=(r,e,t)=>e.has(r)?Ko("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t);var se=(r,e,t)=>(tl(r,e,"access private method"),t);function rl(){if(pr)return pr;let r=globalThis;if(r.process?.hrtime)return pr=r.process,pr}function nl(){if(mr)return mr;let r=globalThis;if(r.Buffer&&typeof r.Buffer.isBuffer=="function")return mr=r.Buffer,mr}function de(r,e={}){let t={...sl,...e};if(r.length>t.maxStringLength)return{success:!1,error:"STRING_TOO_LONG",message:`JSON string length exceeds limit of ${t.maxStringLength}`};let n=0,s=!1,o=!1;for(let i=0;i<r.length;i++){let a=r[i];if(o){o=!1;continue}if(a==="\\"){s&&(o=!0);continue}if(a==='"'){s=!s;continue}if(!s)if(a==="{"||a==="["){if(++n>t.maxDepth)return{success:!1,error:"DEPTH_EXCEEDED",message:`JSON depth exceeds limit of ${t.maxDepth}`}}else(a==="}"||a==="]")&&n--}try{let i=JSON.parse(r);return xn(i,t,0)?!t.allowNonFinite&&_n(i)?{success:!1,error:"NON_FINITE_NUMBER",message:"JSON contains NaN or Infinity values"}:{success:!0,value:i}:{success:!1,error:"VALIDATION_FAILED",message:"Parsed value exceeds size limits"}}catch{return{success:!1,error:"PARSE_ERROR",message:"Failed to parse JSON"}}}function xn(r,e,t){if(t>e.maxDepth)return!1;if(r==null)return!0;if(typeof r=="string")return r.length<=e.maxStringLength;if(typeof r=="number"||typeof r=="boolean")return!0;if(Array.isArray(r))return r.length>e.maxArrayLength?!1:r.every(n=>xn(n,e,t+1));if(typeof r=="object"){let n=Object.keys(r);if(n.length>e.maxObjectKeys||n.includes("__proto__"))return!1;if(n.includes("constructor")){let s=r.constructor;if(typeof s=="object"&&s!==null){let o=Object.keys(s);if(o.includes("prototype")||o.includes("__proto__"))return!1}}return n.every(s=>xn(r[s],e,t+1))}return!0}function _n(r){return typeof r=="number"&&!Number.isFinite(r)?!0:Array.isArray(r)?r.some(_n):typeof r=="object"&&r!==null?Object.values(r).some(_n):!1}function ci(r){let e=de(r);return e.success?e.value:r}function M(r){if(r===null||typeof r!="object")return r;if(Array.isArray(r)){for(let t=0;t<r.length;t++)r[t]=M(r[t]);return r}let e=r;for(let t of Object.keys(e)){if(t==="__proto__"||t==="constructor"||t==="prototype"){delete e[t];continue}M(e[t])}return r}function li(r){return de(r,{maxDepth:16,maxStringLength:1*1024*1024,maxArrayLength:1e3,maxObjectKeys:100})}function ui(r){return r instanceof Uint8Array}function hi(r){return r instanceof ArrayBuffer}function fi(r){return r!==null&&typeof r=="object"&&"getReader"in r&&typeof r.getReader=="function"}function di(r){return r!==null&&typeof r=="object"&&"forEach"in r&&typeof r.forEach=="function"}function pi(r){return r!==null&&typeof r=="object"&&"aborted"in r&&typeof r.aborted=="boolean"}function mi(r){return r!==null&&typeof r=="object"&&Object.prototype.toString.call(r)==="[object Object]"}function gi(r){return r!==null&&typeof r=="object"&&r.constructor?.name==="FormData"}function yi(r){return r!==null&&typeof r=="object"&&r.constructor?.name==="Blob"}function wi(r){return r!==null&&typeof r=="object"&&"has"in r&&typeof r.has=="function"}function Me(r){return typeof r!="string"||r.length===0||r.length>4096?!1:ol.test(r)}function we(r){if(typeof r!="string"||r.length>8192)return!1;for(let e=0;e<r.length;e++){let t=r.charCodeAt(e);if(t<32&&t!==9||t===127||t===13||t===10)return!1}return!0}function Ut(r){return al.some(([e,t])=>r>=e&&r<=t)}function ai(r){return r===""?null:/^0[xX][0-9a-fA-F]+$/.test(r)?parseInt(r,16):/^0[0-7]+$/.test(r)?parseInt(r,8):/^\d+$/.test(r)?parseInt(r,10):null}function bi(r){if(r.includes(":")||!/^[0-9a-fA-FxX.]+$/.test(r))return null;let e=r.split(".");if(e.length>4)return null;if(e.length===1){let n=ai(e[0]);return n===null||n>4294967295?null:n>>>0}let t=[];for(let n of e){let s=ai(n),o=n===e[e.length-1];if(s===null||s>(o&&t.length===3,255))return null;t.push(s)}for(;t.length<4;)t.push(0);return(t[0]<<24|t[1]<<16|t[2]<<8|t[3])>>>0}function cl(r){if(!r.includes(":"))return null;let e=r.split("%")[0],t=e.split("::");if(t.length>2)return null;let n=o=>{if(o==="")return[];let i=o.split(":"),a=[];for(let c=0;c<i.length;c++){let l=i[c];if(l==="")return null;if(l.includes(".")){if(c!==i.length-1)return null;let u=bi(l);if(u===null)return null;a.push(u>>>24&255,u>>>16&255,u>>>8&255,u&255)}else{if(!/^[0-9a-fA-F]{1,4}$/.test(l))return null;let u=parseInt(l,16);a.push(u>>>8&255,u&255)}}return a},s;if(t.length===2){let o=n(t[0]),i=n(t[1]);if(!o||!i)return null;let a=16-o.length-i.length;if(a<0)return null;s=[...o,...new Array(a).fill(0),...i]}else{let o=n(e);if(!o||o.length!==16)return null;s=o}return s.length===16?new Uint8Array(s):null}function ll(r){let e=n=>(r[n]<<24|r[n+1]<<16|r[n+2]<<8|r[n+3])>>>0;if(r.every(n=>n===0)||r.slice(0,15).every(n=>n===0)&&r[15]===1)return!0;let t=r[0];return(t&254)===252||t===254&&(r[1]&192)===128||t===255||r[0]===32&&r[1]===1&&r[2]===13&&r[3]===184?!0:r.slice(0,10).every(n=>n===0)&&r[10]===255&&r[11]===255||r.slice(0,12).every(n=>n===0)||r[0]===0&&r[1]===100&&r[2]===255&&r[3]===155&&r.slice(4,12).every(n=>n===0)?Ut(e(12)):r[0]===32&&r[1]===2?Ut(e(2)):!1}function Oe(r,e=["http","https"]){try{let t=typeof r=="string"?new URL(r):r,n=t.protocol.replace(/:$/,"").toLowerCase();if(!e.some(i=>i.toLowerCase()===n)||il.has(n))return!1;let s=t.hostname.toLowerCase(),o=s.startsWith("[")&&s.endsWith("]");if(o&&(s=s.slice(1,-1)),s==="localhost"||s.endsWith(".localhost")||s==="0.0.0.0")return!1;if(o||s.includes(":")){let i=cl(s);if(i===null||ll(i))return!1}else{let i=bi(s);if(i!==null&&Ut(i))return!1}if(t.hostname.includes("..")||t.pathname.includes("..")||t.hostname.length>253||t.href.length>8192)return!1;if(t.port){let i=parseInt(t.port,10);if(isNaN(i)||i<1||i>65535)return!1}return!0}catch{return!1}}function et(r){if(r===null||typeof r!="object")return r;if(Array.isArray(r))return r.map(t=>et(t));if(r instanceof Date)return new Date(r.getTime());if(r instanceof Uint8Array)return new Uint8Array(r);if(r instanceof Map){let t=new Map;return r.forEach((n,s)=>t.set(s,et(n))),t}if(r instanceof Set){let t=new Set;return r.forEach(n=>t.add(et(n))),t}let e={};for(let t in r)t==="__proto__"||t==="constructor"||t==="prototype"||Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=et(r[t]));return e}function xi(r,e){let t=new Error(r);return Object.assign(t,e),t}function _i(r){if(r instanceof Error){let e={};for(let[n,s]of Object.entries(r))n!=="message"&&n!=="name"&&n!=="stack"&&(e[n]=s);let t=Object.keys(e).length>0?` | ${JSON.stringify(e)}`:"";return`${r.name}: ${r.message}${t}`}return String(r)}function Si(r){if(typeof r!="string"||r.length>2048)return null;try{let e=new URL(r);return Oe(e)?(e.username="",e.password="",e.toString()):null}catch{return null}}function Ti(){let r=rl();if(r?.hrtime){let[t,n]=r.hrtime();return t*1e3+n/1e6}return typeof globalThis.Bun<"u",Date.now()}function Ei(r,e){return e?.aborted?Promise.reject(Sn()):new Promise((t,n)=>{let s=()=>{clearTimeout(o),n(Sn())},o=setTimeout(()=>{e?.removeEventListener("abort",s),t()},r);e&&e.addEventListener("abort",s,{once:!0})})}function gr(r){if(r.length===0)return new Uint8Array(0);let e=r.reduce((s,o)=>s+o.byteLength,0),t=new Uint8Array(e),n=0;for(let s of r)t.set(s,n),n+=s.byteLength;return t}function Ri(r){if(r instanceof Uint8Array)return r.slice();if(r instanceof ArrayBuffer)return new Uint8Array(r);let e=nl();return e&&e.isBuffer(r)?new Uint8Array(r):typeof r=="string"?new TextEncoder().encode(r):null}function $t(r){if(r.byteLength<=24576){let n="";for(let s=0;s<r.byteLength;s++)n+=String.fromCharCode(r[s]);return btoa(n)}let t=[];for(let n=0;n<r.byteLength;n+=24576){let s=r.subarray(n,n+24576),o="";for(let i=0;i<s.byteLength;i++)o+=String.fromCharCode(s[i]);t.push(btoa(o))}return t.map((n,s)=>s<t.length-1?n.replace(/=+$/,""):n).join("")}function yr(...r){let e=r.filter(s=>s!=null);if(e.length===0)return;if(e.length===1)return e[0];if(e.some(s=>s.aborted)){let s=new AbortController;return s.abort(),s.signal}let t=new AbortController,n=()=>{for(let s of e)s.removeEventListener("abort",n);t.abort(Sn())};t.signal.addEventListener("abort",()=>{for(let s of e)s.removeEventListener("abort",n)},{once:!0});for(let s of e)s.addEventListener("abort",n,{once:!0});return t.signal}function wr(r){if(!(r instanceof Error))return!1;if(r.name==="AbortError")return!0;let e=r;return e.code==="ECONNRESET"||e.code==="ECONNABORTED"||r instanceof DOMException&&r.name==="AbortError"}function tt(r){if(!Number.isInteger(r)||r<0||r>65536)throw new Error(`randomBytes: invalid byteCount ${r}`);let e=new Uint8Array(r);if(typeof crypto<"u"&&typeof crypto.getRandomValues=="function")crypto.getRandomValues(e);else throw new Error("randomBytes: no CSPRNG available in this runtime \u2014 crypto.getRandomValues is required");return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}function Sn(){if(typeof DOMException<"u")return new DOMException("Aborted","AbortError");let r=new Error("Aborted");return r.name="AbortError",r}function br(){if(oe)return oe;try{if(globalThis.process?.versions?.node)return oe="node",oe}catch{}return typeof globalThis.Deno<"u"?oe="deno":typeof globalThis.Bun<"u"?oe="bun":typeof window<"u"?oe="browser":typeof globalThis<"u"&&typeof globalThis.fetch=="function"?oe="edge":oe="unknown",oe}function ki(){return br()==="node"}function Ai(){return br()==="browser"}function Ci(){return typeof globalThis?.fetch=="function"}function rt(r){let e={};return r.forEach((t,n)=>{e[n.toLowerCase()]=t}),e}var pr,mr,sl,ol,il,al,oe,z=F(()=>{"use strict";sl={maxDepth:32,maxStringLength:10*1024*1024,maxArrayLength:1e4,maxObjectKeys:1e3,allowNonFinite:!1};ol=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;il=new Set(["file","ftp","gopher","data","javascript","dict","ldap","ldaps","rlogin","telnet","tn3270","imap","pop","smtp","nntp","news","ssh","git","svn","webcal","urn"]),al=[[0,16777215],[167772160,184549375],[1681915904,1686110207],[2130706432,2147483647],[2851995648,2852061183],[2886729728,2887778303],[3221225472,3221225727],[3221225984,3221226239],[3232235520,3232301055],[3323068416,3323199487],[3325256704,3325256959],[3405803776,3405804031],[3758096384,4026531839],[4026531840,4294967295]];oe=null});function Tn(r){return r}function Pi(r){if(typeof r=="string"){for(let e of ul)if(e===r)return e}}var ul,S,st,ot,_r,Z,J,Sr,Tr,Er,Q,Ne=F(()=>{"use strict";ul=["ENETWORK","ETIMEOUT","EABORT","EHTTPSTATUS","ESIZELIMIT","EPARSE","EVALIDATION","EAUTH","EPROXY","EREDIRECT","EUNKNOWN"];S=class extends Error{constructor(t,n,s){super(t);h(this,"code");h(this,"request");h(this,"response");h(this,"cause");this.name="KinetexError",this.code=n,s?.request!==void 0&&(this.request=s.request),s?.response!==void 0&&(this.response=s.response),s?.cause!==void 0&&(this.cause=s.cause)}get isNetwork(){return this.code==="ENETWORK"}get isProxy(){return this.code==="EPROXY"}get isTimeout(){return this.code==="ETIMEOUT"}get isAbort(){return this.code==="EABORT"}get isHTTPError(){return this.code==="EHTTPSTATUS"}get status(){return this.response?.status??null}},st=class extends S{constructor(t,n,s){super(`Response size limit exceeded: ${t} bytes read, limit is ${n} bytes`,"ESIZELIMIT",s!==void 0?{request:s}:{});h(this,"bytesRead");h(this,"limit");this.bytesRead=t,this.limit=n,this.name="SizeLimitError"}},ot=class extends S{constructor(e,t){super(`HTTP ${e.status} ${e.statusText} \u2014 ${e.url}`,"EHTTPSTATUS",{request:t,response:e}),this.name="HTTPStatusError"}get isClientError(){return(this.status??0)>=400&&(this.status??0)<500}get isServerError(){return(this.status??0)>=500}},_r=class extends S{constructor(e){super("Request was aborted","EABORT",e!==void 0?{request:e}:{}),this.name="AbortError"}},Z=class extends S{constructor(e,t){super(e,"ENETWORK",t!==void 0?{request:t}:{}),this.name="NetworkError"}},J=class extends S{constructor(e,t){super(e,"EVALIDATION",t!==void 0?{request:t}:{}),this.name="ValidationError"}},Sr=class extends S{constructor(e,t){super(e,"EAUTH",t!==void 0?{request:t}:{}),this.name="AuthError"}},Tr=class extends S{constructor(e,t){super(e,"EPROXY",t!==void 0?{request:t}:{}),this.name="ProxyError"}},Er=class extends S{constructor(e,t){super(e,"EREDIRECT",t!==void 0?{request:t}:{}),this.name="RedirectError"}},Q=class extends S{constructor(t,n){super(`Request timed out after ${t}ms`,"ETIMEOUT",n!==void 0?{request:n}:{});h(this,"timeoutMs");this.timeoutMs=t,this.name="TimeoutError"}}});var Oi={};fe(Oi,{CloudflareKVAdapter:()=>at,HTTPCache:()=>ie,MemoryStorageAdapter:()=>be,TwoTierStorageAdapter:()=>ct,WebStorageAdapter:()=>Ue,createKVCache:()=>vn,createLocalStorageCache:()=>An,createMemoryCache:()=>kn,createSessionStorageCache:()=>Cn,createTwoTierCache:()=>Pn,getAuthFingerprint:()=>$e});function hl(r){let e={noStore:!1,noCache:!1,mustRevalidate:!1,proxyRevalidate:!1,public:!1,private:!1,maxAge:null,sMaxAge:null,staleWhileRevalidate:null,staleIfError:null,immutable:!1};for(let t of r.split(",")){let n=t.trim(),s=n.indexOf("="),o=(s===-1?n:n.slice(0,s)).trim().toLowerCase(),i=s===-1?null:n.slice(s+1).trim().replace(/^"|"$/g,""),a=i!==null?parseInt(i,10):null;switch(o){case"no-store":e.noStore=!0;break;case"no-cache":e.noCache=!0;break;case"must-revalidate":e.mustRevalidate=!0;break;case"proxy-revalidate":e.proxyRevalidate=!0;break;case"public":e.public=!0;break;case"private":e.private=!0;break;case"immutable":e.immutable=!0;break;case"max-age":e.maxAge=a;break;case"s-maxage":e.sMaxAge=a;break;case"stale-while-revalidate":e.staleWhileRevalidate=a;break;case"stale-if-error":e.staleIfError=a;break;case"no-transform":break;case"only-if-cached":break;case"must-understand":break;default:break}}return e}function Ii(r,e){return r?r.trim()==="*"?null:r.split(",").map(s=>s.trim().toLowerCase()).sort().map(s=>{let o=e[s]??e[s.toLowerCase()]??"";return`${s}=${o}`}).join(";"):""}function it(r){let e=["\0-","\x7F-\x9F"].join(""),t=new RegExp(`[${e}]`,"g");return r.replaceAll(t,"").replaceAll(/\s+/g," ").trim()}async function $e(r){let e=["authorization","cookie","x-api-key","x-auth-token"],t=[];for(let i of e){let a=r[i.toLowerCase()];a&&t.push(`${i}=${a}`)}if(t.length===0)return"";let n=new TextEncoder().encode(t.join("|")),s=await crypto.subtle.digest("SHA-256",n);return`auth:${Array.from(new Uint8Array(s)).map(i=>i.toString(16).padStart(2,"0")).join("").slice(0,32)}`}async function fl(r){try{let e=new URL(r.url),t=it(e.hostname),n=it(e.pathname);e.searchParams.sort();let s=it(e.search);e.hash="";let o=`${e.protocol}//${t}${e.port?":"+e.port:""}${n}${s}`,i=it(r.method.toUpperCase()),a=await $e(r.headers??{}),c=`${i}:${o}`;return a?`${c}:${a}`:c}catch{let e=it(r.method.toUpperCase()),t=it(r.url),n=await $e(r.headers??{}),s=`${e}:${t}`;return n?`${s}:${n}`:s}}function Li(r,e,t){let n=r.headers["cache-control"]??r.headers["Cache-Control"]??"",s=hl(n);if(t&&s.noStore)return{ttlMs:0,swrMs:0,staleOnError:0,shouldCache:!1};let o=s.sMaxAge??s.maxAge,i;if(o!==null){let l=parseInt(r.headers.age??r.headers.Age??"0",10)||0;i=Math.max(0,(o-l)*1e3)}else{let l=r.headers.expires??r.headers.Expires;if(l){let u=Date.parse(l);i=isNaN(u)?e:Math.max(0,u-Date.now())}else{let u=r.headers["last-modified"]??r.headers["Last-Modified"];if(u){let f=Date.parse(u);isNaN(f)?i=e:i=Math.min((Date.now()-f)*.1,e)}else i=e}}s.immutable&&i>0&&(i=365*24*60*60*1e3);let a=s.staleWhileRevalidate!==null?s.staleWhileRevalidate*1e3:0,c=s.staleIfError!==null?s.staleIfError*1e3:0;return{ttlMs:i,swrMs:a,staleOnError:c,shouldCache:i>0||a>0}}function Rr(r){return{...r,response:Mi(r.response),tags:[...r.tags]}}function Mi(r){return{...r,headers:{...r.headers},body:r.body instanceof Uint8Array?new Uint8Array(r.body):r.body}}function dl(r){return r?typeof r=="string"?new TextEncoder().encode(r).byteLength:r.byteLength:0}function kn(r){return new ie({...r,storage:new be})}function An(r,e){if(typeof localStorage>"u")throw new Error("localStorage is not available");return new ie({...e,storage:new Ue(localStorage,r)})}function Cn(r,e){if(typeof sessionStorage>"u")throw new Error("sessionStorage is not available");return new ie({...e,storage:new Ue(sessionStorage,r)})}function vn(r,e){return new ie({...e,storage:new at(r)})}function Pn(r,e){return new ie({...e,storage:new ct(r)})}var be,Ue,at,ct,En,Rn,ie,jt=F(()=>{"use strict";z();be=class{constructor(){h(this,"store",new Map)}get(e){return Promise.resolve(this.store.get(e)??null)}set(e,t){return this.store.set(e,t),Promise.resolve()}delete(e){return this.store.delete(e),Promise.resolve()}keys(){return Promise.resolve(Array.from(this.store.keys()))}clear(){return this.store.clear(),Promise.resolve()}get size(){return this.store.size}},Ue=class{constructor(e,t="hc:"){h(this,"storage");h(this,"prefix");this.storage=e,this.prefix=t}get(e){try{let t=this.storage.getItem(this.prefix+e);if(!t)return Promise.resolve(null);let n=de(t,{maxDepth:32});return Promise.resolve(n.success&&n.value!==void 0?n.value:null)}catch{return Promise.resolve(null)}}set(e,t){try{return this.storage.setItem(this.prefix+e,JSON.stringify(t)),Promise.resolve(!0)}catch(n){return n instanceof Error&&(n.name==="QuotaExceededError"||n.name==="NS_ERROR_DOM_QUOTA_REACHED")&&console.warn("[kinetex] WebStorageAdapter: storage quota exceeded. Entry was NOT cached. Consider reducing maxBodySizeBytes or using a different storage adapter."),Promise.resolve(!1)}}delete(e){return this.storage.removeItem(this.prefix+e),Promise.resolve()}keys(){let e=[];for(let t=0;t<this.storage.length;t++){let n=this.storage.key(t);n?.startsWith(this.prefix)&&e.push(n.slice(this.prefix.length))}return Promise.resolve(e)}clear(){let e=[];for(let t=0;t<this.storage.length;t++){let n=this.storage.key(t);n?.startsWith(this.prefix)&&e.push(n)}for(let t of e)this.storage.removeItem(t);return Promise.resolve()}},at=class{constructor(e,t="hc:"){h(this,"kv");h(this,"prefix");this.kv=e,this.prefix=t}async get(e){return await this.kv.get(this.prefix+e,"json")}async set(e,t){let n=t.expiresAt===1/0?void 0:Math.max(1,Math.ceil((t.expiresAt-Date.now())/1e3));await this.kv.put(this.prefix+e,JSON.stringify(t),{...n!==void 0?{expirationTtl:n}:{}})}async delete(e){await this.kv.delete(this.prefix+e)}async keys(){return(await this.kv.list({prefix:this.prefix})).keys.map(t=>t.name.slice(this.prefix.length))}async clear(){let e=await this.keys();await Promise.all(e.map(t=>this.kv.delete(this.prefix+t)))}},ct=class{constructor(e){h(this,"l2");h(this,"l1",new be);this.l2=e}async get(e){let t=await this.l1.get(e);if(t)return t;let n=await this.l2.get(e);return n&&await this.l1.set(e,n),n}async set(e,t){await Promise.all([this.l1.set(e,t),this.l2.set(e,t)])}async delete(e){await Promise.all([this.l1.delete(e),this.l2.delete(e)])}async keys(){return await this.l2.keys()}async clear(){await Promise.all([this.l1.clear(),this.l2.clear()])}};En=class{constructor(e,t=null,n=null){h(this,"key");h(this,"prev");h(this,"next");this.key=e,this.prev=t,this.next=n}},Rn=class{constructor(){h(this,"map",new Map);h(this,"head",null);h(this,"tail",null)}touch(e){let t=this.map.get(e);if(t)this._unlink(t),this._prepend(t);else{let n=new En(e);this.map.set(e,n),this._prepend(n)}}evict(){if(!this.tail)return null;let e=this.tail.key;return this._unlink(this.tail),this.map.delete(e),e}remove(e){let t=this.map.get(e);t&&(this._unlink(t),this.map.delete(e))}clear(){this.map.clear(),this.head=null,this.tail=null}get size(){return this.map.size}_prepend(e){e.prev=null,e.next=this.head,this.head&&(this.head.prev=e),this.head=e,this.tail||(this.tail=e)}_unlink(e){e.prev?e.prev.next=e.next:this.head=e.next,e.next?e.next.prev=e.prev:this.tail=e.prev,e.prev=null,e.next=null}},ie=class{constructor(e={}){h(this,"cfg");h(this,"storage");h(this,"lru",new Rn);h(this,"tagIndex",new Map);h(this,"swrInFlight",new Set);h(this,"stats",{hits:0,misses:0,staleHits:0,errors:0,evictions:0,totalEntries:0,totalSizeBytes:0,hitRate:0});this.cfg={maxEntries:e.maxEntries??500,maxSizeBytes:e.maxSizeBytes??50*1024*1024,maxBodySizeBytes:e.maxBodySizeBytes??5*1024*1024,defaultTtlMs:e.defaultTtlMs??6e4,maxAbsoluteAgeMs:e.maxAbsoluteAgeMs??10080*60*1e3,honorCacheControl:e.honorCacheControl??!0,cacheMethods:e.cacheMethods??["GET","HEAD"],cacheStatuses:e.cacheStatuses??[200,203,204,206,300,301,304,404,405,410,414,501],cacheKey:e.cacheKey??fl,storage:e.storage??new be,namespace:e.namespace??""},(this.cfg.defaultTtlMs===1/0||this.cfg.defaultTtlMs>365*24*60*60*1e3)&&(console.warn(`[Kinetex Cache] Capping defaultTtlMs from ${this.cfg.defaultTtlMs}ms to 1 year (${365*24*60*60*1e3}ms)`),this.cfg.defaultTtlMs=365*24*60*60*1e3),this.storage=this.cfg.storage}async get(e){if(!this._isCacheable(e.method))return null;let t=await this._key(e),n=await this.storage.get(t);if(!n)return this.stats.misses++,this._updateHitRate(),null;if(n.varyKey!==null&&n.varyKey!==""){let i=Ii(n.response.headers.vary??n.response.headers.Vary??"",e.headers);if(i===null||i!==n.varyKey)return this.stats.misses++,this._updateHitRate(),null}let s=Date.now();return s-n.createdAt>this.cfg.maxAbsoluteAgeMs?(await this._delete(t,n),this.stats.misses++,this._updateHitRate(),null):n.expiresAt===1/0||n.expiresAt>s?(this.stats.hits++,this.lru.touch(t),this._updateHitRate(),{entry:Rr(n),stale:!1}):n.staleUntil>s?(this.stats.staleHits++,this.lru.touch(t),this._updateHitRate(),{entry:Rr(n),stale:!0}):n.staleOnError>s?(this.stats.staleHits++,this._updateHitRate(),{entry:Rr(n),stale:!0}):(await this._delete(t,n),this.stats.misses++,this._updateHitRate(),null)}async set(e,t,n={}){if(!this._isCacheable(e.method)||!this.cfg.cacheStatuses.includes(t.status))return!1;let{ttlMs:s,swrMs:o,staleOnError:i,shouldCache:a}=n.ttlMs!==void 0?{ttlMs:n.ttlMs,swrMs:0,staleOnError:0,shouldCache:!0}:Li(t,this.cfg.defaultTtlMs,this.cfg.honorCacheControl);if(!a&&!n.force)return!1;let c=dl(t.body);if(c>this.cfg.maxBodySizeBytes)return!1;let l=Date.now(),u=this.cfg.maxAbsoluteAgeMs,f=Math.min(s===1/0?u:s,u);if(f<=0&&!n.force)return!1;let p=t.headers.vary??t.headers.Vary??null,d=p?Ii(p,e.headers):"";if(d===null)return!1;let g=n.tags??[],m={response:Mi(t),createdAt:l,expiresAt:f===1/0?1/0:l+f,staleUntil:l+f+o,staleOnError:l+f+i,etag:t.headers.etag??t.headers.ETag??null,lastModified:t.headers["last-modified"]??t.headers["Last-Modified"]??null,varyKey:d,tags:g,size:c+256},y=await this._key(e);if(await this._ensureCapacity(m.size),await this.storage.set(y,m)===!1)return!1;this.lru.touch(y),this.stats.totalEntries++,this.stats.totalSizeBytes+=m.size;for(let x of g){let T=this.tagIndex.get(x)??new Set;T.add(y),this.tagIndex.set(x,T)}return!0}buildConditionalHeaders(e){let t={};return e.etag&&(t["if-none-match"]=e.etag),e.lastModified&&(t["if-modified-since"]=e.lastModified),t}async revalidate(e,t){let n=await this._key(e),s=await this.storage.get(n);if(!s)return null;let o={...s.response.headers,...t.headers},i={...s.response,headers:o},{ttlMs:a,swrMs:c,staleOnError:l}=Li(i,this.cfg.defaultTtlMs,this.cfg.honorCacheControl),u=Date.now(),f=Math.min(a===1/0?this.cfg.maxAbsoluteAgeMs:a,this.cfg.maxAbsoluteAgeMs),p={...s,response:i,createdAt:u,expiresAt:f<=0?u:u+f,staleUntil:u+f+c,staleOnError:u+f+l,etag:o.etag??o.ETag??s.etag,lastModified:o["last-modified"]??o["Last-Modified"]??s.lastModified};return await this.storage.set(n,p),this.lru.touch(n),Rr(p)}async markSWRInFlight(e){let t=await this._key(e);return this.swrInFlight.has(t)?!1:(this.swrInFlight.add(t),!0)}async clearSWRInFlight(e){let t=await this._key(e);this.swrInFlight.delete(t)}async isSWRInFlight(e){let t=await this._key(e);return this.swrInFlight.has(t)}async delete(e){let t=await this._key(e),n=await this.storage.get(t);return n?(await this._delete(t,n),!0):!1}async invalidateByURL(e){let t=await this.storage.keys(),n=0;for(let s of t){let o=this.cfg.namespace?s.startsWith(this.cfg.namespace+":")?s.slice(this.cfg.namespace.length+1):null:s;if(o===null)continue;let i=o.indexOf(":");if(i===-1)continue;let a=o.slice(i+1),c=a.lastIndexOf(":auth:"),l=c!==-1?a.slice(0,c):a,u=e.endsWith("/")?e.slice(0,-1):e;if((l.endsWith("/")?l.slice(0,-1):l).startsWith(u)){let p=await this.storage.get(s);await this._delete(s,p??void 0),n++}}return n}async invalidateByTag(e){let t=this.tagIndex.get(e);if(!t||t.size===0)return 0;let n=0;for(let s of[...t]){let o=await this.storage.get(s);await this._delete(s,o??void 0),n++}return this.tagIndex.delete(e),n}async clear(){await this.storage.clear(),this.lru.clear(),this.tagIndex.clear(),this.swrInFlight.clear(),this.stats.totalEntries=0,this.stats.totalSizeBytes=0}async warm(e){for(let{req:t,res:n,tags:s}of e)await this.set(t,n,{...s!==void 0?{tags:s}:{},force:!0})}getStats(){return{...this.stats}}resetStats(){this.stats={hits:0,misses:0,staleHits:0,errors:0,evictions:0,totalEntries:0,totalSizeBytes:0,hitRate:0}}async serialize(){let e=await this.storage.keys(),t=[],n=Date.now();for(let s of e){let o=await this.storage.get(s);o&&(o.expiresAt!==1/0&&o.expiresAt<n||t.push([s,o]))}return JSON.stringify({version:1,entries:t})}async deserialize(e){let t=de(e,{maxDepth:32});if(!t.success)throw new Error("[kinetex] HTTPCache.deserialize: invalid JSON");let n=t.value;if(typeof n!="object"||n===null||!("version"in n)||!("entries"in n)||n.version!==1||!Array.isArray(n.entries))throw new Error("[kinetex] HTTPCache.deserialize: unexpected format (expected {version:1, entries:[\u2026]})");let{entries:s}=n,o=Date.now();for(let i of s){if(!Array.isArray(i)||i.length!==2)continue;let[a,c]=i;if(typeof a!="string"||a.length===0||a.length>2048)continue;let l=null;try{typeof c=="object"&&c!==null&&typeof c.createdAt=="number"&&typeof c.expiresAt=="number"&&typeof c.staleUntil=="number"&&typeof c.staleOnError=="number"&&typeof c.size=="number"&&Array.isArray(c.tags)&&c.tags.every(p=>typeof p=="string")&&(l=c)}catch{}if(!l)continue;let u=c;if(!(u.expiresAt!==1/0&&u.expiresAt<o)&&!(o-u.createdAt>this.cfg.maxAbsoluteAgeMs)&&!(u.size>this.cfg.maxBodySizeBytes+512)){await this.storage.set(a,u),this.lru.touch(a),this.stats.totalEntries++,this.stats.totalSizeBytes+=u.size;for(let f of u.tags){let p=this.tagIndex.get(f)??new Set;p.add(a),this.tagIndex.set(f,p)}}}}async _key(e){let t=await this.cfg.cacheKey(e);return this.cfg.namespace?`${this.cfg.namespace}:${t}`:t}_isCacheable(e){return this.cfg.cacheMethods.includes(e.toUpperCase())}async _delete(e,t){if(await this.storage.delete(e),this.lru.remove(e),t){this.stats.totalEntries=Math.max(0,this.stats.totalEntries-1),this.stats.totalSizeBytes=Math.max(0,this.stats.totalSizeBytes-t.size);for(let n of t.tags)this.tagIndex.get(n)?.delete(e)}}async _ensureCapacity(e){for(;this.stats.totalEntries>=this.cfg.maxEntries;){let t=this.lru.evict();if(!t)break;let n=await this.storage.get(t);await this._delete(t,n??void 0),this.stats.evictions++}for(;this.stats.totalSizeBytes+e>this.cfg.maxSizeBytes;){let t=this.lru.evict();if(!t)break;let n=await this.storage.get(t);await this._delete(t,n??void 0),this.stats.evictions++}}_updateHitRate(){let e=this.stats.hits+this.stats.misses+this.stats.staleHits;this.stats.hitRate=e>0?(this.stats.hits+this.stats.staleHits)/e:0}}});function Dl(r){if(typeof atob<"u")return atob(r);let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t="";r=r.replace(/=+$/,"");for(let n=0;n<r.length;n+=4){let s=e.indexOf(r[n]),o=n+1<r.length?e.indexOf(r[n+1]):0,i=n+2<r.length?e.indexOf(r[n+2]):0,a=n+3<r.length?e.indexOf(r[n+3]):0;t+=String.fromCharCode(s<<2|o>>4),n+2<r.length&&(t+=String.fromCharCode((o&15)<<4|i>>2)),n+3<r.length&&(t+=String.fromCharCode((i&3)<<6|a))}return t}function Yi(r){if(typeof btoa<"u")return btoa(r);let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t="";for(let n=0;n<r.length;n+=3){let s=r.charCodeAt(n),o=n+1<r.length?r.charCodeAt(n+1):0,i=n+2<r.length?r.charCodeAt(n+2):0;t+=e[s>>2],t+=e[(s&3)<<4|o>>4],t+=n+1<r.length?e[(o&15)<<2|i>>6]:"=",t+=n+2<r.length?e[i&63]:"="}return t}function G(r){let e=new Map;for(let t of r.split(";")){let n=t.trim();if(!n)continue;let s=n.indexOf("=");if(s===-1)e.set(n.toLowerCase(),"");else{let o=n.slice(0,s).trim().toLowerCase(),i=n.slice(s+1).trim();i.startsWith('"')&&i.endsWith('"')&&(i=i.slice(1,-1)),e.set(o,i)}}return e}function Mr(r){return r.split(",").map(e=>{let t=e.trim().split(";"),n=(t[0]??"").trim(),s=1,o=new Map;for(let i=1;i<t.length;i++){let a=t[i].trim(),c=a.indexOf("=");if(c===-1)continue;let l=a.slice(0,c).trim().toLowerCase(),u=a.slice(c+1).trim();l==="q"?s=parseFloat(u)||0:o.set(l,u)}return{value:n,quality:s,params:o}}).filter(e=>e.value!=="").sort((e,t)=>t.quality-e.quality)}function Ul(r){let e=r.match(/^([A-Za-z0-9_-]+)'([A-Za-z0-9_-]*)'(.+)$/);if(!e)return null;try{return decodeURIComponent(e[3])}catch{return null}}function us(r){if(!r)return null;let e=r.indexOf(";"),t=e===-1?r.trim():r.slice(0,e).trim(),n=t.indexOf("/");if(n===-1)return null;let s=t.slice(0,n).toLowerCase(),o=t.slice(n+1).toLowerCase();if(!s||!o)return null;let i=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;if(!i.test(s)||!i.test(o))return null;let a=e===-1?new Map:G(r.slice(e));return{mediaType:`${s}/${o}`,type:s,subtype:o,charset:a.get("charset")??null,boundary:a.get("boundary")??null,params:a}}function hs(r){let e=r.mediaType;if(r.charset&&(e+=`; charset=${r.charset}`),r.boundary&&(e+=`; boundary=${r.boundary}`),r.params&&r.params instanceof Map)r.params.forEach((t,n)=>{n==="charset"||n==="boundary"||(e+=`; ${n}=${t.includes(" ")?`"${t}"`:t}`)});else if(r.params&&typeof r.params=="object")for(let[t,n]of Object.entries(r.params))t==="charset"||t==="boundary"||(e+=`; ${t}=${n.includes(" ")?`"${n}"`:n}`);return e}function fs(r){if(!r)return null;let e=r.indexOf(";"),t=(e===-1?r:r.slice(0,e)).trim().toLowerCase(),n=e===-1?new Map:G(r.slice(e)),s=null,o=n.get("filename*");o&&(s=Ul(o)),s===null&&(s=n.get("filename")??null);let i=n.get("name")??null;return{type:t,filename:s,name:i,params:n}}function ds(r){let e=r.type;if(r.name&&(e+=`; name="${r.name}"`),r.filename){e+=`; filename="${r.filename}"`;let t=encodeURIComponent(r.filename);t!==r.filename&&(e+=`; filename*=UTF-8''${t}`)}return e}function ps(r){let e={noCache:!1,noStore:!1,noTransform:!1,onlyIfCached:!1,maxAge:null,maxStale:null,minFresh:null,staleIfError:null,public:!1,private:!1,mustRevalidate:!1,proxyRevalidate:!1,sMaxAge:null,immutable:!1,mustUnderstand:!1,staleWhileRevalidate:null,unknown:new Map};for(let t of r.split(",")){let n=t.trim(),s=n.indexOf("="),o=(s===-1?n:n.slice(0,s)).trim().toLowerCase(),i=s===-1?null:n.slice(s+1).trim().replace(/^"|"$/g,""),a=i!==null?parseInt(i,10):null;switch(o){case"no-cache":e.noCache=!0;break;case"no-store":e.noStore=!0;break;case"no-transform":e.noTransform=!0;break;case"only-if-cached":e.onlyIfCached=!0;break;case"public":e.public=!0;break;case"must-revalidate":e.mustRevalidate=!0;break;case"proxy-revalidate":e.proxyRevalidate=!0;break;case"immutable":e.immutable=!0;break;case"must-understand":e.mustUnderstand=!0;break;case"max-age":e.maxAge=a;break;case"max-stale":e.maxStale=a??1/0;break;case"min-fresh":e.minFresh=a;break;case"s-maxage":e.sMaxAge=a;break;case"stale-if-error":e.staleIfError=a;break;case"stale-while-revalidate":e.staleWhileRevalidate=a;break;case"private":e.private=i?i.split(",").map(c=>c.trim()):!0;break;default:e.unknown.set(o,i??!0)}}return e}function ms(r){let e=[];if(r.noCache&&e.push("no-cache"),r.noStore&&e.push("no-store"),r.noTransform&&e.push("no-transform"),r.onlyIfCached&&e.push("only-if-cached"),r.public&&e.push("public"),r.mustRevalidate&&e.push("must-revalidate"),r.proxyRevalidate&&e.push("proxy-revalidate"),r.immutable&&e.push("immutable"),r.mustUnderstand&&e.push("must-understand"),r.maxAge!=null&&e.push(`max-age=${r.maxAge}`),r.maxStale!=null&&e.push(r.maxStale===1/0?"max-stale":`max-stale=${r.maxStale}`),r.minFresh!=null&&e.push(`min-fresh=${r.minFresh}`),r.sMaxAge!=null&&e.push(`s-maxage=${r.sMaxAge}`),r.staleIfError!=null&&e.push(`stale-if-error=${r.staleIfError}`),r.staleWhileRevalidate!=null&&e.push(`stale-while-revalidate=${r.staleWhileRevalidate}`),r.private&&e.push(Array.isArray(r.private)?`private=${r.private.join(", ")}`:"private"),r.unknown)for(let[t,n]of r.unknown)e.push(n===!0?t:`${t}=${n}`);return e.join(", ")}function Pr(r){if(!r)return null;let e=r.indexOf(" ");if(e===-1)return{scheme:r.toLowerCase(),token:null,params:new Map,basic:null};let t=r.slice(0,e).toLowerCase(),n=r.slice(e+1).trim(),s=new Map,o=null,i=null;if(t==="basic"){o=n;try{let a=Dl(n),c=a.indexOf(":");c!==-1&&(i={username:a.slice(0,c),password:a.slice(c+1)})}catch{}}else if(t==="bearer"||t==="token")o=n;else if(n.includes("="))for(let a of n.split(",")){let c=a.trim(),l=c.indexOf("=");if(l===-1)continue;let u=c.slice(0,l).trim().toLowerCase(),f=c.slice(l+1).trim();f.startsWith('"')&&f.endsWith('"')&&(f=f.slice(1,-1)),s.set(u,f)}else o=n;return{scheme:t,token:o,params:s,basic:i}}function Ir(r){let e=[],t=[],n="",s=!1;for(let o=0;o<r.length;o++){let i=r[o];i==='"'&&(o===0||r[o-1]!=="\\")&&(s=!s),i===","&&!s?(t.push(n.trim()),n=""):n+=i}n.trim()&&t.push(n.trim());for(let o of t){if(!o)continue;let i=o.indexOf(" "),a=(i===-1?o:o.slice(0,i)).toLowerCase(),c=i===-1?"":o.slice(i+1),l=G(c);e.push({scheme:a,realm:l.get("realm")??null,params:l})}return e}function ra(r){return`Bearer ${r}`}function na(r,e){return`Basic ${Yi(`${r}:${e}`)}`}function Or(r){return Mr(r)}function gs(r){return Mr(r)}function ys(r){return Mr(r)}function sa(r){return r.trim()?Mr(r):[]}function oa(r,e){let t=Or(r);for(let{value:n}of t){if(n==="*/*")return e[0]??null;let[s]=n.split("/");if(n.endsWith("/*")){let o=e.find(i=>i.startsWith(s+"/"));if(o)return o}if(e.includes(n))return n}return null}function ws(r){let e=r.indexOf("=");if(e===-1)return null;let t=r.slice(0,e).trim().toLowerCase(),n=r.slice(e+1).split(",").map(s=>{let o=s.trim(),i=o.indexOf("-");if(i===-1)return null;let a=o.slice(0,i).trim(),c=o.slice(i+1).trim();return{start:a===""?null:parseInt(a,10),end:c===""?null:parseInt(c,10)}}).filter(s=>s!==null);return{unit:t,ranges:n}}function bs(r){let e=r.match(/^(\S+)\s+(\*|\d+-\d+)\/(\*|\d+)$/);if(!e)return null;let t=e[1].toLowerCase(),n=e[2],s=e[3]==="*"?null:parseInt(e[3],10);if(n==="*")return{unit:t,start:null,end:null,total:s};let o=n.indexOf("-");return{unit:t,start:parseInt(n.slice(0,o),10),end:parseInt(n.slice(o+1),10),total:s}}function Lr(r){let e=[],t=r.split(/,\s*(?=<)/);for(let n of t){let s=n.trim(),o=s.indexOf(">");if(!s.startsWith("<")||o===-1)continue;let i=s.slice(1,o),a=s.slice(o+1),c=G(a);e.push({uri:i,rel:c.get("rel")??null,type:c.get("type")??null,hreflang:c.get("hreflang")??null,title:c.get("title")??null,media:c.get("media")??null,params:c})}return e}function ia(r){return r.map(e=>{let t=`<${e.uri}>`;e.rel&&(t+=`; rel="${e.rel}"`),e.type&&(t+=`; type="${e.type}"`),e.hreflang&&(t+=`; hreflang="${e.hreflang}"`),e.title&&(t+=`; title="${e.title}"`),e.media&&(t+=`; media="${e.media}"`);let n=e.params instanceof Map?[...e.params.entries()]:Object.entries(e.params??{});for(let[s,o]of n)["rel","type","hreflang","title","media"].includes(s)||(t+=`; ${s}="${o}"`);return t}).join(", ")}function xs(r){let e={by:null,for:[],host:null,proto:null};for(let t of r.split(",")){let n=G(t.trim());n.has("by")&&(e.by=n.get("by")),n.has("for")&&e.for.push(n.get("for")),n.has("host")&&(e.host=n.get("host")),n.has("proto")&&(e.proto=n.get("proto"))}return e}function Dr(r){let e=r.get(w.Forwarded);if(e)return xs(e);let t=r.get(w.XForwardedFor),n=r.get(w.XForwardedHost),s=r.get(w.XForwardedProto);return{by:null,for:t?t.split(",").map(o=>o.trim()):[],host:n??null,proto:s??null}}function _s(r){let e=Dr(r);return e.for.length>0?e.for[0]:r.get(w.XRealIP)}function Ss(r){let e=r.trim();if(/^\d+$/.test(e))return{date:null,delay:parseInt(e,10)};let t=Date.parse(e);return isNaN(t)?{date:null,delay:null}:{date:new Date(t),delay:null}}function aa(r){let e=[],t="",n=!1;for(let s=0;s<r.length;s++){let o=r[s];o==='"'&&(s===0||r[s-1]!=="\\")&&(n=!n),o===","&&!n?(t.trim()&&e.push(t.trim()),t=""):t+=o}return t.trim()&&e.push(t.trim()),e.map(s=>{let o=s.match(/^(\d{3})\s+(\S+)\s+["']?([^"']+)["']?\s*(.*)$/);if(!o)return null;let i=o[1],a=o[2],c=o[3],l=o[4]??"",u=parseInt(i,10),f=(()=>{let p=l.trim().replace(/^"|"$/g,"");if(p){let d=Date.parse(p);if(!isNaN(d))return new Date(d)}})();return{code:u,agent:a,text:c,...f!==void 0?{date:f}:{}}}).filter(s=>s!==null)}function Ts(r){let e=G(";"+r),t=e.get("max-age");if(t===void 0)return null;let n=parseInt(t,10);return isNaN(n)?null:{maxAge:n,includeSubDomains:e.has("includesubdomains"),preload:e.has("preload")}}function Nr(r){let e=`max-age=${r.maxAge}`;return r.includeSubDomains&&(e+="; includeSubDomains"),r.preload&&(e+="; preload"),e}function Es(r){let e=new Map;for(let t of r.split(";")){let n=t.trim().split(/\s+/);if(n.length===0||!n[0])continue;let s=n[0].toLowerCase(),o=n.slice(1);e.set(s,o)}return e}function Ur(r){let e=[];for(let[t,n]of r)e.push(n.length>0?`${t} ${n.join(" ")}`:t);return e.join("; ")}function Rs(r){return r.split(",").map(e=>{let t=e.trim().split(";"),n=(t[0]??"").trim(),s=G(t.slice(1).join(";")),o=s.get("dur");return{name:n,duration:o!==void 0?parseFloat(o):null,description:s.get("desc")??null}}).filter(e=>e.name!=="")}function ca(r){return r.map(e=>{let t=e.name;return e.duration!==null&&(t+=`;dur=${e.duration}`),e.description!==null&&(t+=`;desc="${e.description}"`),t}).join(", ")}function ks(r){if(r.trim()==="clear")return[];let e=[];for(let t of r.split(",")){let n=t.trim(),s=n.indexOf("=");if(s===-1)continue;let o=n.slice(0,s).trim().replace(/^"|"$/g,""),i=n.slice(s+1).trim(),a=i.indexOf(";"),c=a!==-1?G(";"+i.slice(a+1)):new Map,l=(a!==-1?i.slice(0,a):i).replace(/^"|"$/g,""),u,f;if(l.startsWith("[")){let p=l.indexOf("]");if(p===-1)u=l,f=443;else{u=l.slice(0,p+1);let d=l.slice(p+2);f=d?parseInt(d,10):443}}else{let p=l.lastIndexOf(":");u=p===-1?l:l.slice(0,p),f=p===-1?443:parseInt(l.slice(p+1),10)}e.push({protocol:o,host:u,port:f,maxAge:c.has("ma")?parseInt(c.get("ma"),10):null,persist:c.has("persist")&&c.get("persist")==="1"})}return e}function la(r){let e=new ce;for(let[t,n]of Object.entries(r))if(n!==void 0)if(Array.isArray(n))for(let s of n)e.append(t,s);else e.append(t,n);return e}function ua(r){let e={};return r.forEach((t,n)=>{let o=r.getAll(n);e[n]=o.length===1?o[0]:[...o]}),e}function ha(r){return new ce(r)}function fa(r={}){let e=new ce;if(r.hsts!==!1){let t=r.hsts===!0||r.hsts===void 0?{maxAge:31536e3,includeSubDomains:!0,preload:!1}:r.hsts;e.set(w.StrictTransportSecurity,Nr(t))}if(r.csp){let t=typeof r.csp=="string"?r.csp:Ur(r.csp);e.set(w.ContentSecurityPolicy,t)}return e.set(w.XFrameOptions,r.frameOptions??"DENY"),r.noSniff!==!1&&e.set(w.XContentTypeOptions,"nosniff"),e.set(w.ReferrerPolicy,r.referrer??"strict-origin-when-cross-origin"),r.permissions&&e.set(w.PermissionsPolicy,r.permissions),r.coep&&e.set(w.CrossOriginEmbedderPolicy,r.coep),r.coop&&e.set(w.CrossOriginOpenerPolicy,r.coop),r.corp&&e.set(w.CrossOriginResourcePolicy,r.corp),e}function da(r){let e=new ce,t=Array.isArray(r.origin)?r.origin.join(", "):r.origin;return e.set(w.AccessControlAllowOrigin,t),r.methods?.length&&e.set(w.AccessControlAllowMethods,r.methods.join(", ")),r.allowHeaders?.length&&e.set(w.AccessControlAllowHeaders,r.allowHeaders.join(", ")),r.exposeHeaders?.length&&e.set(w.AccessControlExposeHeaders,r.exposeHeaders.join(", ")),r.credentials&&e.set(w.AccessControlAllowCredentials,"true"),r.maxAge!=null&&e.set(w.AccessControlMaxAge,String(r.maxAge)),e}function pa(r){return new xe(r)}function ma(r){return new xe(r,"request")}function ga(r){return new xe(r,"response")}function ya(r){return new xe(r,"immutable")}var He,w,cs,ls,dt,Xi,Nl,$,Zi,os,is,as,ea,ta,ce,xe,Wt=F(()=>{"use strict";z();w={ContentType:"content-type",ContentLength:"content-length",ContentEncoding:"content-encoding",ContentLanguage:"content-language",ContentLocation:"content-location",ContentDisposition:"content-disposition",ContentRange:"content-range",ContentMD5:"content-md5",TransferEncoding:"transfer-encoding",TrailingHeader:"trailer",CacheControl:"cache-control",Pragma:"pragma",Expires:"expires",Age:"age",ETag:"etag",LastModified:"last-modified",Vary:"vary",IfMatch:"if-match",IfNoneMatch:"if-none-match",IfModifiedSince:"if-modified-since",IfUnmodifiedSince:"if-unmodified-since",IfRange:"if-range",Host:"host",Origin:"origin",Referer:"referer",UserAgent:"user-agent",From:"from",TE:"te",Expect:"expect",MaxForwards:"max-forwards",Accept:"accept",AcceptEncoding:"accept-encoding",AcceptLanguage:"accept-language",AcceptCharset:"accept-charset",AcceptRanges:"accept-ranges",AcceptPatch:"accept-patch",Authorization:"authorization",ProxyAuthorization:"proxy-authorization",WWWAuthenticate:"www-authenticate",ProxyAuthenticate:"proxy-authenticate",AuthenticationInfo:"authentication-info",Range:"range",Cookie:"cookie",SetCookie:"set-cookie",Location:"location",Via:"via",Forwarded:"forwarded",XForwardedFor:"x-forwarded-for",XForwardedHost:"x-forwarded-host",XForwardedProto:"x-forwarded-proto",XForwardedPort:"x-forwarded-port",XRealIP:"x-real-ip",Connection:"connection",KeepAlive:"keep-alive",Upgrade:"upgrade",AccessControlAllowOrigin:"access-control-allow-origin",AccessControlAllowMethods:"access-control-allow-methods",AccessControlAllowHeaders:"access-control-allow-headers",AccessControlExposeHeaders:"access-control-expose-headers",AccessControlMaxAge:"access-control-max-age",AccessControlAllowCredentials:"access-control-allow-credentials",AccessControlRequestMethod:"access-control-request-method",AccessControlRequestHeaders:"access-control-request-headers",Date:"date",RetryAfter:"retry-after",Allow:"allow",Server:"server",ServerTiming:"server-timing",TimingAllowOrigin:"timing-allow-origin",SecWebSocketKey:"sec-websocket-key",SecWebSocketAccept:"sec-websocket-accept",SecWebSocketProtocol:"sec-websocket-protocol",SecWebSocketVersion:"sec-websocket-version",SecWebSocketExtensions:"sec-websocket-extensions",SecFetchSite:"sec-fetch-site",SecFetchMode:"sec-fetch-mode",SecFetchUser:"sec-fetch-user",SecFetchDest:"sec-fetch-dest",StrictTransportSecurity:"strict-transport-security",ContentSecurityPolicy:"content-security-policy",ContentSecurityPolicyRO:"content-security-policy-report-only",XContentTypeOptions:"x-content-type-options",XFrameOptions:"x-frame-options",XXSSProtection:"x-xss-protection",ReferrerPolicy:"referrer-policy",PermissionsPolicy:"permissions-policy",CrossOriginOpenerPolicy:"cross-origin-opener-policy",CrossOriginEmbedderPolicy:"cross-origin-embedder-policy",CrossOriginResourcePolicy:"cross-origin-resource-policy",NEL:"nel",ReportTo:"report-to",ReportingEndpoints:"reporting-endpoints",Link:"link",AltSvc:"alt-svc",AltUsed:"alt-used",Priority:"priority",EarlyData:"early-data",PushPolicy:"push-policy",AcceptPushPolicy:"accept-push-policy",XRequestID:"x-request-id",XCorrelationID:"x-correlation-id",XRateLimitLimit:"x-ratelimit-limit",XRateLimitRemaining:"x-ratelimit-remaining",XRateLimitReset:"x-ratelimit-reset",XPoweredBy:"x-powered-by",XRequestedWith:"x-requested-with"};cs=Me,ls=we,dt=new Set(["set-cookie","www-authenticate","proxy-authenticate"]),Xi=new Set(["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"]),Nl=new Set(["set-cookie","set-cookie2"]),ce=class{constructor(e,t="none"){Jo(this,$);h(this,"map",new Map);h(this,"guard");this.guard=t,e!=null&&se(this,$,Zi).call(this,e)}append(e,t){se(this,$,as).call(this,e);let n=se(this,$,os).call(this,e),s=se(this,$,is).call(this,t),o=this.map.get(n);o?o.values.push(s):this.map.set(n,{name:e,values:[s]})}delete(e){se(this,$,ta).call(this,e),this.map.delete(e.toLowerCase())}get(e){let t=this.map.get(e.toLowerCase());return t?dt.has(e.toLowerCase())?t.values[0]??null:t.values.join(", "):null}getAll(e){return[...this.map.get(e.toLowerCase())?.values??[]]}has(e){return this.map.has(e.toLowerCase())}set(e,t){se(this,$,ea).call(this,e);let n=se(this,$,os).call(this,e),s=se(this,$,is).call(this,t);this.map.set(n,{name:e,values:[s]})}forEach(e,t){for(let[n,s]of this.map){let o=dt.has(n)?s.values:[s.values.join(", ")];for(let i of o)e.call(t,i,n,this)}}keys(){return this.map.keys()}*values(){for(let[e,t]of this.map)if(dt.has(e))for(let n of t.values)yield n;else yield t.values.join(", ")}*entries(){for(let[e,t]of this.map)if(dt.has(e))for(let n of t.values)yield[e,n];else yield[e,t.values.join(", ")]}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"HttpHeaders"}toObject(){let e={};for(let[t,n]of this.map){let s=n.values;e[t]=s.length===1?s[0]:[...s]}return e}toFlatObject(){let e={};for(let[t,n]of this.map)e[t]=dt.has(t)?n.values[0]??"":n.values.join(", ");return e}toWebHeaders(){if(typeof Headers>"u")throw new Error("WHATWG Headers is not available in this runtime");let e=new Headers;for(let[t,n]of this.map)for(let s of n.values)e.append(t,s);return e}toHTTP1String(){let e=[];for(let[,t]of this.map)for(let n of t.values)e.push(`${t.name}: ${n}`);return e.join(`\r
3
- `)}clone(e){return new He(this,e??this.guard)}freeze(){return this.clone("immutable")}merge(e,t={}){let n=e instanceof He?e:new He(e);for(let[s,o]of n.map)if(t.append)for(let i of o.values)this.append(s,i);else this.map.set(s,{name:o.name,values:[...o.values]});return this}pick(...e){let t=new He;for(let n of e){let s=n.toLowerCase(),o=this.map.get(s);o&&t.map.set(s,{name:o.name,values:[...o.values]})}return t}omit(...e){let t=this.clone();for(let n of e)t.map.delete(n.toLowerCase());return t}redact(...e){let t=this.clone();for(let n of e){let s=n.toLowerCase(),o=t.map.get(s);o&&t.map.set(s,{name:o.name,values:o.values.map(()=>"**REDACTED**")})}return t}diff(e){let t=new He;for(let[n,s]of e.map){let o=this.get(n),i=dt.has(n)?s.values[0]??"":s.values.join(", ");o!==i&&t.map.set(n,{name:s.name,values:[...s.values]})}return t}get size(){return this.map.size}};$=new WeakSet,Zi=function(e){if(e instanceof He){for(let[t,n]of e.map)this.map.set(t,{name:n.name,values:[...n.values]});return}if(typeof Headers<"u"&&e instanceof Headers){e.forEach((t,n)=>this.append(n,t));return}if(Array.isArray(e)){for(let t of e){if(!Array.isArray(t)||t.length<2)throw new TypeError("Headers init sequence must contain [name, value] pairs");this.append(String(t[0]),String(t[1]))}return}if(typeof e=="object")for(let[t,n]of Object.entries(e))if(Array.isArray(n))for(let s of n)this.append(t,s);else this.append(t,String(n))},os=function(e){if(!cs(e))throw new TypeError(`Invalid header name: "${e}"`);return e.toLowerCase()},is=function(e){let t=e.trim();if(!ls(t))throw new TypeError(`Invalid header value for: "${t}"`);return t},as=function(e){if(this.guard==="immutable")throw new TypeError("Headers are immutable");if(this.guard==="request"&&Xi.has(e.toLowerCase()))throw new TypeError(`Header "${e}" is forbidden for request guard`);if(this.guard==="response"&&Nl.has(e.toLowerCase()))throw new TypeError(`Header "${e}" is forbidden for response guard`)},ea=function(e){se(this,$,as).call(this,e)},ta=function(e){if(this.guard==="immutable")throw new TypeError("Headers are immutable");if(this.guard==="request"&&Xi.has(e.toLowerCase()))throw new TypeError(`Header "${e}" is forbidden for request guard`)};He=ce;xe=class extends ce{get contentType(){let e=this.get(w.ContentType);return e?us(e):null}set contentType(e){if(e===null){this.delete(w.ContentType);return}if(typeof e=="string"){this.set(w.ContentType,e);return}this.set(w.ContentType,hs(e))}get contentLength(){let e=this.get(w.ContentLength);if(!e)return null;let t=parseInt(e,10);return isNaN(t)?null:t}set contentLength(e){if(e===null){this.delete(w.ContentLength);return}this.set(w.ContentLength,String(e))}get contentDisposition(){let e=this.get(w.ContentDisposition);return e?fs(e):null}set contentDisposition(e){if(e===null){this.delete(w.ContentDisposition);return}if(typeof e=="string"){this.set(w.ContentDisposition,e);return}this.set(w.ContentDisposition,ds(e))}get cacheControl(){let e=this.get(w.CacheControl);return e?ps(e):null}set cacheControl(e){if(e===null){this.delete(w.CacheControl);return}if(typeof e=="string"){this.set(w.CacheControl,e);return}this.set(w.CacheControl,ms(e))}get authorization(){let e=this.get(w.Authorization);return e?Pr(e):null}set authorization(e){if(e===null){this.delete(w.Authorization);return}this.set(w.Authorization,e)}get accept(){return Or(this.get(w.Accept)??"")}get acceptEncoding(){return gs(this.get(w.AcceptEncoding)??"")}get acceptLanguage(){return ys(this.get(w.AcceptLanguage)??"")}get range(){let e=this.get(w.Range);return e?ws(e):null}get contentRange(){let e=this.get(w.ContentRange);return e?bs(e):null}get etag(){return this.get(w.ETag)}set etag(e){if(e===null){this.delete(w.ETag);return}let t=e.startsWith('"')||e.startsWith('W/"')?e:`"${e}"`;this.set(w.ETag,t)}get links(){let e=this.get(w.Link);return e?Lr(e):[]}get retryAfter(){let e=this.get(w.RetryAfter);return e?Ss(e):null}get hsts(){let e=this.get(w.StrictTransportSecurity);return e?Ts(e):null}set hsts(e){if(e===null){this.delete(w.StrictTransportSecurity);return}this.set(w.StrictTransportSecurity,Nr(e))}get csp(){let e=this.get(w.ContentSecurityPolicy);return e?Es(e):null}set csp(e){if(e===null){this.delete(w.ContentSecurityPolicy);return}if(typeof e=="string"){this.set(w.ContentSecurityPolicy,e);return}this.set(w.ContentSecurityPolicy,Ur(e))}get serverTiming(){let e=this.get(w.ServerTiming);return e?Rs(e):[]}get clientIP(){return _s(this)}get forwarded(){return Dr(this)}get host(){return this.get(w.Host)}get origin(){return this.get(w.Origin)}get userAgent(){return this.get(w.UserAgent)}get location(){return this.get(w.Location)}get date(){let e=this.get(w.Date);if(!e)return null;let t=Date.parse(e);return isNaN(t)?null:new Date(t)}get age(){let e=this.get(w.Age);if(!e)return null;let t=parseInt(e,10);return isNaN(t)?null:t}get vary(){let e=this.get(w.Vary);return e?e.split(",").map(t=>t.trim().toLowerCase()):[]}get xRequestID(){return this.get(w.XRequestID)}get xCorrelationID(){return this.get(w.XCorrelationID)}get xPoweredBy(){return this.get(w.XPoweredBy)}get xRequestedWith(){return this.get(w.XRequestedWith)}get xRateLimitLimit(){let e=this.get(w.XRateLimitLimit);if(!e)return null;let t=parseInt(e,10);return isNaN(t)?null:t}get xRateLimitRemaining(){let e=this.get(w.XRateLimitRemaining);if(!e)return null;let t=parseInt(e,10);return isNaN(t)?null:t}get xRateLimitReset(){let e=this.get(w.XRateLimitReset);if(!e)return null;let t=parseInt(e,10);return isNaN(t)?null:t}get secFetchSite(){return this.get(w.SecFetchSite)}get secFetchMode(){return this.get(w.SecFetchMode)}get secFetchUser(){return this.get(w.SecFetchUser)}get secFetchDest(){return this.get(w.SecFetchDest)}get earlyData(){let e=this.get(w.EarlyData);if(!e)return null;let t=parseInt(e,10);return isNaN(t)?null:t}get priority(){return this.get(w.Priority)}get allow(){return this.get(w.Allow)}get server(){return this.get(w.Server)}get acceptRanges(){return this.get("accept-ranges")}get lastModified(){let e=this.get("last-modified");if(!e)return null;let t=Date.parse(e);return isNaN(t)?null:new Date(t)}get expires(){let e=this.get("expires");if(!e)return null;let t=Date.parse(e);return isNaN(t)?null:new Date(t)}get contentEncoding(){return this.get("content-encoding")}get contentLanguage(){return this.get("content-language")}get contentLocation(){return this.get("content-location")}get link(){let e=this.get(w.Link);return e?Lr(e)[0]??null:null}get altSvc(){let e=this.get(w.AltSvc);return e?ks(e):[]}get wwwAuthenticate(){let e=this.get("www-authenticate");return e?Ir(e):null}set wwwAuthenticate(e){if(e===null){this.delete("www-authenticate");return}let t=e.map(n=>{let o=[...n.params].filter(([a])=>a!=="realm").map(([a,c])=>`${a}=${c}`).join(", "),i=n.scheme;return n.realm&&(i+=` realm="${n.realm}"`),o&&(i+=`; ${o}`),i}).join(", ");this.set("www-authenticate",t)}get proxyAuthenticate(){let e=this.get(w.ProxyAuthenticate);return e?Ir(e):null}set proxyAuthenticate(e){if(e===null){this.delete(w.ProxyAuthenticate);return}let t=e.map(n=>{let o=[...n.params].filter(([a])=>a!=="realm").map(([a,c])=>`${a}=${c}`).join(", "),i=n.scheme;return n.realm&&(i+=` realm="${n.realm}"`),o&&(i+=`; ${o}`),i}).join(", ");this.set(w.ProxyAuthenticate,t)}get proxyAuthorization(){let e=this.get(w.ProxyAuthorization);return e?Pr(e):null}set proxyAuthorization(e){if(e===null){this.delete(w.ProxyAuthorization);return}if(typeof e=="string"){this.set(w.ProxyAuthorization,e);return}e.basic?this.set(w.ProxyAuthorization,`Basic ${Yi(`${e.basic.username}:${e.basic.password}`)}`):e.token?this.set(w.ProxyAuthorization,`${e.scheme} ${e.token}`):this.set(w.ProxyAuthorization,e.scheme)}get setCookies(){return this.getAll(w.SetCookie)}get accessControlAllowOrigin(){return this.get(w.AccessControlAllowOrigin)}get accessControlAllowMethods(){return this.get(w.AccessControlAllowMethods)}get accessControlAllowHeaders(){return this.get(w.AccessControlAllowHeaders)}get accessControlMaxAge(){let e=this.get(w.AccessControlMaxAge);if(!e)return null;let t=parseInt(e,10);return isNaN(t)?null:t}get accessControlCredentials(){let e=this.get(w.AccessControlAllowCredentials);return e==="true"?!0:e==="false"?!1:null}}});var xa={};fe(xa,{ContentTypeError:()=>Se,HTTPResponseError:()=>je,ResponseCache:()=>As,ResponseDecodeError:()=>ze,ResponseSizeLimitError:()=>_e,applyDecompression:()=>Jt,assertOk:()=>Is,assertOkJSON:()=>Ls,createLimitedReader:()=>Us,decodeBody:()=>Vt,decompressStream:()=>jr,diffResponses:()=>Ms,extractServerTiming:()=>Ds,isBinary:()=>vs,isJSON:()=>Kt,isText:()=>$r,normalizeHeaders:()=>le,normalizeResponse:()=>Cs,parseContentType:()=>Te,parseMultipartResponse:()=>Wr,readBlob:()=>Br,readBodyWithLimit:()=>Hr,readBytes:()=>Qt,readFormData:()=>Os,readJSON:()=>zr,readJSONStream:()=>Ps,readNDJSON:()=>Fr,readStream:()=>pt,readText:()=>qr});function le(r){return rt(r)}function Cs(r){return{status:r.status,statusText:r.statusText,headers:le(r.headers),url:r.url,redirected:r.redirected,ok:r.ok,bodyUsed:r.bodyUsed}}function Te(r){if(!r||r.length>Hl)return null;let e=us(r);return e?{mediaType:e.mediaType,type:e.type,subtype:e.subtype,charset:e.charset,boundary:e.boundary}:null}function Kt(r){if(!r)return!1;let e=Te(r);return e?e.mediaType==="application/json"||e.subtype.endsWith("+json"):!1}function $r(r){return r?Te(r)?.type==="text":!1}function vs(r){return!$r(r)&&!Kt(r)}async function Hr(r,e,t,n){let s=t.onExceed??"throw",o=r.getReader(),i=[],a=0;try{for(;;){if(n?.aborted)throw await o.cancel("aborted"),new DOMException("Response reading aborted","AbortError");let{done:c,value:l}=await o.read();if(c)break;let u=a+l.byteLength;if(u>t.maxBytes){if(t.onExceedCallback?.(u,t.maxBytes),s==="throw")throw await o.cancel("size limit exceeded"),new _e(u,t.maxBytes,e);if(s==="abort"){await o.cancel("size limit exceeded");break}if(s==="truncate"){let f=t.maxBytes-a;f>0&&(i.push(l.slice(0,f)),a+=f);break}}i.push(l),a+=l.byteLength}}finally{o.releaseLock()}return ba(i)}function zl(r){return r?jl[r.toLowerCase()]??"utf-8":"utf-8"}function ql(r){return r[0]===239&&r[1]===187&&r[2]===191?"utf-8":r[0]===255&&r[1]===254?"utf-16le":r[0]===254&&r[1]===255?"utf-16be":null}function Vt(r,e,t){let n=ql(r),s=n??zl(e),o=n?r.slice(n==="utf-8"?3:2):r;try{return new TextDecoder(s,{fatal:!0}).decode(o)}catch{try{return new TextDecoder(s,{fatal:!1}).decode(o)}catch(i){throw new ze(String(i),s,t)}}}function Bl(r,e,t=1e8){let n=jr(r,e),s=0,o=new TransformStream({transform(i,a){if(s+=i.byteLength,s>t){a.error(new _e(s,t,"decompression"));return}a.enqueue(i)}});return n.pipeThrough(o)}function jr(r,e){let t=e.trim().toLowerCase();if(t==="br")return Fl(r);if(typeof DecompressionStream>"u")return r;try{let n=t,s=new DecompressionStream(n);return r.pipeThrough(s)}catch{return r}}function Fl(r){let e=!1;try{e=typeof globalThis.process?.versions?.node=="string"}catch{}return e?new ReadableStream({async start(t){let s=(await import("node:zlib")).createBrotliDecompress(),o=r.getReader();s.on("data",i=>{t.enqueue(new Uint8Array(i.buffer,i.byteOffset,i.byteLength))}),s.on("end",()=>t.close()),s.on("error",i=>t.error(i));try{for(;;){let{done:i,value:a}=await o.read();if(i){s.end();break}s.write(a)}}catch(i){s.destroy(i instanceof Error?i:new Error(String(i))),t.error(i)}finally{o.releaseLock()}},cancel(){r.cancel()}}):r}function Jt(r,e){let t=e["content-encoding"]??e["Content-Encoding"];if(!t||t==="identity")return r;let n=t.split(",").map(o=>o.trim()).filter(Boolean).reverse(),s=r;for(let o of n)s=Bl(s,o);return s}async function zr(r,e={}){let n=le(r.headers)["content-type"]??null,s=r.url;e.expectedContentType?wa(n,e.expectedContentType,s):Kt(n);let o=await Ns(r,s,e),i=e.charset??Te(n??"")?.charset??null,a=Vt(o,i,s);try{return M(JSON.parse(a))}catch(c){throw new ze(`JSON parse failed: ${c}`,"json",s)}}async function qr(r,e={}){let n=le(r.headers)["content-type"]??null,s=r.url;e.expectedContentType&&wa(n,e.expectedContentType,s);let o=await Ns(r,s,e),i=e.charset??Te(n??"")?.charset??null;return Vt(o,i,s)}async function Qt(r,e={}){let t=r.url;return await Ns(r,t,e)}async function Br(r,e={}){let t=await Qt(r,e),n=r.headers.get("content-type")??"application/octet-stream",s=new ArrayBuffer(t.byteLength);return new Uint8Array(s).set(t),new Blob([s],{type:n})}function pt(r,e={}){if(!r.body)return new ReadableStream({start:s=>s.close()});let t=le(r.headers),n=r.body;return e.decompress!==!1&&(n=Jt(n,t)),e.sizeLimit&&(n=Kl(n,r.url,e.sizeLimit,e.signal)),n}async function*Fr(r,e={}){let n=pt(r,e).getReader(),s=new TextDecoder("utf-8"),o="";try{for(;!e.signal?.aborted;){let{done:i,value:a}=await n.read();if(i){let l=o.trim();if(l)try{yield M(JSON.parse(l))}catch(u){e.onParseError?.(u,l)}break}o+=s.decode(a,{stream:!0});let c=o.split(`
4
- `);o=c.pop()??"";for(let l of c){let u=l.trim();if(!(!u||u.startsWith("#")))try{yield M(JSON.parse(u))}catch(f){e.onParseError?.(f,u)}}}}finally{n.releaseLock()}}async function*Ps(r,e={}){let n=pt(r,e).getReader(),s=new TextDecoder("utf-8"),o=0,i="",a=-1,c=()=>{if(a===-1)return null;let l=i.slice(a);return a=-1,l};try{for(;!e.signal?.aborted;){let{done:l,value:u}=await n.read();if(l){let f=c();if(f)try{let p=M(JSON.parse(f));e.onObject?.(p),yield p}catch(p){e.onParseError?.(p,f)}break}i+=s.decode(u,{stream:!0});for(let f=0;f<i.length;f++){let p=i[f];if(p==="{"||p==="[")o===0&&(a=f),o++;else if((p==="}"||p==="]")&&(o--,o===0&&a!==-1)){let d=i.slice(a,f+1);try{let g=M(JSON.parse(d));e.onObject?.(g),yield g}catch(g){e.onParseError?.(g,d)}i=i.slice(f+1),f=-1}}if(i.length>1e7)throw new Error("JSON stream buffer exceeded 10MB limit")}}finally{n.releaseLock()}}async function Is(r,e={}){if(!(e.isError??(o=>o>=400))(r.status))return r;let n=le(r.headers),s=null;if(e.readBody!==!1&&r.body&&!r.bodyUsed)try{s=await r.clone().text()}catch{}throw new je(r.status,r.statusText,r.url,n,s)}async function Ls(r){if(r.ok)return{response:r};let e=le(r.headers),t=null;if(r.body&&!r.bodyUsed)try{t=await r.clone().text()}catch{}throw new je(r.status,r.statusText,r.url,e,t)}async function Ms(r,e){let t=le(r.headers),n=le(e.headers),s={},o={},i={};for(let[c,l]of Object.entries(t))c in n?n[c]!==l&&(s[c]=[l,n[c]]):i[c]=l;for(let[c,l]of Object.entries(n))c in t||(o[c]=l);let a=!1;try{let[c,l]=await Promise.all([r.clone().text(),e.clone().text()]);a=c!==l}catch{}return{statusChanged:r.status!==e.status,headersChanged:s,headersAdded:o,headersRemoved:i,bodyChanged:a}}async function Wr(r){let e=r.headers.get("content-type")??"",t=Te(e);if(!t?.boundary)throw new Se("multipart/*",e,r.url);let n=await r.arrayBuffer(),s=new Uint8Array(n),o=new TextEncoder().encode("--"+t.boundary),i=[],a=l=>{for(let u=l;u<s.length-o.length;u++)if(s.subarray(u,u+o.length).every((f,p)=>f===o[p]))return u;return-1},c=a(0);if(c===-1)return[];if(c+=o.length,s[c]===13&&s[c+1]===10?c+=2:s[c]===10&&(c+=1),s[c]===45&&s[c+1]===45)return[];for(;c<s.length;){let l=a(c);if(l===-1)break;let u=l+o.length;u<s.length&&(s[u]===13&&s[u+1]===10||s[u]===10||s[u]===45&&s[u+1]);let f=s.subarray(c,l-2),p=Wl(f);if(p===-1){c=l+o.length;continue}let d=f.subarray(0,p),g=f.subarray(p+4),m=new TextDecoder().decode(d),y={};for(let b of m.split(/\r\n/)){let x=b.indexOf(":");x!==-1&&(y[b.slice(0,x).trim().toLowerCase()]=b.slice(x+1).trim())}if(i.push({headers:y,body:g}),c=l+o.length,c<s.length-1&&s[c]===45&&s[c+1]===45)break}return i}function Wl(r){for(let e=0;e<r.length-3;e++)if(r[e]===13&&r[e+1]===10&&r[e+2]===13&&r[e+3]===10)return e;return-1}async function Os(r){let e=await Wr(r),t=new FormData;for(let n of e){let s=n.headers["content-disposition"]??"",o=s.match(/name="([^"]+)"/),i=s.match(/filename="([^"]+)"/);if(!o)continue;let a=o[1],c=i?.[1];if(c){let l=n.headers["content-type"]??"application/octet-stream",u=new ArrayBuffer(n.body.byteLength);new Uint8Array(u).set(n.body);let f=new File([u],c,{type:l});t.append(a,f)}else{let l=new TextDecoder().decode(n.body);t.append(a,l)}}return t}function Ds(r){let e=r["server-timing"]??r["Server-Timing"];return e?e.split(",").map(t=>{let n=t.trim().split(";"),s=(n[0]??"").trim(),o=$l(n.slice(1).join(";")),i=o.get("dur");return{name:s,duration:i!==void 0?parseFloat(i):null,description:o.get("desc")??null}}).filter(t=>t.name):[]}async function Ns(r,e,t){if(!r.body)return new Uint8Array(0);let n=le(r.headers),s=r.body;if(t.decompress!==!1&&(s=Jt(s,n)),t.signal?.aborted)throw new DOMException("Response reading aborted","AbortError");if(t.sizeLimit)return Hr(s,e,t.sizeLimit,t.signal);let o=s.getReader(),i=[];try{for(;;){if(t.signal?.aborted)throw new DOMException("Response reading aborted","AbortError");let{done:a,value:c}=await o.read();if(a)break;i.push(c)}}finally{o.releaseLock()}return ba(i)}function Kl(r,e,t,n){let s=t.onExceed??"throw",o=0;return new ReadableStream({async start(i){let a=r.getReader();try{for(;;){if(n?.aborted){await a.cancel("aborted"),i.error(new DOMException("Response reading aborted","AbortError"));return}let{done:c,value:l}=await a.read();if(c){i.close();break}let u=o+l.byteLength;if(u>t.maxBytes){if(t.onExceedCallback?.(u,t.maxBytes),s==="throw"){await a.cancel("size limit"),i.error(new _e(u,t.maxBytes,e));return}if(s==="abort"){await a.cancel("size limit"),i.close();return}if(s==="truncate"){let f=t.maxBytes-o;f>0&&i.enqueue(l.slice(0,f)),i.close(),await a.cancel("size limit");return}}o+=l.byteLength,i.enqueue(l)}}catch(c){i.error(c)}}})}function wa(r,e,t){if(!r)throw new Se(e,"(none)",t);let n=r.split(";")[0]?.trim().toLowerCase()??"",s=e.split(";")[0]?.trim().toLowerCase()??"";if(!n.startsWith(s))throw new Se(e,r,t)}function ba(r){let e=r.reduce((s,o)=>s+o.byteLength,0),t=new Uint8Array(e),n=0;for(let s of r)t.set(s,n),n+=s.byteLength;return t}function Us(r,e="throw"){let t={maxBytes:r,onExceed:e};return{json:(n,s)=>zr(n,{sizeLimit:t,...s}),text:(n,s)=>qr(n,{sizeLimit:t,...s}),bytes:(n,s)=>Qt(n,{sizeLimit:t,...s}),blob:(n,s)=>Br(n,{sizeLimit:t,...s}),stream:(n,s)=>pt(n,{sizeLimit:t,...s}),ndjson:(n,s)=>Fr(n,{sizeLimit:t,...s})}}var $l,je,_e,Se,ze,Hl,jl,As,Kr=F(()=>{"use strict";Wt();z();$l=G,je=class extends Error{constructor(t,n,s,o,i){super(`HTTP ${t} ${n} \u2014 ${s}`);h(this,"code","EHTTPRESPONSE");h(this,"status");h(this,"statusText");h(this,"url");h(this,"headers");h(this,"body");this.name="HTTPResponseError",this.status=t,this.statusText=n,this.url=s,this.headers=o,this.body=i}get isClientError(){return this.status>=400&&this.status<500}get isServerError(){return this.status>=500}get isNotFound(){return this.status===404}get isUnauthorized(){return this.status===401}get isForbidden(){return this.status===403}get isTooManyRequests(){return this.status===429}get isGone(){return this.status===410}get isConflict(){return this.status===409}},_e=class extends Error{constructor(t,n,s){super(`Response size limit exceeded: read ${t} bytes, limit is ${n} bytes (${s})`);h(this,"code","ESIZELIMIT");h(this,"bytesRead");h(this,"limit");h(this,"url");this.name="ResponseSizeLimitError",this.bytesRead=t,this.limit=n,this.url=s}},Se=class extends Error{constructor(t,n,s){super(`Expected content-type "${t}", got "${n}" (${s})`);h(this,"code","ECONTENTTYPE");h(this,"expected");h(this,"received");h(this,"url");this.name="ContentTypeError",this.expected=t,this.received=n,this.url=s}},ze=class extends Error{constructor(t,n,s){super(`Failed to decode response as ${n} (${s}): ${t}`);h(this,"code","EDECODE");h(this,"charset");h(this,"url");this.name="ResponseDecodeError",this.charset=n,this.url=s}};Hl=8192;jl={"utf-8":"utf-8",utf8:"utf-8","latin-1":"latin1",latin1:"latin1","iso-8859-1":"latin1",ascii:"ascii","us-ascii":"ascii","utf-16le":"utf-16le","utf-16":"utf-16le","utf-16be":"utf-16be","windows-1252":"windows-1252",cp1252:"windows-1252"};As=class{constructor(e={ttlMs:6e4}){h(this,"cache",new Map);h(this,"ttlMs");this.ttlMs=e.ttlMs}hashRequest(e){let t=typeof e=="string"?e:e.url;return`${typeof e=="string"?"GET":e.method}:${t}`}async get(e){let t=this.hashRequest(e),n=this.cache.get(t);return n?Date.now()>n.expiresAt?(this.cache.delete(t),null):await Promise.resolve(n.response.clone()):null}async set(e,t){let n=this.hashRequest(e);await Promise.resolve(this.cache.set(n,{response:t.clone(),expiresAt:Date.now()+this.ttlMs}))}delete(e){this.cache.delete(this.hashRequest(e))}clear(){this.cache.clear()}get size(){return this.cache.size}}});var ka={};fe(ka,{FetchTransport:()=>qe,HAS_NATIVE_FETCH:()=>js,HTTP_STATUS_TEXTS:()=>Ra,IS_NODE:()=>Be,NodeHTTP2Transport:()=>mt,RUNTIME:()=>me,createTransport:()=>Gt,decompressBodyStream:()=>Yt,detectRuntime:()=>Jr,getEffectiveRuntime:()=>Hs,normalizeHeaders:()=>Sa,parseBody:()=>gt,readRawBody:()=>Xt,sendWithTimeout:()=>Fe,setRuntime:()=>$s});function Jr(){let r=globalThis.Deno;return typeof r<"u"&&typeof r.version<"u"?"deno":typeof globalThis.Bun<"u"?"bun":typeof globalThis<"u"&&typeof globalThis.caches<"u"?"cloudflare-workers":typeof window<"u"&&typeof globalThis.document<"u"?"browser":Vr.process?.versions?.node!==void 0?"node":typeof globalThis.fetch=="function"?"edge":"unknown"}function $s(r){_a=r}function Hs(){return _a??me}function Vl(){try{return globalThis.process?.env?.NODE_ENV==="production"}catch{return!1}}function Gt(r,e=!0,t,n){return Be&&e&&!r?new mt({...t?.sessionTTLMs!==void 0?{sessionTTLMs:t.sessionTTLMs}:{},...t?.pingIntervalMs!==void 0?{pingIntervalMs:t.pingIntervalMs}:{},...t?.connectTimeoutMs!==void 0?{connectTimeoutMs:t.connectTimeoutMs}:{},...t?.requestTimeoutMs!==void 0?{requestTimeoutMs:t.requestTimeoutMs}:{},...n?.strict!==void 0?{strict:n.strict}:{},...n?.onDroppedHeader!==void 0?{onDroppedHeader:n.onDroppedHeader}:{}}):new qe({fetchFn:r??globalThis.fetch,...n?.strict!==void 0?{strict:n.strict}:{},...n?.onDroppedHeader!==void 0?{onDroppedHeader:n.onDroppedHeader}:{}})}async function Fe(r,e,t){if(t<=0)return r.send(e);let n=new AbortController,s=setTimeout(()=>{n.abort(new Q(t,e))},t),o=yr(e.signal,n.signal)??null,i={...e,signal:o},a=new Promise((c,l)=>{n.signal.addEventListener("abort",()=>l(new Q(t,e)),{once:!0})});try{let c=await Promise.race([r.send(i),a]);if(clearTimeout(s),n.signal.aborted)throw new Q(t,e);return c}catch(c){throw clearTimeout(s),n.signal.aborted&&!(c instanceof Q)?new Q(t,e):c}}async function Xt(r,e,t,n){if(!r)return new Uint8Array(0);let s=r.getReader(),o=[],i=0,a,c=new Promise((u,f)=>{a=f}),l=()=>{s.cancel("aborted").catch(()=>{}),a(new S("Response reading aborted","EABORT"))};if(n?.aborted)throw s.cancel("aborted").catch(()=>{}),new S("Response reading aborted","EABORT");n?.addEventListener("abort",l,{once:!0});try{for(;;){let u=await Promise.race([s.read().catch(d=>{throw s.cancel("read error").catch(()=>{}),d}),c]),{done:f,value:p}=u;if(f)break;if(e>0){let d=i+p.byteLength;if(d>e)throw await s.cancel("size limit exceeded"),new st(d,e)}o.push(p),i+=p.byteLength}}catch(u){throw s.cancel("error during read").catch(()=>{}),u}finally{n?.removeEventListener("abort",l),s.releaseLock()}return gr(o)}function gt(r,e,t,n,s,o){if(t)return t(r,s??{},o??"");if(!r.byteLength)return null;let i=e?.split(";")[0]?.trim().toLowerCase()??"";if(i==="application/json"||i.endsWith("+json")){let a=new TextDecoder("utf-8").decode(r),c,l;try{let u=de(a,{maxStringLength:1e7,maxDepth:100,maxArrayLength:1e5});u.success&&u.value!==void 0&&(c=u.value)}catch(u){l=u instanceof Error?u:new Error(String(u))}if(c!==void 0)return c;if(n)try{n(r,l??new Error("JSON parse failed \u2014 falling back to raw text"))}catch{}return a}return i.startsWith("text/")?new TextDecoder("utf-8").decode(r):r}function Sa(r){return rt(r)}function Jl(r,e){let t=r;if(t.httpVersion==="2.0"||t.httpVersion==="2")return"HTTP/2";let n=r;if(n.httpVersion)return n.httpVersion;let s=r.headers.get("alt-svc"),o=r;if(o.httpVersion==="3"||o.httpVersion==="3.0"||o.protocol==="h3")return"HTTP/3";if(s){let i=s.includes('h3="')||s.includes("h3-29=")||s.includes("h3-32=");if(s.includes('h2="')||i)return"HTTP/2"}return"HTTP/1.1"}function Ql(r){if(!(r instanceof Error))return!1;let e=r.message.toLowerCase();return e.includes("alpn")||e.includes("h2")||e.includes("http2")||r.code==="ERR_HTTP2_ERROR"}function Ta(r){return new ReadableStream({start(e){let t=!1,n=!1;r.on("data",s=>{if(s instanceof Uint8Array)e.enqueue(s);else if(Vr.Buffer?.isBuffer(s)){let o=s;e.enqueue(new Uint8Array(o.buffer,o.byteOffset,o.byteLength))}else e.enqueue(new Uint8Array(s))}),r.once("end",()=>{if(!(t||n)){t=!0;try{e.close()}catch{}}}),r.once("error",s=>{if(!(t||n)){t=!0,n=!0;try{e.error(s)}catch{}}}),r.once("close",()=>{if(t||n)return;t=!0;let s=Object.assign(new Error("Stream closed before end"),{code:"ECONNRESET"});try{e.error(s)}catch{}})},cancel(){r.destroy()}})}async function Ea(r,e){r.write(e)||await new Promise(n=>r.once("drain",n))}async function Xl(r,e){if(e instanceof ReadableStream){let t=e.getReader();for(;;){let{done:n,value:s}=await t.read();if(n){r.end();break}await Ea(r,s)}}else e instanceof Uint8Array||e instanceof ArrayBuffer?r.end(Vr.Buffer?new Uint8Array(e):e):typeof e=="string"?r.end(e):r.end()}async function Yl(r,e){if(e instanceof ReadableStream){let t=e.getReader();for(;;){let{done:n,value:s}=await t.read();if(n){r.end();break}await Ea(r,s)}}else e instanceof Uint8Array||e instanceof ArrayBuffer?r.end(Vr.Buffer?new Uint8Array(e):e):typeof e=="string"?r.end(e):r.end()}async function Yt(r,e){if(!r)return null;let t=e["content-encoding"]??e["Content-Encoding"];if(!t)return r;let n=t.trim().toLowerCase(),s=n.split(",").map(a=>a.trim()).filter(Boolean),o=["gzip","deflate","br","identity"];for(let a of s)if(!o.includes(a))return console.warn(`[Kinetex] Unsupported Content-Encoding: ${a}. Supported: ${o.join(", ")}. Response body is passed through compressed.`),r;if(n==="identity")return delete e["content-encoding"],delete e["Content-Encoding"],r;let{applyDecompression:i}=await Promise.resolve().then(()=>(Kr(),xa));return i(r,e)}var Vr,me,_a,Be,js,qe,mt,Gl,Ra,Zt=F(()=>{"use strict";Ne();z();Wt();z();Vr=globalThis;me=Jr(),_a=null;Be=me==="node",js=me!=="node"||typeof globalThis.fetch=="function";qe=class{constructor(e=globalThis.fetch){h(this,"fetchFn");h(this,"strict");h(this,"onDroppedHeader");typeof e=="function"?(this.fetchFn=e,this.strict=!1,this.onDroppedHeader=void 0):(this.fetchFn=e.fetchFn??globalThis.fetch,this.strict=e.strict??!1,this.onDroppedHeader=e.onDroppedHeader)}async send(e){let t={};for(let[l,u]of Object.entries(e.headers??{}))if(!(typeof l!="string"||typeof u!="string")){if(!cs(l)||!ls(u)){if(this.strict)throw new S(`Invalid header dropped in strict mode: "${l}"`,"EVALIDATION",{request:e});this.onDroppedHeader?this.onDroppedHeader(l,u):Vl()||console.warn(`[kinetex] Invalid header dropped: "${l}" \u2014 value may contain illegal characters. Pass strictHeaders: true to throw instead.`);continue}t[l]=u}let n=t["accept-encoding"];n&&n.toLowerCase().includes("gzip")&&n.toLowerCase().includes("deflate")&&n.toLowerCase().includes("br")&&delete t["accept-encoding"];let s={method:e.method,headers:t,redirect:e.redirect??"follow",...e.signal!==null?{signal:e.signal}:{}};e.body!==null&&e.method!=="GET"&&e.method!=="HEAD"&&(s.body=e.body,Be&&typeof s.body=="object"&&s.body!==null&&"getReader"in s.body&&(s.duplex="half"));let o;try{o=await this.fetchFn(e.url,s)}catch(l){throw wr(l)?new S("Request was aborted","EABORT",{request:e,cause:l}):new S(l instanceof Error?l.message:"Network request failed","ENETWORK",{request:e,cause:l})}let i=Sa(o.headers),a=Jl(o,i),c=!0;return me==="deno"&&(o.headers.get("content-encoding")||"").toLowerCase().includes("deflate")&&(c=!1),{status:o.status,statusText:o.statusText,headers:i,body:o.body,url:o.url||e.url,redirected:o.redirected,httpVersion:a,alreadyDecompressed:c}}},mt=class{constructor(e={}){h(this,"sessions",new Map);h(this,"sessionTTLMs");h(this,"pingIntervalMs");h(this,"maxSessions");h(this,"pingTimers",new Map);h(this,"_sessionCreating",new Map);h(this,"sessionUsage",new Map);h(this,"_strict");h(this,"_onDroppedHeader");h(this,"_connectTimeoutMs");h(this,"_requestTimeoutMs");h(this,"_http1Fallback",null);this.sessionTTLMs=e.sessionTTLMs??5*6e4,this.pingIntervalMs=e.pingIntervalMs??3e4,this.maxSessions=e.maxSessions??100,this._strict=e.strict??!1,this._onDroppedHeader=e.onDroppedHeader,this._connectTimeoutMs=e.connectTimeoutMs??3e4,this._requestTimeoutMs=e.requestTimeoutMs??3e4}_getOrCreateSession(e,t,n){let s=this._sessionCreating.get(e);if(s)return s;let o=this._createSession(e,t,n);return this._sessionCreating.set(e,o),o.finally(()=>{this._sessionCreating.get(e)===o&&this._sessionCreating.delete(e)}).catch(()=>{}),o}async _createSession(e,t,n){let s=this.sessions.get(e);if(s&&!s.session.destroyed&&!s.session.closed&&!(Date.now()-s.createdAt>this.sessionTTLMs))return this.sessionUsage.set(e,Date.now()),s.session;if(s&&this._evictSession(e,s.session),this.sessions.size>=this.maxSessions){let i="",a=1/0;for(let[c,l]of this.sessionUsage.entries())l<a&&(a=l,i=c);if(i){let c=this.sessions.get(i);c&&this._evictSession(i,c.session)}}let o=await new Promise((i,a)=>{let c=n.connect(e,{rejectUnauthorized:!0}),l=setTimeout(()=>{c.destroy(),a(new S(`HTTP/2 connection to ${e} timed out`,"ETIMEOUT",{request:t}))},this._connectTimeoutMs);typeof l.unref=="function"&&l.unref();let u=()=>{clearTimeout(l),c.destroy(),a(new S("Connection aborted","EABORT",{request:t}))},f=()=>t.signal?.removeEventListener("abort",u);t.signal?.addEventListener("abort",u,{once:!0}),c.once("connect",()=>{f(),clearTimeout(l),i(c)}),c.once("error",p=>{f(),clearTimeout(l),a(p)})});if(o.on("goaway",()=>{this._evictSession(e,o)}),o.on("error",()=>{this._evictSession(e,o)}),this.sessions.set(e,{session:o,createdAt:Date.now()}),this.sessionUsage.set(e,Date.now()),this.pingIntervalMs>0){let i=this.pingTimers.get(e);i&&clearInterval(i);let a=setInterval(()=>{let c=this.sessions.get(e);if(!c||c.session.destroyed||c.session.closed){this._evictSession(e,c?.session);return}c.session.ping(l=>{l&&this._evictSession(e,c.session)})},this.pingIntervalMs);typeof a=="object"&&a!==null&&"unref"in a&&a.unref(),this.pingTimers.set(e,a)}return o}async send(e){let t=new URL(e.url);if(t.protocol!=="https:"||e.httpVersion==="HTTP/1.1")return this._sendHTTP1(e);try{return await this._sendHTTP2(e,t)}catch(n){if(Ql(n))return this._sendHTTP1(e);throw n}}async _sendHTTP2(e,t){let n=await import("node:http2"),s=e,o=t,i=!1,a=10;for(let c=0;c<=a;c++){if(c===a)throw new S("Too many HTTP/2 redirects","ENETWORK",{request:e});let l=o.origin,u=this.sessions.get(l),f=u&&Date.now()-u.createdAt>this.sessionTTLMs,p;!u||u.session.destroyed||u.session.closed||f?p=await this._getOrCreateSession(l,s,n):(p=u.session,this.sessionUsage.set(l,Date.now()));let d={":method":s.method,":path":o.pathname+o.search,":scheme":"https",":authority":o.host,...s.headers};if(this._strict)for(let[_,v]of Object.entries(d)){if(_.startsWith(":"))continue;let O=Array.isArray(v)?v.join(", "):String(v),H=!1;for(let j=0;j<O.length;j++){let ne=O.charCodeAt(j);if(ne>=0&&ne<=8||ne>=10&&ne<=31||ne===127){H=!0;break}}if(H){if(this._strict)throw new S(`Strict mode: header "${_}" contains forbidden control characters`,"EVALIDATION",{request:s});this._onDroppedHeader?this._onDroppedHeader(_,O):typeof console<"u"&&console.warn(`[kinetex] Invalid header dropped (HTTP/2): "${_}" \u2014 value contains illegal control characters. Pass strictHeaders: true to throw instead.`),delete d[_]}}let g=!s.body||s.method==="GET"||s.method==="HEAD",m=p.request(d,{endStream:g});s.body&&!g&&Xl(m,s.body).catch(_=>{m.destroy(_ instanceof Error?_:new Error(String(_)))});let y=s.signal,b=await new Promise((_,v)=>{let O=this._requestTimeoutMs,H=setTimeout(()=>{ne(),v(new S(`HTTP/2 request to ${o} timed out after ${O}ms`,"ETIMEOUT",{request:s})),m.destroy()},O),j=()=>{clearTimeout(H),v(new S("Request was aborted","EABORT",{request:s})),m.destroy()},ne=()=>y?.removeEventListener("abort",j);y?.addEventListener("abort",j,{once:!0}),m.once("response",k=>{let P=Number(k[":status"]??200),C=Ra[P]??"",L={};for(let[V,D]of Object.entries(k))V.startsWith(":")||(L[V]=Array.isArray(D)?D.join(", "):D??"");if(clearTimeout(H),ne(),y?.aborted){v(new S("Request was aborted","EABORT",{request:s})),m.destroy();return}if(s.redirect==="error"&&P>=300&&P<400&&L.location){v(new S(`Redirect not allowed (redirect:"error") \u2014 received ${P} to ${L.location}`,"ENETWORK",{request:s})),m.destroy();return}_({status:P,statusText:C,headers:L,body:Ta(m),url:s.url,redirected:i,httpVersion:"HTTP/2",alreadyDecompressed:!1})}),m.once("error",k=>{clearTimeout(H),ne(),y?.aborted?v(new S("Request was aborted","EABORT",{request:s,cause:k})):v(new S(k.message,"ENETWORK",{request:s,cause:k})),m.destroy()})});if(!(b.status>=300&&b.status<400&&!!b.headers.location&&s.redirect!=="manual"))return b;try{if(b.body){let _=b.body.getReader();for(;;){let{done:v}=await _.read();if(v)break}_.releaseLock()}}catch{}let T=b.headers.location,R;try{R=new URL(T,s.url).href}catch{throw new S(`Invalid redirect Location: ${T}`,"ENETWORK",{request:e})}let A=b.status===301||b.status===302||b.status===303?"GET":s.method,U=A==="GET"||A==="HEAD"?null:s.body;s={...s,url:R,method:A,body:U},o=new URL(R),i=!0}throw new S("HTTP/2 redirect loop terminated unexpectedly","ENETWORK",{request:e})}_sendHTTP1(e){if(typeof globalThis.fetch=="function"){if(!this._http1Fallback){let t={fetchFn:globalThis.fetch,strict:this._strict};this._onDroppedHeader!==void 0&&(t.onDroppedHeader=this._onDroppedHeader),this._http1Fallback=new qe(t)}return this._http1Fallback.send(e)}return this._sendHTTP1Legacy(e)}async _sendHTTP1Legacy(e){let t=await import("node:https"),n=new URL(e.url),s={hostname:n.hostname,port:n.port||"443",path:n.pathname+n.search,method:e.method,headers:e.headers};return new Promise((o,i)=>{let a=t.request(s,u=>{let f={};for(let[d,g]of Object.entries(u.headers))g!==void 0&&(f[d]=Array.isArray(g)?g.join(", "):g);let p=Gl(u);o({status:u.statusCode??200,statusText:u.statusMessage??"",headers:f,body:p,url:e.url,redirected:!1,httpVersion:"HTTP/1.1",alreadyDecompressed:!1})});a.once("error",u=>{i(new S(u.message,"ENETWORK",{request:e,cause:u}))});let c=()=>{a.destroy(),i(new S("Request was aborted","EABORT",{request:e}))};e.signal?.addEventListener("abort",c,{once:!0});let l=()=>e.signal?.removeEventListener("abort",c);a.once("close",l),a.once("error",l),e.body&&e.method!=="GET"&&e.method!=="HEAD"?Yl(a,e.body).catch(i):a.end()})}_evictSession(e,t){let n=this.pingTimers.get(e);n&&(clearInterval(n),this.pingTimers.delete(e)),this.sessions.delete(e),this.sessionUsage.delete(e),this._sessionCreating.delete(e),t&&!t.destroyed&&!t.closed&&t.destroy()}destroy(){for(let e of this.pingTimers.values())clearInterval(e);this.pingTimers.clear(),this._sessionCreating.clear();for(let[e,{session:t}]of this.sessions.entries())this._evictSession(e,t);this.sessions.clear()}};Gl=Ta;Ra={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});function tu(r){return r.split(eu).filter(Boolean)}function ru(r){let e=r.match(/^(\d{1,2}):(\d{2}):(\d{2})(?:[+-]\d{2}:?\d{2}|Z|GMT|UTC)?$/i);if(!e)return null;let t=+e[1],n=+e[2],s=+e[3];return t>23||n>59||s>59?null:[t,n,s]}function nu(r){let e=r.slice(0,9).toLowerCase();return Zl[e]??null}function su(r){if(!/^\d{2,4}$/.test(r))return null;let e=+r;return e>=70&&e<=99&&(e+=1900),e>=0&&e<=69&&(e+=2e3),e}function er(r){if(!r)return null;let e=tu(r),t={time:null,dayOfMonth:null,month:null,year:null};for(let a of e)if(a){if(t.time===null&&a.includes(":")){let c=ru(a);if(c!==null){t.time=c;continue}}if(t.month===null&&/[a-zA-Z]/.test(a)){let c=nu(a);if(c!==null){t.month=c;continue}}if(/^\d{1,4}(?:st|nd|rd|th)?$/i.test(a)){let c=a.replace(/[a-z]+$/i,""),l=+c;if(t.dayOfMonth===null&&c.length<=2&&l>=1&&l<=31){t.dayOfMonth=l;continue}if(t.year===null&&c.length>=2){let u=su(c);if(u!==null){t.year=u;continue}}if(t.dayOfMonth===null&&l>=1&&l<=31){t.dayOfMonth=l;continue}}}if(t.time===null||t.dayOfMonth===null||t.month===null||t.year===null||t.year<1601||t.year>9999||t.dayOfMonth<1||t.dayOfMonth>31)return null;let[n,s,o]=t.time,i=Date.UTC(t.year,t.month,t.dayOfMonth,n,s,o);return isNaN(i)?null:i}function yt(r){let e=r.replace(/\.$/,"").toLowerCase(),t=e.split(".");if(t.length===0||t.length===1&&t[0]==="")return null;if(Fs.has(e))return e;let n=null,s=0;for(let o=0;o<t.length;o++){let i=t.slice(o).join(".");if(qs.has(i)){let a=t.length-o;a>s&&(s=a,n=i)}}for(let o=0;o<t.length-1;o++){let i=t.slice(o+1).join(".");if(Bs.has(i)){let a=t.slice(o).join("."),c=t.length-o;c>s&&(s=c,n=a)}}return n||(t[t.length-1]??null)}function Gr(r){let e=r.toLowerCase();if(ge(e))return e;let t=yt(e);if(!t)return null;let n=t.split(".").length,s=e.split(".");return s.length<=n?null:s.slice(-(n+1)).join(".")}function wt(r){let e=r.toLowerCase();if(Fs.has(e)||qs.has(e))return!0;let t=e.split(".");if(t.length>=2){let n=t.slice(1).join(".");if(Bs.has(n))return!0}return!1}function iu(r){try{let c=r.lastIndexOf("-"),l=[],u=c>=0?r.slice(0,c):"";for(let T=0;T<u.length;T++){let R=u.charCodeAt(T);if(R>122||R>90&&R<97||R>57&&R<65||R<48)return r;l.push(R)}let f=c>=0?r.slice(c+1):r,p=128,d=0,g=72,m=T=>T>=65&&T<=90?T-65:T>=97&&T<=122?T-97:T>=48&&T<=57?T-48+26:-1,y=(T,R,A)=>{T=Math.floor(T/(A?700:2)),T+=Math.floor(T/R);let U=0;for(;T>910/2;)T=Math.floor(T/35),U+=36;return U+Math.floor(36*T/(T+38))},b=0;for(;b<f.length;){let T=d,R=1;for(let A=36;;A+=36){if(b>=f.length)return r;let U=m(f.charCodeAt(b++));if(U<0)return r;d+=U*R;let _=A<=g?1:A>=g+26?26:A-g;if(U<_)break;R*=36-_}g=y(d-T,l.length+1,T===0),p+=Math.floor(d/(l.length+1)),d%=l.length+1,l.splice(d,0,p),d++}return String.fromCodePoint(...l)||r}catch{return r}}function tr(r){if(!r.toLowerCase().startsWith("xn--"))return r;let e=Intl;if(typeof Intl<"u"&&e.IDN&&typeof e.IDN.toUnicode=="function")try{return e.IDN.toUnicode(r,{standard:"tr46"})}catch{return r}if(zs){let t=r+".invalid",n=zs(t);if(n&&n.length>8&&n.endsWith(".invalid")){let s=n.slice(0,-8);if(s!==r)return s}}if(r.startsWith("xn--"))try{let t=iu(r.slice(4));if(t&&t!==r.slice(4))return t}catch{}return r}function ue(r){return r.replace(/^\./,"").replace(/\.$/,"").toLowerCase().split(".").map(tr).join(".")}function ge(r){let e=r.startsWith("[")&&r.endsWith("]")?r.slice(1,-1):r;return au.test(e)?e.split(".").map(Number).every(n=>n>=0&&n<=255):cu.test(e)&&e.includes(":")}function bt(r,e){let t=r.toLowerCase(),n=e.toLowerCase();return t===n?!0:!(ge(t)||!t.endsWith("."+n)||ge(n)||yt(t)===t)}function xt(r){if(!r||r===""||r[0]!=="/")return"/";let e=r.lastIndexOf("/");return e===0?"/":r.slice(0,e)}function Qr(r){if(!r.startsWith("/"))return"/"+r;let e=[],t=r.split("/");for(let n of t)n===""||n==="."||(n===".."?e.length>0&&e.pop():e.push(n));return"/"+e.join("/")}function _t(r,e){let t=Qr(r),n=Qr(e);return!!(t===n||t.startsWith(n)&&(n.endsWith("/")||t[n.length]==="/"))}function uu(r){return r===""?!0:lu.test(r)}function hu(r){for(let e=0;e<r.length;e++){let t=r.charCodeAt(e);if(t>=0&&t<=8||t>=10&&t<=31||t===127)return!1}return!0}function St(r){if(!r||r.trim()==="")return null;let e=r.indexOf(";"),t=e===-1?r:r.slice(0,e),n=e===-1?"":r.slice(e+1),s=t.indexOf("="),o,i;if(s===-1?(o="",i=t.trim()):(o=t.slice(0,s).trim(),i=t.slice(s+1).trim()),!uu(o)||(i.length>=2&&i[0]==='"'&&i[i.length-1]==='"'&&(i=i.slice(1,-1)),!hu(i)))return null;let a=new Map,c=n.split(";");for(let _ of c){let v=_.trim();if(!v)continue;let O=v.indexOf("=");if(O===-1)a.set(v.toLowerCase(),"");else{let H=v.slice(0,O).trim().toLowerCase(),j=v.slice(O+1).trim();a.has(H)||a.set(H,j)}}let l=a.has("domain")?a.get("domain"):null,u=a.has("path")?a.get("path"):null,f=a.has("expires")?a.get("expires"):null,p=a.has("max-age")?a.get("max-age"):null,d=a.has("secure"),g=a.has("httponly"),m="Unset";if(a.has("samesite")){let _=a.get("samesite").toLowerCase();_==="strict"?m="Strict":_==="lax"?m="Lax":_==="none"&&(m="None")}let y=a.has("sameparty"),b=null;if(a.has("priority")){let _=a.get("priority").toLowerCase();_==="low"?b="Low":_==="medium"?b="Medium":_==="high"&&(b="High")}let x=a.has("partitioned"),T=null;p!==null&&p.match(/^-?\d+$/)&&(T=parseInt(p,10));let R=null;T===null&&f!==null&&(R=er(f));let A=null;l!==null&&l!==""&&(A=ue(l));let U=null;return u!==null&&u.startsWith("/")&&(U=u),{name:o,value:i,domain:A,path:U,expires:R,maxAge:T,secure:d,httpOnly:g,sameSite:m,sameParty:y,priority:b,partitioned:x}}function Aa(r){let e=[];if(r.value.includes(";")||r.value.includes(",")||r.value.includes(" ")||r.value.includes('"')?e.push(`${r.name}="${r.value.replace(/"/g,'\\"')}"`):e.push(`${r.name}=${r.value}`),r.path&&e.push(`Path=${r.path}`),r.domain&&e.push(`Domain=${r.domain}`),r.expires!==null){let t=new Date(r.expires);e.push(`Expires=${t.toUTCString()}`)}return r.maxAge!==null&&e.push(`Max-Age=${r.maxAge}`),r.secure&&e.push("Secure"),r.httpOnly&&e.push("HttpOnly"),r.sameSite&&r.sameSite!=="Unset"&&e.push(`SameSite=${r.sameSite}`),r.sameParty&&e.push("SameParty"),r.priority&&e.push(`Priority=${r.priority}`),r.partitioned&&e.push("Partitioned"),e.join("; ")}function We(r){let e=[],t="",n=0,s=!1,o=!1,i=!1,a=!1,c=!1,l=()=>{i&&a&&t.trim()&&e.push(t.trim()),t="",i=!1,a=!1,c=!1};for(;n<r.length;){let u=r[n],f=r[n+1]??"";if(o){t+=u,o=!1,n++;continue}if(u==="\\"&&(s||f==='"'||f==="\\")){t+=u,o=!0,n++;continue}if(u==='"'){!s&&i?s=!0:s&&(s=!1,a=!0),t+=u,n++;continue}if(s){t+=u,n++;continue}if(u===","&&!s&&(c||a||i)){for(l();n+1<r.length&&/\s/.test(r[n+1]);)n++;n++;continue}if(u===";"){i||(i=!0),a&&(c=!0),t+=u,n++;continue}if(u==="="&&!i){i=!0,a=!0,t+=u,n++;continue}if(i&&!a&&u!==";"&&u!==","&&(a=!0),u===" "||u===" "){t.length>0&&t.trim()!==""&&(t+=u),n++;continue}t+=u,n++}return i&&a&&t.trim()&&e.push(t.trim()),e}function Tt(r){if(typeof Headers<"u"&&r instanceof Headers){if(typeof r.getSetCookie=="function")return r.getSetCookie();let n=r.get("set-cookie");return n?We(n):[]}let e=r,t=e["set-cookie"]??e["Set-Cookie"];return t?Array.isArray(t)?t.flatMap(n=>We(n)):We(t):[]}var Zl,eu,ou,qs,Bs,Fs,zs,au,cu,lu,Xr=F(()=>{"use strict";Zl={jan:0,january:0,feb:1,february:1,mar:2,march:2,apr:3,april:3,may:4,jun:5,june:5,jul:6,july:6,aug:7,august:7,sep:8,september:8,oct:9,october:9,nov:10,november:10,dec:11,december:11},eu=/[\t\x20-\x2f\x3b-\x40\x5b-\x60\x7b-\x7e]+/;ou=["!www.ck","!city.kobe.jp","!city.nagoya.jp","!city.sapporo.jp","!city.sendai.jp","!city.yokohama.jp","*.ck","*.er","*.bd","*.fj","*.fk","*.gu","*.jm","*.kh","*.mm","*.np","*.pg","*.ss","*.tp","*.vi","*.ye","*.zm","*.kawasaki.jp","*.kitakyushu.jp","*.kobe.jp","*.nagoya.jp","*.osaka.jp","*.sapporo.jp","*.sendai.jp","*.yokohama.jp","com","net","org","edu","gov","mil","int","arpa","info","biz","name","mobi","tel","travel","museum","coop","aero","pro","jobs","cat","post","xxx","app","dev","io","ai","co","me","tv","fm","blog","shop","store","online","site","web","tech","cloud","digital","media","news","press","agency","solutions","services","systems","network","group","team","studio","design","art","photography","email","marketing","consulting","management","finance","money","bank","insurance","healthcare","medical","hospital","clinic","pharmacy","dental","legal","law","attorney","lawyer","accountant","pm","sh","ac","cc","cx","nu","ms","pw","sc","sx","tc","tk","ac","ad","ae","af","ag","ai","al","am","an","ao","aq","ar","as","at","au","aw","ax","az","ba","bb","bd","be","bf","bg","bh","bi","bj","bm","bn","bo","bq","br","bs","bt","bv","bw","by","bz","ca","cc","cd","cf","cg","ch","ci","ck","cl","cm","cn","co","cr","cu","cv","cw","cx","cy","cz","de","dj","dk","dm","do","dz","ec","ee","eg","eh","er","es","et","eu","fi","fj","fk","fm","fo","fr","ga","gb","gd","ge","gf","gg","gh","gi","gl","gm","gn","gp","gq","gr","gs","gt","gu","gw","gy","hk","hm","hn","hr","ht","hu","id","ie","il","im","in","io","iq","ir","is","it","je","jm","jo","jp","ke","kg","kh","ki","km","kn","kp","kr","kw","ky","kz","la","lb","lc","li","lk","lr","ls","lt","lu","lv","ly","ma","mc","md","me","mg","mh","mk","ml","mm","mn","mo","mp","mq","mr","ms","mt","mu","mv","mw","mx","my","mz","na","nc","ne","nf","ng","ni","nl","no","np","nr","nu","nz","om","pa","pe","pf","pg","ph","pk","pl","pm","pn","pr","ps","pt","pw","py","qa","re","ro","rs","ru","rw","sa","sb","sc","sd","se","sg","sh","si","sj","sk","sl","sm","sn","so","sr","ss","st","su","sv","sx","sy","sz","tc","td","tf","tg","th","tj","tk","tl","tm","tn","to","tr","tt","tv","tw","tz","ua","ug","uk","us","uy","uz","va","vc","ve","vg","vi","vn","vu","wf","ws","ye","yt","za","zm","zw","com.au","net.au","org.au","edu.au","gov.au","asn.au","id.au","info.au","conf.au","oz.au","act.au","nsw.au","nt.au","qld.au","sa.au","tas.au","vic.au","wa.au","com.br","net.br","org.br","edu.br","gov.br","mil.br","art.br","ind.br","adm.br","adv.br","agr.br","am.br","arq.br","ato.br","b.br","bio.br","blog.br","bmd.br","cim.br","cng.br","cnt.br","coop.br","ecn.br","eco.br","emp.br","eng.br","esp.br","etc.br","eti.br","far.br","flog.br","fm.br","fnd.br","fot.br","fst.br","g12.br","ggf.br","imb.br","inf.br","jor.br","jus.br","leg.br","lel.br","mat.br","med.br","mp.br","mus.br","not.br","ntr.br","odo.br","ppg.br","pro.br","psc.br","psi.br","qsl.br","radio.br","rec.br","slg.br","srv.br","taxi.br","teo.br","tmp.br","trd.br","tur.br","tv.br","vet.br","vlog.br","wiki.br","zlg.br","ab.ca","bc.ca","mb.ca","nb.ca","nf.ca","nl.ca","ns.ca","nt.ca","nu.ca","on.ca","pe.ca","qc.ca","sk.ca","yk.ca","com.cn","net.cn","org.cn","edu.cn","gov.cn","mil.cn","ac.cn","ah.cn","bj.cn","cq.cn","fj.cn","gd.cn","gs.cn","gz.cn","gx.cn","ha.cn","hb.cn","he.cn","hi.cn","hl.cn","hn.cn","jl.cn","js.cn","jx.cn","ln.cn","nm.cn","nx.cn","qh.cn","sc.cn","sd.cn","sh.cn","sn.cn","sx.cn","tj.cn","xj.cn","xz.cn","yn.cn","zj.cn","co.uk","me.uk","org.uk","ltd.uk","plc.uk","net.uk","sch.uk","gov.uk","nhs.uk","police.uk","mod.uk","ac.uk","judiciary.uk","parliament.uk","co.jp","ne.jp","or.jp","ac.jp","ad.jp","ed.jp","go.jp","gr.jp","lg.jp","aichi.jp","akita.jp","aomori.jp","chiba.jp","ehime.jp","fukui.jp","fukuoka.jp","fukushima.jp","gifu.jp","gunma.jp","hiroshima.jp","hokkaido.jp","hyogo.jp","ibaraki.jp","ishikawa.jp","iwate.jp","kagawa.jp","kagoshima.jp","kanagawa.jp","kochi.jp","kumamoto.jp","kyoto.jp","mie.jp","miyagi.jp","miyazaki.jp","nagano.jp","nagasaki.jp","nara.jp","niigata.jp","oita.jp","okayama.jp","okinawa.jp","osaka.jp","saga.jp","saitama.jp","shiga.jp","shimane.jp","shizuoka.jp","tochigi.jp","tokushima.jp","tokyo.jp","tottori.jp","toyama.jp","wakayama.jp","yamagata.jp","yamaguchi.jp","yamanashi.jp","co.nz","net.nz","org.nz","edu.nz","govt.nz","school.nz","geek.nz","maori.nz","iwi.nz","mil.nz","parliament.nz","ac.nz","co.za","net.za","org.za","edu.za","gov.za","mil.za","ac.za","alt.za","agric.za","cybernet.za","db.za","grondar.za","nis.za","nom.za","ngo.za","pty.za","school.za","tm.za","web.za","co.in","net.in","org.in","edu.in","gov.in","mil.in","ac.in","res.in","firm.in","gen.in","ind.in","int.in","nic.in","com.ar","net.ar","org.ar","edu.ar","gov.ar","mil.ar","int.ar","tur.ar","com.mx","net.mx","org.mx","edu.mx","gob.mx","com.sg","net.sg","org.sg","edu.sg","gov.sg","per.sg","com.hk","net.hk","org.hk","edu.hk","gov.hk","idv.hk","com.tw","net.tw","org.tw","edu.tw","gov.tw","mil.tw","idv.tw","game.tw","ebiz.tw","club.tw","com.my","net.my","org.my","edu.my","gov.my","mil.my","name.my","sch.my","com.ph","net.ph","org.ph","edu.ph","gov.ph","mil.ph","ngo.ph","i.ph","com.pk","net.pk","org.pk","edu.pk","gov.pk","mil.pk","ac.pk","res.pk","biz.pk","fam.pk","gob.pk","gok.pk","gon.pk","gop.pk","gos.pk","info.pk","com.eg","net.eg","org.eg","edu.eg","gov.eg","mil.eg","sci.eg","eun.eg","info.eg","name.eg","com.sa","net.sa","org.sa","edu.sa","gov.sa","med.sa","pub.sa","sch.sa","com.ae","net.ae","org.ae","edu.ae","gov.ae","mil.ae","sch.ae","ac.ae","pro.ae","name.ae","com.tr","net.tr","org.tr","edu.tr","gov.tr","mil.tr","bel.tr","k12.tr","av.tr","bbs.tr","dr.tr","gen.tr","info.tr","name.tr","pol.tr","tel.tr","web.tr","com.ua","net.ua","org.ua","edu.ua","gov.ua","mil.ua","in.ua","co.ua","cherkassy.ua","chernigov.ua","chernovtsy.ua","dn.ua","dnepropetrovsk.ua","donetsk.ua","dp.ua","if.ua","kh.ua","kharkov.ua","kherson.ua","khmelnitskiy.ua","kiev.ua","kirovograd.ua","km.ua","kr.ua","lg.ua","lugansk.ua","lutsk.ua","lviv.ua","mk.ua","mykolaiv.ua","nikolaev.ua","od.ua","odessa.ua","pl.ua","poltava.ua","rivne.ua","rovno.ua","rv.ua","sebastopol.ua","sumy.ua","te.ua","ternopil.ua","uzhgorod.ua","vinnica.ua","vn.ua","volyn.ua","yalta.ua","zp.ua","zaporizhzhe.ua","zt.ua","zhitomir.ua","com.ru","net.ru","org.ru","edu.ru","gov.ru","mil.ru","pp.ru","int.ru","ac.ru","msk.ru","spb.ru","com.pl","net.pl","org.pl","edu.pl","gov.pl","mil.pl","co.pl","info.pl","biz.pl","nom.pl","waw.pl","poznan.pl","lodz.pl","krakow.pl","wroclaw.pl","com.de","co.de","com.fr","co.fr","asso.fr","nom.fr","prd.fr","presse.fr","tm.fr","aeroport.fr","assedic.fr","avocat.fr","avoues.fr","cci.fr","chambagri.fr","chirurgiens-dentistes.fr","experts-comptables.fr","geometre-expert.fr","gouv.fr","greta.fr","huissier-justice.fr","medecin.fr","notaires.fr","pharmacien.fr","port.fr","veterinaire.fr","com.it","co.it","com.es","co.es","nom.es","org.es","edu.es","gob.es","com.nl","co.nl","com.be","co.be","ac.be","org.be","net.be","com.ch","co.ch","com.at","co.at","ac.at","gv.at","or.at","priv.at","com.se","co.se","ac.se","bd.se","brand.se","fh.se","fhsk.se","fhv.se","tm.se","pp.se","press.se","parti.se","komforb.se","kommunalforbund.se","komvux.se","lanarb.se","lanbib.se","naturbruksgymn.se","sshn.se","com.no","co.no","stat.no","fylkesbibl.no","folkebibl.no","museum.no","idrett.no","priv.no","mil.no","vgs.no","videregaaende.no","kommune.no","herad.no","aa.no","ah.no","bu.no","fm.no","hl.no","hm.no","jan-mayen.no","mr.no","nl.no","nt.no","of.no","ol.no","oslo.no","rl.no","sf.no","st.no","svalbard.no","tm.no","tr.no","va.no","vf.no","com.dk","co.dk","ac.dk","com.fi","co.fi","ac.fi","iki.fi","aland.fi","www.fi","com.pt","co.pt","edu.pt","gov.pt","int.pt","net.pt","nome.pt","org.pt","publ.pt","dyndns.pt","com.gr","co.gr","edu.gr","gov.gr","net.gr","org.gr","store.gr","com.ie","co.ie","gov.ie","net.ie","org.ie","teagasc.ie","com.cz","co.cz","edu.cz","net.cz","org.cz","info.cz","com.sk","co.sk","edu.sk","net.sk","org.sk","com.hu","co.hu","edu.hu","film.hu","gov.hu","info.hu","net.hu","org.hu","priv.hu","sport.hu","tm.hu","2000.hu","agrar.hu","bolt.hu","casino.hu","city.hu","erotica.hu","erotika.hu","forum.hu","games.hu","hotel.hu","ingatlan.hu","jogasz.hu","konyvelo.hu","lakas.hu","media.hu","news.hu","reklam.hu","sex.hu","shop.hu","suli.hu","szex.hu","tozsde.hu","utazas.hu","video.hu","com.ro","co.ro","edu.ro","gov.ro","info.ro","net.ro","nom.ro","org.ro","rec.ro","store.ro","tm.ro","www.ro","arts.ro","firm.ro","nt.ro","shop.ro","com.bg","co.bg","edu.bg","gov.bg","net.bg","org.bg","tel.bg","biz.bg","com.hr","co.hr","from.hr","iz.hr","name.hr","net.hr","com.rs","co.rs","edu.rs","gov.rs","in.rs","net.rs","org.rs","com.ba","co.ba","edu.ba","gov.ba","mil.ba","net.ba","org.ba","rs.ba","unbi.ba","unmo.ba","unsa.ba","untz.ba","unze.ba","com.co","net.co","org.co","edu.co","gov.co","mil.co","nom.co","com.ve","net.ve","org.ve","edu.ve","gov.ve","mil.ve","int.ve","co.ve","arts.ve","bib.ve","firm.ve","info.ve","nom.ve","rec.ve","store.ve","tec.ve","web.ve","com.pe","net.pe","org.pe","edu.pe","gov.pe","mil.pe","nom.pe","sld.pe","com.cl","co.cl","gob.cl","gov.cl","net.cl","org.cl","mil.cl","edu.cl","co.kr","ne.kr","or.kr","re.kr","pe.kr","go.kr","mil.kr","ac.kr","hs.kr","ms.kr","es.kr","sc.kr","kg.kr","seoul.kr","busan.kr","daegu.kr","incheon.kr","gwangju.kr","daejeon.kr","ulsan.kr","gyeonggi.kr","gangwon.kr","chungbuk.kr","chungnam.kr","jeonbuk.kr","jeonnam.kr","gyeongbuk.kr","gyeongnam.kr","jeju.kr","co.id","net.id","or.id","ac.id","web.id","sch.id","go.id","mil.id","my.id","co.th","net.th","org.th","ac.th","go.th","in.th","mi.th","com.vn","net.vn","org.vn","edu.vn","gov.vn","int.vn","ac.vn","biz.vn","info.vn","name.vn","pro.vn","health.vn","com.ng","net.ng","org.ng","edu.ng","gov.ng","mil.ng","mobi.ng","name.ng","sch.ng","co.ke","or.ke","ne.ke","go.ke","ac.ke","sc.ke","me.ke","mobi.ke","co.il","net.il","org.il","edu.il","gov.il","muni.il","ac.il","idf.il","com.ir","net.ir","org.ir","edu.ir","gov.ir","ac.ir","id.ir"],qs=new Set,Bs=new Set,Fs=new Set;for(let r of ou)r.startsWith("!")?Fs.add(r.slice(1).toLowerCase()):r.startsWith("*.")?Bs.add(r.slice(2).toLowerCase()):qs.add(r.toLowerCase());(async()=>{try{let r=await import("node:url");typeof r.domainToUnicode=="function"&&(zs=r.domainToUnicode)}catch{}})();au=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/,cu=/^[\da-f:]+$/i;lu=/^[!#$%&'*+\-.0-9A-Z^_`a-z|~]+$/});function mu(r,e){let t=r.name;return!(t.startsWith("__Secure-")&&(!r.secure||e.protocol!=="https:")||t.startsWith("__Host-")&&(!r.secure||e.protocol!=="https:"||r.path!=="/"||!r.hostOnly))}function gu(r,e){switch(r){case"Strict":return e==="strict";case"Lax":return e==="strict"||e==="lax";case"Unset":return e!=="cross-site";case"None":return!0}}function Ws(r){try{return new URL(r)}catch{return null}}function Yr(){return new Ee}function Zr(r){return Ee.fromJSON(r)}var fu,du,pu,Ca,Ee,va=F(()=>{"use strict";Xr();fu=4096,du=50,pu=3e3,Ca=400*24*60*60*1e3;Ee=class r{constructor(e={}){h(this,"dm",new Map);h(this,"total",0);h(this,"cleanupTimer",null);h(this,"maxTotal");h(this,"maxPerDomain");h(this,"domainMatcherFn");this.maxTotal=e.maxTotal??pu,this.maxPerDomain=e.maxPerDomain??du,this.domainMatcherFn=e.domainMatcher??null,this.cleanupTimer=setInterval(()=>{this.clearExpired()},300*1e3),typeof this.cleanupTimer=="object"&&this.cleanupTimer!==null&&"unref"in this.cleanupTimer&&this.cleanupTimer.unref()}destroy(){this.cleanupTimer&&(clearInterval(this.cleanupTimer),this.cleanupTimer=null)}setCookie(e,t){let n=Ws(t.url);if(!n)return!1;let s=St(e);if(!s)return!1;let o=Date.now(),i=n.hostname.toLowerCase(),a=i.replace(/^\[|\]$/g,""),c=n.protocol==="https:"||a==="localhost"||a==="127.0.0.1"||a==="::1";if(s.name.length+1+s.value.length>fu)return!1;let u,f;if(s.domain!==null&&s.domain!==""){let b=s.domain;if(!(this.domainMatcherFn??bt)(i,b)||wt(b))return!1;u=b,f=!1}else u=i,f=!0;let p=s.path??xt(n.pathname),d=s.secure;if(d&&!c)return!1;let g=s.sameSite;if(g==="None"&&!d)return!1;let m;if(s.maxAge!==null){if(s.maxAge<=0)return this.removeCookie(u,p,s.name),!0;let b=Math.min(s.maxAge*1e3,Ca);m=o+b}else if(s.expires!==null){if(m=s.expires,m<=o)return this.removeCookie(u,p,s.name),!0;m=Math.min(m,o+Ca)}else m=1/0;let y={name:s.name,value:s.value,domain:u,path:p,expires:m,maxAge:s.maxAge,secure:d,httpOnly:s.httpOnly,sameSite:g,createdAt:o,lastAccessed:o,hostOnly:f};return mu(y,n)?(this.putCookie(y),!0):!1}getCookies(e){Math.random()<.01&&this.clearExpired();let t=Ws(e.url);if(!t)return[];let n=t.hostname.toLowerCase(),s=n.replace(/^\[|\]$/g,""),o=t.pathname||"/",i=t.protocol==="https:"||s==="localhost"||s==="127.0.0.1"||s==="::1",a=e.http!==!1,c=e.sameSiteContext??"none",l=Date.now(),u=[];for(let[p,d]of this.dm)if(this.matchDomain(n,p))for(let[,g]of d)for(let[,m]of g)m.hostOnly&&n!==m.domain||m.expires!==1/0&&m.expires<l||_t(o,m.path)&&(m.secure&&!i||m.httpOnly&&!a||gu(m.sameSite,c)&&(m.name.startsWith("__Secure-")&&!(m.secure&&i)||m.name.startsWith("__Host-")&&!(m.secure&&i&&m.path==="/"&&m.hostOnly)||u.push(m)));u.sort((p,d)=>{let g=d.path.length-p.path.length;return g!==0?g:p.createdAt-d.createdAt});let f=Date.now();for(let p of u)p.lastAccessed=f;return u}getCookieHeader(e){return this.getCookies(e).map(t=>t.name?`${t.name}=${t.value}`:t.value).join("; ")}getCookiesForDomain(e){let t=ue(e),n=[];for(let[s,o]of this.dm)if(s===t||s.endsWith("."+t))for(let[,i]of o)for(let[,a]of i)a.expires!==1/0&&a.expires<Date.now()||n.push(a);return n}processResponseHeaders(e,t){for(let n of Tt(e))this.setCookie(n,t)}removeCookie(e,t,n){let s=ue(e),o=this.dm.get(s);if(!o)return!1;let i=o.get(t);if(!i)return!1;let a=i.delete(n);return a&&(this.total--,i.size===0&&o.delete(t),o.size===0&&this.dm.delete(s)),a}clear(){this.dm.clear(),this.total=0}clearExpired(){let e=Date.now(),t=0;for(let[n,s]of this.dm){for(let[o,i]of s){for(let[a,c]of i)c.expires!==1/0&&c.expires<e&&(i.delete(a),this.total--,t++);i.size===0&&s.delete(o)}s.size===0&&this.dm.delete(n)}return t}clearSession(){let e=0;for(let[t,n]of this.dm){for(let[s,o]of n){for(let[i,a]of o)a.expires===1/0&&(o.delete(i),this.total--,e++);o.size===0&&n.delete(s)}n.size===0&&this.dm.delete(t)}return e}clearForDomain(e){let t=ue(e),n=0;for(let[s,o]of this.dm)if(s===t||s.endsWith("."+t)){let i=0;for(let a of o.values())i+=a.size;this.dm.delete(s),this.total-=i,n+=i}return n}clearForUrl(e){let t=Ws(e);return t?this.clearForDomain(t.hostname):0}toJSON(){let e=Date.now(),t=[];for(let[,n]of this.dm)for(let[,s]of n)for(let[,o]of s)o.expires!==1/0&&o.expires<e||t.push({name:o.name,value:o.value,domain:o.domain,path:o.path,expires:o.expires===1/0?null:o.expires,maxAge:o.maxAge,secure:o.secure,httpOnly:o.httpOnly,sameSite:o.sameSite,createdAt:o.createdAt,lastAccessed:o.lastAccessed,hostOnly:o.hostOnly});return t}toString(){return JSON.stringify(this.toJSON(),null,2)}static fromJSON(e){let t=new r,n=typeof e=="string"?JSON.parse(e):e,s=Date.now();for(let o of n){let i=o.expires===null?1/0:o.expires;if(i!==1/0&&i<s)continue;let a={name:o.name,value:o.value,domain:o.domain,path:o.path,expires:i,maxAge:o.maxAge,secure:o.secure,httpOnly:o.httpOnly,sameSite:o.sameSite,createdAt:o.createdAt,lastAccessed:o.lastAccessed,hostOnly:o.hostOnly};t.putCookie(a)}return t}get count(){return this.total}getAll(){let e=[];for(let[,t]of this.dm)for(let[,n]of t)for(let[,s]of n)e.push({...s});return e}getForDomain(e){let t=ue(e),n=[];for(let[s,o]of this.dm)if(s===t||s.endsWith("."+t))for(let[,i]of o)for(let[,a]of i)n.push({...a});return n}putCookie(e){let{domain:t,path:n,name:s}=e;this.dm.has(t)||this.dm.set(t,new Map);let o=this.dm.get(t);o.has(n)||o.set(n,new Map);let i=o.get(n);if(i.has(s)){let a=i.get(s);i.set(s,{...e,createdAt:a.createdAt})}else this.evictForDomain(t,o),this.evictGlobal(),i.set(s,e),this.total++}evictForDomain(e,t){let n=0;for(let i of t.values())n+=i.size;if(n<this.maxPerDomain)return;let s=[];for(let[i,a]of t)for(let[c,l]of a)s.push([i,c,l]);s.sort((i,a)=>i[2].lastAccessed-a[2].lastAccessed);let o=0;for(;n>=this.maxPerDomain&&o<s.length;){let[i,a]=s[o++];t.get(i)?.delete(a)&&(this.total--,n--)}for(let[i,a]of t)a.size===0&&t.delete(i)}evictGlobal(){if(this.total<this.maxTotal)return;let e=[];for(let[n,s]of this.dm)for(let[o,i]of s)for(let[a,c]of i)e.push([n,o,a,c]);e.sort((n,s)=>n[3].lastAccessed-s[3].lastAccessed);let t=0;for(;this.total>=this.maxTotal&&t<e.length;){let[n,s,o]=e[t++],i=this.dm.get(n),a=i?.get(s);a?.delete(o)&&(this.total--,a.size===0&&i.delete(s),i.size===0&&this.dm.delete(n))}}matchDomain(e,t){return this.domainMatcherFn?this.domainMatcherFn(e,t):e===t?!0:ge(e)?!1:e.endsWith("."+t)}}});var Pa={};fe(Pa,{CookieJar:()=>Ee,canonicalizeDomainFull:()=>ue,createCookieJar:()=>Yr,decodeIDNLabel:()=>tr,defaultPath:()=>xt,domainMatch:()=>bt,extractSetCookieHeaders:()=>Tt,formatSetCookieHeader:()=>Aa,getPublicSuffix:()=>yt,getRegistrableDomain:()=>Gr,isIPAddress:()=>ge,isPublicSuffix:()=>wt,loadCookieJar:()=>Zr,normalizePath:()=>Qr,parseCookieDate:()=>er,parseSetCookieHeader:()=>St,pathMatch:()=>_t,splitSetCookieHeaders:()=>We});var Ks=F(()=>{"use strict";va();Xr()});var Ma={};fe(Ma,{BatchingTransport:()=>kt,ConsoleTransport:()=>Ke,HTTPLogger:()=>ke,JSONTransport:()=>Rt,LogLevel:()=>Et,MultiTransport:()=>Ct,Redactor:()=>vt,RemoteTransport:()=>At,createDevelopmentLogger:()=>Gs,createLogger:()=>Js,createProductionLogger:()=>Qs,toOTelSpan:()=>Vs});function Tu(){let r=Date.now().toString(36),e=(++Su).toString(36).padStart(4,"0"),t=Math.random().toString(36).slice(2,6);return`${r}-${e}-${t}`}function La(r,e){if(!r||typeof r!="object"||e.length===0)return;let[t,...n]=e;if(t===void 0||t==="__proto__"||t==="constructor"||t==="prototype")return;let s=r;if(n.length===0){Object.prototype.hasOwnProperty.call(s,t)&&(s[t]="***");return}typeof s[t]=="object"&&La(s[t],n)}function Ia(r){return typeof r=="string"?new TextEncoder().encode(r).byteLength:r.byteLength}function Vs(r){let e={"http.request.id":r.requestId,"http.request.method":r.method,"url.full":r.url};return r.type==="response"&&(e["http.response.status_code"]=r.status,e["http.response.body.size"]=r.bodySize,e["http.time_to_first_byte"]=r.durationMs),r.type==="error"&&(e.error=!0,e["error.type"]=r.error.name,e["error.message"]=r.error.message,e["http.status_code"]=r.status),e}function Eu(r){if(r instanceof Error){let e=r.code,t=r.stack;return{name:r.name,message:r.message,...e!==void 0?{code:e}:{},...t!==void 0?{stack:t}:{}}}return{name:"Error",message:String(r)}}function en(){return typeof performance<"u"?performance.now():Date.now()}function Js(r){return new ke(r)}function Qs(r){let e=[new Rt];return r.endpoint&&e.push(new kt(new At(r.endpoint))),new ke({level:r.level??"INFO",transports:[new Ct(e)],...r.context!==void 0?{context:r.context}:{}})}function Gs(r={}){return new ke({level:r.level??"DEBUG",transports:[new Ke({pretty:!0,useColors:!0,onWrite:e=>console.log(e)})],redaction:{logRequestBody:r.logBodies??!0,logResponseBody:r.logBodies??!0,maxBodyLength:2048}})}var yu,Et,wu,bu,xu,Ke,_u,Rt,kt,At,Ct,Su,vt,Re,ke,tn=F(()=>{"use strict";z();yu=()=>{try{return globalThis.process?.env?.NODE_ENV}catch{return}},Et={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},wu=["authorization","proxy-authorization","cookie","set-cookie","x-api-key","x-auth-token","x-access-token","x-refresh-token","x-csrf-token","x-session-id","x-session-token","x-secret","x-secret-key","x-private-key","api-key","apikey","bearer","token","authentication","credentials","password","passwd","secret"],bu=["token","api_key","apikey","access_token","refresh_token","secret","password","pass","pwd","key","auth"],xu=["application/json","application/x-www-form-urlencoded","text/"],Ke=class{constructor(e={pretty:!1,onWrite:t=>console.log(t)}){h(this,"pretty");h(this,"onWrite");this.pretty=e.pretty??yu()!=="production",this.onWrite=e.onWrite,e.useColors}write(e){let t=this.pretty?this._prettyFormat(e):JSON.stringify(e);this.onWrite(t)}_prettyFormat(e){let t=new Date(e.timestampMs).toISOString().slice(11,23),n=e.level.padEnd(5),s=e.requestId.slice(-8);if(e.type==="request")return`[${t}] ${n} \u2190 ${e.method} ${e.url} [${s}]`;if(e.type==="response"){let o=`${e.durationMs.toFixed(0)}ms`,i=e.cached?" (cached)":"";return`[${t}] ${n} \u2192 ${e.status} ${e.method} ${e.url} ${o}${i} [${s}]`}return`[${t}] ${n} \u2717 ${e.method} ${e.url} ${e.error.message} [${s}]`}},_u=()=>{try{return typeof globalThis.process?.stdout?.write=="function"}catch{return!1}},Rt=class{constructor(e=t=>{_u()?globalThis.process.stdout.write(t+`
5
- `):console.log(t)}){h(this,"writeLine");this.writeLine=e}write(e){this.writeLine(JSON.stringify(e))}},kt=class{constructor(e,t={}){h(this,"inner");h(this,"options");h(this,"buffer",[]);h(this,"timer",null);this.inner=e,this.options=t}write(e){if(this.buffer.push(e),this.buffer.length>=(this.options.maxBatch??100)){this._flush();return}this.timer||(this.timer=setTimeout(()=>this._flush(),this.options.flushMs??5e3))}async flush(){this.timer&&(clearTimeout(this.timer),this.timer=null),this._flush(),this.inner.flush&&await this.inner.flush()}_flush(){if(this.buffer.length===0)return;let e=this.buffer.splice(0);for(let t of e)this.inner.write(t)}},At=class{constructor(e,t={}){h(this,"endpoint");h(this,"options");h(this,"buffer",[]);h(this,"timer",null);this.endpoint=e,this.options=t}write(e){if(this.buffer.push(e),this.buffer.length>=(this.options.batchSize??50)){this._flush();return}this.timer||(this.timer=setTimeout(()=>this._flush(),this.options.flushMs??3e3))}async flush(){this.timer&&(clearTimeout(this.timer),this.timer=null),await this._flushAsync()}_flush(){this._flushAsync().catch(this.options.onError??(e=>console.error("[logging] Flush error:",e)))}async _flushAsync(){if(this.buffer.length===0)return;let e=this.buffer.splice(0),t=this.options.fetch??globalThis.fetch;if(e.length<=10)await t(this.endpoint,{method:"POST",headers:{"content-type":"application/json",...this.options.headers},body:JSON.stringify(e)});else try{let{Readable:n}=await import("node:stream"),s=n.from([JSON.stringify(e)]);await t(this.endpoint,{method:"POST",headers:{"content-type":"application/json",...this.options.headers},body:s,duplex:"half"})}catch{await t(this.endpoint,{method:"POST",headers:{"content-type":"application/json",...this.options.headers},body:JSON.stringify(e)})}}},Ct=class{constructor(e){h(this,"transports");this.transports=e}write(e){for(let t of this.transports)try{t.write(e)}catch{}}async flush(){await Promise.allSettled(this.transports.map(e=>e.flush?.()))}},Su=0;vt=class{constructor(e={}){h(this,"headerSet");h(this,"paramSet");h(this,"bodyFields");h(this,"patterns");h(this,"maxBody");h(this,"logReqBody");h(this,"logResBody");h(this,"allowedTypes");let t=e.headers??wu,n=e.queryParams??bu;this.headerSet=new Set(t.map(s=>s.toLowerCase())),this.paramSet=new Set(n.map(s=>s.toLowerCase())),this.bodyFields=e.bodyFields??[],this.patterns=e.bodyPatterns??[],this.maxBody=e.maxBodyLength??4096,this.logReqBody=e.logRequestBody??!1,this.logResBody=e.logResponseBody??!1,this.allowedTypes=e.allowedBodyTypes??xu}redactHeaders(e){let t={};for(let[n,s]of Object.entries(e))t[n]=this.headerSet.has(n.toLowerCase())?"***":s;return t}redactURL(e){try{let t=new URL(e);for(let n of[...t.searchParams.keys()])this.paramSet.has(n.toLowerCase())&&t.searchParams.set(n,"***");return t.toString()}catch{return e}}redactBody(e,t,n){if(!(n?this.logResBody:this.logReqBody)||!e)return{body:null,size:e?Ia(e):null};let o=t??"";if(!this.allowedTypes.some(l=>o.startsWith(l)))return{body:`[${o||"binary"}]`,size:e?Ia(e):null};let a;if(e instanceof Uint8Array)try{a=new TextDecoder().decode(e)}catch{return{body:"[binary]",size:e.byteLength}}else a=e;let c=a.length;if(o.includes("application/json")&&this.bodyFields.length>0)try{let l=M(JSON.parse(a));for(let u of this.bodyFields)La(l,u.split("."));a=JSON.stringify(l)}catch{}for(let l of this.patterns)a=a.replace(l,"***");return a.length>this.maxBody&&(a=a.slice(0,this.maxBody)+`... [truncated ${a.length-this.maxBody} bytes]`),{body:a,size:c}}};Re=class Re{constructor(e={}){h(this,"cfg");h(this,"redactor");h(this,"level");h(this,"activeIds",new Map);this.cfg={level:e.level??"INFO",transports:e.transports??[new Ke],redaction:e.redaction??{},sampleRate:e.sampleRate??1,methods:e.methods??[],statuses:e.statuses??[],excludeURLs:e.excludeURLs??[],context:e.context??{},generateId:e.generateId??Tu},this.redactor=new vt(this.cfg.redaction),this.level=Et[this.cfg.level]}_cleanupActiveIds(){let e=en();if(this.activeIds.size>Re.MAX_ACTIVE_IDS){let t=Array.from(this.activeIds.entries()),n=t.slice(0,t.length-Math.floor(Re.MAX_ACTIVE_IDS*.8));for(let[s]of n)this.activeIds.delete(s)}for(let[t,n]of this.activeIds)e-n.startMs>Re.IDLE_TIMEOUT_MS&&this.activeIds.delete(t)}logRequest(e,t,n,s,o,i,a={}){if(!this._shouldLog("INFO",t,n))return;this.activeIds.size>500&&this._cleanupActiveIds(),this.activeIds.set(e,{startMs:en(),method:t,url:n});let c=s["content-type"]??s["Content-Type"]??null,l=this.redactor.redactBody(o,c,!1),u={type:"request",requestId:e,timestamp:new Date().toISOString(),timestampMs:Date.now(),level:"INFO",method:t.toUpperCase(),url:this.redactor.redactURL(n),headers:this.redactor.redactHeaders(s),bodySize:l.size,body:l.body,attempt:i,meta:{...this.cfg.context,...a}};this._write(u)}logResponse(e,t,n,s,o,i,a,c={}){let l=this.activeIds.get(e),u=l?en()-l.startMs:0,f=l?.method??"GET",p=l?.url??"";if(!this._shouldLog("INFO",f,p,t))return;let d=s["content-type"]??s["Content-Type"]??null,g=this.redactor.redactBody(o,d,!0),m=t>=500?"ERROR":t>=400?"WARN":"INFO",y={type:"response",requestId:e,timestamp:new Date().toISOString(),timestampMs:Date.now(),level:m,method:f.toUpperCase(),url:this.redactor.redactURL(p),status:t,statusText:n,headers:this.redactor.redactHeaders(s),bodySize:g.size,body:g.body,durationMs:Math.round(u),attempt:i,cached:a,meta:{...this.cfg.context,...c}};this.activeIds.delete(e),this._write(y)}logError(e,t,n,s,o={}){let i=this.activeIds.get(e),a=i?en()-i.startMs:0,c=i?.method??"GET",l=i?.url??"";if(!this._shouldLog("ERROR",c,l))return;let u={type:"error",requestId:e,timestamp:new Date().toISOString(),timestampMs:Date.now(),level:"ERROR",method:c.toUpperCase(),url:this.redactor.redactURL(l),error:Eu(t),status:n,durationMs:Math.round(a),attempt:s,meta:{...this.cfg.context,...o}};this.activeIds.delete(e),this._write(u)}generateRequestId(){return this.cfg.generateId()}child(e){return new Re({...this.cfg,context:{...this.cfg.context,...e}})}async flush(){await Promise.allSettled(this.cfg.transports.map(e=>e.flush?.()))}_write(e){if(!(Et[e.level]<this.level))for(let n of this.cfg.transports)try{let s=n.write(e);s&&typeof s.then=="function"&&s.catch(()=>{})}catch{}}_shouldLog(e,t,n,s){if(Et[e]<this.level||this.cfg.sampleRate<1&&Math.random()>this.cfg.sampleRate||this.cfg.methods.length>0&&!this.cfg.methods.includes(t.toUpperCase())||s!==void 0&&this.cfg.statuses.length>0&&!this.cfg.statuses.includes(s))return!1;for(let o of this.cfg.excludeURLs)if(o.test(n))return!1;return!0}};h(Re,"MAX_ACTIVE_IDS",1e4),h(Re,"IDLE_TIMEOUT_MS",6e4);ke=Re});var to={};fe(to,{SSEClient:()=>Ve,SSEError:()=>he,SSEMaxReconnectsError:()=>Je,SSEParser:()=>Ae,SSERouter:()=>nr,SSEServerResponse:()=>Pt,SSETransformStream:()=>rr,createJSONSSEStream:()=>Ys,createSSEResponse:()=>Zs,createSSEStream:()=>Xs,jsonSSE:()=>rn,parseSSEText:()=>eo});async function*rn(r,e={}){for await(let t of r)if(!(!t.data&&t.data!==""))try{let n=M(JSON.parse(t.data,e.reviver));yield{event:t.event,data:n,id:t.id}}catch(n){e.onError?.(n,t)}}function Xs(r){return new Ve(r)}function Ys(r,e={}){return rn(new Ve(r),e)}function Zs(r,e={}){let t=new Pt;return(async()=>{try{await r(t)}catch(n){console.error("[sse] Generator error:",n)}t.close()})(),t.toResponse(e)}function eo(r){let e=new Ae,t=e.feed(r),n=e.flush();return n&&t.push(n),t}function Oa(r){return new Promise(e=>setTimeout(e,r))}var Ae,rr,Ve,nr,Pt,he,Je,sr=F(()=>{"use strict";z();Ae=class{constructor(){h(this,"lines",[]);h(this,"id",null);h(this,"event","message");h(this,"data",[]);h(this,"retry",null);h(this,"buffer","")}feed(e){let t=[];this.buffer+=e;let n=this.buffer.split(/\r\n|\r|\n/);this.buffer=n.pop()??"";for(let s of n){let o=this._processLine(s);o&&t.push(o)}return t}flush(){return this.buffer&&(this._processLine(this.buffer),this.buffer=""),this.data.length>0?this._dispatch():null}_processLine(e){if(this.lines.push(e),e==="")return this.data.length===0?(this.lines=[],null):this._dispatch();if(e.startsWith(":"))return null;let t=e.indexOf(":"),n,s;switch(t===-1?(n=e,s=""):(n=e.slice(0,t),s=e.slice(t+1).replace(/^ /,"")),n){case"id":this.id=s||null;break;case"event":this.event=s;break;case"data":this.data.push(s);break;case"retry":{let o=parseInt(s,10);!isNaN(o)&&o>=0&&(this.retry=o);break}}return null}_dispatch(){let e={id:this.id,event:this.event,data:this.data.join(`
6
- `),retry:this.retry,raw:[...this.lines]};return this.lines=[],this.event="message",this.data=[],this.retry=null,e}reset(){this.lines=[],this.id=null,this.event="message",this.data=[],this.retry=null,this.buffer=""}get lastId(){return this.id}},rr=class extends TransformStream{constructor(t={}){super({transform:(n,s)=>{try{let o=typeof n=="string"?n:this.decoder.decode(n,{stream:!0}),i=this.parser.feed(o);for(let a of i)s.enqueue(a)}catch(o){t.onParseError?.(o,String(n))}},flush:n=>{let s=this.parser.flush();s&&n.enqueue(s)}});h(this,"parser",new Ae);h(this,"decoder",new TextDecoder("utf-8"))}},Ve=class{constructor(e){h(this,"config");h(this,"health");h(this,"_closed",!1);h(this,"_streamController",null);this.config={fetch:globalThis.fetch,headers:{},signal:e.signal??void 0,lastEventId:"",reconnect:!0,reconnectDelayMs:3e3,maxReconnectDelayMs:3e4,reconnectJitter:.3,maxReconnects:0,onReconnect:()=>{},onParseError:t=>{},heartbeatTimeoutMs:0,method:"GET",body:null,validateResponse:()=>!0,...e},this.health={connected:!1,totalEvents:0,totalReconnects:0,lastEventAt:null,lastEventId:this.config.lastEventId||null,reconnectAttempt:0}}get url(){return this.config.url}get closed(){return this._closed}async*[Symbol.asyncIterator](){yield*this._stream()}async*stream(){yield*this._stream()}async*on(e){for await(let t of this._stream())t.event===e&&(yield t)}async collect(e={}){let t=[],n=0;for await(let s of this._stream())if(t.push(s),n++,e.limit&&n>=e.limit||e.signal?.aborted)break;return t}close(){this._closed=!0,this._streamController&&(this._streamController.abort(),this._streamController=null),this.health.connected=!1}destroy(){this.close(),this.health={connected:!1,totalEvents:this.health.totalEvents,totalReconnects:this.health.totalReconnects,lastEventAt:this.health.lastEventAt,lastEventId:this.health.lastEventId,reconnectAttempt:0}}get streamHealth(){return{...this.health}}async*_stream(){let e=this.config,t=e.reconnectDelayMs,n=0;for(this._streamController=new AbortController;!this._closed&&!this._streamController?.signal.aborted;){let s=this._closed;if(s||e.signal?.aborted||this._streamController?.signal.aborted)break;let o=new Ae,i=null;try{let c={accept:"text/event-stream","cache-control":"no-cache",...e.headers};this.health.lastEventId&&(c["last-event-id"]=this.health.lastEventId);let l={method:e.method,headers:c,body:e.body??null,signal:e.signal??null};e.body!==null&&e.body!==void 0&&(l.duplex="half");let u=await e.fetch(e.url,l),f=e.validateResponse(u);if(f!==!0){let b=typeof f=="string"?f:`SSE server returned ${u.status}`;throw new he(b,u.status,u)}if(!u.ok)throw new he(`SSE server error: ${u.status}`,u.status,u);if(!u.body)throw new he("SSE response has no body",u.status,u);let p=u.headers.get("content-type")??"";if(!p.startsWith("text/event-stream"))throw new he(`Expected text/event-stream, got: ${p}`,u.status,u);this.health.connected=!0,n=0,t=e.reconnectDelayMs;let d=u.body.getReader(),g=new TextDecoder("utf-8"),m=()=>{i&&clearTimeout(i),e.heartbeatTimeoutMs>0&&(i=setTimeout(()=>{d.cancel("heartbeat timeout")},e.heartbeatTimeoutMs))};m();try{for(;!s&&!e.signal?.aborted;){let{done:b,value:x}=await d.read();if(b)break;let T=g.decode(x,{stream:!0}),R=o.feed(T);for(let A of R)m(),A.retry!==null&&(t=Math.min(A.retry,e.maxReconnectDelayMs)),A.id!==null&&(this.health.lastEventId=A.id),this.health.totalEvents++,this.health.lastEventAt=Date.now(),yield A}}finally{i&&clearTimeout(i);try{d.cancel()}catch{}}let y=o.flush();y&&(this.health.totalEvents++,this.health.lastEventAt=Date.now(),yield y)}catch(c){if(this.health.connected=!1,s||c instanceof Error&&c.name==="AbortError"||e.signal?.aborted)break;if(c instanceof he&&c.status&&[401,403,404].includes(c.status)||!e.reconnect)throw c;if(e.maxReconnects>0&&n>=e.maxReconnects)throw new Je(n,e.url);n++,this.health.totalReconnects++,this.health.reconnectAttempt=n;let l=t*e.reconnectJitter*Math.random(),u=Math.min(t+l,e.maxReconnectDelayMs);t=Math.min(t*2,e.maxReconnectDelayMs),e.onReconnect(n,u),i&&(clearTimeout(i),i=null),await Oa(u),o.reset();continue}if(this.health.connected=!1,!e.reconnect)break;if(e.maxReconnects>0&&n>=e.maxReconnects)throw new Je(n,e.url);n++,this.health.totalReconnects++;let a=Math.min(t,e.maxReconnectDelayMs);e.onReconnect(n,a),i&&(clearTimeout(i),i=null),await Oa(a)}this.health.connected=!1}};nr=class{constructor(){h(this,"handlers",new Map);h(this,"fallback",null)}on(e,t){let n=this.handlers.get(e)??[];return n.push(t),this.handlers.set(e,n),this}onJSON(e,t){return this.on(e,async(n,s)=>{try{let o=M(JSON.parse(n));await t(o,s)}catch{}})}onMessage(e){return this.on("message",e)}onAny(e){return this.fallback=e,this}async dispatch(e){let t=this.handlers.get(e.event);if(t&&t.length>0)for(let n of t)await n(e.data,e);else this.fallback&&await this.fallback(e.data,e)}async consume(e){for await(let t of e)await this.dispatch(t)}},Pt=class{constructor(){h(this,"controller");h(this,"stream");h(this,"_closed",!1);let e;this.stream=new ReadableStream({start:t=>{e=t},cancel:()=>{this._closed=!0}}),this.controller=e}comment(e=""){return this._closed||this.controller.enqueue(`: ${e}
1
+ /* kinetex v1.3.0 | MIT | https://github.com/kinetexjs/kinetex */
2
+ "use strict";var kinetex=(()=>{var cl=Object.create;var Ht=Object.defineProperty;var ll=Object.getOwnPropertyDescriptor;var ul=Object.getOwnPropertyNames;var hl=Object.getPrototypeOf,fl=Object.prototype.hasOwnProperty;var Zo=r=>{throw TypeError(r)};var dl=(r,e,t)=>e in r?Ht(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var tt=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var F=(r,e,t)=>()=>{if(t)throw t[0];try{return r&&(e=r(r=0)),e}catch(n){throw t=[n],n}};var de=(r,e)=>{for(var t in e)Ht(r,t,{get:e[t],enumerable:!0})},ei=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of ul(e))!fl.call(r,s)&&s!==t&&Ht(r,s,{get:()=>e[s],enumerable:!(n=ll(e,s))||n.enumerable});return r};var rt=(r,e,t)=>(t=r!=null?cl(hl(r)):{},ei(e||!r||!r.__esModule?Ht(t,"default",{value:r,enumerable:!0}):t,r)),pl=r=>ei(Ht({},"__esModule",{value:!0}),r);var f=(r,e,t)=>dl(r,typeof e!="symbol"?e+"":e,t),ml=(r,e,t)=>e.has(r)||Zo("Cannot "+t);var ti=(r,e,t)=>e.has(r)?Zo("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t);var oe=(r,e,t)=>(ml(r,e,"access private method"),t);function gl(){if(yr)return yr;let r=globalThis;if(r.process?.hrtime)return yr=r.process,yr}function yl(){if(wr)return wr;let r=globalThis;if(r.Buffer&&typeof r.Buffer.isBuffer=="function")return wr=r.Buffer,wr}function pe(r,e={}){let t={...wl,...e};if(r.length>t.maxStringLength)return{success:!1,error:"STRING_TOO_LONG",message:`JSON string length exceeds limit of ${t.maxStringLength}`};let n=0,s=!1,o=!1;for(let i=0;i<r.length;i++){let a=r[i];if(o){o=!1;continue}if(a==="\\"){s&&(o=!0);continue}if(a==='"'){s=!s;continue}if(!s)if(a==="{"||a==="["){if(++n>t.maxDepth)return{success:!1,error:"DEPTH_EXCEEDED",message:`JSON depth exceeds limit of ${t.maxDepth}`}}else(a==="}"||a==="]")&&n--}try{let i=JSON.parse(r);return An(i,t,0)?!t.allowNonFinite&&Cn(i)?{success:!1,error:"NON_FINITE_NUMBER",message:"JSON contains NaN or Infinity values"}:{success:!0,value:i}:{success:!1,error:"VALIDATION_FAILED",message:"Parsed value exceeds size limits"}}catch{return{success:!1,error:"PARSE_ERROR",message:"Failed to parse JSON"}}}function An(r,e,t){if(t>e.maxDepth)return!1;if(r==null)return!0;if(typeof r=="string")return r.length<=e.maxStringLength;if(typeof r=="number"||typeof r=="boolean")return!0;if(Array.isArray(r))return r.length>e.maxArrayLength?!1:r.every(n=>An(n,e,t+1));if(typeof r=="object"){let n=Object.keys(r);if(n.length>e.maxObjectKeys||n.includes("__proto__"))return!1;if(n.includes("constructor")){let s=r.constructor;if(typeof s=="object"&&s!==null){let o=Object.keys(s);if(o.includes("prototype")||o.includes("__proto__"))return!1}}return n.every(s=>An(r[s],e,t+1))}return!0}function Cn(r){return typeof r=="number"&&!Number.isFinite(r)?!0:Array.isArray(r)?r.some(Cn):typeof r=="object"&&r!==null?Object.values(r).some(Cn):!1}function pi(r){let e=pe(r);return e.success?e.value:r}function M(r){if(r===null||typeof r!="object")return r;if(Array.isArray(r)){for(let t=0;t<r.length;t++)r[t]=M(r[t]);return r}let e=r;for(let t of Object.keys(e)){if(t==="__proto__"||t==="constructor"||t==="prototype"){delete e[t];continue}M(e[t])}return r}function mi(r){return pe(r,{maxDepth:16,maxStringLength:1*1024*1024,maxArrayLength:1e3,maxObjectKeys:100})}function gi(r){return r instanceof Uint8Array}function yi(r){return r instanceof ArrayBuffer}function wi(r){return r!==null&&typeof r=="object"&&"getReader"in r&&typeof r.getReader=="function"}function bi(r){return r!==null&&typeof r=="object"&&"forEach"in r&&typeof r.forEach=="function"}function xi(r){return r!==null&&typeof r=="object"&&"aborted"in r&&typeof r.aborted=="boolean"}function _i(r){return r!==null&&typeof r=="object"&&Object.prototype.toString.call(r)==="[object Object]"}function Si(r){return r!==null&&typeof r=="object"&&r.constructor?.name==="FormData"}function Ei(r){return r!==null&&typeof r=="object"&&r.constructor?.name==="Blob"}function Ti(r){return r!==null&&typeof r=="object"&&"has"in r&&typeof r.has=="function"}function Ue(r){return typeof r!="string"||r.length===0||r.length>4096?!1:bl.test(r)}function xe(r){if(typeof r!="string"||r.length>8192)return!1;for(let e=0;e<r.length;e++){let t=r.charCodeAt(e);if(t<32&&t!==9||t===127||t===13||t===10)return!1}return!0}function zt(r){return _l.some(([e,t])=>r>=e&&r<=t)}function kn(r){return r===""?null:/^0[xX][0-9a-fA-F]+$/.test(r)?parseInt(r,16):/^0[0-7]+$/.test(r)?parseInt(r,8):/^\d+$/.test(r)?parseInt(r,10):null}function Ri(r){if(r.includes(":")||!/^[0-9a-fA-FxX.]+$/.test(r))return null;let e=r.endsWith(".")?r.slice(0,-1):r;if(e==="")return null;let t=e.split(".");if(t.length>4||t.length<1)return null;if(t.length===1){let i=kn(t[0]);return i===null||i>4294967295?null:i>>>0}let n=[];for(let i=0;i<t.length-1;i++){let a=kn(t[i]);if(a===null||a>255)return null;n.push(a)}let s=kn(t[t.length-1]),o=2**(8*(5-t.length));if(s===null||s>=o)return null;for(let i=8*(4-t.length);i>=0;i-=8)n.push(s>>>i&255);return(n[0]<<24|n[1]<<16|n[2]<<8|n[3])>>>0}function Sl(r){if(!r.includes(":"))return null;let e=r.split("%")[0],t=e.split("::");if(t.length>2)return null;let n=o=>{if(o==="")return[];let i=o.split(":"),a=[];for(let l=0;l<i.length;l++){let c=i[l];if(c==="")return null;if(c.includes(".")){if(l!==i.length-1)return null;let u=Ri(c);if(u===null)return null;a.push(u>>>24&255,u>>>16&255,u>>>8&255,u&255)}else{if(!/^[0-9a-fA-F]{1,4}$/.test(c))return null;let u=parseInt(c,16);a.push(u>>>8&255,u&255)}}return a},s;if(t.length===2){let o=n(t[0]),i=n(t[1]);if(!o||!i)return null;let a=16-o.length-i.length;if(a<0)return null;s=[...o,...new Array(a).fill(0),...i]}else{let o=n(e);if(!o||o.length!==16)return null;s=o}return s.length===16?new Uint8Array(s):null}function El(r){let e=n=>(r[n]<<24|r[n+1]<<16|r[n+2]<<8|r[n+3])>>>0;if(r.every(n=>n===0)||r.slice(0,15).every(n=>n===0)&&r[15]===1)return!0;let t=r[0];return(t&254)===252||t===254&&(r[1]&192)===128||t===255||r[0]===32&&r[1]===1&&r[2]===13&&r[3]===184?!0:r.slice(0,10).every(n=>n===0)&&r[10]===255&&r[11]===255||r.slice(0,12).every(n=>n===0)||r[0]===0&&r[1]===100&&r[2]===255&&r[3]===155&&r.slice(4,12).every(n=>n===0)?zt(e(12)):r[0]===32&&r[1]===2?zt(e(2)):!1}function _e(r,e=["http","https"]){try{let t=typeof r=="string"?new URL(r):r,n=t.protocol.replace(/:$/,"").toLowerCase();if(!e.some(i=>i.toLowerCase()===n)||xl.has(n))return!1;let s=t.hostname.toLowerCase(),o=s.startsWith("[")&&s.endsWith("]");if(o&&(s=s.slice(1,-1)),s==="localhost"||s.endsWith(".localhost")||s==="0.0.0.0")return!1;if(o||s.includes(":")){let i=Sl(s);if(i===null||El(i))return!1}else{let i=Ri(s);if(i!==null&&zt(i))return!1}if(t.hostname.includes("..")||t.pathname.includes("..")||t.hostname.length>253||t.href.length>8192)return!1;if(t.port){let i=parseInt(t.port,10);if(isNaN(i)||i<1||i>65535)return!1}return!0}catch{return!1}}function ot(r){if(r===null||typeof r!="object")return r;if(Array.isArray(r))return r.map(t=>ot(t));if(r instanceof Date)return new Date(r.getTime());if(r instanceof Uint8Array)return new Uint8Array(r);if(r instanceof Map){let t=new Map;return r.forEach((n,s)=>t.set(s,ot(n))),t}if(r instanceof Set){let t=new Set;return r.forEach(n=>t.add(ot(n))),t}let e={};for(let t in r)t==="__proto__"||t==="constructor"||t==="prototype"||Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=ot(r[t]));return e}function ki(r,e){let t=new Error(r);return Object.assign(t,e),t}function Ai(r){if(r instanceof Error){let e={};for(let[n,s]of Object.entries(r))n!=="message"&&n!=="name"&&n!=="stack"&&(e[n]=s);let t=Object.keys(e).length>0?` | ${JSON.stringify(e)}`:"";return`${r.name}: ${r.message}${t}`}return String(r)}function Ci(r){if(typeof r!="string"||r.length>2048)return null;try{let e=new URL(r);return _e(e)?(e.username="",e.password="",e.toString()):null}catch{return null}}function vi(){let r=gl();if(r?.hrtime){let[t,n]=r.hrtime();return t*1e3+n/1e6}return typeof globalThis.Bun<"u",Date.now()}function Pi(r,e){return e?.aborted?Promise.reject(vn()):new Promise((t,n)=>{let s=()=>{clearTimeout(o),n(vn())},o=setTimeout(()=>{e?.removeEventListener("abort",s),t()},r);e&&e.addEventListener("abort",s,{once:!0})})}function br(r){if(r.length===0)return new Uint8Array(0);let e=r.reduce((s,o)=>s+o.byteLength,0),t=new Uint8Array(e),n=0;for(let s of r)t.set(s,n),n+=s.byteLength;return t}function Ii(r){if(r instanceof Uint8Array)return r.slice();if(r instanceof ArrayBuffer)return new Uint8Array(r);let e=yl();return e&&e.isBuffer(r)?new Uint8Array(r):typeof r=="string"?new TextEncoder().encode(r):null}function qt(r){if(r.byteLength<=24576){let n="";for(let s=0;s<r.byteLength;s++)n+=String.fromCharCode(r[s]);return btoa(n)}let t=[];for(let n=0;n<r.byteLength;n+=24576){let s=r.subarray(n,n+24576),o="";for(let i=0;i<s.byteLength;i++)o+=String.fromCharCode(s[i]);t.push(btoa(o))}return t.map((n,s)=>s<t.length-1?n.replace(/=+$/,""):n).join("")}function xr(...r){let e=r.filter(s=>s!=null);if(e.length===0)return;if(e.length===1)return e[0];if(e.some(s=>s.aborted)){let s=new AbortController;return s.abort(),s.signal}let t=new AbortController,n=()=>{for(let s of e)s.removeEventListener("abort",n);t.abort(vn())};t.signal.addEventListener("abort",()=>{for(let s of e)s.removeEventListener("abort",n)},{once:!0});for(let s of e)s.addEventListener("abort",n,{once:!0});return t.signal}function _r(r){if(!(r instanceof Error))return!1;if(r.name==="AbortError")return!0;let e=r;return e.code==="ECONNRESET"||e.code==="ECONNABORTED"||r instanceof DOMException&&r.name==="AbortError"}function $e(r){if(!Number.isInteger(r)||r<0||r>65536)throw new Error(`randomBytes: invalid byteCount ${r}`);let e=new Uint8Array(r);if(typeof crypto<"u"&&typeof crypto.getRandomValues=="function")crypto.getRandomValues(e);else throw new Error("randomBytes: no CSPRNG available in this runtime \u2014 crypto.getRandomValues is required");return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}function vn(){if(typeof DOMException<"u")return new DOMException("Aborted","AbortError");let r=new Error("Aborted");return r.name="AbortError",r}function Sr(){if(ie)return ie;try{if(globalThis.process?.versions?.node)return ie="node",ie}catch{}return typeof globalThis.Deno<"u"?ie="deno":typeof globalThis.Bun<"u"?ie="bun":typeof window<"u"?ie="browser":typeof globalThis<"u"&&typeof globalThis.fetch=="function"?ie="edge":ie="unknown",ie}function Li(){return Sr()==="node"}function Mi(){return Sr()==="browser"}function Oi(){return typeof globalThis?.fetch=="function"}function it(r){let e={};return r.forEach((t,n)=>{e[n.toLowerCase()]=t}),e}var yr,wr,wl,bl,xl,_l,ie,B=F(()=>{"use strict";wl={maxDepth:32,maxStringLength:10*1024*1024,maxArrayLength:1e4,maxObjectKeys:1e3,allowNonFinite:!1};bl=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;xl=new Set(["file","ftp","gopher","data","javascript","dict","ldap","ldaps","rlogin","telnet","tn3270","imap","pop","smtp","nntp","news","ssh","git","svn","webcal","urn"]),_l=[[0,16777215],[167772160,184549375],[1681915904,1686110207],[2130706432,2147483647],[2851995648,2852061183],[2886729728,2887778303],[3221225472,3221225727],[3221225984,3221226239],[3232235520,3232301055],[3323068416,3323199487],[3325256704,3325256959],[3405803776,3405804031],[3758096384,4026531839],[4026531840,4294967295]];ie=null});function Pn(r){return r}function Ni(r){if(typeof r=="string"){for(let e of Tl)if(e===r)return e}}var Tl,x,ct,lt,ut,te,Q,Tr,Rr,kr,G,je=F(()=>{"use strict";Tl=["ENETWORK","ETIMEOUT","EABORT","EHTTPSTATUS","ESIZELIMIT","EPARSE","EVALIDATION","EAUTH","EPROXY","EREDIRECT","EUNKNOWN"];x=class extends Error{constructor(t,n,s){super(t);f(this,"code");f(this,"request");f(this,"response");f(this,"cause");this.name="KinetexError",this.code=n,s?.request!==void 0&&(this.request=s.request),s?.response!==void 0&&(this.response=s.response),s?.cause!==void 0&&(this.cause=s.cause)}get isNetwork(){return this.code==="ENETWORK"}get isProxy(){return this.code==="EPROXY"}get isTimeout(){return this.code==="ETIMEOUT"}get isAbort(){return this.code==="EABORT"}get isHTTPError(){return this.code==="EHTTPSTATUS"}get status(){return this.response?.status??null}},ct=class extends x{constructor(t,n,s){super(`Response size limit exceeded: ${t} bytes read, limit is ${n} bytes`,"ESIZELIMIT",s!==void 0?{request:s}:{});f(this,"bytesRead");f(this,"limit");this.bytesRead=t,this.limit=n,this.name="SizeLimitError"}},lt=class extends x{constructor(e,t){super(`HTTP ${e.status} ${e.statusText} \u2014 ${e.url}`,"EHTTPSTATUS",{request:t,response:e}),this.name="HTTPStatusError"}get isClientError(){return(this.status??0)>=400&&(this.status??0)<500}get isServerError(){return(this.status??0)>=500}},ut=class extends x{constructor(e){super("Request was aborted","EABORT",e!==void 0?{request:e}:{}),this.name="AbortError"}},te=class extends x{constructor(e,t){super(e,"ENETWORK",t!==void 0?{request:t}:{}),this.name="NetworkError"}},Q=class extends x{constructor(e,t){super(e,"EVALIDATION",t!==void 0?{request:t}:{}),this.name="ValidationError"}},Tr=class extends x{constructor(e,t){super(e,"EAUTH",t!==void 0?{request:t}:{}),this.name="AuthError"}},Rr=class extends x{constructor(e,t){super(e,"EPROXY",t!==void 0?{request:t}:{}),this.name="ProxyError"}},kr=class extends x{constructor(e,t){super(e,"EREDIRECT",t!==void 0?{request:t}:{}),this.name="RedirectError"}},G=class extends x{constructor(t,n){super(`Request timed out after ${t}ms`,"ETIMEOUT",n!==void 0?{request:n}:{});f(this,"timeoutMs");this.timeoutMs=t,this.name="TimeoutError"}}});var ji={};de(ji,{CREDENTIAL_HEADERS:()=>Cr,CloudflareKVAdapter:()=>ft,HTTPCache:()=>ae,MemoryStorageAdapter:()=>Se,TwoTierStorageAdapter:()=>dt,WebStorageAdapter:()=>Be,createKVCache:()=>Nn,createLocalStorageCache:()=>On,createMemoryCache:()=>Mn,createSessionStorageCache:()=>Dn,createTwoTierCache:()=>Un,getAuthFingerprint:()=>me});function Rl(r){let e={noStore:!1,noCache:!1,mustRevalidate:!1,proxyRevalidate:!1,public:!1,private:!1,maxAge:null,sMaxAge:null,staleWhileRevalidate:null,staleIfError:null,immutable:!1};for(let t of r.split(",")){let n=t.trim(),s=n.indexOf("="),o=(s===-1?n:n.slice(0,s)).trim().toLowerCase(),i=s===-1?null:n.slice(s+1).trim().replace(/^"|"$/g,""),a=i!==null?parseInt(i,10):null;switch(o){case"no-store":e.noStore=!0;break;case"no-cache":e.noCache=!0;break;case"must-revalidate":e.mustRevalidate=!0;break;case"proxy-revalidate":e.proxyRevalidate=!0;break;case"public":e.public=!0;break;case"private":e.private=!0;break;case"immutable":e.immutable=!0;break;case"max-age":e.maxAge=a;break;case"s-maxage":e.sMaxAge=a;break;case"stale-while-revalidate":e.staleWhileRevalidate=a;break;case"stale-if-error":e.staleIfError=a;break;case"no-transform":break;case"only-if-cached":break;case"must-understand":break;default:break}}return e}function Ui(r,e){return r?r.trim()==="*"?null:r.split(",").map(s=>s.trim().toLowerCase()).sort().map(s=>{let o=e[s]??e[s.toLowerCase()]??"";return`${s}=${o}`}).join(";"):""}function ht(r){return r.replaceAll(kl,"").replaceAll(/\s+/g," ").trim()}async function me(r){let e=new Map;for(let[i,a]of Object.entries(r))e.set(i.toLowerCase(),a);let t=[];for(let i of Cr){let a=e.get(i);a&&t.push(`${i}=${a}`)}if(t.length===0)return"";let n=new TextEncoder().encode(t.join("|")),s=await crypto.subtle.digest("SHA-256",n);return`auth:${Array.from(new Uint8Array(s)).map(i=>i.toString(16).padStart(2,"0")).join("").slice(0,32)}`}async function Al(r){try{let e=new URL(r.url),t=ht(e.hostname),n=ht(e.pathname);e.searchParams.sort();let s=ht(e.search);e.hash="";let o=`${e.protocol}//${t}${e.port?":"+e.port:""}${n}${s}`,i=ht(r.method.toUpperCase()),a=await me(r.headers??{}),l=`${i}:${o}`;return a?`${l}:${a}`:l}catch{let e=ht(r.method.toUpperCase()),t=ht(r.url),n=await me(r.headers??{}),s=`${e}:${t}`;return n?`${s}:${n}`:s}}function $i(r,e,t){let n=r.headers["cache-control"]??r.headers["Cache-Control"]??"",s=Rl(n);if(t&&s.noStore)return{ttlMs:0,swrMs:0,staleOnError:0,shouldCache:!1};let o=s.sMaxAge??s.maxAge,i;if(o!==null){let c=parseInt(r.headers.age??r.headers.Age??"0",10)||0;i=Math.max(0,(o-c)*1e3)}else{let c=r.headers.expires??r.headers.Expires;if(c){let u=Date.parse(c);i=isNaN(u)?e:Math.max(0,u-Date.now())}else{let u=r.headers["last-modified"]??r.headers["Last-Modified"];if(u){let h=Date.parse(u);isNaN(h)?i=e:i=Math.min((Date.now()-h)*.1,e)}else i=e}}s.immutable&&i>0&&(i=365*24*60*60*1e3);let a=s.staleWhileRevalidate!==null?s.staleWhileRevalidate*1e3:0,l=s.staleIfError!==null?s.staleIfError*1e3:0;return{ttlMs:i,swrMs:a,staleOnError:l,shouldCache:i>0||a>0}}function Ar(r){return{...r,response:Hi(r.response),tags:[...r.tags]}}function Hi(r){return{...r,headers:{...r.headers},body:r.body instanceof Uint8Array?new Uint8Array(r.body):r.body}}function Cl(r){return r?typeof r=="string"?new TextEncoder().encode(r).byteLength:r.byteLength:0}function Mn(r){return new ae({...r,storage:new Se})}function On(r,e){if(typeof localStorage>"u")throw new Error("localStorage is not available");return new ae({...e,storage:new Be(localStorage,r)})}function Dn(r,e){if(typeof sessionStorage>"u")throw new Error("sessionStorage is not available");return new ae({...e,storage:new Be(sessionStorage,r)})}function Nn(r,e){return new ae({...e,storage:new ft(r)})}function Un(r,e){return new ae({...e,storage:new dt(r)})}var Se,Be,ft,dt,kl,Cr,In,Ln,ae,pt=F(()=>{"use strict";B();Se=class{constructor(){f(this,"store",new Map)}get(e){return Promise.resolve(this.store.get(e)??null)}set(e,t){return this.store.set(e,t),Promise.resolve()}delete(e){return this.store.delete(e),Promise.resolve()}keys(){return Promise.resolve(Array.from(this.store.keys()))}clear(){return this.store.clear(),Promise.resolve()}get size(){return this.store.size}},Be=class{constructor(e,t="hc:"){f(this,"storage");f(this,"prefix");this.storage=e,this.prefix=t}get(e){try{let t=this.storage.getItem(this.prefix+e);if(!t)return Promise.resolve(null);let n=pe(t,{maxDepth:32});return Promise.resolve(n.success&&n.value!==void 0?n.value:null)}catch{return Promise.resolve(null)}}set(e,t){try{return this.storage.setItem(this.prefix+e,JSON.stringify(t)),Promise.resolve(!0)}catch(n){return n instanceof Error&&(n.name==="QuotaExceededError"||n.name==="NS_ERROR_DOM_QUOTA_REACHED")&&console.warn("[kinetex] WebStorageAdapter: storage quota exceeded. Entry was NOT cached. Consider reducing maxBodySizeBytes or using a different storage adapter."),Promise.resolve(!1)}}delete(e){return this.storage.removeItem(this.prefix+e),Promise.resolve()}keys(){let e=[];for(let t=0;t<this.storage.length;t++){let n=this.storage.key(t);n?.startsWith(this.prefix)&&e.push(n.slice(this.prefix.length))}return Promise.resolve(e)}clear(){let e=[];for(let t=0;t<this.storage.length;t++){let n=this.storage.key(t);n?.startsWith(this.prefix)&&e.push(n)}for(let t of e)this.storage.removeItem(t);return Promise.resolve()}},ft=class{constructor(e,t="hc:"){f(this,"kv");f(this,"prefix");this.kv=e,this.prefix=t}async get(e){return await this.kv.get(this.prefix+e,"json")}async set(e,t){let n=t.expiresAt===1/0?void 0:Math.max(1,Math.ceil((t.expiresAt-Date.now())/1e3));await this.kv.put(this.prefix+e,JSON.stringify(t),{...n!==void 0?{expirationTtl:n}:{}})}async delete(e){await this.kv.delete(this.prefix+e)}async keys(){return(await this.kv.list({prefix:this.prefix})).keys.map(t=>t.name.slice(this.prefix.length))}async clear(){let e=await this.keys();await Promise.all(e.map(t=>this.kv.delete(this.prefix+t)))}},dt=class{constructor(e){f(this,"l2");f(this,"l1",new Se);this.l2=e}async get(e){let t=await this.l1.get(e);if(t)return t;let n=await this.l2.get(e);return n&&await this.l1.set(e,n),n}async set(e,t){await Promise.all([this.l1.set(e,t),this.l2.set(e,t)])}async delete(e){await Promise.all([this.l1.delete(e),this.l2.delete(e)])}async keys(){return await this.l2.keys()}async clear(){await Promise.all([this.l1.clear(),this.l2.clear()])}};kl=/[\u0000-\u001f\u007f-\u009f]/g;Cr=["authorization","proxy-authorization","cookie","x-api-key","apikey","api-key","x-auth-token","x-access-token","x-refresh-token","x-session-id","x-session-token","x-secret","x-secret-key","x-private-key","x-csrf-token"];In=class{constructor(e,t=null,n=null){f(this,"key");f(this,"prev");f(this,"next");this.key=e,this.prev=t,this.next=n}},Ln=class{constructor(){f(this,"map",new Map);f(this,"head",null);f(this,"tail",null)}touch(e){let t=this.map.get(e);if(t)this._unlink(t),this._prepend(t);else{let n=new In(e);this.map.set(e,n),this._prepend(n)}}evict(){if(!this.tail)return null;let e=this.tail.key;return this._unlink(this.tail),this.map.delete(e),e}remove(e){let t=this.map.get(e);t&&(this._unlink(t),this.map.delete(e))}clear(){this.map.clear(),this.head=null,this.tail=null}get size(){return this.map.size}_prepend(e){e.prev=null,e.next=this.head,this.head&&(this.head.prev=e),this.head=e,this.tail||(this.tail=e)}_unlink(e){e.prev?e.prev.next=e.next:this.head=e.next,e.next?e.next.prev=e.prev:this.tail=e.prev,e.prev=null,e.next=null}},ae=class{constructor(e={}){f(this,"cfg");f(this,"storage");f(this,"lru",new Ln);f(this,"tagIndex",new Map);f(this,"swrInFlight",new Set);f(this,"stats",{hits:0,misses:0,staleHits:0,errors:0,evictions:0,totalEntries:0,totalSizeBytes:0,hitRate:0});this.cfg={maxEntries:e.maxEntries??500,maxSizeBytes:e.maxSizeBytes??50*1024*1024,maxBodySizeBytes:e.maxBodySizeBytes??5*1024*1024,defaultTtlMs:e.defaultTtlMs??6e4,maxAbsoluteAgeMs:e.maxAbsoluteAgeMs??10080*60*1e3,honorCacheControl:e.honorCacheControl??!0,cacheMethods:e.cacheMethods??["GET","HEAD"],cacheStatuses:e.cacheStatuses??[200,203,204,206,300,301,404,405,410,414,501],cacheKey:e.cacheKey??Al,storage:e.storage??new Se,namespace:e.namespace??""},(this.cfg.defaultTtlMs===1/0||this.cfg.defaultTtlMs>365*24*60*60*1e3)&&(console.warn(`[Kinetex Cache] Capping defaultTtlMs from ${this.cfg.defaultTtlMs}ms to 1 year (${365*24*60*60*1e3}ms)`),this.cfg.defaultTtlMs=365*24*60*60*1e3),this.storage=this.cfg.storage}async get(e){if(!this._isCacheable(e.method))return null;let t=await this._key(e),n=await this.storage.get(t);if(!n)return this.stats.misses++,this._updateHitRate(),null;if(n.varyKey!==null&&n.varyKey!==""){let i=Ui(n.response.headers.vary??n.response.headers.Vary??"",e.headers);if(i===null||i!==n.varyKey)return this.stats.misses++,this._updateHitRate(),null}let s=Date.now();return s-n.createdAt>this.cfg.maxAbsoluteAgeMs?(await this._delete(t,n),this.stats.misses++,this._updateHitRate(),null):n.expiresAt===1/0||n.expiresAt>s?(this.stats.hits++,this.lru.touch(t),this._updateHitRate(),{entry:Ar(n),stale:!1}):n.staleUntil>s?(this.stats.staleHits++,this.lru.touch(t),this._updateHitRate(),{entry:Ar(n),stale:!0}):n.staleOnError>s?(this.stats.staleHits++,this._updateHitRate(),{entry:Ar(n),stale:!0}):(await this._delete(t,n),this.stats.misses++,this._updateHitRate(),null)}async set(e,t,n={}){if(!this._isCacheable(e.method)||!this.cfg.cacheStatuses.includes(t.status))return!1;let{ttlMs:s,swrMs:o,staleOnError:i,shouldCache:a}=n.ttlMs!==void 0?{ttlMs:n.ttlMs,swrMs:0,staleOnError:0,shouldCache:!0}:$i(t,this.cfg.defaultTtlMs,this.cfg.honorCacheControl);if(!a&&!n.force)return!1;let l=Cl(t.body);if(l>this.cfg.maxBodySizeBytes)return!1;let c=Date.now(),u=this.cfg.maxAbsoluteAgeMs,h=Math.min(s===1/0?u:s,u);if(h<=0&&!n.force)return!1;let p=t.headers.vary??t.headers.Vary??null,d=p?Ui(p,e.headers):"";if(d===null)return!1;let y=n.tags??[],g={response:Hi(t),createdAt:c,expiresAt:h===1/0?1/0:c+h,staleUntil:c+h+o,staleOnError:c+h+i,etag:t.headers.etag??t.headers.ETag??null,lastModified:t.headers["last-modified"]??t.headers["Last-Modified"]??null,varyKey:d,tags:y,size:l+256},m=await this._key(e);if(await this._ensureCapacity(g.size),await this.storage.set(m,g)===!1)return!1;this.lru.touch(m),this.stats.totalEntries++,this.stats.totalSizeBytes+=g.size;for(let S of y){let _=this.tagIndex.get(S)??new Set;_.add(m),this.tagIndex.set(S,_)}return!0}buildConditionalHeaders(e){let t={};return e.etag&&(t["if-none-match"]=e.etag),e.lastModified&&(t["if-modified-since"]=e.lastModified),t}async revalidate(e,t){let n=await this._key(e),s=await this.storage.get(n);if(!s)return null;let o={...s.response.headers,...t.headers},i={...s.response,headers:o},{ttlMs:a,swrMs:l,staleOnError:c}=$i(i,this.cfg.defaultTtlMs,this.cfg.honorCacheControl),u=Date.now(),h=Math.min(a===1/0?this.cfg.maxAbsoluteAgeMs:a,this.cfg.maxAbsoluteAgeMs),p={...s,response:i,createdAt:u,expiresAt:h<=0?u:u+h,staleUntil:u+h+l,staleOnError:u+h+c,etag:o.etag??o.ETag??s.etag,lastModified:o["last-modified"]??o["Last-Modified"]??s.lastModified};return await this.storage.set(n,p),this.lru.touch(n),Ar(p)}async markSWRInFlight(e){let t=await this._key(e);return this.swrInFlight.has(t)?!1:(this.swrInFlight.add(t),!0)}async clearSWRInFlight(e){let t=await this._key(e);this.swrInFlight.delete(t)}async isSWRInFlight(e){let t=await this._key(e);return this.swrInFlight.has(t)}async delete(e){let t=await this._key(e),n=await this.storage.get(t);return n?(await this._delete(t,n),!0):!1}async invalidateByURL(e){let t=await this.storage.keys(),n=0;for(let s of t){let o=this.cfg.namespace?s.startsWith(this.cfg.namespace+":")?s.slice(this.cfg.namespace.length+1):null:s;if(o===null)continue;let i=o.indexOf(":");if(i===-1)continue;let a=o.slice(i+1),l=a.lastIndexOf(":auth:"),c=l!==-1?a.slice(0,l):a,u=e.endsWith("/")?e.slice(0,-1):e;if((c.endsWith("/")?c.slice(0,-1):c).startsWith(u)){let p=await this.storage.get(s);await this._delete(s,p??void 0),n++}}return n}async invalidateByTag(e){let t=this.tagIndex.get(e);if(!t||t.size===0)return 0;let n=0;for(let s of[...t]){let o=await this.storage.get(s);await this._delete(s,o??void 0),n++}return this.tagIndex.delete(e),n}async clear(){await this.storage.clear(),this.lru.clear(),this.tagIndex.clear(),this.swrInFlight.clear(),this.stats.totalEntries=0,this.stats.totalSizeBytes=0}async warm(e){for(let{req:t,res:n,tags:s}of e)await this.set(t,n,{...s!==void 0?{tags:s}:{},force:!0})}getStats(){return{...this.stats}}resetStats(){this.stats={hits:0,misses:0,staleHits:0,errors:0,evictions:0,totalEntries:0,totalSizeBytes:0,hitRate:0}}async serialize(){let e=await this.storage.keys(),t=[],n=Date.now();for(let s of e){let o=await this.storage.get(s);o&&(o.expiresAt!==1/0&&o.expiresAt<n||t.push([s,o]))}return JSON.stringify({version:1,entries:t})}async deserialize(e){let t=pe(e,{maxDepth:32});if(!t.success)throw new Error("[kinetex] HTTPCache.deserialize: invalid JSON");let n=t.value;if(typeof n!="object"||n===null||!("version"in n)||!("entries"in n)||n.version!==1||!Array.isArray(n.entries))throw new Error("[kinetex] HTTPCache.deserialize: unexpected format (expected {version:1, entries:[\u2026]})");let{entries:s}=n,o=Date.now();for(let i of s){if(!Array.isArray(i)||i.length!==2)continue;let[a,l]=i;if(typeof a!="string"||a.length===0||a.length>2048)continue;let c=null;try{typeof l=="object"&&l!==null&&typeof l.createdAt=="number"&&typeof l.expiresAt=="number"&&typeof l.staleUntil=="number"&&typeof l.staleOnError=="number"&&typeof l.size=="number"&&Array.isArray(l.tags)&&l.tags.every(p=>typeof p=="string")&&(c=l)}catch{}if(!c)continue;let u=l;if(!(u.expiresAt!==1/0&&u.expiresAt<o)&&!(o-u.createdAt>this.cfg.maxAbsoluteAgeMs)&&!(u.size>this.cfg.maxBodySizeBytes+512)){await this.storage.set(a,u),this.lru.touch(a),this.stats.totalEntries++,this.stats.totalSizeBytes+=u.size;for(let h of u.tags){let p=this.tagIndex.get(h)??new Set;p.add(a),this.tagIndex.set(h,p)}}}}async _key(e){let t=await this.cfg.cacheKey(e);return this.cfg.namespace?`${this.cfg.namespace}:${t}`:t}_isCacheable(e){return this.cfg.cacheMethods.includes(e.toUpperCase())}async _delete(e,t){if(await this.storage.delete(e),this.lru.remove(e),t){this.stats.totalEntries=Math.max(0,this.stats.totalEntries-1),this.stats.totalSizeBytes=Math.max(0,this.stats.totalSizeBytes-t.size);for(let n of t.tags)this.tagIndex.get(n)?.delete(e)}else for(let n of this.tagIndex.values())n.delete(e)}async _ensureCapacity(e){for(;this.stats.totalEntries>=this.cfg.maxEntries;){let t=this.lru.evict();if(!t)break;let n=await this.storage.get(t);await this._delete(t,n??void 0),this.stats.evictions++}for(;this.stats.totalSizeBytes+e>this.cfg.maxSizeBytes;){let t=this.lru.evict();if(!t)break;let n=await this.storage.get(t);await this._delete(t,n??void 0),this.stats.evictions++}}_updateHitRate(){let e=this.stats.hits+this.stats.misses+this.stats.staleHits;this.stats.hitRate=e>0?(this.stats.hits+this.stats.staleHits)/e:0}}});function Ql(r){if(typeof atob<"u")return atob(r);let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t="";r=r.replace(/=+$/,"");for(let n=0;n<r.length;n+=4){let s=e.indexOf(r[n]),o=n+1<r.length?e.indexOf(r[n+1]):0,i=n+2<r.length?e.indexOf(r[n+2]):0,a=n+3<r.length?e.indexOf(r[n+3]):0;t+=String.fromCharCode(s<<2|o>>4),n+2<r.length&&(t+=String.fromCharCode((o&15)<<4|i>>2)),n+3<r.length&&(t+=String.fromCharCode((i&3)<<6|a))}return t}function aa(r){if(typeof btoa<"u")return btoa(r);let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",t="";for(let n=0;n<r.length;n+=3){let s=r.charCodeAt(n),o=n+1<r.length?r.charCodeAt(n+1):0,i=n+2<r.length?r.charCodeAt(n+2):0;t+=e[s>>2],t+=e[(s&3)<<4|o>>4],t+=n+1<r.length?e[(o&15)<<2|i>>6]:"=",t+=n+2<r.length?e[i&63]:"="}return t}function X(r){let e=new Map;for(let t of r.split(";")){let n=t.trim();if(!n)continue;let s=n.indexOf("=");if(s===-1)e.set(n.toLowerCase(),"");else{let o=n.slice(0,s).trim().toLowerCase(),i=n.slice(s+1).trim();i.startsWith('"')&&i.endsWith('"')&&(i=i.slice(1,-1)),e.set(o,i)}}return e}function $r(r){return r.split(",").map(e=>{let t=e.trim().split(";"),n=(t[0]??"").trim(),s=1,o=new Map;for(let i=1;i<t.length;i++){let a=t[i].trim(),l=a.indexOf("=");if(l===-1)continue;let c=a.slice(0,l).trim().toLowerCase(),u=a.slice(l+1).trim();c==="q"?s=parseFloat(u)||0:o.set(c,u)}return{value:n,quality:s,params:o}}).filter(e=>e.value!=="").sort((e,t)=>t.quality-e.quality)}function Xl(r){let e=r.match(/^([A-Za-z0-9_-]+)'([A-Za-z0-9_-]*)'(.+)$/);if(!e)return null;try{return decodeURIComponent(e[3])}catch{return null}}function ys(r){if(!r)return null;let e=r.indexOf(";"),t=e===-1?r.trim():r.slice(0,e).trim(),n=t.indexOf("/");if(n===-1)return null;let s=t.slice(0,n).toLowerCase(),o=t.slice(n+1).toLowerCase();if(!s||!o)return null;let i=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;if(!i.test(s)||!i.test(o))return null;let a=e===-1?new Map:X(r.slice(e));return{mediaType:`${s}/${o}`,type:s,subtype:o,charset:a.get("charset")??null,boundary:a.get("boundary")??null,params:a}}function ws(r){let e=r.mediaType;if(r.charset&&(e+=`; charset=${r.charset}`),r.boundary&&(e+=`; boundary=${r.boundary}`),r.params&&r.params instanceof Map)r.params.forEach((t,n)=>{n==="charset"||n==="boundary"||(e+=`; ${n}=${t.includes(" ")?`"${t}"`:t}`)});else if(r.params&&typeof r.params=="object")for(let[t,n]of Object.entries(r.params))t==="charset"||t==="boundary"||(e+=`; ${t}=${n.includes(" ")?`"${n}"`:n}`);return e}function bs(r){if(!r)return null;let e=r.indexOf(";"),t=(e===-1?r:r.slice(0,e)).trim().toLowerCase(),n=e===-1?new Map:X(r.slice(e)),s=null,o=n.get("filename*");o&&(s=Xl(o)),s===null&&(s=n.get("filename")??null);let i=n.get("name")??null;return{type:t,filename:s,name:i,params:n}}function xs(r){let e=r.type;if(r.name&&(e+=`; name="${r.name}"`),r.filename){e+=`; filename="${r.filename}"`;let t=encodeURIComponent(r.filename);t!==r.filename&&(e+=`; filename*=UTF-8''${t}`)}return e}function Yl(r){let e=[],t="",n=!1;for(let s of r){if(s==='"'&&(n=!n),s===","&&!n){e.push(t),t="";continue}t+=s}return e.push(t),e}function _s(r){let e={noCache:!1,noStore:!1,noTransform:!1,onlyIfCached:!1,maxAge:null,maxStale:null,minFresh:null,staleIfError:null,public:!1,private:!1,mustRevalidate:!1,proxyRevalidate:!1,sMaxAge:null,immutable:!1,mustUnderstand:!1,staleWhileRevalidate:null,unknown:new Map};for(let t of Yl(r)){let n=t.trim(),s=n.indexOf("="),o=(s===-1?n:n.slice(0,s)).trim().toLowerCase(),i=s===-1?null:n.slice(s+1).trim().replace(/^"|"$/g,""),a=i!==null?parseInt(i,10):null;switch(o){case"no-cache":e.noCache=!0;break;case"no-store":e.noStore=!0;break;case"no-transform":e.noTransform=!0;break;case"only-if-cached":e.onlyIfCached=!0;break;case"public":e.public=!0;break;case"must-revalidate":e.mustRevalidate=!0;break;case"proxy-revalidate":e.proxyRevalidate=!0;break;case"immutable":e.immutable=!0;break;case"must-understand":e.mustUnderstand=!0;break;case"max-age":e.maxAge=a;break;case"max-stale":e.maxStale=a??1/0;break;case"min-fresh":e.minFresh=a;break;case"s-maxage":e.sMaxAge=a;break;case"stale-if-error":e.staleIfError=a;break;case"stale-while-revalidate":e.staleWhileRevalidate=a;break;case"private":e.private=i?i.split(",").map(l=>l.trim()):!0;break;default:e.unknown.set(o,i??!0)}}return e}function Ss(r){let e=[];if(r.noCache&&e.push("no-cache"),r.noStore&&e.push("no-store"),r.noTransform&&e.push("no-transform"),r.onlyIfCached&&e.push("only-if-cached"),r.public&&e.push("public"),r.mustRevalidate&&e.push("must-revalidate"),r.proxyRevalidate&&e.push("proxy-revalidate"),r.immutable&&e.push("immutable"),r.mustUnderstand&&e.push("must-understand"),r.maxAge!=null&&e.push(`max-age=${r.maxAge}`),r.maxStale!=null&&e.push(r.maxStale===1/0?"max-stale":`max-stale=${r.maxStale}`),r.minFresh!=null&&e.push(`min-fresh=${r.minFresh}`),r.sMaxAge!=null&&e.push(`s-maxage=${r.sMaxAge}`),r.staleIfError!=null&&e.push(`stale-if-error=${r.staleIfError}`),r.staleWhileRevalidate!=null&&e.push(`stale-while-revalidate=${r.staleWhileRevalidate}`),r.private&&e.push(Array.isArray(r.private)?`private=${r.private.join(", ")}`:"private"),r.unknown)for(let[t,n]of r.unknown)e.push(n===!0?t:`${t}=${n}`);return e.join(", ")}function Dr(r){if(!r)return null;let e=r.indexOf(" ");if(e===-1)return{scheme:r.toLowerCase(),token:null,params:new Map,basic:null};let t=r.slice(0,e).toLowerCase(),n=r.slice(e+1).trim(),s=new Map,o=null,i=null;if(t==="basic"){o=n;try{let a=Ql(n),l=a.indexOf(":");l!==-1&&(i={username:a.slice(0,l),password:a.slice(l+1)})}catch{}}else if(t==="bearer"||t==="token")o=n;else if(n.includes("="))for(let a of n.split(",")){let l=a.trim(),c=l.indexOf("=");if(c===-1)continue;let u=l.slice(0,c).trim().toLowerCase(),h=l.slice(c+1).trim();h.startsWith('"')&&h.endsWith('"')&&(h=h.slice(1,-1)),s.set(u,h)}else o=n;return{scheme:t,token:o,params:s,basic:i}}function Nr(r){let e=[],t=[],n="",s=!1;for(let o=0;o<r.length;o++){let i=r[o];i==='"'&&(o===0||r[o-1]!=="\\")&&(s=!s),i===","&&!s?(t.push(n.trim()),n=""):n+=i}n.trim()&&t.push(n.trim());for(let o of t){if(!o)continue;let i=o.indexOf(" "),a=(i===-1?o:o.slice(0,i)).toLowerCase(),l=i===-1?"":o.slice(i+1),c=X(l);e.push({scheme:a,realm:c.get("realm")??null,params:c})}return e}function ha(r){return`Bearer ${r}`}function fa(r,e){return`Basic ${aa(`${r}:${e}`)}`}function Hr(r){return $r(r)}function Es(r){return $r(r)}function Ts(r){return $r(r)}function da(r){return r.trim()?$r(r):[]}function pa(r,e){let t=Hr(r);for(let{value:n}of t){if(n==="*/*")return e[0]??null;let[s]=n.split("/");if(n.endsWith("/*")){let o=e.find(i=>i.startsWith(s+"/"));if(o)return o}if(e.includes(n))return n}return null}function Rs(r){let e=r.indexOf("=");if(e===-1)return null;let t=r.slice(0,e).trim().toLowerCase(),n=r.slice(e+1).split(",").map(s=>{let o=s.trim(),i=o.indexOf("-");if(i===-1)return null;let a=o.slice(0,i).trim(),l=o.slice(i+1).trim();return{start:a===""?null:parseInt(a,10),end:l===""?null:parseInt(l,10)}}).filter(s=>s!==null);return{unit:t,ranges:n}}function ks(r){let e=r.match(/^(\S+)\s+(\*|\d+-\d+)\/(\*|\d+)$/);if(!e)return null;let t=e[1].toLowerCase(),n=e[2],s=e[3]==="*"?null:parseInt(e[3],10);if(n==="*")return{unit:t,start:null,end:null,total:s};let o=n.indexOf("-");return{unit:t,start:parseInt(n.slice(0,o),10),end:parseInt(n.slice(o+1),10),total:s}}function Ur(r){let e=[],t=r.split(/,\s*(?=<)/);for(let n of t){let s=n.trim(),o=s.indexOf(">");if(!s.startsWith("<")||o===-1)continue;let i=s.slice(1,o),a=s.slice(o+1),l=X(a);e.push({uri:i,rel:l.get("rel")??null,type:l.get("type")??null,hreflang:l.get("hreflang")??null,title:l.get("title")??null,media:l.get("media")??null,params:l})}return e}function ma(r){return r.map(e=>{let t=`<${e.uri}>`;e.rel&&(t+=`; rel="${e.rel}"`),e.type&&(t+=`; type="${e.type}"`),e.hreflang&&(t+=`; hreflang="${e.hreflang}"`),e.title&&(t+=`; title="${e.title}"`),e.media&&(t+=`; media="${e.media}"`);let n=e.params instanceof Map?[...e.params.entries()]:Object.entries(e.params??{});for(let[s,o]of n)["rel","type","hreflang","title","media"].includes(s)||(t+=`; ${s}="${o}"`);return t}).join(", ")}function As(r){let e={by:null,for:[],host:null,proto:null};for(let t of r.split(",")){let n=X(t.trim());n.has("by")&&(e.by=n.get("by")),n.has("for")&&e.for.push(n.get("for")),n.has("host")&&(e.host=n.get("host")),n.has("proto")&&(e.proto=n.get("proto"))}return e}function jr(r){let e=r.get(b.Forwarded);if(e)return As(e);let t=r.get(b.XForwardedFor),n=r.get(b.XForwardedHost),s=r.get(b.XForwardedProto);return{by:null,for:t?t.split(",").map(o=>o.trim()):[],host:n??null,proto:s??null}}function Cs(r,e={}){let t=Math.max(0,Math.trunc(e.trustedHops??0)),n=jr(r);if(n.for.length>0){let s=n.for,o=t===0?0:s.length-t,i=s[o]??s[0];return ia(i)}return ia(r.get(b.XRealIP)??"")||null}function ia(r){let e=r.trim();if(e.startsWith('"')&&e.endsWith('"')&&e.length>=2&&(e=e.slice(1,-1)),e.startsWith("[")){let n=e.indexOf("]");if(n!==-1)return e.slice(1,n)}let t=/^(.*):\d+$/.exec(e);return t&&(t[1]??"").includes(".")?t[1]:e}function vs(r){let e=r.trim();if(/^\d+$/.test(e))return{date:null,delay:parseInt(e,10)};let t=Date.parse(e);return isNaN(t)?{date:null,delay:null}:{date:new Date(t),delay:null}}function ga(r){let e=[],t="",n=!1;for(let s=0;s<r.length;s++){let o=r[s];o==='"'&&(s===0||r[s-1]!=="\\")&&(n=!n),o===","&&!n?(t.trim()&&e.push(t.trim()),t=""):t+=o}return t.trim()&&e.push(t.trim()),e.map(s=>{let o=s.match(/^(\d{3})\s+(\S+)\s+["']?([^"']+)["']?\s*(.*)$/);if(!o)return null;let i=o[1],a=o[2],l=o[3],c=o[4]??"",u=parseInt(i,10),h=(()=>{let p=c.trim().replace(/^"|"$/g,"");if(p){let d=Date.parse(p);if(!isNaN(d))return new Date(d)}})();return{code:u,agent:a,text:l,...h!==void 0?{date:h}:{}}}).filter(s=>s!==null)}function Ps(r){let e=X(";"+r),t=e.get("max-age");if(t===void 0)return null;let n=parseInt(t,10);return isNaN(n)?null:{maxAge:n,includeSubDomains:e.has("includesubdomains"),preload:e.has("preload")}}function Br(r){let e=`max-age=${r.maxAge}`;return r.includeSubDomains&&(e+="; includeSubDomains"),r.preload&&(e+="; preload"),e}function Is(r){let e=new Map;for(let t of r.split(";")){let n=t.trim().split(/\s+/);if(n.length===0||!n[0])continue;let s=n[0].toLowerCase(),o=n.slice(1);e.set(s,o)}return e}function zr(r){let e=[];for(let[t,n]of r)e.push(n.length>0?`${t} ${n.join(" ")}`:t);return e.join("; ")}function Ls(r){return r.split(",").map(e=>{let t=e.trim().split(";"),n=(t[0]??"").trim(),s=X(t.slice(1).join(";")),o=s.get("dur");return{name:n,duration:o!==void 0?parseFloat(o):null,description:s.get("desc")??null}}).filter(e=>e.name!=="")}function ya(r){return r.map(e=>{let t=e.name;return e.duration!==null&&(t+=`;dur=${e.duration}`),e.description!==null&&(t+=`;desc="${e.description}"`),t}).join(", ")}function Ms(r){if(r.trim()==="clear")return[];let e=[];for(let t of r.split(",")){let n=t.trim(),s=n.indexOf("=");if(s===-1)continue;let o=n.slice(0,s).trim().replace(/^"|"$/g,""),i=n.slice(s+1).trim(),a=i.indexOf(";"),l=a!==-1?X(";"+i.slice(a+1)):new Map,c=(a!==-1?i.slice(0,a):i).replace(/^"|"$/g,""),u,h;if(c.startsWith("[")){let p=c.indexOf("]");if(p===-1)u=c,h=443;else{u=c.slice(0,p+1);let d=c.slice(p+2);h=d?parseInt(d,10):443}}else{let p=c.lastIndexOf(":");u=p===-1?c:c.slice(0,p),h=p===-1?443:parseInt(c.slice(p+1),10)}e.push({protocol:o,host:u,port:h,maxAge:l.has("ma")?parseInt(l.get("ma"),10):null,persist:l.has("persist")&&l.get("persist")==="1"})}return e}function wa(r){let e=new le;for(let[t,n]of Object.entries(r))if(n!==void 0)if(Array.isArray(n))for(let s of n)e.append(t,s);else e.append(t,n);return e}function ba(r){let e={};return r.forEach((t,n)=>{let o=r.getAll(n);e[n]=o.length===1?o[0]:[...o]}),e}function xa(r){return new le(r)}function _a(r={}){let e=new le;if(r.hsts!==!1){let t=r.hsts===!0||r.hsts===void 0?{maxAge:31536e3,includeSubDomains:!0,preload:!1}:r.hsts;e.set(b.StrictTransportSecurity,Br(t))}if(r.csp){let t=typeof r.csp=="string"?r.csp:zr(r.csp);e.set(b.ContentSecurityPolicy,t)}return e.set(b.XFrameOptions,r.frameOptions??"DENY"),r.noSniff!==!1&&e.set(b.XContentTypeOptions,"nosniff"),e.set(b.ReferrerPolicy,r.referrer??"strict-origin-when-cross-origin"),r.permissions&&e.set(b.PermissionsPolicy,r.permissions),r.coep&&e.set(b.CrossOriginEmbedderPolicy,r.coep),r.coop&&e.set(b.CrossOriginOpenerPolicy,r.coop),r.corp&&e.set(b.CrossOriginResourcePolicy,r.corp),e}function Sa(r){let e=new le,t=Array.isArray(r.origin)?r.origin.join(", "):r.origin;return e.set(b.AccessControlAllowOrigin,t),r.methods?.length&&e.set(b.AccessControlAllowMethods,r.methods.join(", ")),r.allowHeaders?.length&&e.set(b.AccessControlAllowHeaders,r.allowHeaders.join(", ")),r.exposeHeaders?.length&&e.set(b.AccessControlExposeHeaders,r.exposeHeaders.join(", ")),r.credentials&&e.set(b.AccessControlAllowCredentials,"true"),r.maxAge!=null&&e.set(b.AccessControlMaxAge,String(r.maxAge)),e}function Ea(r){return new Ee(r)}function Ta(r){return new Ee(r,"request")}function Ra(r){return new Ee(r,"response")}function ka(r){return new Ee(r,"immutable")}var ze,b,ms,gs,bt,oa,Gl,U,ca,fs,ds,ps,la,ua,le,Ee,Jt=F(()=>{"use strict";B();b={ContentType:"content-type",ContentLength:"content-length",ContentEncoding:"content-encoding",ContentLanguage:"content-language",ContentLocation:"content-location",ContentDisposition:"content-disposition",ContentRange:"content-range",ContentMD5:"content-md5",TransferEncoding:"transfer-encoding",TrailingHeader:"trailer",CacheControl:"cache-control",Pragma:"pragma",Expires:"expires",Age:"age",ETag:"etag",LastModified:"last-modified",Vary:"vary",IfMatch:"if-match",IfNoneMatch:"if-none-match",IfModifiedSince:"if-modified-since",IfUnmodifiedSince:"if-unmodified-since",IfRange:"if-range",Host:"host",Origin:"origin",Referer:"referer",UserAgent:"user-agent",From:"from",TE:"te",Expect:"expect",MaxForwards:"max-forwards",Accept:"accept",AcceptEncoding:"accept-encoding",AcceptLanguage:"accept-language",AcceptCharset:"accept-charset",AcceptRanges:"accept-ranges",AcceptPatch:"accept-patch",Authorization:"authorization",ProxyAuthorization:"proxy-authorization",WWWAuthenticate:"www-authenticate",ProxyAuthenticate:"proxy-authenticate",AuthenticationInfo:"authentication-info",Range:"range",Cookie:"cookie",SetCookie:"set-cookie",Location:"location",Via:"via",Forwarded:"forwarded",XForwardedFor:"x-forwarded-for",XForwardedHost:"x-forwarded-host",XForwardedProto:"x-forwarded-proto",XForwardedPort:"x-forwarded-port",XRealIP:"x-real-ip",Connection:"connection",KeepAlive:"keep-alive",Upgrade:"upgrade",AccessControlAllowOrigin:"access-control-allow-origin",AccessControlAllowMethods:"access-control-allow-methods",AccessControlAllowHeaders:"access-control-allow-headers",AccessControlExposeHeaders:"access-control-expose-headers",AccessControlMaxAge:"access-control-max-age",AccessControlAllowCredentials:"access-control-allow-credentials",AccessControlRequestMethod:"access-control-request-method",AccessControlRequestHeaders:"access-control-request-headers",Date:"date",RetryAfter:"retry-after",Allow:"allow",Server:"server",ServerTiming:"server-timing",TimingAllowOrigin:"timing-allow-origin",SecWebSocketKey:"sec-websocket-key",SecWebSocketAccept:"sec-websocket-accept",SecWebSocketProtocol:"sec-websocket-protocol",SecWebSocketVersion:"sec-websocket-version",SecWebSocketExtensions:"sec-websocket-extensions",SecFetchSite:"sec-fetch-site",SecFetchMode:"sec-fetch-mode",SecFetchUser:"sec-fetch-user",SecFetchDest:"sec-fetch-dest",StrictTransportSecurity:"strict-transport-security",ContentSecurityPolicy:"content-security-policy",ContentSecurityPolicyRO:"content-security-policy-report-only",XContentTypeOptions:"x-content-type-options",XFrameOptions:"x-frame-options",XXSSProtection:"x-xss-protection",ReferrerPolicy:"referrer-policy",PermissionsPolicy:"permissions-policy",CrossOriginOpenerPolicy:"cross-origin-opener-policy",CrossOriginEmbedderPolicy:"cross-origin-embedder-policy",CrossOriginResourcePolicy:"cross-origin-resource-policy",NEL:"nel",ReportTo:"report-to",ReportingEndpoints:"reporting-endpoints",Link:"link",AltSvc:"alt-svc",AltUsed:"alt-used",Priority:"priority",EarlyData:"early-data",PushPolicy:"push-policy",AcceptPushPolicy:"accept-push-policy",XRequestID:"x-request-id",XCorrelationID:"x-correlation-id",XRateLimitLimit:"x-ratelimit-limit",XRateLimitRemaining:"x-ratelimit-remaining",XRateLimitReset:"x-ratelimit-reset",XPoweredBy:"x-powered-by",XRequestedWith:"x-requested-with"};ms=Ue,gs=xe,bt=new Set(["set-cookie","www-authenticate","proxy-authenticate"]),oa=new Set(["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"]),Gl=new Set(["set-cookie","set-cookie2"]),le=class{constructor(e,t="none"){ti(this,U);f(this,"map",new Map);f(this,"guard");this.guard=t,e!=null&&oe(this,U,ca).call(this,e)}append(e,t){oe(this,U,ps).call(this,e);let n=oe(this,U,fs).call(this,e),s=oe(this,U,ds).call(this,t),o=this.map.get(n);o?o.values.push(s):this.map.set(n,{name:e,values:[s]})}delete(e){oe(this,U,ua).call(this,e),this.map.delete(e.toLowerCase())}get(e){let t=this.map.get(e.toLowerCase());return t?bt.has(e.toLowerCase())?t.values[0]??null:t.values.join(", "):null}getAll(e){return[...this.map.get(e.toLowerCase())?.values??[]]}has(e){return this.map.has(e.toLowerCase())}set(e,t){oe(this,U,la).call(this,e);let n=oe(this,U,fs).call(this,e),s=oe(this,U,ds).call(this,t);this.map.set(n,{name:e,values:[s]})}forEach(e,t){for(let[n,s]of this.map){let o=bt.has(n)?s.values:[s.values.join(", ")];for(let i of o)e.call(t,i,n,this)}}keys(){return this.map.keys()}*values(){for(let[e,t]of this.map)if(bt.has(e))for(let n of t.values)yield n;else yield t.values.join(", ")}*entries(){for(let[e,t]of this.map)if(bt.has(e))for(let n of t.values)yield[e,n];else yield[e,t.values.join(", ")]}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"HttpHeaders"}toObject(){let e={};for(let[t,n]of this.map){let s=n.values;e[t]=s.length===1?s[0]:[...s]}return e}toFlatObject(){let e={};for(let[t,n]of this.map)e[t]=bt.has(t)?n.values[0]??"":n.values.join(", ");return e}toWebHeaders(){if(typeof Headers>"u")throw new Error("WHATWG Headers is not available in this runtime");let e=new Headers;for(let[t,n]of this.map)for(let s of n.values)e.append(t,s);return e}toHTTP1String(){let e=[];for(let[,t]of this.map)for(let n of t.values)e.push(`${t.name}: ${n}`);return e.join(`\r
3
+ `)}clone(e){return new ze(this,e??this.guard)}freeze(){return this.clone("immutable")}merge(e,t={}){let n=e instanceof ze?e:new ze(e);for(let[s,o]of n.map)if(t.append)for(let i of o.values)this.append(s,i);else this.map.set(s,{name:o.name,values:[...o.values]});return this}pick(...e){let t=new ze;for(let n of e){let s=n.toLowerCase(),o=this.map.get(s);o&&t.map.set(s,{name:o.name,values:[...o.values]})}return t}omit(...e){let t=this.clone();for(let n of e)t.map.delete(n.toLowerCase());return t}redact(...e){let t=this.clone();for(let n of e){let s=n.toLowerCase(),o=t.map.get(s);o&&t.map.set(s,{name:o.name,values:o.values.map(()=>"**REDACTED**")})}return t}diff(e){let t=new ze;for(let[n,s]of e.map){let o=this.get(n),i=bt.has(n)?s.values[0]??"":s.values.join(", ");o!==i&&t.map.set(n,{name:s.name,values:[...s.values]})}return t}get size(){return this.map.size}};U=new WeakSet,ca=function(e){if(e instanceof ze){for(let[t,n]of e.map)this.map.set(t,{name:n.name,values:[...n.values]});return}if(typeof Headers<"u"&&e instanceof Headers){e.forEach((t,n)=>this.append(n,t));return}if(Array.isArray(e)){for(let t of e){if(!Array.isArray(t)||t.length<2)throw new TypeError("Headers init sequence must contain [name, value] pairs");this.append(String(t[0]),String(t[1]))}return}if(typeof e=="object")for(let[t,n]of Object.entries(e))if(Array.isArray(n))for(let s of n)this.append(t,s);else this.append(t,String(n))},fs=function(e){if(!ms(e))throw new TypeError(`Invalid header name: "${e}"`);return e.toLowerCase()},ds=function(e){let t=e.trim();if(!gs(t))throw new TypeError(`Invalid header value for: "${t}"`);return t},ps=function(e){if(this.guard==="immutable")throw new TypeError("Headers are immutable");if(this.guard==="request"&&oa.has(e.toLowerCase()))throw new TypeError(`Header "${e}" is forbidden for request guard`);if(this.guard==="response"&&Gl.has(e.toLowerCase()))throw new TypeError(`Header "${e}" is forbidden for response guard`)},la=function(e){oe(this,U,ps).call(this,e)},ua=function(e){if(this.guard==="immutable")throw new TypeError("Headers are immutable");if(this.guard==="request"&&oa.has(e.toLowerCase()))throw new TypeError(`Header "${e}" is forbidden for request guard`)};ze=le;Ee=class extends le{get contentType(){let e=this.get(b.ContentType);return e?ys(e):null}set contentType(e){if(e===null){this.delete(b.ContentType);return}if(typeof e=="string"){this.set(b.ContentType,e);return}this.set(b.ContentType,ws(e))}get contentLength(){let e=this.get(b.ContentLength);if(!e)return null;let t=parseInt(e,10);return isNaN(t)?null:t}set contentLength(e){if(e===null){this.delete(b.ContentLength);return}this.set(b.ContentLength,String(e))}get contentDisposition(){let e=this.get(b.ContentDisposition);return e?bs(e):null}set contentDisposition(e){if(e===null){this.delete(b.ContentDisposition);return}if(typeof e=="string"){this.set(b.ContentDisposition,e);return}this.set(b.ContentDisposition,xs(e))}get cacheControl(){let e=this.get(b.CacheControl);return e?_s(e):null}set cacheControl(e){if(e===null){this.delete(b.CacheControl);return}if(typeof e=="string"){this.set(b.CacheControl,e);return}this.set(b.CacheControl,Ss(e))}get authorization(){let e=this.get(b.Authorization);return e?Dr(e):null}set authorization(e){if(e===null){this.delete(b.Authorization);return}this.set(b.Authorization,e)}get accept(){return Hr(this.get(b.Accept)??"")}get acceptEncoding(){return Es(this.get(b.AcceptEncoding)??"")}get acceptLanguage(){return Ts(this.get(b.AcceptLanguage)??"")}get range(){let e=this.get(b.Range);return e?Rs(e):null}get contentRange(){let e=this.get(b.ContentRange);return e?ks(e):null}get etag(){return this.get(b.ETag)}set etag(e){if(e===null){this.delete(b.ETag);return}let t=e.startsWith('"')||e.startsWith('W/"')?e:`"${e}"`;this.set(b.ETag,t)}get links(){let e=this.get(b.Link);return e?Ur(e):[]}get retryAfter(){let e=this.get(b.RetryAfter);return e?vs(e):null}get hsts(){let e=this.get(b.StrictTransportSecurity);return e?Ps(e):null}set hsts(e){if(e===null){this.delete(b.StrictTransportSecurity);return}this.set(b.StrictTransportSecurity,Br(e))}get csp(){let e=this.get(b.ContentSecurityPolicy);return e?Is(e):null}set csp(e){if(e===null){this.delete(b.ContentSecurityPolicy);return}if(typeof e=="string"){this.set(b.ContentSecurityPolicy,e);return}this.set(b.ContentSecurityPolicy,zr(e))}get serverTiming(){let e=this.get(b.ServerTiming);return e?Ls(e):[]}get clientIP(){return Cs(this)}get forwarded(){return jr(this)}get host(){return this.get(b.Host)}get origin(){return this.get(b.Origin)}get userAgent(){return this.get(b.UserAgent)}get location(){return this.get(b.Location)}get date(){let e=this.get(b.Date);if(!e)return null;let t=Date.parse(e);return isNaN(t)?null:new Date(t)}get age(){let e=this.get(b.Age);if(!e)return null;let t=parseInt(e,10);return isNaN(t)?null:t}get vary(){let e=this.get(b.Vary);return e?e.split(",").map(t=>t.trim().toLowerCase()):[]}get xRequestID(){return this.get(b.XRequestID)}get xCorrelationID(){return this.get(b.XCorrelationID)}get xPoweredBy(){return this.get(b.XPoweredBy)}get xRequestedWith(){return this.get(b.XRequestedWith)}get xRateLimitLimit(){let e=this.get(b.XRateLimitLimit);if(!e)return null;let t=parseInt(e,10);return isNaN(t)?null:t}get xRateLimitRemaining(){let e=this.get(b.XRateLimitRemaining);if(!e)return null;let t=parseInt(e,10);return isNaN(t)?null:t}get xRateLimitReset(){let e=this.get(b.XRateLimitReset);if(!e)return null;let t=parseInt(e,10);return isNaN(t)?null:t}get secFetchSite(){return this.get(b.SecFetchSite)}get secFetchMode(){return this.get(b.SecFetchMode)}get secFetchUser(){return this.get(b.SecFetchUser)}get secFetchDest(){return this.get(b.SecFetchDest)}get earlyData(){let e=this.get(b.EarlyData);if(!e)return null;let t=parseInt(e,10);return isNaN(t)?null:t}get priority(){return this.get(b.Priority)}get allow(){return this.get(b.Allow)}get server(){return this.get(b.Server)}get acceptRanges(){return this.get("accept-ranges")}get lastModified(){let e=this.get("last-modified");if(!e)return null;let t=Date.parse(e);return isNaN(t)?null:new Date(t)}get expires(){let e=this.get("expires");if(!e)return null;let t=Date.parse(e);return isNaN(t)?null:new Date(t)}get contentEncoding(){return this.get("content-encoding")}get contentLanguage(){return this.get("content-language")}get contentLocation(){return this.get("content-location")}get link(){let e=this.get(b.Link);return e?Ur(e)[0]??null:null}get altSvc(){let e=this.get(b.AltSvc);return e?Ms(e):[]}get wwwAuthenticate(){let e=this.get("www-authenticate");return e?Nr(e):null}set wwwAuthenticate(e){if(e===null){this.delete("www-authenticate");return}let t=e.map(n=>{let o=[...n.params].filter(([a])=>a!=="realm").map(([a,l])=>`${a}=${l}`).join(", "),i=n.scheme;return n.realm&&(i+=` realm="${n.realm}"`),o&&(i+=`; ${o}`),i}).join(", ");this.set("www-authenticate",t)}get proxyAuthenticate(){let e=this.get(b.ProxyAuthenticate);return e?Nr(e):null}set proxyAuthenticate(e){if(e===null){this.delete(b.ProxyAuthenticate);return}let t=e.map(n=>{let o=[...n.params].filter(([a])=>a!=="realm").map(([a,l])=>`${a}=${l}`).join(", "),i=n.scheme;return n.realm&&(i+=` realm="${n.realm}"`),o&&(i+=`; ${o}`),i}).join(", ");this.set(b.ProxyAuthenticate,t)}get proxyAuthorization(){let e=this.get(b.ProxyAuthorization);return e?Dr(e):null}set proxyAuthorization(e){if(e===null){this.delete(b.ProxyAuthorization);return}if(typeof e=="string"){this.set(b.ProxyAuthorization,e);return}e.basic?this.set(b.ProxyAuthorization,`Basic ${aa(`${e.basic.username}:${e.basic.password}`)}`):e.token?this.set(b.ProxyAuthorization,`${e.scheme} ${e.token}`):this.set(b.ProxyAuthorization,e.scheme)}get setCookies(){return this.getAll(b.SetCookie)}get accessControlAllowOrigin(){return this.get(b.AccessControlAllowOrigin)}get accessControlAllowMethods(){return this.get(b.AccessControlAllowMethods)}get accessControlAllowHeaders(){return this.get(b.AccessControlAllowHeaders)}get accessControlMaxAge(){let e=this.get(b.AccessControlMaxAge);if(!e)return null;let t=parseInt(e,10);return isNaN(t)?null:t}get accessControlCredentials(){let e=this.get(b.AccessControlAllowCredentials);return e==="true"?!0:e==="false"?!1:null}}});var va={};de(va,{ContentTypeError:()=>Re,HTTPResponseError:()=>qe,ResponseCache:()=>Os,ResponseDecodeError:()=>Fe,ResponseSizeLimitError:()=>Te,applyDecompression:()=>Xt,assertOk:()=>$s,assertOkJSON:()=>Hs,createLimitedReader:()=>Fs,decodeBody:()=>Gt,decompressStream:()=>Wr,diffResponses:()=>js,extractServerTiming:()=>zs,isBinary:()=>Ns,isJSON:()=>Qt,isText:()=>qr,normalizeHeaders:()=>ue,normalizeResponse:()=>Ds,parseContentType:()=>ke,parseMultipartResponse:()=>Gr,readBlob:()=>Jr,readBodyWithLimit:()=>Fr,readBytes:()=>Yt,readFormData:()=>Bs,readJSON:()=>Kr,readJSONStream:()=>Us,readNDJSON:()=>Qr,readStream:()=>xt,readText:()=>Vr});function ue(r){return it(r)}function Ds(r){return{status:r.status,statusText:r.statusText,headers:ue(r.headers),url:r.url,redirected:r.redirected,ok:r.ok,bodyUsed:r.bodyUsed}}function ke(r){if(!r||r.length>eu)return null;let e=ys(r);return e?{mediaType:e.mediaType,type:e.type,subtype:e.subtype,charset:e.charset,boundary:e.boundary}:null}function Qt(r){if(!r)return!1;let e=ke(r);return e?e.mediaType==="application/json"||e.subtype.endsWith("+json"):!1}function qr(r){return r?ke(r)?.type==="text":!1}function Ns(r){return!qr(r)&&!Qt(r)}async function Fr(r,e,t,n){let s=t.onExceed??"throw",o=r.getReader(),i=[],a=0;try{for(;;){if(n?.aborted)throw await o.cancel("aborted"),new DOMException("Response reading aborted","AbortError");let{done:l,value:c}=await o.read();if(l)break;let u=a+c.byteLength;if(u>t.maxBytes){if(t.onExceedCallback?.(u,t.maxBytes),s==="throw")throw await o.cancel("size limit exceeded"),new Te(u,t.maxBytes,e);if(s==="abort"){await o.cancel("size limit exceeded");break}if(s==="truncate"){let h=t.maxBytes-a;h>0&&(i.push(c.slice(0,h)),a+=h);break}}i.push(c),a+=c.byteLength}}finally{o.releaseLock()}return Ca(i)}function ru(r){return r?tu[r.toLowerCase()]??"utf-8":"utf-8"}function nu(r){return r[0]===239&&r[1]===187&&r[2]===191?"utf-8":r[0]===255&&r[1]===254?"utf-16le":r[0]===254&&r[1]===255?"utf-16be":null}function Gt(r,e,t){let n=nu(r),s=n??ru(e),o=n?r.slice(n==="utf-8"?3:2):r;try{return new TextDecoder(s,{fatal:!0}).decode(o)}catch{try{return new TextDecoder(s,{fatal:!1}).decode(o)}catch(i){throw new Fe(String(i),s,t)}}}function su(r,e,t=1e8){let n=Wr(r,e),s=0,o=new TransformStream({transform(i,a){if(s+=i.byteLength,s>t){a.error(new Te(s,t,"decompression"));return}a.enqueue(i)}});return n.pipeThrough(o)}function Wr(r,e){let t=e.trim().toLowerCase();if(t==="br")return ou(r);if(typeof DecompressionStream>"u")return r;try{let n=t,s=new DecompressionStream(n);return r.pipeThrough(s)}catch{return r}}function ou(r){let e=!1;try{e=typeof globalThis.process?.versions?.node=="string"}catch{}return e?new ReadableStream({async start(t){let s=(await import("node:zlib")).createBrotliDecompress(),o=r.getReader();s.on("data",i=>{t.enqueue(new Uint8Array(i.buffer,i.byteOffset,i.byteLength))}),s.on("end",()=>t.close()),s.on("error",i=>t.error(i));try{for(;;){let{done:i,value:a}=await o.read();if(i){s.end();break}s.write(a)}}catch(i){s.destroy(i instanceof Error?i:new Error(String(i))),t.error(i)}finally{o.releaseLock()}},cancel(){r.cancel()}}):r}function Xt(r,e){let t=e["content-encoding"]??e["Content-Encoding"];if(!t||t==="identity")return r;let n=t.split(",").map(o=>o.trim()).filter(Boolean).reverse(),s=r;for(let o of n)s=su(s,o);return s}async function Kr(r,e={}){let n=ue(r.headers)["content-type"]??null,s=r.url;e.expectedContentType?Aa(n,e.expectedContentType,s):Qt(n);let o=await qs(r,s,e),i=e.charset??ke(n??"")?.charset??null,a=Gt(o,i,s);try{return M(JSON.parse(a))}catch(l){throw new Fe(`JSON parse failed: ${l}`,"json",s)}}async function Vr(r,e={}){let n=ue(r.headers)["content-type"]??null,s=r.url;e.expectedContentType&&Aa(n,e.expectedContentType,s);let o=await qs(r,s,e),i=e.charset??ke(n??"")?.charset??null;return Gt(o,i,s)}async function Yt(r,e={}){let t=r.url;return await qs(r,t,e)}async function Jr(r,e={}){let t=await Yt(r,e),n=r.headers.get("content-type")??"application/octet-stream",s=new ArrayBuffer(t.byteLength);return new Uint8Array(s).set(t),new Blob([s],{type:n})}function xt(r,e={}){if(!r.body)return new ReadableStream({start:s=>s.close()});let t=ue(r.headers),n=r.body;return e.decompress!==!1&&(n=Xt(n,t)),e.sizeLimit&&(n=au(n,r.url,e.sizeLimit,e.signal)),n}async function*Qr(r,e={}){let n=xt(r,e).getReader(),s=new TextDecoder("utf-8"),o="";try{for(;!e.signal?.aborted;){let{done:i,value:a}=await n.read();if(i){let c=o.trim();if(c)try{yield M(JSON.parse(c))}catch(u){e.onParseError?.(u,c)}break}o+=s.decode(a,{stream:!0});let l=o.split(`
4
+ `);o=l.pop()??"";for(let c of l){let u=c.trim();if(!(!u||u.startsWith("#")))try{yield M(JSON.parse(u))}catch(h){e.onParseError?.(h,u)}}}}finally{n.releaseLock()}}async function*Us(r,e={}){let n=xt(r,e).getReader(),s=new TextDecoder("utf-8"),o=0,i="",a=-1,l=()=>{if(a===-1)return null;let c=i.slice(a);return a=-1,c};try{for(;!e.signal?.aborted;){let{done:c,value:u}=await n.read();if(c){let h=l();if(h)try{let p=M(JSON.parse(h));e.onObject?.(p),yield p}catch(p){e.onParseError?.(p,h)}break}i+=s.decode(u,{stream:!0});for(let h=0;h<i.length;h++){let p=i[h];if(p==="{"||p==="[")o===0&&(a=h),o++;else if((p==="}"||p==="]")&&(o--,o===0&&a!==-1)){let d=i.slice(a,h+1);try{let y=M(JSON.parse(d));e.onObject?.(y),yield y}catch(y){e.onParseError?.(y,d)}i=i.slice(h+1),h=-1}}if(i.length>1e7)throw new Error("JSON stream buffer exceeded 10MB limit")}}finally{n.releaseLock()}}async function $s(r,e={}){if(!(e.isError??(o=>o>=400))(r.status))return r;let n=ue(r.headers),s=null;if(e.readBody!==!1&&r.body&&!r.bodyUsed)try{s=await r.clone().text()}catch{}throw new qe(r.status,r.statusText,r.url,n,s)}async function Hs(r){if(r.ok)return{response:r};let e=ue(r.headers),t=null;if(r.body&&!r.bodyUsed)try{t=await r.clone().text()}catch{}throw new qe(r.status,r.statusText,r.url,e,t)}async function js(r,e){let t=ue(r.headers),n=ue(e.headers),s={},o={},i={};for(let[l,c]of Object.entries(t))l in n?n[l]!==c&&(s[l]=[c,n[l]]):i[l]=c;for(let[l,c]of Object.entries(n))l in t||(o[l]=c);let a=!1;try{let[l,c]=await Promise.all([r.clone().text(),e.clone().text()]);a=l!==c}catch{}return{statusChanged:r.status!==e.status,headersChanged:s,headersAdded:o,headersRemoved:i,bodyChanged:a}}async function Gr(r){let e=r.headers.get("content-type")??"",t=ke(e);if(!t?.boundary)throw new Re("multipart/*",e,r.url);let n=await r.arrayBuffer(),s=new Uint8Array(n),o=new TextEncoder().encode("--"+t.boundary),i=[],a=c=>{for(let u=c;u<s.length-o.length;u++)if(s.subarray(u,u+o.length).every((h,p)=>h===o[p]))return u;return-1},l=a(0);if(l===-1)return[];if(l+=o.length,s[l]===13&&s[l+1]===10?l+=2:s[l]===10&&(l+=1),s[l]===45&&s[l+1]===45)return[];for(;l<s.length;){let c=a(l);if(c===-1)break;let u=c+o.length;u<s.length&&(s[u]===13&&s[u+1]===10||s[u]===10||s[u]===45&&s[u+1]);let h=s.subarray(l,c-2),p=iu(h);if(p===-1){l=c+o.length;continue}let d=h.subarray(0,p),y=h.subarray(p+4),g=new TextDecoder().decode(d),m={};for(let w of g.split(/\r\n/)){let S=w.indexOf(":");S!==-1&&(m[w.slice(0,S).trim().toLowerCase()]=w.slice(S+1).trim())}if(i.push({headers:m,body:y}),l=c+o.length,l<s.length-1&&s[l]===45&&s[l+1]===45)break}return i}function iu(r){for(let e=0;e<r.length-3;e++)if(r[e]===13&&r[e+1]===10&&r[e+2]===13&&r[e+3]===10)return e;return-1}async function Bs(r){let e=await Gr(r),t=new FormData;for(let n of e){let s=n.headers["content-disposition"]??"",o=s.match(/name="([^"]+)"/),i=s.match(/filename="([^"]+)"/);if(!o)continue;let a=o[1],l=i?.[1];if(l){let c=n.headers["content-type"]??"application/octet-stream",u=new ArrayBuffer(n.body.byteLength);new Uint8Array(u).set(n.body);let h=new File([u],l,{type:c});t.append(a,h)}else{let c=new TextDecoder().decode(n.body);t.append(a,c)}}return t}function zs(r){let e=r["server-timing"]??r["Server-Timing"];return e?e.split(",").map(t=>{let n=t.trim().split(";"),s=(n[0]??"").trim(),o=Zl(n.slice(1).join(";")),i=o.get("dur");return{name:s,duration:i!==void 0?parseFloat(i):null,description:o.get("desc")??null}}).filter(t=>t.name):[]}async function qs(r,e,t){if(!r.body)return new Uint8Array(0);let n=ue(r.headers),s=r.body;if(t.decompress!==!1&&(s=Xt(s,n)),t.signal?.aborted)throw new DOMException("Response reading aborted","AbortError");if(t.sizeLimit)return Fr(s,e,t.sizeLimit,t.signal);let o=s.getReader(),i=[];try{for(;;){if(t.signal?.aborted)throw new DOMException("Response reading aborted","AbortError");let{done:a,value:l}=await o.read();if(a)break;i.push(l)}}finally{o.releaseLock()}return Ca(i)}function au(r,e,t,n){let s=t.onExceed??"throw",o=0;return new ReadableStream({async start(i){let a=r.getReader();try{for(;;){if(n?.aborted){await a.cancel("aborted"),i.error(new DOMException("Response reading aborted","AbortError"));return}let{done:l,value:c}=await a.read();if(l){i.close();break}let u=o+c.byteLength;if(u>t.maxBytes){if(t.onExceedCallback?.(u,t.maxBytes),s==="throw"){await a.cancel("size limit"),i.error(new Te(u,t.maxBytes,e));return}if(s==="abort"){await a.cancel("size limit"),i.close();return}if(s==="truncate"){let h=t.maxBytes-o;h>0&&i.enqueue(c.slice(0,h)),i.close(),await a.cancel("size limit");return}}o+=c.byteLength,i.enqueue(c)}}catch(l){i.error(l)}}})}function Aa(r,e,t){if(!r)throw new Re(e,"(none)",t);let n=r.split(";")[0]?.trim().toLowerCase()??"",s=e.split(";")[0]?.trim().toLowerCase()??"";if(!n.startsWith(s))throw new Re(e,r,t)}function Ca(r){let e=r.reduce((s,o)=>s+o.byteLength,0),t=new Uint8Array(e),n=0;for(let s of r)t.set(s,n),n+=s.byteLength;return t}function Fs(r,e="throw"){let t={maxBytes:r,onExceed:e};return{json:(n,s)=>Kr(n,{sizeLimit:t,...s}),text:(n,s)=>Vr(n,{sizeLimit:t,...s}),bytes:(n,s)=>Yt(n,{sizeLimit:t,...s}),blob:(n,s)=>Jr(n,{sizeLimit:t,...s}),stream:(n,s)=>xt(n,{sizeLimit:t,...s}),ndjson:(n,s)=>Qr(n,{sizeLimit:t,...s})}}var Zl,qe,Te,Re,Fe,eu,tu,Os,Xr=F(()=>{"use strict";Jt();B();Zl=X,qe=class extends Error{constructor(t,n,s,o,i){super(`HTTP ${t} ${n} \u2014 ${s}`);f(this,"code","EHTTPRESPONSE");f(this,"status");f(this,"statusText");f(this,"url");f(this,"headers");f(this,"body");this.name="HTTPResponseError",this.status=t,this.statusText=n,this.url=s,this.headers=o,this.body=i}get isClientError(){return this.status>=400&&this.status<500}get isServerError(){return this.status>=500}get isNotFound(){return this.status===404}get isUnauthorized(){return this.status===401}get isForbidden(){return this.status===403}get isTooManyRequests(){return this.status===429}get isGone(){return this.status===410}get isConflict(){return this.status===409}},Te=class extends Error{constructor(t,n,s){super(`Response size limit exceeded: read ${t} bytes, limit is ${n} bytes (${s})`);f(this,"code","ESIZELIMIT");f(this,"bytesRead");f(this,"limit");f(this,"url");this.name="ResponseSizeLimitError",this.bytesRead=t,this.limit=n,this.url=s}},Re=class extends Error{constructor(t,n,s){super(`Expected content-type "${t}", got "${n}" (${s})`);f(this,"code","ECONTENTTYPE");f(this,"expected");f(this,"received");f(this,"url");this.name="ContentTypeError",this.expected=t,this.received=n,this.url=s}},Fe=class extends Error{constructor(t,n,s){super(`Failed to decode response as ${n} (${s}): ${t}`);f(this,"code","EDECODE");f(this,"charset");f(this,"url");this.name="ResponseDecodeError",this.charset=n,this.url=s}};eu=8192;tu={"utf-8":"utf-8",utf8:"utf-8","latin-1":"latin1",latin1:"latin1","iso-8859-1":"latin1",ascii:"ascii","us-ascii":"ascii","utf-16le":"utf-16le","utf-16":"utf-16le","utf-16be":"utf-16be","windows-1252":"windows-1252",cp1252:"windows-1252"};Os=class{constructor(e={ttlMs:6e4}){f(this,"cache",new Map);f(this,"ttlMs");this.ttlMs=e.ttlMs}hashRequest(e){let t=typeof e=="string"?e:e.url;return`${typeof e=="string"?"GET":e.method}:${t}`}async get(e){let t=this.hashRequest(e),n=this.cache.get(t);return n?Date.now()>n.expiresAt?(this.cache.delete(t),null):await Promise.resolve(n.response.clone()):null}async set(e,t){let n=this.hashRequest(e);await Promise.resolve(this.cache.set(n,{response:t.clone(),expiresAt:Date.now()+this.ttlMs}))}delete(e){this.cache.delete(this.hashRequest(e))}clear(){this.cache.clear()}get size(){return this.cache.size}}});var Ua={};de(Ua,{DEFAULT_ACCEPT_ENCODING:()=>en,FetchTransport:()=>We,HAS_NATIVE_FETCH:()=>Vs,HTTP_STATUS_TEXTS:()=>Na,IS_NODE:()=>Ae,NodeHTTP2Transport:()=>_t,RUNTIME:()=>ye,createTransport:()=>Zt,decompressBodyStream:()=>tr,detectRuntime:()=>Zr,getEffectiveRuntime:()=>Ks,normalizeHeaders:()=>La,parseBody:()=>St,readRawBody:()=>er,sendWithTimeout:()=>Ke,setRuntime:()=>Ws});function Zr(){let r=globalThis.Deno;return typeof r<"u"&&typeof r.version<"u"?"deno":typeof globalThis.Bun<"u"?"bun":typeof globalThis<"u"&&typeof globalThis.caches<"u"?"cloudflare-workers":typeof window<"u"&&typeof globalThis.document<"u"?"browser":Yr.process?.versions?.node!==void 0?"node":typeof globalThis.fetch=="function"?"edge":"unknown"}function Ws(r){Pa=r}function Ks(){return Pa??ye}function Ia(){try{return globalThis.process?.env?.NODE_ENV==="production"}catch{return!1}}function Zt(r,e=!0,t,n){return Ae&&e&&r&&(Ia()||console.warn('[kinetex] httpVersion: "HTTP/2" is ignored when a custom `fetch` is configured \u2014 NodeHTTP2Transport cannot use a custom fetch, so the request goes through FetchTransport (HTTP/1.1 semantics). Drop the `fetch` option to use HTTP/2.')),Ae&&e&&!r?new _t({...t?.sessionTTLMs!==void 0?{sessionTTLMs:t.sessionTTLMs}:{},...t?.pingIntervalMs!==void 0?{pingIntervalMs:t.pingIntervalMs}:{},...t?.connectTimeoutMs!==void 0?{connectTimeoutMs:t.connectTimeoutMs}:{},...t?.requestTimeoutMs!==void 0?{requestTimeoutMs:t.requestTimeoutMs}:{},...n?.strict!==void 0?{strict:n.strict}:{},...n?.onDroppedHeader!==void 0?{onDroppedHeader:n.onDroppedHeader}:{}}):new We({fetchFn:r??globalThis.fetch,...n?.strict!==void 0?{strict:n.strict}:{},...n?.onDroppedHeader!==void 0?{onDroppedHeader:n.onDroppedHeader}:{}})}async function Ke(r,e,t){if(t<=0)return r.send(e);let n=new AbortController,s=setTimeout(()=>{n.abort(new G(t,e))},t),o=xr(e.signal,n.signal)??null,i={...e,signal:o},a=new Promise((l,c)=>{n.signal.addEventListener("abort",()=>c(new G(t,e)),{once:!0})});try{let l=await Promise.race([r.send(i),a]);if(clearTimeout(s),n.signal.aborted)throw new G(t,e);return l}catch(l){throw clearTimeout(s),n.signal.aborted&&!(l instanceof G)?new G(t,e):l}}async function er(r,e,t,n){if(!r)return new Uint8Array(0);let s=r.getReader(),o=[],i=0,a,l=new Promise((u,h)=>{a=h}),c=()=>{s.cancel("aborted").catch(()=>{}),a(new x("Response reading aborted","EABORT"))};if(n?.aborted)throw s.cancel("aborted").catch(()=>{}),new x("Response reading aborted","EABORT");n?.addEventListener("abort",c,{once:!0});try{for(;;){let u=await Promise.race([s.read().catch(d=>{throw s.cancel("read error").catch(()=>{}),d}),l]),{done:h,value:p}=u;if(h)break;if(e>0){let d=i+p.byteLength;if(d>e)throw await s.cancel("size limit exceeded"),new ct(d,e)}o.push(p),i+=p.byteLength}}catch(u){throw s.cancel("error during read").catch(()=>{}),u}finally{n?.removeEventListener("abort",c),s.releaseLock()}return br(o)}function St(r,e,t,n,s,o){if(t)return t(r,s??{},o??"");if(!r.byteLength)return null;let i=e?.split(";")[0]?.trim().toLowerCase()??"";if(i==="application/json"||i.endsWith("+json")){let a=new TextDecoder("utf-8").decode(r),l,c;try{let u=pe(a,{maxStringLength:1e7,maxDepth:100,maxArrayLength:1e5});u.success&&u.value!==void 0&&(l=u.value)}catch(u){c=u instanceof Error?u:new Error(String(u))}if(l!==void 0)return l;if(n)try{n(r,c??new Error("JSON parse failed \u2014 falling back to raw text"))}catch{}return a}return i.startsWith("text/")?new TextDecoder("utf-8").decode(r):r}function La(r){return it(r)}function cu(r,e){let t=r;if(t.httpVersion==="2.0"||t.httpVersion==="2")return"HTTP/2";let n=r;if(n.httpVersion)return n.httpVersion;let s=r.headers.get("alt-svc"),o=r;if(o.httpVersion==="3"||o.httpVersion==="3.0"||o.protocol==="h3")return"HTTP/3";if(s){let i=s.includes('h3="')||s.includes("h3-29=")||s.includes("h3-32=");if(s.includes('h2="')||i)return"HTTP/2"}return"HTTP/1.1"}function lu(r){if(!(r instanceof Error))return!1;let e=r.message.toLowerCase();return e.includes("alpn")||e.includes("h2")||e.includes("http2")||r.code==="ERR_HTTP2_ERROR"}function Ma(r){return new ReadableStream({start(e){let t=!1,n=!1;r.on("data",s=>{if(s instanceof Uint8Array)e.enqueue(s);else if(Yr.Buffer?.isBuffer(s)){let o=s;e.enqueue(new Uint8Array(o.buffer,o.byteOffset,o.byteLength))}else e.enqueue(new Uint8Array(s))}),r.once("end",()=>{if(!(t||n)){t=!0;try{e.close()}catch{}}}),r.once("error",s=>{if(!(t||n)){t=!0,n=!0;try{e.error(s)}catch{}}}),r.once("close",()=>{if(t||n)return;t=!0;let s=Object.assign(new Error("Stream closed before end"),{code:"ECONNRESET"});try{e.error(s)}catch{}})},cancel(){r.destroy()}})}async function Oa(r,e){r.write(e)||await new Promise(n=>r.once("drain",n))}async function hu(r,e){if(e instanceof ReadableStream){let t=e.getReader();for(;;){let{done:n,value:s}=await t.read();if(n){r.end();break}await Oa(r,s)}}else if(e instanceof Uint8Array||e instanceof ArrayBuffer)r.end(Yr.Buffer?new Uint8Array(e):e);else if(typeof e=="string")r.end(e);else{let t=await Da(e);r.end(t)}}async function fu(r,e){if(e instanceof ReadableStream){let t=e.getReader();for(;;){let{done:n,value:s}=await t.read();if(n){r.end();break}await Oa(r,s)}}else if(e instanceof Uint8Array||e instanceof ArrayBuffer)r.end(Yr.Buffer?new Uint8Array(e):e);else if(typeof e=="string")r.end(e);else{let t=await Da(e);r.end(t)}}async function Da(r){return typeof URLSearchParams<"u"&&r instanceof URLSearchParams?new TextEncoder().encode(r.toString()):typeof Blob<"u"&&r instanceof Blob?new Uint8Array(await r.arrayBuffer()):new Uint8Array(0)}async function tr(r,e){if(!r)return null;let t=e["content-encoding"]??e["Content-Encoding"];if(!t)return r;let n=t.trim().toLowerCase(),s=n.split(",").map(a=>a.trim()).filter(Boolean),o=["gzip","deflate","br","identity"];for(let a of s)if(!o.includes(a))return console.warn(`[Kinetex] Unsupported Content-Encoding: ${a}. Supported: ${o.join(", ")}. Response body is passed through compressed.`),r;if(n==="identity")return delete e["content-encoding"],delete e["Content-Encoding"],r;let{applyDecompression:i}=await Promise.resolve().then(()=>(Xr(),va));return i(r,e)}var Yr,ye,Pa,Ae,Vs,en,We,_t,uu,Na,Et=F(()=>{"use strict";je();B();Jt();B();Yr=globalThis;ye=Zr(),Pa=null;Ae=ye==="node",Vs=ye!=="node"||typeof globalThis.fetch=="function";en="gzip, deflate, br",We=class{constructor(e=globalThis.fetch){f(this,"fetchFn");f(this,"strict");f(this,"onDroppedHeader");typeof e=="function"?(this.fetchFn=e,this.strict=!1,this.onDroppedHeader=void 0):(this.fetchFn=e.fetchFn??globalThis.fetch,this.strict=e.strict??!1,this.onDroppedHeader=e.onDroppedHeader)}async send(e){let t={};for(let[c,u]of Object.entries(e.headers??{}))if(!(typeof c!="string"||typeof u!="string")){if(!ms(c)||!gs(u)){if(this.strict)throw new x(`Invalid header dropped in strict mode: "${c}"`,"EVALIDATION",{request:e});this.onDroppedHeader?this.onDroppedHeader(c,u):Ia()||console.warn(`[kinetex] Invalid header dropped: "${c}" \u2014 value may contain illegal characters. Pass strictHeaders: true to throw instead.`);continue}t[c]=u}let n=t["accept-encoding"];n&&n.toLowerCase().replace(/\s+/g," ")===en&&delete t["accept-encoding"];let s={method:e.method,headers:t,redirect:e.redirect??"follow",...e.signal!==null?{signal:e.signal}:{}};e.body!==null&&e.method!=="GET"&&e.method!=="HEAD"&&(s.body=e.body,Ae&&typeof s.body=="object"&&s.body!==null&&"getReader"in s.body&&(s.duplex="half"));let o;try{o=await this.fetchFn(e.url,s)}catch(c){throw _r(c)?new x("Request was aborted","EABORT",{request:e,cause:c}):new x(c instanceof Error?c.message:"Network request failed","ENETWORK",{request:e,cause:c})}let i=La(o.headers),a=cu(o,i),l=!0;return ye==="deno"&&(o.headers.get("content-encoding")||"").toLowerCase().includes("deflate")&&(l=!1),{status:o.status,statusText:o.statusText,headers:i,body:o.body,url:o.url||e.url,redirected:o.redirected,httpVersion:a,alreadyDecompressed:l}}},_t=class{constructor(e={}){f(this,"sessions",new Map);f(this,"sessionTTLMs");f(this,"pingIntervalMs");f(this,"maxSessions");f(this,"pingTimers",new Map);f(this,"_sessionCreating",new Map);f(this,"sessionUsage",new Map);f(this,"_strict");f(this,"_onDroppedHeader");f(this,"_ca");f(this,"_connectTimeoutMs");f(this,"_requestTimeoutMs");f(this,"_http1Fallback",null);this.sessionTTLMs=e.sessionTTLMs??5*6e4,this.pingIntervalMs=e.pingIntervalMs??3e4,this.maxSessions=e.maxSessions??100,this._strict=e.strict??!1,this._onDroppedHeader=e.onDroppedHeader,this._ca=e.ca,this._connectTimeoutMs=e.connectTimeoutMs??3e4,this._requestTimeoutMs=e.requestTimeoutMs??3e4}_getOrCreateSession(e,t,n){let s=this._sessionCreating.get(e);if(s)return s;let o=this._createSession(e,t,n);return this._sessionCreating.set(e,o),o.finally(()=>{this._sessionCreating.get(e)===o&&this._sessionCreating.delete(e)}).catch(()=>{}),o}async _createSession(e,t,n){let s=this.sessions.get(e);if(s&&!s.session.destroyed&&!s.session.closed&&!(Date.now()-s.createdAt>this.sessionTTLMs))return this.sessionUsage.set(e,Date.now()),s.session;if(s&&this._evictSession(e,s.session),this.sessions.size>=this.maxSessions){let i="",a=1/0;for(let[l,c]of this.sessionUsage.entries())c<a&&(a=c,i=l);if(i){let l=this.sessions.get(i);l&&this._evictSession(i,l.session)}}let o=await new Promise((i,a)=>{let l=n.connect(e,{rejectUnauthorized:!0,...this._ca!==void 0?{ca:this._ca}:{}}),c=setTimeout(()=>{l.destroy(),a(new x(`HTTP/2 connection to ${e} timed out`,"ETIMEOUT",{request:t}))},this._connectTimeoutMs);typeof c.unref=="function"&&c.unref();let u=()=>{clearTimeout(c),l.destroy(),a(new x("Connection aborted","EABORT",{request:t}))},h=()=>t.signal?.removeEventListener("abort",u);t.signal?.addEventListener("abort",u,{once:!0}),l.once("connect",()=>{h(),clearTimeout(c),i(l)}),l.once("error",p=>{h(),clearTimeout(c),a(p)})});if(o.on("goaway",()=>{this._evictSession(e,o)}),o.on("error",()=>{this._evictSession(e,o)}),this.sessions.set(e,{session:o,createdAt:Date.now()}),this.sessionUsage.set(e,Date.now()),this.pingIntervalMs>0){let i=this.pingTimers.get(e);i&&clearInterval(i);let a=setInterval(()=>{let l=this.sessions.get(e);if(!l||l.session.destroyed||l.session.closed){this._evictSession(e,l?.session);return}l.session.ping(c=>{c&&this._evictSession(e,l.session)})},this.pingIntervalMs);typeof a=="object"&&a!==null&&"unref"in a&&a.unref(),this.pingTimers.set(e,a)}return o}async send(e){let t=new URL(e.url);if(t.protocol!=="https:"||e.httpVersion==="HTTP/1.1")return this._sendHTTP1(e);try{return await this._sendHTTP2(e,t)}catch(n){if(lu(n))return this._sendHTTP1(e);throw n}}async _sendHTTP2(e,t){let n=await import("node:http2"),s=e,o=t,i=!1,a=10;for(let l=0;l<=a;l++){if(l===a)throw new x("Too many HTTP/2 redirects","ENETWORK",{request:e});let c=o.origin,u=this.sessions.get(c),h=u&&Date.now()-u.createdAt>this.sessionTTLMs,p;!u||u.session.destroyed||u.session.closed||h?p=await this._getOrCreateSession(c,s,n):(p=u.session,this.sessionUsage.set(c,Date.now()));let d={":method":s.method,":path":o.pathname+o.search,":scheme":"https",":authority":o.host,...s.headers};for(let[k,I]of Object.entries(d)){if(k.startsWith(":"))continue;let $=Array.isArray(I)?I.join(", "):String(I),ee=!1;for(let D=0;D<$.length;D++){let V=$.charCodeAt(D);if(V>=0&&V<=8||V>=10&&V<=31||V===127){ee=!0;break}}if(ee){if(this._strict)throw new x(`Strict mode: header "${k}" contains forbidden control characters`,"EVALIDATION",{request:s});this._onDroppedHeader?this._onDroppedHeader(k,$):typeof console<"u"&&console.warn(`[kinetex] Invalid header dropped (HTTP/2): "${k}" \u2014 value contains illegal control characters. Pass strictHeaders: true to throw instead.`),delete d[k]}}let y=!s.body||s.method==="GET"||s.method==="HEAD",g=p.request(d,{endStream:y});s.body&&!y&&hu(g,s.body).catch(k=>{g.destroy(k instanceof Error?k:new Error(String(k)))});let m=s.signal,w=await new Promise((k,I)=>{let $=this._requestTimeoutMs,ee=setTimeout(()=>{V(),I(new x(`HTTP/2 request to ${o} timed out after ${$}ms`,"ETIMEOUT",{request:s})),g.destroy()},$),D=()=>{clearTimeout(ee),I(new x("Request was aborted","EABORT",{request:s})),g.destroy()},V=()=>m?.removeEventListener("abort",D);m?.addEventListener("abort",D,{once:!0}),g.once("response",q=>{let Ze=Number(q[":status"]??200),A=Na[Ze]??"",P={};for(let[C,O]of Object.entries(q))C.startsWith(":")||(P[C]=Array.isArray(O)?O.join(", "):O??"");if(clearTimeout(ee),V(),m?.aborted){I(new x("Request was aborted","EABORT",{request:s})),g.destroy();return}if(s.redirect==="error"&&Ze>=300&&Ze<400&&P.location){I(new x(`Redirect not allowed (redirect:"error") \u2014 received ${Ze} to ${P.location}`,"ENETWORK",{request:s})),g.destroy();return}k({status:Ze,statusText:A,headers:P,body:Ma(g),url:s.url,redirected:i,httpVersion:"HTTP/2",alreadyDecompressed:!1})}),g.once("error",q=>{clearTimeout(ee),V(),m?.aborted?I(new x("Request was aborted","EABORT",{request:s,cause:q})):I(new x(q.message,"ENETWORK",{request:s,cause:q})),g.destroy()})});if(!(w.status>=300&&w.status<400&&!!w.headers.location&&s.redirect!=="manual"))return w;try{if(w.body){let k=w.body.getReader();for(;;){let{done:I}=await k.read();if(I)break}k.releaseLock()}}catch{}let _=w.headers.location,T;try{T=new URL(_,s.url).href}catch{throw new x(`Invalid redirect Location: ${_}`,"ENETWORK",{request:e})}let v=w.status===301||w.status===302||w.status===303?"GET":s.method,E=v==="GET"||v==="HEAD"?null:s.body;s={...s,url:T,method:v,body:E},o=new URL(T),i=!0}throw new x("HTTP/2 redirect loop terminated unexpectedly","ENETWORK",{request:e})}_sendHTTP1(e){if(typeof globalThis.fetch=="function"){if(!this._http1Fallback){let t={fetchFn:globalThis.fetch,strict:this._strict};this._onDroppedHeader!==void 0&&(t.onDroppedHeader=this._onDroppedHeader),this._http1Fallback=new We(t)}return this._http1Fallback.send(e)}return this._sendHTTP1Legacy(e)}async _sendHTTP1Legacy(e){let t=await import("node:https"),n=new URL(e.url),s={hostname:n.hostname,port:n.port||"443",path:n.pathname+n.search,method:e.method,headers:e.headers};return new Promise((o,i)=>{let a=t.request(s,u=>{let h={};for(let[d,y]of Object.entries(u.headers))y!==void 0&&(h[d]=Array.isArray(y)?y.join(", "):y);let p=uu(u);o({status:u.statusCode??200,statusText:u.statusMessage??"",headers:h,body:p,url:e.url,redirected:!1,httpVersion:"HTTP/1.1",alreadyDecompressed:!1})});a.once("error",u=>{i(new x(u.message,"ENETWORK",{request:e,cause:u}))});let l=()=>{a.destroy(),i(new x("Request was aborted","EABORT",{request:e}))};e.signal?.addEventListener("abort",l,{once:!0});let c=()=>e.signal?.removeEventListener("abort",l);a.once("close",c),a.once("error",c),e.body&&e.method!=="GET"&&e.method!=="HEAD"?fu(a,e.body).catch(i):a.end()})}_evictSession(e,t){let n=this.pingTimers.get(e);n&&(clearInterval(n),this.pingTimers.delete(e)),this.sessions.delete(e),this.sessionUsage.delete(e),this._sessionCreating.delete(e),t&&!t.destroyed&&!t.closed&&t.destroy()}destroy(){for(let e of this.pingTimers.values())clearInterval(e);this.pingTimers.clear(),this._sessionCreating.clear();for(let[e,{session:t}]of this.sessions.entries())this._evictSession(e,t);this.sessions.clear()}};uu=Ma;Na={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Content Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",421:"Misdirected Request",422:"Unprocessable Content",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required"}});function mu(r){return r.split(pu).filter(Boolean)}function gu(r){let e=r.match(/^(\d{1,2}):(\d{2}):(\d{2})(?:[+-]\d{2}:?\d{2}|Z|GMT|UTC)?$/i);if(!e)return null;let t=+e[1],n=+e[2],s=+e[3];return t>23||n>59||s>59?null:[t,n,s]}function yu(r){let e=r.slice(0,9).toLowerCase();return du[e]??null}function wu(r){if(!/^\d{2,4}$/.test(r))return null;let e=+r;return e>=70&&e<=99&&(e+=1900),e>=0&&e<=69&&(e+=2e3),e}function rr(r){if(!r)return null;let e=mu(r),t={time:null,dayOfMonth:null,month:null,year:null};for(let a of e)if(a){if(t.time===null&&a.includes(":")){let l=gu(a);if(l!==null){t.time=l;continue}}if(t.month===null&&/[a-zA-Z]/.test(a)){let l=yu(a);if(l!==null){t.month=l;continue}}if(/^\d{1,4}(?:st|nd|rd|th)?$/i.test(a)){let l=a.replace(/[a-z]+$/i,""),c=+l;if(t.dayOfMonth===null&&l.length<=2&&c>=1&&c<=31){t.dayOfMonth=c;continue}if(t.year===null&&l.length>=2){let u=wu(l);if(u!==null){t.year=u;continue}}if(t.dayOfMonth===null&&c>=1&&c<=31){t.dayOfMonth=c;continue}}}if(t.time===null||t.dayOfMonth===null||t.month===null||t.year===null||t.year<1601||t.year>9999||t.dayOfMonth<1||t.dayOfMonth>31)return null;let[n,s,o]=t.time,i=Date.UTC(t.year,t.month,t.dayOfMonth,n,s,o);return isNaN(i)?null:i}function nr(r){let e=r.replace(/\.$/,"").toLowerCase(),t=e.split(".");if(t.length===0||t.length===1&&t[0]==="")return null;if(Xs.has(e))return e;let n=null,s=0;for(let o=0;o<t.length;o++){let i=t.slice(o).join(".");if(Qs.has(i)){let a=t.length-o;a>s&&(s=a,n=i)}}for(let o=0;o<t.length-1;o++){let i=t.slice(o+1).join(".");if(Gs.has(i)){let a=t.slice(o).join("."),l=t.length-o;l>s&&(s=l,n=a)}}return n||(t[t.length-1]??null)}function rn(r){let e=r.toLowerCase();if(we(e))return e;let t=nr(e);if(!t)return null;let n=t.split(".").length,s=e.split(".");return s.length<=n?null:s.slice(-(n+1)).join(".")}function Je(r){let e=r.toLowerCase();if(Xs.has(e)||Qs.has(e))return!0;let t=e.split(".");if(t.length>=2){let n=t.slice(1).join(".");if(Gs.has(n))return!0}return!1}function xu(r){try{let l=r.lastIndexOf("-"),c=[],u=l>=0?r.slice(0,l):"";for(let _=0;_<u.length;_++){let T=u.charCodeAt(_);if(T>122||T>90&&T<97||T>57&&T<65||T<48)return r;c.push(T)}let h=l>=0?r.slice(l+1):r,p=128,d=0,y=72,g=_=>_>=65&&_<=90?_-65:_>=97&&_<=122?_-97:_>=48&&_<=57?_-48+26:-1,m=(_,T,v)=>{_=Math.floor(_/(v?700:2)),_+=Math.floor(_/T);let E=0;for(;_>910/2;)_=Math.floor(_/35),E+=36;return E+Math.floor(36*_/(_+38))},w=0;for(;w<h.length;){let _=d,T=1;for(let v=36;;v+=36){if(w>=h.length)return r;let E=g(h.charCodeAt(w++));if(E<0)return r;d+=E*T;let k=v<=y?1:v>=y+26?26:v-y;if(E<k)break;T*=36-k}y=m(d-_,c.length+1,_===0),p+=Math.floor(d/(c.length+1)),d%=c.length+1,c.splice(d,0,p),d++}return String.fromCodePoint(...c)||r}catch{return r}}function sr(r){if(!r.toLowerCase().startsWith("xn--"))return r;let e=Intl;if(typeof Intl<"u"&&e.IDN&&typeof e.IDN.toUnicode=="function")try{return e.IDN.toUnicode(r,{standard:"tr46"})}catch{return r}if(Js){let t=r+".invalid",n=Js(t);if(n&&n.length>8&&n.endsWith(".invalid")){let s=n.slice(0,-8);if(s!==r)return s}}if(r.startsWith("xn--"))try{let t=xu(r.slice(4));if(t&&t!==r.slice(4))return t}catch{}return r}function he(r){return r.replace(/^\./,"").replace(/\.$/,"").toLowerCase().split(".").map(sr).join(".")}function we(r){let e=r.startsWith("[")&&r.endsWith("]")?r.slice(1,-1):r;return _u.test(e)?e.split(".").map(Number).every(n=>n>=0&&n<=255):Su.test(e)&&e.includes(":")}function Tt(r,e){let t=r.toLowerCase(),n=e.toLowerCase();return t===n?!0:!(we(t)||!t.endsWith("."+n)||we(n)||Je(n))}function Rt(r){if(!r||r===""||r[0]!=="/")return"/";let e=r.lastIndexOf("/");return e===0?"/":r.slice(0,e)}function tn(r){if(!r.startsWith("/"))return"/"+r;let e=[],t=r.split("/");for(let n of t)n===""||n==="."||(n===".."?e.length>0&&e.pop():e.push(n));return"/"+e.join("/")}function kt(r,e){let t=tn(r),n=tn(e);return!!(t===n||t.startsWith(n)&&(n.endsWith("/")||t[n.length]==="/"))}function Tu(r){return r===""?!0:Eu.test(r)}function Ru(r){for(let e=0;e<r.length;e++){let t=r.charCodeAt(e);if(t>=0&&t<=8||t>=10&&t<=31||t===127)return!1}return!0}function At(r){if(!r||r.trim()==="")return null;let e=r.indexOf(";"),t=e===-1?r:r.slice(0,e),n=e===-1?"":r.slice(e+1),s=t.indexOf("="),o,i;if(s===-1?(o="",i=t.trim()):(o=t.slice(0,s).trim(),i=t.slice(s+1).trim()),!Tu(o)||(i.length>=2&&i[0]==='"'&&i[i.length-1]==='"'&&(i=i.slice(1,-1)),!Ru(i)))return null;let a=new Map,l=n.split(";");for(let k of l){let I=k.trim();if(!I)continue;let $=I.indexOf("=");if($===-1)a.set(I.toLowerCase(),"");else{let ee=I.slice(0,$).trim().toLowerCase(),D=I.slice($+1).trim();a.has(ee)||a.set(ee,D)}}let c=a.has("domain")?a.get("domain"):null,u=a.has("path")?a.get("path"):null,h=a.has("expires")?a.get("expires"):null,p=a.has("max-age")?a.get("max-age"):null,d=a.has("secure"),y=a.has("httponly"),g="Unset";if(a.has("samesite")){let k=a.get("samesite").toLowerCase();k==="strict"?g="Strict":k==="lax"?g="Lax":k==="none"&&(g="None")}let m=a.has("sameparty"),w=null;if(a.has("priority")){let k=a.get("priority").toLowerCase();k==="low"?w="Low":k==="medium"?w="Medium":k==="high"&&(w="High")}let S=a.has("partitioned"),_=null;p!==null&&p.match(/^-?\d+$/)&&(_=parseInt(p,10));let T=null;_===null&&h!==null&&(T=rr(h));let v=null;c!==null&&c!==""&&(v=he(c));let E=null;return u!==null&&u.startsWith("/")&&(E=u),{name:o,value:i,domain:v,path:E,expires:T,maxAge:_,secure:d,httpOnly:y,sameSite:g,sameParty:m,priority:w,partitioned:S}}function $a(r){let e=[];if(r.value.includes(";")||r.value.includes(",")||r.value.includes(" ")||r.value.includes('"')?e.push(`${r.name}="${r.value.replace(/"/g,'\\"')}"`):e.push(`${r.name}=${r.value}`),r.path&&e.push(`Path=${r.path}`),r.domain&&e.push(`Domain=${r.domain}`),r.expires!==null){let t=new Date(r.expires);e.push(`Expires=${t.toUTCString()}`)}return r.maxAge!==null&&e.push(`Max-Age=${r.maxAge}`),r.secure&&e.push("Secure"),r.httpOnly&&e.push("HttpOnly"),r.sameSite&&r.sameSite!=="Unset"&&e.push(`SameSite=${r.sameSite}`),r.sameParty&&e.push("SameParty"),r.priority&&e.push(`Priority=${r.priority}`),r.partitioned&&e.push("Partitioned"),e.join("; ")}function Ve(r){let e=[],t="",n=0,s=!1,o=!1,i=!1,a=!1,l=!1,c=()=>{i&&a&&t.trim()&&e.push(t.trim()),t="",i=!1,a=!1,l=!1};for(;n<r.length;){let u=r[n],h=r[n+1]??"";if(o){t+=u,o=!1,n++;continue}if(u==="\\"&&(s||h==='"'||h==="\\")){t+=u,o=!0,n++;continue}if(u==='"'){!s&&i?s=!0:s&&(s=!1,a=!0),t+=u,n++;continue}if(s){t+=u,n++;continue}if(u===","&&!s&&(l||a||i)){for(c();n+1<r.length&&/\s/.test(r[n+1]);)n++;n++;continue}if(u===";"){i||(i=!0),a&&(l=!0),t+=u,n++;continue}if(u==="="&&!i){i=!0,a=!0,t+=u,n++;continue}if(i&&!a&&u!==";"&&u!==","&&(a=!0),u===" "||u===" "){t.length>0&&t.trim()!==""&&(t+=u),n++;continue}t+=u,n++}return i&&a&&t.trim()&&e.push(t.trim()),e}function Ct(r){if(typeof Headers<"u"&&r instanceof Headers){if(typeof r.getSetCookie=="function")return r.getSetCookie();let n=r.get("set-cookie");return n?Ve(n):[]}let e=r,t=e["set-cookie"]??e["Set-Cookie"];return t?Array.isArray(t)?t.flatMap(n=>Ve(n)):Ve(t):[]}var du,pu,bu,Qs,Gs,Xs,Js,_u,Su,Eu,nn=F(()=>{"use strict";du={jan:0,january:0,feb:1,february:1,mar:2,march:2,apr:3,april:3,may:4,jun:5,june:5,jul:6,july:6,aug:7,august:7,sep:8,september:8,oct:9,october:9,nov:10,november:10,dec:11,december:11},pu=/[\t\x20-\x2f\x3b-\x40\x5b-\x60\x7b-\x7e]+/;bu=["!www.ck","!city.kobe.jp","!city.nagoya.jp","!city.sapporo.jp","!city.sendai.jp","!city.yokohama.jp","*.ck","*.er","*.bd","*.fj","*.fk","*.gu","*.jm","*.kh","*.mm","*.np","*.pg","*.ss","*.tp","*.vi","*.ye","*.zm","*.kawasaki.jp","*.kitakyushu.jp","*.kobe.jp","*.nagoya.jp","*.osaka.jp","*.sapporo.jp","*.sendai.jp","*.yokohama.jp","com","net","org","edu","gov","mil","int","arpa","info","biz","name","mobi","tel","travel","museum","coop","aero","pro","jobs","cat","post","xxx","app","dev","io","ai","co","me","tv","fm","blog","shop","store","online","site","web","tech","cloud","digital","media","news","press","agency","solutions","services","systems","network","group","team","studio","design","art","photography","email","marketing","consulting","management","finance","money","bank","insurance","healthcare","medical","hospital","clinic","pharmacy","dental","legal","law","attorney","lawyer","accountant","pm","sh","ac","cc","cx","nu","ms","pw","sc","sx","tc","tk","ac","ad","ae","af","ag","ai","al","am","an","ao","aq","ar","as","at","au","aw","ax","az","ba","bb","bd","be","bf","bg","bh","bi","bj","bm","bn","bo","bq","br","bs","bt","bv","bw","by","bz","ca","cc","cd","cf","cg","ch","ci","ck","cl","cm","cn","co","cr","cu","cv","cw","cx","cy","cz","de","dj","dk","dm","do","dz","ec","ee","eg","eh","er","es","et","eu","fi","fj","fk","fm","fo","fr","ga","gb","gd","ge","gf","gg","gh","gi","gl","gm","gn","gp","gq","gr","gs","gt","gu","gw","gy","hk","hm","hn","hr","ht","hu","id","ie","il","im","in","io","iq","ir","is","it","je","jm","jo","jp","ke","kg","kh","ki","km","kn","kp","kr","kw","ky","kz","la","lb","lc","li","lk","lr","ls","lt","lu","lv","ly","ma","mc","md","me","mg","mh","mk","ml","mm","mn","mo","mp","mq","mr","ms","mt","mu","mv","mw","mx","my","mz","na","nc","ne","nf","ng","ni","nl","no","np","nr","nu","nz","om","pa","pe","pf","pg","ph","pk","pl","pm","pn","pr","ps","pt","pw","py","qa","re","ro","rs","ru","rw","sa","sb","sc","sd","se","sg","sh","si","sj","sk","sl","sm","sn","so","sr","ss","st","su","sv","sx","sy","sz","tc","td","tf","tg","th","tj","tk","tl","tm","tn","to","tr","tt","tv","tw","tz","ua","ug","uk","us","uy","uz","va","vc","ve","vg","vi","vn","vu","wf","ws","ye","yt","za","zm","zw","com.au","net.au","org.au","edu.au","gov.au","asn.au","id.au","info.au","conf.au","oz.au","act.au","nsw.au","nt.au","qld.au","sa.au","tas.au","vic.au","wa.au","com.br","net.br","org.br","edu.br","gov.br","mil.br","art.br","ind.br","adm.br","adv.br","agr.br","am.br","arq.br","ato.br","b.br","bio.br","blog.br","bmd.br","cim.br","cng.br","cnt.br","coop.br","ecn.br","eco.br","emp.br","eng.br","esp.br","etc.br","eti.br","far.br","flog.br","fm.br","fnd.br","fot.br","fst.br","g12.br","ggf.br","imb.br","inf.br","jor.br","jus.br","leg.br","lel.br","mat.br","med.br","mp.br","mus.br","not.br","ntr.br","odo.br","ppg.br","pro.br","psc.br","psi.br","qsl.br","radio.br","rec.br","slg.br","srv.br","taxi.br","teo.br","tmp.br","trd.br","tur.br","tv.br","vet.br","vlog.br","wiki.br","zlg.br","ab.ca","bc.ca","mb.ca","nb.ca","nf.ca","nl.ca","ns.ca","nt.ca","nu.ca","on.ca","pe.ca","qc.ca","sk.ca","yk.ca","com.cn","net.cn","org.cn","edu.cn","gov.cn","mil.cn","ac.cn","ah.cn","bj.cn","cq.cn","fj.cn","gd.cn","gs.cn","gz.cn","gx.cn","ha.cn","hb.cn","he.cn","hi.cn","hl.cn","hn.cn","jl.cn","js.cn","jx.cn","ln.cn","nm.cn","nx.cn","qh.cn","sc.cn","sd.cn","sh.cn","sn.cn","sx.cn","tj.cn","xj.cn","xz.cn","yn.cn","zj.cn","co.uk","me.uk","org.uk","ltd.uk","plc.uk","net.uk","sch.uk","gov.uk","nhs.uk","police.uk","mod.uk","ac.uk","judiciary.uk","parliament.uk","co.jp","ne.jp","or.jp","ac.jp","ad.jp","ed.jp","go.jp","gr.jp","lg.jp","aichi.jp","akita.jp","aomori.jp","chiba.jp","ehime.jp","fukui.jp","fukuoka.jp","fukushima.jp","gifu.jp","gunma.jp","hiroshima.jp","hokkaido.jp","hyogo.jp","ibaraki.jp","ishikawa.jp","iwate.jp","kagawa.jp","kagoshima.jp","kanagawa.jp","kochi.jp","kumamoto.jp","kyoto.jp","mie.jp","miyagi.jp","miyazaki.jp","nagano.jp","nagasaki.jp","nara.jp","niigata.jp","oita.jp","okayama.jp","okinawa.jp","osaka.jp","saga.jp","saitama.jp","shiga.jp","shimane.jp","shizuoka.jp","tochigi.jp","tokushima.jp","tokyo.jp","tottori.jp","toyama.jp","wakayama.jp","yamagata.jp","yamaguchi.jp","yamanashi.jp","co.nz","net.nz","org.nz","edu.nz","govt.nz","school.nz","geek.nz","maori.nz","iwi.nz","mil.nz","parliament.nz","ac.nz","co.za","net.za","org.za","edu.za","gov.za","mil.za","ac.za","alt.za","agric.za","cybernet.za","db.za","grondar.za","nis.za","nom.za","ngo.za","pty.za","school.za","tm.za","web.za","co.in","net.in","org.in","edu.in","gov.in","mil.in","ac.in","res.in","firm.in","gen.in","ind.in","int.in","nic.in","com.ar","net.ar","org.ar","edu.ar","gov.ar","mil.ar","int.ar","tur.ar","com.mx","net.mx","org.mx","edu.mx","gob.mx","com.sg","net.sg","org.sg","edu.sg","gov.sg","per.sg","com.hk","net.hk","org.hk","edu.hk","gov.hk","idv.hk","com.tw","net.tw","org.tw","edu.tw","gov.tw","mil.tw","idv.tw","game.tw","ebiz.tw","club.tw","com.my","net.my","org.my","edu.my","gov.my","mil.my","name.my","sch.my","com.ph","net.ph","org.ph","edu.ph","gov.ph","mil.ph","ngo.ph","i.ph","com.pk","net.pk","org.pk","edu.pk","gov.pk","mil.pk","ac.pk","res.pk","biz.pk","fam.pk","gob.pk","gok.pk","gon.pk","gop.pk","gos.pk","info.pk","com.eg","net.eg","org.eg","edu.eg","gov.eg","mil.eg","sci.eg","eun.eg","info.eg","name.eg","com.sa","net.sa","org.sa","edu.sa","gov.sa","med.sa","pub.sa","sch.sa","com.ae","net.ae","org.ae","edu.ae","gov.ae","mil.ae","sch.ae","ac.ae","pro.ae","name.ae","com.tr","net.tr","org.tr","edu.tr","gov.tr","mil.tr","bel.tr","k12.tr","av.tr","bbs.tr","dr.tr","gen.tr","info.tr","name.tr","pol.tr","tel.tr","web.tr","com.ua","net.ua","org.ua","edu.ua","gov.ua","mil.ua","in.ua","co.ua","cherkassy.ua","chernigov.ua","chernovtsy.ua","dn.ua","dnepropetrovsk.ua","donetsk.ua","dp.ua","if.ua","kh.ua","kharkov.ua","kherson.ua","khmelnitskiy.ua","kiev.ua","kirovograd.ua","km.ua","kr.ua","lg.ua","lugansk.ua","lutsk.ua","lviv.ua","mk.ua","mykolaiv.ua","nikolaev.ua","od.ua","odessa.ua","pl.ua","poltava.ua","rivne.ua","rovno.ua","rv.ua","sebastopol.ua","sumy.ua","te.ua","ternopil.ua","uzhgorod.ua","vinnica.ua","vn.ua","volyn.ua","yalta.ua","zp.ua","zaporizhzhe.ua","zt.ua","zhitomir.ua","com.ru","net.ru","org.ru","edu.ru","gov.ru","mil.ru","pp.ru","int.ru","ac.ru","msk.ru","spb.ru","com.pl","net.pl","org.pl","edu.pl","gov.pl","mil.pl","co.pl","info.pl","biz.pl","nom.pl","waw.pl","poznan.pl","lodz.pl","krakow.pl","wroclaw.pl","com.de","co.de","com.fr","co.fr","asso.fr","nom.fr","prd.fr","presse.fr","tm.fr","aeroport.fr","assedic.fr","avocat.fr","avoues.fr","cci.fr","chambagri.fr","chirurgiens-dentistes.fr","experts-comptables.fr","geometre-expert.fr","gouv.fr","greta.fr","huissier-justice.fr","medecin.fr","notaires.fr","pharmacien.fr","port.fr","veterinaire.fr","com.it","co.it","com.es","co.es","nom.es","org.es","edu.es","gob.es","com.nl","co.nl","com.be","co.be","ac.be","org.be","net.be","com.ch","co.ch","com.at","co.at","ac.at","gv.at","or.at","priv.at","com.se","co.se","ac.se","bd.se","brand.se","fh.se","fhsk.se","fhv.se","tm.se","pp.se","press.se","parti.se","komforb.se","kommunalforbund.se","komvux.se","lanarb.se","lanbib.se","naturbruksgymn.se","sshn.se","com.no","co.no","stat.no","fylkesbibl.no","folkebibl.no","museum.no","idrett.no","priv.no","mil.no","vgs.no","videregaaende.no","kommune.no","herad.no","aa.no","ah.no","bu.no","fm.no","hl.no","hm.no","jan-mayen.no","mr.no","nl.no","nt.no","of.no","ol.no","oslo.no","rl.no","sf.no","st.no","svalbard.no","tm.no","tr.no","va.no","vf.no","com.dk","co.dk","ac.dk","com.fi","co.fi","ac.fi","iki.fi","aland.fi","www.fi","com.pt","co.pt","edu.pt","gov.pt","int.pt","net.pt","nome.pt","org.pt","publ.pt","dyndns.pt","com.gr","co.gr","edu.gr","gov.gr","net.gr","org.gr","store.gr","com.ie","co.ie","gov.ie","net.ie","org.ie","teagasc.ie","com.cz","co.cz","edu.cz","net.cz","org.cz","info.cz","com.sk","co.sk","edu.sk","net.sk","org.sk","com.hu","co.hu","edu.hu","film.hu","gov.hu","info.hu","net.hu","org.hu","priv.hu","sport.hu","tm.hu","2000.hu","agrar.hu","bolt.hu","casino.hu","city.hu","erotica.hu","erotika.hu","forum.hu","games.hu","hotel.hu","ingatlan.hu","jogasz.hu","konyvelo.hu","lakas.hu","media.hu","news.hu","reklam.hu","sex.hu","shop.hu","suli.hu","szex.hu","tozsde.hu","utazas.hu","video.hu","com.ro","co.ro","edu.ro","gov.ro","info.ro","net.ro","nom.ro","org.ro","rec.ro","store.ro","tm.ro","www.ro","arts.ro","firm.ro","nt.ro","shop.ro","com.bg","co.bg","edu.bg","gov.bg","net.bg","org.bg","tel.bg","biz.bg","com.hr","co.hr","from.hr","iz.hr","name.hr","net.hr","com.rs","co.rs","edu.rs","gov.rs","in.rs","net.rs","org.rs","com.ba","co.ba","edu.ba","gov.ba","mil.ba","net.ba","org.ba","rs.ba","unbi.ba","unmo.ba","unsa.ba","untz.ba","unze.ba","com.co","net.co","org.co","edu.co","gov.co","mil.co","nom.co","com.ve","net.ve","org.ve","edu.ve","gov.ve","mil.ve","int.ve","co.ve","arts.ve","bib.ve","firm.ve","info.ve","nom.ve","rec.ve","store.ve","tec.ve","web.ve","com.pe","net.pe","org.pe","edu.pe","gov.pe","mil.pe","nom.pe","sld.pe","com.cl","co.cl","gob.cl","gov.cl","net.cl","org.cl","mil.cl","edu.cl","co.kr","ne.kr","or.kr","re.kr","pe.kr","go.kr","mil.kr","ac.kr","hs.kr","ms.kr","es.kr","sc.kr","kg.kr","seoul.kr","busan.kr","daegu.kr","incheon.kr","gwangju.kr","daejeon.kr","ulsan.kr","gyeonggi.kr","gangwon.kr","chungbuk.kr","chungnam.kr","jeonbuk.kr","jeonnam.kr","gyeongbuk.kr","gyeongnam.kr","jeju.kr","co.id","net.id","or.id","ac.id","web.id","sch.id","go.id","mil.id","my.id","co.th","net.th","org.th","ac.th","go.th","in.th","mi.th","com.vn","net.vn","org.vn","edu.vn","gov.vn","int.vn","ac.vn","biz.vn","info.vn","name.vn","pro.vn","health.vn","com.ng","net.ng","org.ng","edu.ng","gov.ng","mil.ng","mobi.ng","name.ng","sch.ng","co.ke","or.ke","ne.ke","go.ke","ac.ke","sc.ke","me.ke","mobi.ke","co.il","net.il","org.il","edu.il","gov.il","muni.il","ac.il","idf.il","com.ir","net.ir","org.ir","edu.ir","gov.ir","ac.ir","id.ir"],Qs=new Set,Gs=new Set,Xs=new Set;for(let r of bu)r.startsWith("!")?Xs.add(r.slice(1).toLowerCase()):r.startsWith("*.")?Gs.add(r.slice(2).toLowerCase()):Qs.add(r.toLowerCase());(async()=>{try{let r=await import("node:url");typeof r.domainToUnicode=="function"&&(Js=r.domainToUnicode)}catch{}})();_u=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/,Su=/^[\da-f:]+$/i;Eu=/^[!#$%&'*+\-.0-9A-Z^_`a-z|~]+$/});function vu(r,e){let t=r.name;return!(t.startsWith("__Secure-")&&(!r.secure||e.protocol!=="https:")||t.startsWith("__Host-")&&(!r.secure||e.protocol!=="https:"||r.path!=="/"||!r.hostOnly))}function Pu(r,e){switch(r){case"Strict":return e==="strict";case"Lax":return e==="strict"||e==="lax";case"Unset":return e!=="cross-site";case"None":return!0}}function Ys(r){try{return new URL(r)}catch{return null}}function sn(){return new Ce}function on(r){return Ce.fromJSON(r)}var ku,Au,Cu,Ha,Ce,ja=F(()=>{"use strict";nn();ku=4096,Au=50,Cu=3e3,Ha=400*24*60*60*1e3;Ce=class r{constructor(e={}){f(this,"dm",new Map);f(this,"total",0);f(this,"cleanupTimer",null);f(this,"maxTotal");f(this,"maxPerDomain");f(this,"domainMatcherFn");this.maxTotal=e.maxTotal??Cu,this.maxPerDomain=e.maxPerDomain??Au,this.domainMatcherFn=e.domainMatcher??null,this.cleanupTimer=setInterval(()=>{this.clearExpired()},300*1e3),typeof this.cleanupTimer=="object"&&this.cleanupTimer!==null&&"unref"in this.cleanupTimer&&this.cleanupTimer.unref()}destroy(){this.cleanupTimer&&(clearInterval(this.cleanupTimer),this.cleanupTimer=null)}setCookie(e,t){let n=Ys(t.url);if(!n)return!1;let s=At(e);if(!s)return!1;let o=Date.now(),i=n.hostname.toLowerCase(),a=i.replace(/^\[|\]$/g,""),l=n.protocol==="https:"||a==="localhost"||a==="127.0.0.1"||a==="::1";if(s.name.length+1+s.value.length>ku)return!1;let u,h;if(s.domain!==null&&s.domain!==""){let w=s.domain.toLowerCase();if(!(this.domainMatcherFn??Tt)(i,w)||Je(w))return!1;u=w,h=!1}else u=i,h=!0;let p=s.path??Rt(n.pathname),d=s.secure;if(d&&!l)return!1;let y=s.sameSite;if(y==="None"&&!d)return!1;let g;if(s.maxAge!==null){if(s.maxAge<=0)return this.removeCookie(u,p,s.name),!0;let w=Math.min(s.maxAge*1e3,Ha);g=o+w}else if(s.expires!==null){if(g=s.expires,g<=o)return this.removeCookie(u,p,s.name),!0;g=Math.min(g,o+Ha)}else g=1/0;let m={name:s.name,value:s.value,domain:u,path:p,expires:g,maxAge:s.maxAge,secure:d,httpOnly:s.httpOnly,sameSite:y,createdAt:o,lastAccessed:o,hostOnly:h};return vu(m,n)?(this.putCookie(m),!0):!1}getCookies(e){let t=Ys(e.url);if(!t)return[];let n=t.hostname.toLowerCase(),s=n.replace(/^\[|\]$/g,""),o=t.pathname||"/",i=t.protocol==="https:"||s==="localhost"||s==="127.0.0.1"||s==="::1",a=e.http!==!1,l=e.sameSiteContext??"none",c=Date.now(),u=[];for(let[p,d]of this.dm)if(this.matchDomain(n,p))for(let[,y]of d)for(let[,g]of y)g.hostOnly&&n!==g.domain||g.expires!==1/0&&g.expires<c||kt(o,g.path)&&(g.secure&&!i||g.httpOnly&&!a||Pu(g.sameSite,l)&&(g.name.startsWith("__Secure-")&&!(g.secure&&i)||g.name.startsWith("__Host-")&&!(g.secure&&i&&g.path==="/"&&g.hostOnly)||u.push(g)));u.sort((p,d)=>{let y=d.path.length-p.path.length;return y!==0?y:p.createdAt-d.createdAt});let h=Date.now();for(let p of u)p.lastAccessed=h;return u}getCookieHeader(e){return this.getCookies(e).map(t=>t.name?`${t.name}=${t.value}`:t.value).join("; ")}getCookiesForDomain(e){let t=he(e),n=[];for(let[s,o]of this.dm)if(s===t||s.endsWith("."+t))for(let[,i]of o)for(let[,a]of i)a.expires!==1/0&&a.expires<Date.now()||n.push(a);return n}processResponseHeaders(e,t){for(let n of Ct(e))this.setCookie(n,t)}removeCookie(e,t,n){let s=he(e),o=this.dm.get(s);if(!o)return!1;let i=o.get(t);if(!i)return!1;let a=i.delete(n);return a&&(this.total--,i.size===0&&o.delete(t),o.size===0&&this.dm.delete(s)),a}clear(){this.dm.clear(),this.total=0}clearExpired(){let e=Date.now(),t=0;for(let[n,s]of this.dm){for(let[o,i]of s){for(let[a,l]of i)l.expires!==1/0&&l.expires<e&&(i.delete(a),this.total--,t++);i.size===0&&s.delete(o)}s.size===0&&this.dm.delete(n)}return t}clearSession(){let e=0;for(let[t,n]of this.dm){for(let[s,o]of n){for(let[i,a]of o)a.expires===1/0&&(o.delete(i),this.total--,e++);o.size===0&&n.delete(s)}n.size===0&&this.dm.delete(t)}return e}clearForDomain(e){let t=he(e),n=0;for(let[s,o]of this.dm)if(s===t||s.endsWith("."+t)){let i=0;for(let a of o.values())i+=a.size;this.dm.delete(s),this.total-=i,n+=i}return n}clearForUrl(e){let t=Ys(e);return t?this.clearForDomain(t.hostname):0}toJSON(){let e=Date.now(),t=[];for(let[,n]of this.dm)for(let[,s]of n)for(let[,o]of s)o.expires!==1/0&&o.expires<e||t.push({name:o.name,value:o.value,domain:o.domain,path:o.path,expires:o.expires===1/0?null:o.expires,maxAge:o.maxAge,secure:o.secure,httpOnly:o.httpOnly,sameSite:o.sameSite,createdAt:o.createdAt,lastAccessed:o.lastAccessed,hostOnly:o.hostOnly});return t}toString(){return JSON.stringify(this.toJSON(),null,2)}static fromJSON(e){let t=new r,n=typeof e=="string"?JSON.parse(e):e,s=Date.now();for(let o of n){let i=o.expires===null?1/0:o.expires;if(i!==1/0&&i<s)continue;let a={name:o.name,value:o.value,domain:o.domain,path:o.path,expires:i,maxAge:o.maxAge,secure:o.secure,httpOnly:o.httpOnly,sameSite:o.sameSite,createdAt:o.createdAt,lastAccessed:o.lastAccessed,hostOnly:o.hostOnly};t.putCookie(a)}return t}get count(){return this.total}getAll(){let e=[];for(let[,t]of this.dm)for(let[,n]of t)for(let[,s]of n)e.push({...s});return e}getForDomain(e){let t=he(e),n=[];for(let[s,o]of this.dm)if(s===t||s.endsWith("."+t))for(let[,i]of o)for(let[,a]of i)n.push({...a});return n}putCookie(e){let{domain:t,path:n,name:s}=e;this.dm.has(t)||this.dm.set(t,new Map);let o=this.dm.get(t);o.has(n)||o.set(n,new Map);let i=o.get(n);if(i.has(s)){let a=i.get(s);i.set(s,{...e,createdAt:a.createdAt})}else this.evictForDomain(t,o),this.evictGlobal(),i.set(s,e),this.total++}evictForDomain(e,t){let n=0;for(let i of t.values())n+=i.size;if(n<this.maxPerDomain)return;let s=[];for(let[i,a]of t)for(let[l,c]of a)s.push([i,l,c]);s.sort((i,a)=>i[2].lastAccessed-a[2].lastAccessed);let o=0;for(;n>=this.maxPerDomain&&o<s.length;){let[i,a]=s[o++];t.get(i)?.delete(a)&&(this.total--,n--)}for(let[i,a]of t)a.size===0&&t.delete(i)}evictGlobal(){if(this.total<this.maxTotal)return;let e=[];for(let[n,s]of this.dm)for(let[o,i]of s)for(let[a,l]of i)e.push([n,o,a,l]);e.sort((n,s)=>n[3].lastAccessed-s[3].lastAccessed);let t=0;for(;this.total>=this.maxTotal&&t<e.length;){let[n,s,o]=e[t++],i=this.dm.get(n),a=i?.get(s);a?.delete(o)&&(this.total--,a.size===0&&i.delete(s),i.size===0&&this.dm.delete(n))}}matchDomain(e,t){if(this.domainMatcherFn)return this.domainMatcherFn(e,t);let n=e.toLowerCase(),s=t.toLowerCase();return n===s?!0:we(n)?!1:n.endsWith("."+s)}}});var Ba={};de(Ba,{CookieJar:()=>Ce,canonicalizeDomainFull:()=>he,createCookieJar:()=>sn,decodeIDNLabel:()=>sr,defaultPath:()=>Rt,domainMatch:()=>Tt,extractSetCookieHeaders:()=>Ct,formatSetCookieHeader:()=>$a,getPublicSuffix:()=>nr,getRegistrableDomain:()=>rn,isIPAddress:()=>we,isPublicSuffix:()=>Je,loadCookieJar:()=>on,normalizePath:()=>tn,parseCookieDate:()=>rr,parseSetCookieHeader:()=>At,pathMatch:()=>kt,splitSetCookieHeaders:()=>Ve});var Zs=F(()=>{"use strict";ja();nn()});var Fa={};de(Fa,{BatchingTransport:()=>It,ConsoleTransport:()=>Qe,HTTPLogger:()=>Pe,JSONTransport:()=>Pt,LogLevel:()=>vt,MultiTransport:()=>Mt,Redactor:()=>Ot,RemoteTransport:()=>Lt,createDevelopmentLogger:()=>no,createLogger:()=>to,createProductionLogger:()=>ro,toOTelSpan:()=>eo});function Uu(){let r=Date.now().toString(36),e=(++Nu).toString(36).padStart(4,"0"),t=Math.random().toString(36).slice(2,6);return`${r}-${e}-${t}`}function qa(r,e){if(!r||typeof r!="object"||e.length===0)return;let[t,...n]=e;if(t===void 0||t==="__proto__"||t==="constructor"||t==="prototype")return;let s=r;if(n.length===0){Object.prototype.hasOwnProperty.call(s,t)&&(s[t]="***");return}typeof s[t]=="object"&&qa(s[t],n)}function za(r){return typeof r=="string"?new TextEncoder().encode(r).byteLength:r.byteLength}function eo(r){let e={"http.request.id":r.requestId,"http.request.method":r.method,"url.full":r.url};return r.type==="response"&&(e["http.response.status_code"]=r.status,e["http.response.body.size"]=r.bodySize,e["http.time_to_first_byte"]=r.durationMs),r.type==="error"&&(e.error=!0,e["error.type"]=r.error.name,e["error.message"]=r.error.message,e["http.status_code"]=r.status),e}function $u(r){if(r instanceof Error){let e=r.code,t=r.stack;return{name:r.name,message:r.message,...e!==void 0?{code:e}:{},...t!==void 0?{stack:t}:{}}}return{name:"Error",message:String(r)}}function an(){return typeof performance<"u"?performance.now():Date.now()}function to(r){return new Pe(r)}function ro(r){let e=[new Pt];return r.endpoint&&e.push(new It(new Lt(r.endpoint))),new Pe({level:r.level??"INFO",transports:[new Mt(e)],...r.context!==void 0?{context:r.context}:{}})}function no(r={}){return new Pe({level:r.level??"DEBUG",transports:[new Qe({pretty:!0,useColors:!0,onWrite:e=>console.log(e)})],redaction:{logRequestBody:r.logBodies??!0,logResponseBody:r.logBodies??!0,maxBodyLength:2048}})}var Iu,vt,Lu,Mu,Ou,Qe,Du,Pt,It,Lt,Mt,Nu,Ot,ve,Pe,cn=F(()=>{"use strict";B();Iu=()=>{try{return globalThis.process?.env?.NODE_ENV}catch{return}},vt={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},Lu=["authorization","proxy-authorization","cookie","set-cookie","x-api-key","x-auth-token","x-access-token","x-refresh-token","x-csrf-token","x-session-id","x-session-token","x-secret","x-secret-key","x-private-key","api-key","apikey","bearer","token","authentication","credentials","password","passwd","secret"],Mu=["token","api_key","apikey","access_token","refresh_token","secret","password","pass","pwd","key","auth"],Ou=["application/json","application/x-www-form-urlencoded","text/"],Qe=class{constructor(e={pretty:!1,onWrite:t=>console.log(t)}){f(this,"pretty");f(this,"onWrite");this.pretty=e.pretty??Iu()!=="production",this.onWrite=e.onWrite,e.useColors}write(e){let t=this.pretty?this._prettyFormat(e):JSON.stringify(e);this.onWrite(t)}_prettyFormat(e){let t=new Date(e.timestampMs).toISOString().slice(11,23),n=e.level.padEnd(5),s=e.requestId.slice(-8);if(e.type==="request")return`[${t}] ${n} \u2190 ${e.method} ${e.url} [${s}]`;if(e.type==="response"){let o=`${e.durationMs.toFixed(0)}ms`,i=e.cached?" (cached)":"";return`[${t}] ${n} \u2192 ${e.status} ${e.method} ${e.url} ${o}${i} [${s}]`}return`[${t}] ${n} \u2717 ${e.method} ${e.url} ${e.error.message} [${s}]`}},Du=()=>{try{return typeof globalThis.process?.stdout?.write=="function"}catch{return!1}},Pt=class{constructor(e=t=>{Du()?globalThis.process.stdout.write(t+`
5
+ `):console.log(t)}){f(this,"writeLine");this.writeLine=e}write(e){this.writeLine(JSON.stringify(e))}},It=class{constructor(e,t={}){f(this,"inner");f(this,"options");f(this,"buffer",[]);f(this,"timer",null);this.inner=e,this.options=t}write(e){if(this.buffer.push(e),this.buffer.length>=(this.options.maxBatch??100)){this._flush();return}this.timer||(this.timer=setTimeout(()=>this._flush(),this.options.flushMs??5e3))}async flush(){this.timer&&(clearTimeout(this.timer),this.timer=null),this._flush(),this.inner.flush&&await this.inner.flush()}_flush(){if(this.buffer.length===0)return;let e=this.buffer.splice(0);for(let t of e)this.inner.write(t)}},Lt=class{constructor(e,t={}){f(this,"endpoint");f(this,"options");f(this,"buffer",[]);f(this,"timer",null);this.endpoint=e,this.options=t}write(e){if(this.buffer.push(e),this.buffer.length>=(this.options.batchSize??50)){this._flush();return}this.timer||(this.timer=setTimeout(()=>this._flush(),this.options.flushMs??3e3))}async flush(){this.timer&&(clearTimeout(this.timer),this.timer=null),await this._flushAsync()}_flush(){this._flushAsync().catch(this.options.onError??(e=>console.error("[logging] Flush error:",e)))}async _flushAsync(){if(this.buffer.length===0)return;let e=this.buffer.splice(0),t=this.options.fetch??globalThis.fetch;if(e.length<=10)await t(this.endpoint,{method:"POST",headers:{"content-type":"application/json",...this.options.headers},body:JSON.stringify(e)});else try{let{Readable:n}=await import("node:stream"),s=n.from([JSON.stringify(e)]);await t(this.endpoint,{method:"POST",headers:{"content-type":"application/json",...this.options.headers},body:s,duplex:"half"})}catch{await t(this.endpoint,{method:"POST",headers:{"content-type":"application/json",...this.options.headers},body:JSON.stringify(e)})}}},Mt=class{constructor(e){f(this,"transports");this.transports=e}write(e){for(let t of this.transports)try{t.write(e)}catch{}}async flush(){await Promise.allSettled(this.transports.map(e=>e.flush?.()))}},Nu=0;Ot=class{constructor(e={}){f(this,"headerSet");f(this,"paramSet");f(this,"bodyFields");f(this,"patterns");f(this,"maxBody");f(this,"logReqBody");f(this,"logResBody");f(this,"allowedTypes");let t=e.headers??Lu,n=e.queryParams??Mu;this.headerSet=new Set(t.map(s=>s.toLowerCase())),this.paramSet=new Set(n.map(s=>s.toLowerCase())),this.bodyFields=e.bodyFields??[],this.patterns=e.bodyPatterns??[],this.maxBody=e.maxBodyLength??4096,this.logReqBody=e.logRequestBody??!1,this.logResBody=e.logResponseBody??!1,this.allowedTypes=e.allowedBodyTypes??Ou}redactHeaders(e){let t={};for(let[n,s]of Object.entries(e))t[n]=this.headerSet.has(n.toLowerCase())?"***":s;return t}redactURL(e){try{let t=new URL(e);for(let n of[...t.searchParams.keys()])this.paramSet.has(n.toLowerCase())&&t.searchParams.set(n,"***");return t.toString()}catch{return e}}redactBody(e,t,n){if(!(n?this.logResBody:this.logReqBody)||!e)return{body:null,size:e?za(e):null};let o=t??"";if(!this.allowedTypes.some(c=>o.startsWith(c)))return{body:`[${o||"binary"}]`,size:e?za(e):null};let a;if(e instanceof Uint8Array)try{a=new TextDecoder().decode(e)}catch{return{body:"[binary]",size:e.byteLength}}else a=e;let l=a.length;if(o.includes("application/json")&&this.bodyFields.length>0)try{let c=M(JSON.parse(a));for(let u of this.bodyFields)qa(c,u.split("."));a=JSON.stringify(c)}catch{}for(let c of this.patterns)a=a.replace(c,"***");return a.length>this.maxBody&&(a=a.slice(0,this.maxBody)+`... [truncated ${a.length-this.maxBody} bytes]`),{body:a,size:l}}};ve=class ve{constructor(e={}){f(this,"cfg");f(this,"redactor");f(this,"level");f(this,"activeIds",new Map);this.cfg={level:e.level??"INFO",transports:e.transports??[new Qe],redaction:e.redaction??{},sampleRate:e.sampleRate??1,methods:e.methods??[],statuses:e.statuses??[],excludeURLs:e.excludeURLs??[],context:e.context??{},generateId:e.generateId??Uu},this.redactor=new Ot(this.cfg.redaction),this.level=vt[this.cfg.level]}_cleanupActiveIds(){let e=an();if(this.activeIds.size>ve.MAX_ACTIVE_IDS){let t=Array.from(this.activeIds.entries()),n=t.slice(0,t.length-Math.floor(ve.MAX_ACTIVE_IDS*.8));for(let[s]of n)this.activeIds.delete(s)}for(let[t,n]of this.activeIds)e-n.startMs>ve.IDLE_TIMEOUT_MS&&this.activeIds.delete(t)}logRequest(e,t,n,s,o,i,a={}){if(!this._shouldLog("INFO",t,n))return;this.activeIds.size>500&&this._cleanupActiveIds(),this.activeIds.set(e,{startMs:an(),method:t,url:n});let l=s["content-type"]??s["Content-Type"]??null,c=this.redactor.redactBody(o,l,!1),u={type:"request",requestId:e,timestamp:new Date().toISOString(),timestampMs:Date.now(),level:"INFO",method:t.toUpperCase(),url:this.redactor.redactURL(n),headers:this.redactor.redactHeaders(s),bodySize:c.size,body:c.body,attempt:i,meta:{...this.cfg.context,...a}};this._write(u)}logResponse(e,t,n,s,o,i,a,l={}){let c=this.activeIds.get(e),u=c?an()-c.startMs:0,h=c?.method??"GET",p=c?.url??"";if(!this._shouldLog("INFO",h,p,t))return;let d=s["content-type"]??s["Content-Type"]??null,y=this.redactor.redactBody(o,d,!0),g=t>=500?"ERROR":t>=400?"WARN":"INFO",m={type:"response",requestId:e,timestamp:new Date().toISOString(),timestampMs:Date.now(),level:g,method:h.toUpperCase(),url:this.redactor.redactURL(p),status:t,statusText:n,headers:this.redactor.redactHeaders(s),bodySize:y.size,body:y.body,durationMs:Math.round(u),attempt:i,cached:a,meta:{...this.cfg.context,...l}};this.activeIds.delete(e),this._write(m)}logError(e,t,n,s,o={}){let i=this.activeIds.get(e),a=i?an()-i.startMs:0,l=i?.method??"GET",c=i?.url??"";if(!this._shouldLog("ERROR",l,c))return;let u={type:"error",requestId:e,timestamp:new Date().toISOString(),timestampMs:Date.now(),level:"ERROR",method:l.toUpperCase(),url:this.redactor.redactURL(c),error:$u(t),status:n,durationMs:Math.round(a),attempt:s,meta:{...this.cfg.context,...o}};this.activeIds.delete(e),this._write(u)}generateRequestId(){return this.cfg.generateId()}child(e){return new ve({...this.cfg,context:{...this.cfg.context,...e}})}async flush(){await Promise.allSettled(this.cfg.transports.map(e=>e.flush?.()))}_write(e){if(!(vt[e.level]<this.level))for(let n of this.cfg.transports)try{let s=n.write(e);s&&typeof s.then=="function"&&s.catch(()=>{})}catch{}}_shouldLog(e,t,n,s){if(vt[e]<this.level||this.cfg.sampleRate<1&&Math.random()>this.cfg.sampleRate||this.cfg.methods.length>0&&!this.cfg.methods.includes(t.toUpperCase())||s!==void 0&&this.cfg.statuses.length>0&&!this.cfg.statuses.includes(s))return!1;for(let o of this.cfg.excludeURLs)if(o.test(n))return!1;return!0}};f(ve,"MAX_ACTIVE_IDS",1e4),f(ve,"IDLE_TIMEOUT_MS",6e4);Pe=ve});var co={};de(co,{SSEClient:()=>Ge,SSEError:()=>fe,SSEMaxReconnectsError:()=>Xe,SSEParser:()=>Ie,SSERouter:()=>ir,SSEServerResponse:()=>Dt,SSETransformStream:()=>or,createJSONSSEStream:()=>oo,createSSEResponse:()=>io,createSSEStream:()=>so,jsonSSE:()=>ln,parseSSEText:()=>ao});async function*ln(r,e={}){for await(let t of r)if(!(!t.data&&t.data!==""))try{let n=M(JSON.parse(t.data,e.reviver));yield{event:t.event,data:n,id:t.id}}catch(n){e.onError?.(n,t)}}function so(r){return new Ge(r)}function oo(r,e={}){return ln(new Ge(r),e)}function io(r,e={}){let t=new Dt;return(async()=>{try{await r(t)}catch(n){console.error("[sse] Generator error:",n)}t.close()})(),t.toResponse(e)}function ao(r){let e=new Ie,t=e.feed(r),n=e.flush();return n&&t.push(n),t}function Wa(r,e){return new Promise(t=>{if(e?.aborted){t();return}let n=()=>{clearTimeout(s),e?.removeEventListener("abort",n),t()},s=setTimeout(()=>{e?.removeEventListener("abort",n),t()},r);e?.addEventListener("abort",n,{once:!0})})}var Ie,or,Ge,ir,Dt,fe,Xe,ar=F(()=>{"use strict";B();Ie=class{constructor(){f(this,"lines",[]);f(this,"id",null);f(this,"event","message");f(this,"data",[]);f(this,"retry",null);f(this,"buffer","")}feed(e){let t=[];this.buffer+=e;let n=this.buffer.split(/\r\n|\r|\n/);this.buffer=n.pop()??"";for(let s of n){let o=this._processLine(s);o&&t.push(o)}return t}flush(){return this.buffer&&(this._processLine(this.buffer),this.buffer=""),this.data.length>0?this._dispatch():null}_processLine(e){if(this.lines.push(e),e==="")return this.data.length===0?(this.lines=[],null):this._dispatch();if(e.startsWith(":"))return null;let t=e.indexOf(":"),n,s;switch(t===-1?(n=e,s=""):(n=e.slice(0,t),s=e.slice(t+1).replace(/^ /,"")),n){case"id":this.id=s||null;break;case"event":this.event=s;break;case"data":this.data.push(s);break;case"retry":{let o=parseInt(s,10);!isNaN(o)&&o>=0&&(this.retry=o);break}}return null}_dispatch(){let e={id:this.id,event:this.event,data:this.data.join(`
6
+ `),retry:this.retry,raw:[...this.lines]};return this.lines=[],this.event="message",this.data=[],this.retry=null,e}reset(){this.lines=[],this.id=null,this.event="message",this.data=[],this.retry=null,this.buffer=""}get lastId(){return this.id}},or=class extends TransformStream{constructor(t={}){super({transform:(n,s)=>{try{let o=typeof n=="string"?n:this.decoder.decode(n,{stream:!0}),i=this.parser.feed(o);for(let a of i)s.enqueue(a)}catch(o){t.onParseError?.(o,String(n))}},flush:n=>{let s=this.parser.flush();s&&n.enqueue(s)}});f(this,"parser",new Ie);f(this,"decoder",new TextDecoder("utf-8"))}},Ge=class{constructor(e){f(this,"config");f(this,"health");f(this,"_closed",!1);f(this,"_streamController",null);this.config={fetch:globalThis.fetch,headers:{},signal:e.signal??void 0,lastEventId:"",reconnect:!0,reconnectDelayMs:3e3,maxReconnectDelayMs:3e4,reconnectJitter:.3,maxReconnects:0,onReconnect:()=>{},onParseError:t=>{},heartbeatTimeoutMs:0,method:"GET",body:null,validateResponse:()=>!0,...e},this.health={connected:!1,totalEvents:0,totalReconnects:0,lastEventAt:null,lastEventId:this.config.lastEventId||null,reconnectAttempt:0}}get url(){return this.config.url}get closed(){return this._closed}async*[Symbol.asyncIterator](){yield*this._stream()}async*stream(){yield*this._stream()}async*on(e){for await(let t of this._stream())t.event===e&&(yield t)}async collect(e={}){let t=[],n=0;for await(let s of this._stream())if(t.push(s),n++,e.limit&&n>=e.limit||e.signal?.aborted)break;return t}close(){this._closed=!0,this._streamController&&(this._streamController.abort(),this._streamController=null),this.health.connected=!1}destroy(){this.close(),this.health={connected:!1,totalEvents:this.health.totalEvents,totalReconnects:this.health.totalReconnects,lastEventAt:this.health.lastEventAt,lastEventId:this.health.lastEventId,reconnectAttempt:0}}get streamHealth(){return{...this.health}}async*_stream(){let e=this.config,t=e.reconnectDelayMs,n=0;for(this._streamController=new AbortController;!this._closed&&!this._streamController?.signal.aborted;){let s=this._closed;if(s||e.signal?.aborted||this._streamController?.signal.aborted)break;let o=new Ie,i=null;try{let l={accept:"text/event-stream","cache-control":"no-cache",...e.headers};this.health.lastEventId&&(l["last-event-id"]=this.health.lastEventId);let c={method:e.method,headers:l,body:e.body??null,signal:e.signal??null};e.body!==null&&e.body!==void 0&&(c.duplex="half");let u=await e.fetch(e.url,c),h=e.validateResponse(u);if(h!==!0){let w=typeof h=="string"?h:`SSE server returned ${u.status}`;throw new fe(w,u.status,u)}if(!u.ok)throw new fe(`SSE server error: ${u.status}`,u.status,u);if(!u.body)throw new fe("SSE response has no body",u.status,u);let p=u.headers.get("content-type")??"";if(!p.startsWith("text/event-stream"))throw new fe(`Expected text/event-stream, got: ${p}`,u.status,u);this.health.connected=!0,n=0,t=e.reconnectDelayMs;let d=u.body.getReader(),y=new TextDecoder("utf-8"),g=()=>{i&&clearTimeout(i),e.heartbeatTimeoutMs>0&&(i=setTimeout(()=>{d.cancel("heartbeat timeout")},e.heartbeatTimeoutMs))};g();try{for(;!s&&!e.signal?.aborted;){let{done:w,value:S}=await d.read();if(w)break;let _=y.decode(S,{stream:!0}),T=o.feed(_);for(let v of T)g(),v.retry!==null&&(t=Math.min(v.retry,e.maxReconnectDelayMs)),v.id!==null&&(this.health.lastEventId=v.id),this.health.totalEvents++,this.health.lastEventAt=Date.now(),yield v}}finally{i&&clearTimeout(i);try{d.cancel()}catch{}}let m=o.flush();m&&(this.health.totalEvents++,this.health.lastEventAt=Date.now(),yield m)}catch(l){if(this.health.connected=!1,s||l instanceof Error&&l.name==="AbortError"||e.signal?.aborted)break;if(l instanceof fe&&l.status&&[401,403,404].includes(l.status)||!e.reconnect)throw l;if(e.maxReconnects>0&&this.health.totalReconnects>=e.maxReconnects)throw new Xe(this.health.totalReconnects,e.url);n++,this.health.totalReconnects++,this.health.reconnectAttempt=n;let c=t*e.reconnectJitter*Math.random(),u=Math.min(t+c,e.maxReconnectDelayMs);if(t=Math.min(t*2,e.maxReconnectDelayMs),e.onReconnect(n,u),i&&(clearTimeout(i),i=null),await Wa(u,e.signal),e.signal?.aborted)break;o.reset();continue}if(this.health.connected=!1,!e.reconnect)break;if(e.maxReconnects>0&&this.health.totalReconnects>=e.maxReconnects)throw new Xe(this.health.totalReconnects,e.url);n++,this.health.totalReconnects++,this.health.reconnectAttempt=n;let a=Math.min(t+t*e.reconnectJitter*Math.random(),e.maxReconnectDelayMs);if(t=Math.min(t*2,e.maxReconnectDelayMs),e.onReconnect(n,a),i&&(clearTimeout(i),i=null),await Wa(a,e.signal),e.signal?.aborted)break}this.health.connected=!1}};ir=class{constructor(){f(this,"handlers",new Map);f(this,"fallback",null)}on(e,t){let n=this.handlers.get(e)??[];return n.push(t),this.handlers.set(e,n),this}onJSON(e,t){return this.on(e,async(n,s)=>{try{let o=M(JSON.parse(n));await t(o,s)}catch{}})}onMessage(e){return this.on("message",e)}onAny(e){return this.fallback=e,this}async dispatch(e){let t=this.handlers.get(e.event);if(t&&t.length>0)for(let n of t)await n(e.data,e);else this.fallback&&await this.fallback(e.data,e)}async consume(e){for await(let t of e)await this.dispatch(t)}},Dt=class{constructor(){f(this,"controller");f(this,"stream");f(this,"_closed",!1);let e;this.stream=new ReadableStream({start:t=>{e=t},cancel:()=>{this._closed=!0}}),this.controller=e}comment(e=""){return this._closed||this.controller.enqueue(`: ${e}
7
7
 
8
8
  `),this}send(e,t={}){return this.sendEvent("message",e,t)}sendEvent(e,t,n={}){if(this._closed)return this;let s="";n.id!==void 0&&(s+=`id: ${n.id}
9
9
  `),e!=="message"&&(s+=`event: ${e}
@@ -13,8 +13,8 @@
13
13
  `;return s+=`
14
14
  `,this.controller.enqueue(s),this}sendJSON(e,t,n={}){return this.sendEvent(e,JSON.stringify(t),n)}heartbeat(){return this.comment("heartbeat")}setReconnectDelay(e){return this._closed||this.controller.enqueue(`retry: ${e}
15
15
 
16
- `),this}close(){if(!this._closed){this._closed=!0;try{this.controller.close()}catch{}}}get closed(){return this._closed}toResponse(e={}){let t=new TextEncoder,n=this.stream.pipeThrough(new TransformStream({transform:(s,o)=>o.enqueue(t.encode(s))}));return new Response(n,{headers:{"content-type":"text/event-stream; charset=utf-8","cache-control":"no-cache, no-transform",connection:"keep-alive","x-accel-buffering":"no",...e}})}},he=class extends Error{constructor(t,n,s){super(t);h(this,"status");h(this,"response");h(this,"code","ESSE");this.status=n,this.response=s,this.name="SSEError"}},Je=class extends Error{constructor(t,n){super(`SSE max reconnects (${t}) reached for ${n}`);h(this,"attempts");h(this,"url");h(this,"code","ESSEMAXRECONNECTS");this.attempts=t,this.url=n,this.name="SSEMaxReconnectsError"}}});var qa={};fe(qa,{GraphQLClient:()=>te,GraphQLClientError:()=>N,authLink:()=>oo,clearAPQCache:()=>ho,createGraphQLClient:()=>lo,detectOperationType:()=>on,errorLink:()=>io,extractOperationName:()=>ye,getAPQMetrics:()=>fo,gql:()=>uo,loggingLink:()=>ao,retryLink:()=>co});function nn(r,e,t){let n=r.map(s=>s.message).join("; ");return new N(n,"EGRAPHQL",r,e,t)}function $a(r){return new Promise(e=>setTimeout(e,r))}function Ru(r,e){return r.reduceRight((t,n)=>s=>n(s,t),e)}function on(r){let e=r.replace(/^\s*#.*$/gm,"").trim();return/^\s*mutation\s/i.test(e)?"mutation":/^\s*subscription\s/i.test(e)?"subscription":"query"}function ye(r){let t=r.replace(/^\s*#.*$/gm,"").trim().match(/^\s*(?:query|mutation|subscription)\s+([A-Za-z_][A-Za-z0-9_]*)/im);return t?t[1]:null}async function Ha(r){let e=new TextEncoder().encode(r),t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(n)).map(s=>s.toString(16).padStart(2,"0")).join("")}async function sn(r,e={}){let t={"content-type":"application/json",accept:"application/json"},n=typeof r.headers=="function"?await r.headers():r.headers??{};return{...t,...n,...e}}function ja(r){if(r.length>Da)throw new J(`GraphQL query exceeds maximum length of ${Da} bytes`);for(let n of Cu)if(n.test(r))throw new J(`GraphQL query contains potentially malicious pattern: ${n}`);let e=0,t=0;for(let n=0;n<r.length;n++){let s=r[n];s==="{"?(e++,t=Math.max(t,e)):s==="}"&&e--}if(t>Na)throw new J(`GraphQL query exceeds maximum depth of ${Na}`);if(e!==0)throw new J("GraphQL query has unbalanced braces")}function so(r,e=1e4){let t=JSON.stringify(r);if(t.length>e)throw new J(`String value exceeds maximum length of ${e} characters`);return t}function Ua(r,e){e.query&&ja(e.query);let t=new URL(r),n=or(e);return t.searchParams.set("query",e.query),e.operationName&&t.searchParams.set("operationName",e.operationName),e.variables&&Object.keys(e.variables).length>0&&t.searchParams.set("variables",so(e.variables)),e.extensions&&Object.keys(e.extensions).length>0&&t.searchParams.set("extensions",so(e.extensions)),t.toString()}function or(r){ja(r.query);let e={query:r.query};return r.operationName&&(e.operationName=r.operationName),r.variables&&(e.variables=r.variables),r.extensions&&(e.extensions=r.extensions),so(e,1e5)}function vu(r,e){let t=new FormData,n=JSON.parse(or(r)),s={};for(let o=0;o<e.length;o++){let i=e[o];s[String(o)]=[i.path],Pu(n,i.path,null)}t.append("operations",JSON.stringify(n)),t.append("map",JSON.stringify(s));for(let o=0;o<e.length;o++){let i=e[o],a=i.file instanceof File?i.file.name:`file_${o}`;t.append(String(o),i.file,a)}return t}function Pu(r,e,t){let n=e.split("."),s=r;for(let i=0;i<n.length-1;i++){let a=n[i];if(a==="__proto__"||a==="constructor"||a==="prototype")throw new J(`Invalid upload path: "${e}" \u2014 reserved key "${a}"`);(!s[a]||typeof s[a]!="object")&&(s[a]={}),s=s[a]}let o=n[n.length-1];if(o==="__proto__"||o==="constructor"||o==="prototype")throw new J(`Invalid upload path: "${e}" \u2014 reserved key "${o}"`);s[o]=t}async function za(r,e){let t=r.headers.get("content-type")??"";if(!r.ok&&!t.includes("application/json")){let s=await r.text().catch(()=>"(unreadable)");throw new N(`HTTP ${r.status}: ${r.statusText}
17
- ${s}`,"ENETWORK",void 0,e,void 0,new Error(`HTTP ${r.status}`))}let n;try{n=M(await r.json())}catch(s){throw new N("Failed to parse GraphQL response as JSON","EPARSE",void 0,e,void 0,s)}return n}async function no(r,e,t,n="none",s){let o=await sn(e),i=on(r.query),a=e.useGETForQueries&&i==="query",c=e.url,l=null,u={...o};if(n==="omitQuery"||n==="full"){let g=s?await s(r.query):await Ha(r.query),m={...r.extensions,persistedQuery:{version:1,sha256Hash:g}},y=n==="omitQuery"?{...r,query:"",extensions:m}:{...r,extensions:m};a?c=Ua(e.url,y):l=or(y)}else a?c=Ua(e.url,r):l=or(r);a||(u["content-type"]="application/json");let f=new AbortController,p=e.timeoutMs>0?setTimeout(()=>f.abort(),e.timeoutMs):null;t?.addEventListener("abort",()=>f.abort(),{once:!0});let d;try{d=await e.fetch(c,{method:a?"GET":"POST",headers:u,body:l,signal:f.signal})}catch(g){throw p&&clearTimeout(p),f.signal.aborted?new N("Request timed out","ETIMEOUT",void 0,r,void 0,g):new N(g instanceof Error?g.message:"Network error","ENETWORK",void 0,r,void 0,g)}finally{p&&clearTimeout(p)}return za(d,r)}function oo(r,e="Bearer"){return async(t,n)=>{let s=await r();if(s){let o=t.request.headers??{};t.request={...t.request,headers:{...o,authorization:`${e} ${s}`}};let i=typeof t.config.headers=="object"&&!Array.isArray(t.config.headers)?t.config.headers:{};t={...t,config:{...t.config,headers:{...i,authorization:`${e} ${s}`}}}}return n(t)}}function io(r){return async(e,t)=>{try{return await t(e)}catch(n){if(!(n instanceof N))throw n;let s=r(n,e,()=>t(e));if(s)return s;throw n}}}function ao(r=(e,t)=>console.log(e,t)){return async(e,t)=>{let n=Date.now();r("\u2192 GraphQL",{operation:e.request.operationName??"anonymous",url:e.config.url});try{let s=await t(e);return r("\u2190 GraphQL",{operation:e.request.operationName,durationMs:Date.now()-n,errors:s.errors}),s}catch(s){throw r("\u2717 GraphQL",{operation:e.request.operationName,durationMs:Date.now()-n,error:String(s)}),s}}}function co(r={}){let e=r.maxRetries??3,t=r.delayMs??300,n=r.shouldRetry??(s=>!(s instanceof N&&s.isGraphQLError));return async(s,o)=>{let i;for(let a=0;a<=e;a++){a>0&&await $a(t*Math.pow(2,a-1));try{return await o(s)}catch(c){if(i=c,!n(c,a))throw c}}throw i}}function lo(r){return new te(r)}async function uo(r,e,t,n){return await new te({url:r,...n!==void 0?{headers:n}:{}}).query(e,t)}var N,ku,ro,Au,Da,Na,Cu,E,te,Iu,ho,fo,an=F(()=>{"use strict";Ne();z();N=class extends Error{constructor(t,n,s,o,i,a){super(t);h(this,"graphQLErrors");h(this,"request");h(this,"response");h(this,"networkError");h(this,"code");this.graphQLErrors=s,this.request=o,this.response=i,this.networkError=a,this.name="GraphQLClientError",this.code=n}get isGraphQLError(){return!!this.graphQLErrors&&this.graphQLErrors.length>0}get isNetworkError(){return!!this.networkError}get firstErrorMessage(){return this.graphQLErrors?.[0]?.message??null}};ku=1e3,ro=1800*1e3,Au=300*1e3;Da=100*1024,Na=100,Cu=[/\{\s*\{/,/<\s*</,/<!--/,/<script/,/javascript:/i,/onerror\s*=/i,/eval\s*\(/i];E=class E{constructor(e){h(this,"config");h(this,"executeLink");this.config={fetch:globalThis.fetch,headers:{},useGETForQueries:!1,enableAPQ:!1,timeoutMs:3e4,retries:0,retryDelayMs:300,links:[],signal:e.signal??new AbortController().signal,onRequest:()=>{},onResponse:()=>{},onError:()=>{},...e};let t=n=>this._executeWithAPQ(n.request,n.signal??null);this.executeLink=Ru(this.config.links,t)}static _ensureAPQCleanup(){E._apqCleanupTimer||(E._apqCleanupTimer=setInterval(()=>{let e=Date.now();for(let[t,n]of E.apqCache)e-n.createdAt>ro&&(E.apqCache.delete(t),E.apqHashToQuery.delete(n.hash));for(let[t,n]of E.apqHashToQuery)if(e-n.createdAt>ro){E.apqHashToQuery.delete(t);for(let[s,o]of E.apqCache)if(o.hash===t){E.apqCache.delete(s);break}}},Au),typeof E._apqCleanupTimer=="object"&&E._apqCleanupTimer!==null&&"unref"in E._apqCleanupTimer&&E._apqCleanupTimer.unref())}async _getAPQHash(e){E._ensureAPQCleanup();let t=E.apqCache.get(e);if(t){if(Date.now()-t.createdAt<=ro)return E._apqHits++,t.hash;E.apqCache.delete(e),E.apqHashToQuery.delete(t.hash)}E._apqMisses++;let n=await Ha(e),s=Date.now(),o=E.apqHashToQuery.get(n);if(o&&o.query!==e&&(console.warn("[GraphQL] APQ hash collision detected"),E.apqCache.delete(o.query),E.apqHashToQuery.delete(n)),E.apqCache.size>=ku){let i="",a=1/0;for(let[c,l]of E.apqCache)l.createdAt<a&&(a=l.createdAt,i=c);if(i){let c=E.apqCache.get(i);c&&(E.apqCache.delete(i),E.apqHashToQuery.delete(c.hash))}}return E.apqCache.set(e,{hash:n,createdAt:s}),E.apqHashToQuery.set(n,{query:e,createdAt:s}),n}clearAPQCache(){E.apqCache.clear(),E.apqHashToQuery.clear(),E._apqHits=0,E._apqMisses=0,E._apqCleanupTimer&&(clearInterval(E._apqCleanupTimer),E._apqCleanupTimer=null)}getAPQMetrics(){return{size:E.apqCache.size,hits:E._apqHits,misses:E._apqMisses}}async query(e,t,n={}){let s={query:e,...t!==void 0?{variables:t}:{},...n.operationName!==void 0?{operationName:n.operationName}:ye(e)!==void 0?{operationName:ye(e)}:{},...n.extensions!==void 0?{extensions:n.extensions}:{}};return await this._execute(s,n.signal??null)}async mutate(e,t,n={}){return await this.query(e,t,n)}async upload(e,t,n,s={}){let o={query:e,variables:t,...s.operationName!==void 0?{operationName:s.operationName}:ye(e)!==void 0?{operationName:ye(e)}:{}},i=await sn(this.config,{});delete i["content-type"];let a=vu(o,n),c=new AbortController;s.signal?.addEventListener("abort",()=>c.abort(),{once:!0}),this.config.onRequest(o);let l;try{l=await this.config.fetch(this.config.url,{method:"POST",headers:i,body:a,signal:c.signal})}catch(f){let p=new N(f instanceof Error?f.message:"Upload network error","ENETWORK",void 0,o,void 0,f);throw this.config.onError(p,o),p}let u=await za(l,o);if(this.config.onResponse(u,o),u.errors?.length){let f=nn(u.errors,o,u);throw this.config.onError(f,o),f}if(u.data===void 0)throw new N("No data in upload response","ENODATA",void 0,o,u);return u.data}async batch(e,t={}){let n=await sn(this.config),s=new AbortController;t.signal?.addEventListener("abort",()=>s.abort(),{once:!0});let o;try{o=await this.config.fetch(this.config.url,{method:"POST",headers:n,body:JSON.stringify(e),signal:s.signal})}catch(c){throw new N(c instanceof Error?c.message:"Batch network error","ENETWORK",void 0,e[0],void 0,c)}let i=M(await o.json());if(!Array.isArray(i))throw new N("Batch response must be an array of GraphQL responses","EINVALIDRESPONSE",void 0,e[0],i);return i.map((c,l)=>{if(c.errors?.length)throw nn(c.errors,e[l],c);if(c.data===void 0)throw new N("No data in batch response","ENODATA",void 0,e[l],c);return c.data})}async*subscribe(e,t,n={}){let s={query:e,...t!==void 0?{variables:t}:{},...n.operationName!==void 0?{operationName:n.operationName}:ye(e)!==void 0?{operationName:ye(e)}:{}},o=n.url??this.config.url,i=await sn(this.config,{accept:"text/event-stream"}),a=or(s),{SSEClient:c}=await Promise.resolve().then(()=>(sr(),to)),l=new c({url:o,method:"POST",headers:i,body:a,signal:n.signal??this.config.signal,reconnect:!1,fetch:this.config.fetch});for await(let u of l){if(u.event==="complete")return;if(!u.data)continue;let f;try{f=M(JSON.parse(u.data))}catch{continue}if(f.errors?.length)throw nn(f.errors,s,f);f.data!==void 0&&(yield f.data)}}async introspect(){return await this.query(Iu)}async raw(e,t){return await this._executeRaw(e,t??null)}async _execute(e,t){this.config.onRequest(e);let n=await this._executeWithRetry(e,t);if(this.config.onResponse(n,e),n.errors?.length){let s=nn(n.errors,e,n);throw this.config.onError(s,e),s}if(n.data===void 0)throw new N("Response contained no data","ENODATA",void 0,e,n);return n.data}async _executeRaw(e,t){return await this.executeLink({request:e,config:this.config,...t!=null?{signal:t}:{}})}async _executeWithRetry(e,t){let n;for(let s=0;s<=this.config.retries;s++){s>0&&await $a(this.config.retryDelayMs*Math.pow(2,s-1));try{return await this._executeRaw(e,t)}catch(o){if(n=o,o instanceof N&&o.isGraphQLError||t?.aborted)throw o}}throw n}async _executeWithAPQ(e,t){if(!this.config.enableAPQ)return no(e,this.config,t,"none",void 0);let n=await no(e,this.config,t,"omitQuery",o=>this._getAPQHash(o));return n.errors?.some(o=>o.extensions?.code==="PERSISTED_QUERY_NOT_FOUND")?no(e,this.config,t,"full",o=>this._getAPQHash(o)):n}};h(E,"apqCache",new Map),h(E,"apqHashToQuery",new Map),h(E,"_apqHits",0),h(E,"_apqMisses",0),h(E,"_apqCleanupTimer",null);te=E;Iu=`
16
+ `),this}close(){if(!this._closed){this._closed=!0;try{this.controller.close()}catch{}}}get closed(){return this._closed}toResponse(e={}){let t=new TextEncoder,n=this.stream.pipeThrough(new TransformStream({transform:(s,o)=>o.enqueue(t.encode(s))}));return new Response(n,{headers:{"content-type":"text/event-stream; charset=utf-8","cache-control":"no-cache, no-transform",connection:"keep-alive","x-accel-buffering":"no",...e}})}},fe=class extends Error{constructor(t,n,s){super(t);f(this,"status");f(this,"response");f(this,"code","ESSE");this.status=n,this.response=s,this.name="SSEError"}},Xe=class extends Error{constructor(t,n){super(`SSE max reconnects (${t}) reached for ${n}`);f(this,"attempts");f(this,"url");f(this,"code","ESSEMAXRECONNECTS");this.attempts=t,this.url=n,this.name="SSEMaxReconnectsError"}}});var Za={};de(Za,{GraphQLClient:()=>ne,GraphQLClientError:()=>N,authLink:()=>fo,clearAPQCache:()=>bo,createGraphQLClient:()=>yo,detectOperationType:()=>fn,errorLink:()=>po,extractOperationName:()=>be,getAPQMetrics:()=>xo,gql:()=>wo,loggingLink:()=>mo,retryLink:()=>go});function un(r,e,t){let n=r.map(s=>s.message).join("; ");return new N(n,"EGRAPHQL",r,e,t)}function Qa(r){return new Promise(e=>setTimeout(e,r))}function Hu(r,e){return r.reduceRight((t,n)=>s=>n(s,t),e)}function fn(r){let e=r.replace(/^\s*#.*$/gm,"").trim();return/^\s*mutation\s/i.test(e)?"mutation":/^\s*subscription\s/i.test(e)?"subscription":"query"}function be(r){let t=r.replace(/^\s*#.*$/gm,"").trim().match(/^\s*(?:query|mutation|subscription)\s+([A-Za-z_][A-Za-z0-9_]*)/im);return t?t[1]:null}async function Ga(r){let e=new TextEncoder().encode(r),t=e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength),n=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(n)).map(s=>s.toString(16).padStart(2,"0")).join("")}async function hn(r,e={}){let t={"content-type":"application/json",accept:"application/json"},n=typeof r.headers=="function"?await r.headers():r.headers??{};return{...t,...n,...e}}function Xa(r){if(r.length>Ka)throw new Q(`GraphQL query exceeds maximum length of ${Ka} bytes`);for(let n of zu)if(n.test(r))throw new Q(`GraphQL query contains potentially malicious pattern: ${n}`);let e=0,t=0;for(let n=0;n<r.length;n++){let s=r[n];s==="{"?(e++,t=Math.max(t,e)):s==="}"&&e--}if(t>Va)throw new Q(`GraphQL query exceeds maximum depth of ${Va}`);if(e!==0)throw new Q("GraphQL query has unbalanced braces")}function ho(r,e=1e4){let t=JSON.stringify(r);if(t.length>e)throw new Q(`String value exceeds maximum length of ${e} characters`);return t}function Ja(r,e){e.query&&Xa(e.query);let t=new URL(r),n=cr(e);return t.searchParams.set("query",e.query),e.operationName&&t.searchParams.set("operationName",e.operationName),e.variables&&Object.keys(e.variables).length>0&&t.searchParams.set("variables",ho(e.variables)),e.extensions&&Object.keys(e.extensions).length>0&&t.searchParams.set("extensions",ho(e.extensions)),t.toString()}function cr(r){Xa(r.query);let e={query:r.query};return r.operationName&&(e.operationName=r.operationName),r.variables&&(e.variables=r.variables),r.extensions&&(e.extensions=r.extensions),ho(e,1e5)}function qu(r,e){let t=new FormData,n=JSON.parse(cr(r)),s={};for(let o=0;o<e.length;o++){let i=e[o];s[String(o)]=[i.path],Fu(n,i.path,null)}t.append("operations",JSON.stringify(n)),t.append("map",JSON.stringify(s));for(let o=0;o<e.length;o++){let i=e[o],a=i.file instanceof File?i.file.name:`file_${o}`;t.append(String(o),i.file,a)}return t}function Fu(r,e,t){let n=e.split("."),s=r;for(let i=0;i<n.length-1;i++){let a=n[i];if(a==="__proto__"||a==="constructor"||a==="prototype")throw new Q(`Invalid upload path: "${e}" \u2014 reserved key "${a}"`);(!s[a]||typeof s[a]!="object")&&(s[a]={}),s=s[a]}let o=n[n.length-1];if(o==="__proto__"||o==="constructor"||o==="prototype")throw new Q(`Invalid upload path: "${e}" \u2014 reserved key "${o}"`);s[o]=t}async function Ya(r,e){let t=r.headers.get("content-type")??"";if(!r.ok&&!t.includes("application/json")){let s=await r.text().catch(()=>"(unreadable)");throw new N(`HTTP ${r.status}: ${r.statusText}
17
+ ${s}`,"ENETWORK",void 0,e,void 0,new Error(`HTTP ${r.status}`))}let n;try{n=M(await r.json())}catch(s){throw new N("Failed to parse GraphQL response as JSON","EPARSE",void 0,e,void 0,s)}return n}async function uo(r,e,t,n="none",s){let o=await hn(e),i=fn(r.query),a=e.useGETForQueries&&i==="query",l=e.url,c=null,u={...o};if(n==="omitQuery"||n==="full"){let g=s?await s(r.query):await Ga(r.query),m={...r.extensions,persistedQuery:{version:1,sha256Hash:g}},w=n==="omitQuery"?{...r,query:"",extensions:m}:{...r,extensions:m};a?l=Ja(e.url,w):c=cr(w)}else a?l=Ja(e.url,r):c=cr(r);a||(u["content-type"]="application/json");let h=new AbortController,p=e.timeoutMs>0?setTimeout(()=>h.abort(),e.timeoutMs):null,d=()=>h.abort();t?.addEventListener("abort",d,{once:!0});let y;try{y=await e.fetch(l,{method:a?"GET":"POST",headers:u,body:c,signal:h.signal})}catch(g){throw p&&clearTimeout(p),h.signal.aborted?new N("Request timed out","ETIMEOUT",void 0,r,void 0,g):new N(g instanceof Error?g.message:"Network error","ENETWORK",void 0,r,void 0,g)}finally{p&&clearTimeout(p),t?.removeEventListener("abort",d)}return Ya(y,r)}function fo(r,e="Bearer"){return async(t,n)=>{let s=await r();if(s){let o=t.request.headers??{};t.request={...t.request,headers:{...o,authorization:`${e} ${s}`}};let i=typeof t.config.headers=="object"&&!Array.isArray(t.config.headers)?t.config.headers:{};t={...t,config:{...t.config,headers:{...i,authorization:`${e} ${s}`}}}}return n(t)}}function po(r){return async(e,t)=>{try{return await t(e)}catch(n){if(!(n instanceof N))throw n;let s=r(n,e,()=>t(e));if(s)return s;throw n}}}function mo(r=(e,t)=>console.log(e,t)){return async(e,t)=>{let n=Date.now();r("\u2192 GraphQL",{operation:e.request.operationName??"anonymous",url:e.config.url});try{let s=await t(e);return r("\u2190 GraphQL",{operation:e.request.operationName,durationMs:Date.now()-n,errors:s.errors}),s}catch(s){throw r("\u2717 GraphQL",{operation:e.request.operationName,durationMs:Date.now()-n,error:String(s)}),s}}}function go(r={}){let e=r.maxRetries??3,t=r.delayMs??300,n=r.shouldRetry??(s=>!(s instanceof N&&s.isGraphQLError));return async(s,o)=>{let i;for(let a=0;a<=e;a++){a>0&&await Qa(t*Math.pow(2,a-1));try{return await o(s)}catch(l){if(i=l,!n(l,a))throw l}}throw i}}function yo(r){return new ne(r)}async function wo(r,e,t,n){return await new ne({url:r,...n!==void 0?{headers:n}:{}}).query(e,t)}var N,ju,lo,Bu,Ka,Va,zu,R,ne,Wu,bo,xo,dn=F(()=>{"use strict";je();B();N=class extends Error{constructor(t,n,s,o,i,a){super(t);f(this,"graphQLErrors");f(this,"request");f(this,"response");f(this,"networkError");f(this,"code");this.graphQLErrors=s,this.request=o,this.response=i,this.networkError=a,this.name="GraphQLClientError",this.code=n}get isGraphQLError(){return!!this.graphQLErrors&&this.graphQLErrors.length>0}get isNetworkError(){return!!this.networkError}get firstErrorMessage(){return this.graphQLErrors?.[0]?.message??null}};ju=1e3,lo=1800*1e3,Bu=300*1e3;Ka=100*1024,Va=100,zu=[/\{\s*\{/,/<\s*</,/<!--/,/<script/,/javascript:/i,/onerror\s*=/i,/eval\s*\(/i];R=class R{constructor(e){f(this,"config");f(this,"executeLink");this.config={fetch:globalThis.fetch,headers:{},useGETForQueries:!1,enableAPQ:!1,timeoutMs:3e4,retries:0,retryDelayMs:300,links:[],signal:e.signal??new AbortController().signal,onRequest:()=>{},onResponse:()=>{},onError:()=>{},...e};let t=n=>this._executeWithAPQ(n.request,n.signal??null);this.executeLink=Hu(this.config.links,t)}static _ensureAPQCleanup(){R._apqCleanupTimer||(R._apqCleanupTimer=setInterval(()=>{let e=Date.now();for(let[t,n]of R.apqCache)e-n.createdAt>lo&&(R.apqCache.delete(t),R.apqHashToQuery.delete(n.hash));for(let[t,n]of R.apqHashToQuery)if(e-n.createdAt>lo){R.apqHashToQuery.delete(t);for(let[s,o]of R.apqCache)if(o.hash===t){R.apqCache.delete(s);break}}},Bu),typeof R._apqCleanupTimer=="object"&&R._apqCleanupTimer!==null&&"unref"in R._apqCleanupTimer&&R._apqCleanupTimer.unref())}async _getAPQHash(e){R._ensureAPQCleanup();let t=R.apqCache.get(e);if(t){if(Date.now()-t.createdAt<=lo)return R._apqHits++,t.hash;R.apqCache.delete(e),R.apqHashToQuery.delete(t.hash)}R._apqMisses++;let n=await Ga(e),s=Date.now(),o=R.apqHashToQuery.get(n);if(o&&o.query!==e&&(console.warn("[GraphQL] APQ hash collision detected"),R.apqCache.delete(o.query),R.apqHashToQuery.delete(n)),R.apqCache.size>=ju){let i="",a=1/0;for(let[l,c]of R.apqCache)c.createdAt<a&&(a=c.createdAt,i=l);if(i){let l=R.apqCache.get(i);l&&(R.apqCache.delete(i),R.apqHashToQuery.delete(l.hash))}}return R.apqCache.set(e,{hash:n,createdAt:s}),R.apqHashToQuery.set(n,{query:e,createdAt:s}),n}clearAPQCache(){R.apqCache.clear(),R.apqHashToQuery.clear(),R._apqHits=0,R._apqMisses=0,R._apqCleanupTimer&&(clearInterval(R._apqCleanupTimer),R._apqCleanupTimer=null)}getAPQMetrics(){return{size:R.apqCache.size,hits:R._apqHits,misses:R._apqMisses}}async query(e,t,n={}){let s={query:e,...t!==void 0?{variables:t}:{},...n.operationName!==void 0?{operationName:n.operationName}:be(e)!==void 0?{operationName:be(e)}:{},...n.extensions!==void 0?{extensions:n.extensions}:{}};return await this._execute(s,n.signal??null)}async mutate(e,t,n={}){return await this.query(e,t,n)}async upload(e,t,n,s={}){let o={query:e,variables:t,...s.operationName!==void 0?{operationName:s.operationName}:be(e)!==void 0?{operationName:be(e)}:{}},i=await hn(this.config,{});delete i["content-type"];let a=qu(o,n),l=new AbortController,c=()=>l.abort();s.signal?.addEventListener("abort",c,{once:!0}),this.config.onRequest(o);let u;try{u=await this.config.fetch(this.config.url,{method:"POST",headers:i,body:a,signal:l.signal})}catch(p){let d=new N(p instanceof Error?p.message:"Upload network error","ENETWORK",void 0,o,void 0,p);throw this.config.onError(d,o),d}finally{s.signal?.removeEventListener("abort",c)}let h=await Ya(u,o);if(this.config.onResponse(h,o),h.errors?.length){let p=un(h.errors,o,h);throw this.config.onError(p,o),p}if(h.data===void 0)throw new N("No data in upload response","ENODATA",void 0,o,h);return h.data}async batch(e,t={}){let n=await hn(this.config),s=new AbortController,o=()=>s.abort();t.signal?.addEventListener("abort",o,{once:!0});let i;try{i=await this.config.fetch(this.config.url,{method:"POST",headers:n,body:JSON.stringify(e),signal:s.signal})}catch(c){throw new N(c instanceof Error?c.message:"Batch network error","ENETWORK",void 0,e[0],void 0,c)}finally{t.signal?.removeEventListener("abort",o)}let a=M(await i.json());if(!Array.isArray(a))throw new N("Batch response must be an array of GraphQL responses","EINVALIDRESPONSE",void 0,e[0],a);return a.map((c,u)=>{if(c.errors?.length)throw un(c.errors,e[u],c);if(c.data===void 0)throw new N("No data in batch response","ENODATA",void 0,e[u],c);return c.data})}async*subscribe(e,t,n={}){let s={query:e,...t!==void 0?{variables:t}:{},...n.operationName!==void 0?{operationName:n.operationName}:be(e)!==void 0?{operationName:be(e)}:{}},o=n.url??this.config.url,i=await hn(this.config,{accept:"text/event-stream"}),a=cr(s),{SSEClient:l}=await Promise.resolve().then(()=>(ar(),co)),c=new l({url:o,method:"POST",headers:i,body:a,signal:n.signal??this.config.signal,reconnect:!1,fetch:this.config.fetch});for await(let u of c){if(u.event==="complete")return;if(!u.data)continue;let h;try{h=M(JSON.parse(u.data))}catch{continue}if(h.errors?.length)throw un(h.errors,s,h);h.data!==void 0&&(yield h.data)}}async introspect(){return await this.query(Wu)}async raw(e,t){return await this._executeRaw(e,t??null)}async _execute(e,t){this.config.onRequest(e);let n=await this._executeWithRetry(e,t);if(this.config.onResponse(n,e),n.errors?.length){let s=un(n.errors,e,n);throw this.config.onError(s,e),s}if(n.data===void 0)throw new N("Response contained no data","ENODATA",void 0,e,n);return n.data}async _executeRaw(e,t){return await this.executeLink({request:e,config:this.config,...t!=null?{signal:t}:{}})}async _executeWithRetry(e,t){let n;for(let s=0;s<=this.config.retries;s++){s>0&&await Qa(this.config.retryDelayMs*Math.pow(2,s-1));try{return await this._executeRaw(e,t)}catch(o){if(n=o,o instanceof N&&o.isGraphQLError||t?.aborted)throw o}}throw n}async _executeWithAPQ(e,t){if(!this.config.enableAPQ)return uo(e,this.config,t,"none",void 0);let n=await uo(e,this.config,t,"omitQuery",o=>this._getAPQHash(o));return n.errors?.some(o=>o.extensions?.code==="PERSISTED_QUERY_NOT_FOUND")?uo(e,this.config,t,"full",o=>this._getAPQHash(o)):n}};f(R,"apqCache",new Map),f(R,"apqHashToQuery",new Map),f(R,"_apqHits",0),f(R,"_apqMisses",0),f(R,"_apqCleanupTimer",null);ne=R;Wu=`
18
18
  query IntrospectionQuery {
19
19
  __schema {
20
20
  queryType { name }
@@ -71,16 +71,16 @@ ${s}`,"ENETWORK",void 0,e,void 0,new Error(`HTTP ${r.status}`))}let n;try{n=M(aw
71
71
  }
72
72
  }
73
73
  }
74
- `;ho=te.prototype.clearAPQCache.bind(te.prototype),fo=te.prototype.getAPQMetrics.bind(te.prototype)});var Ba={};fe(Ba,{collectAll:()=>po,collectPages:()=>mo,createCursorPaginator:()=>bo,createKeysetPaginator:()=>To,createLinkHeaderPaginator:()=>_o,createOffsetPaginator:()=>yo,createPagePaginator:()=>wo,createRelayPaginator:()=>xo,createTokenPaginator:()=>So,deserializePaginationState:()=>Ro,mergePaginators:()=>Ao,paginate:()=>q,paginateItems:()=>cn,parseLinkHeaderNext:()=>ln,prefetchPaginate:()=>Ou,serializePaginationState:()=>Eo,takeItems:()=>go,toPaginationIterator:()=>ko});function Lu(r,e){return{strategy:e,page:r.startPage??1,offset:r.startOffset??0,cursor:r.startCursor??null,prevCursor:null,token:r.startToken??null,done:!1,totalFetched:0}}function Mu(r,e,t,n,s,o){let i=n.getTotal?.(e)??null,a=n.perPage??null,c=i!==null&&a!==null?Math.ceil(i/a):null,l=t.page>1||t.offset>0||t.prevCursor!==null;return{items:r,total:i,page:t.page,perPage:a,totalPages:c,hasNext:o??n.hasNext(e,t),hasPrev:l,nextCursor:s?.cursor??null,prevCursor:t.prevCursor??null,raw:e}}async function*q(r,e="page"){let t=Lu(r,e),n=0;for(;!t.done&&!(r.signal?.aborted||r.maxPages&&n>=r.maxPages);){n>0&&r.delayMs&&r.delayMs>0&&await Du(r.delayMs,r.signal);let s;try{s=await r.fetch(t)}catch(u){if(r.signal?.aborted)break;throw u}let o=r.getItems(s,t);r.transform&&(o=o.map(r.transform)),r.filter&&(o=o.filter(r.filter));let i=r.getNext?r.getNext(s,t):null,a=r.hasNext(s,t),c=Mu(o,s,t,r,i,a),l=t.cursor;if(t={...t,page:i?.page??t.page+1,offset:i?.offset??t.offset+o.length,cursor:i?.cursor??t.cursor,token:i?.token??t.token,done:!a,totalFetched:t.totalFetched+o.length,prevCursor:l},n++,r.onPage?.(c,t),yield c,!a)break}}async function*cn(r,e="page"){for await(let t of q(r,e))for(let n of t.items)yield n}async function po(r,e="page"){let t=[];for await(let n of q(r,e))t.push(...n.items);return t}async function mo(r,e="page"){let t=[];for await(let n of q(r,e))t.push(n);return t}async function go(r,e,t="page"){let n=[];for await(let s of cn(e,t))if(n.push(s),n.length>=r)break;return n}function yo(r){let e=r.paramNames??{},t=e.offset??"offset",n=e.limit??"limit",s=r.fetch??globalThis.fetch;return q({...r.signal!==void 0?{signal:r.signal}:{},...r.maxPages!==void 0?{maxPages:r.maxPages}:{},...r.delayMs!==void 0?{delayMs:r.delayMs}:{},perPage:r.limit,fetch:async o=>{let i=new URL(r.url);return i.searchParams.set(t,String(o.offset)),i.searchParams.set(n,String(r.limit)),(await s(i.toString(),{...r.headers!==void 0?{headers:r.headers}:{},...r.signal!==void 0?{signal:r.signal}:{}})).json()},getItems:(o,i)=>r.getItems(o),getTotal:r.getTotal??(()=>null),hasNext:(o,i)=>{let a=r.getTotal?.(o)??null;return r.hasMore?r.hasMore(o,i.totalFetched+r.limit,a):a!==null?i.offset+r.limit<a:r.getItems(o).length===r.limit},getNext:(o,i)=>({offset:i.offset+r.limit})},"offset")}function wo(r){let e=r.paramNames??{},t=e.page??"page",n=e.perPage??"per_page",s=r.fetch??globalThis.fetch;return q({...r.signal!==void 0?{signal:r.signal}:{},...r.maxPages!==void 0?{maxPages:r.maxPages}:{},...r.delayMs!==void 0?{delayMs:r.delayMs}:{},...r.perPage!==void 0?{perPage:r.perPage}:{},startPage:r.startPage??1,fetch:async o=>{let i=new URL(r.url);return i.searchParams.set(t,String(o.page)),i.searchParams.set(n,String(r.perPage)),(await s(i.toString(),{...r.headers!==void 0?{headers:r.headers}:{},...r.signal!==void 0?{signal:r.signal}:{}})).json()},getItems:o=>r.getItems(o),getTotal:r.getTotal??(()=>null),hasNext:(o,i)=>{let a=r.getTotalPages?.(o)??null;if(a!==null)return i.page<a;let c=r.getTotal?.(o)??null;return c!==null?i.page*r.perPage<c:r.getItems(o).length===r.perPage},getNext:(o,i)=>({page:i.page+1})},"page")}function bo(r){let e=r.paramName??"cursor",t=r.fetch??globalThis.fetch;return q({...r.signal!==void 0?{signal:r.signal}:{},...r.maxPages!==void 0?{maxPages:r.maxPages}:{},...r.delayMs!==void 0?{delayMs:r.delayMs}:{},startCursor:r.startCursor??null,fetch:async n=>{let s=new URL(r.url);return n.cursor&&s.searchParams.set(e,n.cursor),(await t(s.toString(),{...r.headers!==void 0?{headers:r.headers}:{},...r.signal!==void 0?{signal:r.signal}:{}})).json()},getItems:n=>r.getItems(n),hasNext:n=>r.getNextCursor(n)!==null,getNext:n=>{let s=r.getNextCursor(n);return s?{cursor:s}:null}},"cursor")}function xo(r){let e=r.first??20;return q({...r.signal!==void 0?{signal:r.signal}:{},...r.maxPages!==void 0?{maxPages:r.maxPages}:{},...r.delayMs!==void 0?{delayMs:r.delayMs}:{},...r.transform!==void 0?{transform:r.transform}:{},...r.filter!==void 0?{filter:r.filter}:{},...r.onPage!==void 0?{onPage:r.onPage}:{},startCursor:r.startCursor??null,perPage:e,fetch:t=>r.fetch({first:e,after:t.cursor}),getItems:t=>t.edges.map(n=>n.node),getTotal:t=>t.totalCount??null,hasNext:t=>t.pageInfo.hasNextPage,getNext:t=>{let n=t.pageInfo.endCursor??null;return n?{cursor:n}:null}},"relay")}function _o(r){let e=r.fetch??globalThis.fetch;return q({...r.signal!==void 0?{signal:r.signal}:{},...r.maxPages!==void 0?{maxPages:r.maxPages}:{},...r.delayMs!==void 0?{delayMs:r.delayMs}:{},fetch:async t=>{let n=t.cursor??r.url,s=await e(n,{...r.headers!==void 0?{headers:r.headers}:{},...r.signal!==void 0?{signal:r.signal}:{}}),o=ln(s.headers.get("link")??"");return{data:await s.json(),headers:s.headers,nextUrl:o}},getItems:t=>r.getItems(t.data),getTotal:t=>r.getTotal?.(t.data,t.headers)??null,hasNext:t=>t.nextUrl!==null,getNext:t=>t.nextUrl?{cursor:t.nextUrl}:null},"link-header")}function ln(r){if(!r)return null;for(let e of r.split(",")){let t=e.match(/<([^>]+)>.*?rel=["']([^"']+)["']/);if(t&&t[2]&&t[2].split(/\s+/).includes("next"))return t[1]}return null}function So(r){let e=r.tokenParam??"pageToken",t=r.pageSizeParam??"pageSize",n=r.fetch??globalThis.fetch;return q({...r.signal!==void 0?{signal:r.signal}:{},...r.maxPages!==void 0?{maxPages:r.maxPages}:{},...r.delayMs!==void 0?{delayMs:r.delayMs}:{},...r.pageSize!==void 0?{perPage:r.pageSize}:{},fetch:async s=>{let o=new URL(r.url);return s.token&&o.searchParams.set(e,s.token),r.pageSize&&o.searchParams.set(t,String(r.pageSize)),(await n(o.toString(),{...r.headers!==void 0?{headers:r.headers}:{},...r.signal!==void 0?{signal:r.signal}:{}})).json()},getItems:s=>r.getItems(s),getTotal:r.getTotal??(()=>null),hasNext:s=>r.getNextToken(s)!==null,getNext:s=>{let o=r.getNextToken(s);return o?{token:o}:null}},"token")}function To(r){let e=r.pageSizeParam??"limit",t=r.fetch??globalThis.fetch;return q({...r.signal!==void 0?{signal:r.signal}:{},...r.maxPages!==void 0?{maxPages:r.maxPages}:{},...r.delayMs!==void 0?{delayMs:r.delayMs}:{},...r.pageSize!==void 0?{perPage:r.pageSize}:{},startCursor:r.startKey??null,fetch:async n=>{let s=new URL(r.url);return n.cursor&&s.searchParams.set(r.keyParam,n.cursor),r.pageSize&&s.searchParams.set(e,String(r.pageSize)),(await t(s.toString(),{...r.headers!==void 0?{headers:r.headers}:{},...r.signal!==void 0?{signal:r.signal}:{}})).json()},getItems:n=>r.getItems(n),hasNext:(n,s)=>{let o=r.getItems(n);return r.hasMore?r.hasMore(o,n):r.pageSize?o.length>=r.pageSize:o.length>0},getNext:(n,s)=>{let o=r.getItems(n),i=r.getLastKey(o);return i?{cursor:i}:null}},"keyset")}async function*Ou(r,e="page",t=2){let n=[],s=q(r,e),o=!1;async function i(){if(o)return;let{value:a,done:c}=await s.next();o=c??!1,n.push(Promise.resolve(a??null))}for(let a=0;a<t+1;a++)await i();for(;n.length>0;){let a=await n.shift();if(a==null)break;await i(),yield a}}function Eo(r){return btoa(JSON.stringify(r))}function Ro(r){try{return M(JSON.parse(atob(r)))}catch{throw new Error("Invalid pagination state string")}}function Du(r,e){return new Promise(t=>{if(e?.aborted){t();return}let n=setTimeout(t,r);e&&e.addEventListener("abort",()=>{clearTimeout(n),t()},{once:!0})})}function ko(r){let e=r[Symbol.asyncIterator]();return{next:()=>e.next(),return:t=>e.return?.(t)??Promise.resolve({value:t,done:!0}),throw:t=>e.throw?.(t)??Promise.reject(t),[Symbol.asyncIterator](){return this}}}async function*Ao(...r){let e=r.map(n=>n[Symbol.asyncIterator]()),t=new Set(e.map((n,s)=>s));for(;t.size>0;)for(let n of[...t]){let{value:s,done:o}=await e[n].next();if(o){t.delete(n);continue}yield s}}var un=F(()=>{"use strict";z()});var ph={};fe(ph,{AbortError:()=>_r,AuthError:()=>Sr,BatchQueue:()=>fn,BatchingTransport:()=>kt,CircuitBreaker:()=>Ze,CircuitBreakerRegistry:()=>Le,CircuitOpenError:()=>Ye,CloudflareKVAdapter:()=>at,ConsoleTransport:()=>Ke,ContentTypeError:()=>Se,CookieJar:()=>Ee,DedupMap:()=>Ie,FetchTransport:()=>qe,FluentRequest:()=>ar,GraphQLClient:()=>te,GraphQLClientError:()=>N,HAS_NATIVE_FETCH:()=>js,HTTPCache:()=>ie,HTTPError:()=>ur,HTTPLogger:()=>ke,HTTPResponseError:()=>je,HTTPStatusError:()=>ot,HeaderName:()=>w,HookEmitter:()=>cr,HookRegistry:()=>dn,HttpHeaders:()=>ce,IS_NODE:()=>Be,InterceptorManager:()=>qt,JSONTransport:()=>Rt,Kinetex:()=>Lt,KinetexError:()=>S,LogLevel:()=>Et,MemoryStorageAdapter:()=>be,MultiPartProgressAggregator:()=>dr,MultiTransport:()=>Ct,NetworkError:()=>Z,NodeHTTP2Transport:()=>mt,ProgressTracker:()=>W,ProxyError:()=>Tr,RUNTIME:()=>me,RateLimitError:()=>lt,Redactor:()=>vt,RedirectError:()=>Er,RedirectTracker:()=>pn,RemoteTransport:()=>At,ResponseDecodeError:()=>ze,ResponseSizeLimitError:()=>_e,ResponseValidationError:()=>hr,RichHeaders:()=>xe,SSEClient:()=>Ve,SSEError:()=>he,SSEMaxReconnectsError:()=>Je,SSEParser:()=>Ae,SSERouter:()=>nr,SSEServerResponse:()=>Pt,SSETransformStream:()=>rr,SigV4Signer:()=>ae,SizeLimitError:()=>st,Socks5Error:()=>I,TimeoutError:()=>Q,TooManyRedirectsError:()=>lr,TwoTierStorageAdapter:()=>ct,URLBuilder:()=>ve,ValidationError:()=>J,WSClient:()=>De,WSConnectTimeoutError:()=>nt,WSError:()=>K,WSMaxReconnectsError:()=>Ht,WSRateLimitError:()=>xr,WebStorageAdapter:()=>Ue,applyDecompression:()=>Jt,assertOk:()=>Is,assertOkJSON:()=>Ls,authLink:()=>oo,buildDataURL:()=>Oc,cachingCredentials:()=>Jn,canonicalizeDomainFull:()=>ue,chainCredentials:()=>qi,clearAPQCache:()=>ho,collectAll:()=>po,collectPages:()=>mo,collectStream:()=>ei,compilePattern:()=>Sc,composeAround:()=>tc,composeBeforeRequest:()=>Za,composeBeforeResponse:()=>ec,computeBodySize:()=>Fn,computeDigestResponse:()=>ns,concatUint8Arrays:()=>gr,connectWS:()=>vi,corsHeaders:()=>da,createAPIGatewaySigner:()=>Ji,createAbortHook:()=>oc,createAuthInterceptor:()=>Un,createBodyNormalizationHook:()=>sc,createCacheInterceptor:()=>jn,createCircuitBreaker:()=>oi,createCircuitBreakerRegistry:()=>ii,createCookieJar:()=>Yr,createCursorPaginator:()=>bo,createDedupMap:()=>si,createDedupeInterceptor:()=>zn,createDevelopmentLogger:()=>Gs,createDigestAuthorization:()=>vr,createDynamoDBSigner:()=>Gi,createGraphQLClient:()=>lo,createHARInterceptor:()=>qn,createHeaders:()=>pa,createHookContext:()=>ic,createImmutableHeaders:()=>ya,createInterceptorSuite:()=>Hi,createJSONSSEStream:()=>Ys,createKVCache:()=>vn,createKeysetPaginator:()=>To,createLimitedReader:()=>Us,createLinkHeaderPaginator:()=>_o,createLocalStorageCache:()=>An,createLogger:()=>Js,createLoggingHooks:()=>rc,createLoggingInterceptor:()=>Hn,createMemoryCache:()=>kn,createMethodCircuitBreakerKey:()=>Va,createMetricsInterceptor:()=>Bn,createOffsetPaginator:()=>yo,createPagePaginator:()=>wo,createProductionLogger:()=>Qs,createRateLimitInterceptor:()=>Bt,createRelayPaginator:()=>xo,createRequestHeaders:()=>ma,createResponseHeaders:()=>ga,createRetryInterceptor:()=>Nn,createS3Signer:()=>Vi,createSSEResponse:()=>Zs,createSSEStream:()=>Xs,createSTSSigner:()=>Qi,createSessionStorageCache:()=>Cn,createSocks5Tunnel:()=>$o,createStructuredError:()=>xi,createTimeoutInterceptor:()=>$n,createTimingHook:()=>nc,createTokenPaginator:()=>So,createTransport:()=>Gt,createTwoTierCache:()=>Pn,decodeBody:()=>Vt,decodeIDNLabel:()=>tr,decompressBodyStream:()=>Yt,decompressStream:()=>jr,deepClone:()=>et,default:()=>dh,defaultPath:()=>xt,denoTcpConnector:()=>lc,deriveSigningKey:()=>ft,deserializePaginationState:()=>Ro,detectClockSkew:()=>es,detectOperationType:()=>on,detectRuntime:()=>Jr,diffResponses:()=>Ms,diffURLs:()=>Dc,domainMatch:()=>bt,encodePathComponent:()=>jo,encodeQueryValue:()=>Qe,envCredentials:()=>zi,errorLink:()=>io,expandTemplate:()=>_c,extractOperationName:()=>ye,extractServerTiming:()=>Ds,extractSetCookieHeaders:()=>Tt,fillPathParams:()=>Fo,formatAmzDate:()=>Ft,formatBasic:()=>na,formatBearer:()=>ra,formatBytes:()=>Dt,formatCSP:()=>Ur,formatCacheControl:()=>ms,formatContentDisposition:()=>ds,formatContentType:()=>hs,formatDateStamp:()=>ut,formatDigestAuth:()=>ss,formatETA:()=>bn,formatError:()=>_i,formatHSTS:()=>Nr,formatLinkHeader:()=>ia,formatProgress:()=>ri,formatRate:()=>wn,formatServerTiming:()=>ca,fromNodeHeaders:()=>la,fromWebHeaders:()=>ha,getAPQMetrics:()=>fo,getAuthFingerprint:()=>$e,getClientIP:()=>_s,getEffectiveRuntime:()=>Hs,getOrigin:()=>gn,getPublicSuffix:()=>yt,getRegistrableDomain:()=>Gr,getRuntime:()=>br,gql:()=>uo,hasNativeFetch:()=>Ci,imdsCredentials:()=>Bi,initChunkedSigning:()=>Yn,injectHeaders:()=>Qa,isAbortError:()=>wr,isAbortSignal:()=>pi,isAbsolute:()=>Wo,isArrayBuffer:()=>hi,isBinary:()=>vs,isBlob:()=>yi,isBlobURL:()=>Ic,isBrowserEnvironment:()=>Ai,isClockSkewError:()=>ts,isDataURL:()=>Pc,isFormData:()=>gi,isHTTP:()=>vc,isHTTPS:()=>Cc,isHeaders:()=>di,isIPAddress:()=>ge,isJSON:()=>Kt,isLocalhost:()=>Lc,isNodeEnvironment:()=>ki,isPlainObject:()=>mi,isPublicSuffix:()=>wt,isReadableStream:()=>fi,isRelative:()=>Ac,isSafeURL:()=>Oe,isSameOrigin:()=>Tc,isSameSite:()=>Ec,isText:()=>$r,isURLSearchParams:()=>wi,isUint8Array:()=>ui,isValidHeaderName:()=>Me,isValidHeaderValue:()=>we,joinPath:()=>qo,jsonSSE:()=>rn,kinetex:()=>Bc,loadCookieJar:()=>Zr,loggingLink:()=>ao,mergePaginators:()=>Ao,mergeQuery:()=>mc,mergeSignals:()=>yr,negotiateContentType:()=>oa,nodeTcpConnector:()=>uc,normalizeForwardedHeaders:()=>Dr,normalizeHeaders:()=>rt,normalizePath:()=>Bo,normalizeResponse:()=>Cs,normalizeURL:()=>xc,omitQuery:()=>yc,paginate:()=>q,paginateItems:()=>cn,parseAccept:()=>Or,parseAcceptEncoding:()=>gs,parseAcceptLanguage:()=>ys,parseAltSvc:()=>ks,parseAuthorization:()=>Pr,parseBody:()=>gt,parseCSP:()=>Es,parseCacheControl:()=>ps,parseContentDisposition:()=>fs,parseContentLanguage:()=>sa,parseContentRange:()=>bs,parseContentType:()=>Te,parseCookieDate:()=>er,parseDataURL:()=>Mc,parseDigestChallenge:()=>rs,parseForwarded:()=>xs,parseHSTS:()=>Ts,parseLinkHeader:()=>Lr,parseLinkHeaderNext:()=>ln,parseMultipartResponse:()=>Wr,parseParams:()=>G,parseQuery:()=>zo,parseRange:()=>ws,parseRetryAfter:()=>Ss,parseSSEText:()=>eo,parseServerTiming:()=>Rs,parseSetCookieHeader:()=>St,parseSocks5Url:()=>cc,parseUntrustedJSON:()=>li,parseWWWAuthenticate:()=>Ir,parseWarning:()=>aa,pathMatch:()=>_t,pathSegments:()=>bc,percentDecode:()=>Ce,percentEncode:()=>mn,perfNow:()=>Ti,pickQuery:()=>gc,presignRequest:()=>Xn,readBlob:()=>Br,readBodyWithLimit:()=>Hr,readBytes:()=>Qt,readFormData:()=>Os,readJSON:()=>zr,readJSONStream:()=>Ps,readNDJSON:()=>Fr,readRawBody:()=>Xt,readStream:()=>pt,readText:()=>qr,redactURL:()=>qc,relativeURL:()=>kc,resolveURL:()=>Rc,retryLink:()=>co,safeJSONParse:()=>de,safeParseURL:()=>Pe,sanitizeParsedJSON:()=>M,sanitizeURL:()=>Si,securityHeaders:()=>fa,sendWithTimeout:()=>Fe,serializePaginationState:()=>Eo,setRuntime:()=>$s,sigV4UriEncode:()=>Gn,signChunk:()=>Wi,signFinalChunk:()=>Ki,signRequest:()=>Ar,signS3PostPolicy:()=>Zn,sleep:()=>Ei,socks5Connector:()=>hc,splitSetCookieHeaders:()=>We,staticCredentials:()=>ji,streamWithProgress:()=>Zo,stringifyQuery:()=>pc,stripHash:()=>$c,stripQuery:()=>Hc,takeItems:()=>go,tap:()=>Ja,throttleProgress:()=>ni,throwOnHTTPError:()=>Xa,toNodeHeaders:()=>ua,toOTelSpan:()=>Vs,toPaginationIterator:()=>ko,toRequestId:()=>Tn,toUint8Array:()=>Ri,tryParseJSON:()=>ci,uint8ArrayToBase64:()=>$t,urlExtension:()=>jc,urlFilename:()=>zc,validateErrorCode:()=>Pi,validateResponse:()=>Ya,withBaseURL:()=>Ga,withBlobUploadProgress:()=>Xo,withDownloadProgress:()=>Yo,withTrailingSlash:()=>Nc,withUploadProgress:()=>Nt,withoutTrailingSlash:()=>Uc,xhrFetch:()=>ti});var W=class{constructor(e,t={}){h(this,"loaded",0);h(this,"total");h(this,"startMs");h(this,"lastMs");h(this,"lastLoaded",0);h(this,"smoothedRate",0);h(this,"smoothing");h(this,"_done",!1);h(this,"lastEmitMs",0);h(this,"minIntervalMs");h(this,"onProgress");this.total=e,this.startMs=fr(),this.lastMs=this.startMs,this.smoothing=t.smoothingFactor??.3,this.onProgress=t.onProgress??null;let n=t.throttleHz??10;this.minIntervalMs=n>0?1e3/n:0}update(e){this.loaded+=e;let t=this._snapshot();if(this.onProgress){let n=fr();(this.minIntervalMs===0||n-this.lastEmitMs>=this.minIntervalMs)&&(this.lastEmitMs=n,this.onProgress(t))}return t}complete(){this._done=!0;let e=this._snapshot();return this.onProgress?.(e),e}snapshot(){return this._snapshot()}get bytesLoaded(){return this.loaded}get isDone(){return this._done}_snapshot(){let e=fr(),t=e-this.startMs,n=e-this.lastMs;if(n>0){let i=(this.loaded-this.lastLoaded)/n*1e3;this.smoothedRate=this.smoothedRate===0?i:this.smoothedRate*(1-this.smoothing)+i*this.smoothing,this.lastMs=e,this.lastLoaded=this.loaded}let s=this.total!==null&&this.total>0?Math.min(100,this.loaded/this.total*100):null,o=this.total!==null&&this.smoothedRate>0?Math.max(0,(this.total-this.loaded)/this.smoothedRate*1e3):null;return{loaded:this.loaded,total:this.total,percent:this._done?this.total!==null?100:null:s,rate:this.smoothedRate,eta:this._done?0:o,elapsed:t,done:this._done}}};function Nt(r,e,t={}){let n=new W(e,t);if(!r)return n.complete(),{stream:new ReadableStream({start:i=>i.close()}),tracker:n};let s;if(r instanceof ReadableStream)s=r;else if(typeof r=="string"){let i=new TextEncoder().encode(r);s=new ReadableStream({start(a){a.enqueue(i),a.close()}})}else s=new ReadableStream({start(i){i.enqueue(r),i.close()}});return{stream:new ReadableStream({async start(i){let a=s.getReader();if(t.signal?.aborted){a.cancel("aborted").catch(()=>{}),i.error(new DOMException("Upload aborted","AbortError"));return}t.signal?.addEventListener("abort",()=>{a.cancel("aborted").catch(()=>{}),i.error(new DOMException("Upload aborted","AbortError"))},{once:!0});try{for(;;){let{done:c,value:l}=await a.read();if(c){n.complete(),i.close();break}n.update(l.byteLength),i.enqueue(l)}}catch(c){n.complete(),i.error(c)}}}),tracker:n}}function Xo(r,e={}){return Nt(r.stream(),r.size,e)}function Yo(r,e={}){let t=r.headers.get("content-length"),n=t?parseInt(t,10):null,s=new W(isNaN(n)?null:n,e);if(!r.body)return s.complete(),{response:r,tracker:s};let o=r.body,i=new ReadableStream({async start(c){let l=o.getReader(),u=!1,f=()=>{u||(u=!0,l.cancel("aborted").catch(()=>{}),c.error(new DOMException("Download aborted","AbortError")))};e.signal?.addEventListener("abort",f,{once:!0});try{for(;;){let{done:p,value:d}=await l.read();if(p){s.complete(),c.close();break}s.update(d.byteLength),c.enqueue(d)}}catch(p){u||s.complete(),c.error(p)}finally{u||e.signal?.removeEventListener("abort",f)}}});return{response:new Response(i,{status:r.status,statusText:r.statusText,headers:r.headers}),tracker:s}}async function*Zo(r,e,t={}){let n=new W(e,t),s=r.getReader();try{for(;;){if(t.signal?.aborted)throw new DOMException("Stream aborted","AbortError");let{done:o,value:i}=await s.read();if(o){let c=n.complete();yield{chunk:new Uint8Array(0),progress:c};break}let a=n.update(i.byteLength);yield{chunk:i,progress:a}}}finally{s.releaseLock()}}async function ei(r,e,t={}){let n=new W(e,t),s=[],o=r.getReader();if(t.signal?.aborted)throw o.cancel("aborted").catch(()=>{}),new DOMException("Stream aborted","AbortError");if(t.signal){let l=()=>{o.cancel("aborted").catch(()=>{})};t.signal.addEventListener("abort",l,{once:!0})}try{for(;;){let{done:l,value:u}=await o.read();if(l)break;s.push(u),n.update(u.byteLength)}}finally{o.releaseLock()}n.complete();let i=s.reduce((l,u)=>l+u.byteLength,0),a=new Uint8Array(i),c=0;for(let l of s)a.set(l,c),c+=l.byteLength;return{data:a,tracker:n}}var dr=class{constructor(e,t){h(this,"partCount");h(this,"trackers",new Map);h(this,"totals",new Map);h(this,"onOverall");this.partCount=e,this.onOverall=t??null}createPartTracker(e,t,n={}){this.totals.set(e,t);let s=new W(t,{...n,onProgress:o=>{n.onProgress?.(o),this._emit()}});return this.trackers.set(e,s),s}getOverall(){let e=[],t=0,n=0,s=0,o=!0,i=0;for(let f=0;f<this.partCount;f++){let d=this.trackers.get(f)?.snapshot()??{loaded:0,total:this.totals.get(f)??null,percent:0,rate:0,eta:null,elapsed:0,done:!1};e.push(d),t+=d.loaded,d.total!==null&&(n+=d.total),s+=d.rate,d.done||(o=!1),d.elapsed>i&&(i=d.elapsed)}let a=n>0,c=a?Math.min(100,t/n*100):null,l=a&&s>0?Math.max(0,(n-t)/s*1e3):null;return{parts:e,overall:{loaded:t,total:a?n:null,percent:c,rate:s,eta:o?0:l,elapsed:i,done:o}}}_emit(){this.onOverall&&this.onOverall(this.getOverall())}},Qo=globalThis.XMLHttpRequest;function ti(r,e){return new Promise((t,n)=>{if(!Qo){n(new Error("XMLHttpRequest is not available in this runtime. Use fetch() instead."));return}let s=new Qo,o=new W(null,{...e.onUploadProgress!==void 0?{onProgress:e.onUploadProgress}:{},...e.throttleHz!==void 0?{throttleHz:e.throttleHz}:{},...e.smoothingFactor!==void 0?{smoothingFactor:e.smoothingFactor}:{}}),i=new W(null,{...e.onDownloadProgress!==void 0?{onProgress:e.onDownloadProgress}:{},...e.throttleHz!==void 0?{throttleHz:e.throttleHz}:{},...e.smoothingFactor!==void 0?{smoothingFactor:e.smoothingFactor}:{}});s.open(e.method??"GET",r,!0);for(let[a,c]of Object.entries(e.headers??{}))s.setRequestHeader(a,c);e.responseType&&(s.responseType=e.responseType),s.upload&&e.onUploadProgress&&(s.upload.addEventListener("loadstart",a=>{}),s.upload.addEventListener("progress",a=>{o.update(a.loaded-o.bytesLoaded)}),s.upload.addEventListener("load",()=>o.complete())),e.onDownloadProgress&&s.addEventListener("progress",a=>{i.update(a.loaded-i.bytesLoaded)}),e.signal?.addEventListener("abort",()=>{s.abort(),n(new DOMException("Request aborted","AbortError"))},{once:!0}),s.addEventListener("load",()=>{i.complete();let a=s.getAllResponseHeaders(),c={};for(let l of a.trim().split(/[\r\n]+/)){let u=l.indexOf(": ");u!==-1&&(c[l.slice(0,u).toLowerCase()]=l.slice(u+2))}t({status:s.status,statusText:s.statusText,headers:c,body:typeof s.response=="string"?s.response:String(s.response??"")})}),s.addEventListener("error",()=>{n(new TypeError("Network request failed"))}),s.addEventListener("timeout",()=>{n(new TypeError("Request timed out"))}),s.send(e.body??null)})}var Go=["B","KB","MB","GB","TB"];function Dt(r,e=2){if(r===0)return"0 B";let t=1024,n=Math.max(0,e),s=Math.floor(Math.log(r)/Math.log(t)),o=Go[Math.min(s,Go.length-1)];return`${parseFloat((r/Math.pow(t,s)).toFixed(n))} ${o}`}function wn(r){return`${Dt(r)}/s`}function bn(r){if(!isFinite(r)||r<0)return"\u221E";let e=Math.round(r/1e3),t=Math.floor(e/3600),n=Math.floor(e%3600/60),s=e%60;return t>0?`${t}h ${n}m ${s}s`:n>0?`${n}m ${s}s`:`${s}s`}function ri(r){let e=Dt(r.loaded),t=r.total!==null?` / ${Dt(r.total)}`:"",n=r.percent!==null?` (${r.percent.toFixed(1)}%)`:"",s=r.rate>0?` @ ${wn(r.rate)}`:"",o=r.eta!==null&&!r.done?` ETA ${bn(r.eta)}`:"";return`${e}${t}${n}${s}${o}`}function ni(r,e=10){let t=e>0?1e3/e:0,n=0;return s=>{let o=fr();(s.done||o-n>=t)&&(n=o,r(s))}}function fr(){return typeof performance<"u"?performance.now():Date.now()}var Ie=class{constructor(e={}){h(this,"inflight",new Map);h(this,"timeouts",new Map);h(this,"windowMs");h(this,"methods");h(this,"keyFn");h(this,"_globalSignal");h(this,"_hits",0);h(this,"_misses",0);this.windowMs=e.windowMs??0,this.methods=new Set((e.methods??["GET","HEAD"]).map(t=>t.toUpperCase())),this.keyFn=e.keyFn??((t,n)=>`${t}::${n}`),this._globalSignal=e.signal??null}execute(e,t,n,s,o,i){let a=o??this.windowMs,c=i??this._globalSignal;if(c?.aborted||!this.methods.has(e.toUpperCase()))return n();let l=this.keyFn(e,t,s),u=this.inflight.get(l);if(u){if(u.resolvedAt!==null&&a>0&&Date.now()-u.resolvedAt<=a)return this._hits++,u.promise;if(u.resolvedAt===null)return this._hits++,u.promise;this.inflight.delete(l)}this._misses++;let f={resolvedAt:null,promise:void 0};return this.inflight.set(l,f),f.promise=(async()=>{let p=c?()=>{this.inflight.delete(l);let d=this.timeouts.get(l);d!==void 0&&(clearTimeout(d),this.timeouts.delete(l))}:null;c&&p&&c.addEventListener("abort",p,{once:!0});try{return await n()}finally{c&&p&&c.removeEventListener("abort",p)}})().then(p=>{if(f.resolvedAt=Date.now(),f.result=p,a<=0)this.inflight.delete(l);else{let d=setTimeout(()=>{this.inflight.delete(l),this.timeouts.delete(l)},a);this.timeouts.set(l,d)}return p},p=>{f.resolvedAt=Date.now(),f.error=p,this.inflight.delete(l);let d=this.timeouts.get(l);throw d!==void 0&&(clearTimeout(d),this.timeouts.delete(l)),p}),f.promise}get hits(){return this._hits}get misses(){return this._misses}get inFlightCount(){let e=0;for(let t of this.inflight.values())t.resolvedAt===null&&e++;return e}get keys(){return[...this.inflight.keys()]}getStats(){let e=this._hits+this._misses;return{hits:this._hits,misses:this._misses,totalRequests:e,hitRate:e===0?0:this._hits/e,inFlightCount:this.inFlightCount,trackedKeys:this.inflight.size}}resetMetrics(){this._hits=0,this._misses=0}clear(){this.inflight.clear();for(let e of this.timeouts.values())clearTimeout(e);this.timeouts.clear()}invalidate(e){let t=this.timeouts.get(e);return t&&(clearTimeout(t),this.timeouts.delete(e)),this.inflight.delete(e)}destroy(){this.clear()}};function si(r){return new Ie(r)}var Ye=class extends Error{constructor(t,n){super(`Circuit breaker OPEN for "${t}" \u2014 request rejected`);h(this,"code","ECIRCUITOPEN");h(this,"state");this.name="CircuitOpenError",this.state=n}},Ze=class{constructor(e,t={}){h(this,"key");h(this,"failureThreshold");h(this,"windowSize");h(this,"resetTimeoutMs");h(this,"successThreshold");h(this,"halfOpenConcurrency");h(this,"failureFilter");h(this,"cfg");h(this,"_state","CLOSED");h(this,"_window",[]);h(this,"_consecutiveFails",0);h(this,"_consecutiveSucc",0);h(this,"_openedAt",null);h(this,"_halfOpenAt",null);h(this,"_lastFailureAt",null);h(this,"_lastSuccessAt",null);h(this,"_inFlightProbes",0);h(this,"_totalRequests",0);h(this,"_totalFailures",0);h(this,"_totalSuccesses",0);h(this,"_totalRejected",0);this.key=e,this.failureThreshold=t.failureThreshold??5,this.windowSize=t.windowSize??10,this.resetTimeoutMs=t.resetTimeoutMs??3e4,this.successThreshold=t.successThreshold??2,this.halfOpenConcurrency=t.halfOpenConcurrency??1,this.failureFilter={networkErrors:t.failures?.networkErrors??!0,timeouts:t.failures?.timeouts??!0,serverErrors:t.failures?.serverErrors??!1,statusCodes:t.failures?.statusCodes??[]},this.cfg=t}get state(){return this._state}get snapshot(){return{state:this._state,failureCount:this.windowSize>0?this._window.filter(e=>!e).length:this._consecutiveFails,successCount:this._consecutiveSucc,lastFailureAt:this._lastFailureAt,lastSuccessAt:this._lastSuccessAt,openedAt:this._openedAt,halfOpenAt:this._halfOpenAt,totalRequests:this._totalRequests,totalFailures:this._totalFailures,totalSuccesses:this._totalSuccesses,totalRejected:this._totalRejected,inFlightProbes:this._inFlightProbes}}execute(e){if(this._checkTransition(),this._state==="OPEN"){this._totalRejected++;let t=this.snapshot;return this.cfg.onRejected?.(t),Promise.reject(new Ye(this.key,t))}if(this._state==="HALF_OPEN"){if(this._inFlightProbes>=this.halfOpenConcurrency){this._totalRejected++;let t=this.snapshot;return this.cfg.onRejected?.(t),Promise.reject(new Ye(this.key,t))}this._inFlightProbes++}return this._totalRequests++,e().then(t=>(this._state==="HALF_OPEN"&&(this._inFlightProbes=Math.max(0,this._inFlightProbes-1)),this._recordSuccess(),t),t=>{throw this._state==="HALF_OPEN"&&(this._inFlightProbes=Math.max(0,this._inFlightProbes-1)),this._isCountableFailure(t)&&this._recordFailure(),t})}trip(){this._state!=="OPEN"&&(this._openedAt=Date.now(),this._state="OPEN",this.cfg.onOpen?.(this.snapshot))}reset(){this._state="CLOSED",this._window=[],this._consecutiveFails=0,this._consecutiveSucc=0,this._openedAt=null,this._halfOpenAt=null,this._inFlightProbes=0,this.cfg.onClose?.(this.snapshot)}_checkTransition(){this._state==="OPEN"&&this._openedAt!==null&&Date.now()-this._openedAt>=this.resetTimeoutMs&&(this._state="HALF_OPEN",this._halfOpenAt=Date.now(),this._consecutiveSucc=0,this._inFlightProbes=0,this.cfg.onHalfOpen?.(this.snapshot))}_recordSuccess(){if(this._lastSuccessAt=Date.now(),this._totalSuccesses++,this._consecutiveFails=0,this._state==="HALF_OPEN"){this._consecutiveSucc++,this._consecutiveSucc>=this.successThreshold&&this.reset();return}this.windowSize>0&&(this._window.push(!0),this._window.length>this.windowSize&&this._window.shift())}_recordFailure(){if(this._lastFailureAt=Date.now(),this._totalFailures++,this._consecutiveSucc=0,this._consecutiveFails++,this._state==="HALF_OPEN"){this._openedAt=Date.now(),this._state="OPEN",this.cfg.onOpen?.(this.snapshot);return}this.windowSize>0?(this._window.push(!1),this._window.length>this.windowSize&&this._window.shift(),this._window.filter(t=>!t).length>=this.failureThreshold&&(this._openedAt=Date.now(),this._state="OPEN",this.cfg.onOpen?.(this.snapshot))):this._consecutiveFails>=this.failureThreshold&&(this._openedAt=Date.now(),this._state="OPEN",this.cfg.onOpen?.(this.snapshot))}_isCountableFailure(e){if(!(e instanceof Error))return!1;let t=e.code;if(this.failureFilter.networkErrors&&t==="ENETWORK"||this.failureFilter.timeouts&&t==="ETIMEOUT")return!0;if(this.failureFilter.serverErrors){let n=e.status;if(n&&n>=500)return!0}if(this.failureFilter.statusCodes&&this.failureFilter.statusCodes.length>0){let n=e.status;if(n&&this.failureFilter.statusCodes.includes(n))return!0}return!1}},Le=class{constructor(e={}){h(this,"breakers",new Map);h(this,"defaultConfig");this.defaultConfig=e}get(e,t){return this.breakers.has(e)||this.breakers.set(e,new Ze(e,{...this.defaultConfig,...t})),this.breakers.get(e)}execute(e,t,n){return this.get(e,n).execute(t)}trip(e){this.get(e).trip()}reset(e){this.get(e).reset()}snapshots(){let e={};for(let[t,n]of this.breakers)e[t]=n.snapshot;return e}delete(e){this.breakers.delete(e)}clear(){this.breakers.clear()}get size(){return this.breakers.size}};function oi(r,e){return new Ze(r,e)}function ii(r){return new Le(r)}z();var K=class extends Error{constructor(t,n){super(t,n!=null?{cause:n}:void 0);h(this,"code","EWSCONNECT");h(this,"originalCause");this.name="WSError",this.originalCause=n}},Ht=class extends Error{constructor(t){super(`WebSocket gave up after ${t} reconnect attempts`);h(this,"attempts");h(this,"code","EWSMAXRECONNECTS");this.attempts=t,this.name="WSMaxReconnectsError"}},nt=class extends Error{constructor(t,n){super(`WebSocket connect to ${t} timed out after ${n}ms`);h(this,"code","EWSCONNECTTIMEOUT");this.name="WSConnectTimeoutError"}},xr=class extends Error{constructor(t){super(`WebSocket send rate limited; retry in ${t}ms`);h(this,"delayMs");h(this,"code","EWSRATELIMIT");this.delayMs=t,this.name="WSRateLimitError"}},De=class{constructor(e){h(this,"_url");h(this,"_protocols");h(this,"_headers");h(this,"_maxReconnects");h(this,"_reconnectBaseMs");h(this,"_reconnectMaxMs");h(this,"_reconnectJitter");h(this,"_pingIntervalMs");h(this,"_pingPayload");h(this,"_pongMatcher");h(this,"_pongTimeoutMs");h(this,"_connectTimeoutMs");h(this,"_bufferMessages");h(this,"_maxBufferSize");h(this,"_cbOpen");h(this,"_cbMessage");h(this,"_cbClose");h(this,"_cbError");h(this,"_cbReconnect");h(this,"_cbGiveUp");h(this,"_ws",null);h(this,"_state","CLOSED");h(this,"_reconnAttempt",0);h(this,"_buffer",[]);h(this,"_pingTimer",null);h(this,"_pongTimer",null);h(this,"_reconnTimer",null);h(this,"_msgListeners",[]);h(this,"_closeListeners",[]);h(this,"_openWaiters",[]);h(this,"_correlations",new Map);h(this,"_aborted",!1);h(this,"_iterQueue",[]);h(this,"_iterWaiter",null);h(this,"_iterDone",!1);h(this,"_rooms",[]);h(this,"_keepRooms");h(this,"_highWaterMark");h(this,"_lowWaterMark");h(this,"_bufferedBytes",0);h(this,"_drainWaiters",[]);h(this,"_cbBackpressure");h(this,"_wasBackpressured",!1);h(this,"_maxSendRate");h(this,"_tokens",0);h(this,"_lastToken",0);h(this,"_serverEndpoint",null);h(this,"_mx",{messagesSent:0,messagesReceived:0,bytesSent:0,bytesReceived:0,reconnectCount:0,totalConnectAttempts:0,connectedAt:null,closedAt:null,uptimeMs:0});h(this,"_openedAt",null);if(this._url=e.url,this._protocols=e.protocols,this._headers=e.headers,this._maxReconnects=e.maxReconnects??10,this._reconnectBaseMs=e.reconnectBaseMs??1e3,this._reconnectMaxMs=e.reconnectMaxMs??3e4,this._reconnectJitter=e.reconnectJitter??.3,this._pingIntervalMs=e.pingIntervalMs??3e4,this._pingPayload=e.pingPayload??"ping",this._pongMatcher=e.pongMatcher,this._pongTimeoutMs=e.pongTimeoutMs??1e4,this._connectTimeoutMs=e.connectTimeoutMs??3e4,this._bufferMessages=e.bufferMessages??!0,this._maxBufferSize=e.maxBufferSize??100,this._cbOpen=e.onOpen,this._cbMessage=e.onMessage,this._cbClose=e.onClose,this._cbError=e.onError,this._cbReconnect=e.onReconnect,this._cbGiveUp=e.onGiveUp,this._cbBackpressure=e.onBackpressure,this._highWaterMark=e.highWaterMark??65536,this._lowWaterMark=e.lowWaterMark??16384,this._maxSendRate=e.maxSendRate??0,this._keepRooms=e.keepRooms??!0,e.rooms&&e.rooms.length>0)for(let t of e.rooms)this._rooms.push({room:t,joinedAt:0});e.signal?.addEventListener("abort",()=>this.close(1e3,"AbortSignal aborted"),{once:!0})}get state(){return this._state}get connected(){return this._state==="OPEN"}get bufferedCount(){return this._buffer.length}get metrics(){return{...this._mx,uptimeMs:this._mx.uptimeMs+(this._openedAt!=null?Date.now()-this._openedAt:0)}}connect(){return this._state==="OPEN"?Promise.resolve():this._state==="CONNECTING"||this._state==="RECONNECTING"?new Promise((e,t)=>this._openWaiters.push({resolve:e,reject:t})):this._doConnect(!1)}waitForOpen(e=6e4){return this._state==="OPEN"?Promise.resolve():new Promise((t,n)=>{let s=e>0?setTimeout(()=>{let o=this._openWaiters.findIndex(i=>i.resolve===t);o!==-1&&this._openWaiters.splice(o,1),n(new nt(this._url,e))},e):null;this._openWaiters.push({resolve:()=>{s&&clearTimeout(s),t()},reject:o=>{s&&clearTimeout(s),n(o)}})})}close(e=1e3,t="Client closed"){this._aborted=!0,this._stopAll();for(let s of this._drainWaiters.splice(0))s();this._state="CLOSING";let n=this._ws;if(n){if(n.onopen=n.onmessage=n.onerror=n.onclose=null,n.readyState<2)try{n.close(e,t)}catch{}this._ws=null}this._buffer=[],this._bufferedBytes=0,this._iterQueue=[],this._iterDone=!0,this._iterWaiter&&(this._iterWaiter({done:!0,value:void 0}),this._iterWaiter=null);for(let s of this._openWaiters.splice(0))s.reject(new Error("Client closed"));this._rooms=[];for(let s of this._correlations.values())s.timer&&clearTimeout(s.timer),s.reject(new Error("Client closed"));this._correlations.clear(),this._openedAt!=null&&(this._mx.uptimeMs+=Date.now()-this._openedAt,this._openedAt=null),this._mx.closedAt=Date.now(),this._state="CLOSED";for(let s of this._closeListeners)try{s({code:e,reason:t})}catch{}this._closeListeners=[],this._msgListeners=[],this._cbClose?.(e,t,!1)}destroy(){this._aborted=!0,this._stopAll();for(let t of this._drainWaiters.splice(0))t();this._state="CLOSING";let e=this._ws;if(e){if(e.onopen=e.onmessage=e.onerror=e.onclose=null,e.readyState<2)try{e.close(1e3,"Destroyed")}catch{}this._ws=null}this._buffer=[],this._bufferedBytes=0,this._iterQueue=[],this._iterDone=!0,this._iterWaiter&&(this._iterWaiter({done:!0,value:void 0}),this._iterWaiter=null),this._msgListeners=[];for(let t of this._openWaiters.splice(0))t.reject(new Error("Client destroyed"));this._rooms=[];for(let t of this._correlations.values())t.timer&&clearTimeout(t.timer),t.reject(new Error("Client destroyed"));this._correlations.clear(),this._openedAt!=null&&(this._mx.uptimeMs+=Date.now()-this._openedAt,this._openedAt=null),this._mx.closedAt=Date.now(),this._state="CLOSED";for(let t of this._closeListeners)try{t({code:1e3,reason:"Destroyed"})}catch{}this._closeListeners=[],this._cbClose?.(1e3,"Destroyed",!1)}send(e){this._tx(e)&&this._mx.messagesSent++}sendBinary(e){let t=e instanceof Uint8Array?e.slice().buffer:e;this._tx(t)&&this._mx.messagesSent++}sendJSON(e){this.send(JSON.stringify(e))}request(e,t,n=o=>o.json??o.data,s=1e4){return new Promise((o,i)=>{let a=`${Date.now()}-${Math.random()}`,c=s>0?setTimeout(()=>{let l=this._correlations.get(a);l?.timer&&clearTimeout(l.timer),this._correlations.delete(a),i(new K(`request() timed out after ${s}ms waiting for reply`))},s):null;this._correlations.set(a,{matcher:t,extract:n,resolve:o,reject:i,timer:c}),typeof e=="string"?this.send(e):this.sendJSON(e)})}onMessage(e){return this._msgListeners.push(e),()=>{let t=this._msgListeners.indexOf(e);t!==-1&&this._msgListeners.splice(t,1)}}onClose(e){return this._closeListeners.push(e),()=>{let t=this._closeListeners.indexOf(e);t!==-1&&this._closeListeners.splice(t,1)}}drainBuffer(){let e=this._buffer.splice(0);return this._bufferedBytes=0,this._updateBackpressure(),e}join(e,t){this._rooms.some(n=>n.room===e&&n.namespace===t)||(this._rooms.push({room:e,namespace:t,joinedAt:Date.now()}),this.sendJSON({type:"room:join",room:e,namespace:t??null}))}leave(e,t){let n=this._rooms.findIndex(s=>s.room===e&&s.namespace===t);n!==-1&&(this._rooms.splice(n,1),this.sendJSON({type:"room:leave",room:e,namespace:t??null}))}get rooms(){return this._rooms}get backpressure(){return{bufferedBytes:this._bufferedBytes,highWaterMark:this._highWaterMark,lowWaterMark:this._lowWaterMark,isBackpressured:this._bufferedBytes>=this._highWaterMark}}drain(e=3e4){return this._state==="CLOSED"?Promise.reject(new K("Cannot drain \u2014 socket is CLOSED")):this._bufferedBytes<this._lowWaterMark?Promise.resolve():new Promise((t,n)=>{let s=e>0?setTimeout(()=>n(new K(`drain() timed out after ${e}ms`)),e):null;this._drainWaiters.push(()=>{s&&clearTimeout(s),t()})})}async drainAndClose(e=3e4){if(this._state!=="CLOSED"){try{await this.drain(e)}catch{}this.close(1e3,"Graceful shutdown")}}get serverEndpoint(){return this._serverEndpoint}[Symbol.asyncIterator](){return{next:()=>this._iterQueue.length>0?Promise.resolve({done:!1,value:this._iterQueue.shift()}):this._iterDone?Promise.resolve({done:!0,value:void 0}):new Promise(e=>{this._iterWaiter=e}),return:()=>(this.close(1e3,"Iterator returned"),Promise.resolve({done:!0,value:void 0}))}}_doConnect(e){return this._mx.totalConnectAttempts++,this._state="CONNECTING",new Promise((t,n)=>{let s=!1,o=null;this._connectTimeoutMs>0&&(o=setTimeout(()=>{if(s)return;s=!0;let u=new nt(this._url,this._connectTimeoutMs);n(u),this._cbError?.(u);let f=this._ws;if(f&&(f.onopen=f.onmessage=f.onerror=f.onclose=null,f.close(),this._ws=null),!this._aborted&&this._canRecon())this._scheduleRecon();else{this._state="CLOSED";for(let p of this._openWaiters.splice(0))p.reject(u);this._rejectCorrelations("Connection timeout")}},this._connectTimeoutMs));let i=()=>{o&&(clearTimeout(o),o=null)},a=this._url,c=(()=>{try{let u=globalThis;if(typeof globalThis.Deno<"u"||typeof globalThis.Bun<"u"||u.process?.versions?.node||typeof window>"u")return!1;let f=window;return typeof f.navigator<"u"&&typeof f.document<"u"}catch{return!1}})();if(this._headers&&c){let u=new URL(a);for(let[f,p]of Object.entries(this._headers))u.searchParams.set(f,p);a=u.href}let l;try{l=this._protocols?new WebSocket(a,this._protocols):new WebSocket(a)}catch(u){i(),this._state="CLOSED",n(new K("Failed to construct WebSocket",u instanceof Error?u:void 0));return}if(this._headers&&!c){let u=l;if(typeof u.setHeader=="function")for(let[f,p]of Object.entries(this._headers))u.setHeader(f,p)}this._ws=l,l.binaryType="arraybuffer",l.onopen=()=>{if(i(),!s){if(s=!0,this._state="OPEN",this._openedAt=Date.now(),this._mx.connectedAt=this._openedAt,e&&this._mx.reconnectCount++,this._serverEndpoint=l.url??this._url,this._reconnAttempt=0,this._rooms.length>0&&this._keepRooms)for(let u of this._rooms)try{l.send(JSON.stringify({type:"room:join",room:u.room,namespace:u.namespace??null}))}catch{}this._startPing(),this._flushBuf(),this._cbOpen?.(this._mx.reconnectCount),t();for(let u of this._openWaiters.splice(0))u.resolve()}},l.onmessage=async u=>{if(this._aborted)return;let f,p,d;if(typeof u.data=="string"){f=u.data,d=new TextEncoder().encode(f).byteLength;try{p=M(JSON.parse(f))}catch{}}else if(u.data instanceof ArrayBuffer)f=new Uint8Array(u.data),d=f.byteLength;else if(typeof Blob<"u"&&u.data instanceof Blob){let m=await u.data.arrayBuffer();f=new Uint8Array(m),d=f.byteLength}else f=new Uint8Array(u.data),d=f.byteLength;this._mx.messagesReceived++,this._mx.bytesReceived+=d;let g={data:f,json:p,timestamp:Date.now()};if(this._pongMatcher&&typeof f=="string"&&(typeof this._pongMatcher=="string"?f===this._pongMatcher:this._pongMatcher.test(f))){this._pongTimer&&(clearTimeout(this._pongTimer),this._pongTimer=null);return}for(let[m,y]of this._correlations)if(y.matcher(g)){this._correlations.delete(m),y.timer&&clearTimeout(y.timer);try{y.resolve(y.extract(g))}catch(b){y.reject(b)}return}for(let m of this._msgListeners)try{m(g)}catch{}if(this._cbMessage?.(g),this._iterWaiter){let m=this._iterWaiter;this._iterWaiter=null,m({done:!1,value:g})}else this._iterQueue.length>=this._maxBufferSize&&this._iterQueue.shift(),this._iterQueue.push(g)},l.onerror=u=>{this._cbError?.(new K(u.message??"WebSocket error",u.error))},l.onclose=u=>{i(),this._stopPing(),this._openedAt!=null&&(this._mx.uptimeMs+=Date.now()-this._openedAt,this._openedAt=null),this._mx.closedAt=Date.now();for(let p of this._closeListeners)try{p({code:u.code,reason:u.reason})}catch{}if(s||(s=!0,n(new K(`Socket closed before open (code ${u.code}: ${u.reason})`))),this._aborted||u.code===1e3||u.code===1001){this._state="CLOSED",this._cbClose?.(u.code,u.reason,!1),this._terminateIter();for(let p of this._openWaiters.splice(0))p.reject(new K(`Socket closed (code ${u.code})`));this._rejectCorrelations(`Socket closed (code ${u.code})`);return}let f=this._canRecon();if(this._cbClose?.(u.code,u.reason,f),f)this._scheduleRecon();else{this._cbGiveUp?.(this._reconnAttempt),this._state="CLOSED",this._terminateIter();let p=new Ht(this._reconnAttempt);for(let d of this._openWaiters.splice(0))d.reject(p);this._rejectCorrelations("Max reconnects exceeded")}}})}_canRecon(){return this._maxReconnects===0||this._reconnAttempt<this._maxReconnects}_scheduleRecon(){this._state="RECONNECTING",this._reconnAttempt++;let e=this._reconnectBaseMs*Math.pow(2,this._reconnAttempt-1),t=Math.min(e,this._reconnectMaxMs),n=Math.floor(t*(1+this._reconnectJitter*Math.random()));this._cbReconnect?.(this._reconnAttempt,n),this._reconnTimer=setTimeout(()=>{this._aborted||this._doConnect(!0).catch(()=>{})},n),typeof this._reconnTimer=="object"&&this._reconnTimer!==null&&"unref"in this._reconnTimer&&this._reconnTimer.unref()}_tx(e){let t=this._ws,n=typeof e=="string"?new TextEncoder().encode(e).byteLength:e.byteLength;if(this._maxSendRate>0){let s=Date.now();this._lastToken===0&&(this._lastToken=s,this._tokens=this._maxSendRate);let o=s-this._lastToken;if(this._tokens=Math.min(this._maxSendRate,this._tokens+o*this._maxSendRate/1e3),this._lastToken=s,this._tokens<1)return this._bufferMessage(e,n),!1;this._tokens--}if(this._bufferedBytes>=this._highWaterMark)return this._bufferMessage(e,n),!1;if(t&&t.readyState===1)try{return t.send(e),this._mx.bytesSent+=n,!0}catch(s){if(this._cbError?.(new K(`WebSocket send failed: ${s instanceof Error?s.message:String(s)}`,s)),t.readyState===1)try{t.close(4001,"Send error")}catch{}return this._ws=null,!this._aborted&&this._canRecon()&&this._scheduleRecon(),!1}return this._bufferMessage(e,n),!1}_bufferMessage(e,t){if(this._bufferMessages&&!this._aborted){let n=this._buffer.length>=this._maxBufferSize?this._buffer.shift():void 0;n!==void 0&&(this._bufferedBytes-=typeof n=="string"?new TextEncoder().encode(n).byteLength:n.byteLength),this._buffer.push(e),this._bufferedBytes+=t,this._updateBackpressure()}}_flushBuf(){let e=this._buffer.splice(0);for(let t of e)try{this._ws?.send(t),this._mx.messagesSent++,this._mx.bytesSent+=typeof t=="string"?new TextEncoder().encode(t).byteLength:t.byteLength}catch{}this._bufferedBytes=0,this._updateBackpressure()}_updateBackpressure(){let e=this._bufferedBytes>=this._highWaterMark;if(e!==this._wasBackpressured&&(this._wasBackpressured=e,this._cbBackpressure?.(e,this.backpressure)),!e&&this._bufferedBytes<this._lowWaterMark&&this._drainWaiters.length>0)for(let t of this._drainWaiters.splice(0))t()}_startPing(){this._pingIntervalMs<=0||(this._pingTimer=setInterval(()=>{let e=this._ws;if(!(!e||e.readyState!==1)){try{e.send(this._pingPayload),this._mx.messagesSent++,this._mx.bytesSent+=new TextEncoder().encode(this._pingPayload).byteLength}catch{}this._pongMatcher&&this._pongTimeoutMs>0&&(this._pongTimer&&clearTimeout(this._pongTimer),this._pongTimer=setTimeout(()=>{this._pongTimer=null;let t=this._ws;t&&(t.onopen=t.onmessage=t.onerror=t.onclose=null,t.close(4e3,"Pong timeout"),this._ws=null),!this._aborted&&this._canRecon()?(this._cbClose?.(4e3,"Pong timeout",!0),this._scheduleRecon()):this._state="CLOSED"},this._pongTimeoutMs),typeof this._pongTimer=="object"&&this._pongTimer!==null&&"unref"in this._pongTimer&&this._pongTimer.unref())}},this._pingIntervalMs),typeof this._pingTimer=="object"&&this._pingTimer!==null&&"unref"in this._pingTimer&&this._pingTimer.unref())}_stopPing(){this._pingTimer&&(clearInterval(this._pingTimer),this._pingTimer=null),this._pongTimer&&(clearTimeout(this._pongTimer),this._pongTimer=null)}_stopAll(){this._stopPing(),this._reconnTimer&&(clearTimeout(this._reconnTimer),this._reconnTimer=null)}_terminateIter(){this._iterDone=!0,this._iterWaiter&&(this._iterWaiter({done:!0,value:void 0}),this._iterWaiter=null)}_rejectCorrelations(e){for(let t of this._correlations.values())t.timer&&clearTimeout(t.timer),t.reject(new K(e));this._correlations.clear()}};async function vi(r){let e=new De(r);return await e.connect(),e}Ne();z();jt();var pl=0;function In(){return`interceptor_${++pl}`}function Ln(r){return[...r].sort((e,t)=>e.priority-t.priority)}var qt=class{constructor(){h(this,"requestInterceptors",[]);h(this,"responseInterceptors",[]);h(this,"errorInterceptors",[])}useRequest(e,t={}){let n=t.id??In();return this.requestInterceptors.push({id:n,priority:t.priority??0,once:t.once??!1,condition:t.condition??null,fn:e}),n}useResponse(e,t={}){let n=t.id??In();return this.responseInterceptors.push({id:n,priority:t.priority??0,once:t.once??!1,condition:t.condition??null,fn:e}),n}useError(e,t={}){let n=t.id??In();return this.errorInterceptors.push({id:n,priority:t.priority??0,once:t.once??!1,condition:t.condition??null,fn:e}),n}use(e,t,n={}){let s=e?this.useRequest(e,n):null,o=t?this.useResponse(t,n):null;return{requestId:s,responseId:o}}eject(e){let t=this.requestInterceptors.length+this.responseInterceptors.length+this.errorInterceptors.length;return this.requestInterceptors=this.requestInterceptors.filter(s=>s.id!==e),this.responseInterceptors=this.responseInterceptors.filter(s=>s.id!==e),this.errorInterceptors=this.errorInterceptors.filter(s=>s.id!==e),this.requestInterceptors.length+this.responseInterceptors.length+this.errorInterceptors.length<t}ejectAll(){this.requestInterceptors=[],this.responseInterceptors=[],this.errorInterceptors=[]}has(e){return this.requestInterceptors.some(t=>t.id===e)||this.responseInterceptors.some(t=>t.id===e)||this.errorInterceptors.some(t=>t.id===e)}get requestCount(){return this.requestInterceptors.length}get responseCount(){return this.responseInterceptors.length}get errorCount(){return this.errorInterceptors.length}async execute(e,t){let n={request:e,response:null,error:null,startedAt:ee(),attempt:0,aborted:!1,store:new Map};return await this._run(n,t)}async _run(e,t){e.attempt++;let n=new Set;for(let s of Ln(this.requestInterceptors)){if(e.aborted)break;if(s.condition&&!s.condition(e))continue;let o;try{o=await s.fn(e)}catch(i){e.error=i;for(let a of n)this.eject(a);return this._runErrorPhase(e,t)}if(s.once&&n.add(s.id),o!=null){if(Mn(o)){e.response=o;for(let i of n)this.eject(i);return this._runResponsePhase(e,t)}Di(o)&&(e.request=o)}}for(let s of n)this.eject(s);try{e.response=await t(e.request)}catch(s){return e.error=s,this._runErrorPhase(e,t)}return this._runResponsePhase(e,t)}async _runResponsePhase(e,t){let n=new Set;for(let s of Ln(this.responseInterceptors)){if(e.aborted)break;if(s.condition&&!s.condition(e))continue;let o;try{o=await s.fn(e)}catch(i){e.error=i;for(let a of n)this.eject(a);return this._runErrorPhase(e,t)}if(s.once&&n.add(s.id),o!=null){if(Di(o)){e.request=o,e.response=null,e.error=null;for(let i of n)this.eject(i);return this._run(e,t)}Mn(o)&&(e.response=o)}}for(let s of n)this.eject(s);if(!e.response)throw new Error("Pipeline produced no response");return e.response}async _runErrorPhase(e,t){let n=new Set;for(let s of Ln(this.errorInterceptors)){if(s.condition&&!s.condition(e))continue;let o;try{o=await s.fn(e)}catch(i){if(i.__retrySignal){for(let a of n)this.eject(a);return e.error=null,e.response=null,this._run(e,t)}e.error=i;continue}if(s.once&&n.add(s.id),o!=null&&Mn(o)){e.response=o,e.error=null;for(let i of n)this.eject(i);return this._runResponsePhase(e,t)}}for(let s of n)this.eject(s);throw e.error}};function Mn(r){return r!==null&&typeof r=="object"&&typeof r.status=="number"&&"headers"in r&&"request"in r}function Di(r){return r!==null&&typeof r=="object"&&typeof r.url=="string"&&typeof r.method=="string"&&!("status"in r)}var ml={maxRetries:3,baseDelayMs:300,maxDelayMs:3e4,jitter:.3,retryStatuses:[408,429,500,502,503,504],retryOnError:!0,retryMethods:["GET","HEAD","PUT","DELETE","OPTIONS","TRACE","POST"],shouldRetry:null,onRetry:null};function Nn(r={}){let e={...ml,...r};function t(a,c){if(c!==null)return Math.min(c,e.maxDelayMs);let l=e.baseDelayMs*Math.pow(2,a-1),u=Math.min(l,e.maxDelayMs),f=u*e.jitter*Math.random();return Math.floor(u+f)}function n(a){return a.attempt>e.maxRetries||!e.retryMethods.includes(a.request.method.toUpperCase())?!1:e.shouldRetry?e.shouldRetry(a):a.error?e.retryOnError:a.response?e.retryStatuses.includes(a.response.status):!1}function s(a){let c=a.response?.headers["retry-after"]??a.response?.headers["Retry-After"];if(!c)return null;if(/^\d+$/.test(c.trim()))return parseInt(c,10)*1e3;let l=Date.parse(c);return isNaN(l)?null:Math.max(0,l-Date.now())}return{responseInterceptor:async a=>{if(!n(a))return;let c=t(a.attempt,s(a));return e.onRetry?.(a,c),await $i(c),{...a.request}},errorInterceptor:async a=>{if(!n(a))return;let c=t(a.attempt,null);throw e.onRetry?.(a,c),await $i(c),a.error=null,new On(a.request)}}}var On=class{constructor(e){h(this,"request");h(this,"__retrySignal",!0);this.request=e}},gl={getToken:()=>null,refreshToken:null,headerName:"authorization",scheme:"Bearer ",refreshOnStatuses:[401],maxQueue:50,refreshRetryDelay:3e4};function Un(r){let e={...gl,...r},t=null,n=[],s=null,o=e.refreshRetryDelay??3e4;async function i(){if(s!==null){let l=Date.now()-s;if(l<o)throw new Error(`Auth refresh circuit breaker: last failure ${Math.round(l/1e3)}s ago, retry after ${Math.round((o-l)/1e3)}s`)}if(t){if(n.length>=e.maxQueue)throw new Error("Auth refresh queue full");return await new Promise((l,u)=>n.push({resolve:l,reject:u}))}return e.refreshToken?(t=e.refreshToken().then(l=>{for(let u of n)u.resolve(l);return n.length=0,t=null,s=null,l},l=>{for(let u of n)u.reject(l);throw n.length=0,t=null,s=Date.now(),l}),t):null}return{requestInterceptor:async l=>{let u=await e.getToken();u&&(l.request.headers[e.headerName]=`${e.scheme}${u}`)},responseInterceptor:async l=>{if(!l.response||!e.refreshOnStatuses.includes(l.response.status)||!e.refreshToken||l.request.meta.__authRetried)return;let u=await i();return u?{...l.request,headers:{...l.request.headers,[e.headerName]:`${e.scheme}${u}`},meta:{...l.request.meta,__authRetried:!0}}:void 0}}}var yl={timeoutMs:3e4,methodTimeouts:{},message:"Request timed out"};function $n(r={}){let e={...yl,...r};return{id:"timeout",requestInterceptor:o=>{let i=e.methodTimeouts[o.request.method.toUpperCase()]??e.timeoutMs;if(i<=0)return;let a=new AbortController,c=setTimeout(()=>{o.aborted=!0,a.abort(new Dn(e.message,i))},i),l=o.request.signal;l&&l.addEventListener("abort",()=>{clearTimeout(c),a.abort(l.reason)},{once:!0}),o.request={...o.request,signal:a.signal},o.store.set(zt,c)},responseInterceptor:o=>{let i=o.store.get(zt);i&&(clearTimeout(i),o.store.delete(zt))},errorInterceptor:o=>{let i=o.store.get(zt);i&&(clearTimeout(i),o.store.delete(zt))}}}var zt=Symbol("timeoutTimer"),Dn=class extends Error{constructor(t,n){super(t);h(this,"timeoutMs");h(this,"code","ETIMEDOUT");this.timeoutMs=n,this.name="TimeoutError"}},wl={logger:r=>console.log(JSON.stringify(r)),redactHeaders:["authorization","cookie","set-cookie","proxy-authorization"],logRequests:!0,logResponses:!0,logErrors:!0},Ni=Symbol("requestId"),bl=0;function Hn(r={}){let e={...wl,...r},t=new Set(e.redactHeaders.map(c=>c.toLowerCase()));function n(c){let l={};for(let[u,f]of Object.entries(c))l[u]=t.has(u.toLowerCase())?"**REDACTED**":f;return l}function s(c,l){let u=l.store.get(Ni)??"unknown";return{type:c,timestamp:Date.now(),requestId:u,method:l.request.method,url:l.request.url,status:l.response?.status??null,durationMs:c!=="request"?ee()-l.startedAt:null,attempt:l.attempt,error:l.error instanceof Error?l.error.message:null}}return{requestInterceptor:c=>{let l=`req_${++bl}`;c.store.set(Ni,l),e.logRequests&&e.logger(s("request",c))},responseInterceptor:c=>{e.logResponses&&e.logger(s("response",c))},errorInterceptor:c=>{e.logErrors&&e.logger(s("error",c))}}}var xl={maxEntries:500,defaultTtlMs:6e4,cacheMethods:["GET","HEAD"],cacheKey:null,honorCacheControl:!0};function jn(r={}){let e={...xl,...r},t=new Map,n=[];function s(l){return e.cacheKey?e.cacheKey(l):`${l.method}:${l.url}`}function o(l){let u=n.indexOf(l);for(u!==-1&&n.splice(u,1),n.unshift(l);n.length>e.maxEntries;){let f=n.pop();t.delete(f)}}function i(l){let u=l.headers["cache-control"]??l.headers["Cache-Control"]??"",f=u.match(/max-age=(\d+)/)?.[1],p=u.match(/stale-while-revalidate=(\d+)/)?.[1],d=/no-store/i.test(u),g=/no-cache/i.test(u);if(e.honorCacheControl&&(d||g))return{ttlMs:0,swrMs:0};let m=f?parseInt(f,10)*1e3:e.defaultTtlMs,y=p?parseInt(p,10)*1e3:0;return{ttlMs:m,swrMs:y}}return{requestInterceptor:l=>{if(!e.cacheMethods.includes(l.request.method.toUpperCase()))return;let u=s(l.request),f=t.get(u);if(!f)return;let p=ee();if(f.expiresAt>p)return o(u),l.store.set(_l,!0),{...f.response,request:l.request};f.staleUntil>p&&(o(u),l.store.set(Ui,f),f.etag?l.request={...l.request,headers:{...l.request.headers,"if-none-match":f.etag}}:f.lastModified&&(l.request={...l.request,headers:{...l.request.headers,"if-modified-since":f.lastModified}}))},responseInterceptor:l=>{if(!l.response||!e.cacheMethods.includes(l.request.method.toUpperCase()))return;let u=s(l.request);if(l.response.status===304){let m=l.store.get(Ui);if(m){let{ttlMs:y,swrMs:b}=i(m.response),x=ee(),T={...m,createdAt:x,expiresAt:x+y,staleUntil:x+y+b};t.set(u,T),o(u),l.response={...m.response,request:l.request};return}}let{ttlMs:f,swrMs:p}=i(l.response);if(f<=0)return;let d=ee(),g={response:l.response,createdAt:d,expiresAt:d+f,staleUntil:d+f+p,etag:l.response.headers.etag??l.response.headers.ETag??null,lastModified:l.response.headers["last-modified"]??null};t.set(u,g),o(u)},store:t}}var _l=Symbol("cacheHit"),Ui=Symbol("cacheStale");function zn(){let r=new Map;function e(o){return`${o.method.toUpperCase()}:${o.url}`}return{requestInterceptor:o=>{if(o.request.method.toUpperCase()!=="GET"&&o.request.method.toUpperCase()!=="HEAD")return;let i=e(o.request),a=r.get(i);if(!a){r.set(i,{promise:void 0,waiters:[]});return}return o.store.set(Sl,i),new Promise((c,l)=>{a.waiters.push({resolve:u=>c(u),reject:u=>l(u)})})},responseInterceptor:o=>{if(!o.response)return;let i=e(o.request),a=r.get(i);if(a){r.delete(i);for(let c of a.waiters)c.resolve(o.response)}},errorInterceptor:o=>{let i=e(o.request),a=r.get(i);if(a){r.delete(i);for(let c of a.waiters)c.reject(o.error)}}}}var Sl=Symbol("dedupeQueued"),Tl={limit:60,windowMs:6e4,queue:!0,maxQueue:100};function Bt(r={}){let e={...Tl,...r},t=e.limit,n=ee(),s=[],o=null;function i(){let l=ee(),u=(l-n)/e.windowMs;t=Math.min(e.limit,t+u*e.limit),n=l}function a(){o===null&&(o=setInterval(()=>{for(i();t>=1&&s.length>0;)t--,s.shift()();s.length===0&&o!==null&&(clearInterval(o),o=null)},Math.ceil(e.windowMs/e.limit)),typeof o=="object"&&o!==null&&"unref"in o&&o.unref())}async function c(){if(i(),t>=1){t--;return}if(!e.queue)throw new lt("Rate limit exceeded");if(s.length>=e.maxQueue)throw new lt("Rate limit queue full");await new Promise(l=>{s.push(()=>l()),a()})}return async()=>{await c()}}var lt=class extends Error{constructor(t){super(t);h(this,"code","ERATELIMIT");this.name="RateLimitError"}};function qn(){let r=[],e=Symbol("harStart");function t(i){return Object.entries(i).map(([a,c])=>({name:a,value:c}))}function n(i){try{let a=new URL(i);return Array.from(a.searchParams.entries()).map(([c,l])=>({name:c,value:l}))}catch{return[]}}return{requestInterceptor:i=>{i.store.set(e,ee())},responseInterceptor:i=>{if(!i.response)return;let a=i.store.get(e)??i.startedAt,c=ee()-a,l=i.response.headers["content-type"]??i.response.headers["Content-Type"]??"application/octet-stream",u=i.response.body,f=u instanceof Uint8Array?u.byteLength:typeof u=="string"?u.length:0;r.push({startedDateTime:new Date(Date.now()-c).toISOString(),time:c,request:{method:i.request.method.toUpperCase(),url:i.request.url,httpVersion:"HTTP/1.1",headers:t(i.request.headers),queryString:n(i.request.url),bodySize:Fn(i.request.body)},response:{status:i.response.status,statusText:i.response.statusText,httpVersion:"HTTP/1.1",headers:t(i.response.headers),content:{size:f,mimeType:l,...typeof u=="string"?{text:u}:{}},bodySize:f,redirectURL:i.response.headers.location??""},timings:{send:0,wait:Math.floor(c*.9),receive:Math.floor(c*.1)}})},getHAR:()=>({version:"1.2",creator:{name:"kinetex",version:"0.0.3"},entries:[...r]}),clearHAR:()=>{r.length=0}}}function Bn(){let r=Symbol("metricsStart"),e=0,t=0,n=0,s={"2xx":0,"3xx":0,"4xx":0,"5xx":0},o=1e4,i=[],a=d=>{d.store.set(r,ee()),e++,d.attempt>1&&n++},c=d=>{if(!d.response)return;let g=d.store.get(r);if(g!==void 0){let y=ee()-g;i.length>=o&&i.shift(),i.push(y)}let m=`${Math.floor(d.response.status/100)}xx`;if(m in s){let y=s;y[m]=(y[m]??0)+1}},l=()=>{t++};function u(d,g){if(d.length===0)return 0;let m=Math.ceil(g/100*d.length)-1,y=Math.min(Math.max(0,m),d.length-1);return d[y]}return{requestInterceptor:a,responseInterceptor:c,errorInterceptor:l,snapshot:()=>{let d=[...i].sort((m,y)=>m-y),g=d.length?d.reduce((m,y)=>m+y,0)/d.length:0;return{totalRequests:e,totalErrors:t,totalRetries:n,statusBuckets:{...s},avgDurationMs:Math.round(g),p50DurationMs:u(d,50),p95DurationMs:u(d,95),p99DurationMs:u(d,99)}},reset:()=>{e=0,t=0,n=0;for(let d of Object.keys(s))s[d]=0;i.length=0}}}function ee(){return typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now()}function $i(r){return new Promise(e=>setTimeout(e,r))}function Fn(r){return r?typeof r=="string"?r.length:r instanceof Uint8Array||r instanceof ArrayBuffer?r.byteLength:-1:0}function Hi(r={}){let e=new qt,t=$n(r.timeout);e.useRequest(t.requestInterceptor,{priority:-100,id:"timeout-req"}),e.useResponse(t.responseInterceptor,{priority:-100,id:"timeout-res"}),e.useError(t.errorInterceptor,{priority:-100,id:"timeout-err"}),r.rateLimit&&e.useRequest(Bt(r.rateLimit),{priority:-90,id:"ratelimit"});let n=zn();e.useRequest(n.requestInterceptor,{priority:-80,id:"dedupe-req"}),e.useResponse(n.responseInterceptor,{priority:-80,id:"dedupe-res"}),e.useError(n.errorInterceptor,{priority:-80,id:"dedupe-err"});let s=jn(r.cache);e.useRequest(s.requestInterceptor,{priority:-70,id:"cache-req"}),e.useResponse(s.responseInterceptor,{priority:-70,id:"cache-res"});let o=null;r.auth&&(o=Un(r.auth),e.useRequest(o.requestInterceptor,{priority:-50,id:"auth-req"}),e.useResponse(o.responseInterceptor,{priority:-50,id:"auth-res"}));let i=Nn(r.retry);e.useResponse(i.responseInterceptor,{priority:50,id:"retry-res"}),e.useError(i.errorInterceptor,{priority:50,id:"retry-err"});let a=Hn(r.logging);e.useRequest(a.requestInterceptor,{priority:90,id:"log-req"}),e.useResponse(a.responseInterceptor,{priority:90,id:"log-res"}),e.useError(a.errorInterceptor,{priority:90,id:"log-err"});let c=qn();e.useRequest(c.requestInterceptor,{priority:95,id:"har-req"}),e.useResponse(c.responseInterceptor,{priority:95,id:"har-res"});let l=Bn();return e.useRequest(l.requestInterceptor,{priority:100,id:"metrics-req"}),e.useResponse(l.responseInterceptor,{priority:100,id:"metrics-res"}),e.useError(l.errorInterceptor,{priority:100,id:"metrics-err"}),{manager:e,retry:i,auth:o,timeout:{id:t.id},logging:a,cache:s,dedupe:n,har:c,metrics:l}}Ne();function ji(r){return()=>Promise.resolve(r)}function zi(){return()=>{let r=Wn("AWS_ACCESS_KEY_ID"),e=Wn("AWS_SECRET_ACCESS_KEY"),t=Wn("AWS_SESSION_TOKEN");return!r||!e?Promise.reject(new Z("AWS credentials not found in environment. Set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY.")):Promise.resolve({accessKeyId:r,secretAccessKey:e,...t!==void 0?{sessionToken:t}:{}})}}function qi(...r){return async()=>{let e=[];for(let t of r)try{return await t()}catch(n){e.push(n instanceof Error?n:new Error(String(n)))}throw new Z(`All credential providers failed:
74
+ `;bo=ne.prototype.clearAPQCache.bind(ne.prototype),xo=ne.prototype.getAPQMetrics.bind(ne.prototype)});var ec={};de(ec,{collectAll:()=>_o,collectPages:()=>So,createCursorPaginator:()=>ko,createKeysetPaginator:()=>Po,createLinkHeaderPaginator:()=>Co,createOffsetPaginator:()=>To,createPagePaginator:()=>Ro,createRelayPaginator:()=>Ao,createTokenPaginator:()=>vo,deserializePaginationState:()=>Lo,mergePaginators:()=>Oo,paginate:()=>z,paginateItems:()=>pn,parseLinkHeaderNext:()=>mn,prefetchPaginate:()=>Ju,serializePaginationState:()=>Io,takeItems:()=>Eo,toPaginationIterator:()=>Mo});function Ku(r,e){return{strategy:e,page:r.startPage??1,offset:r.startOffset??0,cursor:r.startCursor??null,prevCursor:null,token:r.startToken??null,done:!1,totalFetched:0}}function Vu(r,e,t,n,s,o){let i=n.getTotal?.(e)??null,a=n.perPage??null,l=i!==null&&a!==null?Math.ceil(i/a):null,c=t.page>1||t.offset>0||t.prevCursor!==null;return{items:r,total:i,page:t.page,perPage:a,totalPages:l,hasNext:o??n.hasNext(e,t),hasPrev:c,nextCursor:s?.cursor??null,prevCursor:t.prevCursor??null,raw:e}}async function*z(r,e="page"){let t=Ku(r,e),n=0;for(;!t.done&&!(r.signal?.aborted||r.maxPages&&n>=r.maxPages);){n>0&&r.delayMs&&r.delayMs>0&&await Qu(r.delayMs,r.signal);let s;try{s=await r.fetch(t)}catch(u){if(r.signal?.aborted)break;throw u}let o=r.getItems(s,t);r.transform&&(o=o.map(r.transform)),r.filter&&(o=o.filter(r.filter));let i=r.getNext?r.getNext(s,t):null,a=r.hasNext(s,t),l=Vu(o,s,t,r,i,a),c=t.cursor;if(t={...t,page:i?.page??t.page+1,offset:i?.offset??t.offset+o.length,cursor:i?.cursor??t.cursor,token:i?.token??t.token,done:!a,totalFetched:t.totalFetched+o.length,prevCursor:c},n++,r.onPage?.(l,t),yield l,!a)break}}async function*pn(r,e="page"){for await(let t of z(r,e))for(let n of t.items)yield n}async function _o(r,e="page"){let t=[];for await(let n of z(r,e))t.push(...n.items);return t}async function So(r,e="page"){let t=[];for await(let n of z(r,e))t.push(n);return t}async function Eo(r,e,t="page"){let n=[];for await(let s of pn(e,t))if(n.push(s),n.length>=r)break;return n}function To(r){let e=r.paramNames??{},t=e.offset??"offset",n=e.limit??"limit",s=r.fetch??globalThis.fetch;return z({...r.signal!==void 0?{signal:r.signal}:{},...r.maxPages!==void 0?{maxPages:r.maxPages}:{},...r.delayMs!==void 0?{delayMs:r.delayMs}:{},perPage:r.limit,fetch:async o=>{let i=new URL(r.url);return i.searchParams.set(t,String(o.offset)),i.searchParams.set(n,String(r.limit)),(await s(i.toString(),{...r.headers!==void 0?{headers:r.headers}:{},...r.signal!==void 0?{signal:r.signal}:{}})).json()},getItems:(o,i)=>r.getItems(o),getTotal:r.getTotal??(()=>null),hasNext:(o,i)=>{let a=r.getTotal?.(o)??null;return r.hasMore?r.hasMore(o,i.totalFetched+r.limit,a):a!==null?i.offset+r.limit<a:r.getItems(o).length===r.limit},getNext:(o,i)=>({offset:i.offset+r.limit})},"offset")}function Ro(r){let e=r.paramNames??{},t=e.page??"page",n=e.perPage??"per_page",s=r.fetch??globalThis.fetch;return z({...r.signal!==void 0?{signal:r.signal}:{},...r.maxPages!==void 0?{maxPages:r.maxPages}:{},...r.delayMs!==void 0?{delayMs:r.delayMs}:{},...r.perPage!==void 0?{perPage:r.perPage}:{},startPage:r.startPage??1,fetch:async o=>{let i=new URL(r.url);return i.searchParams.set(t,String(o.page)),i.searchParams.set(n,String(r.perPage)),(await s(i.toString(),{...r.headers!==void 0?{headers:r.headers}:{},...r.signal!==void 0?{signal:r.signal}:{}})).json()},getItems:o=>r.getItems(o),getTotal:r.getTotal??(()=>null),hasNext:(o,i)=>{let a=r.getTotalPages?.(o)??null;if(a!==null)return i.page<a;let l=r.getTotal?.(o)??null;return l!==null?i.page*r.perPage<l:r.getItems(o).length===r.perPage},getNext:(o,i)=>({page:i.page+1})},"page")}function ko(r){let e=r.paramName??"cursor",t=r.fetch??globalThis.fetch;return z({...r.signal!==void 0?{signal:r.signal}:{},...r.maxPages!==void 0?{maxPages:r.maxPages}:{},...r.delayMs!==void 0?{delayMs:r.delayMs}:{},startCursor:r.startCursor??null,fetch:async n=>{let s=new URL(r.url);return n.cursor&&s.searchParams.set(e,n.cursor),(await t(s.toString(),{...r.headers!==void 0?{headers:r.headers}:{},...r.signal!==void 0?{signal:r.signal}:{}})).json()},getItems:n=>r.getItems(n),hasNext:n=>r.getNextCursor(n)!==null,getNext:n=>{let s=r.getNextCursor(n);return s?{cursor:s}:null}},"cursor")}function Ao(r){let e=r.first??20;return z({...r.signal!==void 0?{signal:r.signal}:{},...r.maxPages!==void 0?{maxPages:r.maxPages}:{},...r.delayMs!==void 0?{delayMs:r.delayMs}:{},...r.transform!==void 0?{transform:r.transform}:{},...r.filter!==void 0?{filter:r.filter}:{},...r.onPage!==void 0?{onPage:r.onPage}:{},startCursor:r.startCursor??null,perPage:e,fetch:t=>r.fetch({first:e,after:t.cursor}),getItems:t=>t.edges.map(n=>n.node),getTotal:t=>t.totalCount??null,hasNext:t=>t.pageInfo.hasNextPage,getNext:t=>{let n=t.pageInfo.endCursor??null;return n?{cursor:n}:null}},"relay")}function Co(r){let e=r.fetch??globalThis.fetch;return z({...r.signal!==void 0?{signal:r.signal}:{},...r.maxPages!==void 0?{maxPages:r.maxPages}:{},...r.delayMs!==void 0?{delayMs:r.delayMs}:{},fetch:async t=>{let n=t.cursor??r.url,s=await e(n,{...r.headers!==void 0?{headers:r.headers}:{},...r.signal!==void 0?{signal:r.signal}:{}}),o=mn(s.headers.get("link")??"");return{data:await s.json(),headers:s.headers,nextUrl:o}},getItems:t=>r.getItems(t.data),getTotal:t=>r.getTotal?.(t.data,t.headers)??null,hasNext:t=>t.nextUrl!==null,getNext:t=>t.nextUrl?{cursor:t.nextUrl}:null},"link-header")}function mn(r){if(!r)return null;for(let e of r.split(",")){let t=e.match(/<([^>]+)>.*?rel=["']([^"']+)["']/);if(t&&t[2]&&t[2].split(/\s+/).includes("next"))return t[1]}return null}function vo(r){let e=r.tokenParam??"pageToken",t=r.pageSizeParam??"pageSize",n=r.fetch??globalThis.fetch;return z({...r.signal!==void 0?{signal:r.signal}:{},...r.maxPages!==void 0?{maxPages:r.maxPages}:{},...r.delayMs!==void 0?{delayMs:r.delayMs}:{},...r.pageSize!==void 0?{perPage:r.pageSize}:{},fetch:async s=>{let o=new URL(r.url);return s.token&&o.searchParams.set(e,s.token),r.pageSize&&o.searchParams.set(t,String(r.pageSize)),(await n(o.toString(),{...r.headers!==void 0?{headers:r.headers}:{},...r.signal!==void 0?{signal:r.signal}:{}})).json()},getItems:s=>r.getItems(s),getTotal:r.getTotal??(()=>null),hasNext:s=>r.getNextToken(s)!==null,getNext:s=>{let o=r.getNextToken(s);return o?{token:o}:null}},"token")}function Po(r){let e=r.pageSizeParam??"limit",t=r.fetch??globalThis.fetch;return z({...r.signal!==void 0?{signal:r.signal}:{},...r.maxPages!==void 0?{maxPages:r.maxPages}:{},...r.delayMs!==void 0?{delayMs:r.delayMs}:{},...r.pageSize!==void 0?{perPage:r.pageSize}:{},startCursor:r.startKey??null,fetch:async n=>{let s=new URL(r.url);return n.cursor&&s.searchParams.set(r.keyParam,n.cursor),r.pageSize&&s.searchParams.set(e,String(r.pageSize)),(await t(s.toString(),{...r.headers!==void 0?{headers:r.headers}:{},...r.signal!==void 0?{signal:r.signal}:{}})).json()},getItems:n=>r.getItems(n),hasNext:(n,s)=>{let o=r.getItems(n);return r.hasMore?r.hasMore(o,n):r.pageSize?o.length>=r.pageSize:o.length>0},getNext:(n,s)=>{let o=r.getItems(n),i=r.getLastKey(o);return i?{cursor:i}:null}},"keyset")}async function*Ju(r,e="page",t=2){let n=[],s=z(r,e),o=!1;async function i(){if(o)return;let{value:a,done:l}=await s.next();o=l??!1,n.push(Promise.resolve(a??null))}for(let a=0;a<t+1;a++)await i();for(;n.length>0;){let a=await n.shift();if(a==null)break;await i(),yield a}}function Io(r){return btoa(JSON.stringify(r))}function Lo(r){try{return M(JSON.parse(atob(r)))}catch{throw new Error("Invalid pagination state string")}}function Qu(r,e){return new Promise(t=>{if(e?.aborted){t();return}let n=()=>{clearTimeout(s),e?.removeEventListener("abort",n),t()},s=setTimeout(()=>{e?.removeEventListener("abort",n),t()},r);e?.addEventListener("abort",n,{once:!0})})}function Mo(r){let e=r[Symbol.asyncIterator]();return{next:()=>e.next(),return:t=>e.return?.(t)??Promise.resolve({value:t,done:!0}),throw:t=>e.throw?.(t)??Promise.reject(t),[Symbol.asyncIterator](){return this}}}async function*Oo(...r){let e=r.map(n=>n[Symbol.asyncIterator]()),t=new Set(e.map((n,s)=>s));for(;t.size>0;)for(let n of[...t]){let{value:s,done:o}=await e[n].next();if(o){t.delete(n);continue}yield s}}var gn=F(()=>{"use strict";B()});var Dh={};de(Dh,{AbortError:()=>ut,AuthError:()=>Tr,BatchQueue:()=>bn,BatchingTransport:()=>It,CircuitBreaker:()=>st,CircuitBreakerRegistry:()=>Ne,CircuitOpenError:()=>nt,CloudflareKVAdapter:()=>ft,ConsoleTransport:()=>Qe,ContentTypeError:()=>Re,CookieJar:()=>Ce,DedupMap:()=>De,FetchTransport:()=>We,FluentRequest:()=>ur,GraphQLClient:()=>ne,GraphQLClientError:()=>N,HAS_NATIVE_FETCH:()=>Vs,HTTPCache:()=>ae,HTTPError:()=>dr,HTTPLogger:()=>Pe,HTTPResponseError:()=>qe,HTTPStatusError:()=>lt,HeaderName:()=>b,HookEmitter:()=>hr,HookRegistry:()=>xn,HttpHeaders:()=>le,IS_NODE:()=>Ae,InterceptorManager:()=>Wt,JSONTransport:()=>Pt,Kinetex:()=>Ut,KinetexError:()=>x,LogLevel:()=>vt,MemoryStorageAdapter:()=>Se,MultiPartProgressAggregator:()=>gr,MultiTransport:()=>Mt,NetworkError:()=>te,NodeHTTP2Transport:()=>_t,ProgressTracker:()=>W,ProxyError:()=>Rr,RUNTIME:()=>ye,RateLimitError:()=>mt,Redactor:()=>Ot,RedirectError:()=>kr,RedirectTracker:()=>_n,RemoteTransport:()=>Lt,ResponseDecodeError:()=>Fe,ResponseSizeLimitError:()=>Te,ResponseValidationError:()=>pr,RichHeaders:()=>Ee,SSEClient:()=>Ge,SSEError:()=>fe,SSEMaxReconnectsError:()=>Xe,SSEParser:()=>Ie,SSERouter:()=>ir,SSEServerResponse:()=>Dt,SSETransformStream:()=>or,SigV4Signer:()=>ce,SizeLimitError:()=>ct,Socks5Error:()=>L,TimeoutError:()=>G,TooManyRedirectsError:()=>fr,TwoTierStorageAdapter:()=>dt,URLBuilder:()=>Me,ValidationError:()=>Q,WSClient:()=>He,WSConnectTimeoutError:()=>at,WSError:()=>K,WSMaxReconnectsError:()=>Ft,WSRateLimitError:()=>Er,WebStorageAdapter:()=>Be,applyDecompression:()=>Xt,assertOk:()=>$s,assertOkJSON:()=>Hs,authLink:()=>fo,buildDataURL:()=>Jc,cachingCredentials:()=>ss,canonicalizeDomainFull:()=>he,chainCredentials:()=>Ji,clearAPQCache:()=>bo,collectAll:()=>_o,collectPages:()=>So,collectStream:()=>ai,compilePattern:()=>Nc,composeAround:()=>mc,composeBeforeRequest:()=>dc,composeBeforeResponse:()=>pc,computeBodySize:()=>es,computeDigestResponse:()=>Mr,concatUint8Arrays:()=>br,connectWS:()=>Di,corsHeaders:()=>Sa,createAPIGatewaySigner:()=>ea,createAbortHook:()=>bc,createAuthInterceptor:()=>Vn,createBodyNormalizationHook:()=>wc,createCacheInterceptor:()=>Gn,createCircuitBreaker:()=>fi,createCircuitBreakerRegistry:()=>di,createCookieJar:()=>sn,createCursorPaginator:()=>ko,createDedupMap:()=>hi,createDedupeInterceptor:()=>Xn,createDevelopmentLogger:()=>no,createDigestAuthorization:()=>na,createDynamoDBSigner:()=>ra,createGraphQLClient:()=>yo,createHARInterceptor:()=>Yn,createHeaders:()=>Ea,createHookContext:()=>xc,createImmutableHeaders:()=>ka,createInterceptorSuite:()=>Wi,createJSONSSEStream:()=>oo,createKVCache:()=>Nn,createKeysetPaginator:()=>Po,createLimitedReader:()=>Fs,createLinkHeaderPaginator:()=>Co,createLocalStorageCache:()=>On,createLogger:()=>to,createLoggingHooks:()=>gc,createLoggingInterceptor:()=>Qn,createMemoryCache:()=>Mn,createMethodCircuitBreakerKey:()=>ac,createMetricsInterceptor:()=>Zn,createOffsetPaginator:()=>To,createPagePaginator:()=>Ro,createProductionLogger:()=>ro,createRateLimitInterceptor:()=>Kt,createRelayPaginator:()=>Ao,createRequestHeaders:()=>Ta,createResponseHeaders:()=>Ra,createRetryInterceptor:()=>Kn,createS3Signer:()=>Zi,createSSEResponse:()=>io,createSSEStream:()=>so,createSTSSigner:()=>ta,createSessionStorageCache:()=>Dn,createSocks5Tunnel:()=>Wo,createStructuredError:()=>ki,createTimeoutInterceptor:()=>Jn,createTimingHook:()=>yc,createTokenPaginator:()=>vo,createTransport:()=>Zt,createTwoTierCache:()=>Un,decodeBody:()=>Gt,decodeIDNLabel:()=>sr,decompressBodyStream:()=>tr,decompressStream:()=>Wr,deepClone:()=>ot,default:()=>Oh,defaultPath:()=>Rt,denoTcpConnector:()=>Ec,deriveSigningKey:()=>wt,deserializePaginationState:()=>Lo,detectClockSkew:()=>us,detectOperationType:()=>fn,detectRuntime:()=>Zr,diffResponses:()=>js,diffURLs:()=>Qc,domainMatch:()=>Tt,encodePathComponent:()=>Vo,encodeQueryValue:()=>Ye,envCredentials:()=>Vi,errorLink:()=>po,expandTemplate:()=>Dc,extractOperationName:()=>be,extractServerTiming:()=>zs,extractSetCookieHeaders:()=>Ct,fillPathParams:()=>Xo,formatAmzDate:()=>Vt,formatBasic:()=>fa,formatBearer:()=>ha,formatBytes:()=>jt,formatCSP:()=>zr,formatCacheControl:()=>Ss,formatContentDisposition:()=>xs,formatContentType:()=>ws,formatDateStamp:()=>gt,formatDigestAuth:()=>Or,formatETA:()=>Rn,formatError:()=>Ai,formatHSTS:()=>Br,formatLinkHeader:()=>ma,formatProgress:()=>li,formatRate:()=>Tn,formatServerTiming:()=>ya,fromNodeHeaders:()=>wa,fromWebHeaders:()=>xa,getAPQMetrics:()=>xo,getAuthFingerprint:()=>me,getClientIP:()=>Cs,getEffectiveRuntime:()=>Ks,getOrigin:()=>En,getPublicSuffix:()=>nr,getRegistrableDomain:()=>rn,getRuntime:()=>Sr,gql:()=>wo,hasNativeFetch:()=>Oi,imdsCredentials:()=>Qi,initChunkedSigning:()=>cs,injectHeaders:()=>lc,isAbortError:()=>_r,isAbortSignal:()=>xi,isAbsolute:()=>Yo,isArrayBuffer:()=>yi,isBinary:()=>Ns,isBlob:()=>Ei,isBlobURL:()=>Wc,isBrowserEnvironment:()=>Mi,isClockSkewError:()=>hs,isDataURL:()=>Fc,isFormData:()=>Si,isHTTP:()=>qc,isHTTPS:()=>zc,isHeaders:()=>bi,isIPAddress:()=>we,isJSON:()=>Qt,isLocalhost:()=>Kc,isNodeEnvironment:()=>Li,isPlainObject:()=>_i,isPublicSuffix:()=>Je,isReadableStream:()=>wi,isRelative:()=>Bc,isSafeURL:()=>_e,isSameOrigin:()=>Uc,isSameSite:()=>$c,isText:()=>qr,isURLSearchParams:()=>Ti,isUint8Array:()=>gi,isValidHeaderName:()=>Ue,isValidHeaderValue:()=>xe,joinPath:()=>Qo,jsonSSE:()=>ln,kinetex:()=>nl,loadCookieJar:()=>on,loggingLink:()=>mo,mergePaginators:()=>Oo,mergeQuery:()=>vc,mergeSignals:()=>xr,negotiateContentType:()=>pa,nodeTcpConnector:()=>Tc,normalizeForwardedHeaders:()=>jr,normalizeHeaders:()=>it,normalizePath:()=>Go,normalizeResponse:()=>Ds,normalizeURL:()=>Oc,omitQuery:()=>Ic,paginate:()=>z,paginateItems:()=>pn,parseAccept:()=>Hr,parseAcceptEncoding:()=>Es,parseAcceptLanguage:()=>Ts,parseAltSvc:()=>Ms,parseAuthorization:()=>Dr,parseBody:()=>St,parseCSP:()=>Is,parseCacheControl:()=>_s,parseContentDisposition:()=>bs,parseContentLanguage:()=>da,parseContentRange:()=>ks,parseContentType:()=>ke,parseCookieDate:()=>rr,parseDataURL:()=>Vc,parseDigestChallenge:()=>Lr,parseForwarded:()=>As,parseHSTS:()=>Ps,parseLinkHeader:()=>Ur,parseLinkHeaderNext:()=>mn,parseMultipartResponse:()=>Gr,parseParams:()=>X,parseQuery:()=>Jo,parseRange:()=>Rs,parseRetryAfter:()=>vs,parseSSEText:()=>ao,parseServerTiming:()=>Ls,parseSetCookieHeader:()=>At,parseSocks5Url:()=>Sc,parseUntrustedJSON:()=>mi,parseWWWAuthenticate:()=>Nr,parseWarning:()=>ga,pathMatch:()=>kt,pathSegments:()=>Mc,percentDecode:()=>Le,percentEncode:()=>Sn,perfNow:()=>vi,pickQuery:()=>Pc,presignRequest:()=>as,readBlob:()=>Jr,readBodyWithLimit:()=>Fr,readBytes:()=>Yt,readFormData:()=>Bs,readJSON:()=>Kr,readJSONStream:()=>Us,readNDJSON:()=>Qr,readRawBody:()=>er,readStream:()=>xt,readText:()=>Vr,redactURL:()=>rl,relativeURL:()=>jc,resolveURL:()=>Hc,retryLink:()=>go,safeJSONParse:()=>pe,safeParseURL:()=>Oe,sanitizeParsedJSON:()=>M,sanitizeURL:()=>Ci,securityHeaders:()=>_a,sendWithTimeout:()=>Ke,serializePaginationState:()=>Io,setRuntime:()=>Ws,sigV4UriEncode:()=>is,signChunk:()=>Xi,signFinalChunk:()=>Yi,signRequest:()=>Pr,signS3PostPolicy:()=>ls,sleep:()=>Pi,socks5Connector:()=>Rc,splitSetCookieHeaders:()=>Ve,staticCredentials:()=>Ki,streamWithProgress:()=>ii,stringifyQuery:()=>Cc,stripHash:()=>Yc,stripQuery:()=>Zc,takeItems:()=>Eo,tap:()=>cc,throttleProgress:()=>ui,throwOnHTTPError:()=>hc,toNodeHeaders:()=>ba,toOTelSpan:()=>eo,toPaginationIterator:()=>Mo,toRequestId:()=>Pn,toUint8Array:()=>Ii,tryParseJSON:()=>pi,uint8ArrayToBase64:()=>qt,urlExtension:()=>el,urlFilename:()=>tl,validateErrorCode:()=>Ni,validateResponse:()=>fc,withBaseURL:()=>uc,withBlobUploadProgress:()=>si,withDownloadProgress:()=>oi,withTrailingSlash:()=>Gc,withUploadProgress:()=>Bt,withoutTrailingSlash:()=>Xc,xhrFetch:()=>ci});var W=class{constructor(e,t={}){f(this,"loaded",0);f(this,"total");f(this,"startMs");f(this,"lastMs");f(this,"lastLoaded",0);f(this,"smoothedRate",0);f(this,"smoothing");f(this,"_done",!1);f(this,"lastEmitMs",0);f(this,"minIntervalMs");f(this,"onProgress");this.total=e,this.startMs=mr(),this.lastMs=this.startMs,this.smoothing=t.smoothingFactor??.3,this.onProgress=t.onProgress??null;let n=t.throttleHz??10;this.minIntervalMs=n>0?1e3/n:0}update(e){this.loaded+=e;let t=this._snapshot();if(this.onProgress){let n=mr();(this.minIntervalMs===0||n-this.lastEmitMs>=this.minIntervalMs)&&(this.lastEmitMs=n,this.onProgress(t))}return t}complete(){this._done=!0;let e=this._snapshot();return this.onProgress?.(e),e}snapshot(){return this._snapshot()}get bytesLoaded(){return this.loaded}get isDone(){return this._done}_snapshot(){let e=mr(),t=e-this.startMs,n=e-this.lastMs;if(n>0){let i=(this.loaded-this.lastLoaded)/n*1e3;this.smoothedRate=this.smoothedRate===0?i:this.smoothedRate*(1-this.smoothing)+i*this.smoothing,this.lastMs=e,this.lastLoaded=this.loaded}let s=this.total!==null&&this.total>0?Math.min(100,this.loaded/this.total*100):null,o=this.total!==null&&this.smoothedRate>0?Math.max(0,(this.total-this.loaded)/this.smoothedRate*1e3):null;return{loaded:this.loaded,total:this.total,percent:this._done?this.total!==null?100:null:s,rate:this.smoothedRate,eta:this._done?0:o,elapsed:t,done:this._done}}};function Bt(r,e,t={}){let n=new W(e,t);if(!r)return n.complete(),{stream:new ReadableStream({start:c=>c.close()}),tracker:n};let s;if(r instanceof ReadableStream)s=r;else if(typeof r=="string"){let c=new TextEncoder().encode(r);s=new ReadableStream({start(u){u.enqueue(c),u.close()}})}else s=new ReadableStream({start(c){c.enqueue(r),c.close()}});let o=null,i=null,a=()=>{i&&(t.signal?.removeEventListener("abort",i),i=null)};return{stream:new ReadableStream({start(c){if(t.signal?.aborted){c.error(new DOMException("Upload aborted","AbortError"));return}o=s.getReader(),i=()=>{let u=o;o=null,u?.cancel("aborted").catch(()=>{}),n.complete(),c.error(new DOMException("Upload aborted","AbortError"))},t.signal?.addEventListener("abort",i,{once:!0})},async pull(c){if(o)try{let{done:u,value:h}=await o.read();if(u){a(),o.releaseLock(),o=null,n.complete(),c.close();return}n.update(h.byteLength),c.enqueue(h)}catch(u){a(),n.complete(),c.error(u)}},cancel(c){a();let u=o;o=null,u?.cancel(c).catch(()=>{})}}),tracker:n}}function si(r,e={}){return Bt(r.stream(),r.size,e)}function oi(r,e={}){let t=r.headers.get("content-length"),n=t?parseInt(t,10):null,s=new W(isNaN(n)?null:n,e);if(!r.body)return s.complete(),{response:r,tracker:s};let o=r.body,i=null,a=!1,l=null,c=()=>{l&&(e.signal?.removeEventListener("abort",l),l=null)},u=new ReadableStream({start(p){if(e.signal?.aborted){a=!0,p.error(new DOMException("Download aborted","AbortError"));return}i=o.getReader(),l=()=>{if(a)return;a=!0;let d=i;i=null,d?.cancel("aborted").catch(()=>{}),p.error(new DOMException("Download aborted","AbortError"))},e.signal?.addEventListener("abort",l,{once:!0})},async pull(p){if(i)try{let{done:d,value:y}=await i.read();if(d){c(),i.releaseLock(),i=null,s.complete(),p.close();return}s.update(y.byteLength),p.enqueue(y)}catch(d){c(),a||s.complete(),p.error(d)}},cancel(p){c();let d=i;i=null,d?.cancel(p).catch(()=>{})}}),h=new Response(u,{status:r.status,statusText:r.statusText,headers:r.headers});for(let p of["url","redirected","type"])try{Object.defineProperty(h,p,{value:r[p],enumerable:!0,configurable:!0})}catch{}return{response:h,tracker:s}}async function*ii(r,e,t={}){let n=new W(e,t),s=r.getReader();try{for(;;){if(t.signal?.aborted)throw new DOMException("Stream aborted","AbortError");let{done:o,value:i}=await s.read();if(o){let l=n.complete();yield{chunk:new Uint8Array(0),progress:l};break}let a=n.update(i.byteLength);yield{chunk:i,progress:a}}}finally{s.releaseLock()}}async function ai(r,e,t={}){let n=new W(e,t),s=[],o=r.getReader();if(t.signal?.aborted)throw o.cancel("aborted").catch(()=>{}),new DOMException("Stream aborted","AbortError");let i=()=>{o.cancel("aborted").catch(()=>{})};t.signal&&t.signal.addEventListener("abort",i,{once:!0});try{for(;;){let{done:u,value:h}=await o.read();if(u)break;s.push(h),n.update(h.byteLength)}}finally{o.releaseLock(),t.signal?.removeEventListener("abort",i)}n.complete();let a=s.reduce((u,h)=>u+h.byteLength,0),l=new Uint8Array(a),c=0;for(let u of s)l.set(u,c),c+=u.byteLength;return{data:l,tracker:n}}var gr=class{constructor(e,t){f(this,"partCount");f(this,"trackers",new Map);f(this,"totals",new Map);f(this,"onOverall");this.partCount=e,this.onOverall=t??null}createPartTracker(e,t,n={}){this.totals.set(e,t);let s=new W(t,{...n,onProgress:o=>{n.onProgress?.(o),this._emit()}});return this.trackers.set(e,s),s}getOverall(){let e=[],t=0,n=0,s=0,o=!0,i=0;for(let h=0;h<this.partCount;h++){let d=this.trackers.get(h)?.snapshot()??{loaded:0,total:this.totals.get(h)??null,percent:0,rate:0,eta:null,elapsed:0,done:!1};e.push(d),t+=d.loaded,d.total!==null&&(n+=d.total),s+=d.rate,d.done||(o=!1),d.elapsed>i&&(i=d.elapsed)}let a=n>0,l=a?Math.min(100,t/n*100):null,c=a&&s>0?Math.max(0,(n-t)/s*1e3):null;return{parts:e,overall:{loaded:t,total:a?n:null,percent:l,rate:s,eta:o?0:c,elapsed:i,done:o}}}_emit(){this.onOverall&&this.onOverall(this.getOverall())}},ri=globalThis.XMLHttpRequest;function ci(r,e){return new Promise((t,n)=>{if(!ri){n(new Error("XMLHttpRequest is not available in this runtime. Use fetch() instead."));return}let s=new ri,o=new W(null,{...e.onUploadProgress!==void 0?{onProgress:e.onUploadProgress}:{},...e.throttleHz!==void 0?{throttleHz:e.throttleHz}:{},...e.smoothingFactor!==void 0?{smoothingFactor:e.smoothingFactor}:{}}),i=new W(null,{...e.onDownloadProgress!==void 0?{onProgress:e.onDownloadProgress}:{},...e.throttleHz!==void 0?{throttleHz:e.throttleHz}:{},...e.smoothingFactor!==void 0?{smoothingFactor:e.smoothingFactor}:{}});s.open(e.method??"GET",r,!0);for(let[c,u]of Object.entries(e.headers??{}))s.setRequestHeader(c,u);e.responseType&&(s.responseType=e.responseType),s.upload&&e.onUploadProgress&&(s.upload.addEventListener("loadstart",c=>{}),s.upload.addEventListener("progress",c=>{o.update(c.loaded-o.bytesLoaded)}),s.upload.addEventListener("load",()=>o.complete())),e.onDownloadProgress&&s.addEventListener("progress",c=>{i.update(c.loaded-i.bytesLoaded)});let a=()=>{s.abort(),n(new DOMException("Request aborted","AbortError"))},l=()=>e.signal?.removeEventListener("abort",a);if(e.signal?.addEventListener("abort",a,{once:!0}),e.signal?.aborted){l(),a();return}s.addEventListener("load",()=>{l(),i.complete();let c=s.getAllResponseHeaders(),u={};for(let h of c.trim().split(/[\r\n]+/)){let p=h.indexOf(": ");p!==-1&&(u[h.slice(0,p).toLowerCase()]=h.slice(p+2))}t({status:s.status,statusText:s.statusText,headers:u,body:typeof s.response=="string"?s.response:String(s.response??"")})}),s.addEventListener("error",()=>{l(),n(new TypeError("Network request failed"))}),s.addEventListener("timeout",()=>{l(),n(new TypeError("Request timed out"))}),s.addEventListener("abort",()=>{l(),n(new DOMException("Request aborted","AbortError"))}),s.send(e.body??null)})}var ni=["B","KB","MB","GB","TB"];function jt(r,e=2){if(r===0)return"0 B";let t=1024,n=Math.max(0,e),s=Math.floor(Math.log(r)/Math.log(t)),o=ni[Math.min(s,ni.length-1)];return`${parseFloat((r/Math.pow(t,s)).toFixed(n))} ${o}`}function Tn(r){return`${jt(r)}/s`}function Rn(r){if(!isFinite(r)||r<0)return"\u221E";let e=Math.round(r/1e3),t=Math.floor(e/3600),n=Math.floor(e%3600/60),s=e%60;return t>0?`${t}h ${n}m ${s}s`:n>0?`${n}m ${s}s`:`${s}s`}function li(r){let e=jt(r.loaded),t=r.total!==null?` / ${jt(r.total)}`:"",n=r.percent!==null?` (${r.percent.toFixed(1)}%)`:"",s=r.rate>0?` @ ${Tn(r.rate)}`:"",o=r.eta!==null&&!r.done?` ETA ${Rn(r.eta)}`:"";return`${e}${t}${n}${s}${o}`}function ui(r,e=10){let t=e>0?1e3/e:0,n=0;return s=>{let o=mr();(s.done||o-n>=t)&&(n=o,r(s))}}function mr(){return typeof performance<"u"?performance.now():Date.now()}var De=class{constructor(e={}){f(this,"inflight",new Map);f(this,"timeouts",new Map);f(this,"windowMs");f(this,"methods");f(this,"keyFn");f(this,"_globalSignal");f(this,"_hits",0);f(this,"_misses",0);this.windowMs=e.windowMs??0,this.methods=new Set((e.methods??["GET","HEAD"]).map(t=>t.toUpperCase())),this.keyFn=e.keyFn??((t,n)=>`${t}::${n}`),this._globalSignal=e.signal??null}execute(e,t,n,s,o,i){let a=o??this.windowMs,l=i??this._globalSignal;if(l?.aborted||!this.methods.has(e.toUpperCase()))return n();let c=this.keyFn(e,t,s),u=this.inflight.get(c);if(u){if(u.resolvedAt!==null&&a>0&&Date.now()-u.resolvedAt<=a)return this._hits++,u.promise;if(u.resolvedAt===null)return this._hits++,u.promise;this.inflight.delete(c)}this._misses++;let h={resolvedAt:null,promise:void 0};return this.inflight.set(c,h),h.promise=(async()=>{let p=l?()=>{this.inflight.delete(c);let d=this.timeouts.get(c);d!==void 0&&(clearTimeout(d),this.timeouts.delete(c))}:null;l&&p&&l.addEventListener("abort",p,{once:!0});try{return await n()}finally{l&&p&&l.removeEventListener("abort",p)}})().then(p=>{if(h.resolvedAt=Date.now(),h.result=p,a<=0)this.inflight.delete(c);else{let d=this.timeouts.get(c);d!==void 0&&(clearTimeout(d),this.timeouts.delete(c));let y=setTimeout(()=>{this.inflight.delete(c),this.timeouts.delete(c)},a);this.timeouts.set(c,y)}return p},p=>{h.resolvedAt=Date.now(),h.error=p,this.inflight.delete(c);let d=this.timeouts.get(c);throw d!==void 0&&(clearTimeout(d),this.timeouts.delete(c)),p}),h.promise}get hits(){return this._hits}get misses(){return this._misses}get inFlightCount(){let e=0;for(let t of this.inflight.values())t.resolvedAt===null&&e++;return e}get keys(){return[...this.inflight.keys()]}getStats(){let e=this._hits+this._misses;return{hits:this._hits,misses:this._misses,totalRequests:e,hitRate:e===0?0:this._hits/e,inFlightCount:this.inFlightCount,trackedKeys:this.inflight.size}}resetMetrics(){this._hits=0,this._misses=0}clear(){this.inflight.clear();for(let e of this.timeouts.values())clearTimeout(e);this.timeouts.clear()}invalidate(e){let t=this.timeouts.get(e);return t&&(clearTimeout(t),this.timeouts.delete(e)),this.inflight.delete(e)}destroy(){this.clear()}};function hi(r){return new De(r)}var nt=class extends Error{constructor(t,n){super(`Circuit breaker OPEN for "${t}" \u2014 request rejected`);f(this,"code","ECIRCUITOPEN");f(this,"state");this.name="CircuitOpenError",this.state=n}},st=class{constructor(e,t={}){f(this,"key");f(this,"failureThreshold");f(this,"windowSize");f(this,"resetTimeoutMs");f(this,"successThreshold");f(this,"halfOpenConcurrency");f(this,"failureFilter");f(this,"cfg");f(this,"_state","CLOSED");f(this,"_window",[]);f(this,"_consecutiveFails",0);f(this,"_consecutiveSucc",0);f(this,"_openedAt",null);f(this,"_halfOpenAt",null);f(this,"_lastFailureAt",null);f(this,"_lastSuccessAt",null);f(this,"_inFlightProbes",0);f(this,"_totalRequests",0);f(this,"_totalFailures",0);f(this,"_totalSuccesses",0);f(this,"_totalRejected",0);this.key=e,this.failureThreshold=t.failureThreshold??5,this.windowSize=t.windowSize??10,this.resetTimeoutMs=t.resetTimeoutMs??3e4,this.successThreshold=t.successThreshold??2,this.halfOpenConcurrency=t.halfOpenConcurrency??1,this.failureFilter={networkErrors:t.failures?.networkErrors??!0,timeouts:t.failures?.timeouts??!0,serverErrors:t.failures?.serverErrors??!1,statusCodes:t.failures?.statusCodes??[]},this.cfg=t}get state(){return this._state}get snapshot(){let e=this._consecutiveFails;if(this.windowSize>0){e=0;for(let t of this._window)t||e++}return{state:this._state,failureCount:e,successCount:this._consecutiveSucc,lastFailureAt:this._lastFailureAt,lastSuccessAt:this._lastSuccessAt,openedAt:this._openedAt,halfOpenAt:this._halfOpenAt,totalRequests:this._totalRequests,totalFailures:this._totalFailures,totalSuccesses:this._totalSuccesses,totalRejected:this._totalRejected,inFlightProbes:this._inFlightProbes}}execute(e){if(this._checkTransition(),this._state==="OPEN"){this._totalRejected++;let n=this.snapshot;return this.cfg.onRejected?.(n),Promise.reject(new nt(this.key,n))}let t=!1;if(this._state==="HALF_OPEN"){if(this._inFlightProbes>=this.halfOpenConcurrency){this._totalRejected++;let n=this.snapshot;return this.cfg.onRejected?.(n),Promise.reject(new nt(this.key,n))}this._inFlightProbes++,t=!0}return this._totalRequests++,Promise.resolve().then(e).then(n=>(t&&(this._inFlightProbes=Math.max(0,this._inFlightProbes-1)),this._recordSuccess(),n),n=>{throw t&&(this._inFlightProbes=Math.max(0,this._inFlightProbes-1)),this._isCountableFailure(n)&&this._recordFailure(),n})}trip(){this._state!=="OPEN"&&(this._openedAt=Date.now(),this._state="OPEN",this.cfg.onOpen?.(this.snapshot))}reset(){this._state="CLOSED",this._window=[],this._consecutiveFails=0,this._consecutiveSucc=0,this._openedAt=null,this._halfOpenAt=null,this._inFlightProbes=0,this.cfg.onClose?.(this.snapshot)}_checkTransition(){this._state==="OPEN"&&this._openedAt!==null&&Date.now()-this._openedAt>=this.resetTimeoutMs&&(this._state="HALF_OPEN",this._halfOpenAt=Date.now(),this._consecutiveSucc=0,this._inFlightProbes=0,this.cfg.onHalfOpen?.(this.snapshot))}_recordSuccess(){if(this._lastSuccessAt=Date.now(),this._totalSuccesses++,this._consecutiveFails=0,this._state==="HALF_OPEN"){this._consecutiveSucc++,this._consecutiveSucc>=this.successThreshold&&this.reset();return}this.windowSize>0&&(this._window.push(!0),this._window.length>this.windowSize&&this._window.shift())}_recordFailure(){if(this._lastFailureAt=Date.now(),this._totalFailures++,this._consecutiveSucc=0,this._consecutiveFails++,this._state==="HALF_OPEN"){this._openedAt=Date.now(),this._state="OPEN",this.cfg.onOpen?.(this.snapshot);return}this.windowSize>0?(this._window.push(!1),this._window.length>this.windowSize&&this._window.shift(),this._window.filter(t=>!t).length>=this.failureThreshold&&(this._openedAt=Date.now(),this._state="OPEN",this.cfg.onOpen?.(this.snapshot))):this._consecutiveFails>=this.failureThreshold&&(this._openedAt=Date.now(),this._state="OPEN",this.cfg.onOpen?.(this.snapshot))}_isCountableFailure(e){if(!(e instanceof Error))return!1;let t=e.code;if(this.failureFilter.networkErrors&&t==="ENETWORK"||this.failureFilter.timeouts&&t==="ETIMEOUT")return!0;if(this.failureFilter.serverErrors){let n=e.status;if(n&&n>=500)return!0}if(this.failureFilter.statusCodes&&this.failureFilter.statusCodes.length>0){let n=e.status;if(n&&this.failureFilter.statusCodes.includes(n))return!0}return!1}},Ne=class{constructor(e={}){f(this,"breakers",new Map);f(this,"defaultConfig");this.defaultConfig=e}get(e,t){return this.breakers.has(e)||this.breakers.set(e,new st(e,{...this.defaultConfig,...t})),this.breakers.get(e)}execute(e,t,n){return this.get(e,n).execute(t)}trip(e){this.get(e).trip()}reset(e){this.get(e).reset()}snapshots(){let e={};for(let[t,n]of this.breakers)e[t]=n.snapshot;return e}delete(e){this.breakers.delete(e)}clear(){this.breakers.clear()}get size(){return this.breakers.size}};function fi(r,e){return new st(r,e)}function di(r){return new Ne(r)}B();var K=class extends Error{constructor(t,n){super(t,n!=null?{cause:n}:void 0);f(this,"code","EWSCONNECT");f(this,"originalCause");this.name="WSError",this.originalCause=n}},Ft=class extends Error{constructor(t){super(`WebSocket gave up after ${t} reconnect attempts`);f(this,"attempts");f(this,"code","EWSMAXRECONNECTS");this.attempts=t,this.name="WSMaxReconnectsError"}},at=class extends Error{constructor(t,n){super(`WebSocket connect to ${t} timed out after ${n}ms`);f(this,"code","EWSCONNECTTIMEOUT");this.name="WSConnectTimeoutError"}},Er=class extends Error{constructor(t){super(`WebSocket send rate limited; retry in ${t}ms`);f(this,"delayMs");f(this,"code","EWSRATELIMIT");this.delayMs=t,this.name="WSRateLimitError"}},He=class{constructor(e){f(this,"_url");f(this,"_protocols");f(this,"_headers");f(this,"_maxReconnects");f(this,"_reconnectBaseMs");f(this,"_reconnectMaxMs");f(this,"_reconnectJitter");f(this,"_pingIntervalMs");f(this,"_pingPayload");f(this,"_pongMatcher");f(this,"_pongTimeoutMs");f(this,"_connectTimeoutMs");f(this,"_bufferMessages");f(this,"_maxBufferSize");f(this,"_cbOpen");f(this,"_cbMessage");f(this,"_cbClose");f(this,"_cbError");f(this,"_cbReconnect");f(this,"_cbGiveUp");f(this,"_ws",null);f(this,"_state","CLOSED");f(this,"_reconnAttempt",0);f(this,"_buffer",[]);f(this,"_pingTimer",null);f(this,"_pongTimer",null);f(this,"_reconnTimer",null);f(this,"_msgListeners",[]);f(this,"_closeListeners",[]);f(this,"_openWaiters",[]);f(this,"_correlations",new Map);f(this,"_aborted",!1);f(this,"_externalSignal",null);f(this,"_onExternalAbort",()=>this.close(1e3,"AbortSignal aborted"));f(this,"_iterQueue",[]);f(this,"_iterWaiter",null);f(this,"_iterDone",!1);f(this,"_rooms",[]);f(this,"_keepRooms");f(this,"_highWaterMark");f(this,"_lowWaterMark");f(this,"_bufferedBytes",0);f(this,"_drainWaiters",[]);f(this,"_cbBackpressure");f(this,"_wasBackpressured",!1);f(this,"_maxSendRate");f(this,"_tokens",0);f(this,"_lastToken",0);f(this,"_serverEndpoint",null);f(this,"_mx",{messagesSent:0,messagesReceived:0,bytesSent:0,bytesReceived:0,reconnectCount:0,totalConnectAttempts:0,connectedAt:null,closedAt:null,uptimeMs:0});f(this,"_openedAt",null);if(this._url=e.url,this._protocols=e.protocols,this._headers=e.headers,this._maxReconnects=e.maxReconnects??10,this._reconnectBaseMs=e.reconnectBaseMs??1e3,this._reconnectMaxMs=e.reconnectMaxMs??3e4,this._reconnectJitter=e.reconnectJitter??.3,this._pingIntervalMs=e.pingIntervalMs??3e4,this._pingPayload=e.pingPayload??"ping",this._pongMatcher=e.pongMatcher,this._pongTimeoutMs=e.pongTimeoutMs??1e4,this._connectTimeoutMs=e.connectTimeoutMs??3e4,this._bufferMessages=e.bufferMessages??!0,this._maxBufferSize=e.maxBufferSize??100,this._cbOpen=e.onOpen,this._cbMessage=e.onMessage,this._cbClose=e.onClose,this._cbError=e.onError,this._cbReconnect=e.onReconnect,this._cbGiveUp=e.onGiveUp,this._cbBackpressure=e.onBackpressure,this._highWaterMark=e.highWaterMark??65536,this._lowWaterMark=e.lowWaterMark??16384,this._maxSendRate=e.maxSendRate??0,this._keepRooms=e.keepRooms??!0,e.rooms&&e.rooms.length>0)for(let t of e.rooms)this._rooms.push({room:t,joinedAt:0});this._externalSignal=e.signal??null,this._externalSignal?.addEventListener("abort",this._onExternalAbort,{once:!0})}get state(){return this._state}get connected(){return this._state==="OPEN"}get bufferedCount(){return this._buffer.length}get metrics(){return{...this._mx,uptimeMs:this._mx.uptimeMs+(this._openedAt!=null?Date.now()-this._openedAt:0)}}connect(){return this._state==="OPEN"?Promise.resolve():this._state==="CONNECTING"||this._state==="RECONNECTING"?new Promise((e,t)=>this._openWaiters.push({resolve:e,reject:t})):this._doConnect(!1)}waitForOpen(e=6e4){return this._state==="OPEN"?Promise.resolve():new Promise((t,n)=>{let s=e>0?setTimeout(()=>{let o=this._openWaiters.findIndex(i=>i.resolve===t);o!==-1&&this._openWaiters.splice(o,1),n(new at(this._url,e))},e):null;this._openWaiters.push({resolve:()=>{s&&clearTimeout(s),t()},reject:o=>{s&&clearTimeout(s),n(o)}})})}close(e=1e3,t="Client closed"){this._aborted=!0,this._externalSignal?.removeEventListener("abort",this._onExternalAbort),this._externalSignal=null,this._stopAll();for(let s of this._drainWaiters.splice(0))s();this._state="CLOSING";let n=this._ws;if(n){if(n.onopen=n.onmessage=n.onerror=n.onclose=null,n.readyState<2)try{n.close(e,t)}catch{}this._ws=null}this._buffer=[],this._bufferedBytes=0,this._iterQueue=[],this._iterDone=!0,this._iterWaiter&&(this._iterWaiter({done:!0,value:void 0}),this._iterWaiter=null);for(let s of this._openWaiters.splice(0))s.reject(new Error("Client closed"));this._rooms=[];for(let s of this._correlations.values())s.timer&&clearTimeout(s.timer),s.reject(new Error("Client closed"));this._correlations.clear(),this._openedAt!=null&&(this._mx.uptimeMs+=Date.now()-this._openedAt,this._openedAt=null),this._mx.closedAt=Date.now(),this._state="CLOSED";for(let s of this._closeListeners)try{s({code:e,reason:t})}catch{}this._closeListeners=[],this._msgListeners=[],this._cbClose?.(e,t,!1)}destroy(){this._aborted=!0,this._stopAll();for(let t of this._drainWaiters.splice(0))t();this._state="CLOSING";let e=this._ws;if(e){if(e.onopen=e.onmessage=e.onerror=e.onclose=null,e.readyState<2)try{e.close(1e3,"Destroyed")}catch{}this._ws=null}this._buffer=[],this._bufferedBytes=0,this._iterQueue=[],this._iterDone=!0,this._iterWaiter&&(this._iterWaiter({done:!0,value:void 0}),this._iterWaiter=null),this._msgListeners=[];for(let t of this._openWaiters.splice(0))t.reject(new Error("Client destroyed"));this._rooms=[];for(let t of this._correlations.values())t.timer&&clearTimeout(t.timer),t.reject(new Error("Client destroyed"));this._correlations.clear(),this._openedAt!=null&&(this._mx.uptimeMs+=Date.now()-this._openedAt,this._openedAt=null),this._mx.closedAt=Date.now(),this._state="CLOSED";for(let t of this._closeListeners)try{t({code:1e3,reason:"Destroyed"})}catch{}this._closeListeners=[],this._cbClose?.(1e3,"Destroyed",!1)}send(e){this._tx(e)&&this._mx.messagesSent++}sendBinary(e){let t=e instanceof Uint8Array?e.slice().buffer:e;this._tx(t)&&this._mx.messagesSent++}sendJSON(e){this.send(JSON.stringify(e))}request(e,t,n=o=>o.json??o.data,s=1e4){return new Promise((o,i)=>{let a=`${Date.now()}-${Math.random()}`,l=s>0?setTimeout(()=>{let c=this._correlations.get(a);c?.timer&&clearTimeout(c.timer),this._correlations.delete(a),i(new K(`request() timed out after ${s}ms waiting for reply`))},s):null;this._correlations.set(a,{matcher:t,extract:n,resolve:o,reject:i,timer:l}),typeof e=="string"?this.send(e):this.sendJSON(e)})}onMessage(e){return this._msgListeners.push(e),()=>{let t=this._msgListeners.indexOf(e);t!==-1&&this._msgListeners.splice(t,1)}}onClose(e){return this._closeListeners.push(e),()=>{let t=this._closeListeners.indexOf(e);t!==-1&&this._closeListeners.splice(t,1)}}drainBuffer(){let e=this._buffer.splice(0);return this._bufferedBytes=0,this._updateBackpressure(),e}join(e,t){this._rooms.some(n=>n.room===e&&n.namespace===t)||(this._rooms.push({room:e,namespace:t,joinedAt:Date.now()}),this.sendJSON({type:"room:join",room:e,namespace:t??null}))}leave(e,t){let n=this._rooms.findIndex(s=>s.room===e&&s.namespace===t);n!==-1&&(this._rooms.splice(n,1),this.sendJSON({type:"room:leave",room:e,namespace:t??null}))}get rooms(){return this._rooms}get backpressure(){return{bufferedBytes:this._bufferedBytes,highWaterMark:this._highWaterMark,lowWaterMark:this._lowWaterMark,isBackpressured:this._bufferedBytes>=this._highWaterMark}}drain(e=3e4){return this._state==="CLOSED"?Promise.reject(new K("Cannot drain \u2014 socket is CLOSED")):this._bufferedBytes<this._lowWaterMark?Promise.resolve():new Promise((t,n)=>{let s=e>0?setTimeout(()=>n(new K(`drain() timed out after ${e}ms`)),e):null;this._drainWaiters.push(()=>{s&&clearTimeout(s),t()})})}async drainAndClose(e=3e4){if(this._state!=="CLOSED"){try{await this.drain(e)}catch{}this.close(1e3,"Graceful shutdown")}}get serverEndpoint(){return this._serverEndpoint}[Symbol.asyncIterator](){return{next:()=>this._iterQueue.length>0?Promise.resolve({done:!1,value:this._iterQueue.shift()}):this._iterDone?Promise.resolve({done:!0,value:void 0}):new Promise(e=>{this._iterWaiter=e}),return:()=>(this.close(1e3,"Iterator returned"),Promise.resolve({done:!0,value:void 0}))}}_doConnect(e){return this._mx.totalConnectAttempts++,this._state="CONNECTING",new Promise((t,n)=>{let s=!1,o=null;this._connectTimeoutMs>0&&(o=setTimeout(()=>{if(s)return;s=!0;let u=new at(this._url,this._connectTimeoutMs);n(u),this._cbError?.(u);let h=this._ws;if(h&&(h.onopen=h.onmessage=h.onerror=h.onclose=null,h.close(),this._ws=null),!this._aborted&&this._canRecon())this._scheduleRecon();else{this._state="CLOSED";for(let p of this._openWaiters.splice(0))p.reject(u);this._rejectCorrelations("Connection timeout")}},this._connectTimeoutMs));let i=()=>{o&&(clearTimeout(o),o=null)},a=this._url,l=(()=>{try{let u=globalThis;if(typeof globalThis.Deno<"u"||typeof globalThis.Bun<"u"||u.process?.versions?.node||typeof window>"u")return!1;let h=window;return typeof h.navigator<"u"&&typeof h.document<"u"}catch{return!1}})();if(this._headers&&l){let u=new URL(a);for(let[h,p]of Object.entries(this._headers))u.searchParams.set(h,p);a=u.href}let c;try{c=this._protocols?new WebSocket(a,this._protocols):new WebSocket(a)}catch(u){i(),this._state="CLOSED",n(new K("Failed to construct WebSocket",u instanceof Error?u:void 0));return}if(this._headers&&!l){let u=c;if(typeof u.setHeader=="function")for(let[h,p]of Object.entries(this._headers))u.setHeader(h,p)}this._ws=c,c.binaryType="arraybuffer",c.onopen=()=>{if(i(),!s){if(s=!0,this._state="OPEN",this._openedAt=Date.now(),this._mx.connectedAt=this._openedAt,e&&this._mx.reconnectCount++,this._serverEndpoint=c.url??this._url,this._reconnAttempt=0,this._rooms.length>0&&this._keepRooms)for(let u of this._rooms)try{c.send(JSON.stringify({type:"room:join",room:u.room,namespace:u.namespace??null}))}catch{}this._startPing(),this._flushBuf(),this._cbOpen?.(this._mx.reconnectCount),t();for(let u of this._openWaiters.splice(0))u.resolve()}},c.onmessage=async u=>{if(this._aborted)return;let h,p,d;if(typeof u.data=="string"){h=u.data,d=new TextEncoder().encode(h).byteLength;try{p=M(JSON.parse(h))}catch{}}else if(u.data instanceof ArrayBuffer)h=new Uint8Array(u.data),d=h.byteLength;else if(typeof Blob<"u"&&u.data instanceof Blob){let g=await u.data.arrayBuffer();h=new Uint8Array(g),d=h.byteLength}else h=new Uint8Array(u.data),d=h.byteLength;this._mx.messagesReceived++,this._mx.bytesReceived+=d;let y={data:h,json:p,timestamp:Date.now()};if(this._pongMatcher&&typeof h=="string"&&(typeof this._pongMatcher=="string"?h===this._pongMatcher:this._pongMatcher.test(h))){this._pongTimer&&(clearTimeout(this._pongTimer),this._pongTimer=null);return}for(let[g,m]of this._correlations)if(m.matcher(y)){this._correlations.delete(g),m.timer&&clearTimeout(m.timer);try{m.resolve(m.extract(y))}catch(w){m.reject(w)}return}for(let g of this._msgListeners)try{g(y)}catch{}if(this._cbMessage?.(y),this._iterWaiter){let g=this._iterWaiter;this._iterWaiter=null,g({done:!1,value:y})}else this._iterQueue.length>=this._maxBufferSize&&this._iterQueue.shift(),this._iterQueue.push(y)},c.onerror=u=>{this._cbError?.(new K(u.message??"WebSocket error",u.error))},c.onclose=u=>{i(),this._stopPing(),this._openedAt!=null&&(this._mx.uptimeMs+=Date.now()-this._openedAt,this._openedAt=null),this._mx.closedAt=Date.now();for(let p of this._closeListeners)try{p({code:u.code,reason:u.reason})}catch{}if(s||(s=!0,n(new K(`Socket closed before open (code ${u.code}: ${u.reason})`))),this._aborted||u.code===1e3||u.code===1001){this._state="CLOSED",this._cbClose?.(u.code,u.reason,!1),this._terminateIter();for(let p of this._openWaiters.splice(0))p.reject(new K(`Socket closed (code ${u.code})`));this._rejectCorrelations(`Socket closed (code ${u.code})`);return}let h=this._canRecon();if(this._cbClose?.(u.code,u.reason,h),h)this._scheduleRecon();else{this._cbGiveUp?.(this._reconnAttempt),this._state="CLOSED",this._terminateIter();let p=new Ft(this._reconnAttempt);for(let d of this._openWaiters.splice(0))d.reject(p);this._rejectCorrelations("Max reconnects exceeded")}}})}_canRecon(){return this._maxReconnects===0||this._reconnAttempt<this._maxReconnects}_scheduleRecon(){this._reconnTimer&&(clearTimeout(this._reconnTimer),this._reconnTimer=null),this._state="RECONNECTING",this._reconnAttempt++;let e=this._reconnectBaseMs*Math.pow(2,this._reconnAttempt-1),t=Math.min(e,this._reconnectMaxMs),n=Math.floor(t*(1+this._reconnectJitter*Math.random()));this._cbReconnect?.(this._reconnAttempt,n),this._reconnTimer=setTimeout(()=>{this._reconnTimer=null,this._aborted||this._doConnect(!0).catch(()=>{})},n)}_tx(e){let t=this._ws,n=typeof e=="string"?new TextEncoder().encode(e).byteLength:e.byteLength;if(this._maxSendRate>0){let s=Date.now();this._lastToken===0&&(this._lastToken=s,this._tokens=this._maxSendRate);let o=s-this._lastToken;if(this._tokens=Math.min(this._maxSendRate,this._tokens+o*this._maxSendRate/1e3),this._lastToken=s,this._tokens<1)return this._bufferMessage(e,n),!1;this._tokens--}if(this._bufferedBytes>=this._highWaterMark)return this._bufferMessage(e,n),!1;if(t&&t.readyState===1)try{return t.send(e),this._mx.bytesSent+=n,!0}catch(s){if(this._cbError?.(new K(`WebSocket send failed: ${s instanceof Error?s.message:String(s)}`,s)),t.readyState===1)try{t.close(4001,"Send error")}catch{}return this._ws=null,!this._aborted&&this._canRecon()&&this._scheduleRecon(),!1}return this._bufferMessage(e,n),!1}_bufferMessage(e,t){if(this._bufferMessages&&!this._aborted){let n=this._buffer.length>=this._maxBufferSize?this._buffer.shift():void 0;n!==void 0&&(this._bufferedBytes-=typeof n=="string"?new TextEncoder().encode(n).byteLength:n.byteLength),this._buffer.push(e),this._bufferedBytes+=t,this._updateBackpressure()}}_flushBuf(){let e=this._buffer.splice(0);for(let t of e)try{this._ws?.send(t),this._mx.messagesSent++,this._mx.bytesSent+=typeof t=="string"?new TextEncoder().encode(t).byteLength:t.byteLength}catch{}this._bufferedBytes=0,this._updateBackpressure()}_updateBackpressure(){let e=this._bufferedBytes>=this._highWaterMark;if(e!==this._wasBackpressured&&(this._wasBackpressured=e,this._cbBackpressure?.(e,this.backpressure)),!e&&this._bufferedBytes<this._lowWaterMark&&this._drainWaiters.length>0)for(let t of this._drainWaiters.splice(0))t()}_startPing(){this._pingIntervalMs<=0||(this._pingTimer=setInterval(()=>{let e=this._ws;if(!(!e||e.readyState!==1)){try{e.send(this._pingPayload),this._mx.messagesSent++,this._mx.bytesSent+=new TextEncoder().encode(this._pingPayload).byteLength}catch{}this._pongMatcher&&this._pongTimeoutMs>0&&(this._pongTimer&&clearTimeout(this._pongTimer),this._pongTimer=setTimeout(()=>{this._pongTimer=null;let t=this._ws;t&&(t.onopen=t.onmessage=t.onerror=t.onclose=null,t.close(4e3,"Pong timeout"),this._ws=null),!this._aborted&&this._canRecon()?(this._cbClose?.(4e3,"Pong timeout",!0),this._scheduleRecon()):this._state="CLOSED"},this._pongTimeoutMs),typeof this._pongTimer=="object"&&this._pongTimer!==null&&"unref"in this._pongTimer&&this._pongTimer.unref())}},this._pingIntervalMs),typeof this._pingTimer=="object"&&this._pingTimer!==null&&"unref"in this._pingTimer&&this._pingTimer.unref())}_stopPing(){this._pingTimer&&(clearInterval(this._pingTimer),this._pingTimer=null),this._pongTimer&&(clearTimeout(this._pongTimer),this._pongTimer=null)}_stopAll(){this._stopPing(),this._reconnTimer&&(clearTimeout(this._reconnTimer),this._reconnTimer=null)}_terminateIter(){this._iterDone=!0,this._iterWaiter&&(this._iterWaiter({done:!0,value:void 0}),this._iterWaiter=null)}_rejectCorrelations(e){for(let t of this._correlations.values())t.timer&&clearTimeout(t.timer),t.reject(new K(e));this._correlations.clear()}};async function Di(r){let e=new He(r);return await e.connect(),e}je();B();pt();pt();var vl=0;function $n(){return`interceptor_${++vl}`}function Hn(r,e){let t=r.findIndex(n=>n.priority>e.priority);t===-1?r.push(e):r.splice(t,0,e)}var Wt=class{constructor(){f(this,"requestInterceptors",[]);f(this,"responseInterceptors",[]);f(this,"errorInterceptors",[])}useRequest(e,t={}){let n=t.id??$n();return Hn(this.requestInterceptors,{id:n,priority:t.priority??0,once:t.once??!1,condition:t.condition??null,fn:e}),n}useResponse(e,t={}){let n=t.id??$n();return Hn(this.responseInterceptors,{id:n,priority:t.priority??0,once:t.once??!1,condition:t.condition??null,fn:e}),n}useError(e,t={}){let n=t.id??$n();return Hn(this.errorInterceptors,{id:n,priority:t.priority??0,once:t.once??!1,condition:t.condition??null,fn:e}),n}use(e,t,n={}){let s=e?this.useRequest(e,n):null,o=t?this.useResponse(t,n):null;return{requestId:s,responseId:o}}eject(e){let t=this.requestInterceptors.length+this.responseInterceptors.length+this.errorInterceptors.length;return this.requestInterceptors=this.requestInterceptors.filter(s=>s.id!==e),this.responseInterceptors=this.responseInterceptors.filter(s=>s.id!==e),this.errorInterceptors=this.errorInterceptors.filter(s=>s.id!==e),this.requestInterceptors.length+this.responseInterceptors.length+this.errorInterceptors.length<t}ejectAll(){this.requestInterceptors=[],this.responseInterceptors=[],this.errorInterceptors=[]}has(e){return this.requestInterceptors.some(t=>t.id===e)||this.responseInterceptors.some(t=>t.id===e)||this.errorInterceptors.some(t=>t.id===e)}get requestCount(){return this.requestInterceptors.length}get responseCount(){return this.responseInterceptors.length}get errorCount(){return this.errorInterceptors.length}async execute(e,t){let n={request:e,response:null,error:null,startedAt:re(),attempt:0,aborted:!1,store:new Map};return await this._run(n,t)}async _run(e,t){e.attempt++;let n=new Set;for(let s of this.requestInterceptors){if(e.aborted)break;if(s.condition&&!s.condition(e))continue;let o;try{o=await s.fn(e)}catch(i){e.error=i;for(let a of n)this.eject(a);return this._runErrorPhase(e,t)}if(s.once&&n.add(s.id),o!=null){if(jn(o)){e.response=o;for(let i of n)this.eject(i);return this._runResponsePhase(e,t)}Bi(o)&&(e.request=o)}}for(let s of n)this.eject(s);try{e.response=await t(e.request)}catch(s){return e.error=s,this._runErrorPhase(e,t)}return this._runResponsePhase(e,t)}async _runResponsePhase(e,t){let n=new Set;for(let s of this.responseInterceptors){if(e.aborted)break;if(s.condition&&!s.condition(e))continue;let o;try{o=await s.fn(e)}catch(i){e.error=i;for(let a of n)this.eject(a);return this._runErrorPhase(e,t)}if(s.once&&n.add(s.id),o!=null){if(Bi(o)){e.request=o,e.response=null,e.error=null;for(let i of n)this.eject(i);return this._run(e,t)}jn(o)&&(e.response=o)}}for(let s of n)this.eject(s);if(!e.response)throw new Error("Pipeline produced no response");return e.response}async _runErrorPhase(e,t){let n=new Set;for(let s of this.errorInterceptors){if(s.condition&&!s.condition(e))continue;let o;try{o=await s.fn(e)}catch(i){if(i.__retrySignal){for(let a of n)this.eject(a);return e.error=null,e.response=null,this._run(e,t)}e.error=i;continue}if(s.once&&n.add(s.id),o!=null&&jn(o)){e.response=o,e.error=null;for(let i of n)this.eject(i);return this._runResponsePhase(e,t)}}for(let s of n)this.eject(s);throw e.error}};function jn(r){return r!==null&&typeof r=="object"&&typeof r.status=="number"&&"headers"in r&&"request"in r}function Bi(r){return r!==null&&typeof r=="object"&&typeof r.url=="string"&&typeof r.method=="string"&&!("status"in r)}var Pl={maxRetries:3,baseDelayMs:300,maxDelayMs:3e4,jitter:.3,retryStatuses:[408,429,500,502,503,504],retryOnError:!0,retryMethods:["GET","HEAD","PUT","DELETE","OPTIONS","TRACE","POST"],shouldRetry:null,onRetry:null};function Kn(r={}){let e={...Pl,...r};function t(a,l){if(l!==null)return Math.min(l,e.maxDelayMs);let c=e.baseDelayMs*Math.pow(2,a-1),u=Math.min(c,e.maxDelayMs),h=u*e.jitter*Math.random();return Math.floor(u+h)}function n(a){return a.attempt>e.maxRetries||!e.retryMethods.includes(a.request.method.toUpperCase())?!1:e.shouldRetry?e.shouldRetry(a):a.error?e.retryOnError:a.response?e.retryStatuses.includes(a.response.status):!1}function s(a){let l=a.response?.headers["retry-after"]??a.response?.headers["Retry-After"];if(!l)return null;if(/^\d+$/.test(l.trim()))return parseInt(l,10)*1e3;let c=Date.parse(l);return isNaN(c)?null:Math.max(0,c-Date.now())}return{responseInterceptor:async a=>{if(!n(a))return;let l=t(a.attempt,s(a));return e.onRetry?.(a,l),await Fi(l),{...a.request}},errorInterceptor:async a=>{if(!n(a))return;let l=t(a.attempt,null);throw e.onRetry?.(a,l),await Fi(l),a.error=null,new Fn(a.request)}}}var Fn=class{constructor(e){f(this,"request");f(this,"__retrySignal",!0);this.request=e}},Il={getToken:()=>null,refreshToken:null,headerName:"authorization",scheme:"Bearer ",refreshOnStatuses:[401],maxQueue:50,refreshRetryDelay:3e4};function Vn(r){let e={...Il,...r},t=null,n=[],s=null,o=e.refreshRetryDelay??3e4;async function i(){if(s!==null){let c=Date.now()-s;if(c<o)throw new Error(`Auth refresh circuit breaker: last failure ${Math.round(c/1e3)}s ago, retry after ${Math.round((o-c)/1e3)}s`)}if(t){if(n.length>=e.maxQueue)throw new Error("Auth refresh queue full");return await new Promise((c,u)=>n.push({resolve:c,reject:u}))}return e.refreshToken?(t=e.refreshToken().then(c=>{for(let u of n)u.resolve(c);return n.length=0,t=null,s=null,c},c=>{for(let u of n)u.reject(c);throw n.length=0,t=null,s=Date.now(),c}),t):null}return{requestInterceptor:async c=>{let u=await e.getToken();u&&(c.request.headers[e.headerName]=`${e.scheme}${u}`)},responseInterceptor:async c=>{if(!c.response||!e.refreshOnStatuses.includes(c.response.status)||!e.refreshToken||c.request.meta.__authRetried)return;let u=await i();return u?{...c.request,headers:{...c.request.headers,[e.headerName]:`${e.scheme}${u}`},meta:{...c.request.meta,__authRetried:!0}}:void 0}}}var Ll={timeoutMs:3e4,methodTimeouts:{},message:"Request timed out"};function Jn(r={}){let e={...Ll,...r},t=i=>{let a=e.methodTimeouts[i.request.method.toUpperCase()]??e.timeoutMs;if(a<=0)return;let l=new AbortController,c=setTimeout(()=>{i.aborted=!0,l.abort(new Wn(e.message,a))},a),u=i.request.signal;if(u){let h=()=>{clearTimeout(c),l.abort(u.reason)};u.addEventListener("abort",h,{once:!0}),i.store.set(zn,{existing:u,onExistingAbort:h})}i.request={...i.request,signal:l.signal},i.store.set(Bn,c)},n=i=>{let a=i.store.get(Bn);a&&(clearTimeout(a),i.store.delete(Bn));let l=i.store.get(zn);l&&(l.existing.removeEventListener("abort",l.onExistingAbort),i.store.delete(zn))};return{id:"timeout",requestInterceptor:t,responseInterceptor:i=>{n(i)},errorInterceptor:i=>{n(i)}}}var Bn=Symbol("timeoutTimer"),zn=Symbol("timeoutSignal"),Wn=class extends Error{constructor(t,n){super(t);f(this,"timeoutMs");f(this,"code","ETIMEDOUT");this.timeoutMs=n,this.name="TimeoutError"}},Ml={logger:r=>console.log(JSON.stringify(r)),redactHeaders:["authorization","cookie","set-cookie","proxy-authorization"],logRequests:!0,logResponses:!0,logErrors:!0},zi=Symbol("requestId"),Ol=0;function Qn(r={}){let e={...Ml,...r},t=new Set(e.redactHeaders.map(l=>l.toLowerCase()));function n(l){let c={};for(let[u,h]of Object.entries(l))c[u]=t.has(u.toLowerCase())?"**REDACTED**":h;return c}function s(l,c){let u=c.store.get(zi)??"unknown";return{type:l,timestamp:Date.now(),requestId:u,method:c.request.method,url:c.request.url,status:c.response?.status??null,durationMs:l!=="request"?re()-c.startedAt:null,attempt:c.attempt,error:c.error instanceof Error?c.error.message:null}}return{requestInterceptor:l=>{let c=`req_${++Ol}`;l.store.set(zi,c),e.logRequests&&e.logger(s("request",l))},responseInterceptor:l=>{e.logResponses&&e.logger(s("response",l))},errorInterceptor:l=>{e.logErrors&&e.logger(s("error",l))}}}var Dl={maxEntries:500,defaultTtlMs:6e4,cacheMethods:["GET","HEAD"],cacheKey:null,honorCacheControl:!0};function Gn(r={}){let e={...Dl,...r},t=new Map,n=[];function s(c){return e.cacheKey?e.cacheKey(c):`${c.method}:${c.url}`}function o(c){let u=n.indexOf(c);for(u!==-1&&n.splice(u,1),n.unshift(c);n.length>e.maxEntries;){let h=n.pop();t.delete(h)}}function i(c){let u=c.headers["cache-control"]??c.headers["Cache-Control"]??"",h=u.match(/max-age=(\d+)/)?.[1],p=u.match(/stale-while-revalidate=(\d+)/)?.[1],d=/no-store/i.test(u),y=/no-cache/i.test(u);if(e.honorCacheControl&&(d||y))return{ttlMs:0,swrMs:0};let g=h?parseInt(h,10)*1e3:e.defaultTtlMs,m=p?parseInt(p,10)*1e3:0;return{ttlMs:g,swrMs:m}}return{requestInterceptor:c=>{if(!e.cacheMethods.includes(c.request.method.toUpperCase()))return;let u=s(c.request),h=t.get(u);if(!h)return;let p=re();if(h.expiresAt>p)return o(u),c.store.set(Nl,!0),{...h.response,request:c.request};h.staleUntil>p&&(o(u),c.store.set(qi,h),h.etag?c.request={...c.request,headers:{...c.request.headers,"if-none-match":h.etag}}:h.lastModified&&(c.request={...c.request,headers:{...c.request.headers,"if-modified-since":h.lastModified}}))},responseInterceptor:c=>{if(!c.response||!e.cacheMethods.includes(c.request.method.toUpperCase()))return;let u=s(c.request);if(c.response.status===304){let g=c.store.get(qi);if(g){let{ttlMs:m,swrMs:w}=i(g.response),S=re(),_={...g,createdAt:S,expiresAt:S+m,staleUntil:S+m+w};t.set(u,_),o(u),c.response={...g.response,request:c.request};return}}let{ttlMs:h,swrMs:p}=i(c.response);if(h<=0)return;let d=re(),y={response:c.response,createdAt:d,expiresAt:d+h,staleUntil:d+h+p,etag:c.response.headers.etag??c.response.headers.ETag??null,lastModified:c.response.headers["last-modified"]??null};t.set(u,y),o(u)},store:t}}var Nl=Symbol("cacheHit"),qi=Symbol("cacheStale");function Xn(){let r=new Map;async function e(o){let i=await me(o.headers??{});return`${o.method.toUpperCase()}:${o.url}${i?":"+i:""}`}return{requestInterceptor:async o=>{if(o.request.method.toUpperCase()!=="GET"&&o.request.method.toUpperCase()!=="HEAD")return;let i=await e(o.request);o.store.set(qn,i);let a=r.get(i);if(!a){r.set(i,{promise:void 0,waiters:[]});return}return new Promise((l,c)=>{let u=o.request.signal,h={resolve:d=>l(d),reject:d=>c(d),cleanup:()=>u?.removeEventListener("abort",p)},p=()=>{let d=a.waiters.indexOf(h);d!==-1&&a.waiters.splice(d,1),c(new Error("Request aborted while queued for deduplication"))};if(u?.aborted){p();return}u?.addEventListener("abort",p,{once:!0}),a.waiters.push(h)})},responseInterceptor:o=>{if(!o.response)return;let i=o.store.get(qn);if(!i)return;let a=r.get(i);if(a){r.delete(i);for(let l of a.waiters.splice(0))l.cleanup(),l.resolve(o.response)}},errorInterceptor:o=>{let i=o.store.get(qn);if(!i)return;let a=r.get(i);if(a){r.delete(i);for(let l of a.waiters.splice(0))l.cleanup(),l.reject(o.error)}}}}var qn=Symbol("dedupeKey"),Ul={limit:60,windowMs:6e4,queue:!0,maxQueue:100};function Kt(r={}){let e={...Ul,...r},t=e.limit,n=re(),s=[],o=null;function i(){let c=re(),u=(c-n)/e.windowMs;t=Math.min(e.limit,t+u*e.limit),n=c}function a(){o===null&&(o=setInterval(()=>{for(i();t>=1&&s.length>0;)t--,s.shift()();s.length===0&&o!==null&&(clearInterval(o),o=null)},Math.ceil(e.windowMs/e.limit)),typeof o=="object"&&o!==null&&"unref"in o&&o.unref())}async function l(){if(i(),t>=1){t--;return}if(!e.queue)throw new mt("Rate limit exceeded");if(s.length>=e.maxQueue)throw new mt("Rate limit queue full");await new Promise(c=>{s.push(()=>c()),a()})}return async()=>{await l()}}var mt=class extends Error{constructor(t){super(t);f(this,"code","ERATELIMIT");this.name="RateLimitError"}};function Yn(){let r=[],e=Symbol("harStart");function t(i){return Object.entries(i).map(([a,l])=>({name:a,value:l}))}function n(i){try{let a=new URL(i);return Array.from(a.searchParams.entries()).map(([l,c])=>({name:l,value:c}))}catch{return[]}}return{requestInterceptor:i=>{i.store.set(e,re())},responseInterceptor:i=>{if(!i.response)return;let a=i.store.get(e)??i.startedAt,l=re()-a,c=i.response.headers["content-type"]??i.response.headers["Content-Type"]??"application/octet-stream",u=i.response.body,h=u instanceof Uint8Array?u.byteLength:typeof u=="string"?u.length:0;r.push({startedDateTime:new Date(Date.now()-l).toISOString(),time:l,request:{method:i.request.method.toUpperCase(),url:i.request.url,httpVersion:"HTTP/1.1",headers:t(i.request.headers),queryString:n(i.request.url),bodySize:es(i.request.body)},response:{status:i.response.status,statusText:i.response.statusText,httpVersion:"HTTP/1.1",headers:t(i.response.headers),content:{size:h,mimeType:c,...typeof u=="string"?{text:u}:{}},bodySize:h,redirectURL:i.response.headers.location??""},timings:{send:0,wait:Math.floor(l*.9),receive:Math.floor(l*.1)}})},getHAR:()=>({version:"1.2",creator:{name:"kinetex",version:"0.0.3"},entries:[...r]}),clearHAR:()=>{r.length=0}}}function Zn(){let r=Symbol("metricsStart"),e=0,t=0,n=0,s={"2xx":0,"3xx":0,"4xx":0,"5xx":0},o=1e4,i=[],a=d=>{d.store.set(r,re()),e++,d.attempt>1&&n++},l=d=>{if(!d.response)return;let y=d.store.get(r);if(y!==void 0){let m=re()-y;i.length>=o&&i.shift(),i.push(m)}let g=`${Math.floor(d.response.status/100)}xx`;if(g in s){let m=s;m[g]=(m[g]??0)+1}},c=()=>{t++};function u(d,y){if(d.length===0)return 0;let g=Math.ceil(y/100*d.length)-1,m=Math.min(Math.max(0,g),d.length-1);return d[m]}return{requestInterceptor:a,responseInterceptor:l,errorInterceptor:c,snapshot:()=>{let d=[...i].sort((g,m)=>g-m),y=d.length?d.reduce((g,m)=>g+m,0)/d.length:0;return{totalRequests:e,totalErrors:t,totalRetries:n,statusBuckets:{...s},avgDurationMs:Math.round(y),p50DurationMs:u(d,50),p95DurationMs:u(d,95),p99DurationMs:u(d,99)}},reset:()=>{e=0,t=0,n=0;for(let d of Object.keys(s))s[d]=0;i.length=0}}}function re(){return typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now()}function Fi(r){return new Promise(e=>setTimeout(e,r))}function es(r){return r?typeof r=="string"?r.length:r instanceof Uint8Array||r instanceof ArrayBuffer?r.byteLength:-1:0}function Wi(r={}){let e=new Wt,t=Jn(r.timeout);e.useRequest(t.requestInterceptor,{priority:-100,id:"timeout-req"}),e.useResponse(t.responseInterceptor,{priority:-100,id:"timeout-res"}),e.useError(t.errorInterceptor,{priority:-100,id:"timeout-err"}),r.rateLimit&&e.useRequest(Kt(r.rateLimit),{priority:-90,id:"ratelimit"});let n=Xn();e.useRequest(n.requestInterceptor,{priority:-80,id:"dedupe-req"}),e.useResponse(n.responseInterceptor,{priority:-80,id:"dedupe-res"}),e.useError(n.errorInterceptor,{priority:-80,id:"dedupe-err"});let s=Gn(r.cache);e.useRequest(s.requestInterceptor,{priority:-70,id:"cache-req"}),e.useResponse(s.responseInterceptor,{priority:-70,id:"cache-res"});let o=null;r.auth&&(o=Vn(r.auth),e.useRequest(o.requestInterceptor,{priority:-50,id:"auth-req"}),e.useResponse(o.responseInterceptor,{priority:-50,id:"auth-res"}));let i=Kn(r.retry);e.useResponse(i.responseInterceptor,{priority:50,id:"retry-res"}),e.useError(i.errorInterceptor,{priority:50,id:"retry-err"});let a=Qn(r.logging);e.useRequest(a.requestInterceptor,{priority:90,id:"log-req"}),e.useResponse(a.responseInterceptor,{priority:90,id:"log-res"}),e.useError(a.errorInterceptor,{priority:90,id:"log-err"});let l=Yn();e.useRequest(l.requestInterceptor,{priority:95,id:"har-req"}),e.useResponse(l.responseInterceptor,{priority:95,id:"har-res"});let c=Zn();return e.useRequest(c.requestInterceptor,{priority:100,id:"metrics-req"}),e.useResponse(c.responseInterceptor,{priority:100,id:"metrics-res"}),e.useError(c.errorInterceptor,{priority:100,id:"metrics-err"}),{manager:e,retry:i,auth:o,timeout:{id:t.id},logging:a,cache:s,dedupe:n,har:l,metrics:c}}je();function Ki(r){return()=>Promise.resolve(r)}function Vi(){return()=>{let r=ts("AWS_ACCESS_KEY_ID"),e=ts("AWS_SECRET_ACCESS_KEY"),t=ts("AWS_SESSION_TOKEN");return!r||!e?Promise.reject(new te("AWS credentials not found in environment. Set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY.")):Promise.resolve({accessKeyId:r,secretAccessKey:e,...t!==void 0?{sessionToken:t}:{}})}}function Ji(...r){return async()=>{let e=[];for(let t of r)try{return await t()}catch(n){e.push(n instanceof Error?n:new Error(String(n)))}throw new te(`All credential providers failed:
75
75
  ${e.map(t=>` - ${t.message}`).join(`
76
- `)}`)}}function Jn(r,e=300*1e3){let t=null,n=null;return()=>{let s=Date.now();return t&&(!t.expiration||new Date(t.expiration).getTime()-s>e)?Promise.resolve(t):n||(n=r().then(o=>(t=o,n=null,o),o=>{throw n=null,o}),n)}}var El=new Set(["http://169.254.169.254","http://169.254.170.2","http://fd00:ec2::254"]);function Rl(r){try{let e=new URL(r),t=e.hostname;t.startsWith("[")&&t.endsWith("]")&&(t=t.slice(1,-1));let n=`${e.protocol}//${t}`;return El.has(n)}catch{return!1}}function Bi(r={}){let e=r.endpoint??"http://169.254.169.254",t=r.timeout??5e3;if(!Rl(e))throw new Error(`Invalid IMDS endpoint: ${e}. Only AWS metadata service endpoints are allowed.`);return Jn(async()=>{let n=await Kn(`${e}/latest/api/token`,{method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"21600"}},t);if(!n.ok)throw new Z(`IMDS token fetch failed: ${n.status}`);let s=await n.text(),o=await Kn(`${e}/latest/meta-data/iam/security-credentials/`,{headers:{"x-aws-ec2-metadata-token":s}},t);if(!o.ok)throw new Z(`IMDS role fetch failed: ${o.status}`);let a=(await o.text()).trim().split(`
77
- `)[0]?.trim();if(!a)throw new Z("No IAM role found in IMDS response");let c=await Kn(`${e}/latest/meta-data/iam/security-credentials/${a}`,{headers:{"x-aws-ec2-metadata-token":s}},t);if(!c.ok)throw new Z(`IMDS credentials fetch failed: ${c.status}`);let l=await c.json();return{accessKeyId:l.AccessKeyId,secretAccessKey:l.SecretAccessKey,sessionToken:l.Token,expiration:l.Expiration}})}function Ft(r){return r.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}/,"")}function ut(r){return r.toISOString().slice(0,10).replace(/-/g,"")}function kr(r){if(r.signingDate){let t=r.signingDate instanceof Date?r.signingDate:new Date(r.signingDate);return r.clockSkewSecs?new Date(t.getTime()+r.clockSkewSecs*1e3):t}let e=new Date;return r.clockSkewSecs?new Date(e.getTime()+r.clockSkewSecs*1e3):e}async function pe(r,e){let t=new TextEncoder,n=typeof r=="string"?t.encode(r):r,s=n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength),o=await crypto.subtle.importKey("raw",s,{name:"HMAC",hash:"SHA-256"},!1,["sign"]),i=await crypto.subtle.sign("HMAC",o,t.encode(e));return new Uint8Array(i)}async function Qn(r){let e=new TextEncoder,t=typeof r=="string"?e.encode(r):r,n=t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength),s=await crypto.subtle.digest("SHA-256",n);return ht(new Uint8Array(s))}function ht(r){return Array.from(r).map(e=>e.toString(16).padStart(2,"0")).join("")}var kl=new Set(["user-agent","x-forwarded-for","x-forwarded-host","x-forwarded-proto","accept-encoding","connection","expect","transfer-encoding"]),Al=new Set(["host","content-type","content-md5"]);function Gn(r,e=!0){let t=encodeURIComponent(r).replace(/[!'()*]/g,n=>"%"+n.charCodeAt(0).toString(16).toUpperCase());return e?t.replace(/%/g,"%25").replace(/%2525/g,"%25"):t}function Cl(r,e){if(!r||r==="/")return"/";let n=r.split("/").map(i=>i===""||i==="."||i===".."?i:Gn(decodeURIComponent(i.replace(/\+/g," ")),e)),s=[];for(let i of n)if(i!=="."){if(i===".."){s.pop();continue}s.push(i)}let o=s.join("/");return o.startsWith("/")?o:"/"+o}function vl(r){let e=[];for(let[t,n]of r.entries())e.push([encodeURIComponent(t).replace(/[!'()*]/g,s=>"%"+s.charCodeAt(0).toString(16).toUpperCase()),encodeURIComponent(n).replace(/[!'()*]/g,s=>"%"+s.charCodeAt(0).toString(16).toUpperCase())]);return e.sort(([t,n],[s,o])=>t<s?-1:t>s?1:n<o?-1:n>o?1:0),e.map(([t,n])=>`${t}=${n}`).join("&")}function Pl(r,e){let t=new Set([...kl,...e.map(a=>a.toLowerCase())]),n=[];for(let[a,c]of Object.entries(r)){let l=a.toLowerCase();if(t.has(l)&&!Al.has(l))continue;let u=c.trim().replace(/\s+/g," ");n.push([l,u])}n.sort(([a],[c])=>a<c?-1:a>c?1:0);let s=new Map;for(let[a,c]of n){let l=s.get(a);s.set(a,l?`${l},${c}`:c)}let o=Array.from(s.entries()).map(([a,c])=>`${a}:${c}`).join(`
76
+ `)}`)}}function ss(r,e=300*1e3){let t=null,n=null;return()=>{let s=Date.now();return t&&(!t.expiration||new Date(t.expiration).getTime()-s>e)?Promise.resolve(t):n||(n=r().then(o=>(t=o,n=null,o),o=>{throw n=null,o}),n)}}var $l=new Set(["http://169.254.169.254","http://169.254.170.2","http://fd00:ec2::254"]);function Hl(r){try{let e=new URL(r),t=e.hostname;t.startsWith("[")&&t.endsWith("]")&&(t=t.slice(1,-1));let n=`${e.protocol}//${t}`;return $l.has(n)}catch{return!1}}function Qi(r={}){let e=r.endpoint??"http://169.254.169.254",t=r.timeout??5e3;if(!Hl(e))throw new Error(`Invalid IMDS endpoint: ${e}. Only AWS metadata service endpoints are allowed.`);return ss(async()=>{let n=await rs(`${e}/latest/api/token`,{method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"21600"}},t);if(!n.ok)throw new te(`IMDS token fetch failed: ${n.status}`);let s=await n.text(),o=await rs(`${e}/latest/meta-data/iam/security-credentials/`,{headers:{"x-aws-ec2-metadata-token":s}},t);if(!o.ok)throw new te(`IMDS role fetch failed: ${o.status}`);let a=(await o.text()).trim().split(`
77
+ `)[0]?.trim();if(!a)throw new te("No IAM role found in IMDS response");let l=await rs(`${e}/latest/meta-data/iam/security-credentials/${encodeURIComponent(a)}`,{headers:{"x-aws-ec2-metadata-token":s}},t);if(!l.ok)throw new te(`IMDS credentials fetch failed: ${l.status}`);let c=await l.json();return{accessKeyId:c.AccessKeyId,secretAccessKey:c.SecretAccessKey,sessionToken:c.Token,expiration:c.Expiration}})}function Vt(r){return r.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}/,"")}function gt(r){return r.toISOString().slice(0,10).replace(/-/g,"")}function vr(r){if(r.signingDate){let t=r.signingDate instanceof Date?r.signingDate:new Date(r.signingDate);return r.clockSkewSecs?new Date(t.getTime()+r.clockSkewSecs*1e3):t}let e=new Date;return r.clockSkewSecs?new Date(e.getTime()+r.clockSkewSecs*1e3):e}async function ge(r,e){let t=new TextEncoder,n=typeof r=="string"?t.encode(r):r,s=n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength),o=await crypto.subtle.importKey("raw",s,{name:"HMAC",hash:"SHA-256"},!1,["sign"]),i=await crypto.subtle.sign("HMAC",o,t.encode(e));return new Uint8Array(i)}async function os(r){let e=new TextEncoder,t=typeof r=="string"?e.encode(r):r,n=t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength),s=await crypto.subtle.digest("SHA-256",n);return yt(new Uint8Array(s))}function yt(r){return Array.from(r).map(e=>e.toString(16).padStart(2,"0")).join("")}var jl=new Set(["user-agent","x-forwarded-for","x-forwarded-host","x-forwarded-proto","accept-encoding","connection","expect","transfer-encoding"]),Bl=new Set(["host","content-type","content-md5"]);function is(r,e=!0){let t=encodeURIComponent(r).replace(/[!'()*]/g,n=>"%"+n.charCodeAt(0).toString(16).toUpperCase());return e?t.replace(/%/g,"%25").replace(/%2525/g,"%25"):t}function zl(r,e){if(!r||r==="/")return"/";let n=r.split("/").map(i=>i===""||i==="."||i===".."?i:is(decodeURIComponent(i.replace(/\+/g," ")),e)),s=[];for(let i of n)if(i!=="."){if(i===".."){s.pop();continue}s.push(i)}let o=s.join("/");return o.startsWith("/")?o:"/"+o}function ql(r){let e=[];for(let[t,n]of r.entries())e.push([encodeURIComponent(t).replace(/[!'()*]/g,s=>"%"+s.charCodeAt(0).toString(16).toUpperCase()),encodeURIComponent(n).replace(/[!'()*]/g,s=>"%"+s.charCodeAt(0).toString(16).toUpperCase())]);return e.sort(([t,n],[s,o])=>t<s?-1:t>s?1:n<o?-1:n>o?1:0),e.map(([t,n])=>`${t}=${n}`).join("&")}function Fl(r,e){let t=new Set([...jl,...e.map(a=>a.toLowerCase())]),n=[];for(let[a,l]of Object.entries(r)){let c=a.toLowerCase();if(t.has(c)&&!Bl.has(c))continue;let u=l.trim().replace(/\s+/g," ");n.push([c,u])}n.sort(([a],[l])=>a<l?-1:a>l?1:0);let s=new Map;for(let[a,l]of n){let c=s.get(a);s.set(a,c?`${c},${l}`:l)}let o=Array.from(s.entries()).map(([a,l])=>`${a}:${l}`).join(`
78
78
  `)+`
79
- `,i=Array.from(s.keys()).join(";");return{canonicalHeaders:o,signedHeaders:i}}async function Vn(r,e,t,n,s,o,i){let a=r.toUpperCase(),c=Cl(e.pathname,o),l=vl(e.searchParams),u;s?u="UNSIGNED-PAYLOAD":n?u=await Qn(n):u="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";let{canonicalHeaders:f,signedHeaders:p}=Pl(t,i);return{canonicalRequest:[a,c,l,f,p,u].join(`
80
- `),signedHeaders:p,payloadHash:u}}async function ft(r,e,t,n){let s=new TextEncoder,o=s.encode("AWS4"),i=s.encode(r),a=new Uint8Array(o.length+i.length);a.set(o),a.set(i,o.length),i.fill(0);let c=await pe(a,e),l=await pe(c,t),u=await pe(l,n),f=await pe(u,"aws4_request");return a.fill(0),f}async function Fi(r,e,t){let n=await Qn(t);return["AWS4-HMAC-SHA256",r,e,n].join(`
81
- `)}async function Ar(r,e){let t=await Cr(e.credentials),n=kr(e),s=Ft(n),o=ut(n),i=new URL(r.url),a={...r.headers,host:i.host,"x-amz-date":s};e.unsignedPayload&&(a["x-amz-content-sha256"]="UNSIGNED-PAYLOAD"),t.sessionToken&&(a["x-amz-security-token"]=t.sessionToken);let c=e.doubleEncodeUri!==!1,l=e.unsignedHeaders??[],{canonicalRequest:u,signedHeaders:f,payloadHash:p}=await Vn(r.method,i,a,r.body,e.unsignedPayload??!1,c,l);!a["x-amz-content-sha256"]&&!e.unsignedPayload&&(a["x-amz-content-sha256"]=p);let d=`${o}/${e.region}/${e.service}/aws4_request`,g=await Fi(s,d,u),m=await ft(t.secretAccessKey,o,e.region,e.service),y=await pe(m,g),b=ht(y),x=`AWS4-HMAC-SHA256 Credential=${t.accessKeyId}/${d}, SignedHeaders=${f}, Signature=${b}`;return{method:r.method,url:r.url,headers:{...a,authorization:x},body:r.body,authorization:x,amzDate:s,signature:b,canonicalRequest:u,stringToSign:g}}async function Xn(r,e,t={}){let n=await Cr(e.credentials),s=kr(e),o=Ft(s),i=ut(s),a=t.expiresIn??3600,c=e.service==="s3"?604800:3600;(a<1||a>c)&&console.warn(`[aws-sigv4] presignRequest: expiresIn should be 1-${c} seconds for ${e.service}, got ${a}`);let l=new URL(r.url),u=`${i}/${e.region}/${e.service}/aws4_request`;if(l.searchParams.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),l.searchParams.set("X-Amz-Credential",`${n.accessKeyId}/${u}`),l.searchParams.set("X-Amz-Date",o),l.searchParams.set("X-Amz-Expires",String(a)),n.sessionToken&&!t.omitSessionToken&&l.searchParams.set("X-Amz-Security-Token",n.sessionToken),t.extraParams)for(let[R,A]of Object.entries(t.extraParams))l.searchParams.set(R,A);let f={...r.headers,host:l.host},p=e.unsignedHeaders??[],{canonicalRequest:d,signedHeaders:g}=await Vn(r.method,l,f,null,!0,e.doubleEncodeUri!==!1,p);l.searchParams.set("X-Amz-SignedHeaders",g);let{canonicalRequest:m}=await Vn(r.method,l,f,null,!0,e.doubleEncodeUri!==!1,p),y=await Fi(o,u,m),b=await ft(n.secretAccessKey,i,e.region,e.service),x=await pe(b,y),T=ht(x);return l.searchParams.set("X-Amz-Signature",T),l.toString()}async function Yn(r,e){let t={...r,body:null};t.headers={...t.headers,"x-amz-content-sha256":"STREAMING-AWS4-HMAC-SHA256-PAYLOAD","content-encoding":"aws-chunked"};let n=await Ar(t,{...e,unsignedPayload:!1}),s=await Cr(e.credentials),o=kr(e),i=ut(o),a=Ft(o),c=await ft(s.secretAccessKey,i,e.region,e.service),l=`${i}/${e.region}/${e.service}/aws4_request`;return{signedRequest:n,state:{previousSignature:n.signature,signingKey:c,scope:l,signingDate:a}}}async function Wi(r,e){let t=typeof r=="string"?new TextEncoder().encode(r):r,n=await Qn(t),o=["AWS4-HMAC-SHA256-PAYLOAD",e.signingDate,e.scope,e.previousSignature,"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",n].join(`
82
- `),i=await pe(e.signingKey,o),a=ht(i);return{chunkHeader:`${t.byteLength.toString(16)};chunk-signature=${a}\r
83
- `,newState:{...e,previousSignature:a}}}async function Ki(r){let e="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",t=["AWS4-HMAC-SHA256-PAYLOAD",r.signingDate,r.scope,r.previousSignature,e,e].join(`
84
- `),n=await pe(r.signingKey,t);return`0;chunk-signature=${ht(n)}\r
79
+ `,i=Array.from(s.keys()).join(";");return{canonicalHeaders:o,signedHeaders:i}}async function ns(r,e,t,n,s,o,i){let a=r.toUpperCase(),l=zl(e.pathname,o),c=ql(e.searchParams),u;s?u="UNSIGNED-PAYLOAD":n?u=await os(n):u="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";let{canonicalHeaders:h,signedHeaders:p}=Fl(t,i);return{canonicalRequest:[a,l,c,h,p,u].join(`
80
+ `),signedHeaders:p,payloadHash:u}}async function wt(r,e,t,n){let s=new TextEncoder,o=s.encode("AWS4"),i=s.encode(r),a=new Uint8Array(o.length+i.length);a.set(o),a.set(i,o.length),i.fill(0);let l=await ge(a,e),c=await ge(l,t),u=await ge(c,n),h=await ge(u,"aws4_request");return a.fill(0),h}async function Gi(r,e,t){let n=await os(t);return["AWS4-HMAC-SHA256",r,e,n].join(`
81
+ `)}async function Pr(r,e){let t=await Ir(e.credentials),n=vr(e),s=Vt(n),o=gt(n),i=new URL(r.url),a={...r.headers,host:i.host,"x-amz-date":s};e.unsignedPayload&&(a["x-amz-content-sha256"]="UNSIGNED-PAYLOAD"),t.sessionToken&&(a["x-amz-security-token"]=t.sessionToken);let l=e.doubleEncodeUri!==!1,c=e.unsignedHeaders??[],{canonicalRequest:u,signedHeaders:h,payloadHash:p}=await ns(r.method,i,a,r.body,e.unsignedPayload??!1,l,c);!a["x-amz-content-sha256"]&&!e.unsignedPayload&&(a["x-amz-content-sha256"]=p);let d=`${o}/${e.region}/${e.service}/aws4_request`,y=await Gi(s,d,u),g=await wt(t.secretAccessKey,o,e.region,e.service),m=await ge(g,y),w=yt(m),S=`AWS4-HMAC-SHA256 Credential=${t.accessKeyId}/${d}, SignedHeaders=${h}, Signature=${w}`;return{method:r.method,url:r.url,headers:{...a,authorization:S},body:r.body,authorization:S,amzDate:s,signature:w,canonicalRequest:u,stringToSign:y}}async function as(r,e,t={}){let n=await Ir(e.credentials),s=vr(e),o=Vt(s),i=gt(s),a=t.expiresIn??3600,l=e.service==="s3"?604800:3600;(a<1||a>l)&&console.warn(`[aws-sigv4] presignRequest: expiresIn should be 1-${l} seconds for ${e.service}, got ${a}`);let c=new URL(r.url),u=`${i}/${e.region}/${e.service}/aws4_request`;if(c.searchParams.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),c.searchParams.set("X-Amz-Credential",`${n.accessKeyId}/${u}`),c.searchParams.set("X-Amz-Date",o),c.searchParams.set("X-Amz-Expires",String(a)),n.sessionToken&&!t.omitSessionToken&&c.searchParams.set("X-Amz-Security-Token",n.sessionToken),t.extraParams)for(let[T,v]of Object.entries(t.extraParams))c.searchParams.set(T,v);let h={...r.headers,host:c.host},p=e.unsignedHeaders??[],{canonicalRequest:d,signedHeaders:y}=await ns(r.method,c,h,null,!0,e.doubleEncodeUri!==!1,p);c.searchParams.set("X-Amz-SignedHeaders",y);let{canonicalRequest:g}=await ns(r.method,c,h,null,!0,e.doubleEncodeUri!==!1,p),m=await Gi(o,u,g),w=await wt(n.secretAccessKey,i,e.region,e.service),S=await ge(w,m),_=yt(S);return c.searchParams.set("X-Amz-Signature",_),c.toString()}async function cs(r,e){let t={...r,body:null};t.headers={...t.headers,"x-amz-content-sha256":"STREAMING-AWS4-HMAC-SHA256-PAYLOAD","content-encoding":"aws-chunked"};let n=await Pr(t,{...e,unsignedPayload:!1}),s=await Ir(e.credentials),o=vr(e),i=gt(o),a=Vt(o),l=await wt(s.secretAccessKey,i,e.region,e.service),c=`${i}/${e.region}/${e.service}/aws4_request`;return{signedRequest:n,state:{previousSignature:n.signature,signingKey:l,scope:c,signingDate:a}}}async function Xi(r,e){let t=typeof r=="string"?new TextEncoder().encode(r):r,n=await os(t),o=["AWS4-HMAC-SHA256-PAYLOAD",e.signingDate,e.scope,e.previousSignature,"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",n].join(`
82
+ `),i=await ge(e.signingKey,o),a=yt(i);return{chunkHeader:`${t.byteLength.toString(16)};chunk-signature=${a}\r
83
+ `,newState:{...e,previousSignature:a}}}async function Yi(r){let e="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",t=["AWS4-HMAC-SHA256-PAYLOAD",r.signingDate,r.scope,r.previousSignature,e,e].join(`
84
+ `),n=await ge(r.signingKey,t);return`0;chunk-signature=${yt(n)}\r
85
85
  \r
86
- `}async function Zn(r,e){let t=await Cr(e.credentials),n=kr(e),s=ut(n),o=`${s}/${e.region}/${e.service}/aws4_request`,i=`${t.accessKeyId}/${o}`,a=JSON.stringify(r),c=btoa(a),l=await ft(t.secretAccessKey,s,e.region,e.service),u=await pe(l,c),f=ht(u),p={policy:c,signature:f,credential:i,date:s};return t.sessionToken&&(p.securityToken=t.sessionToken),p}function es(r){let e=r.date??r.Date;if(!e)return 0;let t=new Date(e).getTime();return isNaN(t)?0:Math.round((t-Date.now())/1e3)}function ts(r,e){return r!==403&&r!==400?!1:e.includes("RequestTimeTooSkewed")||e.includes("RequestExpired")||e.includes("InvalidSignatureException")||e.includes("AuthFailure")||e.includes("SignatureDoesNotMatch")}var ae=class{constructor(e){h(this,"config");h(this,"clockSkewSecs",0);this.config=e}async sign(e){return await Ar(e,{...this.config,clockSkewSecs:this.clockSkewSecs})}async presign(e,t){return await Xn(e,{...this.config,clockSkewSecs:this.clockSkewSecs},t)}async signPostPolicy(e){return await Zn(e,{...this.config,clockSkewSecs:this.clockSkewSecs})}async initChunked(e){return await Yn(e,{...this.config,clockSkewSecs:this.clockSkewSecs})}updateClockSkew(e){let t=es(e);t!==0&&(this.clockSkewSecs=t)}handleClockSkewError(e,t,n){return ts(e,t)?(this.updateClockSkew(n),!0):!1}};async function Cr(r){return await(typeof r=="function"?r():Promise.resolve(r))}function Wn(r){let e=globalThis.Deno;if(typeof e<"u")try{return e.env.get(r)}catch{}try{return globalThis.process?.env?.[r]}catch{}}async function Kn(r,e,t){let n=new AbortController,s=setTimeout(()=>n.abort(),t);try{let o=e.signal&&typeof AbortSignal<"u"&&"any"in AbortSignal?AbortSignal.any([e.signal,n.signal]):n.signal,i=await fetch(r,{...e,signal:o});return clearTimeout(s),i}catch(o){throw n.signal.aborted?new Q(t):o}finally{clearTimeout(s)}}function Vi(r){return new ae({credentials:r.credentials,region:r.region,service:"s3",doubleEncodeUri:!1,unsignedPayload:r.unsignedPayload??!1})}function Ji(r){return new ae({credentials:r.credentials,region:r.region,service:"execute-api"})}function Qi(r){return new ae({credentials:r.credentials,region:r.region,service:"sts"})}function Gi(r){return new ae({credentials:r.credentials,region:r.region,service:"dynamodb"})}z();function Il(r){let e=[];for(let u=0;u<r.length;u++){let f=r.charCodeAt(u);if(f<128)e.push(f);else if(f<2048)e.push(192|f>>6,128|f&63);else if(f<55296||f>=57344)e.push(224|f>>12,128|f>>6&63,128|f&63);else{u++;let p=r.charCodeAt(u),d=65536+((f&1023)<<10|p&1023);e.push(240|d>>18,128|d>>12&63,128|d>>6&63,128|d&63)}}let t=e.length*8;for(e.push(128);e.length*8%512!==448;)e.push(0);for(let u=0;u<4;u++)e.push(t>>>u*8&255);for(let u=4;u<8;u++)e.push(0);let n=[3614090360,3905402710,606105819,3250441966,4118548399,1200080426,2821735955,4249261313,1770035416,2336552879,4294925233,2304563134,1804603682,4254626195,2792965006,1236535329,4129170786,3225465664,643717713,3921069994,3593408605,38016083,3634488961,3889429448,568446438,3275163606,4107603335,1163531501,2850285829,4243563512,1735328473,2368359562,4294588738,2272392833,1839030562,4259657740,2763975236,1272893353,4139469664,3200236656,681279174,3936430074,3572445317,76029189,3654602809,3873151461,530742520,3299628645,4096336452,1126891415,2878612391,4237533241,1700485571,2399980690,4293915773,2240044497,1873313359,4264355552,2734768916,1309151649,4149444226,3174756917,718787259,3951481745],s=[7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21],o=1732584193,i=4023233417,a=2562383102,c=271733878;for(let u=0;u<e.length;u+=64){let f=[];for(let y=0;y<16;y++){let b=e[u+y*4],x=e[u+y*4+1],T=e[u+y*4+2],R=e[u+y*4+3];f[y]=(b|x<<8|T<<16|R<<24)>>>0}let p=o,d=i,g=a,m=c;for(let y=0;y<64;y++){let b,x;y<16?(b=d&g|~d&m,x=y):y<32?(b=m&d|~m&g,x=(5*y+1)%16):y<48?(b=d^g^m,x=(3*y+5)%16):(b=g^(d|~m),x=7*y%16),b=b+p+n[y]+f[x]>>>0,p=m,m=g,g=d,d=d+(b<<s[y]|b>>>32-s[y])>>>0}o=o+p>>>0,i=i+d>>>0,a=a+g>>>0,c=c+m>>>0}function l(u){let f="";for(let p=0;p<4;p++)f+=(u>>>p*8&255).toString(16).padStart(2,"0");return f}return l(o)+l(i)+l(a)+l(c)}function rs(r){let e={algorithm:"MD5"},t=r.replace(/^Digest\s+/i,"").trim(),n=/(\w+)\s*=\s*(?:"([^"]*)"|([^,\s]+))/g,s;for(;(s=n.exec(t))!==null;){let o=s[1].toLowerCase(),i=s[2]??s[3];switch(o){case"realm":e.realm=i;break;case"nonce":e.nonce=i;break;case"opaque":e.opaque=i;break;case"algorithm":e.algorithm=i.toUpperCase();break;case"qop":e.qop=i;break;case"domain":e.domain=i;break;case"charset":e.charset=i;break;case"userhash":e.userhash=i==="true";break;case"stale":e.stale=i==="true";break}}if(!e.realm)throw new Error("Digest challenge missing 'realm'");if(!e.nonce)throw new Error("Digest challenge missing 'nonce'");return e}async function Ll(r){let e=new TextEncoder,t=await crypto.subtle.digest("SHA-256",e.encode(r)),n=new Uint8Array(t);return Array.from(n).map(s=>s.toString(16).padStart(2,"0")).join("")}function Ml(r){let e=[0x428a2f98d728ae22n,0x7137449123ef65cdn,0xb5c0fbcfec4d3b2fn,0xe9b5dba58189dbbcn,0x3956c25bf348b538n,0x59f111f1b605d019n,0x923f82a4af194f9bn,0xab1c5ed5da6d8118n,0xd807aa98a3030242n,0x12835b0145706fben,0x243185be4ee4b28cn,0x550c7dc3d5ffb4e2n,0x72be5d74f27b896fn,0x80deb1fe3b1696b1n,0x9bdc06a725c71235n,0xc19bf174cf692694n,0xe49b69c19ef14ad2n,0xefbe4786384f25e3n,0x0fc19dc68b8cd5b5n,0x240ca1cc77ac9c65n,0x2de92c6f592b0275n,0x4a7484aa6ea6e483n,0x5cb0a9dcbd41fbd4n,0x76f988da831153b5n,0x983e5152ee66dfabn,0xa831c66d2db43210n,0xb00327c898fb213fn,0xbf597fc7beef0ee4n,0xc6e00bf33da88fc2n,0xd5a79147930aa725n,0x06ca6351e003826fn,0x142929670a0e6e70n,0x27b70a8546d22ffcn,0x2e1b21385c26c926n,0x4d2c6dfc5ac42aedn,0x53380d139d95b3dfn,0x650a73548baf63den,0x766a0abb3c77b2a8n,0x81c2c92e47edaee6n,0x92722c851482353bn,0xa2bfe8a14cf10364n,0xa81a664bbc423001n,0xc24b8b70d0f89791n,0xc76c51a30654be30n,0xd192e819d6ef5218n,0xd69906245565a910n,0xf40e35855771202an,0x106aa07032bbd1b8n,0x19a4c116b8d2d0c8n,0x1e376c085141ab53n,0x2748774cdf8eeb99n,0x34b0bcb5e19b48a8n,0x391c0cb3c5c95a63n,0x4ed8aa4ae3418acbn,0x5b9cca4f7763e373n,0x682e6ff3d6b2b8a3n,0x748f82ee5defb2fcn,0x78a5636f43172f60n,0x84c87814a1f0ab72n,0x8cc702081a6439ecn,0x90befffa23631e28n,0xa4506cebde82bde9n,0xbef9a3f7b2c67915n,0xc67178f2e372532bn,0xca273eceea26619cn,0xd186b8c721c0c207n,0xeada7dd6cde0eb1en,0xf57d4f7fee6ed178n,0x06f067aa72176fban,0x0a637dc5a2c898a6n,0x113f9804bef90daen,0x1b710b35131c471bn,0x28db77f523047d84n,0x32caab7b40c72493n,0x3c9ebe0a15c9bebcn,0x431d67c49c100d4cn,0x4cc5d4becb3e42b6n,0x597f299cfc657e2an,0x5fcb6fab3ad6faecn,0x6c44198c4a475817n],t=[0x22312194fc2bf72cn,0x9f555fa3c84c64c2n,0x2393b86b6f53b151n,0x963877195940eabdn,0x96283ee2a88effe3n,0xbe5e1e2553863992n,0x2b0199fc2c85b8aan,0x0eb72ddc81c52ca2n],n=[];for(let c=0;c<r.length;c++){let l=r.charCodeAt(c);if(l<128)n.push(l);else if(l<2048)n.push(192|l>>6,128|l&63);else if(l<55296||l>=57344)n.push(224|l>>12,128|l>>6&63,128|l&63);else{c++;let u=r.charCodeAt(c),f=65536+((l&1023)<<10|u&1023);n.push(240|f>>18,128|f>>12&63,128|f>>6&63,128|f&63)}}let s=BigInt(n.length*8);for(n.push(128);n.length*8%1024!==896;)n.push(0);for(let c=15;c>=0;c--)n.push(Number(s>>BigInt(c*8)&0xffn));function o(c,l){return c>>l|c<<64n-l&0xffffffffffffffffn}let i=t.slice();for(let c=0;c<n.length;c+=128){let l=new Array(80);for(let x=0;x<16;x++){let T=0n;for(let R=0;R<8;R++)T=T<<8n|BigInt(n[c+x*8+R]);l[x]=T}for(let x=16;x<80;x++){let T=o(l[x-15],1n)^o(l[x-15],8n)^l[x-15]>>7n,R=o(l[x-2],19n)^o(l[x-2],61n)^l[x-2]>>6n;l[x]=l[x-16]+T+l[x-7]+R&0xffffffffffffffffn}let u=i[0],f=i[1],p=i[2],d=i[3],g=i[4],m=i[5],y=i[6],b=i[7];for(let x=0;x<80;x++){let T=o(g,14n)^o(g,18n)^o(g,41n),R=g&m^~g&y,A=b+T+R+e[x]+l[x]&0xffffffffffffffffn,U=o(u,28n)^o(u,34n)^o(u,39n),_=u&f^u&p^f&p,v=U+_&0xffffffffffffffffn;b=y,y=m,m=g,g=d+A&0xffffffffffffffffn,d=p,p=f,f=u,u=A+v&0xffffffffffffffffn}i=[i[0]+u&0xffffffffffffffffn,i[1]+f&0xffffffffffffffffn,i[2]+p&0xffffffffffffffffn,i[3]+d&0xffffffffffffffffn,i[4]+g&0xffffffffffffffffn,i[5]+m&0xffffffffffffffffn,i[6]+y&0xffffffffffffffffn,i[7]+b&0xffffffffffffffffn]}let a="";for(let c=0;c<4;c++)a+=i[c].toString(16).padStart(16,"0");return a}async function ns(r,e,t,n,s,o,i){let a=r.qop||"",c=r.nonce,l=r.realm,u=o||tt(5),f=i||"00000001",p=Ol(r.algorithm);async function d(x){return p==="MD5"?Il(x):p==="SHA-512-256"?Ml(x):await Ll(x)}let g=await d(`${e}:${l}:${t}`),m=await d(`${n}:${s}`),y,b=a.split(/\s*,\s*/).filter(Boolean);return b.includes("auth")||b.includes("auth-int")?y=await d(`${g}:${c}:${f}:${u}:${b[0]}:${m}`):y=await d(`${g}:${c}:${m}`),y}function Ol(r){let e=r.toUpperCase().replace(/-/g,"");return e==="SHA256"?"SHA-256":e==="SHA512256"?"SHA-512-256":"MD5"}function ss(r,e,t,n,s,o){let i=[],a=s||tt(5),c=o||"00000001";return i.push(`username="${e}"`),i.push(`realm="${r.realm}"`),i.push(`nonce="${r.nonce}"`),i.push(`uri="${n}"`),i.push(`response="${t}"`),r.opaque&&i.push(`opaque="${r.opaque}"`),r.algorithm&&r.algorithm!=="MD5"&&i.push(`algorithm=${r.algorithm}`),r.qop&&(i.push(`qop=${r.qop.split(/\s*,\s*/)[0]}`),i.push(`nc=${c}`),i.push(`cnonce="${a}"`)),`Digest ${i.join(", ")}`}async function vr(r,e,t,n,s){let o=rs(r),i=tt(5),a="00000001",c=await ns(o,e,t,n,s,i,a);return ss(o,e,c,s,i,a)}Zt();var Nu={maxRetries:3,baseDelayMs:300,maxDelayMs:3e4,jitter:.3,statuses:[408,429,500,502,503,504],onNetworkError:!0,onTimeout:!1,methods:["GET","HEAD","PUT","DELETE","OPTIONS","TRACE"]},Io=class{constructor(){h(this,"_req",new Map);h(this,"_res",new Map);h(this,"_err",new Map);h(this,"_seq",0)}get request(){return Array.from(this._req.values())}get response(){return Array.from(this._res.values())}get error(){return Array.from(this._err.values())}addRequest(e){let t=++this._seq;return this._req.set(t,e),()=>{this._req.delete(t)}}addResponse(e){let t=++this._seq;return this._res.set(t,e),()=>{this._res.delete(t)}}addError(e){let t=++this._seq;return this._err.set(t,e),()=>{this._err.delete(t)}}clear(){this._req.clear(),this._res.clear(),this._err.clear()}};function Uu(r){if(r){let n=r.spanContext(),s=n.traceFlags.toString(16).padStart(2,"0");return{traceparent:`00-${n.traceId}-${n.spanId}-${s}`,traceId:n.traceId,spanId:n.spanId}}let e=Lo(32),t=Lo(16);return{traceparent:`00-${e}-${t}-01`,traceId:e,spanId:t}}function Lo(r){return tt(r/2)}var $u=new Set(["authorization","proxy-authorization","cookie","set-cookie","x-api-key","x-auth-token","x-access-token","x-refresh-token","x-csrf-token","x-session-id","x-session-token","x-secret","x-secret-key","x-private-key","api-key","apikey","bearer","token","authentication","credentials","password","passwd","secret"]);function Fa(r,e){return $u.has(r.toLowerCase())?{name:r,value:"***REDACTED***"}:{name:r,value:e}}var Mo=class{constructor(e=1e4){h(this,"_buf",new Map);h(this,"_head",0);h(this,"_tail",0);h(this,"maxEntries");this.maxEntries=e}get entries(){return Array.from(this._buf.values())}record(e,t,n){let s=t.durationMs,o=0,i=s,a=0;try{if(typeof performance<"u"&&typeof performance.getEntriesByType=="function"){let u=performance.getEntriesByType("resource").filter(f=>f.name===t.url).pop();u&&u.requestStart>0&&(o=Math.max(0,u.responseStart-u.requestStart),a=Math.max(0,u.responseEnd-u.responseStart),i=Math.max(0,s-o-a))}}catch{}let c={startedDateTime:new Date(n).toISOString(),time:s,request:{method:e.method,url:e.url,httpVersion:t.httpVersion,headers:Object.entries(e.headers).map(([l,u])=>Fa(l,u)),queryString:(()=>{try{return Array.from(new URL(e.url).searchParams.entries()).map(([l,u])=>({name:l,value:u}))}catch{return[]}})(),bodySize:e.body?typeof e.body=="string"?new TextEncoder().encode(e.body).byteLength:e.body instanceof Uint8Array||e.body instanceof ArrayBuffer?e.body.byteLength:-1:0},response:{status:t.status,statusText:t.statusText,httpVersion:t.httpVersion,headers:Object.entries(t.headers).map(([l,u])=>Fa(l,u)),content:{size:t.rawBody?.byteLength??0,mimeType:t.headers["content-type"]??"application/octet-stream",...typeof t.data=="string"?{text:t.data}:{}},redirectURL:t.headers.location??"",bodySize:t.rawBody?.byteLength??0},timings:{send:o,wait:i,receive:a},cache:{}};this._buf.set(this._tail++,c),this._buf.size>this.maxEntries&&this._buf.delete(this._head++)}getHAR(){return{version:"1.2",creator:{name:"kinetex",version:"1.0.0",comment:`runtime:${me}`},entries:[...this.entries]}}clear(){this._buf.clear(),this._head=0,this._tail=0}get count(){return this._buf.size}};async function Wa(r,e){let t={...r.headers};switch(e.type){case"bearer":{let s=`Bearer ${typeof e.token=="function"?await e.token():e.token}`;if(!we(s))throw new S("Invalid bearer token \u2014 contains forbidden characters (CRLF/CTL)","EVALIDATION");t.authorization=s;break}case"basic":{let n=new TextEncoder,s=n.encode(e.username),o=n.encode(e.password),i=s.length+1+o.length,a=new Uint8Array(i);a.set(s),a.set(n.encode(":"),s.length),a.set(o,s.length+1);let c=$t(a);t.authorization=`Basic ${c}`,s.fill(0),o.fill(0),a.fill(0);break}case"apikey":{let n=typeof e.key=="function"?await e.key():e.key;if(!Me(e.header))throw new S(`Invalid apikey auth header name: "${e.header}"`,"EVALIDATION");if(!we(String(n)))throw new S(`Invalid apikey value for "${e.header}" \u2014 contains forbidden characters`,"EVALIDATION");t[e.header.toLowerCase()]=String(n);break}case"digest":break;case"custom":{let n=e.apply(r);if(!n)throw new Error("Custom auth 'apply' must return a KinetexRequest");return n}default:{let n=e;throw new Error(`Unknown auth type: ${n.type}`)}}return{...r,headers:t}}var Hu=new Set(["authorization","cookie","proxy-authorization","x-api-key","x-auth-token","x-access-token","x-refresh-token","x-csrf-token","x-session-id","x-session-token","x-secret","x-secret-key","x-private-key","api-key","apikey","www-authenticate"]);function Co(r){try{let e=new URL(r);return e.username||e.password?(e.username="",e.password="",e.toString()):r}catch{return r.replace(/\/\/[^/@]*@/,"//")}}function ir(r,e,t){let o;if(/^https?:\/\//i.test(e))o=e;else{let i=r??"";try{let a=i.replace(/\/$/,""),c=e.startsWith("/")?e.slice(1):e;o=new URL(c,a+"/").href}catch{let a=i.endsWith("/")?i:i+"/",c=e.startsWith("/")?e.slice(1):e;o=a+c}}if(!t||Object.keys(t).length===0){if(!Oe(o))throw new S(`URL "${Co(o)}" failed safety check \u2014 blocked private/loopback address or forbidden scheme`,"EVALIDATION");return o}try{let i=new URL(o),a=0;for(let[l,u]of Object.entries(t)){if(u==null)continue;let f=String(u);if(Array.isArray(u)){for(let p of u)if(p!=null){if(a++,a>100)throw new S(`Query parameter count ${a} exceeds limit of 100`,"EVALIDATION");i.searchParams.append(l,String(p))}}else{if(a++,a>100)throw new S(`Query parameter count ${a} exceeds limit of 100`,"EVALIDATION");i.searchParams.set(l,f)}}let c=i.toString();if(c.length>8192)throw new S(`URL length ${c.length} bytes exceeds limit of 8192 bytes`,"EVALIDATION");if(!Oe(c))throw new S(`URL "${Co(c)}" failed safety check \u2014 blocked private/loopback address or forbidden scheme`,"EVALIDATION");return c}catch(i){if(i instanceof S)throw i;o.includes("?")?o+="&":o+="?";let a=[],c=0;for(let[u,f]of Object.entries(t??{}))if(f!=null)if(Array.isArray(f)){for(let p of f)if(p!=null){if(c++,c>100)throw new S(`Query parameter count ${c} exceeds limit of 100`,"EVALIDATION");a.push(`${encodeURIComponent(u)}=${encodeURIComponent(String(p))}`)}}else{if(c++,c>100)throw new S(`Query parameter count ${c} exceeds limit of 100`,"EVALIDATION");a.push(`${encodeURIComponent(u)}=${encodeURIComponent(String(f))}`)}let l=o+a.join("&");if(l.length>8192)throw new S(`URL length ${l.length} bytes exceeds limit of 8192 bytes`,"EVALIDATION");if(!Oe(l))throw new S(`URL "${Co(l)}" failed safety check \u2014 blocked private/loopback address or forbidden scheme`,"EVALIDATION");return l}}function It(...r){let e=Object.create(null);for(let t of r){if(!t)continue;let n=Object.keys(t);for(let s of n){if(s==="__proto__"||s==="constructor"||s==="prototype")continue;if(!Me(s))throw new S(`Invalid header name: "${s}" \u2014 contains forbidden characters`,"EVALIDATION");let o=t[s];if(o==null)continue;let i=Array.isArray(o)?o.map(String).join(", "):String(o);if(!we(i))throw new S(`Invalid header value for ${s}: contains forbidden characters`,"EVALIDATION");e[s.toLowerCase()]=i}}return e}function Ka(r,e){if(e.attempt>r.maxRetries||!r.methods.includes(e.request.method))return!1;if(r.shouldRetry)return r.shouldRetry(e);if(e.error){let t=e.error,n=t.code;switch(n){case"EHTTPSTATUS":return r.statuses.includes(t.status??0);case"ETIMEOUT":return r.onTimeout===!0;case"ENETWORK":return r.onNetworkError;case"EABORT":return!1;case"ESIZELIMIT":return!1;case"EPARSE":return!1;case"EVALIDATION":return!1;case"EAUTH":return!1;case"EPROXY":return!1;case"EREDIRECT":return!1;case"EUNKNOWN":return!1;default:return!1}}return e.response?r.statuses.includes(e.response.status):!1}function vo(r,e,t){if(t!==null)return Math.min(t,r.maxDelayMs);let n=Math.min(e,31),s=r.baseDelayMs*Math.pow(2,n-1);if(!isFinite(s)||s>r.maxDelayMs)return r.maxDelayMs;let o=Math.min(s,r.maxDelayMs);return Math.floor(o+o*r.jitter*Math.random())}function ju(r){let e=r["retry-after"];if(!e)return null;if(/^\d+$/.test(e.trim())){let n=parseInt(e,10);return!isFinite(n)||n<0?null:Math.min(n,86400)*1e3}let t=Date.parse(e);return isNaN(t)?null:Math.max(0,Math.min(t-Date.now(),864e5))}var Lt=class r{constructor(e={}){h(this,"cfg");h(this,"transport");h(this,"interceptors");h(this,"harRecorder");h(this,"retryConfig");h(this,"_cache",null);h(this,"_cookieJar",null);h(this,"_logger",null);h(this,"_cacheInitLock",null);h(this,"_cookieJarInitLock",null);h(this,"_loggerInitLock",null);h(this,"_otelTracer",null);h(this,"_dedup",null);h(this,"_circuitBreakers",null);h(this,"_circuitBreakerKeyFn",null);h(this,"_wsClients",new Set);if(this.cfg=e,this.interceptors=new Io,this.harRecorder=e.har===!0?new Mo:null,this.retryConfig={...Nu,...e.retry},e.circuitBreakerKeyFn&&(this._circuitBreakerKeyFn=e.circuitBreakerKeyFn),e.rateLimit){let t=Bt(e.rateLimit);this.interceptors.addRequest(t)}if(e.awsSigning){let t=new ae(e.awsSigning);this.interceptors.addRequest(async n=>{let s=n.request,o=null;(s.body instanceof Uint8Array||typeof s.body=="string")&&(o=s.body);let i=await t.sign({method:s.method,url:s.url,headers:{...s.headers},body:o});n.request={...s,headers:i.headers}})}if(this.transport=Gt(e.fetch,e.httpVersion!=="HTTP/1.1",void 0,e.strictHeaders?{strict:!0}:void 0),e.interceptors&&(e.interceptors.request?.forEach(t=>this.interceptors.addRequest(t)),e.interceptors.response?.forEach(t=>this.interceptors.addResponse(t)),e.interceptors.error?.forEach(t=>this.interceptors.addError(t))),e.auth?.type==="digest"){let t=e.auth;this.interceptors.addResponse(async n=>{if(!n.response||n.response.status!==401)return;let s=n.response.headers["www-authenticate"];if(!s||!s.toLowerCase().startsWith("digest")||n.request.meta.__digestRetried)return;let o=n.request.method,i=new URL(n.request.url).pathname+new URL(n.request.url).search,a=await vr(s,t.username,t.password,o,i);return{...n.request,headers:{...n.request.headers,authorization:a},meta:{...n.request.meta,__digestRetried:!0}}})}}useRequest(e){return this.interceptors.addRequest(e)}attachHookRegistry(e){let t=this.useRequest(async o=>{let i={url:o.request.url,method:o.request.method,headers:o.request.headers,body:o.request.body,signal:o.request.signal,meta:o.request.meta},a={request:i,response:null,error:null,startedAt:o.startedAt,attempt:o.attempt,meta:o.request.meta},c=await e.runBeforeRequest(i,a);c!==i&&(o.request={...o.request,...c})}),n=this.useResponse(async o=>{if(!o.response)return;let i={status:o.response.status,statusText:o.response.statusText,headers:o.response.headers,body:o.response.rawBody??null,request:{url:o.request.url,method:o.request.method,headers:o.request.headers,body:o.request.body,signal:o.request.signal,meta:o.request.meta}},a={request:i.request,response:i,error:null,startedAt:o.startedAt,attempt:o.attempt,meta:o.request.meta};await e.runAfterResponse(i,a)}),s=this.useError(async o=>{if(!o.error)return;let i={error:o.error,request:{url:o.request.url,method:o.request.method,headers:o.request.headers,body:o.request.body,signal:o.request.signal,meta:o.request.meta},response:null,attempt:o.attempt},a={request:i.request,response:null,error:o.error,startedAt:o.startedAt,attempt:o.attempt,meta:o.request.meta};await e.runOnError(i,a)});return()=>{t(),n(),s()}}useResponse(e){return this.interceptors.addResponse(e)}useError(e){return this.interceptors.addError(e)}getHAR(){if(!this.harRecorder)throw new S("HAR recording not enabled. Pass `har: true` in config.","EUNKNOWN");return this.harRecorder.getHAR()}clearHAR(){this.harRecorder?.clear()}async getCache(){if(this._cache)return this._cache;if(!this.cfg.cache)return null;if(this._cacheInitLock)return await this._cacheInitLock,this._cache;let e=()=>{};this._cacheInitLock=new Promise(t=>{e=t});try{let{HTTPCache:t}=await Promise.resolve().then(()=>(jt(),Oi));return this._cache=new t(this.cfg.cache),this._cache}finally{e(),this._cacheInitLock=null}}async getCookieJar(){if(this._cookieJar)return this._cookieJar;if(!this.cfg.cookieJar)return null;if(this._cookieJarInitLock)return await this._cookieJarInitLock,this._cookieJar;if(this.cfg.cookieJar instanceof Object&&"setCookie"in this.cfg.cookieJar)return this._cookieJar=this.cfg.cookieJar,this._cookieJar;let e=()=>{};this._cookieJarInitLock=new Promise(t=>{e=t});try{let{CookieJar:t}=await Promise.resolve().then(()=>(Ks(),Pa));return this._cookieJar=new t,this._cookieJar}finally{e(),this._cookieJarInitLock=null}}async getLogger(){if(this._logger)return this._logger;if(!this.cfg.logger)return null;if(this._loggerInitLock)return await this._loggerInitLock,this._logger;let e=()=>{};this._loggerInitLock=new Promise(t=>{e=t});try{let{createLogger:t}=await Promise.resolve().then(()=>(tn(),Ma));return this._logger=t(this.cfg.logger),this._logger}finally{e(),this._loggerInitLock=null}}extend(e){let t=this.cfg.interceptors?.request??[],n=this.cfg.interceptors?.response??[],s=this.cfg.interceptors?.error??[],o=e.interceptors?.request??[],i=e.interceptors?.response??[],a=e.interceptors?.error??[],c=new r({...this.cfg,...e,headers:It(this.cfg.headers,e.headers),params:{...this.cfg.params,...e.params},interceptors:{request:[...t,...o],response:[...n,...i],error:[...s,...a]}}),l=new Set([...t,...o]),u=new Set([...n,...i]),f=new Set([...s,...a]);for(let p of this.interceptors.request)l.has(p)||c.useRequest(p);for(let p of this.interceptors.response)u.has(p)||c.useResponse(p);for(let p of this.interceptors.error)f.has(p)||c.useError(p);return this._circuitBreakers&&!c._circuitBreakers&&(c._circuitBreakers=this._circuitBreakers),this._dedup&&!c._dedup&&(c._dedup=this._dedup),this._otelTracer&&!c._otelTracer&&(c._otelTracer=this._otelTracer),c}setTracer(e){return this._otelTracer=e,this}enableDedup(e){return this._dedup=new Ie(e),this}disableDedup(){return this._dedup=null,this}get dedupMetrics(){return this._dedup?{hits:this._dedup.hits,misses:this._dedup.misses,inFlightCount:this._dedup.inFlightCount}:null}enableCircuitBreaker(e){return this._circuitBreakers=new Le(e),this}disableCircuitBreaker(){return this._circuitBreakers=null,this}tripCircuit(e){return this._circuitBreakers?.trip(e),this}resetCircuit(e){return this._circuitBreakers?.reset(e),this}get circuitSnapshots(){return this._circuitBreakers?.snapshots()??{}}async ws(e,t={}){let n=ir(this.cfg.baseURL,e,this.cfg.params),s=It(this.cfg.headers,t.headers),o={},i=this.cfg.auth;if(i){if(i.type==="bearer"){let d=typeof i.token=="function"?await i.token():i.token;o.authorization=`Bearer ${d}`}else if(i.type==="basic"){let d=new TextEncoder,g=d.encode(i.username),m=d.encode(i.password),y=new Uint8Array(g.length+1+m.length);y.set(g),y[g.length]=58,y.set(m,g.length+1);let b=$t(y);y.fill(0),g.fill(0),m.fill(0),o.authorization=`Basic ${b}`}else if(i.type==="apikey"){let d=typeof i.key=="function"?await i.key():i.key;o[i.header.toLowerCase()]=typeof d=="string"?d:await d}}let a=await this.getCookieJar();if(a){let d=a.getCookieHeader({url:n,http:!1});d&&(s.cookie=d)}try{let d=new URL(n);if(this.cfg.baseURL){let g=new URL(this.cfg.baseURL),m=d.protocol==="wss:",y=g.protocol==="https:";if(m!==y||d.host!==g.host)throw new S(`WebSocket origin ${d.origin} does not match baseURL origin ${g.origin}`,"EVALIDATION")}}catch(d){throw d instanceof S?d:new S(`Invalid WebSocket URL: ${d}`,"EVALIDATION")}if(this._circuitBreakers){let d=this._circuitBreakerKeyFn?this._circuitBreakerKeyFn({url:n,method:"GET",headers:s,body:null,signal:null,meta:{}}):new URL(n).origin;if(this._circuitBreakers.get(d).state==="OPEN")throw new S(`Circuit breaker is open for WebSocket origin ${new URL(n).origin}`,"ENETWORK")}let c=this.cfg.ws,l={...c?.highWaterMark!==void 0?{highWaterMark:c.highWaterMark}:{},...c?.lowWaterMark!==void 0?{lowWaterMark:c.lowWaterMark}:{},...c?.maxSendRate!==void 0?{maxSendRate:c.maxSendRate}:{},...c?.keepRooms!==void 0?{keepRooms:c.keepRooms}:{},...t},u=l.onClose,f=(d,g,m)=>{m||this._wsClients.delete(p),u?.(d,g,m)},p=new De({url:n,headers:{...o,...s},...l,onClose:f});return this._wsClients.add(p),await p.connect().catch(d=>{throw this._wsClients.delete(p),d}),p}async send(e,t,n={}){let s=hn(),o=Date.now(),i=n.timeout!==void 0?n.timeout:this.cfg.timeout??3e4,a=n.retry===!1?!1:{...this.retryConfig,...n.retry??{}},c=["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS","TRACE","CONNECT"],l=t.toUpperCase();if(!c.includes(l))throw new S(`Invalid HTTP method '${t}'. Valid methods: ${c.join(", ")}`,"EVALIDATION");let u=ir(n.baseURL??this.cfg.baseURL,e,zu(this.cfg.params,n.params));if(n.proxy??this.cfg.proxy)throw new S("proxy is configured but kinetex's built-in transports cannot route through it: HTTP(S) proxies require a custom fetch with a proxy agent (e.g. undici ProxyAgent passed via the `fetch` option), and SOCKS5 requires createSocks5Tunnel() from kinetex/socks5. Set up one of those instead of relying on `proxy` silently doing nothing.","EVALIDATION");if(this.cfg.httpsOnly)try{let _=new URL(u);if(_.protocol!=="https:")throw new S(`HTTPS-only mode enabled but URL uses ${_.protocol}. Use HTTPS URLs only.`,"EVALIDATION")}catch(_){throw _ instanceof S?_:new S(`Invalid URL: ${_}`,"EVALIDATION")}let p=n.maxRequestSize??this.cfg.maxRequestSize??0;if(p>0&&n.body){let _=0;if(typeof n.body=="string")_=new TextEncoder().encode(n.body).byteLength;else if(n.body instanceof Uint8Array)_=n.body.byteLength;else if(n.body instanceof ArrayBuffer)_=n.body.byteLength;else if(n.body instanceof Blob)_=n.body.size;else if(ArrayBuffer.isView(n.body))_=n.body.byteLength;else if(n.body instanceof URLSearchParams)_=new TextEncoder().encode(n.body.toString()).byteLength;else if(n.body instanceof FormData){for(let[O,H]of n.body)_+=new TextEncoder().encode(O).byteLength+76,typeof H=="string"?_+=new TextEncoder().encode(H).byteLength:_+=H.size;_+=76}else{if(n.body instanceof ReadableStream)throw new S("maxRequestSize cannot be enforced for ReadableStream bodies \u2014 pass maxRequestSize: 0 to opt out, or buffer the body first","EVALIDATION");n.body&&typeof n.body=="object"&&(_=new TextEncoder().encode(JSON.stringify(n.body)).byteLength)}if(_>p)throw new S(`Request body size ${_} bytes exceeds limit of ${p} bytes`,"EVALIDATION")}let d={url:u,method:t,headers:It(this.cfg.headers,n.headers),body:n.body??null,signal:n.signal??null,meta:{...n.meta},httpVersion:n.httpVersion??this.cfg.httpVersion??"HTTP/2"};d.body!==null&&typeof d.body=="object"&&!(d.body instanceof Uint8Array)&&!(d.body instanceof ArrayBuffer)&&!(d.body instanceof ReadableStream)&&!(d.body instanceof FormData)&&!(d.body instanceof URLSearchParams)&&!(d.body instanceof Blob)&&!d.headers["content-type"]&&(d={...d,headers:{...d.headers,"content-type":"application/json"},body:JSON.stringify(d.body)});let g=n.auth!==!1?n.auth??this.cfg.auth:void 0;g&&(d=await Wa(d,g)),this.cfg.transformRequest&&(d=await this.cfg.transformRequest(d));let m=await this.getCookieJar();if(m){let _=m.getCookieHeader({url:d.url,http:!0});_&&(d={...d,headers:{...d.headers,cookie:_}})}let y=null;if(this._otelTracer){y=this._otelTracer.startSpan(`HTTP ${d.method}`,{kind:3});let{traceparent:_,traceId:v,spanId:O}=Uu(y);y.setAttribute("http.request.method",d.method),y.setAttribute("url.full",d.url);try{y.setAttribute("server.address",new URL(d.url).hostname)}catch{}d={...d,headers:{...d.headers,traceparent:_},meta:{...d.meta,traceId:v,spanId:O}}}else if(d.meta.traceId&&!d.headers.traceparent){let _=String(d.meta.traceId),v=Lo(16);d={...d,headers:{...d.headers,traceparent:`00-${_}-${v}-01`},meta:{...d.meta,spanId:v}}}let b;if(this._circuitBreakerKeyFn)try{b=this._circuitBreakerKeyFn(d)}catch{b=d.url}else try{b=new URL(d.url).origin}catch{b=d.url}let x=()=>this._executeWithRetry(d,a,i,n,s,o),T=await $e(d.headers??{}),R=`${d.method}:${d.url}${T?":"+T:""}`,A=this._dedup?()=>this._dedup.execute(d.method,R,x).then(_=>_):x,U=this._circuitBreakers?()=>this._circuitBreakers.execute(b,A).then(_=>_):A;try{let _=await U();return y&&(y.setAttribute("http.response.status_code",_.status),y.setStatus({code:_.status<400?1:2}),y.end()),_}catch(_){throw y&&(y.setStatus({code:2,message:_ instanceof Error?_.message:String(_)}),_ instanceof Error&&y.recordException(_),y.end()),_}}async _executeWithRetry(e,t,n,s,o,i){let a=0;for(;;){if(a++,e.signal?.aborted)throw Oo();try{let c=await this._executeOnce(e,n,s,o,a,i,t);if(t&&a<=t.maxRetries){let l={request:e,response:c,error:null,attempt:a,maxRetries:t.maxRetries};if(t.shouldRetry?await t.shouldRetry(l):Ka(t,l)){let f=vo(t,a,ju(c.headers));await t.onRetry?.(l,f),await this.cfg.hooks?.onRetry?.reduce(async(p,d)=>{await p,await d(l)},Promise.resolve()),await Po(f,e.signal);continue}}return c}catch(c){if(t&&a<=t.maxRetries){let u={request:e,response:null,error:c,attempt:a,maxRetries:t.maxRetries};if(t.shouldRetry?await t.shouldRetry(u):Ka(t,u)){let p=vo(t,a,null);await t.onRetry?.(u,p),await Po(p,e.signal);continue}}let l=await this._runErrorInterceptors(e,c,a,o);if(l)return l;if(s.onError){let u=c instanceof S?c:new S(String(c),"EUNKNOWN",{request:e,cause:c});throw s.onError(u),u}throw c}}}async _sendFollowingRedirects(e,t,n,s){let i={...e,redirect:"manual"},a=(()=>{try{return new URL(e.url).origin}catch{return null}})(),c=new Set;for(let l=0;l<=20;l++){if(l>0&&s&&(()=>{try{return new URL(i.url).origin===a}catch{return!1}})()&&(i=await Wa(i,s)),l>0&&this.cfg.hooks?.onBeforeRequest)for(let p of this.cfg.hooks.onBeforeRequest){let d=await p(i,{request:i,response:null,error:null,startedAt:hn(),attempt:1,meta:i.meta});d&&(i={...d,redirect:"manual"})}let u=await Fe(this.transport,i,t);if(l>0){let p=await this.getLogger();if(p){let d=i.meta.requestId??"redirect";p.logResponse(d,u.status,u.statusText,u.headers,new Uint8Array(0),1,!1)}}if(u.status>=300&&u.status<400&&!!u.headers.location){if(c.has(u.url))throw new S(`Redirect loop detected: ${u.url}`,"ENETWORK",{request:e});if(c.add(u.url),n.processResponseHeaders(u.headers,{url:u.url}),l===20)throw new S("Too many redirects (exceeded 20)","ENETWORK",{request:e});if(u.body)try{await u.body.cancel()}catch{}let p=u.headers.location,d;try{let x=new URL(p,u.url);d=x.href;let T=x.protocol.toLowerCase();if(T!=="http:"&&T!=="https:")throw new S(`Unsafe redirect to ${T} detected \u2014 only HTTP(S) allowed`,"ENETWORK",{request:e})}catch(x){throw x instanceof S?x:new S(`Invalid redirect location: ${p}`,"ENETWORK",{request:e,cause:x})}let g=u.status===301||u.status===302||u.status===303?"GET":i.method,m=g==="GET"||g==="HEAD"?null:i.body,y=n.getCookieHeader({url:d,http:!0}),b={...i.headers};y?b.cookie=y:delete b.cookie;try{if(new URL(d).origin!==new URL(i.url).origin)for(let x of Hu)delete b[x]}catch{}i={...i,url:d,method:g,body:m,headers:b,redirect:"manual"};continue}return u}throw new S("Redirect loop","ENETWORK",{request:e})}async _executeOnce(e,t,n,s,o,i,a){let c={request:e,response:null,error:null,startedAt:s,attempt:o,aborted:!1,store:new Map},l=e.meta.requestId??`req-${o}-${Date.now()}`;if(this._trace(l,"request_interceptors","start",s,o),e=await this._runRequestInterceptors(c),this._trace(l,"request_interceptors","end",s,o),this._trace(l,"lifecycle_before","start",s,o),this.cfg.hooks?.onBeforeRequest)for(let k of this.cfg.hooks.onBeforeRequest){let P=await k(e,this._hookCtx(c));P&&(e=P)}if(this._trace(l,"lifecycle_before","end",s,o),n.cache!==!1&&this.cfg.cache){let k=await this.getCache();if(k){let P={url:e.url,method:e.method,headers:e.headers},C=await k.get(P);if(C&&!C.stale){let L=await this._buildResponse(C.entry.response,e,!0,o,s,n);if(this.cfg.hooks?.onBeforeResponse)for(let V of this.cfg.hooks.onBeforeResponse)await V(L,this._hookCtx(c));return L}if(C?.stale){if(await k.markSWRInFlight(P)){let D={...e,headers:{...e.headers,...k.buildConditionalHeaders(C.entry)}};(async()=>{try{let B=await Fe(this.transport,D,t),yn=await this.getCache();if(yn)if(B.status===304)await yn.revalidate({url:D.url,method:D.method,headers:D.headers},{status:304,statusText:"Not Modified",headers:B.headers,body:null});else{let{decompressBodyStream:Fc,readRawBody:Wc}=await Promise.resolve().then(()=>(Zt(),ka)),Kc=await Fc(B.body,B.headers),Vc=await Wc(Kc,0,B.url,D.signal);await yn.set({url:D.url,method:D.method,headers:D.headers},{status:B.status,statusText:B.statusText,headers:B.headers,body:Vc},{tags:n.tags??[]})}}catch(B){if(this.cfg.onSWRError)try{this.cfg.onSWRError(B,D)}catch{}}finally{(await this.getCache())?.clearSWRInFlight(P)}})()}return await this._buildResponse(C.entry.response,e,!0,o,s,n)}}}let u=[];n.onUploadProgress&&u.push(n.onUploadProgress),this.cfg.hooks?.onUploadProgress&&u.push(...this.cfg.hooks.onUploadProgress);let f=u.length>0?u:null,p=null;if(f!==null&&e.body!==null){let k=null,P=null;if(e.body instanceof ReadableStream)k=e.body;else if(typeof e.body=="string"){let C=new TextEncoder().encode(e.body);P=C.byteLength,k=new ReadableStream({start:L=>{L.enqueue(C),L.close()}})}else if(e.body instanceof Uint8Array)P=e.body.byteLength,k=new ReadableStream({start:C=>{C.enqueue(e.body),C.close()}});else if(e.body instanceof ArrayBuffer){let C=new Uint8Array(e.body);P=C.byteLength,k=new ReadableStream({start:L=>{L.enqueue(C),L.close()}})}else if(typeof Blob<"u"&&e.body instanceof Blob)P=e.body.size,k=e.body.stream();else if(typeof URLSearchParams<"u"&&e.body instanceof URLSearchParams){let C=new TextEncoder().encode(e.body.toString());P=C.byteLength,k=new ReadableStream({start:L=>{L.enqueue(C),L.close()}})}if(k){let{stream:C}=Nt(k,P,{onProgress:L=>{let V=L;for(let D of u)D(V)},...e.signal!==null?{signal:e.signal}:{}});p=C,e={...e,body:C}}}e.headers["accept-encoding"]||(e={...e,headers:{...e.headers,"accept-encoding":"gzip, deflate, br"}});let d=await this.getCookieJar();this._trace(l,"transport_send","start",s,o);let g;try{g=d?await this._sendFollowingRedirects(e,t,d,n.auth!==!1?n.auth??this.cfg.auth:void 0):await Fe(this.transport,e,t)}catch(k){if(p)try{p.cancel("Request failed").catch(()=>{})}catch{}throw k}if(this._trace(l,"transport_send","end",s,o),g.status===304){let k=await this.getCache();if(k){let P=await k.revalidate({url:e.url,method:e.method,headers:e.headers},{status:304,statusText:"Not Modified",headers:g.headers,body:null});if(P)return await this._buildResponse(P.response,e,!0,o,s,n)}}g.alreadyDecompressed&&(delete g.headers["content-encoding"],delete g.headers["Content-Encoding"]);let m=await Yt(g.body,g.headers),y=[];n.onDownloadProgress&&y.push(n.onDownloadProgress),this.cfg.hooks?.onDownloadProgress&&y.push(...this.cfg.hooks.onDownloadProgress);let b=y.length>0?y:null,x=m;if(b&&x){let k=g.headers["content-length"],P=k?parseInt(k,10):null,C=new W(P&&!isNaN(P)?P:null,{onProgress:L=>{let V=L;for(let D of y)D(V)},...e.signal!==null?{signal:e.signal}:{}});x=new ReadableStream({async start(L){let V=x.getReader();try{for(;;){let{done:D,value:B}=await V.read();if(D){C.complete(),L.close();break}C.update(B.byteLength),L.enqueue(B)}}catch(D){L.error(D)}finally{V.releaseLock()}},cancel(){x?.cancel()}})}let T=n.maxResponseSize??this.cfg.maxResponseSize??0,R=await Xt(x,T,g.url,e.signal),A=await this.getCookieJar();A&&A.processResponseHeaders(g.headers,{url:g.url});let U=g.headers["content-type"]??null;this._trace(l,"response_parse","start",s,o);let _=await gt(R,U,n.parseResponse,n.parseFailure,g.headers,g.url);this._trace(l,"response_parse","end",s,o);let v=hn()-s,O={status:g.status,statusText:g.statusText,headers:g.headers,data:this.cfg.transformResponse?this.cfg.transformResponse(_,{}):_,rawBody:R,url:g.url,cached:!1,redirected:g.redirected,httpVersion:g.httpVersion,durationMs:v,request:e,attempt:o};if(n.cache!==!1&&this.cfg.cache){let k=await this.getCache();k&&g.status!==304&&await k.set({url:e.url,method:e.method,headers:e.headers},{status:g.status,statusText:g.statusText,headers:g.headers,body:R},{tags:n.tags??[]})}let H=await this.getLogger();if(H){let k=c.store.get("requestId")??e.meta.requestId??"unknown";H.logResponse(k,O.status,O.statusText,O.headers,R,o,!1)}this.harRecorder?.record(e,O,i??Date.now()-O.durationMs),c.response=O,this._trace(l,"response_interceptors","start",s,o);let j=await this._runResponseInterceptors(c,O,e,t,n,s,o,a??!1);if(this._trace(l,"response_interceptors","end",s,o),this.cfg.hooks?.onBeforeResponse){let k=j;for(let P of this.cfg.hooks.onBeforeResponse){let C=await P(k,this._hookCtx(c));C&&(k=C)}}if((n.throwOnError??this.cfg.throwOnError??!0)&&j.status>=400)throw new ot(j,e);if(this.cfg.hooks?.onAfterResponse)for(let k of this.cfg.hooks.onAfterResponse)await k(j,this._hookCtx(c));return n.onSuccess?.(j),j}async _runRequestInterceptors(e){let t=e.request;for(let n of this.interceptors.request){e.request=t;let s=await n(e);s&&"url"in s&&!("status"in s)?t=s:e.request!==t&&(t=e.request)}return e.request=t,t}async _runResponseInterceptors(e,t,n,s,o,i,a,c){let l=t;for(let u of this.interceptors.response){let f=await u(e);if(f){if("status"in f&&"headers"in f)l=f;else if("url"in f&&"method"in f&&!("status"in f)){if(c&&a<=c.maxRetries){let p={request:n,response:t,error:null,attempt:a,maxRetries:c.maxRetries},d=vo(c,a,0);await c.onRetry?.(p,d),await this.cfg.hooks?.onRetry?.reduce(async(g,m)=>{await g,await m(p)},Promise.resolve()),await Po(d,n.signal)}return this._executeOnce(f,s,o,i,a+1,void 0,c)}}}return l}async _runErrorInterceptors(e,t,n,s){let o={request:e,response:null,error:t,startedAt:s,attempt:n,aborted:!1,store:new Map};for(let i of this.interceptors.error){let a=await i(o);if(a&&"status"in a)return a}if(this.cfg.hooks?.onError)for(let i of this.cfg.hooks.onError){let a=await i(t,this._hookCtx(o));if(a)return a}return null}async _buildResponse(e,t,n,s,o,i){let a=e.body,c=a instanceof Uint8Array?a:typeof a=="string"?new TextEncoder().encode(a):null,l=c?await gt(c,e.headers["content-type"]??null,i.parseResponse,i.parseFailure,e.headers,"url"in e?e.url:t.url):null,u=hn()-o,f="url"in e?e.url:t.url,p="redirected"in e?e.redirected:!1,d="httpVersion"in e?e.httpVersion:"HTTP/1.1";return{status:e.status,statusText:e.statusText,headers:e.headers,data:l,rawBody:c,url:f,cached:n,redirected:p,httpVersion:d,durationMs:u,request:t,attempt:s}}_hookCtx(e){return{request:e.request,response:e.response,error:e.error,startedAt:e.startedAt,attempt:e.attempt,meta:e.request.meta}}_trace(e,t,n,s,o,i){if(this.cfg.onPipelineTrace)try{console.debug("[kinetex:trace]",e,t,n,o),this.cfg.onPipelineTrace({requestId:e,stage:t,event:n,elapsedMs:typeof performance<"u"?performance.now()-s:Date.now()-s,attempt:o,...i})}catch{}}get(e,t){return this.send(e,"GET",t)}post(e,t,n){return this.send(e,"POST",{...n,...t!==void 0?{body:t}:{}})}put(e,t,n){return this.send(e,"PUT",{...n,...t!==void 0?{body:t}:{}})}patch(e,t,n){return this.send(e,"PATCH",{...n,...t!==void 0?{body:t}:{}})}delete(e,t){return this.send(e,"DELETE",t)}head(e,t){return this.send(e,"HEAD",t)}options(e,t){return this.send(e,"OPTIONS",t)}request(e,t){return new ar(this,e,t)}GET(e){return this.request("GET",e)}POST(e){return this.request("POST",e)}PUT(e){return this.request("PUT",e)}PATCH(e){return this.request("PATCH",e)}DELETE(e){return this.request("DELETE",e)}async sse(e,t={}){let{SSEClient:n}=await Promise.resolve().then(()=>(sr(),to)),s=It(this.cfg.headers,t.headers),o=ir(this.cfg.baseURL,e,this.cfg.params),i=async(a,c)=>{let l=typeof a=="string"?a:a.url,u=c,f=await this.send(l,u.method??"GET",{headers:u.headers,body:u.body,signal:u.signal,throwOnError:!1,parseResponse:d=>d}),p={...f.headers};return delete p["content-encoding"],delete p["Content-Encoding"],new Response(f.rawBody?.buffer??null,{status:f.status,headers:p})};return new n({url:o,headers:s,fetch:i,...t})}async graphql(e,t={}){let{GraphQLClient:n}=await Promise.resolve().then(()=>(an(),qa)),s=It(this.cfg.headers,t.headers),o=ir(this.cfg.baseURL,e,this.cfg.params),i=async(a,c)=>{let l=typeof a=="string"?a:a.url,u=c,f=await this.send(l,u.method??"POST",{headers:u.headers,body:u.body,signal:u.signal,throwOnError:!1,parseResponse:d=>d}),p={...f.headers};return delete p["content-encoding"],delete p["Content-Encoding"],new Response(f.rawBody?.buffer??null,{status:f.status,headers:p})};return new n({url:o,headers:s,fetch:i,...t})}async paginate(e,t){let{createPagePaginator:n}=await Promise.resolve().then(()=>(un(),Ba)),s=ir(this.cfg.baseURL,e,this.cfg.params);return n({url:s,fetch:async(i,a)=>{let c=typeof i=="string"?i:i.url,l=a,u=await this.send(c,l.method??"GET",{headers:l.headers,body:l.body,signal:l.signal,throwOnError:!1,parseResponse:p=>p}),f={...u.headers};return delete f["content-encoding"],delete f["Content-Encoding"],new Response(u.rawBody?.buffer??null,{status:u.status,headers:f})},headers:It(this.cfg.headers),...t})}async destroy(){for(let e of this._wsClients)try{e.close(1e3,"Client destroyed")}catch{}if(this._wsClients.clear(),this._cache)try{await this._cache.clear()}catch{}Be&&this.transport&&"destroy"in this.transport&&this.transport.destroy(),this._cookieJar=null,this._logger=null,this._dedup?.clear(),this._circuitBreakers?.clear?.(),this._otelTracer=null,this.interceptors.clear()}},ar=class{constructor(e,t,n){h(this,"client");h(this,"method");h(this,"_options",{});h(this,"_url");this.client=e,this.method=t,this._url=n}header(e,t){return this._options.headers={...this._options.headers,[e.toLowerCase()]:t},this}headers(e){return this._options.headers={...this._options.headers,...e},this}param(e,t){return this._options.params={...this._options.params,[e]:t},this}params(e){return this._options.params={...this._options.params,...e},this}withBody(e){return this._options.body=e,this}withJSON(e){return this._options.body=JSON.stringify(e),this._options.headers={...this._options.headers,"content-type":"application/json"},this}withForm(e){return this._options.body=e,this}bearer(e){return this._options.auth={type:"bearer",token:e},this}basic(e,t){return this._options.auth={type:"basic",username:e,password:t},this}apiKey(e,t){return this._options.auth={type:"apikey",header:e,key:t},this}digest(e,t){return this._options.auth={type:"digest",username:e,password:t},this}noAuth(){return this._options.auth=!1,this}retry(e,t){return this._options.retry={maxRetries:e,...t},this}noRetry(){return this._options.retry=!1,this}timeout(e){return this._options.timeout=e,this}proxy(e){return this._options.proxy=e,this}cache(e){return this._options.cache=e,this}noCache(){return this._options.cache={forceRefresh:!0},this}onUploadProgress(e){return this._options.onUploadProgress=e,this}onDownloadProgress(e){return this._options.onDownloadProgress=e,this}signal(e){return this._options.signal=e,this}maxSize(e){return this._options.maxResponseSize=e,this}http2(){return this._options.httpVersion="HTTP/2",this}http1(){return this._options.httpVersion="HTTP/1.1",this}noThrow(){return this._options.throwOnError=!1,this}tags(...e){return this._options.tags=e,this}meta(e){return this._options.meta={...this._options.meta,...e},this}send(){return this.client.send(this._url,this.method,this._options)}async data(){return(await this.client.send(this._url,this.method,this._options)).data}async json(){let e={...this._options};return e.headers={...e.headers,accept:"application/json"},(await this.client.send(this._url,this.method,e)).data}async text(){let e={...this._options};return e.parseResponse=n=>new TextDecoder("utf-8").decode(n),(await this.client.send(this._url,this.method,e)).data}async bytes(){let e={...this._options};return e.parseResponse=n=>n,(await this.client.send(this._url,this.method,e)).data}async blob(){let e=await this.bytes(),t="application/octet-stream";if(typeof Blob>"u")throw new S("Blob is not available in this runtime","EUNKNOWN");return new Blob([e.buffer],{type:t})}subscribe(e,t){this.client.send(this._url,this.method,{...this._options,onSuccess:e,...t!==void 0?{onError:t}:{}}).catch(n=>t?.(n instanceof S?n:new S(String(n),"EUNKNOWN")))}};function Oo(){if(typeof DOMException<"u")return new DOMException("Aborted","AbortError");let r=new Error("Aborted");return r.name="AbortError",r}function zu(r,e){if(!(!r&&!e))return{...r,...e}}function Po(r,e){return new Promise((t,n)=>{if(e?.aborted){n(Oo());return}let s=()=>{clearTimeout(o),n(Oo())},o=setTimeout(()=>{e?.removeEventListener("abort",s),t()},r);e?.addEventListener("abort",s,{once:!0})})}function hn(){return typeof performance<"u"?performance.now():Date.now()}function Va(r){try{return`${r.method}:${new URL(r.url).origin}`}catch{return`${r.method}:${r.url}`}}var fn=class{constructor(e,t={}){h(this,"_client");h(this,"_maxBatch");h(this,"_flushMs");h(this,"_queue",[]);h(this,"_timer",null);this._client=e,this._maxBatch=t.maxBatch??100,this._flushMs=t.flushMs??0}enqueue(e,t="GET",n={}){return new Promise((s,o)=>{let i={url:e,method:t,options:n,resolve:s,reject:o};this._queue.push(i);let a=n.signal;if(a){let c=()=>{let l=this._queue.indexOf(i);l!==-1&&(this._queue.splice(l,1),o(new S("Request aborted while queued","EABORT")))};if(i._abortCleanup=()=>a.removeEventListener("abort",c),a.addEventListener("abort",c,{once:!0}),a.aborted){a.removeEventListener("abort",c);let l=this._queue.indexOf(i);l!==-1&&this._queue.splice(l,1),o(new S("Request aborted before flush","EABORT"));return}}this._queue.length>=this._maxBatch?this._flushNow():this._timer||(this._flushMs===0?queueMicrotask(()=>{this._timer=null,this._flushNow()}):this._timer=setTimeout(()=>this._flushNow(),this._flushMs))})}flush(){for(;this._queue.length>0;)this._flushNow()}get pendingCount(){return this._queue.length}_flushNow(){if(this._timer!==null&&(clearTimeout(this._timer),this._timer=null),this._queue.length===0)return;let e=this._queue.splice(0,this._maxBatch);for(let t of e){let n=o=>{t._abortCleanup?.(),t.resolve(o)},s=o=>{t._abortCleanup?.(),t.reject(o)};try{this._client.send(t.url,t.method,t.options).then(n,s)}catch(o){s(o)}}}};jt();Xr();Zt();an();Wt();var cr=class{constructor(){h(this,"listeners",new Map)}on(e,t){let n=this.listeners.get(e)??[];return n.push({fn:t,once:!1}),this.listeners.set(e,n),this}once(e,t){let n=this.listeners.get(e)??[];return n.push({fn:t,once:!0}),this.listeners.set(e,n),this}off(e,t){let n=this.listeners.get(e);return n?(this.listeners.set(e,n.filter(s=>s.fn!==t)),this):this}async emit(e,t){let n=this.listeners.get(e);if(!n||n.length===0)return;let s=new Set;for(let o=0;o<n.length;o++){let i=n[o];try{await i.fn(t)}catch{}i.once&&s.add(o)}if(s.size>0){let o=n.filter((i,a)=>!s.has(a));this.listeners.set(e,o)}}removeAllListeners(e){return e?this.listeners.delete(e):this.listeners.clear(),this}},qu=0;function Bu(){return`hook_${++qu}`}function X(r){return[...r].sort((e,t)=>e.priority-t.priority)}var dn=class{constructor(){h(this,"beforeRequest",[]);h(this,"afterRequest",[]);h(this,"beforeResponse",[]);h(this,"afterResponse",[]);h(this,"onError",[]);h(this,"onRetry",[]);h(this,"onRedirect",[]);h(this,"onUploadProgress",[]);h(this,"onDownloadProgress",[]);h(this,"onCancel",[]);h(this,"onConnection",[]);h(this,"aroundHooks",[]);h(this,"emitter",new cr)}addBeforeRequest(e,t={}){return this._add(this.beforeRequest,e,t)}addAfterRequest(e,t={}){return this._add(this.afterRequest,e,t)}addBeforeResponse(e,t={}){return this._add(this.beforeResponse,e,t)}addAfterResponse(e,t={}){return this._add(this.afterResponse,e,t)}addOnError(e,t={}){return this._add(this.onError,e,t)}addOnRetry(e,t={}){return this._add(this.onRetry,e,t)}addOnRedirect(e,t={}){return this._add(this.onRedirect,e,t)}addOnUploadProgress(e,t={}){return this._add(this.onUploadProgress,e,t)}addOnDownloadProgress(e,t={}){return this._add(this.onDownloadProgress,e,t)}addOnCancel(e,t={}){return this._add(this.onCancel,e,t)}addOnConnection(e,t={}){return this._add(this.onConnection,e,t)}addAround(e,t={}){return this._add(this.aroundHooks,e,t)}remove(e){let t=!1,n=[this.beforeRequest,this.afterRequest,this.beforeResponse,this.afterResponse,this.onError,this.onRetry,this.onRedirect,this.onUploadProgress,this.onDownloadProgress,this.onCancel,this.onConnection,this.aroundHooks];for(let s of n){let o=s.length,i=s.filter(a=>a.id!==e);i.length<o&&(s.length=0,s.push(...i),t=!0)}return t}removeAll(){this.beforeRequest.length=0,this.afterRequest.length=0,this.beforeResponse.length=0,this.afterResponse.length=0,this.onError.length=0,this.onRetry.length=0,this.onRedirect.length=0,this.onUploadProgress.length=0,this.onDownloadProgress.length=0,this.onCancel.length=0,this.onConnection.length=0,this.aroundHooks.length=0}has(e){return[this.beforeRequest,this.afterRequest,this.beforeResponse,this.afterResponse,this.onError,this.onRetry,this.onRedirect,this.onUploadProgress,this.onDownloadProgress,this.onCancel,this.onConnection,this.aroundHooks].some(n=>n.some(s=>s.id===e))}async runBeforeRequest(e,t){let n=e;for(let s of X(this.beforeRequest)){if(!this._shouldRun(s,t))continue;let o=await this._safeRun(s,()=>s.fn(n,t));o&&typeof o=="object"&&"url"in o&&(n=o),this._maybeEject(s,this.beforeRequest)}return await this.emitter.emit("before:request",n),n}async runAfterRequest(e,t){for(let n of X(this.afterRequest))this._shouldRun(n,t)&&(await this._safeRun(n,()=>n.fn(e,t)),this._maybeEject(n,this.afterRequest));await this.emitter.emit("after:request",e)}async runBeforeResponse(e,t){let n=e;for(let s of X(this.beforeResponse)){if(!this._shouldRun(s,t))continue;let o=await this._safeRun(s,()=>s.fn(n,t));o&&typeof o=="object"&&"status"in o&&(n=o),this._maybeEject(s,this.beforeResponse)}return await this.emitter.emit("before:response",n),n}async runAfterResponse(e,t){for(let n of X(this.afterResponse))this._shouldRun(n,t)&&(await this._safeRun(n,()=>n.fn(e,t)),this._maybeEject(n,this.afterResponse));await this.emitter.emit("after:response",e)}async runOnError(e,t){for(let n of X(this.onError)){if(!this._shouldRun(n,t))continue;let s=await this._safeRun(n,()=>n.fn(e,t));if(this._maybeEject(n,this.onError),s&&typeof s=="object"&&"status"in s)return s}return await this.emitter.emit("error",e),null}async runOnRetry(e,t){for(let n of X(this.onRetry))this._shouldRun(n,t)&&(await this._safeRun(n,()=>n.fn(e,t)),this._maybeEject(n,this.onRetry));await this.emitter.emit("retry",e)}async runOnRedirect(e,t){let n=!0;for(let s of X(this.onRedirect)){if(!this._shouldRun(s,t))continue;let o=await this._safeRun(s,()=>s.fn(e,t));if(this._maybeEject(s,this.onRedirect),o===!1){n=!1;break}}return await this.emitter.emit("redirect",e),n}runOnUploadProgress(e,t){for(let n of X(this.onUploadProgress))if(this._shouldRun(n,t)){try{n.fn(e,t)}catch{}this._maybeEject(n,this.onUploadProgress)}this.emitter.emit("upload:progress",e)}runOnDownloadProgress(e,t){for(let n of X(this.onDownloadProgress))if(this._shouldRun(n,t)){try{n.fn(e,t)}catch{}this._maybeEject(n,this.onDownloadProgress)}this.emitter.emit("download:progress",e)}runOnCancel(e,t){for(let n of X(this.onCancel)){try{n.fn(e,t)}catch{}this._maybeEject(n,this.onCancel)}this.emitter.emit("cancel",e)}runOnConnection(e){for(let t of X(this.onConnection)){try{t.fn(e)}catch{}this._maybeEject(t,this.onConnection)}this.emitter.emit("connection",e)}wrapWithAround(e,t){let n=X(this.aroundHooks).reverse(),s=t;for(let o of n){let i=s;s=()=>{if(!this._shouldRun(o,e))return i();let a=o.fn(e,i);return this._maybeEject(o,this.aroundHooks),a}}return s}_add(e,t,n){let s=n.id??Bu();return e.push({id:s,priority:n.priority??0,once:n.once??!1,condition:n.condition??null,safe:n.safe??!1,fn:t}),s}_shouldRun(e,t){return e.condition?e.condition(t):!0}async _safeRun(e,t){try{return await t()}catch(n){if(!e.safe)throw n;console.error(`[lifecycle] Hook "${e.id}" threw:`,n);return}}_maybeEject(e,t){if(!e.once)return;let n=t.indexOf(e);n!==-1&&t.splice(n,1)}};var pn=class{constructor(e=10){h(this,"maxRedirects");h(this,"count",0);this.maxRedirects=e}record(e,t,n,s){if(this.count++,this.count>this.maxRedirects)throw new lr(this.count,e);return{from:e,to:t,status:n,count:this.count,request:s}}get redirectCount(){return this.count}reset(){this.count=0}},lr=class extends Error{constructor(t,n){super(`Too many redirects (${t}) at ${n}`);h(this,"count");h(this,"url");h(this,"code","ETOOMANYREDIRECTS");this.count=t,this.url=n,this.name="TooManyRedirectsError"}};function Ja(r){return async e=>(await r(e),e)}function Qa(r){return async e=>({...e,headers:{...e.headers,...typeof r=="function"?await r():r}})}function Ga(r){return e=>{if(/^https?:\/\//i.test(e.url))return;let t=r.endsWith("/")||e.url.startsWith("/")?"":"/";return{...e,url:`${r}${t}${e.url}`}}}function Xa(r=e=>e>=400){return e=>{if(e.response&&r(e.response.status))throw new ur(e.response.status,e.response.statusText,e.response)}}function Ya(r){return e=>{let t=r(e);if(t===!0)return;let n=typeof t=="string"?t:`Response validation failed (status ${e.status})`;throw new hr(n,e)}}var ur=class extends Error{constructor(t,n,s){super(`HTTP ${t}: ${n}`);h(this,"status");h(this,"statusText");h(this,"response");h(this,"code","EHTTPERROR");this.status=t,this.statusText=n,this.response=s,this.name="HTTPError"}},hr=class extends Error{constructor(t,n){super(t);h(this,"response");h(this,"code","EVALIDATION");this.response=n,this.name="ResponseValidationError"}};function Za(...r){return async(e,t)=>{let n=e;for(let s of r){let o=await s(n,t);o&&typeof o=="object"&&"url"in o&&(n=o)}return n}}function ec(...r){return async(e,t)=>{let n=e;for(let s of r){let o=await s(n,t);o&&typeof o=="object"&&"status"in o&&(n=o)}return n}}function tc(...r){return(e,t)=>r.reduceRight((s,o)=>()=>o(e,s),t)()}function rc(r={}){let e=r.logger??((s,o)=>console.log(s,JSON.stringify(o))),t=new Set((r.redactHeaders??["authorization","cookie"]).map(s=>s.toLowerCase()));function n(s){let o={};for(let[i,a]of Object.entries(s))o[i]=t.has(i.toLowerCase())?"***":a;return o}return{beforeRequest:s=>{e("\u2192 request",{method:s.method,url:s.url,headers:n(s.headers)})},afterResponse:s=>{e("\u2190 response",{status:s.status,url:s.request.url,headers:n(s.headers)})},onError:s=>{e("\u2717 error",{url:s.request.url,error:s.error instanceof Error?s.error.message:String(s.error),status:s.response?.status??null})}}}function nc(){let r="__kinetex_timing__";return{beforeRequest:(e,t)=>{t.meta[r]=Do()},afterResponse:(e,t)=>{let n=t.meta[r],s=n!==void 0?Do()-n:null;s!==null&&(t.meta.durationMs=s)}}}function sc(r="utf-8"){return e=>{if(e.body instanceof Uint8Array)return{...e,body:new TextDecoder(r).decode(e.body)}}}function oc(){return{beforeRequest:(r,e)=>{if(r.signal?.aborted)throw e.meta.aborted=!0,Fu("Request aborted before sending")},onCancel:r=>{console.debug(`[lifecycle] Request cancelled: ${r.request.url}`,r.reason)}}}function Fu(r){if(typeof DOMException<"u")return new DOMException(r,"AbortError");let e=new Error(r);return e.name="AbortError",e}function Do(){return typeof performance<"u"?performance.now():Date.now()}function ic(r,e={}){return{request:r,response:null,error:null,startedAt:Do(),attempt:1,meta:{},...e}}tn();un();Kr();var Mt={NoAuth:0,GSSAPI:1,UserPassword:2,NoAcceptable:255},re={IPv4:1,Domain:3,IPv6:4},Wu={Connect:1,Bind:2,UdpAssociate:3},Y={Succeeded:0,GeneralFailure:1,ConnNotAllowed:2,NetworkUnreachable:3,HostUnreachable:4,ConnRefused:5,TtlExpired:6,CmdNotSupported:7,AddrTypeNotSupported:8},Ku={[Y.Succeeded]:"Succeeded",[Y.GeneralFailure]:"General SOCKS server failure",[Y.ConnNotAllowed]:"Connection not allowed by ruleset",[Y.NetworkUnreachable]:"Network unreachable",[Y.HostUnreachable]:"Host unreachable",[Y.ConnRefused]:"Connection refused",[Y.TtlExpired]:"TTL expired",[Y.CmdNotSupported]:"Command not supported",[Y.AddrTypeNotSupported]:"Address type not supported"},I=class extends Error{constructor(t,n,s=!1){super(t);h(this,"code");h(this,"retriable");this.code=n,this.retriable=s,this.name="Socks5Error"}};function Vu(r){let e=Ku[r]??`Unknown reply code 0x${r.toString(16)}`,t=r===Y.NetworkUnreachable||r===Y.TtlExpired;return new I(`SOCKS5 proxy error: ${e}`,`SOCKS5_REPLY_${r}`,t)}var Uo=class{constructor(e,t){h(this,"conn");h(this,"timeoutMs");h(this,"buf",new Uint8Array(0));this.conn=e,this.timeoutMs=t}async readExact(e){for(;this.buf.length<e;){let n=new Uint8Array(4096),o=await ac(this.conn.read(n),this.timeoutMs,"SOCKS5 handshake read timed out");if(o===null||o===0)throw new I("Connection closed during SOCKS5 handshake","SOCKS5_EOF");let i=new Uint8Array(this.buf.length+o);i.set(this.buf),i.set(n.subarray(0,o),this.buf.length),this.buf=i}let t=this.buf.slice(0,e);return this.buf=this.buf.slice(e),t}};function ac(r,e,t){return new Promise((n,s)=>{let o=setTimeout(()=>s(new I(t,"SOCKS5_TIMEOUT",!0)),e);r.then(i=>{clearTimeout(o),n(i)},i=>{clearTimeout(o),s(i)})})}function Ju(r,e){let t=r.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);if(t){let o=t.slice(1).map(Number);if(o.every(i=>i>=0&&i<=255))return new Uint8Array([re.IPv4,...o])}let n=r.startsWith("[")&&r.endsWith("]")?r.slice(1,-1):r;if(Qu(n)){let o=Gu(n);return new Uint8Array([re.IPv6,...o])}e||console.warn("[socks5] remoteDns=false but got a hostname; sending as DOMAINNAME");let s=new TextEncoder().encode(r);if(s.length>255)throw new I("Hostname too long for SOCKS5 (max 255 bytes)","SOCKS5_ADDR_TOO_LONG");return new Uint8Array([re.Domain,s.length,...s])}function Qu(r){return r.includes(":")}function Gu(r){let e=r.split("::"),t=o=>o?o.split(":").map(i=>parseInt(i||"0",16)):[],n;if(e.length===2){let o=t(e[0]),i=t(e[1]),a=new Array(8-o.length-i.length).fill(0);n=[...o,...a,...i]}else n=t(r);if(n.length!==8)throw new I(`Invalid IPv6 address: ${r}`,"SOCKS5_INVALID_ADDR");for(let o of n)if(o<0||o>65535)throw new I(`Invalid IPv6 group: ${o} out of range (0-65535)`,"SOCKS5_INVALID_ADDR");let s=[];for(let o of n)s.push(o>>8&255,o&255);return s}function No(r,e){if(r===re.IPv4)return Array.from(e).join(".");if(r===re.IPv6){let t=[];for(let n=0;n<16;n+=2)t.push((e[n]<<8|e[n+1]).toString(16));return t.join(":")}return new TextDecoder().decode(e)}async function Xu(r,e,t){let n=new Uo(r,t.handshakeTimeoutMs),s=!!(t.username&&t.password),o=s?[Mt.NoAuth,Mt.UserPassword]:[Mt.NoAuth],i=new Uint8Array([5,o.length,...o]);await r.write(i);let a=await n.readExact(2);if(a[0]!==5)throw new I(`Unexpected SOCKS version in method response: ${a[0]}`,"SOCKS5_BAD_VERSION");let c=a[1];if(c===Mt.NoAcceptable)throw new I("SOCKS5 proxy rejected all authentication methods","SOCKS5_NO_ACCEPTABLE_METHOD");if(c===Mt.UserPassword){if(!s)throw new I("SOCKS5 proxy requires username/password but none provided","SOCKS5_AUTH_REQUIRED");await Yu(r,n,t.username,t.password)}else if(c!==Mt.NoAuth)throw new I(`SOCKS5 proxy chose unsupported auth method: 0x${c.toString(16)}`,"SOCKS5_UNSUPPORTED_METHOD");let l=Ju(e.host,t.remoteDns),u=e.port,f=[u>>8&255,u&255],p=new Uint8Array([5,Wu.Connect,0,...l,...f]);await r.write(p);let d=await n.readExact(4);if(d[0]!==5)throw new I(`Unexpected SOCKS version in reply: ${d[0]}`,"SOCKS5_BAD_VERSION");if(d[1]!==Y.Succeeded)throw Vu(d[1]);let g=d[3],m,y;if(g===re.IPv4)y=await n.readExact(4),m=No(re.IPv4,y);else if(g===re.IPv6)y=await n.readExact(16),m=No(re.IPv6,y);else if(g===re.Domain){let T=await n.readExact(1);y=await n.readExact(T[0]),m=No(re.Domain,y)}else throw new I(`Unsupported bound address type in reply: 0x${g.toString(16)}`,"SOCKS5_UNSUPPORTED_ADDR_TYPE");let b=await n.readExact(2),x=b[0]<<8|b[1];return{boundAddr:m,boundPort:x}}async function Yu(r,e,t,n){let s=new TextEncoder,o=s.encode(t),i=s.encode(n);if(o.length>255||i.length>255)throw new I("Username or password too long (max 255 bytes)","SOCKS5_AUTH_TOO_LONG");let a=new Uint8Array([1,o.length,...o,i.length,...i]);await r.write(a);let c=await e.readExact(2);if(c[0]!==1&&c[0]!==5)throw new I(`Unexpected auth sub-negotiation version: ${c[0]}`,"SOCKS5_BAD_AUTH_VERSION");if(c[1]!==0)throw new I("SOCKS5 authentication failed (invalid credentials)","SOCKS5_AUTH_FAILED")}async function Zu(r,e,t){let n;for(let s=0;s<=e;s++)try{return await r()}catch(o){if(n=o,!(o instanceof I&&o.retriable)||s===e)break;await eh(t*Math.pow(2,s))}throw n}function eh(r){return new Promise(e=>setTimeout(e,r))}function th(r){return{host:r.host,port:r.port??1080,username:r.username??"",password:r.password??"",remoteDns:r.remoteDns??!0,connectTimeoutMs:r.connectTimeoutMs??1e4,handshakeTimeoutMs:r.handshakeTimeoutMs??1e4,maxRetries:r.maxRetries??2,retryDelayMs:r.retryDelayMs??300}}async function $o(r,e,t){let n=th(r);return await Zu(async()=>{let s=await ac(t(n.host,n.port,n.connectTimeoutMs),n.connectTimeoutMs,`TCP connection to SOCKS5 proxy ${n.host}:${n.port} timed out`);try{let{boundAddr:o,boundPort:i}=await Xu(s,e,n);return{conn:s,boundAddr:o,boundPort:i}}catch(o){throw s.close(),o}},n.maxRetries,n.retryDelayMs)}function cc(r){let e;try{rh(r),e=new URL(r)}catch{throw new I("Invalid SOCKS5 proxy URL: malformed URL","SOCKS5_BAD_URL")}if(e.protocol!=="socks5:"&&e.protocol!=="socks5h:")throw new I(`Expected socks5:// or socks5h:// scheme, got: ${e.protocol}`,"SOCKS5_BAD_SCHEME");let t=e.protocol==="socks5h:",n=e.hostname,s=e.port?parseInt(e.port,10):1080;if(!Number.isFinite(s)||s<1||s>65535)throw new I("Invalid SOCKS5 proxy URL: port must be between 1 and 65535","SOCKS5_BAD_URL");if(!n)throw new I("Invalid SOCKS5 proxy URL: no hostname specified (e.g., socks5://host:port)","SOCKS5_BAD_URL");let o={host:n,port:s,remoteDns:t};return e.username&&(o.username=decodeURIComponent(e.username)),e.password&&(o.password=decodeURIComponent(e.password)),o}function rh(r){try{let e=new URL(r);return`${e.protocol}//${e.host}${e.pathname}${e.search}${e.hash}`}catch{return"[redacted]"}}var lc=async(r,e,t)=>{let n=globalThis,s;return t&&t>0?s=await Promise.race([n.Deno.connect({hostname:r,port:e,transport:"tcp"}),new Promise((i,a)=>setTimeout(()=>a(new I("TCP connect to proxy timed out","SOCKS5_TIMEOUT",!0)),t))]):s=await n.Deno.connect({hostname:r,port:e,transport:"tcp"}),{read:async i=>{if(t&&t>0)return Promise.race([s.read(i).catch(()=>null),new Promise((a,c)=>setTimeout(()=>c(new I("TCP read timed out","SOCKS5_TIMEOUT",!0)),t))]);try{return await s.read(i)}catch{return null}},write:i=>s.write(i),close:()=>{try{s.close()}catch{}}}},uc=(r,e,t)=>new Promise((n,s)=>{import("node:net").then(({createConnection:o})=>{let i=o({host:r,port:e}),a=setTimeout(()=>{i.destroy(),s(new I("TCP connect to proxy timed out","SOCKS5_TIMEOUT",!0))},t),c=new Uint8Array(0),l=null,u=null,f=null,p=null;function d(){if(!l||!f||c.length===0)return;let m=Math.min(c.length,f.length);f.set(c.subarray(0,m)),c=c.slice(m);let y=l;l=null,u=null,f=null,y(m)}function g(m){if(u){let y=u;l=null,u=null,f=null,y(m)}}i.on("data",m=>{let y=new Uint8Array(c.length+m.length);y.set(c),y.set(m,c.length),c=y,d()}),i.on("end",()=>{l&&(l(null),l=null,u=null,f=null)}),i.once("error",m=>{clearTimeout(a),p=m,g(m),s(m)}),i.once("connect",()=>{clearTimeout(a),i.on("error",m=>{p=m,g(m)}),n({read:m=>new Promise((y,b)=>{if(p){b(p);return}if(c.length>0){let x=Math.min(c.length,m.length);m.set(c.subarray(0,x)),c=c.slice(x),y(x);return}l=y,u=b,f=m}),write:m=>new Promise((y,b)=>{i.write(m,x=>x?b(x):y(m.length))}),close:()=>i.destroy()})})}).catch(s)});function hc(r,e){return async(t,n,s)=>(await $o({connectTimeoutMs:s,...r},{host:t,port:n},e)).conn}sr();Ne();Ne();Zt();jt();Ks();sr();an();un();tn();Kr();Wt();var Ho=class extends Error{constructor(t){super(t);h(this,"code","URL_VALIDATION_ERROR");this.name="URLValidationError"}},nh=/^[A-Za-z0-9\-._~]$/,sh=/^[:/?#\[\]@!$&'()*+,;=]$/;function mn(r,e=!1){return Array.from(r).map(t=>{if(nh.test(t)||e&&sh.test(t))return t;let n=t.codePointAt(0);if(n>65535){let s=new TextEncoder().encode(t);return Array.from(s).map(o=>"%"+o.toString(16).toUpperCase().padStart(2,"0")).join("")}if(n>127){let s=new TextEncoder().encode(t);return Array.from(s).map(o=>"%"+o.toString(16).toUpperCase().padStart(2,"0")).join("")}return"%"+n.toString(16).toUpperCase().padStart(2,"0")}).join("")}function Ce(r){try{return decodeURIComponent(r.replace(/\+/g,"%20"))}catch{return r.replace(/%([0-9A-Fa-f]{2})/g,(e,t)=>String.fromCharCode(parseInt(t,16)))}}function jo(r){return encodeURIComponent(r).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A")}function Qe(r){return encodeURIComponent(r).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A")}function pc(r,e={}){let{sort:t=!1,arrayFormat:n="repeat"}=e,s=[];for(let[o,i]of Object.entries(r)){if(i==null)continue;let a=Qe(o);if(Array.isArray(i)){let c=i.filter(l=>l!=null);if(c.length===0)continue;if(n==="comma")s.push([a,c.map(l=>Qe(String(l))).join(",")]);else if(n==="bracket")for(let l of c)s.push([`${a}[]`,Qe(String(l))]);else for(let l of c)s.push([a,Qe(String(l))])}else s.push([a,Qe(String(i))])}return t&&s.sort(([o],[i])=>o<i?-1:o>i?1:0),s.map(([o,i])=>`${o}=${i}`).join("&")}function zo(r){let e=r.startsWith("?")?r.slice(1):r,t={};if(!e)return t;for(let n of e.split("&")){if(!n)continue;let s=n.indexOf("="),o=Ce(s===-1?n:n.slice(0,s)),i=s===-1?"":Ce(n.slice(s+1)),a=t[o];a===void 0?t[o]=i:Array.isArray(a)?a.push(i):t[o]=[a,i]}return t}function mc(r,e){let t={...r};for(let[n,s]of Object.entries(e))s==null?delete t[n]:t[n]=s;return t}function gc(r,...e){let t={};for(let n of e)n in r&&(t[n]=r[n]);return t}function yc(r,...e){let t=new Set(e),n={};for(let[s,o]of Object.entries(r))t.has(s)||(n[s]=o);return n}function qo(...r){if(r.length===0)return"/";let e=[];for(let i of r)i&&e.push(...i.split("/").filter((a,c)=>a!==""||c===0));let n=wc(e).join("/"),o=r[r.length-1]?.endsWith("/")&&n!=="/"?"/":"";return(n.startsWith("/")?"":"/")+n+o}function wc(r){let e=[];for(let t of r)t!=="."&&(t===".."?e.pop():e.push(t));return e}function Bo(r,e={}){let{trailingSlash:t="preserve"}=e,n=r.endsWith("/")&&r!=="/",s=r.split("/").filter(Boolean),i="/"+wc(s).join("/");return t==="add"&&i!=="/"?i+="/":t==="remove"||t==="preserve"&&n&&i!=="/"&&(i+="/"),i}function bc(r){return r.split("/").filter(Boolean).map(Ce)}function Fo(r,e){return r.replace(/:([A-Za-z_][A-Za-z0-9_]*)/g,(t,n)=>{let s=e[n];if(s===void 0)throw new Ho(`Missing path param: "${n}"`);return jo(String(s))})}var oh={"http:":"80","https:":"443","ftp:":"21","ws:":"80","wss:":"443"};function xc(r,e={}){let t=Pe(r);if(!t)throw new TypeError(`Invalid URL: ${r}`);let n=oh[t.protocol],s=t.port===n?"":t.port,o=Bo(t.pathname,{trailingSlash:e.trailingSlash??"preserve"});e.sortParams&&t.searchParams.sort();let i=t.searchParams.toString()?`?${t.searchParams}`:"",a=e.removeFragment?"":t.hash,c=t.username?`${encodeURIComponent(t.username)}${t.password?":"+encodeURIComponent(t.password):""}@`:"",l=s?`${t.hostname}:${s}`:t.hostname;return`${t.protocol}//${c}${l}${o}${i}${a}`}var ve=class r{constructor(e,t){h(this,"_url");try{this._url=new URL(String(e),t)}catch{throw new TypeError(`Invalid URL: "${e}"${t?` (base: "${t}")`:""}`)}}static from(e,t){return new r(e,t)}static https(e,t){return new r(`https://${e}${t??"/"}`)}static http(e,t){return new r(`http://${e}${t??"/"}`)}withProtocol(e){let t=this._clone();return t._url.protocol=e.endsWith(":")?e:e+":",t}withHostname(e){let t=this._clone();return t._url.hostname=e,t}withHost(e){let t=this._clone();return t._url.host=e,t}withPort(e){let t=this._clone();return t._url.port=String(e),t}withUsername(e){let t=this._clone();return t._url.username=encodeURIComponent(e),t}withPassword(e){let t=this._clone();return t._url.password=encodeURIComponent(e),t}withPathname(e){let t=this._clone();return t._url.pathname=e,t}appendPath(...e){let t=this._clone(),n=t._url.pathname.replace(/\/$/,""),s=e.map(o=>o.replace(/^\/|\/$/g,"")).filter(Boolean);return t._url.pathname=n+"/"+s.join("/"),t}path(...e){let t=this._clone();return t._url.pathname=qo(...e),t}params(e){let t=this._clone();t._url.pathname=Fo(t._url.pathname,e);for(let[n,s]of Object.entries(e))t._url.searchParams.set(n,String(s));return t}addTrailingSlash(){let e=this._clone();return e._url.pathname.endsWith("/")||(e._url.pathname+="/"),e}removeTrailingSlash(){let e=this._clone();return e._url.pathname!=="/"&&e._url.pathname.endsWith("/")&&(e._url.pathname=e._url.pathname.slice(0,-1)),e}setParam(e,t){let n=this._clone();return t==null?n._url.searchParams.delete(e):n._url.searchParams.set(e,String(t)),n}appendParam(e,t){if(t==null)return this;let n=this._clone();return n._url.searchParams.append(e,String(t)),n}deleteParam(e){let t=this._clone();return t._url.searchParams.delete(e),t}query(e){let t=this._clone();for(let[n,s]of Object.entries(e))if(s==null)t._url.searchParams.delete(n);else if(Array.isArray(s)){t._url.searchParams.delete(n);for(let o of s)o!=null&&t._url.searchParams.append(n,String(o))}else t._url.searchParams.set(n,String(s));return t}setQuery(e){let t=this._clone();return t._url.search="",t.query(e)}pickParams(...e){let t=this._clone(),n=new Set(e),s=[];for(let[o,i]of t._url.searchParams.entries())n.has(o)&&s.push([o,i]);t._url.search="";for(let[o,i]of s)t._url.searchParams.append(o,i);return t}omitParams(...e){let t=this._clone(),n=new Set(e);for(let s of n)t._url.searchParams.delete(s);return t}sortParams(){let e=this._clone();return e._url.searchParams.sort(),e}redactParams(...e){let t=this._clone();for(let n of e)t._url.searchParams.has(n)&&(t=t.setParam(n,"REDACTED"));return t}withHash(e){let t=this._clone();return t._url.hash=e.startsWith("#")?e:"#"+e,t}removeHash(){let e=this._clone();return e._url.hash="",e}toString(){return this._url.toString()}toURL(){return new URL(this._url.toString())}get href(){return this._url.href}get protocol(){return this._url.protocol}get hostname(){return this._url.hostname}get host(){return this._url.host}get port(){return this._url.port}get pathname(){return this._url.pathname}get search(){return this._url.search}get hash(){return this._url.hash}get origin(){return this._url.origin}get searchParams(){return new URLSearchParams(this._url.searchParams)}get queryObject(){return zo(this._url.search)}_clone(){return new r(this._url.toString())}};function _c(r,e){return r.replace(/\{([^}]+)\}/g,(t,n)=>{let s=n[0],o="+#./;?&".includes(s),i=(o?n.slice(1):n).split(",");return ih(o?s:"",i,e)})}function ih(r,e,t){let n=lh(r),s=uh(r),o=hh(r),i=fh(r),a=r==="+"||r==="#",c=[];for(let l of e){let{name:u,explode:f,maxLength:p}=ah(l.trim()),d=t[u];if(d==null)continue;let g=ch(d,u,o,f,p,a,n,i);g!==null&&c.push(g)}return c.length===0?"":s+c.join(n)}function ah(r){if(r.endsWith("*"))return{name:r.slice(0,-1),explode:!0,maxLength:null};let e=r.lastIndexOf(":");if(e!==-1){let t=parseInt(r.slice(e+1),10);return{name:r.slice(0,e),explode:!1,maxLength:isNaN(t)?null:t}}return{name:r,explode:!1,maxLength:null}}function ch(r,e,t,n,s,o,i,a){let c=l=>o?mn(l,!0):mn(l);if(typeof r=="string"||typeof r=="number"||typeof r=="boolean"){let l=String(r);s!==null&&(l=l.slice(0,s));let u=c(l);return t?`${e}${u===""?a:"="+u}`:u}if(Array.isArray(r)){if(r.length===0)return null;if(n)return r.map(u=>{let f=c(String(u));return t?`${e}=${f}`:f}).join(i);let l=r.map(u=>c(String(u))).join(",");return t?`${e}=${l}`:l}if(typeof r=="object"&&r!==null){let l=Object.entries(r);if(l.length===0)return null;if(n)return l.map(([f,p])=>`${c(f)}=${c(p)}`).join(i);let u=l.flatMap(([f,p])=>[c(f),c(p)]).join(",");return t?`${e}=${u}`:u}return null}function lh(r){switch(r){case".":return".";case"/":return"/";case";":return";";case"?":case"&":return"&";default:return","}}function uh(r){switch(r){case"#":return"#";case".":return".";case"/":return"/";case";":return";";case"?":return"?";case"&":return"&";default:return""}}function hh(r){return r===";"||r==="?"||r==="&"}function fh(r){return r===";"?"":"="}function Sc(r){let e=[],t={n:0},n=r.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\\\*/g,"*").replace(/\*\*/g,()=>"(.+?)").replace(/\*(?!\*)/g,()=>(t.n++,"([^/]+)")).replace(/:([A-Za-z_][A-Za-z0-9_]*)(?:\(([^)]+)\))?/g,(o,i,a)=>(e.push(i),`(${a??"[^/]+"})`)),s=new RegExp(`^${n}\\/?$`);return{match(o){let i=fc(o),a=s.exec(i);if(!a)return null;let c={},l=[],u={},f=1;for(let p of e)c[p]=Ce(a[f++]??"");for(;f<=a.length-1;){let p=a[f++]??"";l.push(...p.split("/").filter(Boolean).map(Ce))}return{params:c,wildcards:l,groups:u}},test(o){return s.test(fc(o))}}}function fc(r){try{return new URL(r).pathname}catch{return r}}function gn(r){let e=Pe(r);return e?["file:","data:","blob:"].includes(e.protocol)?"null":e.origin:null}function Tc(r,e){let t=gn(r),n=gn(e);return!t||!n?!1:t===n}function Ec(r,e){let t=Pe(r),n=Pe(e);return!t||!n||t.protocol!==n.protocol?!1:dc(t.hostname)===dc(n.hostname)}function dc(r){let e=new Set(["co.uk","co.jp","co.kr","co.nz","co.za","co.in","com.au","com.br","com.mx","com.cn","com.tw","com.hk","com.sg","com.my","com.ph","com.vn","com.tr","net.au","net.uk","net.br","org.uk","org.au","org.nz","org.cn","org.in","ac.uk","gov.uk","gov.au","gov.cn","or.kr","pe.kr","go.jp","ne.jp","ac.jp","github.io","herokuapp.com","cloudfront.net"]),t=r.split(".");if(t.length>=3){let n=t.slice(-2).join(".");if(e.has(n))return t.slice(-3).join(".")}return t.slice(-2).join(".")}function Rc(r,e){try{return new URL(r,e).toString()}catch{throw new TypeError(`Cannot resolve "${r}" against base "${e}"`)}}function kc(r,e){try{let t=new URL(r),n=new URL(e);return t.origin!==n.origin||!t.pathname.startsWith(n.pathname)?null:t.pathname.slice(n.pathname.length)+t.search+t.hash}catch{return null}}function Wo(r){try{if(/^[A-Za-z][A-Za-z0-9+\-.]*:\/\//.test(r))return!0;let e=new URL(r);return e.protocol!==""&&e.protocol!=="file:"}catch{return!1}}function Ac(r){return!Wo(r)}function Cc(r){try{return new URL(r).protocol==="https:"}catch{return!1}}function vc(r){try{let e=new URL(r).protocol;return e==="http:"||e==="https:"}catch{return!1}}function Pc(r){return r.trimStart().startsWith("data:")}function Ic(r){return r.trimStart().startsWith("blob:")}function Lc(r){try{let e=new URL(r).hostname;return e==="localhost"||e==="127.0.0.1"||e==="::1"||e.endsWith(".localhost")}catch{return!1}}function Mc(r){let e=r.match(/^data:([^;,]+)?(;base64)?,(.*)$/s);return e?{mediaType:e[1]??"text/plain",isBase64:!!e[2],data:e[3]??""}:null}function Oc(r,e,t=!0){if(typeof r=="string")return t?`data:${e};base64,${btoa(r)}`:`data:${e},${encodeURIComponent(r)}`;let n=new TextDecoder("iso-8859-1").decode(r);return`data:${e};base64,${btoa(n)}`}function Dc(r,e){let t=Pe(r),n=Pe(e);if(!t||!n)throw new TypeError(`Cannot diff invalid URLs: "${r}" vs "${e}"`);let s={addedParams:{},removedParams:{},changedParams:{}};t.protocol!==n.protocol&&(s.protocol=[t.protocol,n.protocol]),t.hostname!==n.hostname&&(s.hostname=[t.hostname,n.hostname]),t.port!==n.port&&(s.port=[t.port,n.port]),t.pathname!==n.pathname&&(s.pathname=[t.pathname,n.pathname]),t.hash!==n.hash&&(s.hash=[t.hash,n.hash]);for(let[o,i]of t.searchParams.entries()){let a=n.searchParams.get(o);a===null?s.removedParams[o]=i:a!==i&&(s.changedParams[o]=[i,a])}for(let[o,i]of n.searchParams.entries())t.searchParams.has(o)||(s.addedParams[o]=i);return t.search!==n.search&&!Object.keys(s.changedParams).length&&!Object.keys(s.addedParams).length&&!Object.keys(s.removedParams).length&&(s.search=[t.search,n.search]),s}function Pe(r){try{return new URL(r)}catch{return null}}function Nc(r){return ve.from(r).addTrailingSlash().toString()}function Uc(r){return ve.from(r).removeTrailingSlash().toString()}function $c(r){return ve.from(r).removeHash().toString()}function Hc(r){try{let e=new URL(r);return e.search="",e.toString()}catch{return r}}function jc(r){try{let t=new URL(r).pathname.split("/").pop()??"",n=t.lastIndexOf(".");return n===-1?"":t.slice(n+1).toLowerCase()}catch{return""}}function zc(r){try{let e=new URL(r).pathname;return Ce(e.split("/").filter(Boolean).pop()??"")}catch{return""}}function qc(r,...e){return ve.from(r).redactParams(...e).toString()}z();function Bc(r={}){return new Lt(r)}var dh=Bc;return el(ph);})();
86
+ `}async function ls(r,e){let t=await Ir(e.credentials),n=vr(e),s=gt(n),o=`${s}/${e.region}/${e.service}/aws4_request`,i=`${t.accessKeyId}/${o}`,a=JSON.stringify(r),l=btoa(a),c=await wt(t.secretAccessKey,s,e.region,e.service),u=await ge(c,l),h=yt(u),p={policy:l,signature:h,credential:i,date:s};return t.sessionToken&&(p.securityToken=t.sessionToken),p}function us(r){let e=r.date??r.Date;if(!e)return 0;let t=new Date(e).getTime();return isNaN(t)?0:Math.round((t-Date.now())/1e3)}function hs(r,e){return r!==403&&r!==400?!1:e.includes("RequestTimeTooSkewed")||e.includes("RequestExpired")||e.includes("InvalidSignatureException")||e.includes("AuthFailure")||e.includes("SignatureDoesNotMatch")}var ce=class{constructor(e){f(this,"config");f(this,"clockSkewSecs",0);this.config=e}async sign(e){return await Pr(e,{...this.config,clockSkewSecs:this.clockSkewSecs})}async presign(e,t){return await as(e,{...this.config,clockSkewSecs:this.clockSkewSecs},t)}async signPostPolicy(e){return await ls(e,{...this.config,clockSkewSecs:this.clockSkewSecs})}async initChunked(e){return await cs(e,{...this.config,clockSkewSecs:this.clockSkewSecs})}updateClockSkew(e){let t=us(e);t!==0&&(this.clockSkewSecs=t)}handleClockSkewError(e,t,n){return hs(e,t)?(this.updateClockSkew(n),!0):!1}};async function Ir(r){return await(typeof r=="function"?r():Promise.resolve(r))}function ts(r){let e=globalThis.Deno;if(typeof e<"u")try{return e.env.get(r)}catch{}try{return globalThis.process?.env?.[r]}catch{}}async function rs(r,e,t){let n=new AbortController,s=setTimeout(()=>n.abort(),t);try{let o=e.signal&&typeof AbortSignal<"u"&&"any"in AbortSignal?AbortSignal.any([e.signal,n.signal]):n.signal,i=await fetch(r,{...e,signal:o});return clearTimeout(s),i}catch(o){throw n.signal.aborted?new G(t):o}finally{clearTimeout(s)}}function Zi(r){return new ce({credentials:r.credentials,region:r.region,service:"s3",doubleEncodeUri:!1,unsignedPayload:r.unsignedPayload??!1})}function ea(r){return new ce({credentials:r.credentials,region:r.region,service:"execute-api"})}function ta(r){return new ce({credentials:r.credentials,region:r.region,service:"sts"})}function ra(r){return new ce({credentials:r.credentials,region:r.region,service:"dynamodb"})}B();function Wl(r){let e=[];for(let u=0;u<r.length;u++){let h=r.charCodeAt(u);if(h<128)e.push(h);else if(h<2048)e.push(192|h>>6,128|h&63);else if(h<55296||h>=57344)e.push(224|h>>12,128|h>>6&63,128|h&63);else{u++;let p=r.charCodeAt(u),d=65536+((h&1023)<<10|p&1023);e.push(240|d>>18,128|d>>12&63,128|d>>6&63,128|d&63)}}let t=e.length*8;for(e.push(128);e.length*8%512!==448;)e.push(0);for(let u=0;u<4;u++)e.push(t>>>u*8&255);for(let u=4;u<8;u++)e.push(0);let n=[3614090360,3905402710,606105819,3250441966,4118548399,1200080426,2821735955,4249261313,1770035416,2336552879,4294925233,2304563134,1804603682,4254626195,2792965006,1236535329,4129170786,3225465664,643717713,3921069994,3593408605,38016083,3634488961,3889429448,568446438,3275163606,4107603335,1163531501,2850285829,4243563512,1735328473,2368359562,4294588738,2272392833,1839030562,4259657740,2763975236,1272893353,4139469664,3200236656,681279174,3936430074,3572445317,76029189,3654602809,3873151461,530742520,3299628645,4096336452,1126891415,2878612391,4237533241,1700485571,2399980690,4293915773,2240044497,1873313359,4264355552,2734768916,1309151649,4149444226,3174756917,718787259,3951481745],s=[7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21],o=1732584193,i=4023233417,a=2562383102,l=271733878;for(let u=0;u<e.length;u+=64){let h=[];for(let m=0;m<16;m++){let w=e[u+m*4],S=e[u+m*4+1],_=e[u+m*4+2],T=e[u+m*4+3];h[m]=(w|S<<8|_<<16|T<<24)>>>0}let p=o,d=i,y=a,g=l;for(let m=0;m<64;m++){let w,S;m<16?(w=d&y|~d&g,S=m):m<32?(w=g&d|~g&y,S=(5*m+1)%16):m<48?(w=d^y^g,S=(3*m+5)%16):(w=y^(d|~g),S=7*m%16),w=w+p+n[m]+h[S]>>>0,p=g,g=y,y=d,d=d+(w<<s[m]|w>>>32-s[m])>>>0}o=o+p>>>0,i=i+d>>>0,a=a+y>>>0,l=l+g>>>0}function c(u){let h="";for(let p=0;p<4;p++)h+=(u>>>p*8&255).toString(16).padStart(2,"0");return h}return c(o)+c(i)+c(a)+c(l)}function Lr(r){let e={algorithm:"MD5"},t=r.replace(/^Digest\s+/i,"").trim(),n=/(\w+)\s*=\s*(?:"([^"]*)"|([^,\s]+))/g,s;for(;(s=n.exec(t))!==null;){let o=s[1].toLowerCase(),i=s[2]??s[3];switch(o){case"realm":e.realm=i;break;case"nonce":e.nonce=i;break;case"opaque":e.opaque=i;break;case"algorithm":e.algorithm=i.toUpperCase();break;case"qop":e.qop=i;break;case"domain":e.domain=i;break;case"charset":e.charset=i;break;case"userhash":e.userhash=i==="true";break;case"stale":e.stale=i==="true";break}}if(!e.realm)throw new Error("Digest challenge missing 'realm'");if(!e.nonce)throw new Error("Digest challenge missing 'nonce'");return e}async function Kl(r){let e=new TextEncoder,t=await crypto.subtle.digest("SHA-256",e.encode(r)),n=new Uint8Array(t);return Array.from(n).map(s=>s.toString(16).padStart(2,"0")).join("")}function Vl(r){let e=[0x428a2f98d728ae22n,0x7137449123ef65cdn,0xb5c0fbcfec4d3b2fn,0xe9b5dba58189dbbcn,0x3956c25bf348b538n,0x59f111f1b605d019n,0x923f82a4af194f9bn,0xab1c5ed5da6d8118n,0xd807aa98a3030242n,0x12835b0145706fben,0x243185be4ee4b28cn,0x550c7dc3d5ffb4e2n,0x72be5d74f27b896fn,0x80deb1fe3b1696b1n,0x9bdc06a725c71235n,0xc19bf174cf692694n,0xe49b69c19ef14ad2n,0xefbe4786384f25e3n,0x0fc19dc68b8cd5b5n,0x240ca1cc77ac9c65n,0x2de92c6f592b0275n,0x4a7484aa6ea6e483n,0x5cb0a9dcbd41fbd4n,0x76f988da831153b5n,0x983e5152ee66dfabn,0xa831c66d2db43210n,0xb00327c898fb213fn,0xbf597fc7beef0ee4n,0xc6e00bf33da88fc2n,0xd5a79147930aa725n,0x06ca6351e003826fn,0x142929670a0e6e70n,0x27b70a8546d22ffcn,0x2e1b21385c26c926n,0x4d2c6dfc5ac42aedn,0x53380d139d95b3dfn,0x650a73548baf63den,0x766a0abb3c77b2a8n,0x81c2c92e47edaee6n,0x92722c851482353bn,0xa2bfe8a14cf10364n,0xa81a664bbc423001n,0xc24b8b70d0f89791n,0xc76c51a30654be30n,0xd192e819d6ef5218n,0xd69906245565a910n,0xf40e35855771202an,0x106aa07032bbd1b8n,0x19a4c116b8d2d0c8n,0x1e376c085141ab53n,0x2748774cdf8eeb99n,0x34b0bcb5e19b48a8n,0x391c0cb3c5c95a63n,0x4ed8aa4ae3418acbn,0x5b9cca4f7763e373n,0x682e6ff3d6b2b8a3n,0x748f82ee5defb2fcn,0x78a5636f43172f60n,0x84c87814a1f0ab72n,0x8cc702081a6439ecn,0x90befffa23631e28n,0xa4506cebde82bde9n,0xbef9a3f7b2c67915n,0xc67178f2e372532bn,0xca273eceea26619cn,0xd186b8c721c0c207n,0xeada7dd6cde0eb1en,0xf57d4f7fee6ed178n,0x06f067aa72176fban,0x0a637dc5a2c898a6n,0x113f9804bef90daen,0x1b710b35131c471bn,0x28db77f523047d84n,0x32caab7b40c72493n,0x3c9ebe0a15c9bebcn,0x431d67c49c100d4cn,0x4cc5d4becb3e42b6n,0x597f299cfc657e2an,0x5fcb6fab3ad6faecn,0x6c44198c4a475817n],t=[0x22312194fc2bf72cn,0x9f555fa3c84c64c2n,0x2393b86b6f53b151n,0x963877195940eabdn,0x96283ee2a88effe3n,0xbe5e1e2553863992n,0x2b0199fc2c85b8aan,0x0eb72ddc81c52ca2n],n=[];for(let l=0;l<r.length;l++){let c=r.charCodeAt(l);if(c<128)n.push(c);else if(c<2048)n.push(192|c>>6,128|c&63);else if(c<55296||c>=57344)n.push(224|c>>12,128|c>>6&63,128|c&63);else{l++;let u=r.charCodeAt(l),h=65536+((c&1023)<<10|u&1023);n.push(240|h>>18,128|h>>12&63,128|h>>6&63,128|h&63)}}let s=BigInt(n.length*8);for(n.push(128);n.length*8%1024!==896;)n.push(0);for(let l=15;l>=0;l--)n.push(Number(s>>BigInt(l*8)&0xffn));function o(l,c){return l>>c|l<<64n-c&0xffffffffffffffffn}let i=t.slice();for(let l=0;l<n.length;l+=128){let c=new Array(80);for(let S=0;S<16;S++){let _=0n;for(let T=0;T<8;T++)_=_<<8n|BigInt(n[l+S*8+T]);c[S]=_}for(let S=16;S<80;S++){let _=o(c[S-15],1n)^o(c[S-15],8n)^c[S-15]>>7n,T=o(c[S-2],19n)^o(c[S-2],61n)^c[S-2]>>6n;c[S]=c[S-16]+_+c[S-7]+T&0xffffffffffffffffn}let u=i[0],h=i[1],p=i[2],d=i[3],y=i[4],g=i[5],m=i[6],w=i[7];for(let S=0;S<80;S++){let _=o(y,14n)^o(y,18n)^o(y,41n),T=y&g^~y&m,v=w+_+T+e[S]+c[S]&0xffffffffffffffffn,E=o(u,28n)^o(u,34n)^o(u,39n),k=u&h^u&p^h&p,I=E+k&0xffffffffffffffffn;w=m,m=g,g=y,y=d+v&0xffffffffffffffffn,d=p,p=h,h=u,u=v+I&0xffffffffffffffffn}i=[i[0]+u&0xffffffffffffffffn,i[1]+h&0xffffffffffffffffn,i[2]+p&0xffffffffffffffffn,i[3]+d&0xffffffffffffffffn,i[4]+y&0xffffffffffffffffn,i[5]+g&0xffffffffffffffffn,i[6]+m&0xffffffffffffffffn,i[7]+w&0xffffffffffffffffn]}let a="";for(let l=0;l<4;l++)a+=i[l].toString(16).padStart(16,"0");return a}async function Mr(r,e,t,n,s,o,i){let a=r.qop||"",l=r.nonce,c=r.realm,u=o||$e(5),h=i||"00000001",p=Jl(r.algorithm);async function d(S){return p==="MD5"?Wl(S):p==="SHA-512-256"?Vl(S):await Kl(S)}let y=await d(`${e}:${c}:${t}`),g=await d(`${n}:${s}`),m,w=a.split(/\s*,\s*/).filter(Boolean);return w.includes("auth")||w.includes("auth-int")?m=await d(`${y}:${l}:${h}:${u}:${w[0]}:${g}`):m=await d(`${y}:${l}:${g}`),m}function Jl(r){let e=r.toUpperCase().replace(/-/g,"");return e==="SHA256"?"SHA-256":e==="SHA512256"?"SHA-512-256":"MD5"}function Or(r,e,t,n,s,o){let i=[],a=s||$e(5),l=o||"00000001";return i.push(`username="${e}"`),i.push(`realm="${r.realm}"`),i.push(`nonce="${r.nonce}"`),i.push(`uri="${n}"`),i.push(`response="${t}"`),r.opaque&&i.push(`opaque="${r.opaque}"`),r.algorithm&&r.algorithm!=="MD5"&&i.push(`algorithm=${r.algorithm}`),r.qop&&(i.push(`qop=${r.qop.split(/\s*,\s*/)[0]}`),i.push(`nc=${l}`),i.push(`cnonce="${a}"`)),`Digest ${i.join(", ")}`}async function na(r,e,t,n,s){let o=Lr(r),i=$e(5),a="00000001",l=await Mr(o,e,t,n,s,i,a);return Or(o,e,l,s,i,a)}function sa(){let r=new Map;return async(e,t,n,s,o)=>{let i=Lr(e),a=$e(5),l=`${i.realm}\0${i.nonce}`,c=(r.get(l)??0)+1;r.set(l,c);let u=c.toString(16).padStart(8,"0"),h=await Mr(i,t,n,s,o,a,u);return Or(i,t,h,o,a,u)}}Et();Et();var Gu=20,Xu={maxRetries:3,baseDelayMs:300,maxDelayMs:3e4,jitter:.3,statuses:[408,429,500,502,503,504],onNetworkError:!0,onTimeout:!1,methods:["GET","HEAD","PUT","DELETE","OPTIONS","TRACE"]},$o=class{constructor(){f(this,"_req",new Map);f(this,"_res",new Map);f(this,"_err",new Map);f(this,"_seq",0)}get request(){return Array.from(this._req.values())}get response(){return Array.from(this._res.values())}get error(){return Array.from(this._err.values())}addRequest(e){let t=++this._seq;return this._req.set(t,e),()=>{this._req.delete(t)}}addResponse(e){let t=++this._seq;return this._res.set(t,e),()=>{this._res.delete(t)}}addError(e){let t=++this._seq;return this._err.set(t,e),()=>{this._err.delete(t)}}clear(){this._req.clear(),this._res.clear(),this._err.clear()}};function Yu(r){if(r){let n=r.spanContext(),s=n.traceFlags.toString(16).padStart(2,"0");return{traceparent:`00-${n.traceId}-${n.spanId}-${s}`,traceId:n.traceId,spanId:n.spanId}}let e=Ho(32),t=Ho(16);return{traceparent:`00-${e}-${t}-01`,traceId:e,spanId:t}}function Ho(r){return $e(r/2)}var Zu=new Set(["authorization","proxy-authorization","cookie","set-cookie","x-api-key","x-auth-token","x-access-token","x-refresh-token","x-csrf-token","x-session-id","x-session-token","x-secret","x-secret-key","x-private-key","api-key","apikey","bearer","token","authentication","credentials","password","passwd","secret"]),tc="__interceptorResendDepth",rc=5,eh=new Set(["api_key","apikey","access_token","refresh_token","id_token","token","auth","authorization","key","secret","password","passwd","signature","sig","x-amz-signature","x-amz-credential","x-amz-security-token","x-goog-signature","sas","session","sessionid","jwt","code"]),th=8192;function rh(r){if(!r)return!1;let e=r.toLowerCase();return e.includes("json")||e.includes("xml")||e.includes("text/plain")||e.includes("application/javascript")}function Do(r){try{let e=new URL(r),t=!1;for(let n of[...e.searchParams.keys()])eh.has(n.toLowerCase())&&(e.searchParams.set(n,"***REDACTED***"),t=!0);return e.hash&&(e.hash.includes("token")||e.hash.includes("sig")||e.hash.length>1)&&(e.hash="#***REDACTED***",t=!0),t?e.toString():r}catch{return r.replace(/([?&])(api_key|apikey|access_token|refresh_token|token|secret|password|signature|sig)=([^&#]*)/gi,"$1$2=***REDACTED***")}}function nc(r,e){return Zu.has(r.toLowerCase())?{name:r,value:"***REDACTED***"}:{name:r,value:e}}var jo=class{constructor(e=1e4){f(this,"_buf",new Map);f(this,"_head",0);f(this,"_tail",0);f(this,"maxEntries");this.maxEntries=e}get entries(){return Array.from(this._buf.values())}record(e,t,n){let s=t.durationMs,o=0,i=s,a=0;try{if(typeof performance<"u"&&typeof performance.getEntriesByType=="function"){let c=typeof performance.getEntriesByName=="function"?performance.getEntriesByName(t.url):performance.getEntriesByType("resource").filter(h=>h.name===t.url),u=c[c.length-1];u&&u.requestStart>0&&Date.now()-u.startTime<6e4&&(o=Math.max(0,u.responseStart-u.requestStart),a=Math.max(0,u.responseEnd-u.responseStart),i=Math.max(0,s-o-a))}}catch{}let l={startedDateTime:new Date(n).toISOString(),time:s,request:{method:e.method,url:Do(e.url),httpVersion:t.httpVersion,headers:Object.entries(e.headers).map(([c,u])=>nc(c,u)),queryString:(()=>{try{return Array.from(new URL(Do(e.url)).searchParams.entries()).map(([c,u])=>({name:c,value:u}))}catch{return[]}})(),bodySize:e.body?typeof e.body=="string"?new TextEncoder().encode(e.body).byteLength:e.body instanceof Uint8Array||e.body instanceof ArrayBuffer?e.body.byteLength:-1:0},response:{status:t.status,statusText:t.statusText,httpVersion:t.httpVersion,headers:Object.entries(t.headers).map(([c,u])=>nc(c,u)),content:{size:t.rawBody?.byteLength??0,mimeType:t.headers["content-type"]??"application/octet-stream",...typeof t.data=="string"&&rh(t.headers["content-type"])?{text:t.data.slice(0,th)}:{}},redirectURL:t.headers.location?Do(t.headers.location):"",bodySize:t.rawBody?.byteLength??0},timings:{send:o,wait:i,receive:a},cache:{}};this._buf.set(this._tail++,l),this._buf.size>this.maxEntries&&this._buf.delete(this._head++)}getHAR(){return{version:"1.2",creator:{name:"kinetex",version:"1.0.0",comment:`runtime:${ye}`},entries:[...this.entries]}}clear(){this._buf.clear(),this._head=0,this._tail=0}get count(){return this._buf.size}};async function sc(r,e){let t={...r.headers};switch(e.type){case"bearer":{let s=`Bearer ${typeof e.token=="function"?await e.token():e.token}`;if(!xe(s))throw new x("Invalid bearer token \u2014 contains forbidden characters (CRLF/CTL)","EVALIDATION");t.authorization=s;break}case"basic":{let n=new TextEncoder,s=n.encode(e.username),o=n.encode(e.password),i=s.length+1+o.length,a=new Uint8Array(i);a.set(s),a.set(n.encode(":"),s.length),a.set(o,s.length+1);let l=qt(a);t.authorization=`Basic ${l}`,s.fill(0),o.fill(0),a.fill(0);break}case"apikey":{let n=typeof e.key=="function"?await e.key():e.key;if(!Ue(e.header))throw new x(`Invalid apikey auth header name: "${e.header}"`,"EVALIDATION");if(!xe(String(n)))throw new x(`Invalid apikey value for "${e.header}" \u2014 contains forbidden characters`,"EVALIDATION");t[e.header.toLowerCase()]=String(n);break}case"digest":break;case"custom":{let n=e.apply(r);if(!n)throw new Error("Custom auth 'apply' must return a KinetexRequest");return n}default:{let n=e;throw new Error(`Unknown auth type: ${n.type}`)}}return{...r,headers:t}}var nh=new Set(["authorization","cookie","proxy-authorization"]);function sh(r,e){if(e&&e.type==="apikey")return!0;if(!r)return!1;for(let t of Object.keys(r)){let n=t.toLowerCase();if(ic.has(n)&&!nh.has(n))return!0}return!1}var ic=new Set([...Cr,"www-authenticate"]);function wn(r){try{let e=new URL(r);return e.username||e.password?(e.username="",e.password="",e.toString()):r}catch{return r.replace(/\/\/[^/@]*@/,"//")}}function lr(r,e,t){let o;if(/^https?:\/\//i.test(e))o=e;else{let i=r??"";try{let a=i.replace(/\/$/,""),l=e.startsWith("/")?e.slice(1):e;o=new URL(l,a+"/").href}catch{let a=i.endsWith("/")?i:i+"/",l=e.startsWith("/")?e.slice(1):e;o=a+l}}if(!t||Object.keys(t).length===0){if(!_e(o))throw new x(`URL "${wn(o)}" failed safety check \u2014 blocked private/loopback address or forbidden scheme`,"EVALIDATION");return o}try{let i=new URL(o),a=0;for(let[c,u]of Object.entries(t)){if(u==null)continue;let h=String(u);if(Array.isArray(u)){for(let p of u)if(p!=null){if(a++,a>100)throw new x(`Query parameter count ${a} exceeds limit of 100`,"EVALIDATION");i.searchParams.append(c,String(p))}}else{if(a++,a>100)throw new x(`Query parameter count ${a} exceeds limit of 100`,"EVALIDATION");i.searchParams.set(c,h)}}let l=i.toString();if(l.length>8192)throw new x(`URL length ${l.length} bytes exceeds limit of 8192 bytes`,"EVALIDATION");if(!_e(l))throw new x(`URL "${wn(l)}" failed safety check \u2014 blocked private/loopback address or forbidden scheme`,"EVALIDATION");return l}catch(i){if(i instanceof x)throw i;o.includes("?")?o+="&":o+="?";let a=[],l=0;for(let[u,h]of Object.entries(t??{}))if(h!=null)if(Array.isArray(h)){for(let p of h)if(p!=null){if(l++,l>100)throw new x(`Query parameter count ${l} exceeds limit of 100`,"EVALIDATION");a.push(`${encodeURIComponent(u)}=${encodeURIComponent(String(p))}`)}}else{if(l++,l>100)throw new x(`Query parameter count ${l} exceeds limit of 100`,"EVALIDATION");a.push(`${encodeURIComponent(u)}=${encodeURIComponent(String(h))}`)}let c=o+a.join("&");if(c.length>8192)throw new x(`URL length ${c.length} bytes exceeds limit of 8192 bytes`,"EVALIDATION");if(!_e(c))throw new x(`URL "${wn(c)}" failed safety check \u2014 blocked private/loopback address or forbidden scheme`,"EVALIDATION");return c}}function Nt(...r){let e=Object.create(null);for(let t of r){if(!t)continue;let n=Object.keys(t);for(let s of n){if(s==="__proto__"||s==="constructor"||s==="prototype")continue;if(!Ue(s))throw new x(`Invalid header name: "${s}" \u2014 contains forbidden characters`,"EVALIDATION");let o=t[s];if(o==null)continue;let i=Array.isArray(o)?o.map(String).join(", "):String(o);if(!xe(i))throw new x(`Invalid header value for ${s}: contains forbidden characters`,"EVALIDATION");e[s.toLowerCase()]=i}}return e}function oc(r,e){if(e.attempt>r.maxRetries||!r.methods.includes(e.request.method))return!1;if(r.shouldRetry)return r.shouldRetry(e);if(e.error){let t=e.error,n=t.code;switch(n){case"EHTTPSTATUS":return r.statuses.includes(t.status??0);case"ETIMEOUT":return r.onTimeout===!0;case"ENETWORK":return r.onNetworkError;case"EABORT":return!1;case"ESIZELIMIT":return!1;case"EPARSE":return!1;case"EVALIDATION":return!1;case"EAUTH":return!1;case"EPROXY":return!1;case"EREDIRECT":return!1;case"EUNKNOWN":return!1;default:return!1}}return e.response?r.statuses.includes(e.response.status):!1}function No(r,e,t){if(t!==null)return Math.min(t,r.maxDelayMs);let n=Math.min(e,31),s=r.baseDelayMs*Math.pow(2,n-1);if(!isFinite(s)||s>r.maxDelayMs)return r.maxDelayMs;let o=Math.min(s,r.maxDelayMs);return Math.floor(o+o*r.jitter*Math.random())}function oh(r){let e=r["retry-after"];if(!e)return null;if(/^\d+$/.test(e.trim())){let n=parseInt(e,10);return!isFinite(n)||n<0?null:Math.min(n,86400)*1e3}let t=Date.parse(e);return isNaN(t)?null:Math.max(0,Math.min(t-Date.now(),864e5))}var Ut=class r{constructor(e={}){f(this,"cfg");f(this,"transport");f(this,"interceptors");f(this,"harRecorder");f(this,"retryConfig");f(this,"_cache",null);f(this,"_cookieJar",null);f(this,"_logger",null);f(this,"_cacheInitLock",null);f(this,"_cookieJarInitLock",null);f(this,"_loggerInitLock",null);f(this,"_otelTracer",null);f(this,"_dedup",null);f(this,"_circuitBreakers",null);f(this,"_circuitBreakerKeyFn",null);f(this,"_wsClients",new Set);if(this.cfg=e,this.interceptors=new $o,this.harRecorder=e.har===!0?new jo:null,this.retryConfig={...Xu,...e.retry},e.circuitBreakerKeyFn&&(this._circuitBreakerKeyFn=e.circuitBreakerKeyFn),e.rateLimit){let t=Kt(e.rateLimit);this.interceptors.addRequest(t)}if(e.awsSigning){let t=new ce(e.awsSigning);this.interceptors.addRequest(async n=>{let s=n.request,o=null;(s.body instanceof Uint8Array||typeof s.body=="string")&&(o=s.body);let i=await t.sign({method:s.method,url:s.url,headers:{...s.headers},body:o});n.request={...s,headers:i.headers}})}if(this.transport=Zt(e.fetch,e.httpVersion!=="HTTP/1.1",void 0,e.strictHeaders?{strict:!0}:void 0),e.interceptors&&(e.interceptors.request?.forEach(t=>this.interceptors.addRequest(t)),e.interceptors.response?.forEach(t=>this.interceptors.addResponse(t)),e.interceptors.error?.forEach(t=>this.interceptors.addError(t))),e.auth?.type==="digest"){let t=e.auth,n=sa();this.interceptors.addResponse(async s=>{if(!s.response||s.response.status!==401)return;let o=s.response.headers["www-authenticate"];if(!o||!o.toLowerCase().startsWith("digest")||s.request.meta.__digestRetried)return;let i=s.request.method,a=new URL(s.request.url),l=a.pathname+a.search,c=await n(o,t.username,t.password,i,l);return{...s.request,headers:{...s.request.headers,authorization:c},meta:{...s.request.meta,__digestRetried:!0}}})}}useRequest(e){return this.interceptors.addRequest(e)}attachHookRegistry(e){let t=this.useRequest(async o=>{let i={url:o.request.url,method:o.request.method,headers:o.request.headers,body:o.request.body,signal:o.request.signal,meta:o.request.meta},a={request:i,response:null,error:null,startedAt:o.startedAt,attempt:o.attempt,meta:o.request.meta},l=await e.runBeforeRequest(i,a);l!==i&&(o.request={...o.request,...l})}),n=this.useResponse(async o=>{if(!o.response)return;let i={status:o.response.status,statusText:o.response.statusText,headers:o.response.headers,body:o.response.rawBody??null,request:{url:o.request.url,method:o.request.method,headers:o.request.headers,body:o.request.body,signal:o.request.signal,meta:o.request.meta}},a={request:i.request,response:i,error:null,startedAt:o.startedAt,attempt:o.attempt,meta:o.request.meta};await e.runAfterResponse(i,a)}),s=this.useError(async o=>{if(!o.error)return;let i={url:o.request.url,method:o.request.method,headers:o.request.headers,body:o.request.body,signal:o.request.signal,meta:o.request.meta},a=ih(o.error.response,i),l={error:o.error,request:i,response:a,attempt:o.attempt},c={request:l.request,response:a,error:o.error,startedAt:o.startedAt,attempt:o.attempt,meta:o.request.meta};await e.runOnError(l,c)});return()=>{t(),n(),s()}}useResponse(e){return this.interceptors.addResponse(e)}useError(e){return this.interceptors.addError(e)}getHAR(){if(!this.harRecorder)throw new x("HAR recording not enabled. Pass `har: true` in config.","EUNKNOWN");return this.harRecorder.getHAR()}clearHAR(){this.harRecorder?.clear()}async getCache(){if(this._cache)return this._cache;if(!this.cfg.cache)return null;if(this._cacheInitLock)return await this._cacheInitLock,this._cache;let e=()=>{};this._cacheInitLock=new Promise(t=>{e=t});try{let{HTTPCache:t}=await Promise.resolve().then(()=>(pt(),ji));return this._cache=new t(this.cfg.cache),this._cache}finally{e(),this._cacheInitLock=null}}async getCookieJar(){if(this._cookieJar)return this._cookieJar;if(!this.cfg.cookieJar)return null;if(this._cookieJarInitLock)return await this._cookieJarInitLock,this._cookieJar;if(this.cfg.cookieJar instanceof Object&&"setCookie"in this.cfg.cookieJar)return this._cookieJar=this.cfg.cookieJar,this._cookieJar;let e=()=>{};this._cookieJarInitLock=new Promise(t=>{e=t});try{let{CookieJar:t}=await Promise.resolve().then(()=>(Zs(),Ba));return this._cookieJar=new t,this._cookieJar}finally{e(),this._cookieJarInitLock=null}}async getLogger(){if(this._logger)return this._logger;if(!this.cfg.logger)return null;if(this._loggerInitLock)return await this._loggerInitLock,this._logger;let e=()=>{};this._loggerInitLock=new Promise(t=>{e=t});try{let{createLogger:t}=await Promise.resolve().then(()=>(cn(),Fa));return this._logger=t(this.cfg.logger),this._logger}finally{e(),this._loggerInitLock=null}}extend(e){let t=this.cfg.interceptors?.request??[],n=this.cfg.interceptors?.response??[],s=this.cfg.interceptors?.error??[],o=e.interceptors?.request??[],i=e.interceptors?.response??[],a=e.interceptors?.error??[],l=new r({...this.cfg,...e,headers:Nt(this.cfg.headers,e.headers),params:{...this.cfg.params,...e.params},interceptors:{request:[...t,...o],response:[...n,...i],error:[...s,...a]}}),c=new Set([...t,...o]),u=new Set([...n,...i]),h=new Set([...s,...a]);for(let p of this.interceptors.request)c.has(p)||l.useRequest(p);for(let p of this.interceptors.response)u.has(p)||l.useResponse(p);for(let p of this.interceptors.error)h.has(p)||l.useError(p);return this._circuitBreakers&&!l._circuitBreakers&&(l._circuitBreakers=this._circuitBreakers),this._dedup&&!l._dedup&&(l._dedup=this._dedup),this._otelTracer&&!l._otelTracer&&(l._otelTracer=this._otelTracer),l}setTracer(e){return this._otelTracer=e,this}enableDedup(e){return this._dedup=new De(e),this}disableDedup(){return this._dedup=null,this}get dedupMetrics(){return this._dedup?{hits:this._dedup.hits,misses:this._dedup.misses,inFlightCount:this._dedup.inFlightCount}:null}enableCircuitBreaker(e){return this._circuitBreakers=new Ne(e),this}disableCircuitBreaker(){return this._circuitBreakers=null,this}tripCircuit(e){return this._circuitBreakers?.trip(e),this}resetCircuit(e){return this._circuitBreakers?.reset(e),this}get circuitSnapshots(){return this._circuitBreakers?.snapshots()??{}}async ws(e,t={}){let n=lr(this.cfg.baseURL,e,this.cfg.params),s=Nt(this.cfg.headers,t.headers),o={},i=this.cfg.auth;if(i){if(i.type==="bearer"){let d=typeof i.token=="function"?await i.token():i.token;o.authorization=`Bearer ${d}`}else if(i.type==="basic"){let d=new TextEncoder,y=d.encode(i.username),g=d.encode(i.password),m=new Uint8Array(y.length+1+g.length);m.set(y),m[y.length]=58,m.set(g,y.length+1);let w=qt(m);m.fill(0),y.fill(0),g.fill(0),o.authorization=`Basic ${w}`}else if(i.type==="apikey"){let d=typeof i.key=="function"?await i.key():i.key;o[i.header.toLowerCase()]=typeof d=="string"?d:await d}}let a=await this.getCookieJar();if(a){let d=a.getCookieHeader({url:n,http:!1});d&&(s.cookie=d)}try{let d=new URL(n);if(this.cfg.baseURL){let y=new URL(this.cfg.baseURL),g=d.protocol==="wss:",m=y.protocol==="https:";if(g!==m||d.host!==y.host)throw new x(`WebSocket origin ${d.origin} does not match baseURL origin ${y.origin}`,"EVALIDATION")}}catch(d){throw d instanceof x?d:new x(`Invalid WebSocket URL: ${d}`,"EVALIDATION")}if(this._circuitBreakers){let d=this._circuitBreakerKeyFn?this._circuitBreakerKeyFn({url:n,method:"GET",headers:s,body:null,signal:null,meta:{}}):new URL(n).origin;if(this._circuitBreakers.get(d).state==="OPEN")throw new x(`Circuit breaker is open for WebSocket origin ${new URL(n).origin}`,"ENETWORK")}let l=this.cfg.ws,c={...l?.highWaterMark!==void 0?{highWaterMark:l.highWaterMark}:{},...l?.lowWaterMark!==void 0?{lowWaterMark:l.lowWaterMark}:{},...l?.maxSendRate!==void 0?{maxSendRate:l.maxSendRate}:{},...l?.keepRooms!==void 0?{keepRooms:l.keepRooms}:{},...t},u=c.onClose,h=(d,y,g)=>{g||this._wsClients.delete(p),u?.(d,y,g)},p=new He({url:n,headers:{...o,...s},...c,onClose:h});return this._wsClients.add(p),await p.connect().catch(d=>{throw this._wsClients.delete(p),d}),p}async send(e,t,n={}){let s=yn(),o=Date.now(),i=n.timeout!==void 0?n.timeout:this.cfg.timeout??3e4,a=n.retry===!1?!1:{...this.retryConfig,...n.retry??{}},l=["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS","TRACE","CONNECT"],c=t.toUpperCase();if(!l.includes(c))throw new x(`Invalid HTTP method '${t}'. Valid methods: ${l.join(", ")}`,"EVALIDATION");let u=lr(n.baseURL??this.cfg.baseURL,e,ah(this.cfg.params,n.params));if(n.proxy??this.cfg.proxy)throw new x("proxy is configured but kinetex's built-in transports cannot route through it: HTTP(S) proxies require a custom fetch with a proxy agent (e.g. undici ProxyAgent passed via the `fetch` option), and SOCKS5 requires createSocks5Tunnel() from kinetex/socks5. Set up one of those instead of relying on `proxy` silently doing nothing.","EVALIDATION");if(this.cfg.httpsOnly)try{let E=new URL(u);if(E.protocol!=="https:")throw new x(`HTTPS-only mode enabled but URL uses ${E.protocol}. Use HTTPS URLs only.`,"EVALIDATION")}catch(E){throw E instanceof x?E:new x(`Invalid URL: ${E}`,"EVALIDATION")}let p=n.maxRequestSize??this.cfg.maxRequestSize??0;if(p>0&&n.body){let E=0;if(typeof n.body=="string")E=new TextEncoder().encode(n.body).byteLength;else if(n.body instanceof Uint8Array)E=n.body.byteLength;else if(n.body instanceof ArrayBuffer)E=n.body.byteLength;else if(n.body instanceof Blob)E=n.body.size;else if(ArrayBuffer.isView(n.body))E=n.body.byteLength;else if(n.body instanceof URLSearchParams)E=new TextEncoder().encode(n.body.toString()).byteLength;else if(n.body instanceof FormData){for(let[I,$]of n.body)E+=new TextEncoder().encode(I).byteLength+76,typeof $=="string"?E+=new TextEncoder().encode($).byteLength:E+=$.size;E+=76}else{if(n.body instanceof ReadableStream)throw new x("maxRequestSize cannot be enforced for ReadableStream bodies \u2014 pass maxRequestSize: 0 to opt out, or buffer the body first","EVALIDATION");if(n.body&&typeof n.body=="object")try{E=new TextEncoder().encode(JSON.stringify(n.body)).byteLength}catch(k){throw new x(`Cannot measure request body size: ${k instanceof Error?k.message:String(k)}`,"EVALIDATION")}}if(E>p)throw new x(`Request body size ${E} bytes exceeds limit of ${p} bytes`,"EVALIDATION")}let d={url:u,method:c,headers:Nt(this.cfg.headers,n.headers),body:n.body??null,signal:n.signal??null,...n.followRedirects!==void 0||this.cfg.followRedirects!==void 0?{followRedirects:n.followRedirects??this.cfg.followRedirects}:{},...n.maxRedirects!==void 0||this.cfg.maxRedirects!==void 0?{maxRedirects:n.maxRedirects??this.cfg.maxRedirects}:{},meta:{...n.meta},httpVersion:n.httpVersion??this.cfg.httpVersion??"HTTP/2"};d.body!==null&&typeof d.body=="object"&&!(d.body instanceof Uint8Array)&&!(d.body instanceof ArrayBuffer)&&!(d.body instanceof ReadableStream)&&!(d.body instanceof FormData)&&!(d.body instanceof URLSearchParams)&&!(d.body instanceof Blob)&&!d.headers["content-type"]&&(d={...d,headers:{...d.headers,"content-type":"application/json"},body:JSON.stringify(d.body)}),d.body!==null&&typeof URLSearchParams<"u"&&d.body instanceof URLSearchParams&&!d.headers["content-type"]&&(d={...d,headers:{...d.headers,"content-type":"application/x-www-form-urlencoded"}});let y=n.auth!==!1?n.auth??this.cfg.auth:void 0;y&&(d=await sc(d,y)),this.cfg.transformRequest&&(d=await this.cfg.transformRequest(d));let g=await this.getCookieJar();if(g){let E=g.getCookieHeader({url:d.url,http:!0});E&&(d={...d,headers:{...d.headers,cookie:E}})}let m=null;try{if(this._otelTracer){m=this._otelTracer.startSpan(`HTTP ${d.method}`,{kind:3});let{traceparent:E,traceId:k,spanId:I}=Yu(m);m.setAttribute("http.request.method",d.method),m.setAttribute("url.full",d.url);try{m.setAttribute("server.address",new URL(d.url).hostname)}catch{}d={...d,headers:{...d.headers,traceparent:E},meta:{...d.meta,traceId:k,spanId:I}}}else if(d.meta.traceId&&!d.headers.traceparent){let E=String(d.meta.traceId),k=Ho(16);d={...d,headers:{...d.headers,traceparent:`00-${E}-${k}-01`},meta:{...d.meta,spanId:k}}}}catch(E){throw m&&(m.setStatus({code:2,message:E instanceof Error?E.message:String(E)}),E instanceof Error&&m.recordException(E),m.end()),E}let w;if(this._circuitBreakerKeyFn)try{w=this._circuitBreakerKeyFn(d)}catch{w=d.url}else try{w=new URL(d.url).origin}catch{w=d.url}let S=()=>this._executeWithRetry(d,a,i,n,s,o),_="";if(this._dedup){let E=await me(d.headers??{});_=`${d.method}:${d.url}${E?":"+E:""}`}let T=this._dedup?()=>this._dedup.execute(d.method,_,S).then(E=>E):S,v=this._circuitBreakers?()=>this._circuitBreakers.execute(w,T).then(E=>E):T;try{let E=await v();return m&&(m.setAttribute("http.response.status_code",E.status),m.setStatus({code:E.status<400?1:2}),m.end()),E}catch(E){throw m&&(m.setStatus({code:2,message:E instanceof Error?E.message:String(E)}),E instanceof Error&&m.recordException(E),m.end()),E}}async _executeWithRetry(e,t,n,s,o,i){let a=0;for(;;){if(a++,e.signal?.aborted)throw Bo(e);if(a>1&&ch(e.body))throw new x("Cannot retry a request whose body is a stream or Blob \u2014 the body was consumed by the first attempt. Buffer it first, or disable retry for this request.","EVALIDATION",{request:e});try{let l=await this._executeOnce(e,n,s,o,a,i,t);if(t&&a<=t.maxRetries){let c={request:e,response:l,error:null,attempt:a,maxRetries:t.maxRetries};if(t.shouldRetry?await t.shouldRetry(c):oc(t,c)){let h=No(t,a,oh(l.headers));await t.onRetry?.(c,h),await this.cfg.hooks?.onRetry?.reduce(async(p,d)=>{await p,await d(c)},Promise.resolve()),await Uo(h,e.signal);continue}}return l}catch(l){if(globalThis.__KINETEX_DEBUG_RETRY&&console.log("DBG catch",{attempt:a,maxRetries:t===!1?"FALSE":t?.maxRetries,methods:t===!1?"FALSE":t?.methods,code:l?.code,method:e.method}),t&&a<=t.maxRetries){let u={request:e,response:null,error:l,attempt:a,maxRetries:t.maxRetries};if(t.shouldRetry?await t.shouldRetry(u):oc(t,u)){let p=No(t,a,null);await t.onRetry?.(u,p),await Uo(p,e.signal);continue}}let c=await this._runErrorInterceptors(e,l,a,o);if(c)return c;if(s.onError){let u=l instanceof x?l:new x(String(l),"EUNKNOWN",{request:e,cause:l});throw s.onError(u),u}throw l}}}async _sendFollowingRedirects(e,t,n,s){let o=Math.max(0,e.maxRedirects??Gu),i=e.followRedirects!==!1&&o>0,a={...e,redirect:"manual"},l=(()=>{try{return new URL(e.url).origin}catch{return null}})(),c=new Set;for(let u=0;u<=o;u++){if(u>0&&s&&(()=>{try{return new URL(a.url).origin===l}catch{return!1}})()&&(a=await sc(a,s)),u>0&&this.cfg.hooks?.onBeforeRequest)for(let d of this.cfg.hooks.onBeforeRequest){let y=await d(a,{request:a,response:null,error:null,startedAt:yn(),attempt:1,meta:a.meta});y&&(a={...y,redirect:"manual"})}let h=await Ke(this.transport,a,t);if(u>0){let d=await this.getLogger();if(d){let y=a.meta.requestId??"redirect";d.logResponse(y,h.status,h.statusText,h.headers,new Uint8Array(0),1,!1)}}if(h.status>=300&&h.status<400&&!!h.headers.location){if(c.has(h.url))throw new x(`Redirect loop detected: ${h.url}`,"ENETWORK",{request:e});if(c.add(h.url),n?.processResponseHeaders(h.headers,{url:h.url}),!i)return{...h,redirected:!0};if(u===o)throw new x(`Too many redirects (exceeded ${o})`,"ENETWORK",{request:e});if(h.body)try{await h.body.cancel()}catch{}let d=h.headers.location,y;try{let _=new URL(d,h.url);y=_.href;let T=_.protocol.toLowerCase();if(T!=="http:"&&T!=="https:")throw new x(`Unsafe redirect to ${T} detected \u2014 only HTTP(S) allowed`,"ENETWORK",{request:e});if(!_e(y))throw new x(`Unsafe redirect target blocked: ${wn(d)}`,"EVALIDATION",{request:e});if(this.cfg.httpsOnly&&T!=="https:")throw new x(`HTTPS-only mode enabled but redirect target uses ${T}`,"EVALIDATION",{request:e})}catch(_){throw _ instanceof x?_:new x(`Invalid redirect location: ${d}`,"ENETWORK",{request:e,cause:_})}let g=h.status===301||h.status===302||h.status===303?"GET":a.method,m=g==="GET"||g==="HEAD"?null:a.body,w={...a.headers},S=!1;try{S=new URL(y).origin!==new URL(a.url).origin}catch{}if(S){for(let _ of ic)delete w[_];s&&s.type==="apikey"&&delete w[s.header.toLowerCase()]}if(n){let _=n.getCookieHeader({url:y,http:!0});_?w.cookie=_:delete w.cookie}else S&&delete w.cookie;a={...a,url:y,method:g,body:m,headers:w,redirect:"manual"};continue}return u>0?{...h,redirected:!0}:h}throw new x("Redirect loop","ENETWORK",{request:e})}async _executeOnce(e,t,n,s,o,i,a){let l={request:e,response:null,error:null,startedAt:s,attempt:o,aborted:!1,store:new Map},c=e.meta.requestId??`req-${o}-${Date.now()}`;if(this._trace(c,"request_interceptors","start",s,o),e=await this._runRequestInterceptors(l),this._trace(c,"request_interceptors","end",s,o),this._trace(c,"lifecycle_before","start",s,o),this.cfg.hooks?.onBeforeRequest)for(let A of this.cfg.hooks.onBeforeRequest){let P=await A(e,this._hookCtx(l));P&&(e=P)}if(this._trace(c,"lifecycle_before","end",s,o),n.cache!==!1&&this.cfg.cache){let A=await this.getCache();if(A){let P={url:e.url,method:e.method,headers:e.headers},C=await A.get(P);if(C&&!C.stale){let O=await this._buildResponse(C.entry.response,e,!0,o,s,n);if(this.cfg.hooks?.onBeforeResponse)for(let J of this.cfg.hooks.onBeforeResponse)await J(O,this._hookCtx(l));return O}if(C?.stale){if(await A.markSWRInFlight(P)){let H={...e,headers:{...e.headers,...A.buildConditionalHeaders(C.entry)}};(async()=>{try{let j=await Ke(this.transport,H,t),et=await this.getCache();if(et)if(j.status===304)await et.revalidate({url:H.url,method:H.method,headers:H.headers},{status:304,statusText:"Not Modified",headers:j.headers,body:null});else{let{decompressBodyStream:sl,readRawBody:ol}=await Promise.resolve().then(()=>(Et(),Ua)),il=await sl(j.body,j.headers),al=await ol(il,0,j.url,H.signal);await et.set({url:H.url,method:H.method,headers:H.headers},{status:j.status,statusText:j.statusText,headers:j.headers,body:al},{tags:n.tags??[]})}}catch(j){if(this.cfg.onSWRError)try{this.cfg.onSWRError(j,H)}catch{}}finally{try{(await this.getCache())?.clearSWRInFlight(P)}catch{}}})()}return await this._buildResponse(C.entry.response,e,!0,o,s,n)}}}let u=[];n.onUploadProgress&&u.push(n.onUploadProgress),this.cfg.hooks?.onUploadProgress&&u.push(...this.cfg.hooks.onUploadProgress);let h=u.length>0?u:null,p=null;if(h!==null&&e.body!==null){let A=null,P=null;if(e.body instanceof ReadableStream)A=e.body;else if(typeof e.body=="string"){let C=new TextEncoder().encode(e.body);P=C.byteLength,A=new ReadableStream({start:O=>{O.enqueue(C),O.close()}})}else if(e.body instanceof Uint8Array)P=e.body.byteLength,A=new ReadableStream({start:C=>{C.enqueue(e.body),C.close()}});else if(e.body instanceof ArrayBuffer){let C=new Uint8Array(e.body);P=C.byteLength,A=new ReadableStream({start:O=>{O.enqueue(C),O.close()}})}else if(typeof Blob<"u"&&e.body instanceof Blob)P=e.body.size,A=e.body.stream();else if(typeof URLSearchParams<"u"&&e.body instanceof URLSearchParams){let C=new TextEncoder().encode(e.body.toString());P=C.byteLength,A=new ReadableStream({start:O=>{O.enqueue(C),O.close()}})}if(A){let{stream:C}=Bt(A,P,{onProgress:O=>{let J=O;for(let H of u)H(J)},...e.signal!==null?{signal:e.signal}:{}});p=C,e={...e,body:C}}}e.headers["accept-encoding"]||(e={...e,headers:{...e.headers,"accept-encoding":en}});let d=await this.getCookieJar(),y=n.auth!==!1?n.auth??this.cfg.auth:void 0,g=d!==null||sh(e.headers,y);this._trace(c,"transport_send","start",s,o);let m;try{m=g?await this._sendFollowingRedirects(e,t,d??void 0,y):await Ke(this.transport,e,t)}catch(A){if(p)try{p.cancel("Request failed").catch(()=>{})}catch{}throw A}if(this._trace(c,"transport_send","end",s,o),m.status===304){let A=await this.getCache();if(A){let P=await A.revalidate({url:e.url,method:e.method,headers:e.headers},{status:304,statusText:"Not Modified",headers:m.headers,body:null});if(P)return await this._buildResponse(P.response,e,!0,o,s,n)}}m.alreadyDecompressed&&(delete m.headers["content-encoding"],delete m.headers["Content-Encoding"]);let w=await tr(m.body,m.headers),S=[];n.onDownloadProgress&&S.push(n.onDownloadProgress),this.cfg.hooks?.onDownloadProgress&&S.push(...this.cfg.hooks.onDownloadProgress);let _=S.length>0?S:null,T=w;if(_&&T){let A=m.headers["content-length"],P=A?parseInt(A,10):null,C=new W(P&&!isNaN(P)?P:null,{onProgress:J=>{let H=J;for(let j of S)j(H)},...e.signal!==null?{signal:e.signal}:{}}),O=T;T=new ReadableStream({async start(J){let H=O.getReader();try{for(;;){let{done:j,value:et}=await H.read();if(j){C.complete(),J.close();break}C.update(et.byteLength),J.enqueue(et)}}catch(j){J.error(j)}finally{H.releaseLock()}},cancel(J){O.cancel(J).catch(()=>{})}})}let v=n.maxResponseSize??this.cfg.maxResponseSize??0,E=await er(T,v,m.url,e.signal),k=await this.getCookieJar();k&&k.processResponseHeaders(m.headers,{url:m.url});let I=m.headers["content-type"]??null;this._trace(c,"response_parse","start",s,o);let $=await St(E,I,n.parseResponse,n.parseFailure,m.headers,m.url);this._trace(c,"response_parse","end",s,o);let ee=yn()-s,D={status:m.status,statusText:m.statusText,headers:m.headers,data:$,rawBody:E,url:m.url,cached:!1,redirected:m.redirected,httpVersion:m.httpVersion,durationMs:ee,request:e,attempt:o};if(this.cfg.transformResponse&&(D.data=this.cfg.transformResponse(D.data,D)),n.cache!==!1&&this.cfg.cache){let A=await this.getCache();A&&m.status!==304&&await A.set({url:e.url,method:e.method,headers:e.headers},{status:m.status,statusText:m.statusText,headers:m.headers,body:E},{tags:n.tags??[]})}let V=await this.getLogger();if(V){let A=l.store.get("requestId")??e.meta.requestId??"unknown";V.logResponse(A,D.status,D.statusText,D.headers,E,o,!1)}this.harRecorder?.record(e,D,i??Date.now()-D.durationMs),l.response=D,this._trace(c,"response_interceptors","start",s,o);let q=await this._runResponseInterceptors(l,D,e,t,n,s,o,a??!1);if(this._trace(c,"response_interceptors","end",s,o),this.cfg.hooks?.onBeforeResponse){let A=q;for(let P of this.cfg.hooks.onBeforeResponse){let C=await P(A,this._hookCtx(l));C&&(A=C)}}if((n.throwOnError??this.cfg.throwOnError??!0)&&q.status>=400)throw new lt(q,e);if(this.cfg.hooks?.onAfterResponse)for(let A of this.cfg.hooks.onAfterResponse)await A(q,this._hookCtx(l));return n.onSuccess?.(q),q}async _runRequestInterceptors(e){let t=e.request;for(let n of this.interceptors.request){e.request=t;let s=await n(e);s&&"url"in s&&!("status"in s)?t=s:e.request!==t&&(t=e.request)}return e.request=t,t}async _runResponseInterceptors(e,t,n,s,o,i,a,l){let c=t;for(let u of this.interceptors.response){let h=await u(e);if(h){if("status"in h&&"headers"in h)c=h;else if("url"in h&&"method"in h&&!("status"in h)){let p=Number(n.meta[tc]??0);if(p>=rc)throw new x(`Response interceptor re-send limit reached (${rc}) \u2014 refusing to loop`,"EVALIDATION",{request:n});if(l&&a<=l.maxRetries){let d={request:n,response:t,error:null,attempt:a,maxRetries:l.maxRetries},y=No(l,a,0);await l.onRetry?.(d,y),await this.cfg.hooks?.onRetry?.reduce(async(g,m)=>{await g,await m(d)},Promise.resolve()),await Uo(y,n.signal)}return this._executeOnce({...h,meta:{...h.meta,[tc]:p+1}},s,o,i,a+1,void 0,l)}}}return c}async _runErrorInterceptors(e,t,n,s){let o={request:e,response:null,error:t,startedAt:s,attempt:n,aborted:!1,store:new Map};for(let i of this.interceptors.error){let a=await i(o);if(a&&"status"in a)return a}if(this.cfg.hooks?.onError)for(let i of this.cfg.hooks.onError){let a=await i(t,this._hookCtx(o));if(a)return a}return null}async _buildResponse(e,t,n,s,o,i){let a=e.body,l=a instanceof Uint8Array?a:typeof a=="string"?new TextEncoder().encode(a):null,c=l?await St(l,e.headers["content-type"]??null,i.parseResponse,i.parseFailure,e.headers,"url"in e?e.url:t.url):null,u=yn()-o,h="url"in e?e.url:t.url,p="redirected"in e?e.redirected:!1,d="httpVersion"in e?e.httpVersion:"HTTP/1.1";return{status:e.status,statusText:e.statusText,headers:e.headers,data:c,rawBody:l,url:h,cached:n,redirected:p,httpVersion:d,durationMs:u,request:t,attempt:s}}_hookCtx(e){return{request:e.request,response:e.response,error:e.error,startedAt:e.startedAt,attempt:e.attempt,meta:e.request.meta}}_trace(e,t,n,s,o,i){if(this.cfg.onPipelineTrace)try{console.debug("[kinetex:trace]",e,t,n,o),this.cfg.onPipelineTrace({requestId:e,stage:t,event:n,elapsedMs:typeof performance<"u"?performance.now()-s:Date.now()-s,attempt:o,...i})}catch{}}get(e,t){return this.send(e,"GET",t)}post(e,t,n){return this.send(e,"POST",{...n,...t!==void 0?{body:t}:{}})}put(e,t,n){return this.send(e,"PUT",{...n,...t!==void 0?{body:t}:{}})}patch(e,t,n){return this.send(e,"PATCH",{...n,...t!==void 0?{body:t}:{}})}delete(e,t){return this.send(e,"DELETE",t)}head(e,t){return this.send(e,"HEAD",t)}options(e,t){return this.send(e,"OPTIONS",t)}request(e,t){return new ur(this,e,t)}GET(e){return this.request("GET",e)}POST(e){return this.request("POST",e)}PUT(e){return this.request("PUT",e)}PATCH(e){return this.request("PATCH",e)}DELETE(e){return this.request("DELETE",e)}async sse(e,t={}){let{SSEClient:n}=await Promise.resolve().then(()=>(ar(),co)),s=Nt(this.cfg.headers,t.headers),o=lr(this.cfg.baseURL,e,this.cfg.params),i=async(a,l)=>{let c=typeof a=="string"?a:a.url,u=l,h=await this.send(c,u.method??"GET",{headers:u.headers,body:u.body,signal:u.signal,throwOnError:!1,parseResponse:d=>d}),p={...h.headers};return delete p["content-encoding"],delete p["Content-Encoding"],new Response(h.rawBody?.buffer??null,{status:h.status,headers:p})};return new n({url:o,headers:s,fetch:i,...t})}async graphql(e,t={}){let{GraphQLClient:n}=await Promise.resolve().then(()=>(dn(),Za)),s=Nt(this.cfg.headers,t.headers),o=lr(this.cfg.baseURL,e,this.cfg.params),i=async(a,l)=>{let c=typeof a=="string"?a:a.url,u=l,h=await this.send(c,u.method??"POST",{headers:u.headers,body:u.body,signal:u.signal,throwOnError:!1,parseResponse:d=>d}),p={...h.headers};return delete p["content-encoding"],delete p["Content-Encoding"],new Response(h.rawBody?.buffer??null,{status:h.status,headers:p})};return new n({url:o,headers:s,fetch:i,...t})}async paginate(e,t){let{createPagePaginator:n}=await Promise.resolve().then(()=>(gn(),ec)),s=lr(this.cfg.baseURL,e,this.cfg.params);return n({url:s,fetch:async(i,a)=>{let l=typeof i=="string"?i:i.url,c=a,u=await this.send(l,c.method??"GET",{headers:c.headers,body:c.body,signal:c.signal,throwOnError:!1,parseResponse:p=>p}),h={...u.headers};return delete h["content-encoding"],delete h["Content-Encoding"],new Response(u.rawBody?.buffer??null,{status:u.status,headers:h})},headers:Nt(this.cfg.headers),...t})}destroy(){for(let e of this._wsClients)try{e.close(1e3,"Client destroyed")}catch{}return this._wsClients.clear(),Ae&&this.transport&&"destroy"in this.transport&&this.transport.destroy(),this._cookieJar=null,this._logger=null,this._dedup?.clear(),this._circuitBreakers?.clear?.(),this._otelTracer=null,this.interceptors.clear(),Promise.resolve()}},ur=class{constructor(e,t,n){f(this,"client");f(this,"method");f(this,"_options",{});f(this,"_url");this.client=e,this.method=t,this._url=n}header(e,t){return this._options.headers={...this._options.headers,[e.toLowerCase()]:t},this}headers(e){return this._options.headers={...this._options.headers,...e},this}param(e,t){return this._options.params={...this._options.params,[e]:t},this}params(e){return this._options.params={...this._options.params,...e},this}withBody(e){return this._options.body=e,this}withJSON(e){return this._options.body=JSON.stringify(e),this._options.headers={...this._options.headers,"content-type":"application/json"},this}withForm(e){return this._options.body=e,this}bearer(e){return this._options.auth={type:"bearer",token:e},this}basic(e,t){return this._options.auth={type:"basic",username:e,password:t},this}apiKey(e,t){return this._options.auth={type:"apikey",header:e,key:t},this}digest(e,t){return this._options.auth={type:"digest",username:e,password:t},this}noAuth(){return this._options.auth=!1,this}retry(e,t){return this._options.retry={maxRetries:e,...t},this}noRetry(){return this._options.retry=!1,this}timeout(e){return this._options.timeout=e,this}proxy(e){return this._options.proxy=e,this}cache(e){return this._options.cache=e,this}noCache(){return this._options.cache={forceRefresh:!0},this}onUploadProgress(e){return this._options.onUploadProgress=e,this}onDownloadProgress(e){return this._options.onDownloadProgress=e,this}signal(e){return this._options.signal=e,this}maxSize(e){return this._options.maxResponseSize=e,this}http2(){return this._options.httpVersion="HTTP/2",this}http1(){return this._options.httpVersion="HTTP/1.1",this}noThrow(){return this._options.throwOnError=!1,this}tags(...e){return this._options.tags=e,this}meta(e){return this._options.meta={...this._options.meta,...e},this}send(){return this.client.send(this._url,this.method,this._options)}async data(){return(await this.client.send(this._url,this.method,this._options)).data}async json(){let e={...this._options};return e.headers={...e.headers,accept:"application/json"},(await this.client.send(this._url,this.method,e)).data}async text(){let e={...this._options};return e.parseResponse=n=>new TextDecoder("utf-8").decode(n),(await this.client.send(this._url,this.method,e)).data}async bytes(){let e={...this._options};return e.parseResponse=n=>n,(await this.client.send(this._url,this.method,e)).data}async blob(){let e=await this.bytes(),t="application/octet-stream";if(typeof Blob>"u")throw new x("Blob is not available in this runtime","EUNKNOWN");return new Blob([e.buffer],{type:t})}subscribe(e,t){this.client.send(this._url,this.method,{...this._options,onSuccess:e,...t!==void 0?{onError:t}:{}}).catch(n=>t?.(n instanceof x?n:new x(String(n),"EUNKNOWN")))}};function ih(r,e){return r?{status:r.status,statusText:r.statusText,headers:r.headers,body:r.rawBody??null,request:e}:null}function Bo(r){return new ut(r)}function ah(r,e){if(!(!r&&!e))return{...r,...e}}function Uo(r,e){return new Promise((t,n)=>{if(e?.aborted){n(Bo());return}let s=()=>{clearTimeout(o),n(Bo())},o=setTimeout(()=>{e?.removeEventListener("abort",s),t()},r);e?.addEventListener("abort",s,{once:!0})})}function ch(r){return r instanceof ReadableStream?!0:typeof Blob<"u"&&r instanceof Blob}function yn(){return typeof performance<"u"?performance.now():Date.now()}function ac(r){try{return`${r.method}:${new URL(r.url).origin}`}catch{return`${r.method}:${r.url}`}}var bn=class{constructor(e,t={}){f(this,"_client");f(this,"_maxBatch");f(this,"_flushMs");f(this,"_queue",[]);f(this,"_timer",null);this._client=e;let n=t.maxBatch??100;if(!Number.isInteger(n)||n<1)throw new RangeError(`BatchQueue maxBatch must be a positive integer (got ${n})`);this._maxBatch=n;let s=t.flushMs??0;if(!Number.isFinite(s)||s<0)throw new RangeError(`BatchQueue flushMs must be a non-negative finite number (got ${s})`);this._flushMs=s}enqueue(e,t="GET",n={}){return new Promise((s,o)=>{let i={url:e,method:t,options:n,resolve:s,reject:o};this._queue.push(i);let a=n.signal;if(a){let l=()=>{let c=this._queue.indexOf(i);c!==-1&&(this._queue.splice(c,1),o(new x("Request aborted while queued","EABORT")))};if(i._abortCleanup=()=>a.removeEventListener("abort",l),a.addEventListener("abort",l,{once:!0}),a.aborted){a.removeEventListener("abort",l);let c=this._queue.indexOf(i);c!==-1&&this._queue.splice(c,1),o(new x("Request aborted before flush","EABORT"));return}}this._queue.length>=this._maxBatch?this._flushNow():this._timer||(this._flushMs===0?queueMicrotask(()=>{this._timer=null,this._flushNow()}):this._timer=setTimeout(()=>this._flushNow(),this._flushMs))})}flush(){let e=this._queue.length+1;for(;this._queue.length>0&&e-- >0;)this._flushNow()}get pendingCount(){return this._queue.length}_flushNow(){if(this._timer!==null&&(clearTimeout(this._timer),this._timer=null),this._queue.length===0)return;let e=this._queue.splice(0,this._maxBatch);for(let t of e){let n=o=>{t._abortCleanup?.(),t.resolve(o)},s=o=>{t._abortCleanup?.(),t.reject(o)};try{this._client.send(t.url,t.method,t.options).then(n,s)}catch(o){s(o)}}}};pt();nn();Et();dn();Jt();var hr=class{constructor(){f(this,"listeners",new Map)}on(e,t){let n=this.listeners.get(e)??[];return n.push({fn:t,once:!1}),this.listeners.set(e,n),this}once(e,t){let n=this.listeners.get(e)??[];return n.push({fn:t,once:!0}),this.listeners.set(e,n),this}off(e,t){let n=this.listeners.get(e);return n?(this.listeners.set(e,n.filter(s=>s.fn!==t)),this):this}async emit(e,t){let n=this.listeners.get(e);if(!n||n.length===0)return;let s=new Set;for(let o=0;o<n.length;o++){let i=n[o];try{await i.fn(t)}catch{}i.once&&s.add(o)}if(s.size>0){let o=n.filter((i,a)=>!s.has(a));this.listeners.set(e,o)}}removeAllListeners(e){return e?this.listeners.delete(e):this.listeners.clear(),this}},lh=0;function uh(){return`hook_${++lh}`}function Y(r){return[...r].sort((e,t)=>e.priority-t.priority)}var xn=class{constructor(){f(this,"beforeRequest",[]);f(this,"afterRequest",[]);f(this,"beforeResponse",[]);f(this,"afterResponse",[]);f(this,"onError",[]);f(this,"onRetry",[]);f(this,"onRedirect",[]);f(this,"onUploadProgress",[]);f(this,"onDownloadProgress",[]);f(this,"onCancel",[]);f(this,"onConnection",[]);f(this,"aroundHooks",[]);f(this,"emitter",new hr)}addBeforeRequest(e,t={}){return this._add(this.beforeRequest,e,t)}addAfterRequest(e,t={}){return this._add(this.afterRequest,e,t)}addBeforeResponse(e,t={}){return this._add(this.beforeResponse,e,t)}addAfterResponse(e,t={}){return this._add(this.afterResponse,e,t)}addOnError(e,t={}){return this._add(this.onError,e,t)}addOnRetry(e,t={}){return this._add(this.onRetry,e,t)}addOnRedirect(e,t={}){return this._add(this.onRedirect,e,t)}addOnUploadProgress(e,t={}){return this._add(this.onUploadProgress,e,t)}addOnDownloadProgress(e,t={}){return this._add(this.onDownloadProgress,e,t)}addOnCancel(e,t={}){return this._add(this.onCancel,e,t)}addOnConnection(e,t={}){return this._add(this.onConnection,e,t)}addAround(e,t={}){return this._add(this.aroundHooks,e,t)}remove(e){let t=!1,n=[this.beforeRequest,this.afterRequest,this.beforeResponse,this.afterResponse,this.onError,this.onRetry,this.onRedirect,this.onUploadProgress,this.onDownloadProgress,this.onCancel,this.onConnection,this.aroundHooks];for(let s of n){let o=s.length,i=s.filter(a=>a.id!==e);i.length<o&&(s.length=0,s.push(...i),t=!0)}return t}removeAll(){this.beforeRequest.length=0,this.afterRequest.length=0,this.beforeResponse.length=0,this.afterResponse.length=0,this.onError.length=0,this.onRetry.length=0,this.onRedirect.length=0,this.onUploadProgress.length=0,this.onDownloadProgress.length=0,this.onCancel.length=0,this.onConnection.length=0,this.aroundHooks.length=0}has(e){return[this.beforeRequest,this.afterRequest,this.beforeResponse,this.afterResponse,this.onError,this.onRetry,this.onRedirect,this.onUploadProgress,this.onDownloadProgress,this.onCancel,this.onConnection,this.aroundHooks].some(n=>n.some(s=>s.id===e))}async runBeforeRequest(e,t){let n=e;for(let s of Y(this.beforeRequest)){if(!this._shouldRun(s,t))continue;let o=await this._safeRun(s,()=>s.fn(n,t));o&&typeof o=="object"&&"url"in o&&(n=o),this._maybeEject(s,this.beforeRequest)}return await this.emitter.emit("before:request",n),n}async runAfterRequest(e,t){for(let n of Y(this.afterRequest))this._shouldRun(n,t)&&(await this._safeRun(n,()=>n.fn(e,t)),this._maybeEject(n,this.afterRequest));await this.emitter.emit("after:request",e)}async runBeforeResponse(e,t){let n=e;for(let s of Y(this.beforeResponse)){if(!this._shouldRun(s,t))continue;let o=await this._safeRun(s,()=>s.fn(n,t));o&&typeof o=="object"&&"status"in o&&(n=o),this._maybeEject(s,this.beforeResponse)}return await this.emitter.emit("before:response",n),n}async runAfterResponse(e,t){for(let n of Y(this.afterResponse))this._shouldRun(n,t)&&(await this._safeRun(n,()=>n.fn(e,t)),this._maybeEject(n,this.afterResponse));await this.emitter.emit("after:response",e)}async runOnError(e,t){for(let n of Y(this.onError)){if(!this._shouldRun(n,t))continue;let s=await this._safeRun(n,()=>n.fn(e,t));if(this._maybeEject(n,this.onError),s&&typeof s=="object"&&"status"in s)return s}return await this.emitter.emit("error",e),null}async runOnRetry(e,t){for(let n of Y(this.onRetry))this._shouldRun(n,t)&&(await this._safeRun(n,()=>n.fn(e,t)),this._maybeEject(n,this.onRetry));await this.emitter.emit("retry",e)}async runOnRedirect(e,t){let n=!0;for(let s of Y(this.onRedirect)){if(!this._shouldRun(s,t))continue;let o=await this._safeRun(s,()=>s.fn(e,t));if(this._maybeEject(s,this.onRedirect),o===!1){n=!1;break}}return await this.emitter.emit("redirect",e),n}runOnUploadProgress(e,t){for(let n of Y(this.onUploadProgress))if(this._shouldRun(n,t)){try{n.fn(e,t)}catch{}this._maybeEject(n,this.onUploadProgress)}this.emitter.emit("upload:progress",e)}runOnDownloadProgress(e,t){for(let n of Y(this.onDownloadProgress))if(this._shouldRun(n,t)){try{n.fn(e,t)}catch{}this._maybeEject(n,this.onDownloadProgress)}this.emitter.emit("download:progress",e)}runOnCancel(e,t){for(let n of Y(this.onCancel)){try{n.fn(e,t)}catch{}this._maybeEject(n,this.onCancel)}this.emitter.emit("cancel",e)}runOnConnection(e){for(let t of Y(this.onConnection)){try{t.fn(e)}catch{}this._maybeEject(t,this.onConnection)}this.emitter.emit("connection",e)}wrapWithAround(e,t){let n=Y(this.aroundHooks).reverse(),s=t;for(let o of n){let i=s;s=()=>{if(!this._shouldRun(o,e))return i();let a=o.fn(e,i);return this._maybeEject(o,this.aroundHooks),a}}return s}_add(e,t,n){let s=n.id??uh();return e.push({id:s,priority:n.priority??0,once:n.once??!1,condition:n.condition??null,safe:n.safe??!1,fn:t}),s}_shouldRun(e,t){return e.condition?e.condition(t):!0}async _safeRun(e,t){try{return await t()}catch(n){if(!e.safe)throw n;console.error(`[lifecycle] Hook "${e.id}" threw:`,n);return}}_maybeEject(e,t){if(!e.once)return;let n=t.indexOf(e);n!==-1&&t.splice(n,1)}};var _n=class{constructor(e=10){f(this,"maxRedirects");f(this,"count",0);this.maxRedirects=e}record(e,t,n,s){if(this.count++,this.count>this.maxRedirects)throw new fr(this.count,e);return{from:e,to:t,status:n,count:this.count,request:s}}get redirectCount(){return this.count}reset(){this.count=0}},fr=class extends Error{constructor(t,n){super(`Too many redirects (${t}) at ${n}`);f(this,"count");f(this,"url");f(this,"code","ETOOMANYREDIRECTS");this.count=t,this.url=n,this.name="TooManyRedirectsError"}};function cc(r){return async e=>(await r(e),e)}function lc(r){return async e=>({...e,headers:{...e.headers,...typeof r=="function"?await r():r}})}function uc(r){return e=>{if(/^https?:\/\//i.test(e.url))return;let t=r.endsWith("/")||e.url.startsWith("/")?"":"/";return{...e,url:`${r}${t}${e.url}`}}}function hc(r=e=>e>=400){return e=>{if(e.response&&r(e.response.status))throw new dr(e.response.status,e.response.statusText,e.response)}}function fc(r){return e=>{let t=r(e);if(t===!0)return;let n=typeof t=="string"?t:`Response validation failed (status ${e.status})`;throw new pr(n,e)}}var dr=class extends Error{constructor(t,n,s){super(`HTTP ${t}: ${n}`);f(this,"status");f(this,"statusText");f(this,"response");f(this,"code","EHTTPERROR");this.status=t,this.statusText=n,this.response=s,this.name="HTTPError"}},pr=class extends Error{constructor(t,n){super(t);f(this,"response");f(this,"code","EVALIDATION");this.response=n,this.name="ResponseValidationError"}};function dc(...r){return async(e,t)=>{let n=e;for(let s of r){let o=await s(n,t);o&&typeof o=="object"&&"url"in o&&(n=o)}return n}}function pc(...r){return async(e,t)=>{let n=e;for(let s of r){let o=await s(n,t);o&&typeof o=="object"&&"status"in o&&(n=o)}return n}}function mc(...r){return(e,t)=>r.reduceRight((s,o)=>()=>o(e,s),t)()}function gc(r={}){let e=r.logger??((s,o)=>console.log(s,JSON.stringify(o))),t=new Set((r.redactHeaders??["authorization","cookie"]).map(s=>s.toLowerCase()));function n(s){let o={};for(let[i,a]of Object.entries(s))o[i]=t.has(i.toLowerCase())?"***":a;return o}return{beforeRequest:s=>{e("\u2192 request",{method:s.method,url:s.url,headers:n(s.headers)})},afterResponse:s=>{e("\u2190 response",{status:s.status,url:s.request.url,headers:n(s.headers)})},onError:s=>{e("\u2717 error",{url:s.request.url,error:s.error instanceof Error?s.error.message:String(s.error),status:s.response?.status??null})}}}function yc(){let r="__kinetex_timing__";return{beforeRequest:(e,t)=>{t.meta[r]=zo()},afterResponse:(e,t)=>{let n=t.meta[r],s=n!==void 0?zo()-n:null;s!==null&&(t.meta.durationMs=s)}}}function wc(r="utf-8"){return e=>{if(e.body instanceof Uint8Array)return{...e,body:new TextDecoder(r).decode(e.body)}}}function bc(){return{beforeRequest:(r,e)=>{if(r.signal?.aborted)throw e.meta.aborted=!0,hh("Request aborted before sending")},onCancel:r=>{console.debug(`[lifecycle] Request cancelled: ${r.request.url}`,r.reason)}}}function hh(r){if(typeof DOMException<"u")return new DOMException(r,"AbortError");let e=new Error(r);return e.name="AbortError",e}function zo(){return typeof performance<"u"?performance.now():Date.now()}function xc(r,e={}){return{request:r,response:null,error:null,startedAt:zo(),attempt:1,meta:{},...e}}cn();gn();Xr();var $t={NoAuth:0,GSSAPI:1,UserPassword:2,NoAcceptable:255},se={IPv4:1,Domain:3,IPv6:4},fh={Connect:1,Bind:2,UdpAssociate:3},Z={Succeeded:0,GeneralFailure:1,ConnNotAllowed:2,NetworkUnreachable:3,HostUnreachable:4,ConnRefused:5,TtlExpired:6,CmdNotSupported:7,AddrTypeNotSupported:8},dh={[Z.Succeeded]:"Succeeded",[Z.GeneralFailure]:"General SOCKS server failure",[Z.ConnNotAllowed]:"Connection not allowed by ruleset",[Z.NetworkUnreachable]:"Network unreachable",[Z.HostUnreachable]:"Host unreachable",[Z.ConnRefused]:"Connection refused",[Z.TtlExpired]:"TTL expired",[Z.CmdNotSupported]:"Command not supported",[Z.AddrTypeNotSupported]:"Address type not supported"},L=class extends Error{constructor(t,n,s=!1){super(t);f(this,"code");f(this,"retriable");this.code=n,this.retriable=s,this.name="Socks5Error"}};function ph(r){let e=dh[r]??`Unknown reply code 0x${r.toString(16)}`,t=r===Z.NetworkUnreachable||r===Z.TtlExpired;return new L(`SOCKS5 proxy error: ${e}`,`SOCKS5_REPLY_${r}`,t)}var Fo=class{constructor(e,t){f(this,"conn");f(this,"timeoutMs");f(this,"buf",new Uint8Array(0));this.conn=e,this.timeoutMs=t}async readExact(e){for(;this.buf.length<e;){let n=new Uint8Array(4096),o=await _c(this.conn.read(n),this.timeoutMs,"SOCKS5 handshake read timed out");if(o===null||o===0)throw new L("Connection closed during SOCKS5 handshake","SOCKS5_EOF");let i=new Uint8Array(this.buf.length+o);i.set(this.buf),i.set(n.subarray(0,o),this.buf.length),this.buf=i}let t=this.buf.slice(0,e);return this.buf=this.buf.slice(e),t}};function _c(r,e,t){return new Promise((n,s)=>{let o=setTimeout(()=>s(new L(t,"SOCKS5_TIMEOUT",!0)),e);r.then(i=>{clearTimeout(o),n(i)},i=>{clearTimeout(o),s(i)})})}function mh(r,e){let t=r.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);if(t){let o=t.slice(1).map(Number);if(o.every(i=>i>=0&&i<=255))return new Uint8Array([se.IPv4,...o])}let n=r.startsWith("[")&&r.endsWith("]")?r.slice(1,-1):r;if(gh(n)){let o=yh(n);return new Uint8Array([se.IPv6,...o])}e||console.warn("[socks5] remoteDns=false but got a hostname; sending as DOMAINNAME");let s=new TextEncoder().encode(r);if(s.length>255)throw new L("Hostname too long for SOCKS5 (max 255 bytes)","SOCKS5_ADDR_TOO_LONG");return new Uint8Array([se.Domain,s.length,...s])}function gh(r){return r.includes(":")}function yh(r){let e=r.split("::"),t=o=>o?o.split(":").map(i=>parseInt(i||"0",16)):[],n;if(e.length===2){let o=t(e[0]),i=t(e[1]),a=new Array(8-o.length-i.length).fill(0);n=[...o,...a,...i]}else n=t(r);if(n.length!==8)throw new L(`Invalid IPv6 address: ${r}`,"SOCKS5_INVALID_ADDR");for(let o of n)if(o<0||o>65535)throw new L(`Invalid IPv6 group: ${o} out of range (0-65535)`,"SOCKS5_INVALID_ADDR");let s=[];for(let o of n)s.push(o>>8&255,o&255);return s}function qo(r,e){if(r===se.IPv4)return Array.from(e).join(".");if(r===se.IPv6){let t=[];for(let n=0;n<16;n+=2)t.push((e[n]<<8|e[n+1]).toString(16));return t.join(":")}return new TextDecoder().decode(e)}async function wh(r,e,t){let n=new Fo(r,t.handshakeTimeoutMs),s=!!(t.username&&t.password),o=s?[$t.NoAuth,$t.UserPassword]:[$t.NoAuth],i=new Uint8Array([5,o.length,...o]);await r.write(i);let a=await n.readExact(2);if(a[0]!==5)throw new L(`Unexpected SOCKS version in method response: ${a[0]}`,"SOCKS5_BAD_VERSION");let l=a[1];if(l===$t.NoAcceptable)throw new L("SOCKS5 proxy rejected all authentication methods","SOCKS5_NO_ACCEPTABLE_METHOD");if(l===$t.UserPassword){if(!s)throw new L("SOCKS5 proxy requires username/password but none provided","SOCKS5_AUTH_REQUIRED");await bh(r,n,t.username,t.password)}else if(l!==$t.NoAuth)throw new L(`SOCKS5 proxy chose unsupported auth method: 0x${l.toString(16)}`,"SOCKS5_UNSUPPORTED_METHOD");let c=mh(e.host,t.remoteDns),u=e.port,h=[u>>8&255,u&255],p=new Uint8Array([5,fh.Connect,0,...c,...h]);await r.write(p);let d=await n.readExact(4);if(d[0]!==5)throw new L(`Unexpected SOCKS version in reply: ${d[0]}`,"SOCKS5_BAD_VERSION");if(d[1]!==Z.Succeeded)throw ph(d[1]);let y=d[3],g,m;if(y===se.IPv4)m=await n.readExact(4),g=qo(se.IPv4,m);else if(y===se.IPv6)m=await n.readExact(16),g=qo(se.IPv6,m);else if(y===se.Domain){let _=await n.readExact(1);m=await n.readExact(_[0]),g=qo(se.Domain,m)}else throw new L(`Unsupported bound address type in reply: 0x${y.toString(16)}`,"SOCKS5_UNSUPPORTED_ADDR_TYPE");let w=await n.readExact(2),S=w[0]<<8|w[1];return{boundAddr:g,boundPort:S}}async function bh(r,e,t,n){let s=new TextEncoder,o=s.encode(t),i=s.encode(n);if(o.length>255||i.length>255)throw new L("Username or password too long (max 255 bytes)","SOCKS5_AUTH_TOO_LONG");let a=new Uint8Array([1,o.length,...o,i.length,...i]);await r.write(a);let l=await e.readExact(2);if(l[0]!==1&&l[0]!==5)throw new L(`Unexpected auth sub-negotiation version: ${l[0]}`,"SOCKS5_BAD_AUTH_VERSION");if(l[1]!==0)throw new L("SOCKS5 authentication failed (invalid credentials)","SOCKS5_AUTH_FAILED")}async function xh(r,e,t){let n;for(let s=0;s<=e;s++)try{return await r()}catch(o){if(n=o,!(o instanceof L&&o.retriable)||s===e)break;await _h(t*Math.pow(2,s))}throw n}function _h(r){return new Promise(e=>setTimeout(e,r))}function Sh(r){return{host:r.host,port:r.port??1080,username:r.username??"",password:r.password??"",remoteDns:r.remoteDns??!0,connectTimeoutMs:r.connectTimeoutMs??1e4,handshakeTimeoutMs:r.handshakeTimeoutMs??1e4,maxRetries:r.maxRetries??2,retryDelayMs:r.retryDelayMs??300}}async function Wo(r,e,t){let n=Sh(r);return await xh(async()=>{let s=await _c(t(n.host,n.port,n.connectTimeoutMs),n.connectTimeoutMs,`TCP connection to SOCKS5 proxy ${n.host}:${n.port} timed out`);try{let{boundAddr:o,boundPort:i}=await wh(s,e,n);return{conn:s,boundAddr:o,boundPort:i}}catch(o){throw s.close(),o}},n.maxRetries,n.retryDelayMs)}function Sc(r){let e;try{Eh(r),e=new URL(r)}catch{throw new L("Invalid SOCKS5 proxy URL: malformed URL","SOCKS5_BAD_URL")}if(e.protocol!=="socks5:"&&e.protocol!=="socks5h:")throw new L(`Expected socks5:// or socks5h:// scheme, got: ${e.protocol}`,"SOCKS5_BAD_SCHEME");let t=e.protocol==="socks5h:",n=e.hostname,s=e.port?parseInt(e.port,10):1080;if(!Number.isFinite(s)||s<1||s>65535)throw new L("Invalid SOCKS5 proxy URL: port must be between 1 and 65535","SOCKS5_BAD_URL");if(!n)throw new L("Invalid SOCKS5 proxy URL: no hostname specified (e.g., socks5://host:port)","SOCKS5_BAD_URL");let o={host:n,port:s,remoteDns:t};return e.username&&(o.username=decodeURIComponent(e.username)),e.password&&(o.password=decodeURIComponent(e.password)),o}function Eh(r){try{let e=new URL(r);return`${e.protocol}//${e.host}${e.pathname}${e.search}${e.hash}`}catch{return"[redacted]"}}var Ec=async(r,e,t)=>{let n=globalThis,s=async(a,l)=>{if(!t||t<=0)return a;let c;try{return await Promise.race([a,new Promise((u,h)=>{c=setTimeout(()=>h(new L(l,"SOCKS5_TIMEOUT",!0)),t)})])}finally{c!==void 0&&clearTimeout(c)}},o=await s(n.Deno.connect({hostname:r,port:e,transport:"tcp"}),"TCP connect to proxy timed out");return{read:a=>{let l=o.read(a).catch(()=>null);return s(l,"TCP read timed out")},write:a=>o.write(a),close:()=>{try{o.close()}catch{}}}},Tc=(r,e,t)=>new Promise((n,s)=>{import("node:net").then(({createConnection:o})=>{let i=o({host:r,port:e}),a=setTimeout(()=>{i.destroy(),s(new L("TCP connect to proxy timed out","SOCKS5_TIMEOUT",!0))},t),l=new Uint8Array(0),c=null,u=null,h=null,p=null;function d(){if(!c||!h||l.length===0)return;let m=Math.min(l.length,h.length);h.set(l.subarray(0,m)),l=l.slice(m);let w=c;c=null,u=null,h=null,w(m)}function y(m){if(u){let w=u;c=null,u=null,h=null,w(m)}}i.on("data",m=>{let w=new Uint8Array(l.length+m.length);w.set(l),w.set(m,l.length),l=w,d()});let g=!1;i.on("end",()=>{g=!0,c&&(c(null),c=null,u=null,h=null)}),i.on("close",()=>{g=!0}),i.once("error",m=>{clearTimeout(a),p=m,y(m),s(m)}),i.once("connect",()=>{clearTimeout(a),i.on("error",m=>{p=m,y(m)}),n({read:m=>new Promise((w,S)=>{if(p){S(p);return}if(g&&l.length===0){w(null);return}if(l.length>0){let _=Math.min(l.length,m.length);m.set(l.subarray(0,_)),l=l.slice(_),w(_);return}c=w,u=S,h=m}),write:m=>new Promise((w,S)=>{i.write(m,_=>_?S(_):w(m.length))}),close:()=>i.destroy()})})}).catch(s)});function Rc(r,e){return async(t,n,s)=>(await Wo({connectTimeoutMs:s,...r},{host:t,port:n},e)).conn}ar();je();je();Et();pt();Zs();ar();dn();gn();cn();Xr();Jt();var Ko=class extends Error{constructor(t){super(t);f(this,"code","URL_VALIDATION_ERROR");this.name="URLValidationError"}},Th=/^[A-Za-z0-9\-._~]$/,Rh=/^[:/?#\[\]@!$&'()*+,;=]$/;function Sn(r,e=!1){return Array.from(r).map(t=>{if(Th.test(t)||e&&Rh.test(t))return t;let n=t.codePointAt(0);if(n>65535){let s=new TextEncoder().encode(t);return Array.from(s).map(o=>"%"+o.toString(16).toUpperCase().padStart(2,"0")).join("")}if(n>127){let s=new TextEncoder().encode(t);return Array.from(s).map(o=>"%"+o.toString(16).toUpperCase().padStart(2,"0")).join("")}return"%"+n.toString(16).toUpperCase().padStart(2,"0")}).join("")}function Le(r){try{return decodeURIComponent(r.replace(/\+/g,"%20"))}catch{return r.replace(/%([0-9A-Fa-f]{2})/g,(e,t)=>String.fromCharCode(parseInt(t,16)))}}function Vo(r){return encodeURIComponent(r).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A")}function Ye(r){return encodeURIComponent(r).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A")}function Cc(r,e={}){let{sort:t=!1,arrayFormat:n="repeat"}=e,s=[];for(let[o,i]of Object.entries(r)){if(i==null)continue;let a=Ye(o);if(Array.isArray(i)){let l=i.filter(c=>c!=null);if(l.length===0)continue;if(n==="comma")s.push([a,l.map(c=>Ye(String(c))).join(",")]);else if(n==="bracket")for(let c of l)s.push([`${a}[]`,Ye(String(c))]);else for(let c of l)s.push([a,Ye(String(c))])}else s.push([a,Ye(String(i))])}return t&&s.sort(([o],[i])=>o<i?-1:o>i?1:0),s.map(([o,i])=>`${o}=${i}`).join("&")}function Jo(r){let e=r.startsWith("?")?r.slice(1):r,t={};if(!e)return t;for(let n of e.split("&")){if(!n)continue;let s=n.indexOf("="),o=Le(s===-1?n:n.slice(0,s)),i=s===-1?"":Le(n.slice(s+1)),a=t[o];a===void 0?t[o]=i:Array.isArray(a)?a.push(i):t[o]=[a,i]}return t}function vc(r,e){let t={...r};for(let[n,s]of Object.entries(e))s==null?delete t[n]:t[n]=s;return t}function Pc(r,...e){let t={};for(let n of e)n in r&&(t[n]=r[n]);return t}function Ic(r,...e){let t=new Set(e),n={};for(let[s,o]of Object.entries(r))t.has(s)||(n[s]=o);return n}function Qo(...r){if(r.length===0)return"/";let e=[];for(let i of r)i&&e.push(...i.split("/").filter((a,l)=>a!==""||l===0));let n=Lc(e).join("/"),o=r[r.length-1]?.endsWith("/")&&n!=="/"?"/":"";return(n.startsWith("/")?"":"/")+n+o}function Lc(r){let e=[];for(let t of r)t!=="."&&(t===".."?e.pop():e.push(t));return e}function Go(r,e={}){let{trailingSlash:t="preserve"}=e,n=r.endsWith("/")&&r!=="/",s=r.split("/").filter(Boolean),i="/"+Lc(s).join("/");return t==="add"&&i!=="/"?i+="/":t==="remove"||t==="preserve"&&n&&i!=="/"&&(i+="/"),i}function Mc(r){return r.split("/").filter(Boolean).map(Le)}function Xo(r,e){return r.replace(/:([A-Za-z_][A-Za-z0-9_]*)/g,(t,n)=>{let s=e[n];if(s===void 0)throw new Ko(`Missing path param: "${n}"`);return Vo(String(s))})}var kh={"http:":"80","https:":"443","ftp:":"21","ws:":"80","wss:":"443"};function Oc(r,e={}){let t=Oe(r);if(!t)throw new TypeError(`Invalid URL: ${r}`);let n=kh[t.protocol],s=t.port===n?"":t.port,o=Go(t.pathname,{trailingSlash:e.trailingSlash??"preserve"});e.sortParams&&t.searchParams.sort();let i=t.searchParams.toString()?`?${t.searchParams}`:"",a=e.removeFragment?"":t.hash,l=t.username?`${encodeURIComponent(t.username)}${t.password?":"+encodeURIComponent(t.password):""}@`:"",c=s?`${t.hostname}:${s}`:t.hostname;return`${t.protocol}//${l}${c}${o}${i}${a}`}var Me=class r{constructor(e,t){f(this,"_url");try{this._url=new URL(String(e),t)}catch{throw new TypeError(`Invalid URL: "${e}"${t?` (base: "${t}")`:""}`)}}static from(e,t){return new r(e,t)}static https(e,t){return new r(`https://${e}${t??"/"}`)}static http(e,t){return new r(`http://${e}${t??"/"}`)}withProtocol(e){let t=this._clone();return t._url.protocol=e.endsWith(":")?e:e+":",t}withHostname(e){let t=this._clone();return t._url.hostname=e,t}withHost(e){let t=this._clone();return t._url.host=e,t}withPort(e){let t=this._clone();return t._url.port=String(e),t}withUsername(e){let t=this._clone();return t._url.username=encodeURIComponent(e),t}withPassword(e){let t=this._clone();return t._url.password=encodeURIComponent(e),t}withPathname(e){let t=this._clone();return t._url.pathname=e,t}appendPath(...e){let t=this._clone(),n=t._url.pathname.replace(/\/$/,""),s=e.map(o=>o.replace(/^\/|\/$/g,"")).filter(Boolean);return t._url.pathname=n+"/"+s.join("/"),t}path(...e){let t=this._clone();return t._url.pathname=Qo(...e),t}params(e){let t=this._clone();t._url.pathname=Xo(t._url.pathname,e);for(let[n,s]of Object.entries(e))t._url.searchParams.set(n,String(s));return t}addTrailingSlash(){let e=this._clone();return e._url.pathname.endsWith("/")||(e._url.pathname+="/"),e}removeTrailingSlash(){let e=this._clone();return e._url.pathname!=="/"&&e._url.pathname.endsWith("/")&&(e._url.pathname=e._url.pathname.slice(0,-1)),e}setParam(e,t){let n=this._clone();return t==null?n._url.searchParams.delete(e):n._url.searchParams.set(e,String(t)),n}appendParam(e,t){if(t==null)return this;let n=this._clone();return n._url.searchParams.append(e,String(t)),n}deleteParam(e){let t=this._clone();return t._url.searchParams.delete(e),t}query(e){let t=this._clone();for(let[n,s]of Object.entries(e))if(s==null)t._url.searchParams.delete(n);else if(Array.isArray(s)){t._url.searchParams.delete(n);for(let o of s)o!=null&&t._url.searchParams.append(n,String(o))}else t._url.searchParams.set(n,String(s));return t}setQuery(e){let t=this._clone();return t._url.search="",t.query(e)}pickParams(...e){let t=this._clone(),n=new Set(e),s=[];for(let[o,i]of t._url.searchParams.entries())n.has(o)&&s.push([o,i]);t._url.search="";for(let[o,i]of s)t._url.searchParams.append(o,i);return t}omitParams(...e){let t=this._clone(),n=new Set(e);for(let s of n)t._url.searchParams.delete(s);return t}sortParams(){let e=this._clone();return e._url.searchParams.sort(),e}redactParams(...e){let t=this._clone();for(let n of e)t._url.searchParams.has(n)&&(t=t.setParam(n,"REDACTED"));return t}withHash(e){let t=this._clone();return t._url.hash=e.startsWith("#")?e:"#"+e,t}removeHash(){let e=this._clone();return e._url.hash="",e}toString(){return this._url.toString()}toURL(){return new URL(this._url.toString())}get href(){return this._url.href}get protocol(){return this._url.protocol}get hostname(){return this._url.hostname}get host(){return this._url.host}get port(){return this._url.port}get pathname(){return this._url.pathname}get search(){return this._url.search}get hash(){return this._url.hash}get origin(){return this._url.origin}get searchParams(){return new URLSearchParams(this._url.searchParams)}get queryObject(){return Jo(this._url.search)}_clone(){return new r(this._url.toString())}};function Dc(r,e){return r.replace(/\{([^}]+)\}/g,(t,n)=>{let s=n[0],o="+#./;?&".includes(s),i=(o?n.slice(1):n).split(",");return Ah(o?s:"",i,e)})}function Ah(r,e,t){let n=Ph(r),s=Ih(r),o=Lh(r),i=Mh(r),a=r==="+"||r==="#",l=[];for(let c of e){let{name:u,explode:h,maxLength:p}=Ch(c.trim()),d=t[u];if(d==null)continue;let y=vh(d,u,o,h,p,a,n,i);y!==null&&l.push(y)}return l.length===0?"":s+l.join(n)}function Ch(r){if(r.endsWith("*"))return{name:r.slice(0,-1),explode:!0,maxLength:null};let e=r.lastIndexOf(":");if(e!==-1){let t=parseInt(r.slice(e+1),10);return{name:r.slice(0,e),explode:!1,maxLength:isNaN(t)?null:t}}return{name:r,explode:!1,maxLength:null}}function vh(r,e,t,n,s,o,i,a){let l=c=>o?Sn(c,!0):Sn(c);if(typeof r=="string"||typeof r=="number"||typeof r=="boolean"){let c=String(r);s!==null&&(c=c.slice(0,s));let u=l(c);return t?`${e}${u===""?a:"="+u}`:u}if(Array.isArray(r)){if(r.length===0)return null;if(n)return r.map(u=>{let h=l(String(u));return t?`${e}=${h}`:h}).join(i);let c=r.map(u=>l(String(u))).join(",");return t?`${e}=${c}`:c}if(typeof r=="object"&&r!==null){let c=Object.entries(r);if(c.length===0)return null;if(n)return c.map(([h,p])=>`${l(h)}=${l(p)}`).join(i);let u=c.flatMap(([h,p])=>[l(h),l(p)]).join(",");return t?`${e}=${u}`:u}return null}function Ph(r){switch(r){case".":return".";case"/":return"/";case";":return";";case"?":case"&":return"&";default:return","}}function Ih(r){switch(r){case"#":return"#";case".":return".";case"/":return"/";case";":return";";case"?":return"?";case"&":return"&";default:return""}}function Lh(r){return r===";"||r==="?"||r==="&"}function Mh(r){return r===";"?"":"="}function Nc(r){let e=[],t={n:0},n=r.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\\\*/g,"*").replace(/\*\*/g,()=>"(.+?)").replace(/\*(?!\*)/g,()=>(t.n++,"([^/]+)")).replace(/:([A-Za-z_][A-Za-z0-9_]*)(?:\(([^)]+)\))?/g,(o,i,a)=>(e.push(i),`(${a??"[^/]+"})`)),s=new RegExp(`^${n}\\/?$`);return{match(o){let i=kc(o),a=s.exec(i);if(!a)return null;let l={},c=[],u={},h=1;for(let p of e)l[p]=Le(a[h++]??"");for(;h<=a.length-1;){let p=a[h++]??"";c.push(...p.split("/").filter(Boolean).map(Le))}return{params:l,wildcards:c,groups:u}},test(o){return s.test(kc(o))}}}function kc(r){try{return new URL(r).pathname}catch{return r}}function En(r){let e=Oe(r);return e?["file:","data:","blob:"].includes(e.protocol)?"null":e.origin:null}function Uc(r,e){let t=En(r),n=En(e);return!t||!n?!1:t===n}function $c(r,e){let t=Oe(r),n=Oe(e);return!t||!n||t.protocol!==n.protocol?!1:Ac(t.hostname)===Ac(n.hostname)}function Ac(r){let e=new Set(["co.uk","co.jp","co.kr","co.nz","co.za","co.in","com.au","com.br","com.mx","com.cn","com.tw","com.hk","com.sg","com.my","com.ph","com.vn","com.tr","net.au","net.uk","net.br","org.uk","org.au","org.nz","org.cn","org.in","ac.uk","gov.uk","gov.au","gov.cn","or.kr","pe.kr","go.jp","ne.jp","ac.jp","github.io","herokuapp.com","cloudfront.net"]),t=r.split(".");if(t.length>=3){let n=t.slice(-2).join(".");if(e.has(n))return t.slice(-3).join(".")}return t.slice(-2).join(".")}function Hc(r,e){try{return new URL(r,e).toString()}catch{throw new TypeError(`Cannot resolve "${r}" against base "${e}"`)}}function jc(r,e){try{let t=new URL(r),n=new URL(e);return t.origin!==n.origin||!t.pathname.startsWith(n.pathname)?null:t.pathname.slice(n.pathname.length)+t.search+t.hash}catch{return null}}function Yo(r){try{if(/^[A-Za-z][A-Za-z0-9+\-.]*:\/\//.test(r))return!0;let e=new URL(r);return e.protocol!==""&&e.protocol!=="file:"}catch{return!1}}function Bc(r){return!Yo(r)}function zc(r){try{return new URL(r).protocol==="https:"}catch{return!1}}function qc(r){try{let e=new URL(r).protocol;return e==="http:"||e==="https:"}catch{return!1}}function Fc(r){return r.trimStart().startsWith("data:")}function Wc(r){return r.trimStart().startsWith("blob:")}function Kc(r){try{let e=new URL(r).hostname;return e==="localhost"||e==="127.0.0.1"||e==="::1"||e.endsWith(".localhost")}catch{return!1}}function Vc(r){let e=r.match(/^data:([^;,]+)?(;base64)?,(.*)$/s);return e?{mediaType:e[1]??"text/plain",isBase64:!!e[2],data:e[3]??""}:null}function Jc(r,e,t=!0){if(typeof r=="string")return t?`data:${e};base64,${btoa(r)}`:`data:${e},${encodeURIComponent(r)}`;let n=new TextDecoder("iso-8859-1").decode(r);return`data:${e};base64,${btoa(n)}`}function Qc(r,e){let t=Oe(r),n=Oe(e);if(!t||!n)throw new TypeError(`Cannot diff invalid URLs: "${r}" vs "${e}"`);let s={addedParams:{},removedParams:{},changedParams:{}};t.protocol!==n.protocol&&(s.protocol=[t.protocol,n.protocol]),t.hostname!==n.hostname&&(s.hostname=[t.hostname,n.hostname]),t.port!==n.port&&(s.port=[t.port,n.port]),t.pathname!==n.pathname&&(s.pathname=[t.pathname,n.pathname]),t.hash!==n.hash&&(s.hash=[t.hash,n.hash]);for(let[o,i]of t.searchParams.entries()){let a=n.searchParams.get(o);a===null?s.removedParams[o]=i:a!==i&&(s.changedParams[o]=[i,a])}for(let[o,i]of n.searchParams.entries())t.searchParams.has(o)||(s.addedParams[o]=i);return t.search!==n.search&&!Object.keys(s.changedParams).length&&!Object.keys(s.addedParams).length&&!Object.keys(s.removedParams).length&&(s.search=[t.search,n.search]),s}function Oe(r){try{return new URL(r)}catch{return null}}function Gc(r){return Me.from(r).addTrailingSlash().toString()}function Xc(r){return Me.from(r).removeTrailingSlash().toString()}function Yc(r){return Me.from(r).removeHash().toString()}function Zc(r){try{let e=new URL(r);return e.search="",e.toString()}catch{return r}}function el(r){try{let t=new URL(r).pathname.split("/").pop()??"",n=t.lastIndexOf(".");return n===-1?"":t.slice(n+1).toLowerCase()}catch{return""}}function tl(r){try{let e=new URL(r).pathname;return Le(e.split("/").filter(Boolean).pop()??"")}catch{return""}}function rl(r,...e){return Me.from(r).redactParams(...e).toString()}B();function nl(r={}){return new Ut(r)}var Oh=nl;return pl(Dh);})();