cline 2.8.2 → 2.9.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.
package/dist/lib.mjs CHANGED
@@ -149,7 +149,7 @@ you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
149
149
  new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
150
150
 
151
151
  https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
152
- `);this.baseURL=u.baseURL,this.timeout=u.timeout??DNr.DEFAULT_TIMEOUT,this.logger=u.logger??console;let c="warn";this.logLevel=c,this.logLevel=HOr(u.logLevel,"ClientOptions.logLevel",this)??HOr(IF("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??c,this.fetchOptions=u.fetchOptions,this.maxRetries=u.maxRetries??2,this.fetch=u.fetch??cOi(),vo(this,sxt,dOi,"f"),this._options=u,this.apiKey=typeof r=="string"?r:"Missing Key",this.organization=n,this.project=o,this.webhookSecret=s}withOptions(e){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...e})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:r}){}async authHeaders(e){return bi([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(e){return qOr(e,{arrayFormat:"brackets"})}getUserAgent(){return`${this.constructor.name}/JS ${hte}`}defaultIdempotencyKey(){return`stainless-node-retry-${wOr()}`}makeStatusError(e,r,n,o){return vE.generate(e,r,n,o)}async _callApiKey(){let e=this._options.apiKey;if(typeof e!="function")return!1;let r;try{r=await e()}catch(n){throw n instanceof Qi?n:new Qi(`Failed to get token from 'apiKey' function: ${n.message}`,{cause:n})}if(typeof r!="string"||!r)throw new Qi(`Expected 'apiKey' function argument to return a string but it returned ${r}`);return this.apiKey=r,!0}buildURL(e,r,n){let o=!Yr(this,BNr,"m",p5i).call(this)&&n||this.baseURL,s=Zki(e)?new URL(e):new URL(o+(o.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),a=this.defaultQuery();return eOi(a)||(r={...a,...r}),typeof r=="object"&&r&&!Array.isArray(r)&&(s.search=this.stringifyQuery(r)),s.toString()}async prepareOptions(e){await this._callApiKey()}async prepareRequest(e,{url:r,options:n}){}get(e,r){return this.methodRequest("get",e,r)}post(e,r){return this.methodRequest("post",e,r)}patch(e,r){return this.methodRequest("patch",e,r)}put(e,r){return this.methodRequest("put",e,r)}delete(e,r){return this.methodRequest("delete",e,r)}methodRequest(e,r,n){return this.request(Promise.resolve(n).then(o=>({method:e,path:r,...o})))}request(e,r=null){return new hpe(this,this.makeRequest(e,r,void 0))}async makeRequest(e,r,n){let o=await e,s=o.maxRetries??this.maxRetries;r==null&&(r=s),await this.prepareOptions(o);let{req:a,url:u,timeout:c}=await this.buildRequest(o,{retryCount:s-r});await this.prepareRequest(a,{url:u,options:o});let f="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),h=n===void 0?"":`, retryOf: ${n}`,p=Date.now();if(CE(this).debug(`[${f}] sending request`,Hj({retryOfRequestLogID:n,method:o.method,url:u,options:o,headers:a.headers})),o.signal?.aborted)throw new Ty;let d=new AbortController,A=await this.fetchWithTimeout(u,a,c,d).catch(WVe),g=Date.now();if(A instanceof globalThis.Error){let R=`retrying, ${r} attempts remaining`;if(o.signal?.aborted)throw new Ty;let D=VVe(A)||/timed? ?out/i.test(String(A)+("cause"in A?String(A.cause):""));if(r)return CE(this).info(`[${f}] connection ${D?"timed out":"failed"} - ${R}`),CE(this).debug(`[${f}] connection ${D?"timed out":"failed"} (${R})`,Hj({retryOfRequestLogID:n,url:u,durationMs:g-p,message:A.message})),this.retryRequest(o,r,n??f);throw CE(this).info(`[${f}] connection ${D?"timed out":"failed"} - error; no more retries left`),CE(this).debug(`[${f}] connection ${D?"timed out":"failed"} (error; no more retries left)`,Hj({retryOfRequestLogID:n,url:u,durationMs:g-p,message:A.message})),D?new fte:new dte({cause:A})}let E=[...A.headers.entries()].filter(([R])=>R==="x-request-id").map(([R,D])=>", "+R+": "+JSON.stringify(D)).join(""),x=`[${f}${h}${E}] ${a.method} ${u} ${A.ok?"succeeded":"failed"} with status ${A.status} in ${g-p}ms`;if(!A.ok){let R=await this.shouldRetry(A);if(r&&R){let S=`retrying, ${r} attempts remaining`;return await lOi(A.body),CE(this).info(`${x} - ${S}`),CE(this).debug(`[${f}] response error (${S})`,Hj({retryOfRequestLogID:n,url:A.url,status:A.status,headers:A.headers,durationMs:g-p})),this.retryRequest(o,r,n??f,A.headers)}let D=R?"error; no more retries left":"error; not retryable";CE(this).info(`${x} - ${D}`);let B=await A.text().catch(S=>WVe(S).message),P=nOi(B),b=P?void 0:B;throw CE(this).debug(`[${f}] response error (${D})`,Hj({retryOfRequestLogID:n,url:A.url,status:A.status,headers:A.headers,message:b,durationMs:Date.now()-p})),this.makeStatusError(A.status,P,b,A.headers)}return CE(this).info(x),CE(this).debug(`[${f}] response start`,Hj({retryOfRequestLogID:n,url:A.url,status:A.status,headers:A.headers,durationMs:g-p})),{response:A,options:o,controller:d,requestLogID:f,retryOfRequestLogID:n,startTime:p}}getAPIList(e,r,n){return this.requestAPIList(r,n&&"then"in n?n.then(o=>({method:"get",path:e,...o})):{method:"get",path:e,...n})}requestAPIList(e,r){let n=this.makeRequest(r,null,void 0);return new XVe(this,n,e)}async fetchWithTimeout(e,r,n,o){let{signal:s,method:a,...u}=r||{},c=this._makeAbort(o);s&&s.addEventListener("abort",c,{once:!0});let f=setTimeout(c,n),h=globalThis.ReadableStream&&u.body instanceof globalThis.ReadableStream||typeof u.body=="object"&&u.body!==null&&Symbol.asyncIterator in u.body,p={signal:o.signal,...h?{duplex:"half"}:{},method:"GET",...u};a&&(p.method=a.toUpperCase());try{return await this.fetch.call(void 0,e,p)}finally{clearTimeout(f)}}async shouldRetry(e){let r=e.headers.get("x-should-retry");return r==="true"?!0:r==="false"?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,r,n,o){let s,a=o?.get("retry-after-ms");if(a){let c=parseFloat(a);Number.isNaN(c)||(s=c)}let u=o?.get("retry-after");if(u&&!s){let c=parseFloat(u);Number.isNaN(c)?s=Date.parse(u)-Date.now():s=c*1e3}if(!(s&&0<=s&&s<60*1e3)){let c=e.maxRetries??this.maxRetries;s=this.calculateDefaultRetryTimeoutMillis(r,c)}return await aQ(s),this.makeRequest(e,r-1,n)}calculateDefaultRetryTimeoutMillis(e,r){let s=r-e,a=Math.min(.5*Math.pow(2,s),8),u=1-Math.random()*.25;return a*u*1e3}async buildRequest(e,{retryCount:r=0}={}){let n={...e},{method:o,path:s,query:a,defaultBaseURL:u}=n,c=this.buildURL(s,a,u);"timeout"in n&&rOi("timeout",n.timeout),n.timeout=n.timeout??this.timeout;let{bodyHeaders:f,body:h}=this.buildBody({options:n}),p=await this.buildHeaders({options:e,method:o,bodyHeaders:f,retryCount:r});return{req:{method:o,headers:p,...n.signal&&{signal:n.signal},...globalThis.ReadableStream&&h instanceof globalThis.ReadableStream&&{duplex:"half"},...h&&{body:h},...this.fetchOptions??{},...n.fetchOptions??{}},url:c,timeout:n.timeout}}async buildHeaders({options:e,method:r,bodyHeaders:n,retryCount:o}){let s={};this.idempotencyHeader&&r!=="get"&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),s[this.idempotencyHeader]=e.idempotencyKey);let a=bi([s,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(o),...e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{},...uOi(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders(e),this._options.defaultHeaders,n,e.headers]);return this.validateHeaders(a),a.values}_makeAbort(e){return()=>e.abort()}buildBody({options:{body:e,headers:r}}){if(!e)return{bodyHeaders:void 0,body:void 0};let n=bi([r]);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||typeof e=="string"&&n.values.has("content-type")||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:e}:typeof e=="object"&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&typeof e.next=="function")?{bodyHeaders:void 0,body:TIt(e)}:Yr(this,sxt,"f").call(this,{body:e,headers:n})}};DNr=La,sxt=new WeakMap,BNr=new WeakSet,p5i=function(){return this.baseURL!=="https://api.openai.com/v1"};La.OpenAI=DNr;La.DEFAULT_TIMEOUT=6e5;La.OpenAIError=Qi;La.APIError=vE;La.APIConnectionError=dte;La.APIConnectionTimeoutError=fte;La.APIUserAbortError=Ty;La.NotFoundError=nTe;La.ConflictError=iTe;La.RateLimitError=oTe;La.BadRequestError=eTe;La.AuthenticationError=tTe;La.InternalServerError=sTe;La.PermissionDeniedError=rTe;La.UnprocessableEntityError=aTe;La.InvalidWebhookSignatureError=nQ;La.toFile=UIt;La.Completions=_pe;La.Chat=gte;La.Embeddings=Ipe;La.Files=Tpe;La.Images=Dpe;La.Audio=cQ;La.Moderations=Mpe;La.Models=Ppe;La.FineTuning=wF;La.Graders=_te;La.VectorStores=Xj;La.Webhooks=Npe;La.Beta=TF;La.Batches=Epe;La.Uploads=Ite;La.Responses=Yj;La.Realtime=zj;La.Conversations=Cte;La.Evals=bte;La.Containers=vte;La.Skills=Jj;La.Videos=Ope});var $Te,A4c,A5i=ee(()=>{"use strict";Bp();SF();dWe();uxt();$Te=class extends La{constructor({baseURL:e=IF("OPENAI_BASE_URL"),apiKey:r=IF("AZURE_OPENAI_API_KEY"),apiVersion:n=IF("OPENAI_API_VERSION"),endpoint:o,deployment:s,azureADTokenProvider:a,dangerouslyAllowBrowser:u,...c}={}){if(!n)throw new Qi("The OPENAI_API_VERSION environment variable is missing or empty; either provide it, or instantiate the AzureOpenAI client with an apiVersion option, like new AzureOpenAI({ apiVersion: 'My API Version' }).");if(typeof a=="function"&&(u=!0),!a&&!r)throw new Qi("Missing credentials. Please pass one of `apiKey` and `azureADTokenProvider`, or set the `AZURE_OPENAI_API_KEY` environment variable.");if(a&&r)throw new Qi("The `apiKey` and `azureADTokenProvider` arguments are mutually exclusive; only one can be passed at a time.");if(c.defaultQuery={...c.defaultQuery,"api-version":n},e){if(o)throw new Qi("baseURL and endpoint are mutually exclusive")}else{if(o||(o=process.env.AZURE_OPENAI_ENDPOINT),!o)throw new Qi("Must provide one of the `baseURL` or `endpoint` arguments, or the `AZURE_OPENAI_ENDPOINT` environment variable");e=`${o}/openai`}super({apiKey:a??r,baseURL:e,...c,...u!==void 0?{dangerouslyAllowBrowser:u}:{}}),this.apiVersion="",this.apiVersion=n,this.deploymentName=s}async buildRequest(e,r={}){if(A4c.has(e.path)&&e.method==="post"&&e.body!==void 0){if(!lTe(e.body))throw new Error("Expected request body to be an object");let n=this.deploymentName||e.body.model||e.__metadata?.model;n!==void 0&&!this.baseURL.includes("/deployments")&&(e.path=`/deployments/${n}${e.path}`)}return super.buildRequest(e,r)}async authHeaders(e){return typeof this._options.apiKey=="string"?bi([{"api-key":this.apiKey}]):super.authHeaders(e)}},A4c=new Set(["/completions","/chat/completions","/embeddings","/audio/transcriptions","/audio/translations","/audio/speech","/images/generations","/batches","/images/edits"])});var $P=ee(()=>{"use strict";uxt();XOr();NIt();uxt();th();iQ();A5i()});var Pr,Sa=ee(()=>{"use strict";Pr=class t{static instance=null;createWebviewProvider;createDiffViewProvider;createCommentReviewController;createTerminalManager;hostBridge;logToChannel;getCallbackUrl;getBinaryLocation;extensionFsPath;globalStorageFsPath;constructor(e,r,n,o,s,a,u,c,f,h){this.createWebviewProvider=e,this.createDiffViewProvider=r,this.createCommentReviewController=n,this.createTerminalManager=o,this.hostBridge=s,this.logToChannel=a,this.getCallbackUrl=u,this.getBinaryLocation=c,this.extensionFsPath=f,this.globalStorageFsPath=h}static initialize(e,r,n,o,s,a,u,c,f,h){if(t.instance)throw new Error("Host provider has already been initialized.");return t.instance=new t(e,r,n,o,s,a,u,c,f,h),t.instance}static get(){if(!t.instance)throw new Error("HostProvider not setup. Call HostProvider.initialize() first.");return t.instance}static isInitialized(){return!!t.instance}static reset(){t.instance=null}static get workspace(){return t.get().hostBridge.workspaceClient}static get env(){return t.get().hostBridge.envClient}static get window(){return t.get().hostBridge.windowClient}static get diff(){return t.get().hostBridge.diffClient}}});async function g5i(){try{return(await Pr.workspace.getWorkspacePaths(ui.create({}))).paths.length>1}catch(t){return Ie.error("Failed to detect multi-root workspace",t),!1}}var m5i=ee(()=>{"use strict";Sa();Ci();jt()});var YTe,zP,MNr,zTe=ee(()=>{YTe="claude-dev",zP="3.74.0",MNr="saoudrizwan"});var N1,m4c,E4c,vg,E5i,JTe,y3=ee(()=>{"use strict";zTe();Sa();N1=YTe==="claude-dev"?"cline":YTe,m4c={PlusButton:N1+".plusButtonClicked",McpButton:N1+".mcpButtonClicked",SettingsButton:N1+".settingsButtonClicked",HistoryButton:N1+".historyButtonClicked",AccountButton:N1+".accountButtonClicked",WorktreesButton:N1+".worktreesButtonClicked",TerminalOutput:N1+".addTerminalOutputToChat",AddToChat:N1+".addToChat",FixWithCline:N1+".fixWithCline",ExplainCode:N1+".explainCode",ImproveCode:N1+".improveCode",FocusChatInput:N1+".focusChatInput",Walkthrough:N1+".openWalkthrough",GenerateCommit:N1+".generateGitCommitMessage",AbortCommit:N1+".abortGitCommitMessage",ReconstructTaskHistory:N1+".reconstructTaskHistory",JupyterGenerateCell:N1+".jupyterGenerateCell",JupyterExplainCell:N1+".jupyterExplainCell",JupyterImproveCell:N1+".jupyterImproveCell"},E4c={Sidebar:YTe+".SidebarProvider"},vg={id:MNr+"."+YTe,name:YTe,version:zP,publisher:MNr,commands:m4c,views:E4c},E5i=null,JTe={init:async t=>{let e=await Pr.env.getHostVersion({}),r=e.version,n=e.clineVersion||vg.version,o=e.platform||"unknown",s=process.platform||"unknown",a=e.clineType||"unknown";E5i={hostVersion:r,extensionVersion:n,platform:o,os:s,ide:a,distinctId:t}},get:()=>E5i}});function is(){return{"User-Agent":`Cline/${vg.version}`}}async function YP(){let t=is();try{let e=await Pr.env.getHostVersion(ui.create({}));t[RF.PLATFORM]=e.platform||"unknown",t[RF.PLATFORM_VERSION]=e.version||"unknown",t[RF.CLIENT_TYPE]=e.clineType||"unknown",t[RF.CLIENT_VERSION]=e.clineVersion||"unknown"}catch(e){Ie.log("Failed to get IDE/platform info via HostBridge EnvService.getHostVersion",e),t[RF.PLATFORM]="unknown",t[RF.PLATFORM_VERSION]="unknown",t[RF.CLIENT_TYPE]="unknown",t[RF.CLIENT_VERSION]="unknown"}return t[RF.CORE_VERSION]=vg.version,t}async function Fpe(){let t=await YP();try{let e=await g5i();t[RF.IS_MULTIROOT]=e?"true":"false"}catch(e){Ie.log("Failed to detect multi-root workspace",e),t[RF.IS_MULTIROOT]="false"}return t}var RF,Tf=ee(()=>{"use strict";m5i();Sa();y3();Ci();jt();RF={PLATFORM:"X-PLATFORM",PLATFORM_VERSION:"X-PLATFORM-VERSION",CLIENT_VERSION:"X-CLIENT-VERSION",CLIENT_TYPE:"X-CLIENT-TYPE",CORE_VERSION:"X-CORE-VERSION",IS_MULTIROOT:"X-IS-MULTIROOT"}});function qi(t={}){let{maxRetries:e,baseDelay:r,maxDelay:n,retryAllErrors:o}={...y4c,...t};return(s,a,u)=>{let c=u.value;return u.value=async function*(...f){for(let h=0;h<e;h++)try{yield*c.apply(this,f);return}catch(p){let d=p?.status===429||p instanceof Lpe,A=h===e-1;if(!d&&!o||A)throw p;let g=p.headers?.["retry-after"]||p.headers?.["x-ratelimit-reset"]||p.headers?.["ratelimit-reset"]||p.retryAfter,E;if(g){let R=parseInt(g,10);R>Date.now()/1e3?E=R*1e3-Date.now():E=R*1e3}else E=Math.min(n,r*2**h);let x=this;if(x.options?.onRetryAttempt)try{await x.options.onRetryAttempt(h+1,e,E,p)}catch(R){Ie.error("Error in onRetryAttempt callback:",R)}await new Promise(R=>setTimeout(R,E))}},u}}var y4c,Lpe,Lu=ee(()=>{"use strict";jt();y4c={maxRetries:3,baseDelay:1e3,maxDelay:1e4,retryAllErrors:!1},Lpe=class extends Error{status=429;retryAfter;constructor(e,r,n){super(e,n),this.name="RetriableError",this.retryAfter=r}}});function y5i(t,e="anthropic"){let{role:r,content:n}=t;if(typeof n=="string")return{role:r,content:n};let o=n.filter(u=>u.type!=="thinking"||!!u.signature),a=!v4c.includes(e)?o.map(C4c):o;return{role:r,content:a}}function C4c(t){if(!("reasoning_details"in t||"call_id"in t||"summary"in t||t.type!=="thinking"&&"signature"in t))return t;let{reasoning_details:r,call_id:n,summary:o,...s}=t;return t.type!=="thinking"&&s.signature&&(s.signature=void 0),s}var v4c,v5i=ee(()=>{"use strict";v4c=["cline","openrouter"]});function Zj(t,e){let r=t.reduce((a,u,c)=>(u.role==="user"&&a.push(c),a),[]),n=r.length??-1,o=r[n-1],s=r[n-2];return t.map((a,u)=>{let c=y5i(a);return e&&(u===o||u===s)?_4c(c):c})}function _4c(t){if(typeof t.content=="string")return{...t,content:[{type:"text",text:t.content,cache_control:{type:"ephemeral"}}]};let e=[...t.content],r=e.length-1;if(r>=0){let n=e[r];b4c(n)||(e[r]={...n,cache_control:{type:"ephemeral"}})}return{...t,content:e}}var b4c,AWe=ee(()=>{"use strict";v5i();b4c=t=>t.type==="thinking"||t.type==="redacted_thinking"});function S4c(t){return typeof t=="string"?[{text:t}]:t.flatMap(e=>{switch(e.type){case"text":return{text:e.text,thoughtSignature:e.signature};case"image":if(e.source.type!=="base64")throw new Error("Unsupported image source type");return{inlineData:{data:e.source.data,mimeType:e.source.media_type}};case"tool_use":return{functionCall:{name:e.name,args:e.input},thoughtSignature:e.signature||C5i};case"tool_result":return{functionResponse:{name:e.tool_use_id,response:{result:e.content}}};case"thinking":return{text:e.thinking,thought:!0,thoughtSignature:e.signature||C5i};default:return}}).filter(e=>e!==void 0)}function cxt(t){return{role:t.role==="assistant"?"model":"user",parts:S4c(t.content)}}var C5i,kNr=ee(()=>{"use strict";C5i="skip_thought_signature_validator"});function I4c(t){return t.startsWith("fc_")&&t.length===53}function b5i(t,e){return I4c(t)?`call_${t.slice(t.length-(ONr-5))}`:e!=="openai-native"?t:t.length>ONr?t.slice(0,ONr):t}function to(t,e){let r=[];for(let n of t)if(typeof n.content=="string")r.push({role:n.role,content:n.content});else if(n.role==="user"){let{nonToolMessages:o,toolMessages:s}=n.content.reduce((u,c)=>(c.type==="tool_result"?u.toolMessages.push(c):(c.type==="text"||c.type==="image")&&u.nonToolMessages.push(c),u),{nonToolMessages:[],toolMessages:[]}),a=[];s.forEach(u=>{let c;typeof u.content=="string"?c=u.content:Array.isArray(u.content)?c=u.content?.map(f=>f.type==="image"?(a.push(f),"(see following user message for image)"):f.text).join(`
152
+ `);this.baseURL=u.baseURL,this.timeout=u.timeout??DNr.DEFAULT_TIMEOUT,this.logger=u.logger??console;let c="warn";this.logLevel=c,this.logLevel=HOr(u.logLevel,"ClientOptions.logLevel",this)??HOr(IF("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??c,this.fetchOptions=u.fetchOptions,this.maxRetries=u.maxRetries??2,this.fetch=u.fetch??cOi(),vo(this,sxt,dOi,"f"),this._options=u,this.apiKey=typeof r=="string"?r:"Missing Key",this.organization=n,this.project=o,this.webhookSecret=s}withOptions(e){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...e})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:r}){}async authHeaders(e){return bi([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(e){return qOr(e,{arrayFormat:"brackets"})}getUserAgent(){return`${this.constructor.name}/JS ${hte}`}defaultIdempotencyKey(){return`stainless-node-retry-${wOr()}`}makeStatusError(e,r,n,o){return vE.generate(e,r,n,o)}async _callApiKey(){let e=this._options.apiKey;if(typeof e!="function")return!1;let r;try{r=await e()}catch(n){throw n instanceof Qi?n:new Qi(`Failed to get token from 'apiKey' function: ${n.message}`,{cause:n})}if(typeof r!="string"||!r)throw new Qi(`Expected 'apiKey' function argument to return a string but it returned ${r}`);return this.apiKey=r,!0}buildURL(e,r,n){let o=!Yr(this,BNr,"m",p5i).call(this)&&n||this.baseURL,s=Zki(e)?new URL(e):new URL(o+(o.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),a=this.defaultQuery();return eOi(a)||(r={...a,...r}),typeof r=="object"&&r&&!Array.isArray(r)&&(s.search=this.stringifyQuery(r)),s.toString()}async prepareOptions(e){await this._callApiKey()}async prepareRequest(e,{url:r,options:n}){}get(e,r){return this.methodRequest("get",e,r)}post(e,r){return this.methodRequest("post",e,r)}patch(e,r){return this.methodRequest("patch",e,r)}put(e,r){return this.methodRequest("put",e,r)}delete(e,r){return this.methodRequest("delete",e,r)}methodRequest(e,r,n){return this.request(Promise.resolve(n).then(o=>({method:e,path:r,...o})))}request(e,r=null){return new hpe(this,this.makeRequest(e,r,void 0))}async makeRequest(e,r,n){let o=await e,s=o.maxRetries??this.maxRetries;r==null&&(r=s),await this.prepareOptions(o);let{req:a,url:u,timeout:c}=await this.buildRequest(o,{retryCount:s-r});await this.prepareRequest(a,{url:u,options:o});let f="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),h=n===void 0?"":`, retryOf: ${n}`,p=Date.now();if(CE(this).debug(`[${f}] sending request`,Hj({retryOfRequestLogID:n,method:o.method,url:u,options:o,headers:a.headers})),o.signal?.aborted)throw new Ty;let d=new AbortController,A=await this.fetchWithTimeout(u,a,c,d).catch(WVe),g=Date.now();if(A instanceof globalThis.Error){let R=`retrying, ${r} attempts remaining`;if(o.signal?.aborted)throw new Ty;let D=VVe(A)||/timed? ?out/i.test(String(A)+("cause"in A?String(A.cause):""));if(r)return CE(this).info(`[${f}] connection ${D?"timed out":"failed"} - ${R}`),CE(this).debug(`[${f}] connection ${D?"timed out":"failed"} (${R})`,Hj({retryOfRequestLogID:n,url:u,durationMs:g-p,message:A.message})),this.retryRequest(o,r,n??f);throw CE(this).info(`[${f}] connection ${D?"timed out":"failed"} - error; no more retries left`),CE(this).debug(`[${f}] connection ${D?"timed out":"failed"} (error; no more retries left)`,Hj({retryOfRequestLogID:n,url:u,durationMs:g-p,message:A.message})),D?new fte:new dte({cause:A})}let E=[...A.headers.entries()].filter(([R])=>R==="x-request-id").map(([R,D])=>", "+R+": "+JSON.stringify(D)).join(""),x=`[${f}${h}${E}] ${a.method} ${u} ${A.ok?"succeeded":"failed"} with status ${A.status} in ${g-p}ms`;if(!A.ok){let R=await this.shouldRetry(A);if(r&&R){let S=`retrying, ${r} attempts remaining`;return await lOi(A.body),CE(this).info(`${x} - ${S}`),CE(this).debug(`[${f}] response error (${S})`,Hj({retryOfRequestLogID:n,url:A.url,status:A.status,headers:A.headers,durationMs:g-p})),this.retryRequest(o,r,n??f,A.headers)}let D=R?"error; no more retries left":"error; not retryable";CE(this).info(`${x} - ${D}`);let B=await A.text().catch(S=>WVe(S).message),P=nOi(B),b=P?void 0:B;throw CE(this).debug(`[${f}] response error (${D})`,Hj({retryOfRequestLogID:n,url:A.url,status:A.status,headers:A.headers,message:b,durationMs:Date.now()-p})),this.makeStatusError(A.status,P,b,A.headers)}return CE(this).info(x),CE(this).debug(`[${f}] response start`,Hj({retryOfRequestLogID:n,url:A.url,status:A.status,headers:A.headers,durationMs:g-p})),{response:A,options:o,controller:d,requestLogID:f,retryOfRequestLogID:n,startTime:p}}getAPIList(e,r,n){return this.requestAPIList(r,n&&"then"in n?n.then(o=>({method:"get",path:e,...o})):{method:"get",path:e,...n})}requestAPIList(e,r){let n=this.makeRequest(r,null,void 0);return new XVe(this,n,e)}async fetchWithTimeout(e,r,n,o){let{signal:s,method:a,...u}=r||{},c=this._makeAbort(o);s&&s.addEventListener("abort",c,{once:!0});let f=setTimeout(c,n),h=globalThis.ReadableStream&&u.body instanceof globalThis.ReadableStream||typeof u.body=="object"&&u.body!==null&&Symbol.asyncIterator in u.body,p={signal:o.signal,...h?{duplex:"half"}:{},method:"GET",...u};a&&(p.method=a.toUpperCase());try{return await this.fetch.call(void 0,e,p)}finally{clearTimeout(f)}}async shouldRetry(e){let r=e.headers.get("x-should-retry");return r==="true"?!0:r==="false"?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,r,n,o){let s,a=o?.get("retry-after-ms");if(a){let c=parseFloat(a);Number.isNaN(c)||(s=c)}let u=o?.get("retry-after");if(u&&!s){let c=parseFloat(u);Number.isNaN(c)?s=Date.parse(u)-Date.now():s=c*1e3}if(!(s&&0<=s&&s<60*1e3)){let c=e.maxRetries??this.maxRetries;s=this.calculateDefaultRetryTimeoutMillis(r,c)}return await aQ(s),this.makeRequest(e,r-1,n)}calculateDefaultRetryTimeoutMillis(e,r){let s=r-e,a=Math.min(.5*Math.pow(2,s),8),u=1-Math.random()*.25;return a*u*1e3}async buildRequest(e,{retryCount:r=0}={}){let n={...e},{method:o,path:s,query:a,defaultBaseURL:u}=n,c=this.buildURL(s,a,u);"timeout"in n&&rOi("timeout",n.timeout),n.timeout=n.timeout??this.timeout;let{bodyHeaders:f,body:h}=this.buildBody({options:n}),p=await this.buildHeaders({options:e,method:o,bodyHeaders:f,retryCount:r});return{req:{method:o,headers:p,...n.signal&&{signal:n.signal},...globalThis.ReadableStream&&h instanceof globalThis.ReadableStream&&{duplex:"half"},...h&&{body:h},...this.fetchOptions??{},...n.fetchOptions??{}},url:c,timeout:n.timeout}}async buildHeaders({options:e,method:r,bodyHeaders:n,retryCount:o}){let s={};this.idempotencyHeader&&r!=="get"&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),s[this.idempotencyHeader]=e.idempotencyKey);let a=bi([s,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(o),...e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{},...uOi(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders(e),this._options.defaultHeaders,n,e.headers]);return this.validateHeaders(a),a.values}_makeAbort(e){return()=>e.abort()}buildBody({options:{body:e,headers:r}}){if(!e)return{bodyHeaders:void 0,body:void 0};let n=bi([r]);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||typeof e=="string"&&n.values.has("content-type")||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:e}:typeof e=="object"&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&typeof e.next=="function")?{bodyHeaders:void 0,body:TIt(e)}:Yr(this,sxt,"f").call(this,{body:e,headers:n})}};DNr=La,sxt=new WeakMap,BNr=new WeakSet,p5i=function(){return this.baseURL!=="https://api.openai.com/v1"};La.OpenAI=DNr;La.DEFAULT_TIMEOUT=6e5;La.OpenAIError=Qi;La.APIError=vE;La.APIConnectionError=dte;La.APIConnectionTimeoutError=fte;La.APIUserAbortError=Ty;La.NotFoundError=nTe;La.ConflictError=iTe;La.RateLimitError=oTe;La.BadRequestError=eTe;La.AuthenticationError=tTe;La.InternalServerError=sTe;La.PermissionDeniedError=rTe;La.UnprocessableEntityError=aTe;La.InvalidWebhookSignatureError=nQ;La.toFile=UIt;La.Completions=_pe;La.Chat=gte;La.Embeddings=Ipe;La.Files=Tpe;La.Images=Dpe;La.Audio=cQ;La.Moderations=Mpe;La.Models=Ppe;La.FineTuning=wF;La.Graders=_te;La.VectorStores=Xj;La.Webhooks=Npe;La.Beta=TF;La.Batches=Epe;La.Uploads=Ite;La.Responses=Yj;La.Realtime=zj;La.Conversations=Cte;La.Evals=bte;La.Containers=vte;La.Skills=Jj;La.Videos=Ope});var $Te,A4c,A5i=ee(()=>{"use strict";Bp();SF();dWe();uxt();$Te=class extends La{constructor({baseURL:e=IF("OPENAI_BASE_URL"),apiKey:r=IF("AZURE_OPENAI_API_KEY"),apiVersion:n=IF("OPENAI_API_VERSION"),endpoint:o,deployment:s,azureADTokenProvider:a,dangerouslyAllowBrowser:u,...c}={}){if(!n)throw new Qi("The OPENAI_API_VERSION environment variable is missing or empty; either provide it, or instantiate the AzureOpenAI client with an apiVersion option, like new AzureOpenAI({ apiVersion: 'My API Version' }).");if(typeof a=="function"&&(u=!0),!a&&!r)throw new Qi("Missing credentials. Please pass one of `apiKey` and `azureADTokenProvider`, or set the `AZURE_OPENAI_API_KEY` environment variable.");if(a&&r)throw new Qi("The `apiKey` and `azureADTokenProvider` arguments are mutually exclusive; only one can be passed at a time.");if(c.defaultQuery={...c.defaultQuery,"api-version":n},e){if(o)throw new Qi("baseURL and endpoint are mutually exclusive")}else{if(o||(o=process.env.AZURE_OPENAI_ENDPOINT),!o)throw new Qi("Must provide one of the `baseURL` or `endpoint` arguments, or the `AZURE_OPENAI_ENDPOINT` environment variable");e=`${o}/openai`}super({apiKey:a??r,baseURL:e,...c,...u!==void 0?{dangerouslyAllowBrowser:u}:{}}),this.apiVersion="",this.apiVersion=n,this.deploymentName=s}async buildRequest(e,r={}){if(A4c.has(e.path)&&e.method==="post"&&e.body!==void 0){if(!lTe(e.body))throw new Error("Expected request body to be an object");let n=this.deploymentName||e.body.model||e.__metadata?.model;n!==void 0&&!this.baseURL.includes("/deployments")&&(e.path=`/deployments/${n}${e.path}`)}return super.buildRequest(e,r)}async authHeaders(e){return typeof this._options.apiKey=="string"?bi([{"api-key":this.apiKey}]):super.authHeaders(e)}},A4c=new Set(["/completions","/chat/completions","/embeddings","/audio/transcriptions","/audio/translations","/audio/speech","/images/generations","/batches","/images/edits"])});var $P=ee(()=>{"use strict";uxt();XOr();NIt();uxt();th();iQ();A5i()});var Pr,Sa=ee(()=>{"use strict";Pr=class t{static instance=null;createWebviewProvider;createDiffViewProvider;createCommentReviewController;createTerminalManager;hostBridge;logToChannel;getCallbackUrl;getBinaryLocation;extensionFsPath;globalStorageFsPath;constructor(e,r,n,o,s,a,u,c,f,h){this.createWebviewProvider=e,this.createDiffViewProvider=r,this.createCommentReviewController=n,this.createTerminalManager=o,this.hostBridge=s,this.logToChannel=a,this.getCallbackUrl=u,this.getBinaryLocation=c,this.extensionFsPath=f,this.globalStorageFsPath=h}static initialize(e,r,n,o,s,a,u,c,f,h){if(t.instance)throw new Error("Host provider has already been initialized.");return t.instance=new t(e,r,n,o,s,a,u,c,f,h),t.instance}static get(){if(!t.instance)throw new Error("HostProvider not setup. Call HostProvider.initialize() first.");return t.instance}static isInitialized(){return!!t.instance}static reset(){t.instance=null}static get workspace(){return t.get().hostBridge.workspaceClient}static get env(){return t.get().hostBridge.envClient}static get window(){return t.get().hostBridge.windowClient}static get diff(){return t.get().hostBridge.diffClient}}});async function g5i(){try{return(await Pr.workspace.getWorkspacePaths(ui.create({}))).paths.length>1}catch(t){return Ie.error("Failed to detect multi-root workspace",t),!1}}var m5i=ee(()=>{"use strict";Sa();Ci();jt()});var YTe,zP,MNr,zTe=ee(()=>{YTe="claude-dev",zP="3.75.0",MNr="saoudrizwan"});var N1,m4c,E4c,vg,E5i,JTe,y3=ee(()=>{"use strict";zTe();Sa();N1=YTe==="claude-dev"?"cline":YTe,m4c={PlusButton:N1+".plusButtonClicked",McpButton:N1+".mcpButtonClicked",SettingsButton:N1+".settingsButtonClicked",HistoryButton:N1+".historyButtonClicked",AccountButton:N1+".accountButtonClicked",WorktreesButton:N1+".worktreesButtonClicked",TerminalOutput:N1+".addTerminalOutputToChat",AddToChat:N1+".addToChat",FixWithCline:N1+".fixWithCline",ExplainCode:N1+".explainCode",ImproveCode:N1+".improveCode",FocusChatInput:N1+".focusChatInput",Walkthrough:N1+".openWalkthrough",GenerateCommit:N1+".generateGitCommitMessage",AbortCommit:N1+".abortGitCommitMessage",ReconstructTaskHistory:N1+".reconstructTaskHistory",JupyterGenerateCell:N1+".jupyterGenerateCell",JupyterExplainCell:N1+".jupyterExplainCell",JupyterImproveCell:N1+".jupyterImproveCell"},E4c={Sidebar:YTe+".SidebarProvider"},vg={id:MNr+"."+YTe,name:YTe,version:zP,publisher:MNr,commands:m4c,views:E4c},E5i=null,JTe={init:async t=>{let e=await Pr.env.getHostVersion({}),r=e.version,n=e.clineVersion||vg.version,o=e.platform||"unknown",s=process.platform||"unknown",a=e.clineType||"unknown";E5i={hostVersion:r,extensionVersion:n,platform:o,os:s,ide:a,distinctId:t}},get:()=>E5i}});function is(){return{"User-Agent":`Cline/${vg.version}`}}async function YP(){let t=is();try{let e=await Pr.env.getHostVersion(ui.create({}));t[RF.PLATFORM]=e.platform||"unknown",t[RF.PLATFORM_VERSION]=e.version||"unknown",t[RF.CLIENT_TYPE]=e.clineType||"unknown",t[RF.CLIENT_VERSION]=e.clineVersion||"unknown"}catch(e){Ie.log("Failed to get IDE/platform info via HostBridge EnvService.getHostVersion",e),t[RF.PLATFORM]="unknown",t[RF.PLATFORM_VERSION]="unknown",t[RF.CLIENT_TYPE]="unknown",t[RF.CLIENT_VERSION]="unknown"}return t[RF.CORE_VERSION]=vg.version,t}async function Fpe(){let t=await YP();try{let e=await g5i();t[RF.IS_MULTIROOT]=e?"true":"false"}catch(e){Ie.log("Failed to detect multi-root workspace",e),t[RF.IS_MULTIROOT]="false"}return t}var RF,Tf=ee(()=>{"use strict";m5i();Sa();y3();Ci();jt();RF={PLATFORM:"X-PLATFORM",PLATFORM_VERSION:"X-PLATFORM-VERSION",CLIENT_VERSION:"X-CLIENT-VERSION",CLIENT_TYPE:"X-CLIENT-TYPE",CORE_VERSION:"X-CORE-VERSION",IS_MULTIROOT:"X-IS-MULTIROOT"}});function qi(t={}){let{maxRetries:e,baseDelay:r,maxDelay:n,retryAllErrors:o}={...y4c,...t};return(s,a,u)=>{let c=u.value;return u.value=async function*(...f){for(let h=0;h<e;h++)try{yield*c.apply(this,f);return}catch(p){let d=p?.status===429||p instanceof Lpe,A=h===e-1;if(!d&&!o||A)throw p;let g=p.headers?.["retry-after"]||p.headers?.["x-ratelimit-reset"]||p.headers?.["ratelimit-reset"]||p.retryAfter,E;if(g){let R=parseInt(g,10);R>Date.now()/1e3?E=R*1e3-Date.now():E=R*1e3}else E=Math.min(n,r*2**h);let x=this;if(x.options?.onRetryAttempt)try{await x.options.onRetryAttempt(h+1,e,E,p)}catch(R){Ie.error("Error in onRetryAttempt callback:",R)}await new Promise(R=>setTimeout(R,E))}},u}}var y4c,Lpe,Lu=ee(()=>{"use strict";jt();y4c={maxRetries:3,baseDelay:1e3,maxDelay:1e4,retryAllErrors:!1},Lpe=class extends Error{status=429;retryAfter;constructor(e,r,n){super(e,n),this.name="RetriableError",this.retryAfter=r}}});function y5i(t,e="anthropic"){let{role:r,content:n}=t;if(typeof n=="string")return{role:r,content:n};let o=n.filter(u=>u.type!=="thinking"||!!u.signature),a=!v4c.includes(e)?o.map(C4c):o;return{role:r,content:a}}function C4c(t){if(!("reasoning_details"in t||"call_id"in t||"summary"in t||t.type!=="thinking"&&"signature"in t))return t;let{reasoning_details:r,call_id:n,summary:o,...s}=t;return t.type!=="thinking"&&s.signature&&(s.signature=void 0),s}var v4c,v5i=ee(()=>{"use strict";v4c=["cline","openrouter"]});function Zj(t,e){let r=t.reduce((a,u,c)=>(u.role==="user"&&a.push(c),a),[]),n=r.length??-1,o=r[n-1],s=r[n-2];return t.map((a,u)=>{let c=y5i(a);return e&&(u===o||u===s)?_4c(c):c})}function _4c(t){if(typeof t.content=="string")return{...t,content:[{type:"text",text:t.content,cache_control:{type:"ephemeral"}}]};let e=[...t.content],r=e.length-1;if(r>=0){let n=e[r];b4c(n)||(e[r]={...n,cache_control:{type:"ephemeral"}})}return{...t,content:e}}var b4c,AWe=ee(()=>{"use strict";v5i();b4c=t=>t.type==="thinking"||t.type==="redacted_thinking"});function S4c(t){return typeof t=="string"?[{text:t}]:t.flatMap(e=>{switch(e.type){case"text":return{text:e.text,thoughtSignature:e.signature};case"image":if(e.source.type!=="base64")throw new Error("Unsupported image source type");return{inlineData:{data:e.source.data,mimeType:e.source.media_type}};case"tool_use":return{functionCall:{name:e.name,args:e.input},thoughtSignature:e.signature||C5i};case"tool_result":return{functionResponse:{name:e.tool_use_id,response:{result:e.content}}};case"thinking":return{text:e.thinking,thought:!0,thoughtSignature:e.signature||C5i};default:return}}).filter(e=>e!==void 0)}function cxt(t){return{role:t.role==="assistant"?"model":"user",parts:S4c(t.content)}}var C5i,kNr=ee(()=>{"use strict";C5i="skip_thought_signature_validator"});function I4c(t){return t.startsWith("fc_")&&t.length===53}function b5i(t,e){return I4c(t)?`call_${t.slice(t.length-(ONr-5))}`:e!=="openai-native"?t:t.length>ONr?t.slice(0,ONr):t}function to(t,e){let r=[];for(let n of t)if(typeof n.content=="string")r.push({role:n.role,content:n.content});else if(n.role==="user"){let{nonToolMessages:o,toolMessages:s}=n.content.reduce((u,c)=>(c.type==="tool_result"?u.toolMessages.push(c):(c.type==="text"||c.type==="image")&&u.nonToolMessages.push(c),u),{nonToolMessages:[],toolMessages:[]}),a=[];s.forEach(u=>{let c;typeof u.content=="string"?c=u.content:Array.isArray(u.content)?c=u.content?.map(f=>f.type==="image"?(a.push(f),"(see following user message for image)"):f.text).join(`
153
153
  `)??"":c="",r.push({role:"tool",tool_call_id:b5i(u.tool_use_id,e),content:c})}),a.length>0&&r.push({role:"user",content:a.map(u=>({type:"image_url",image_url:{url:`data:${u.source.media_type};base64,${u.source.data}`}}))}),o.length>0&&r.push({role:"user",content:o.map(u=>u.type==="image"?{type:"image_url",image_url:{url:`data:${u.source.media_type};base64,${u.source.data}`}}:{type:"text",text:u.text})})}else if(n.role==="assistant"){let{nonToolMessages:o,toolMessages:s}=n.content.reduce((g,E)=>(E.type==="tool_use"?g.toolMessages.push(E):(E.type==="text"||E.type==="image")&&g.nonToolMessages.push(E),g),{nonToolMessages:[],toolMessages:[]}),a,u=[],c=[];o.length>0&&(o.forEach(g=>{let E=g;g.type==="text"&&E.reasoning_details&&(Array.isArray(E.reasoning_details)?u.push(...E.reasoning_details):u.push(E.reasoning_details)),g.type==="thinking"&&g.thinking&&c.push(g)}),a=o.map(g=>g.type==="text"&&g.text?g.text:"").join(`
154
154
  `));let f=s.map(g=>{let E=g.reasoning_details,x=g.id;if(E)if(Array.isArray(E)){let R=E.filter(D=>D?.id===x);R.length>0&&u.push(...R)}else E?.id===x&&u.push(E);return{id:b5i(x,e),type:"function",function:{name:g.name,arguments:JSON.stringify(g.input)}}}),h=f.length>0,d=a!==void 0&&a.trim()!==""?a:h?null:void 0,A=u.length>0?x4c(u):[];r.push({role:"assistant",content:d,tool_calls:f?.length>0?f:void 0,reasoning_details:A.length>0?A:void 0})}return r}function x4c(t){if(!t||t.length===0)return[];let e=new Map;for(let n of t){if(n.type==="reasoning.encrypted"&&!n.data)continue;let o=n.index??0;e.has(o)||e.set(o,[]),e.get(o).push(n)}let r=[];for(let[n,o]of e.entries()){let s="",a,u,c="unknown",f="reasoning.text";for(let p of o)p.text&&(s+=p.text),p.signature&&(a=p.signature),p.id&&(u=p.id),p.format&&(c=p.format),p.type&&(f=p.type);if(s){let p={type:f,text:s,signature:a,id:u,format:c,index:n};r.push(p)}let h;for(let p of o)p.data&&(h={type:p.type,data:p.data,signature:p.signature,id:p.id,format:p.format,index:n});h&&r.push(h)}return r}function lxt(t,e){if(!e.includes("gemini"))return t;let r=new Set,n=[];for(let o of t){if(o.role==="assistant"){let s=o,a=s.tool_calls;if(Array.isArray(a)&&a.length>0){let u=s.reasoning_details;if(!(Array.isArray(u)&&u.length>0)){for(let f of a)f?.id&&r.add(f.id);s.content&&n.push({role:"assistant",content:s.content});continue}}}if(o.role==="tool"){let s=o;if(s.tool_call_id&&r.has(s.tool_call_id))continue}n.push(o)}return n}var ONr,rh=ee(()=>{"use strict";jt();ONr=40});var gWe,_5i=ee(()=>{"use strict";tVe();IIt();$P();Tf();Lu();AWe();kNr();rh();gWe=class{options;anthropicClient;openaiClient;geminiClient;constructor(e){let{baseURL:r,appCode:n,...o}=e;this.options={baseURL:r??"https://aihubmix.com",appCode:n??"KUWF9311",...o}}ensureAnthropicClient(){if(!this.anthropicClient){if(!this.options.apiKey)throw new Error("AIhubmix API key is required");try{this.anthropicClient=new ul({apiKey:this.options.apiKey,baseURL:this.options.baseURL,defaultHeaders:{"APP-Code":this.options.appCode,...is()}})}catch(e){throw new Error(`Error creating Anthropic client: ${e.message}`)}}return this.anthropicClient}ensureOpenaiClient(){if(!this.openaiClient){if(!this.options.apiKey)throw new Error("AIhubmix API key is required");try{this.openaiClient=new La({apiKey:this.options.apiKey,baseURL:`${this.options.baseURL}/v1`,defaultHeaders:{"APP-Code":this.options.appCode,...is()}})}catch(e){throw new Error(`Error creating OpenAI client: ${e.message}`)}}return this.openaiClient}ensureGeminiClient(){if(!this.geminiClient){if(!this.options.apiKey)throw new Error("AIhubmix API key is required");try{this.geminiClient=new dpe({apiKey:this.options.apiKey,httpOptions:{baseUrl:`${this.options.baseURL}/gemini`,headers:{"APP-Code":this.options.appCode,Authorization:`Bearer ${this.options.apiKey??""}`,...is()}}})}catch(e){throw new Error(`Error creating Gemini client: ${e.message}`)}}return this.geminiClient}routeModel(e){let r=e||"";return r.startsWith("claude")?"anthropic":r.startsWith("gemini")&&!r.endsWith("-nothink")&&!r.endsWith("-search")?"gemini":r==="gpt-5-pro"||r==="gpt-5-codex"?"openai-response":"openai"}fixToolChoice(e){return e.tools?.length===0&&e.tool_choice&&delete e.tool_choice,e}async*createMessage(e,r){let n=this.options.modelId||"",o=this.routeModel(n);switch(o){case"anthropic":yield*this.createAnthropicMessage(e,r);break;case"gemini":yield*this.createGeminiMessage(e,r);break;case"openai-response":yield*this.createOpenaiResponseMessage(e,r);break;case"openai":yield*this.createOpenaiMessage(e,r);break;default:throw new Error(`Unsupported model route: ${o}`)}}async*createAnthropicMessage(e,r){let n=this.ensureAnthropicClient(),o=this.options.modelId||"claude-3-5-sonnet-20241022",s=Zj(r,!1),a=await n.messages.create({model:o,temperature:0,max_tokens:this.options.modelInfo?.maxTokens||8192,system:[{text:e,type:"text"}],messages:s,stream:!0});for await(let u of a)switch(u?.type){case"message_start":let c=u.message.usage;yield{type:"usage",inputTokens:c.input_tokens||0,outputTokens:c.output_tokens||0,cacheWriteTokens:c.cache_creation_input_tokens||void 0,cacheReadTokens:c.cache_read_input_tokens||void 0};break;case"message_delta":yield{type:"usage",inputTokens:0,outputTokens:u.usage.output_tokens||0};break;case"content_block_start":u.content_block.type==="text"&&(yield{type:"text",text:u.content_block.text});break;case"content_block_delta":u.delta.type==="text_delta"&&(yield{type:"text",text:u.delta.text});break}}async*createOpenaiResponseMessage(e,r){let n=this.ensureOpenaiClient(),o=this.options.modelId||"gpt-4o-mini",s=(r||[]).map(u=>{let c=u.role||"user",h=(Array.isArray(u.content)?u.content:[{type:"text",text:u.content}]).filter(p=>p!=null).map(p=>{if(p.type==="image"||p.type==="input_image"||p.type==="image_url")return{type:"input_image",image_url:p.image_url||p.url||p.source?.url};let d=p.text??(typeof p=="string"?p:"");return{type:c==="assistant"?"output_text":"input_text",text:d}});return{role:c,content:h}}),a=await n.responses.stream({model:o,instructions:e,input:s});for await(let u of a){if(u?.type==="response.output_text.delta"){yield{type:"text",text:u.delta||""};continue}if(u?.type==="response.completed"){let c=u.response?.usage||{};yield{type:"usage",inputTokens:c.input_tokens||0,outputTokens:c.output_tokens||0};continue}if(u?.type==="response.error")throw new Error(u.error?.message||"responses error")}}async*createOpenaiMessage(e,r){let n=this.ensureOpenaiClient(),o=this.options.modelId||"gpt-4o-mini",s=[{role:"system",content:e},...to(r)],a={model:o,messages:s,temperature:0,stream:!0},u=this.fixToolChoice(a),c=await n.chat.completions.create(u);for await(let f of c){let h=f.choices?.[0]?.delta;h?.content&&(yield{type:"text",text:h.content}),f.usage&&(yield{type:"usage",inputTokens:f.usage.prompt_tokens||0,outputTokens:f.usage.completion_tokens||0})}}async*createGeminiMessage(e,r){let n=this.ensureGeminiClient(),o=this.options.modelId||"gemini-2.0-flash-exp",s=r.map(cxt),a={systemInstruction:e,temperature:0};this.options.thinkingBudgetTokens&&(a.thinkingConfig={thinkingBudget:this.options.thinkingBudgetTokens,includeThoughts:!0});let u=await n.models.generateContentStream({model:o,contents:s,config:a});for await(let c of u)c?.text&&(yield{type:"text",text:c.text})}getModel(){return{id:this.options.modelId||"gpt-4o-mini",info:this.options.modelInfo||{maxTokens:8192,contextWindow:128e3,supportsImages:!0,supportsPromptCache:!1,description:"AIhubmix unified model provider"}}}};Li([qi()],gWe.prototype,"createMessage",1)});var nh=J((MxA,S5i)=>{"use strict";S5i.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kHTTP2InitialWindowSize:Symbol("http2 initial window size"),kHTTP2ConnectionWindowSize:Symbol("http2 connection window size"),kEnableConnectProtocol:Symbol("http2session connect protocol"),kRemoteSettings:Symbol("http2session remote settings"),kHTTP2Stream:Symbol("http2session client stream"),kPingInterval:Symbol("ping interval"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent"),kSocks5ProxyAgent:Symbol("socks5 proxy agent")}});var GNr=J((kxA,w5i)=>{"use strict";var XTe=0,NNr=1e3,FNr=(NNr>>1)-1,xte,LNr=Symbol("kFastTimer"),eK=[],UNr=-2,QNr=-1,x5i=0,I5i=1;function qNr(){XTe+=FNr;let t=0,e=eK.length;for(;t<e;){let r=eK[t];r._state===x5i?(r._idleStart=XTe-FNr,r._state=I5i):r._state===I5i&&XTe>=r._idleStart+r._idleTimeout&&(r._state=QNr,r._idleStart=-1,r._onTimeout(r._timerArg)),r._state===QNr?(r._state=UNr,--e!==0&&(eK[t]=eK[e])):++t}eK.length=e,eK.length!==0&&T5i()}function T5i(){xte?.refresh?xte.refresh():(clearTimeout(xte),xte=setTimeout(qNr,FNr),xte?.unref())}var dxt=class{[LNr]=!0;_state=UNr;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(e,r,n){this._onTimeout=e,this._idleTimeout=r,this._timerArg=n,this.refresh()}refresh(){this._state===UNr&&eK.push(this),(!xte||eK.length===1)&&T5i(),this._state=x5i}clear(){this._state=QNr,this._idleStart=-1}};w5i.exports={setTimeout(t,e,r){return e<=NNr?setTimeout(t,e,r):new dxt(t,e,r)},clearTimeout(t){t[LNr]?t.clear():clearTimeout(t)},setFastTimeout(t,e,r){return new dxt(t,e,r)},clearFastTimeout(t){t.clear()},now(){return XTe},tick(t=0){XTe+=t-NNr+1,qNr(),qNr()},reset(){XTe=0,eK.length=0,clearTimeout(xte),xte=null},kFastTimer:LNr}});var Bs=J((OxA,Z5i)=>{"use strict";var R5i=Symbol.for("undici.error.UND_ERR"),Q0=class extends Error{constructor(e,r){super(e,r),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[R5i]===!0}get[R5i](){return!0}},B5i=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),HNr=class extends Q0{constructor(e){super(e),this.name="ConnectTimeoutError",this.message=e||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[B5i]===!0}get[B5i](){return!0}},D5i=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),VNr=class extends Q0{constructor(e){super(e),this.name="HeadersTimeoutError",this.message=e||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[D5i]===!0}get[D5i](){return!0}},P5i=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),WNr=class extends Q0{constructor(e){super(e),this.name="HeadersOverflowError",this.message=e||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](e){return e&&e[P5i]===!0}get[P5i](){return!0}},M5i=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),jNr=class extends Q0{constructor(e){super(e),this.name="BodyTimeoutError",this.message=e||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[M5i]===!0}get[M5i](){return!0}},k5i=Symbol.for("undici.error.UND_ERR_INVALID_ARG"),KNr=class extends Q0{constructor(e){super(e),this.name="InvalidArgumentError",this.message=e||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}static[Symbol.hasInstance](e){return e&&e[k5i]===!0}get[k5i](){return!0}},O5i=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"),$Nr=class extends Q0{constructor(e){super(e),this.name="InvalidReturnValueError",this.message=e||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}static[Symbol.hasInstance](e){return e&&e[O5i]===!0}get[O5i](){return!0}},N5i=Symbol.for("undici.error.UND_ERR_ABORT"),fxt=class extends Q0{constructor(e){super(e),this.name="AbortError",this.message=e||"The operation was aborted",this.code="UND_ERR_ABORT"}static[Symbol.hasInstance](e){return e&&e[N5i]===!0}get[N5i](){return!0}},F5i=Symbol.for("undici.error.UND_ERR_ABORTED"),zNr=class extends fxt{constructor(e){super(e),this.name="AbortError",this.message=e||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](e){return e&&e[F5i]===!0}get[F5i](){return!0}},L5i=Symbol.for("undici.error.UND_ERR_INFO"),YNr=class extends Q0{constructor(e){super(e),this.name="InformationalError",this.message=e||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](e){return e&&e[L5i]===!0}get[L5i](){return!0}},U5i=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"),JNr=class extends Q0{constructor(e){super(e),this.name="RequestContentLengthMismatchError",this.message=e||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](e){return e&&e[U5i]===!0}get[U5i](){return!0}},Q5i=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"),XNr=class extends Q0{constructor(e){super(e),this.name="ResponseContentLengthMismatchError",this.message=e||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](e){return e&&e[Q5i]===!0}get[Q5i](){return!0}},q5i=Symbol.for("undici.error.UND_ERR_DESTROYED"),ZNr=class extends Q0{constructor(e){super(e),this.name="ClientDestroyedError",this.message=e||"The client is destroyed",this.code="UND_ERR_DESTROYED"}static[Symbol.hasInstance](e){return e&&e[q5i]===!0}get[q5i](){return!0}},G5i=Symbol.for("undici.error.UND_ERR_CLOSED"),e8r=class extends Q0{constructor(e){super(e),this.name="ClientClosedError",this.message=e||"The client is closed",this.code="UND_ERR_CLOSED"}static[Symbol.hasInstance](e){return e&&e[G5i]===!0}get[G5i](){return!0}},H5i=Symbol.for("undici.error.UND_ERR_SOCKET"),t8r=class extends Q0{constructor(e,r){super(e),this.name="SocketError",this.message=e||"Socket error",this.code="UND_ERR_SOCKET",this.socket=r}static[Symbol.hasInstance](e){return e&&e[H5i]===!0}get[H5i](){return!0}},V5i=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"),r8r=class extends Q0{constructor(e){super(e),this.name="NotSupportedError",this.message=e||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}static[Symbol.hasInstance](e){return e&&e[V5i]===!0}get[V5i](){return!0}},W5i=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"),n8r=class extends Q0{constructor(e){super(e),this.name="MissingUpstreamError",this.message=e||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}static[Symbol.hasInstance](e){return e&&e[W5i]===!0}get[W5i](){return!0}},j5i=Symbol.for("undici.error.UND_ERR_HTTP_PARSER"),i8r=class extends Error{constructor(e,r,n){super(e),this.name="HTTPParserError",this.code=r?`HPE_${r}`:void 0,this.data=n?n.toString():void 0}static[Symbol.hasInstance](e){return e&&e[j5i]===!0}get[j5i](){return!0}},K5i=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"),a8r=class extends Q0{constructor(e){super(e),this.name="ResponseExceededMaxSizeError",this.message=e||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}static[Symbol.hasInstance](e){return e&&e[K5i]===!0}get[K5i](){return!0}},$5i=Symbol.for("undici.error.UND_ERR_REQ_RETRY"),o8r=class extends Q0{constructor(e,r,{headers:n,data:o}){super(e),this.name="RequestRetryError",this.message=e||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=r,this.data=o,this.headers=n}static[Symbol.hasInstance](e){return e&&e[$5i]===!0}get[$5i](){return!0}},z5i=Symbol.for("undici.error.UND_ERR_RESPONSE"),s8r=class extends Q0{constructor(e,r,{headers:n,body:o}){super(e),this.name="ResponseError",this.message=e||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=r,this.body=o,this.headers=n}static[Symbol.hasInstance](e){return e&&e[z5i]===!0}get[z5i](){return!0}},Y5i=Symbol.for("undici.error.UND_ERR_PRX_TLS"),u8r=class extends Q0{constructor(e,r,n={}){super(r,{cause:e,...n}),this.name="SecureProxyConnectionError",this.message=r||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=e}static[Symbol.hasInstance](e){return e&&e[Y5i]===!0}get[Y5i](){return!0}},J5i=Symbol.for("undici.error.UND_ERR_MAX_ORIGINS_REACHED"),c8r=class extends Q0{constructor(e){super(e),this.name="MaxOriginsReachedError",this.message=e||"Maximum allowed origins reached",this.code="UND_ERR_MAX_ORIGINS_REACHED"}static[Symbol.hasInstance](e){return e&&e[J5i]===!0}get[J5i](){return!0}},l8r=class extends Q0{constructor(e,r){super(e),this.name="Socks5ProxyError",this.message=e||"SOCKS5 proxy error",this.code=r||"UND_ERR_SOCKS5"}},X5i=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"),d8r=class extends Q0{constructor(e){super(e),this.name="MessageSizeExceededError",this.message=e||"Max decompressed message size exceeded",this.code="UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"}static[Symbol.hasInstance](e){return e&&e[X5i]===!0}get[X5i](){return!0}};Z5i.exports={AbortError:fxt,HTTPParserError:i8r,UndiciError:Q0,HeadersTimeoutError:VNr,HeadersOverflowError:WNr,BodyTimeoutError:jNr,RequestContentLengthMismatchError:JNr,ConnectTimeoutError:HNr,InvalidArgumentError:KNr,InvalidReturnValueError:$Nr,RequestAbortedError:zNr,ClientDestroyedError:ZNr,ClientClosedError:e8r,InformationalError:YNr,SocketError:t8r,NotSupportedError:r8r,ResponseContentLengthMismatchError:XNr,BalancedPoolMissingUpstreamError:n8r,ResponseExceededMaxSizeError:a8r,RequestRetryError:o8r,ResponseError:s8r,SecureProxyConnectionError:u8r,MaxOriginsReachedError:c8r,Socks5ProxyError:l8r,MessageSizeExceededError:d8r}});var pxt=J((NxA,tNi)=>{"use strict";var f8r=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"],hxt={};Object.setPrototypeOf(hxt,null);var eNi={};Object.setPrototypeOf(eNi,null);function T4c(t){let e=eNi[t];return e===void 0&&(e=Buffer.from(t)),e}for(let t=0;t<f8r.length;++t){let e=f8r[t],r=e.toLowerCase();hxt[e]=hxt[r]=r}tNi.exports={wellknownHeaderNames:f8r,headerNameLowerCasedRecord:hxt,getHeaderNameAsBuffer:T4c}});var aNi=J((FxA,iNi)=>{"use strict";var{wellknownHeaderNames:rNi,headerNameLowerCasedRecord:w4c}=pxt(),h8r=class t{value=null;left=null;middle=null;right=null;code;constructor(e,r,n){if(n===void 0||n>=e.length)throw new TypeError("Unreachable");if((this.code=e.charCodeAt(n))>127)throw new TypeError("key must be ascii string");e.length!==++n?this.middle=new t(e,r,n):this.value=r}add(e,r){let n=e.length;if(n===0)throw new TypeError("Unreachable");let o=0,s=this;for(;;){let a=e.charCodeAt(o);if(a>127)throw new TypeError("key must be ascii string");if(s.code===a)if(n===++o){s.value=r;break}else if(s.middle!==null)s=s.middle;else{s.middle=new t(e,r,o);break}else if(s.code<a)if(s.left!==null)s=s.left;else{s.left=new t(e,r,o);break}else if(s.right!==null)s=s.right;else{s.right=new t(e,r,o);break}}}search(e){let r=e.length,n=0,o=this;for(;o!==null&&n<r;){let s=e[n];for(s<=90&&s>=65&&(s|=32);o!==null;){if(s===o.code){if(r===++n)return o;o=o.middle;break}o=o.code<s?o.left:o.right}}return null}},Axt=class{node=null;insert(e,r){this.node===null?this.node=new h8r(e,r,0):this.node.add(e,r)}lookup(e){return this.node?.search(e)?.value??null}},nNi=new Axt;for(let t=0;t<rNi.length;++t){let e=w4c[rNi[t]];nNi.insert(e,e)}iNi.exports={TernarySearchTree:Axt,tree:nNi}});var du=J((LxA,xNi)=>{"use strict";var mWe=qe("node:assert"),{kDestroyed:cNi,kBodyUsed:ZTe,kListeners:mxt,kBody:oNi}=nh(),{IncomingMessage:R4c}=qe("node:http"),lNi=qe("node:stream"),B4c=qe("node:net"),{stringify:D4c}=qe("node:querystring"),{EventEmitter:P4c}=qe("node:events"),gxt=GNr(),{InvalidArgumentError:Qv,ConnectTimeoutError:M4c}=Bs(),{headerNameLowerCasedRecord:k4c}=pxt(),{tree:dNi}=aNi(),[O4c,N4c]=process.versions.node.split(".",2).map(t=>Number(t)),yxt=class{constructor(e){this[oNi]=e,this[ZTe]=!1}async*[Symbol.asyncIterator](){mWe(!this[ZTe],"disturbed"),this[ZTe]=!0,yield*this[oNi]}};function sNi(){}function F4c(t){return vxt(t)?(mNi(t)===0&&t.on("data",function(){mWe(!1)}),typeof t.readableDidRead!="boolean"&&(t[ZTe]=!1,P4c.prototype.on.call(t,"data",function(){this[ZTe]=!0})),t):t&&typeof t.pipeTo=="function"?new yxt(t):t&&bNi(t)?t:t&&typeof t!="string"&&!ArrayBuffer.isView(t)&&gNi(t)?new yxt(t):t}function vxt(t){return t&&typeof t=="object"&&typeof t.pipe=="function"&&typeof t.on=="function"}function fNi(t){if(t===null)return!1;if(t instanceof Blob)return!0;if(typeof t!="object")return!1;{let e=t[Symbol.toStringTag];return(e==="Blob"||e==="File")&&("stream"in t&&typeof t.stream=="function"||"arrayBuffer"in t&&typeof t.arrayBuffer=="function")}}function hNi(t){return t.includes("?")||t.includes("#")}function L4c(t,e){if(hNi(t))throw new Error('Query params cannot be passed when url already contains "?" or "#".');let r=D4c(e);return r&&(t+="?"+r),t}function pNi(t){let e=parseInt(t,10);return e===Number(t)&&e>=0&&e<=65535}function Ext(t){return t!=null&&t[0]==="h"&&t[1]==="t"&&t[2]==="t"&&t[3]==="p"&&(t[4]===":"||t[4]==="s"&&t[5]===":")}function ANi(t){if(typeof t=="string"){if(t=new URL(t),!Ext(t.origin||t.protocol))throw new Qv("Invalid URL protocol: the URL must start with `http:` or `https:`.");return t}if(!t||typeof t!="object")throw new Qv("Invalid URL: The URL argument must be a non-null object.");if(!(t instanceof URL)){if(t.port!=null&&t.port!==""&&pNi(t.port)===!1)throw new Qv("Invalid URL: port must be a valid integer or a string representation of an integer.");if(t.path!=null&&typeof t.path!="string")throw new Qv("Invalid URL path: the path must be a string or null/undefined.");if(t.pathname!=null&&typeof t.pathname!="string")throw new Qv("Invalid URL pathname: the pathname must be a string or null/undefined.");if(t.hostname!=null&&typeof t.hostname!="string")throw new Qv("Invalid URL hostname: the hostname must be a string or null/undefined.");if(t.origin!=null&&typeof t.origin!="string")throw new Qv("Invalid URL origin: the origin must be a string or null/undefined.");if(!Ext(t.origin||t.protocol))throw new Qv("Invalid URL protocol: the URL must start with `http:` or `https:`.");let e=t.port!=null?t.port:t.protocol==="https:"?443:80,r=t.origin!=null?t.origin:`${t.protocol||""}//${t.hostname||""}:${e}`,n=t.path!=null?t.path:`${t.pathname||""}${t.search||""}`;return r[r.length-1]==="/"&&(r=r.slice(0,r.length-1)),n&&n[0]!=="/"&&(n=`/${n}`),new URL(`${r}${n}`)}if(!Ext(t.origin||t.protocol))throw new Qv("Invalid URL protocol: the URL must start with `http:` or `https:`.");return t}function U4c(t){if(t=ANi(t),t.pathname!=="/"||t.search||t.hash)throw new Qv("invalid url");return t}function Q4c(t){if(t[0]==="["){let r=t.indexOf("]");return mWe(r!==-1),t.substring(1,r)}let e=t.indexOf(":");return e===-1?t:t.substring(0,e)}function q4c(t){if(!t)return null;mWe(typeof t=="string");let e=Q4c(t);return B4c.isIP(e)?"":e}function G4c(t){return JSON.parse(JSON.stringify(t))}function H4c(t){return t!=null&&typeof t[Symbol.asyncIterator]=="function"}function gNi(t){return t!=null&&(typeof t[Symbol.iterator]=="function"||typeof t[Symbol.asyncIterator]=="function")}function V4c(t){let e=Object.getPrototypeOf(t);return Object.prototype.hasOwnProperty.call(t,Symbol.iterator)||e!=null&&e!==Object.prototype&&typeof t[Symbol.iterator]=="function"}function mNi(t){if(t==null)return 0;if(vxt(t)){let e=t._readableState;return e&&e.objectMode===!1&&e.ended===!0&&Number.isFinite(e.length)?e.length:null}else{if(fNi(t))return t.size!=null?t.size:null;if(CNi(t))return t.byteLength}return null}function ENi(t){return t&&!!(t.destroyed||t[cNi]||lNi.isDestroyed?.(t))}function yNi(t,e){t==null||!vxt(t)||ENi(t)||(typeof t.destroy=="function"?(Object.getPrototypeOf(t).constructor===R4c&&(t.socket=null),t.destroy(e)):e&&queueMicrotask(()=>{t.emit("error",e)}),t.destroyed!==!0&&(t[cNi]=!0))}var W4c=/timeout=(\d+)/;function j4c(t){let e=t.match(W4c);return e?parseInt(e[1],10)*1e3:null}function vNi(t){return typeof t=="string"?k4c[t]??t.toLowerCase():dNi.lookup(t)??t.toString("latin1").toLowerCase()}function K4c(t){return dNi.lookup(t)??t.toString("latin1").toLowerCase()}function $4c(t,e){e===void 0&&(e={});for(let r=0;r<t.length;r+=2){let n=vNi(t[r]),o=e[n];if(o)typeof o=="string"&&(o=[o],e[n]=o),o.push(t[r+1].toString("latin1"));else{let s=t[r+1];typeof s=="string"?e[n]=s:e[n]=Array.isArray(s)?s.map(a=>a.toString("latin1")):s.toString("latin1")}}return e}function z4c(t){let e=t.length,r=new Array(e),n,o;for(let s=0;s<e;s+=2)n=t[s],o=t[s+1],typeof n!="string"&&(n=n.toString()),typeof o!="string"&&(o=o.toString("latin1")),r[s]=n,r[s+1]=o;return r}function Y4c(t){if(!Array.isArray(t))throw new TypeError("expected headers to be an array");return t.map(e=>Buffer.from(e))}function CNi(t){return t instanceof Uint8Array||Buffer.isBuffer(t)}function J4c(t,e,r){if(!t||typeof t!="object")throw new Qv("handler must be an object");if(typeof t.onRequestStart!="function"){if(typeof t.onConnect!="function")throw new Qv("invalid onConnect method");if(typeof t.onError!="function")throw new Qv("invalid onError method");if(typeof t.onBodySent!="function"&&t.onBodySent!==void 0)throw new Qv("invalid onBodySent method");if(r||e==="CONNECT"){if(typeof t.onUpgrade!="function")throw new Qv("invalid onUpgrade method")}else{if(typeof t.onHeaders!="function")throw new Qv("invalid onHeaders method");if(typeof t.onData!="function")throw new Qv("invalid onData method");if(typeof t.onComplete!="function")throw new Qv("invalid onComplete method")}}}function X4c(t){return!!(t&&(lNi.isDisturbed(t)||t[ZTe]))}function Z4c(t){return{localAddress:t.localAddress,localPort:t.localPort,remoteAddress:t.remoteAddress,remotePort:t.remotePort,remoteFamily:t.remoteFamily,timeout:t.timeout,bytesWritten:t.bytesWritten,bytesRead:t.bytesRead}}function e6c(t){let e;return new ReadableStream({start(){e=t[Symbol.asyncIterator]()},pull(r){return e.next().then(({done:n,value:o})=>{if(n)return queueMicrotask(()=>{r.close(),r.byobRequest?.respond(0)});{let s=Buffer.isBuffer(o)?o:Buffer.from(o);return s.byteLength?r.enqueue(new Uint8Array(s)):this.pull(r)}})},cancel(){return e.return()},type:"bytes"})}function bNi(t){return t&&typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&t[Symbol.toStringTag]==="FormData"}function t6c(t,e){return"addEventListener"in t?(t.addEventListener("abort",e,{once:!0}),()=>t.removeEventListener("abort",e)):(t.once("abort",e),()=>t.removeListener("abort",e))}var _Ni=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function r6c(t){return _Ni[t]===1}var n6c=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;function i6c(t){if(t.length>=12)return n6c.test(t);if(t.length===0)return!1;for(let e=0;e<t.length;e++)if(_Ni[t.charCodeAt(e)]!==1)return!1;return!0}var a6c=/[^\t\x20-\x7e\x80-\xff]/;function o6c(t){return!a6c.test(t)}var s6c=/^bytes (\d+)-(\d+)\/(\d+)?$/;function u6c(t){if(t==null||t==="")return{start:0,end:null,size:null};let e=t?t.match(s6c):null;return e?{start:parseInt(e[1]),end:e[2]?parseInt(e[2]):null,size:e[3]?parseInt(e[3]):null}:null}function c6c(t,e,r){return(t[mxt]??=[]).push([e,r]),t.on(e,r),t}function l6c(t){if(t[mxt]!=null){for(let[e,r]of t[mxt])t.removeListener(e,r);t[mxt]=null}return t}function d6c(t,e,r){try{e.onError(r),mWe(e.aborted)}catch(n){t.emit("error",n)}}var f6c=process.platform==="win32"?(t,e)=>{if(!e.timeout)return sNi;let r=null,n=null,o=gxt.setFastTimeout(()=>{r=setImmediate(()=>{n=setImmediate(()=>uNi(t.deref(),e))})},e.timeout);return()=>{gxt.clearFastTimeout(o),clearImmediate(r),clearImmediate(n)}}:(t,e)=>{if(!e.timeout)return sNi;let r=null,n=gxt.setFastTimeout(()=>{r=setImmediate(()=>{uNi(t.deref(),e)})},e.timeout);return()=>{gxt.clearFastTimeout(n),clearImmediate(r)}};function uNi(t,e){if(t==null)return;let r="Connect Timeout Error";Array.isArray(t.autoSelectFamilyAttemptedAddresses)?r+=` (attempted addresses: ${t.autoSelectFamilyAttemptedAddresses.join(", ")},`:r+=` (attempted address: ${e.hostname}:${e.port},`,r+=` timeout: ${e.timeout}ms)`,yNi(t,new M4c(r))}function h6c(t){if(t[0]==="h"&&t[1]==="t"&&t[2]==="t"&&t[3]==="p")switch(t[4]){case":":return"http:";case"s":if(t[5]===":")return"https:"}return t.slice(0,t.indexOf(":")+1)}var SNi=Object.create(null);SNi.enumerable=!0;var p8r={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"},INi={...p8r,patch:"patch",PATCH:"PATCH"};Object.setPrototypeOf(p8r,null);Object.setPrototypeOf(INi,null);xNi.exports={kEnumerableProperty:SNi,isDisturbed:X4c,isBlobLike:fNi,parseOrigin:U4c,parseURL:ANi,getServerName:q4c,isStream:vxt,isIterable:gNi,hasSafeIterator:V4c,isAsyncIterable:H4c,isDestroyed:ENi,headerNameToString:vNi,bufferToLowerCasedHeaderName:K4c,addListener:c6c,removeAllListeners:l6c,errorRequest:d6c,parseRawHeaders:z4c,encodeRawHeaders:Y4c,parseHeaders:$4c,parseKeepAliveTimeout:j4c,destroy:yNi,bodyLength:mNi,deepClone:G4c,ReadableStreamFrom:e6c,isBuffer:CNi,assertRequestHandler:J4c,getSocketInfo:Z4c,isFormDataLike:bNi,pathHasQueryOrFragment:hNi,serializePathWithQuery:L4c,addAbortListener:t6c,isValidHTTPToken:i6c,isValidHeaderValue:o6c,isTokenCharCode:r6c,parseRangeHeader:u6c,normalizedMethodRecordsBase:p8r,normalizedMethodRecords:INi,isValidPort:pNi,isHttpOrHttpsPrefixed:Ext,nodeMajor:O4c,nodeMinor:N4c,safeHTTPMethods:Object.freeze(["GET","HEAD","OPTIONS","TRACE"]),wrapRequestBody:F4c,setupConnectTimeout:f6c,getProtocolFromUrlString:h6c}});var m8r=J((UxA,DNi)=>{"use strict";var{kConnected:TNi,kPending:wNi,kRunning:RNi,kSize:BNi,kFree:p6c,kQueued:A6c}=nh(),A8r=class{constructor(e){this.connected=e[TNi],this.pending=e[wNi],this.running=e[RNi],this.size=e[BNi]}},g8r=class{constructor(e){this.connected=e[TNi],this.free=e[p6c],this.pending=e[wNi],this.queued=e[A6c],this.running=e[RNi],this.size=e[BNi]}};DNi.exports={ClientStats:A8r,PoolStats:g8r}});var Tte=J((QxA,MNi)=>{"use strict";var ih=qe("node:diagnostics_channel"),C8r=qe("node:util"),Upe=C8r.debuglog("undici"),EWe=C8r.debuglog("fetch"),Cxt=C8r.debuglog("websocket"),xD={beforeConnect:ih.channel("undici:client:beforeConnect"),connected:ih.channel("undici:client:connected"),connectError:ih.channel("undici:client:connectError"),sendHeaders:ih.channel("undici:client:sendHeaders"),create:ih.channel("undici:request:create"),bodySent:ih.channel("undici:request:bodySent"),bodyChunkSent:ih.channel("undici:request:bodyChunkSent"),bodyChunkReceived:ih.channel("undici:request:bodyChunkReceived"),headers:ih.channel("undici:request:headers"),trailers:ih.channel("undici:request:trailers"),error:ih.channel("undici:request:error"),open:ih.channel("undici:websocket:open"),close:ih.channel("undici:websocket:close"),socketError:ih.channel("undici:websocket:socket_error"),ping:ih.channel("undici:websocket:ping"),pong:ih.channel("undici:websocket:pong"),proxyConnected:ih.channel("undici:proxy:connected")},E8r=!1;function PNi(t=Upe){if(!E8r){if(xD.beforeConnect.hasSubscribers||xD.connected.hasSubscribers||xD.connectError.hasSubscribers||xD.sendHeaders.hasSubscribers){E8r=!0;return}E8r=!0,ih.subscribe("undici:client:beforeConnect",e=>{let{connectParams:{version:r,protocol:n,port:o,host:s}}=e;t("connecting to %s%s using %s%s",s,o?`:${o}`:"",n,r)}),ih.subscribe("undici:client:connected",e=>{let{connectParams:{version:r,protocol:n,port:o,host:s}}=e;t("connected to %s%s using %s%s",s,o?`:${o}`:"",n,r)}),ih.subscribe("undici:client:connectError",e=>{let{connectParams:{version:r,protocol:n,port:o,host:s},error:a}=e;t("connection to %s%s using %s%s errored - %s",s,o?`:${o}`:"",n,r,a.message)}),ih.subscribe("undici:client:sendHeaders",e=>{let{request:{method:r,path:n,origin:o}}=e;t("sending request to %s %s%s",r,o,n)})}}var y8r=!1;function g6c(t=Upe){if(!y8r){if(xD.headers.hasSubscribers||xD.trailers.hasSubscribers||xD.error.hasSubscribers){y8r=!0;return}y8r=!0,ih.subscribe("undici:request:headers",e=>{let{request:{method:r,path:n,origin:o},response:{statusCode:s}}=e;t("received response to %s %s%s - HTTP %d",r,o,n,s)}),ih.subscribe("undici:request:trailers",e=>{let{request:{method:r,path:n,origin:o}}=e;t("trailers received from %s %s%s",r,o,n)}),ih.subscribe("undici:request:error",e=>{let{request:{method:r,path:n,origin:o},error:s}=e;t("request to %s %s%s errored - %s",r,o,n,s.message)})}}var v8r=!1;function m6c(t=Cxt){if(!v8r){if(xD.open.hasSubscribers||xD.close.hasSubscribers||xD.socketError.hasSubscribers||xD.ping.hasSubscribers||xD.pong.hasSubscribers){v8r=!0;return}v8r=!0,ih.subscribe("undici:websocket:open",e=>{let{address:{address:r,port:n}}=e;t("connection opened %s%s",r,n?`:${n}`:"")}),ih.subscribe("undici:websocket:close",e=>{let{websocket:r,code:n,reason:o}=e;t("closed connection to %s - %s %s",r.url,n,o)}),ih.subscribe("undici:websocket:socket_error",e=>{t("connection errored - %s",e.message)}),ih.subscribe("undici:websocket:ping",e=>{t("ping received")}),ih.subscribe("undici:websocket:pong",e=>{t("pong received")})}}(Upe.enabled||EWe.enabled)&&(PNi(EWe.enabled?EWe:Upe),g6c(EWe.enabled?EWe:Upe));Cxt.enabled&&(PNi(Upe.enabled?Upe:Cxt),m6c(Cxt));MNi.exports={channels:xD}});var FNi=J((qxA,NNi)=>{"use strict";var{InvalidArgumentError:ah,NotSupportedError:E6c}=Bs(),dQ=qe("node:assert"),{isValidHTTPToken:ONi,isValidHeaderValue:b8r,isStream:y6c,destroy:v6c,isBuffer:C6c,isFormDataLike:b6c,isIterable:_6c,hasSafeIterator:S6c,isBlobLike:I6c,serializePathWithQuery:x6c,assertRequestHandler:T6c,getServerName:w6c,normalizedMethodRecords:R6c,getProtocolFromUrlString:B6c}=du(),{channels:v3}=Tte(),{headerNameLowerCasedRecord:kNi}=pxt(),D6c=/[^\u0021-\u00ff]/,JP=Symbol("handler"),_8r=class{constructor(e,{path:r,method:n,body:o,headers:s,query:a,idempotent:u,blocking:c,upgrade:f,headersTimeout:h,bodyTimeout:p,reset:d,expectContinue:A,servername:g,throwOnError:E,maxRedirections:x,typeOfService:R},D){if(typeof r!="string")throw new ah("path must be a string");if(r[0]!=="/"&&!(r.startsWith("http://")||r.startsWith("https://"))&&n!=="CONNECT")throw new ah("path must be an absolute URL or start with a slash");if(D6c.test(r))throw new ah("invalid request path");if(typeof n!="string")throw new ah("method must be a string");if(R6c[n]===void 0&&!ONi(n))throw new ah("invalid request method");if(f&&typeof f!="string")throw new ah("upgrade must be a string");if(f&&!b8r(f))throw new ah("invalid upgrade header");if(h!=null&&(!Number.isFinite(h)||h<0))throw new ah("invalid headersTimeout");if(p!=null&&(!Number.isFinite(p)||p<0))throw new ah("invalid bodyTimeout");if(d!=null&&typeof d!="boolean")throw new ah("invalid reset");if(A!=null&&typeof A!="boolean")throw new ah("invalid expectContinue");if(E!=null)throw new ah("invalid throwOnError");if(x!=null&&x!==0)throw new ah("maxRedirections is not supported, use the redirect interceptor");if(R!=null&&(!Number.isInteger(R)||R<0||R>255))throw new ah("typeOfService must be an integer between 0 and 255");if(this.headersTimeout=h,this.bodyTimeout=p,this.method=n,this.typeOfService=R??0,this.abort=null,o==null)this.body=null;else if(y6c(o)){this.body=o;let B=this.body._readableState;(!B||!B.autoDestroy)&&(this.endHandler=function(){v6c(this)},this.body.on("end",this.endHandler)),this.errorHandler=P=>{this.abort?this.abort(P):this.error=P},this.body.on("error",this.errorHandler)}else if(C6c(o))this.body=o.byteLength?o:null;else if(ArrayBuffer.isView(o))this.body=o.buffer.byteLength?Buffer.from(o.buffer,o.byteOffset,o.byteLength):null;else if(o instanceof ArrayBuffer)this.body=o.byteLength?Buffer.from(o):null;else if(typeof o=="string")this.body=o.length?Buffer.from(o):null;else if(b6c(o)||_6c(o)||I6c(o))this.body=o;else throw new ah("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=f||null,this.path=a?x6c(r,a):r,this.origin=e,this.protocol=B6c(e),this.idempotent=u??(n==="HEAD"||n==="GET"),this.blocking=c??this.method!=="HEAD",this.reset=d??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=A??!1,Array.isArray(s)){if(s.length%2!==0)throw new ah("headers array must be even");for(let B=0;B<s.length;B+=2)bxt(this,s[B],s[B+1])}else if(s&&typeof s=="object")if(S6c(s))for(let B of s){if(!Array.isArray(B)||B.length!==2)throw new ah("headers must be in key-value pair format");bxt(this,B[0],B[1])}else{let B=Object.keys(s);for(let P=0;P<B.length;++P)bxt(this,B[P],s[B[P]])}else if(s!=null)throw new ah("headers must be an object or an array");T6c(D,n,f),this.servername=g||w6c(this.host)||null,this[JP]=D,v3.create.hasSubscribers&&v3.create.publish({request:this})}onBodySent(e){if(v3.bodyChunkSent.hasSubscribers&&v3.bodyChunkSent.publish({request:this,chunk:e}),this[JP].onBodySent)try{return this[JP].onBodySent(e)}catch(r){this.abort(r)}}onRequestSent(){if(v3.bodySent.hasSubscribers&&v3.bodySent.publish({request:this}),this[JP].onRequestSent)try{return this[JP].onRequestSent()}catch(e){this.abort(e)}}onConnect(e){if(dQ(!this.aborted),dQ(!this.completed),this.error)e(this.error);else return this.abort=e,this[JP].onConnect(e)}onResponseStarted(){return this[JP].onResponseStarted?.()}onHeaders(e,r,n,o){dQ(!this.aborted),dQ(!this.completed),v3.headers.hasSubscribers&&v3.headers.publish({request:this,response:{statusCode:e,headers:r,statusText:o}});try{return this[JP].onHeaders(e,r,n,o)}catch(s){this.abort(s)}}onData(e){dQ(!this.aborted),dQ(!this.completed),v3.bodyChunkReceived.hasSubscribers&&v3.bodyChunkReceived.publish({request:this,chunk:e});try{return this[JP].onData(e)}catch(r){return this.abort(r),!1}}onUpgrade(e,r,n){return dQ(!this.aborted),dQ(!this.completed),this[JP].onUpgrade(e,r,n)}onComplete(e){this.onFinally(),dQ(!this.aborted),dQ(!this.completed),this.completed=!0,v3.trailers.hasSubscribers&&v3.trailers.publish({request:this,trailers:e});try{return this[JP].onComplete(e)}catch(r){this.onError(r)}}onError(e){if(this.onFinally(),v3.error.hasSubscribers&&v3.error.publish({request:this,error:e}),!this.aborted)return this.aborted=!0,this[JP].onError(e)}onFinally(){this.errorHandler&&(this.body.off("error",this.errorHandler),this.errorHandler=null),this.endHandler&&(this.body.off("end",this.endHandler),this.endHandler=null)}addHeader(e,r){return bxt(this,e,r),this}};function bxt(t,e,r){if(r&&typeof r=="object"&&!Array.isArray(r))throw new ah(`invalid ${e} header`);if(r===void 0)return;let n=kNi[e];if(n===void 0&&(n=e.toLowerCase(),kNi[n]===void 0&&!ONi(n)))throw new ah("invalid header key");if(Array.isArray(r)){let o=[];for(let s=0;s<r.length;s++)if(typeof r[s]=="string"){if(!b8r(r[s]))throw new ah(`invalid ${e} header`);o.push(r[s])}else if(r[s]===null)o.push("");else{if(typeof r[s]=="object")throw new ah(`invalid ${e} header`);o.push(`${r[s]}`)}r=o}else if(typeof r=="string"){if(!b8r(r))throw new ah(`invalid ${e} header`)}else r===null?r="":r=`${r}`;if(n==="host"){if(t.host!==null)throw new ah("duplicate host header");if(typeof r!="string")throw new ah("invalid host header");t.host=r}else if(n==="content-length"){if(t.contentLength!==null)throw new ah("duplicate content-length header");if(t.contentLength=parseInt(r,10),!Number.isFinite(t.contentLength))throw new ah("invalid content-length header")}else if(t.contentType===null&&n==="content-type")t.contentType=r,t.headers.push(e,r);else{if(n==="transfer-encoding"||n==="keep-alive"||n==="upgrade")throw new ah(`invalid ${n} header`);if(n==="connection"){let o=typeof r=="string"?r.toLowerCase():null;if(o!=="close"&&o!=="keep-alive")throw new ah("invalid connection header");o==="close"&&(t.reset=!0)}else{if(n==="expect")throw new E6c("expect header not supported");t.headers.push(e,r)}}}NNi.exports=_8r});var yWe=J((GxA,UNi)=>{"use strict";var{InvalidArgumentError:P6c}=Bs();UNi.exports=class LNi{#e;constructor(e){this.#e=e}static wrap(e){return e.onRequestStart?e:new LNi(e)}onConnect(e,r){return this.#e.onConnect?.(e,r)}onResponseStarted(){return this.#e.onResponseStarted?.()}onHeaders(e,r,n,o){return this.#e.onHeaders?.(e,r,n,o)}onUpgrade(e,r,n){return this.#e.onUpgrade?.(e,r,n)}onData(e){return this.#e.onData?.(e)}onComplete(e){return this.#e.onComplete?.(e)}onError(e){if(!this.#e.onError)throw e;return this.#e.onError?.(e)}onRequestStart(e,r){this.#e.onConnect?.(n=>e.abort(n),r)}onRequestUpgrade(e,r,n,o){let s=[];for(let[a,u]of Object.entries(n))s.push(Buffer.from(a,"latin1"),S8r(u));this.#e.onUpgrade?.(r,s,o)}onResponseStart(e,r,n,o){let s=[];for(let[a,u]of Object.entries(n))s.push(Buffer.from(a,"latin1"),S8r(u));this.#e.onHeaders?.(r,s,()=>e.resume(),o)===!1&&e.pause()}onResponseData(e,r){this.#e.onData?.(r)===!1&&e.pause()}onResponseEnd(e,r){let n=[];for(let[o,s]of Object.entries(r))n.push(Buffer.from(o,"latin1"),S8r(s));this.#e.onComplete?.(n)}onResponseError(e,r){if(!this.#e.onError)throw new P6c("invalid onError method");this.#e.onError?.(r)}};function S8r(t){return Array.isArray(t)?t.map(e=>Buffer.from(e,"latin1")):Buffer.from(t,"latin1")}});var vWe=J((HxA,QNi)=>{"use strict";var M6c=qe("node:events"),k6c=yWe(),O6c=t=>(e,r)=>t(e,k6c.wrap(r)),I8r=class extends M6c{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...e){let r=Array.isArray(e[0])?e[0]:e,n=this.dispatch.bind(this);for(let o of r)if(o!=null){if(typeof o!="function")throw new TypeError(`invalid interceptor, expected function received ${typeof o}`);if(n=o(n),n=O6c(n),n==null||typeof n!="function"||n.length!==2)throw new TypeError("invalid interceptor")}return new Proxy(this,{get:(o,s)=>s==="dispatch"?n:o[s]})}};QNi.exports=I8r});var HNi=J((VxA,GNi)=>{"use strict";var{parseHeaders:x8r}=du(),{InvalidArgumentError:N6c}=Bs(),T8r=Symbol("resume"),w8r=class{#e=!1;#t=null;#r=!1;#n;[T8r]=null;constructor(e){this.#n=e}pause(){this.#e=!0}resume(){this.#e&&(this.#e=!1,this[T8r]?.())}abort(e){this.#r||(this.#r=!0,this.#t=e,this.#n(e))}get aborted(){return this.#r}get reason(){return this.#t}get paused(){return this.#e}};GNi.exports=class qNi{#e;#t;constructor(e){this.#e=e}static unwrap(e){return e.onRequestStart?new qNi(e):e}onConnect(e,r){this.#t=new w8r(e),this.#e.onRequestStart?.(this.#t,r)}onResponseStarted(){return this.#e.onResponseStarted?.()}onUpgrade(e,r,n){this.#e.onRequestUpgrade?.(this.#t,e,x8r(r),n)}onHeaders(e,r,n,o){return this.#t[T8r]=n,this.#e.onResponseStart?.(this.#t,e,x8r(r),o),!this.#t.paused}onData(e){return this.#e.onResponseData?.(this.#t,e),!this.#t.paused}onComplete(e){this.#e.onResponseEnd?.(this.#t,x8r(e))}onError(e){if(!this.#e.onResponseError)throw new N6c("invalid onError method");this.#e.onResponseError?.(this.#t,e)}}});var qpe=J((WxA,VNi)=>{"use strict";var F6c=vWe(),L6c=HNi(),{ClientDestroyedError:R8r,ClientClosedError:U6c,InvalidArgumentError:_xt}=Bs(),{kDestroy:Q6c,kClose:q6c,kClosed:CWe,kDestroyed:ewe,kDispatch:G6c}=nh(),wte=Symbol("onDestroyed"),Qpe=Symbol("onClosed"),B8r=class extends F6c{[ewe]=!1;[wte]=null;[CWe]=!1;[Qpe]=null;get destroyed(){return this[ewe]}get closed(){return this[CWe]}close(e){if(e===void 0)return new Promise((n,o)=>{this.close((s,a)=>s?o(s):n(a))});if(typeof e!="function")throw new _xt("invalid callback");if(this[ewe]){let n=new R8r;queueMicrotask(()=>e(n,null));return}if(this[CWe]){this[Qpe]?this[Qpe].push(e):queueMicrotask(()=>e(null,null));return}this[CWe]=!0,this[Qpe]??=[],this[Qpe].push(e);let r=()=>{let n=this[Qpe];this[Qpe]=null;for(let o=0;o<n.length;o++)n[o](null,null)};this[q6c]().then(()=>this.destroy()).then(()=>queueMicrotask(r))}destroy(e,r){if(typeof e=="function"&&(r=e,e=null),r===void 0)return new Promise((o,s)=>{this.destroy(e,(a,u)=>a?s(a):o(u))});if(typeof r!="function")throw new _xt("invalid callback");if(this[ewe]){this[wte]?this[wte].push(r):queueMicrotask(()=>r(null,null));return}e||(e=new R8r),this[ewe]=!0,this[wte]??=[],this[wte].push(r);let n=()=>{let o=this[wte];this[wte]=null;for(let s=0;s<o.length;s++)o[s](null,null)};this[Q6c](e).then(()=>queueMicrotask(n))}dispatch(e,r){if(!r||typeof r!="object")throw new _xt("handler must be an object");r=L6c.unwrap(r);try{if(!e||typeof e!="object")throw new _xt("opts must be an object.");if(this[ewe]||this[wte])throw new R8r;if(this[CWe])throw new U6c;return this[G6c](e,r)}catch(n){if(typeof r.onError!="function")throw n;return r.onError(n),!1}}};VNi.exports=B8r});var Gpe=J((KxA,KNi)=>{"use strict";var H6c=qe("node:net"),WNi=qe("node:assert"),jNi=du(),{InvalidArgumentError:V6c}=Bs(),D8r,W6c=class{constructor(e){this._maxCachedSessions=e,this._sessionCache=new Map,this._sessionRegistry=new FinalizationRegistry(r=>{if(this._sessionCache.size<this._maxCachedSessions)return;let n=this._sessionCache.get(r);n!==void 0&&n.deref()===void 0&&this._sessionCache.delete(r)})}get(e){let r=this._sessionCache.get(e);return r?r.deref():null}set(e,r){this._maxCachedSessions!==0&&(this._sessionCache.set(e,new WeakRef(r)),this._sessionRegistry.register(r,e))}};function j6c({allowH2:t,useH2c:e,maxCachedSessions:r,socketPath:n,timeout:o,session:s,...a}){if(r!=null&&(!Number.isInteger(r)||r<0))throw new V6c("maxCachedSessions must be a positive integer or zero");let u={path:n,...a},c=new W6c(r??100);return o=o??1e4,t=t??!1,function({hostname:h,host:p,protocol:d,port:A,servername:g,localAddress:E,httpSocket:x},R){let D;if(d==="https:"){D8r||(D8r=qe("node:tls")),g=g||u.servername||jNi.getServerName(p)||null;let P=g||h;WNi(P);let b=s||c.get(P)||null;A=A||443,D=D8r.connect({highWaterMark:16384,...u,servername:g,session:b,localAddress:E,ALPNProtocols:t?["http/1.1","h2"]:["http/1.1"],socket:x,port:A,host:h}),D.on("session",function(T){c.set(P,T)})}else WNi(!x,"httpSocket can only be sent on TLS update"),A=A||80,D=H6c.connect({highWaterMark:64*1024,...u,localAddress:E,port:A,host:h}),e===!0&&(D.alpnProtocol="h2");if(u.keepAlive==null||u.keepAlive){let P=u.keepAliveInitialDelay===void 0?6e4:u.keepAliveInitialDelay;D.setKeepAlive(!0,P)}let B=jNi.setupConnectTimeout(new WeakRef(D),{timeout:o,hostname:h,port:A});return D.setNoDelay(!0).once(d==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(B),R){let P=R;R=null,P(null,this)}}).on("error",function(P){if(queueMicrotask(B),R){let b=R;R=null,b(P)}}),D}}KNi.exports=j6c});var $Ni=J(P8r=>{"use strict";Object.defineProperty(P8r,"__esModule",{value:!0});P8r.enumToMap=K6c;function K6c(t,e=[],r=[]){let n=(e?.length??0)===0,o=(r?.length??0)===0;return Object.fromEntries(Object.entries(t).filter(([,s])=>typeof s=="number"&&(n||e.includes(s))&&(o||!r.includes(s))))}});var zNi=J($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});$t.SPECIAL_HEADERS=$t.MINOR=$t.MAJOR=$t.HTAB_SP_VCHAR_OBS_TEXT=$t.QUOTED_STRING=$t.CONNECTION_TOKEN_CHARS=$t.HEADER_CHARS=$t.TOKEN=$t.HEX=$t.URL_CHAR=$t.USERINFO_CHARS=$t.MARK=$t.ALPHANUM=$t.NUM=$t.HEX_MAP=$t.NUM_MAP=$t.ALPHA=$t.STATUSES_HTTP=$t.H_METHOD_MAP=$t.METHOD_MAP=$t.METHODS_RTSP=$t.METHODS_ICE=$t.METHODS_HTTP=$t.HEADER_STATE=$t.FINISH=$t.STATUSES=$t.METHODS=$t.LENIENT_FLAGS=$t.FLAGS=$t.TYPE=$t.ERROR=void 0;var $6c=$Ni();$t.ERROR={OK:0,INTERNAL:1,STRICT:2,CR_EXPECTED:25,LF_EXPECTED:3,UNEXPECTED_CONTENT_LENGTH:4,UNEXPECTED_SPACE:30,CLOSED_CONNECTION:5,INVALID_METHOD:6,INVALID_URL:7,INVALID_CONSTANT:8,INVALID_VERSION:9,INVALID_HEADER_TOKEN:10,INVALID_CONTENT_LENGTH:11,INVALID_CHUNK_SIZE:12,INVALID_STATUS:13,INVALID_EOF_STATE:14,INVALID_TRANSFER_ENCODING:15,CB_MESSAGE_BEGIN:16,CB_HEADERS_COMPLETE:17,CB_MESSAGE_COMPLETE:18,CB_CHUNK_HEADER:19,CB_CHUNK_COMPLETE:20,PAUSED:21,PAUSED_UPGRADE:22,PAUSED_H2_UPGRADE:23,USER:24,CB_URL_COMPLETE:26,CB_STATUS_COMPLETE:27,CB_METHOD_COMPLETE:32,CB_VERSION_COMPLETE:33,CB_HEADER_FIELD_COMPLETE:28,CB_HEADER_VALUE_COMPLETE:29,CB_CHUNK_EXTENSION_NAME_COMPLETE:34,CB_CHUNK_EXTENSION_VALUE_COMPLETE:35,CB_RESET:31,CB_PROTOCOL_COMPLETE:38};$t.TYPE={BOTH:0,REQUEST:1,RESPONSE:2};$t.FLAGS={CONNECTION_KEEP_ALIVE:1,CONNECTION_CLOSE:2,CONNECTION_UPGRADE:4,CHUNKED:8,UPGRADE:16,CONTENT_LENGTH:32,SKIPBODY:64,TRAILING:128,TRANSFER_ENCODING:512};$t.LENIENT_FLAGS={HEADERS:1,CHUNKED_LENGTH:2,KEEP_ALIVE:4,TRANSFER_ENCODING:8,VERSION:16,DATA_AFTER_CLOSE:32,OPTIONAL_LF_AFTER_CR:64,OPTIONAL_CRLF_AFTER_CHUNK:128,OPTIONAL_CR_BEFORE_LF:256,SPACES_AFTER_CHUNK_SIZE:512};$t.METHODS={DELETE:0,GET:1,HEAD:2,POST:3,PUT:4,CONNECT:5,OPTIONS:6,TRACE:7,COPY:8,LOCK:9,MKCOL:10,MOVE:11,PROPFIND:12,PROPPATCH:13,SEARCH:14,UNLOCK:15,BIND:16,REBIND:17,UNBIND:18,ACL:19,REPORT:20,MKACTIVITY:21,CHECKOUT:22,MERGE:23,"M-SEARCH":24,NOTIFY:25,SUBSCRIBE:26,UNSUBSCRIBE:27,PATCH:28,PURGE:29,MKCALENDAR:30,LINK:31,UNLINK:32,SOURCE:33,PRI:34,DESCRIBE:35,ANNOUNCE:36,SETUP:37,PLAY:38,PAUSE:39,TEARDOWN:40,GET_PARAMETER:41,SET_PARAMETER:42,REDIRECT:43,RECORD:44,FLUSH:45,QUERY:46};$t.STATUSES={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,RESPONSE_IS_STALE:110,REVALIDATION_FAILED:111,DISCONNECTED_OPERATION:112,HEURISTIC_EXPIRATION:113,MISCELLANEOUS_WARNING:199,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,TRANSFORMATION_APPLIED:214,IM_USED:226,MISCELLANEOUS_PERSISTENT_WARNING:299,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,SWITCH_PROXY:306,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,PAGE_EXPIRED:419,ENHANCE_YOUR_CALM:420,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL:430,REQUEST_HEADER_FIELDS_TOO_LARGE:431,LOGIN_TIMEOUT:440,NO_RESPONSE:444,RETRY_WITH:449,BLOCKED_BY_PARENTAL_CONTROL:450,UNAVAILABLE_FOR_LEGAL_REASONS:451,CLIENT_CLOSED_LOAD_BALANCED_REQUEST:460,INVALID_X_FORWARDED_FOR:463,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,INVALID_TOKEN:498,CLIENT_CLOSED_REQUEST:499,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,BANDWIDTH_LIMIT_EXCEEDED:509,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511,WEB_SERVER_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMEOUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,SITE_IS_OVERLOADED:529,SITE_IS_FROZEN:530,IDENTITY_PROVIDER_AUTHENTICATION_ERROR:561,NETWORK_READ_TIMEOUT:598,NETWORK_CONNECT_TIMEOUT:599};$t.FINISH={SAFE:0,SAFE_WITH_CB:1,UNSAFE:2};$t.HEADER_STATE={GENERAL:0,CONNECTION:1,CONTENT_LENGTH:2,TRANSFER_ENCODING:3,UPGRADE:4,CONNECTION_KEEP_ALIVE:5,CONNECTION_CLOSE:6,CONNECTION_UPGRADE:7,TRANSFER_ENCODING_CHUNKED:8};$t.METHODS_HTTP=[$t.METHODS.DELETE,$t.METHODS.GET,$t.METHODS.HEAD,$t.METHODS.POST,$t.METHODS.PUT,$t.METHODS.CONNECT,$t.METHODS.OPTIONS,$t.METHODS.TRACE,$t.METHODS.COPY,$t.METHODS.LOCK,$t.METHODS.MKCOL,$t.METHODS.MOVE,$t.METHODS.PROPFIND,$t.METHODS.PROPPATCH,$t.METHODS.SEARCH,$t.METHODS.UNLOCK,$t.METHODS.BIND,$t.METHODS.REBIND,$t.METHODS.UNBIND,$t.METHODS.ACL,$t.METHODS.REPORT,$t.METHODS.MKACTIVITY,$t.METHODS.CHECKOUT,$t.METHODS.MERGE,$t.METHODS["M-SEARCH"],$t.METHODS.NOTIFY,$t.METHODS.SUBSCRIBE,$t.METHODS.UNSUBSCRIBE,$t.METHODS.PATCH,$t.METHODS.PURGE,$t.METHODS.MKCALENDAR,$t.METHODS.LINK,$t.METHODS.UNLINK,$t.METHODS.PRI,$t.METHODS.SOURCE,$t.METHODS.QUERY];$t.METHODS_ICE=[$t.METHODS.SOURCE];$t.METHODS_RTSP=[$t.METHODS.OPTIONS,$t.METHODS.DESCRIBE,$t.METHODS.ANNOUNCE,$t.METHODS.SETUP,$t.METHODS.PLAY,$t.METHODS.PAUSE,$t.METHODS.TEARDOWN,$t.METHODS.GET_PARAMETER,$t.METHODS.SET_PARAMETER,$t.METHODS.REDIRECT,$t.METHODS.RECORD,$t.METHODS.FLUSH,$t.METHODS.GET,$t.METHODS.POST];$t.METHOD_MAP=(0,$6c.enumToMap)($t.METHODS);$t.H_METHOD_MAP=Object.fromEntries(Object.entries($t.METHODS).filter(([t])=>t.startsWith("H")));$t.STATUSES_HTTP=[$t.STATUSES.CONTINUE,$t.STATUSES.SWITCHING_PROTOCOLS,$t.STATUSES.PROCESSING,$t.STATUSES.EARLY_HINTS,$t.STATUSES.RESPONSE_IS_STALE,$t.STATUSES.REVALIDATION_FAILED,$t.STATUSES.DISCONNECTED_OPERATION,$t.STATUSES.HEURISTIC_EXPIRATION,$t.STATUSES.MISCELLANEOUS_WARNING,$t.STATUSES.OK,$t.STATUSES.CREATED,$t.STATUSES.ACCEPTED,$t.STATUSES.NON_AUTHORITATIVE_INFORMATION,$t.STATUSES.NO_CONTENT,$t.STATUSES.RESET_CONTENT,$t.STATUSES.PARTIAL_CONTENT,$t.STATUSES.MULTI_STATUS,$t.STATUSES.ALREADY_REPORTED,$t.STATUSES.TRANSFORMATION_APPLIED,$t.STATUSES.IM_USED,$t.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,$t.STATUSES.MULTIPLE_CHOICES,$t.STATUSES.MOVED_PERMANENTLY,$t.STATUSES.FOUND,$t.STATUSES.SEE_OTHER,$t.STATUSES.NOT_MODIFIED,$t.STATUSES.USE_PROXY,$t.STATUSES.SWITCH_PROXY,$t.STATUSES.TEMPORARY_REDIRECT,$t.STATUSES.PERMANENT_REDIRECT,$t.STATUSES.BAD_REQUEST,$t.STATUSES.UNAUTHORIZED,$t.STATUSES.PAYMENT_REQUIRED,$t.STATUSES.FORBIDDEN,$t.STATUSES.NOT_FOUND,$t.STATUSES.METHOD_NOT_ALLOWED,$t.STATUSES.NOT_ACCEPTABLE,$t.STATUSES.PROXY_AUTHENTICATION_REQUIRED,$t.STATUSES.REQUEST_TIMEOUT,$t.STATUSES.CONFLICT,$t.STATUSES.GONE,$t.STATUSES.LENGTH_REQUIRED,$t.STATUSES.PRECONDITION_FAILED,$t.STATUSES.PAYLOAD_TOO_LARGE,$t.STATUSES.URI_TOO_LONG,$t.STATUSES.UNSUPPORTED_MEDIA_TYPE,$t.STATUSES.RANGE_NOT_SATISFIABLE,$t.STATUSES.EXPECTATION_FAILED,$t.STATUSES.IM_A_TEAPOT,$t.STATUSES.PAGE_EXPIRED,$t.STATUSES.ENHANCE_YOUR_CALM,$t.STATUSES.MISDIRECTED_REQUEST,$t.STATUSES.UNPROCESSABLE_ENTITY,$t.STATUSES.LOCKED,$t.STATUSES.FAILED_DEPENDENCY,$t.STATUSES.TOO_EARLY,$t.STATUSES.UPGRADE_REQUIRED,$t.STATUSES.PRECONDITION_REQUIRED,$t.STATUSES.TOO_MANY_REQUESTS,$t.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,$t.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,$t.STATUSES.LOGIN_TIMEOUT,$t.STATUSES.NO_RESPONSE,$t.STATUSES.RETRY_WITH,$t.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,$t.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,$t.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,$t.STATUSES.INVALID_X_FORWARDED_FOR,$t.STATUSES.REQUEST_HEADER_TOO_LARGE,$t.STATUSES.SSL_CERTIFICATE_ERROR,$t.STATUSES.SSL_CERTIFICATE_REQUIRED,$t.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,$t.STATUSES.INVALID_TOKEN,$t.STATUSES.CLIENT_CLOSED_REQUEST,$t.STATUSES.INTERNAL_SERVER_ERROR,$t.STATUSES.NOT_IMPLEMENTED,$t.STATUSES.BAD_GATEWAY,$t.STATUSES.SERVICE_UNAVAILABLE,$t.STATUSES.GATEWAY_TIMEOUT,$t.STATUSES.HTTP_VERSION_NOT_SUPPORTED,$t.STATUSES.VARIANT_ALSO_NEGOTIATES,$t.STATUSES.INSUFFICIENT_STORAGE,$t.STATUSES.LOOP_DETECTED,$t.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,$t.STATUSES.NOT_EXTENDED,$t.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,$t.STATUSES.WEB_SERVER_UNKNOWN_ERROR,$t.STATUSES.WEB_SERVER_IS_DOWN,$t.STATUSES.CONNECTION_TIMEOUT,$t.STATUSES.ORIGIN_IS_UNREACHABLE,$t.STATUSES.TIMEOUT_OCCURED,$t.STATUSES.SSL_HANDSHAKE_FAILED,$t.STATUSES.INVALID_SSL_CERTIFICATE,$t.STATUSES.RAILGUN_ERROR,$t.STATUSES.SITE_IS_OVERLOADED,$t.STATUSES.SITE_IS_FROZEN,$t.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,$t.STATUSES.NETWORK_READ_TIMEOUT,$t.STATUSES.NETWORK_CONNECT_TIMEOUT];$t.ALPHA=[];for(let t=65;t<=90;t++)$t.ALPHA.push(String.fromCharCode(t)),$t.ALPHA.push(String.fromCharCode(t+32));$t.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};$t.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};$t.NUM=["0","1","2","3","4","5","6","7","8","9"];$t.ALPHANUM=$t.ALPHA.concat($t.NUM);$t.MARK=["-","_",".","!","~","*","'","(",")"];$t.USERINFO_CHARS=$t.ALPHANUM.concat($t.MARK).concat(["%",";",":","&","=","+","$",","]);$t.URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat($t.ALPHANUM);$t.HEX=$t.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);$t.TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat($t.ALPHANUM);$t.HEADER_CHARS=[" "];for(let t=32;t<=255;t++)t!==127&&$t.HEADER_CHARS.push(t);$t.CONNECTION_TOKEN_CHARS=$t.HEADER_CHARS.filter(t=>t!==44);$t.QUOTED_STRING=[" "," "];for(let t=33;t<=255;t++)t!==34&&t!==92&&$t.QUOTED_STRING.push(t);$t.HTAB_SP_VCHAR_OBS_TEXT=[" "," "];for(let t=33;t<=126;t++)$t.HTAB_SP_VCHAR_OBS_TEXT.push(t);for(let t=128;t<=255;t++)$t.HTAB_SP_VCHAR_OBS_TEXT.push(t);$t.MAJOR=$t.NUM_MAP;$t.MINOR=$t.MAJOR;$t.SPECIAL_HEADERS={connection:$t.HEADER_STATE.CONNECTION,"content-length":$t.HEADER_STATE.CONTENT_LENGTH,"proxy-connection":$t.HEADER_STATE.CONNECTION,"transfer-encoding":$t.HEADER_STATE.TRANSFER_ENCODING,upgrade:$t.HEADER_STATE.UPGRADE};$t.default={ERROR:$t.ERROR,TYPE:$t.TYPE,FLAGS:$t.FLAGS,LENIENT_FLAGS:$t.LENIENT_FLAGS,METHODS:$t.METHODS,STATUSES:$t.STATUSES,FINISH:$t.FINISH,HEADER_STATE:$t.HEADER_STATE,ALPHA:$t.ALPHA,NUM_MAP:$t.NUM_MAP,HEX_MAP:$t.HEX_MAP,NUM:$t.NUM,ALPHANUM:$t.ALPHANUM,MARK:$t.MARK,USERINFO_CHARS:$t.USERINFO_CHARS,URL_CHAR:$t.URL_CHAR,HEX:$t.HEX,TOKEN:$t.TOKEN,HEADER_CHARS:$t.HEADER_CHARS,CONNECTION_TOKEN_CHARS:$t.CONNECTION_TOKEN_CHARS,QUOTED_STRING:$t.QUOTED_STRING,HTAB_SP_VCHAR_OBS_TEXT:$t.HTAB_SP_VCHAR_OBS_TEXT,MAJOR:$t.MAJOR,MINOR:$t.MINOR,SPECIAL_HEADERS:$t.SPECIAL_HEADERS,METHODS_HTTP:$t.METHODS_HTTP,METHODS_ICE:$t.METHODS_ICE,METHODS_RTSP:$t.METHODS_RTSP,METHOD_MAP:$t.METHOD_MAP,H_METHOD_MAP:$t.H_METHOD_MAP,STATUSES_HTTP:$t.STATUSES_HTTP}});var k8r=J((YxA,YNi)=>{"use strict";var{Buffer:z6c}=qe("node:buffer"),Y6c="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRwX3NldF9sZW5pZW50X2hlYWRlcnMAISFsbGh0dHBfc2V0X2xlbmllbnRfY2h1bmtlZF9sZW5ndGgAIh1sbGh0dHBfc2V0X2xlbmllbnRfa2VlcF9hbGl2ZQAjJGxsaHR0cF9zZXRfbGVuaWVudF90cmFuc2Zlcl9lbmNvZGluZwAkGmxsaHR0cF9zZXRfbGVuaWVudF92ZXJzaW9uACUjbGxodHRwX3NldF9sZW5pZW50X2RhdGFfYWZ0ZXJfY2xvc2UAJidsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfbGZfYWZ0ZXJfY3IAJyxsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfY3JsZl9hZnRlcl9jaHVuawAoKGxsaHR0cF9zZXRfbGVuaWVudF9vcHRpb25hbF9jcl9iZWZvcmVfbGYAKSpsbGh0dHBfc2V0X2xlbmllbnRfc3BhY2VzX2FmdGVyX2NodW5rX3NpemUAKhhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YANgkYAQBBAQsSAQIDBAUKBgcyNDMuKy8tLDAxCq/ZAjQWAEHA1QAoAgAEQAALQcDVAEEBNgIACxQAIAAQOCAAIAI2AjggACABOgAoCxQAIAAgAC8BNCAALQAwIAAQNxAACx4BAX9BwAAQOiIBEDggAUGACDYCOCABIAA6ACggAQuPDAEHfwJAIABFDQAgAEEIayIBIABBBGsoAgAiAEF4cSIEaiEFAkAgAEEBcQ0AIABBA3FFDQEgASABKAIAIgBrIgFB1NUAKAIASQ0BIAAgBGohBAJAAkBB2NUAKAIAIAFHBEAgAEH/AU0EQCAAQQN2IQMgASgCCCIAIAEoAgwiAkYEQEHE1QBBxNUAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgASgCGCEGIAEgASgCDCIARwRAIAAgASgCCCICNgIIIAIgADYCDAwDCyABQRRqIgMoAgAiAkUEQCABKAIQIgJFDQIgAUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSgCBCIAQQNxQQNHDQIgBSAAQX5xNgIEQczVACAENgIAIAUgBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgASgCHCICQQJ0QfTXAGoiAygCACABRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAFGG2ogADYCACAARQ0BCyAAIAY2AhggASgCECICBEAgACACNgIQIAIgADYCGAsgAUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBU8NACAFKAIEIgBBAXFFDQACQAJAAkACQCAAQQJxRQRAQdzVACgCACAFRgRAQdzVACABNgIAQdDVAEHQ1QAoAgAgBGoiADYCACABIABBAXI2AgQgAUHY1QAoAgBHDQZBzNUAQQA2AgBB2NUAQQA2AgAMBgtB2NUAKAIAIAVGBEBB2NUAIAE2AgBBzNUAQczVACgCACAEaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgAMBgsgAEF4cSAEaiEEIABB/wFNBEAgAEEDdiEDIAUoAggiACAFKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwFCyACIAA2AgggACACNgIMDAQLIAUoAhghBiAFIAUoAgwiAEcEQEHU1QAoAgAaIAAgBSgCCCICNgIIIAIgADYCDAwDCyAFQRRqIgMoAgAiAkUEQCAFKAIQIgJFDQIgBUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSAAQX5xNgIEIAEgBGogBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgBSgCHCICQQJ0QfTXAGoiAygCACAFRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAVGG2ogADYCACAARQ0BCyAAIAY2AhggBSgCECICBEAgACACNgIQIAIgADYCGAsgBUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBGogBDYCACABIARBAXI2AgQgAUHY1QAoAgBHDQBBzNUAIAQ2AgAMAQsgBEH/AU0EQCAEQXhxQezVAGohAAJ/QcTVACgCACICQQEgBEEDdnQiA3FFBEBBxNUAIAIgA3I2AgAgAAwBCyAAKAIICyICIAE2AgwgACABNgIIIAEgADYCDCABIAI2AggMAQtBHyECIARB////B00EQCAEQSYgBEEIdmciAGt2QQFxIABBAXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASECDKACCwJAAkACQCABLQAAQQprDgQBAgIAAgsgAUEBaiEBDAILIAFBAWohAQwBCyADLQAuQcAAcUUNAQtBACEAAkAgAygCOCICRQ0AIAIoAjwiAkUNACADIAIRAAAhAAsgAEUNoAEgAEEVRgRAIANB2QA2AhwgAyABNgIUIANBtxo2AhAgA0EVNgIMQQAhAgyfAgsgA0EANgIcIAMgATYCFCADQYANNgIQIANBGzYCDEEAIQIMngILIANBADYCHCADIAE2AhQgA0HcKDYCECADQQI2AgxBACECDJ0CCyABIARHBEAgA0EMNgIIIAMgATYCBEG/ASECDIQCC0HYASECDJwCCyABIARGBEBB1wEhAgycAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBwQBrDhUAAQIDWgQFBlpaWgcICQoLDA0ODxBaCyABQQFqIQFB+wAhAgySAgsgAUEBaiEBQfwAIQIMkQILIAFBAWohAUGBASECDJACCyABQQFqIQFBhQEhAgyPAgsgAUEBaiEBQYYBIQIMjgILIAFBAWohAUGJASECDI0CCyABQQFqIQFBigEhAgyMAgsgAUEBaiEBQY0BIQIMiwILIAFBAWohAUGWASECDIoCCyABQQFqIQFBlwEhAgyJAgsgAUEBaiEBQZgBIQIMiAILIAFBAWohAUGlASECDIcCCyABQQFqIQFBpgEhAgyGAgsgAUEBaiEBQawBIQIMhQILIAFBAWohAUG0ASECDIQCCyABQQFqIQFBtwEhAgyDAgsgAUEBaiEBQb4BIQIMggILIAEgBEYEQEHWASECDJsCCyABLQAAQc4ARw1IIAFBAWohAUG9ASECDIECCyABIARGBEBB1QEhAgyaAgsCQAJAAkAgAS0AAEHCAGsOEgBKSkpKSkpKSkoBSkpKSkpKAkoLIAFBAWohAUG4ASECDIICCyABQQFqIQFBuwEhAgyBAgsgAUEBaiEBQbwBIQIMgAILQdQBIQIgASAERg2YAiADKAIAIgAgBCABa2ohBSABIABrQQdqIQYCQANAIAEtAAAgAEGo1QBqLQAARw1FIABBB0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAgsgA0EANgIAIAZBAWohAUEbDEULIAEgBEYEQEHTASECDJgCCwJAAkAgAS0AAEHJAGsOBwBHR0dHRwFHCyABQQFqIQFBuQEhAgz/AQsgAUEBaiEBQboBIQIM/gELQdIBIQIgASAERg2WAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw1DIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyXAgsgA0EANgIAIAZBAWohAUEPDEMLQdEBIQIgASAERg2VAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw1CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyWAgsgA0EANgIAIAZBAWohAUEgDEILQdABIQIgASAERg2UAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw1BIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyVAgsgA0EANgIAIAZBAWohAUESDEELIAEgBEYEQEHPASECDJQCCwJAAkAgAS0AAEHFAGsODgBDQ0NDQ0NDQ0NDQ0MBQwsgAUEBaiEBQbUBIQIM+wELIAFBAWohAUG2ASECDPoBC0HOASECIAEgBEYNkgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBntUAai0AAEcNPyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMkwILIANBADYCACAGQQFqIQFBBww/C0HNASECIAEgBEYNkQIgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBmNUAai0AAEcNPiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMkgILIANBADYCACAGQQFqIQFBKAw+CyABIARGBEBBzAEhAgyRAgsCQAJAAkAgAS0AAEHFAGsOEQBBQUFBQUFBQUEBQUFBQUECQQsgAUEBaiEBQbEBIQIM+QELIAFBAWohAUGyASECDPgBCyABQQFqIQFBswEhAgz3AQtBywEhAiABIARGDY8CIAMoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAS0AACAAQZHVAGotAABHDTwgAEEGRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJACCyADQQA2AgAgBkEBaiEBQRoMPAtBygEhAiABIARGDY4CIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQY3VAGotAABHDTsgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADI8CCyADQQA2AgAgBkEBaiEBQSEMOwsgASAERgRAQckBIQIMjgILAkACQCABLQAAQcEAaw4UAD09PT09PT09PT09PT09PT09PQE9CyABQQFqIQFBrQEhAgz1AQsgAUEBaiEBQbABIQIM9AELIAEgBEYEQEHIASECDI0CCwJAAkAgAS0AAEHVAGsOCwA8PDw8PDw8PDwBPAsgAUEBaiEBQa4BIQIM9AELIAFBAWohAUGvASECDPMBC0HHASECIAEgBEYNiwIgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNOCAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjAILIANBADYCACAGQQFqIQFBKgw4CyABIARGBEBBxgEhAgyLAgsgAS0AAEHQAEcNOCABQQFqIQFBJQw3C0HFASECIAEgBEYNiQIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBgdUAai0AAEcNNiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMigILIANBADYCACAGQQFqIQFBDgw2CyABIARGBEBBxAEhAgyJAgsgAS0AAEHFAEcNNiABQQFqIQFBqwEhAgzvAQsgASAERgRAQcMBIQIMiAILAkACQAJAAkAgAS0AAEHCAGsODwABAjk5OTk5OTk5OTk5AzkLIAFBAWohAUGnASECDPEBCyABQQFqIQFBqAEhAgzwAQsgAUEBaiEBQakBIQIM7wELIAFBAWohAUGqASECDO4BC0HCASECIAEgBEYNhgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB/tQAai0AAEcNMyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhwILIANBADYCACAGQQFqIQFBFAwzC0HBASECIAEgBEYNhQIgAygCACIAIAQgAWtqIQUgASAAa0EEaiEGAkADQCABLQAAIABB+dQAai0AAEcNMiAAQQRGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhgILIANBADYCACAGQQFqIQFBKwwyC0HAASECIAEgBEYNhAIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB9tQAai0AAEcNMSAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhQILIANBADYCACAGQQFqIQFBLAwxC0G/ASECIAEgBEYNgwIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBodUAai0AAEcNMCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMhAILIANBADYCACAGQQFqIQFBEQwwC0G+ASECIAEgBEYNggIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABB8tQAai0AAEcNLyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMgwILIANBADYCACAGQQFqIQFBLgwvCyABIARGBEBBvQEhAgyCAgsCQAJAAkACQAJAIAEtAABBwQBrDhUANDQ0NDQ0NDQ0NAE0NAI0NAM0NAQ0CyABQQFqIQFBmwEhAgzsAQsgAUEBaiEBQZwBIQIM6wELIAFBAWohAUGdASECDOoBCyABQQFqIQFBogEhAgzpAQsgAUEBaiEBQaQBIQIM6AELIAEgBEYEQEG8ASECDIECCwJAAkAgAS0AAEHSAGsOAwAwATALIAFBAWohAUGjASECDOgBCyABQQFqIQFBBAwtC0G7ASECIAEgBEYN/wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8NQAai0AAEcNLCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMgAILIANBADYCACAGQQFqIQFBHQwsCyABIARGBEBBugEhAgz/AQsCQAJAIAEtAABByQBrDgcBLi4uLi4ALgsgAUEBaiEBQaEBIQIM5gELIAFBAWohAUEiDCsLIAEgBEYEQEG5ASECDP4BCyABLQAAQdAARw0rIAFBAWohAUGgASECDOQBCyABIARGBEBBuAEhAgz9AQsCQAJAIAEtAABBxgBrDgsALCwsLCwsLCwsASwLIAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==",M8r;Object.defineProperty(YNi,"exports",{get:()=>M8r||(M8r=z6c.from(Y6c,"base64"))})});var XNi=J((JxA,JNi)=>{"use strict";var{Buffer:J6c}=qe("node:buffer"),X6c="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyAD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ciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==",O8r;Object.defineProperty(JNi,"exports",{get:()=>O8r||(O8r=J6c.from(X6c,"base64"))})});var bWe=J((XxA,o8i)=>{"use strict";var ZNi=["GET","HEAD","POST"],Z6c=new Set(ZNi),ePc=[101,204,205,304],e8i=[301,302,303,307,308],tPc=new Set(e8i),t8i=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"],rPc=new Set(t8i),r8i=["no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],nPc=["",...r8i],iPc=new Set(r8i),aPc=["follow","manual","error"],n8i=["GET","HEAD","OPTIONS","TRACE"],oPc=new Set(n8i),sPc=["navigate","same-origin","no-cors","cors"],uPc=["omit","same-origin","include"],cPc=["default","no-store","reload","no-cache","force-cache","only-if-cached"],lPc=["content-encoding","content-language","content-location","content-type","content-length"],dPc=["half"],i8i=["CONNECT","TRACE","TRACK"],fPc=new Set(i8i),a8i=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],hPc=new Set(a8i);o8i.exports={subresource:a8i,forbiddenMethods:i8i,requestBodyHeader:lPc,referrerPolicy:nPc,requestRedirect:aPc,requestMode:sPc,requestCredentials:uPc,requestCache:cPc,redirectStatus:e8i,corsSafeListedMethods:ZNi,nullBodyStatus:ePc,safeMethods:n8i,badPorts:t8i,requestDuplex:dPc,subresourceSet:hPc,badPortsSet:rPc,redirectStatusSet:tPc,corsSafeListedMethodsSet:Z6c,safeMethodsSet:oPc,forbiddenMethodsSet:fPc,referrerPolicyTokens:iPc}});var F8r=J((ZxA,s8i)=>{"use strict";var N8r=Symbol.for("undici.globalOrigin.1");function pPc(){return globalThis[N8r]}function APc(t){if(t===void 0){Object.defineProperty(globalThis,N8r,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let e=new URL(t);if(e.protocol!=="http:"&&e.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${e.protocol}`);Object.defineProperty(globalThis,N8r,{value:e,writable:!0,enumerable:!1,configurable:!1})}s8i.exports={getGlobalOrigin:pPc,setGlobalOrigin:APc}});var _We=J((e2A,u8i)=>{"use strict";var gPc=new TextDecoder;function mPc(t){return t.length===0?"":(t[0]===239&&t[1]===187&&t[2]===191&&(t=t.subarray(3)),gPc.decode(t))}u8i.exports={utf8DecodeBytes:mPc}});var tK=J((t2A,f8i)=>{"use strict";var c8i=qe("node:assert"),{utf8DecodeBytes:EPc}=_We();function yPc(t,e,r){let n="";for(;r.position<e.length&&t(e[r.position]);)n+=e[r.position],r.position++;return n}function vPc(t,e,r){let n=e.indexOf(t,r.position),o=r.position;return n===-1?(r.position=e.length,e.slice(o)):(r.position=n,e.slice(o,r.position))}var CPc=/[\u0009\u000A\u000C\u000D\u0020]/g;function bPc(t){t=t.replace(CPc,"");let e=t.length;if(e%4===0&&t.charCodeAt(e-1)===61&&(--e,t.charCodeAt(e-1)===61&&--e),e%4===1||/[^+/0-9A-Za-z]/.test(t.length===e?t:t.substring(0,e)))return"failure";let r=Buffer.from(t,"base64");return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function l8i(t){return t===9||t===10||t===12||t===13||t===32}function _Pc(t){let e=t.length;if(65535>e)return String.fromCharCode.apply(null,t);let r="",n=0,o=65535;for(;n<e;)n+o>e&&(o=e-n),r+=String.fromCharCode.apply(null,t.subarray(n,n+=o));return r}var SPc=/[^\x00-\xFF]/;function IPc(t){return c8i(!SPc.test(t)),t}function xPc(t){return JSON.parse(EPc(t))}function TPc(t,e=!0,r=!0){return d8i(t,e,r,l8i)}function d8i(t,e,r,n){let o=0,s=t.length-1;if(e)for(;o<t.length&&n(t.charCodeAt(o));)o++;if(r)for(;s>0&&n(t.charCodeAt(s));)s--;return o===0&&s===t.length-1?t:t.slice(o,s+1)}function wPc(t){let e=JSON.stringify(t);if(e===void 0)throw new TypeError("Value is not JSON serializable");return c8i(typeof e=="string"),e}f8i.exports={collectASequenceOfCodePoints:yPc,collectASequenceOfCodePointsFast:vPc,forgivingBase64:bPc,isASCIIWhitespace:l8i,isomorphicDecode:_Pc,isomorphicEncode:IPc,parseJSONFromBytes:xPc,removeASCIIWhitespace:TPc,removeChars:d8i,serializeJavascriptValueToJSONString:wPc}});var XP=J((r2A,E8i)=>{"use strict";var Ixt=qe("node:assert"),{forgivingBase64:RPc,collectASequenceOfCodePoints:L8r,collectASequenceOfCodePointsFast:SWe,isomorphicDecode:BPc,removeASCIIWhitespace:DPc,removeChars:PPc}=tK(),MPc=new TextEncoder,IWe=/^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u,kPc=/[\u000A\u000D\u0009\u0020]/u,OPc=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;function NPc(t){Ixt(t.protocol==="data:");let e=A8i(t,!0);e=e.slice(5);let r={position:0},n=SWe(",",e,r),o=n.length;if(n=DPc(n,!0,!0),r.position>=e.length)return"failure";r.position++;let s=e.slice(o+1),a=g8i(s);if(/;(?:\u0020*)base64$/ui.test(n)){let c=BPc(a);if(a=RPc(c),a==="failure")return"failure";n=n.slice(0,-6),n=n.replace(/(\u0020+)$/u,""),n=n.slice(0,-1)}n.startsWith(";")&&(n="text/plain"+n);let u=U8r(n);return u==="failure"&&(u=U8r("text/plain;charset=US-ASCII")),{mimeType:u,body:a}}function A8i(t,e=!1){if(!e)return t.href;let r=t.href,n=t.hash.length,o=n===0?r:r.substring(0,r.length-n);return!n&&r.endsWith("#")?o.slice(0,-1):o}function g8i(t){let e=MPc.encode(t);return FPc(e)}function h8i(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function p8i(t){return t>=48&&t<=57?t-48:(t&223)-55}function FPc(t){let e=t.length,r=new Uint8Array(e),n=0,o=0;for(;o<e;){let s=t[o];s!==37?r[n++]=s:s===37&&!(h8i(t[o+1])&&h8i(t[o+2]))?r[n++]=37:(r[n++]=p8i(t[o+1])<<4|p8i(t[o+2]),o+=2),++o}return e===n?r:r.subarray(0,n)}function U8r(t){t=Sxt(t,!0,!0);let e={position:0},r=SWe("/",t,e);if(r.length===0||!IWe.test(r)||e.position>=t.length)return"failure";e.position++;let n=SWe(";",t,e);if(n=Sxt(n,!1,!0),n.length===0||!IWe.test(n))return"failure";let o=r.toLowerCase(),s=n.toLowerCase(),a={type:o,subtype:s,parameters:new Map,essence:`${o}/${s}`};for(;e.position<t.length;){e.position++,L8r(f=>kPc.test(f),t,e);let u=L8r(f=>f!==";"&&f!=="=",t,e);if(u=u.toLowerCase(),e.position<t.length){if(t[e.position]===";")continue;e.position++}if(e.position>=t.length)break;let c=null;if(t[e.position]==='"')c=m8i(t,e,!0),SWe(";",t,e);else if(c=SWe(";",t,e),c=Sxt(c,!1,!0),c.length===0)continue;u.length!==0&&IWe.test(u)&&(c.length===0||OPc.test(c))&&!a.parameters.has(u)&&a.parameters.set(u,c)}return a}function m8i(t,e,r=!1){let n=e.position,o="";for(Ixt(t[e.position]==='"'),e.position++;o+=L8r(a=>a!=='"'&&a!=="\\",t,e),!(e.position>=t.length);){let s=t[e.position];if(e.position++,s==="\\"){if(e.position>=t.length){o+="\\";break}o+=t[e.position],e.position++}else{Ixt(s==='"');break}}return r?o:t.slice(n,e.position)}function LPc(t){Ixt(t!=="failure");let{parameters:e,essence:r}=t,n=r;for(let[o,s]of e.entries())n+=";",n+=o,n+="=",IWe.test(s)||(s=s.replace(/[\\"]/ug,"\\$&"),s='"'+s,s+='"'),n+=s;return n}function UPc(t){return t===13||t===10||t===9||t===32}function Sxt(t,e=!0,r=!0){return PPc(t,e,r,UPc)}function QPc(t){switch(t.essence){case"application/ecmascript":case"application/javascript":case"application/x-ecmascript":case"application/x-javascript":case"text/ecmascript":case"text/javascript":case"text/javascript1.0":case"text/javascript1.1":case"text/javascript1.2":case"text/javascript1.3":case"text/javascript1.4":case"text/javascript1.5":case"text/jscript":case"text/livescript":case"text/x-ecmascript":case"text/x-javascript":return"text/javascript";case"application/json":case"text/json":return"application/json";case"image/svg+xml":return"image/svg+xml";case"text/xml":case"application/xml":return"application/xml"}return t.subtype.endsWith("+json")?"application/json":t.subtype.endsWith("+xml")?"application/xml":""}E8i.exports={dataURLProcessor:NPc,URLSerializer:A8i,stringPercentDecode:g8i,parseMIMEType:U8r,collectAnHTTPQuotedString:m8i,serializeAMimeType:LPc,removeHTTPWhitespace:Sxt,minimizeSupportedMimeType:QPc,HTTP_TOKEN_CODEPOINTS:IWe}});var rK=J((n2A,q8r)=>{"use strict";var y8i={__proto__:null,"node:crypto":()=>qe("node:crypto"),"node:sqlite":()=>qe("node:sqlite"),"node:worker_threads":()=>qe("node:worker_threads"),"node:zlib":()=>qe("node:zlib")};function qPc(t){try{return y8i[t](),!0}catch(e){if(e.code!=="ERR_UNKNOWN_BUILTIN_MODULE"&&e.code!=="ERR_NO_CRYPTO")throw e;return!1}}function GPc(t,e){return typeof y8i[t]()[e]<"u"}var v8i=["markAsUncloneable","zstd"],HPc={markAsUncloneable:["node:worker_threads","markAsUncloneable"],zstd:["node:zlib","createZstdDecompress"]},C8i=["crypto","sqlite"],VPc=[...C8i,...v8i];function WPc(t){if(C8i.includes(t))return qPc(`node:${t}`);if(v8i.includes(t)){let[e,r]=HPc[t];return GPc(e,r)}throw new TypeError(`unknown feature: ${t}`)}var Q8r=class{#e=new Map;clear(){this.#e.clear()}has(e){return this.#e.get(e)??this.#t(e)}set(e,r){if(VPc.includes(e)===!1)throw new TypeError(`unknown feature: ${e}`);this.#e.set(e,r)}#t(e){let r=WPc(e);return this.#e.set(e,r),r}},b8i=new Q8r;q8r.exports.runtimeFeatures=b8i;q8r.exports.default=b8i});var n_=J((i2A,S8i)=>{"use strict";var jPc=qe("node:assert"),{types:cm,inspect:KPc}=qe("node:util"),{runtimeFeatures:$Pc}=rK(),G8r=1,H8r=2,xxt=3,Txt=4,V8r=5,wxt=6,W8r=7,TD=8,_8i=Function.call.bind(Function.prototype[Symbol.hasInstance]),qr={converters:{},util:{},errors:{},is:{}};qr.errors.exception=function(t){return new TypeError(`${t.header}: ${t.message}`)};qr.errors.conversionFailed=function(t){let e=t.types.length===1?"":" one of",r=`${t.argument} could not be converted to${e}: ${t.types.join(", ")}.`;return qr.errors.exception({header:t.prefix,message:r})};qr.errors.invalidArgument=function(t){return qr.errors.exception({header:t.prefix,message:`"${t.value}" is an invalid ${t.type}.`})};qr.brandCheck=function(t,e){if(!_8i(e,t)){let r=new TypeError("Illegal invocation");throw r.code="ERR_INVALID_THIS",r}};qr.brandCheckMultiple=function(t){let e=t.map(r=>qr.util.MakeTypeAssertion(r));return r=>{if(e.every(n=>!n(r))){let n=new TypeError("Illegal invocation");throw n.code="ERR_INVALID_THIS",n}}};qr.argumentLengthCheck=function({length:t},e,r){if(t<e)throw qr.errors.exception({message:`${e} argument${e!==1?"s":""} required, but${t?" only":""} ${t} found.`,header:r})};qr.illegalConstructor=function(){throw qr.errors.exception({header:"TypeError",message:"Illegal constructor"})};qr.util.MakeTypeAssertion=function(t){return e=>_8i(t,e)};qr.util.Type=function(t){switch(typeof t){case"undefined":return G8r;case"boolean":return H8r;case"string":return xxt;case"symbol":return Txt;case"number":return V8r;case"bigint":return wxt;case"function":case"object":return t===null?W8r:TD}};qr.util.Types={UNDEFINED:G8r,BOOLEAN:H8r,STRING:xxt,SYMBOL:Txt,NUMBER:V8r,BIGINT:wxt,NULL:W8r,OBJECT:TD};qr.util.TypeValueToString=function(t){switch(qr.util.Type(t)){case G8r:return"Undefined";case H8r:return"Boolean";case xxt:return"String";case Txt:return"Symbol";case V8r:return"Number";case wxt:return"BigInt";case W8r:return"Null";case TD:return"Object"}};qr.util.markAsUncloneable=$Pc.has("markAsUncloneable")?qe("node:worker_threads").markAsUncloneable:()=>{};qr.util.ConvertToInt=function(t,e,r,n){let o,s;e===64?(o=Math.pow(2,53)-1,r==="unsigned"?s=0:s=Math.pow(-2,53)+1):r==="unsigned"?(s=0,o=Math.pow(2,e)-1):(s=Math.pow(-2,e)-1,o=Math.pow(2,e-1)-1);let a=Number(t);if(a===0&&(a=0),qr.util.HasFlag(n,qr.attributes.EnforceRange)){if(Number.isNaN(a)||a===Number.POSITIVE_INFINITY||a===Number.NEGATIVE_INFINITY)throw qr.errors.exception({header:"Integer conversion",message:`Could not convert ${qr.util.Stringify(t)} to an integer.`});if(a=qr.util.IntegerPart(a),a<s||a>o)throw qr.errors.exception({header:"Integer conversion",message:`Value must be between ${s}-${o}, got ${a}.`});return a}return!Number.isNaN(a)&&qr.util.HasFlag(n,qr.attributes.Clamp)?(a=Math.min(Math.max(a,s),o),Math.floor(a)%2===0?a=Math.floor(a):a=Math.ceil(a),a):Number.isNaN(a)||a===0&&Object.is(0,a)||a===Number.POSITIVE_INFINITY||a===Number.NEGATIVE_INFINITY?0:(a=qr.util.IntegerPart(a),a=a%Math.pow(2,e),r==="signed"&&a>=Math.pow(2,e)-1?a-Math.pow(2,e):a)};qr.util.IntegerPart=function(t){let e=Math.floor(Math.abs(t));return t<0?-1*e:e};qr.util.Stringify=function(t){switch(qr.util.Type(t)){case Txt:return`Symbol(${t.description})`;case TD:return KPc(t);case xxt:return`"${t}"`;case wxt:return`${t}n`;default:return`${t}`}};qr.util.IsResizableArrayBuffer=function(t){if(cm.isArrayBuffer(t))return t.resizable;if(cm.isSharedArrayBuffer(t))return t.growable;throw qr.errors.exception({header:"IsResizableArrayBuffer",message:`"${qr.util.Stringify(t)}" is not an array buffer.`})};qr.util.HasFlag=function(t,e){return typeof t=="number"&&(t&e)===e};qr.sequenceConverter=function(t){return(e,r,n,o)=>{if(qr.util.Type(e)!==TD)throw qr.errors.exception({header:r,message:`${n} (${qr.util.Stringify(e)}) is not iterable.`});let s=typeof o=="function"?o():e?.[Symbol.iterator]?.(),a=[],u=0;if(s===void 0||typeof s.next!="function")throw qr.errors.exception({header:r,message:`${n} is not iterable.`});for(;;){let{done:c,value:f}=s.next();if(c)break;a.push(t(f,r,`${n}[${u++}]`))}return a}};qr.recordConverter=function(t,e){return(r,n,o)=>{if(qr.util.Type(r)!==TD)throw qr.errors.exception({header:n,message:`${o} ("${qr.util.TypeValueToString(r)}") is not an Object.`});let s={};if(!cm.isProxy(r)){let u=[...Object.getOwnPropertyNames(r),...Object.getOwnPropertySymbols(r)];for(let c of u){let f=qr.util.Stringify(c),h=t(c,n,`Key ${f} in ${o}`),p=e(r[c],n,`${o}[${f}]`);s[h]=p}return s}let a=Reflect.ownKeys(r);for(let u of a)if(Reflect.getOwnPropertyDescriptor(r,u)?.enumerable){let f=t(u,n,o),h=e(r[u],n,o);s[f]=h}return s}};qr.interfaceConverter=function(t,e){return(r,n,o)=>{if(!t(r))throw qr.errors.exception({header:n,message:`Expected ${o} ("${qr.util.Stringify(r)}") to be an instance of ${e}.`});return r}};qr.dictionaryConverter=function(t){return t.sort((e,r)=>(e.key>r.key)-(e.key<r.key)),(e,r,n)=>{let o={};if(e!=null&&qr.util.Type(e)!==TD)throw qr.errors.exception({header:r,message:`Expected ${e} to be one of: Null, Undefined, Object.`});for(let s of t){let{key:a,defaultValue:u,required:c,converter:f}=s;if(c===!0&&(e==null||!Object.hasOwn(e,a)))throw qr.errors.exception({header:r,message:`Missing required key "${a}".`});let h=e?.[a],p=u!==void 0;if(p&&h===void 0&&(h=u()),c||p||h!==void 0){if(h=f(h,r,`${n}.${a}`),s.allowedValues&&!s.allowedValues.includes(h))throw qr.errors.exception({header:r,message:`${h} is not an accepted type. Expected one of ${s.allowedValues.join(", ")}.`});o[a]=h}}return o}};qr.nullableConverter=function(t){return(e,r,n)=>e===null?e:t(e,r,n)};qr.is.USVString=function(t){return typeof t=="string"&&t.isWellFormed()};qr.is.ReadableStream=qr.util.MakeTypeAssertion(ReadableStream);qr.is.Blob=qr.util.MakeTypeAssertion(Blob);qr.is.URLSearchParams=qr.util.MakeTypeAssertion(URLSearchParams);qr.is.File=qr.util.MakeTypeAssertion(File);qr.is.URL=qr.util.MakeTypeAssertion(URL);qr.is.AbortSignal=qr.util.MakeTypeAssertion(AbortSignal);qr.is.MessagePort=qr.util.MakeTypeAssertion(MessagePort);qr.is.BufferSource=function(t){return cm.isArrayBuffer(t)||ArrayBuffer.isView(t)&&cm.isArrayBuffer(t.buffer)};qr.util.getCopyOfBytesHeldByBufferSource=function(t){let e=t,r=e,n=0,o=0;if(cm.isTypedArray(e)||cm.isDataView(e)?(r=e.buffer,n=e.byteOffset,o=e.byteLength):(jPc(cm.isAnyArrayBuffer(e)),o=e.byteLength),r.detached)return new Uint8Array(0);let s=new Uint8Array(o),a=new Uint8Array(r,n,o);return s.set(a),s};qr.converters.DOMString=function(t,e,r,n){if(t===null&&qr.util.HasFlag(n,qr.attributes.LegacyNullToEmptyString))return"";if(typeof t=="symbol")throw qr.errors.exception({header:e,message:`${r} is a symbol, which cannot be converted to a DOMString.`});return String(t)};qr.converters.ByteString=function(t,e,r){if(typeof t=="symbol")throw qr.errors.exception({header:e,message:`${r} is a symbol, which cannot be converted to a ByteString.`});let n=String(t);for(let o=0;o<n.length;o++)if(n.charCodeAt(o)>255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${o} has a value of ${n.charCodeAt(o)} which is greater than 255.`);return n};qr.converters.USVString=function(t){return typeof t=="string"?t.toWellFormed():`${t}`.toWellFormed()};qr.converters.boolean=function(t){return!!t};qr.converters.any=function(t){return t};qr.converters["long long"]=function(t,e,r){return qr.util.ConvertToInt(t,64,"signed",0,e,r)};qr.converters["unsigned long long"]=function(t,e,r){return qr.util.ConvertToInt(t,64,"unsigned",0,e,r)};qr.converters["unsigned long"]=function(t,e,r){return qr.util.ConvertToInt(t,32,"unsigned",0,e,r)};qr.converters["unsigned short"]=function(t,e,r,n){return qr.util.ConvertToInt(t,16,"unsigned",n,e,r)};qr.converters.ArrayBuffer=function(t,e,r,n){if(qr.util.Type(t)!==TD||!cm.isArrayBuffer(t))throw qr.errors.conversionFailed({prefix:e,argument:`${r} ("${qr.util.Stringify(t)}")`,types:["ArrayBuffer"]});if(!qr.util.HasFlag(n,qr.attributes.AllowResizable)&&qr.util.IsResizableArrayBuffer(t))throw qr.errors.exception({header:e,message:`${r} cannot be a resizable ArrayBuffer.`});return t};qr.converters.SharedArrayBuffer=function(t,e,r,n){if(qr.util.Type(t)!==TD||!cm.isSharedArrayBuffer(t))throw qr.errors.conversionFailed({prefix:e,argument:`${r} ("${qr.util.Stringify(t)}")`,types:["SharedArrayBuffer"]});if(!qr.util.HasFlag(n,qr.attributes.AllowResizable)&&qr.util.IsResizableArrayBuffer(t))throw qr.errors.exception({header:e,message:`${r} cannot be a resizable SharedArrayBuffer.`});return t};qr.converters.TypedArray=function(t,e,r,n,o){if(qr.util.Type(t)!==TD||!cm.isTypedArray(t)||t.constructor.name!==e.name)throw qr.errors.conversionFailed({prefix:r,argument:`${n} ("${qr.util.Stringify(t)}")`,types:[e.name]});if(!qr.util.HasFlag(o,qr.attributes.AllowShared)&&cm.isSharedArrayBuffer(t.buffer))throw qr.errors.exception({header:r,message:`${n} cannot be a view on a shared array buffer.`});if(!qr.util.HasFlag(o,qr.attributes.AllowResizable)&&qr.util.IsResizableArrayBuffer(t.buffer))throw qr.errors.exception({header:r,message:`${n} cannot be a view on a resizable array buffer.`});return t};qr.converters.DataView=function(t,e,r,n){if(qr.util.Type(t)!==TD||!cm.isDataView(t))throw qr.errors.conversionFailed({prefix:e,argument:`${r} ("${qr.util.Stringify(t)}")`,types:["DataView"]});if(!qr.util.HasFlag(n,qr.attributes.AllowShared)&&cm.isSharedArrayBuffer(t.buffer))throw qr.errors.exception({header:e,message:`${r} cannot be a view on a shared array buffer.`});if(!qr.util.HasFlag(n,qr.attributes.AllowResizable)&&qr.util.IsResizableArrayBuffer(t.buffer))throw qr.errors.exception({header:e,message:`${r} cannot be a view on a resizable array buffer.`});return t};qr.converters.ArrayBufferView=function(t,e,r,n){if(qr.util.Type(t)!==TD||!cm.isArrayBufferView(t))throw qr.errors.conversionFailed({prefix:e,argument:`${r} ("${qr.util.Stringify(t)}")`,types:["ArrayBufferView"]});if(!qr.util.HasFlag(n,qr.attributes.AllowShared)&&cm.isSharedArrayBuffer(t.buffer))throw qr.errors.exception({header:e,message:`${r} cannot be a view on a shared array buffer.`});if(!qr.util.HasFlag(n,qr.attributes.AllowResizable)&&qr.util.IsResizableArrayBuffer(t.buffer))throw qr.errors.exception({header:e,message:`${r} cannot be a view on a resizable array buffer.`});return t};qr.converters.BufferSource=function(t,e,r,n){if(cm.isArrayBuffer(t))return qr.converters.ArrayBuffer(t,e,r,n);if(cm.isArrayBufferView(t))return n&=~qr.attributes.AllowShared,qr.converters.ArrayBufferView(t,e,r,n);throw cm.isSharedArrayBuffer(t)?qr.errors.exception({header:e,message:`${r} cannot be a SharedArrayBuffer.`}):qr.errors.conversionFailed({prefix:e,argument:`${r} ("${qr.util.Stringify(t)}")`,types:["ArrayBuffer","ArrayBufferView"]})};qr.converters.AllowSharedBufferSource=function(t,e,r,n){if(cm.isArrayBuffer(t))return qr.converters.ArrayBuffer(t,e,r,n);if(cm.isSharedArrayBuffer(t))return qr.converters.SharedArrayBuffer(t,e,r,n);if(cm.isArrayBufferView(t))return n|=qr.attributes.AllowShared,qr.converters.ArrayBufferView(t,e,r,n);throw qr.errors.conversionFailed({prefix:e,argument:`${r} ("${qr.util.Stringify(t)}")`,types:["ArrayBuffer","SharedArrayBuffer","ArrayBufferView"]})};qr.converters["sequence<ByteString>"]=qr.sequenceConverter(qr.converters.ByteString);qr.converters["sequence<sequence<ByteString>>"]=qr.sequenceConverter(qr.converters["sequence<ByteString>"]);qr.converters["record<ByteString, ByteString>"]=qr.recordConverter(qr.converters.ByteString,qr.converters.ByteString);qr.converters.Blob=qr.interfaceConverter(qr.is.Blob,"Blob");qr.converters.AbortSignal=qr.interfaceConverter(qr.is.AbortSignal,"AbortSignal");qr.converters.EventHandlerNonNull=function(t){return qr.util.Type(t)!==TD?null:typeof t=="function"?t:()=>{}};qr.attributes={Clamp:1,EnforceRange:2,AllowShared:4,AllowResizable:8,LegacyNullToEmptyString:16};S8i.exports={webidl:qr}});var wD=J((a2A,L8i)=>{"use strict";var{Transform:zPc}=qe("node:stream"),I8i=qe("node:zlib"),{redirectStatusSet:YPc,referrerPolicyTokens:JPc,badPortsSet:XPc}=bWe(),{getGlobalOrigin:x8i}=F8r(),{collectAnHTTPQuotedString:ZPc,parseMIMEType:eMc}=XP(),{performance:tMc}=qe("node:perf_hooks"),{ReadableStreamFrom:rMc,isValidHTTPToken:T8i,normalizedMethodRecordsBase:nMc}=du(),TWe=qe("node:assert"),{isUint8Array:iMc}=qe("node:util/types"),{webidl:Rte}=n_(),{isomorphicEncode:j8r,collectASequenceOfCodePoints:Hpe,removeChars:aMc}=tK();function w8i(t){let e=t.urlList,r=e.length;return r===0?null:e[r-1].toString()}function oMc(t,e){if(!YPc.has(t.status))return null;let r=t.headersList.get("location",!0);return r!==null&&B8i(r)&&(R8i(r)||(r=sMc(r)),r=new URL(r,w8i(t))),r&&!r.hash&&(r.hash=e),r}function R8i(t){for(let e=0;e<t.length;++e){let r=t.charCodeAt(e);if(r>126||r<32)return!1}return!0}function sMc(t){return Buffer.from(t,"binary").toString("utf8")}function Wpe(t){return t.urlList[t.urlList.length-1]}function uMc(t){let e=Wpe(t);return N8i(e)&&XPc.has(e.port)?"blocked":"allowed"}function cMc(t){return t instanceof Error||t?.constructor?.name==="Error"||t?.constructor?.name==="DOMException"}function lMc(t){for(let e=0;e<t.length;++e){let r=t.charCodeAt(e);if(!(r===9||r>=32&&r<=126||r>=128&&r<=255))return!1}return!0}var dMc=T8i;function B8i(t){return(t[0]===" "||t[0]===" "||t[t.length-1]===" "||t[t.length-1]===" "||t.includes(`
155
155
  `)||t.includes("\r")||t.includes("\0"))===!1}function fMc(t){let e=(t.headersList.get("referrer-policy",!0)??"").split(","),r="";if(e.length)for(let n=e.length;n!==0;n--){let o=e[n-1].trim();if(JPc.has(o)){r=o;break}}return r}function hMc(t,e){let r=fMc(e);r!==""&&(t.referrerPolicy=r)}function pMc(){return"allowed"}function AMc(){return"success"}function gMc(){return"success"}function mMc(t){let e=null;e=t.mode,t.headersList.set("sec-fetch-mode",e,!0)}function EMc(t){let e=t.origin;if(!(e==="client"||e===void 0)){if(t.responseTainting==="cors"||t.mode==="websocket")t.headersList.append("origin",e,!0);else if(t.method!=="GET"&&t.method!=="HEAD"){switch(t.referrerPolicy){case"no-referrer":e=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":t.origin&&$8r(t.origin)&&!$8r(Wpe(t))&&(e=null);break;case"same-origin":xWe(t,Wpe(t))||(e=null);break;default:}t.headersList.append("origin",e,!0)}}}function twe(t,e){return t}function yMc(t,e,r){return!t?.startTime||t.startTime<e?{domainLookupStartTime:e,domainLookupEndTime:e,connectionStartTime:e,connectionEndTime:e,secureConnectionStartTime:e,ALPNNegotiatedProtocol:t?.ALPNNegotiatedProtocol}:{domainLookupStartTime:twe(t.domainLookupStartTime,r),domainLookupEndTime:twe(t.domainLookupEndTime,r),connectionStartTime:twe(t.connectionStartTime,r),connectionEndTime:twe(t.connectionEndTime,r),secureConnectionStartTime:twe(t.secureConnectionStartTime,r),ALPNNegotiatedProtocol:t.ALPNNegotiatedProtocol}}function vMc(t){return twe(tMc.now(),t)}function CMc(t){return{startTime:t.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:t.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function D8i(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function bMc(t){return{referrerPolicy:t.referrerPolicy}}function _Mc(t){let e=t.referrerPolicy;TWe(e);let r=null;if(t.referrer==="client"){let s=x8i();if(!s||s.origin==="null")return"no-referrer";r=new URL(s)}else Rte.is.URL(t.referrer)&&(r=t.referrer);let n=K8r(r),o=K8r(r,!0);switch(n.toString().length>4096&&(n=o),e){case"no-referrer":return"no-referrer";case"origin":return o??K8r(r,!0);case"unsafe-url":return n;case"strict-origin":{let s=Wpe(t);return Vpe(n)&&!Vpe(s)?"no-referrer":o}case"strict-origin-when-cross-origin":{let s=Wpe(t);return xWe(n,s)?n:Vpe(n)&&!Vpe(s)?"no-referrer":o}case"same-origin":return xWe(t,n)?n:"no-referrer";case"origin-when-cross-origin":return xWe(t,n)?n:o;case"no-referrer-when-downgrade":{let s=Wpe(t);return Vpe(n)&&!Vpe(s)?"no-referrer":n}}}function K8r(t,e=!1){return TWe(Rte.is.URL(t)),t=new URL(t),O8i(t)?"no-referrer":(t.username="",t.password="",t.hash="",e===!0&&(t.pathname="",t.search=""),t)}var SMc=RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/),IMc=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function P8i(t){return t.includes(":")?(t[0]==="["&&t[t.length-1]==="]"&&(t=t.slice(1,-1)),IMc(t)):SMc(t)}function xMc(t){return t==null||t==="null"?!1:(t=new URL(t),!!(t.protocol==="https:"||t.protocol==="wss:"||P8i(t.hostname)||t.hostname==="localhost"||t.hostname==="localhost."||t.hostname.endsWith(".localhost")||t.hostname.endsWith(".localhost.")||t.protocol==="file:"))}function Vpe(t){return Rte.is.URL(t)?t.href==="about:blank"||t.href==="about:srcdoc"||t.protocol==="data:"||t.protocol==="blob:"?!0:xMc(t.origin):!1}function TMc(t){}function xWe(t,e){return t.origin===e.origin&&t.origin==="null"||t.protocol===e.protocol&&t.hostname===e.hostname&&t.port===e.port}function wMc(t){return t.controller.state==="aborted"}function RMc(t){return t.controller.state==="aborted"||t.controller.state==="terminated"}function BMc(t){return nMc[t.toLowerCase()]??t}var DMc=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function M8i(t,e,r=0,n=1){class o{#e;#t;#r;constructor(a,u){this.#e=a,this.#t=u,this.#r=0}next(){if(typeof this!="object"||this===null||!(#e in this))throw new TypeError(`'next' called on an object that does not implement interface ${t} Iterator.`);let a=this.#r,u=e(this.#e),c=u.length;if(a>=c)return{value:void 0,done:!0};let{[r]:f,[n]:h}=u[a];this.#r=a+1;let p;switch(this.#t){case"key":p=f;break;case"value":p=h;break;case"key+value":p=[f,h];break}return{value:p,done:!1}}}return delete o.prototype.constructor,Object.setPrototypeOf(o.prototype,DMc),Object.defineProperties(o.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${t} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(s,a){return new o(s,a)}}function PMc(t,e,r,n=0,o=1){let s=M8i(t,r,n,o),a={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return Rte.brandCheck(this,e),s(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return Rte.brandCheck(this,e),s(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return Rte.brandCheck(this,e),s(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(c,f=globalThis){if(Rte.brandCheck(this,e),Rte.argumentLengthCheck(arguments,1,`${t}.forEach`),typeof c!="function")throw new TypeError(`Failed to execute 'forEach' on '${t}': parameter 1 is not of type 'Function'.`);for(let{0:h,1:p}of s(this,"key+value"))c.call(f,p,h,this)}}};return Object.defineProperties(e.prototype,{...a,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:a.entries.value}})}function MMc(t,e,r){let n=e,o=r;try{let s=t.stream.getReader();k8i(s,n,o)}catch(s){o(s)}}function kMc(t){try{t.close(),t.byobRequest?.respond(0)}catch(e){if(!e.message.includes("Controller is already closed")&&!e.message.includes("ReadableStream is already closed"))throw e}}async function k8i(t,e,r){try{let n=[],o=0;do{let{done:s,value:a}=await t.read();if(s){e(Buffer.concat(n,o));return}if(!iMc(a)){r(new TypeError("Received non-Uint8Array chunk"));return}n.push(a),o+=a.length}while(!0)}catch(n){r(n)}}function O8i(t){TWe("protocol"in t);let e=t.protocol;return e==="about:"||e==="blob:"||e==="data:"}function $8r(t){return typeof t=="string"&&t[5]===":"&&t[0]==="h"&&t[1]==="t"&&t[2]==="t"&&t[3]==="p"&&t[4]==="s"||t.protocol==="https:"}function N8i(t){TWe("protocol"in t);let e=t.protocol;return e==="http:"||e==="https:"}function OMc(t,e){let r=t;if(!r.startsWith("bytes"))return"failure";let n={position:5};if(e&&Hpe(c=>c===" "||c===" ",r,n),r.charCodeAt(n.position)!==61)return"failure";n.position++,e&&Hpe(c=>c===" "||c===" ",r,n);let o=Hpe(c=>{let f=c.charCodeAt(0);return f>=48&&f<=57},r,n),s=o.length?Number(o):null;if(e&&Hpe(c=>c===" "||c===" ",r,n),r.charCodeAt(n.position)!==45)return"failure";n.position++,e&&Hpe(c=>c===" "||c===" ",r,n);let a=Hpe(c=>{let f=c.charCodeAt(0);return f>=48&&f<=57},r,n),u=a.length?Number(a):null;return n.position<r.length||u===null&&s===null||s>u?"failure":{rangeStartValue:s,rangeEndValue:u}}function NMc(t,e,r){let n="bytes ";return n+=j8r(`${t}`),n+="-",n+=j8r(`${e}`),n+="/",n+=j8r(`${r}`),n}var z8r=class extends zPc{#e;constructor(e){super(),this.#e=e}_transform(e,r,n){if(!this._inflateStream){if(e.length===0){n();return}this._inflateStream=(e[0]&15)===8?I8i.createInflate(this.#e):I8i.createInflateRaw(this.#e),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",o=>this.destroy(o))}this._inflateStream.write(e,r,n)}_final(e){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),e()}};function FMc(t){return new z8r(t)}function LMc(t){let e=null,r=null,n=null,o=F8i("content-type",t);if(o===null)return"failure";for(let s of o){let a=eMc(s);a==="failure"||a.essence==="*/*"||(n=a,n.essence!==r?(e=null,n.parameters.has("charset")&&(e=n.parameters.get("charset")),r=n.essence):!n.parameters.has("charset")&&e!==null&&n.parameters.set("charset",e))}return n??"failure"}function UMc(t){let e=t,r={position:0},n=[],o="";for(;r.position<e.length;){if(o+=Hpe(s=>s!=='"'&&s!==",",e,r),r.position<e.length)if(e.charCodeAt(r.position)===34){if(o+=ZPc(e,r),r.position<e.length)continue}else TWe(e.charCodeAt(r.position)===44),r.position++;o=aMc(o,!0,!0,s=>s===9||s===32),n.push(o),o=""}return n}function F8i(t,e){let r=e.get(t,!0);return r===null?null:UMc(r)}function QMc(t){return!1}function qMc(t){return!!(t.username||t.password)}function GMc(t){return!0}var Y8r=class{get baseUrl(){return x8i()}get origin(){return this.baseUrl?.origin}policyContainer=D8i()},J8r=class{settingsObject=new Y8r},HMc=new J8r;L8i.exports={isAborted:wMc,isCancelled:RMc,isValidEncodedURL:R8i,ReadableStreamFrom:rMc,tryUpgradeRequestToAPotentiallyTrustworthyURL:TMc,clampAndCoarsenConnectionTimingInfo:yMc,coarsenedSharedCurrentTime:vMc,determineRequestsReferrer:_Mc,makePolicyContainer:D8i,clonePolicyContainer:bMc,appendFetchMetadata:mMc,appendRequestOriginHeader:EMc,TAOCheck:gMc,corsCheck:AMc,crossOriginResourcePolicyCheck:pMc,createOpaqueTimingInfo:CMc,setRequestReferrerPolicyOnRedirect:hMc,isValidHTTPToken:T8i,requestBadPort:uMc,requestCurrentURL:Wpe,responseURL:w8i,responseLocationURL:oMc,isURLPotentiallyTrustworthy:Vpe,isValidReasonPhrase:lMc,sameOrigin:xWe,normalizeMethod:BMc,iteratorMixin:PMc,createIterator:M8i,isValidHeaderName:dMc,isValidHeaderValue:B8i,isErrorLike:cMc,fullyReadBody:MMc,readableStreamClose:kMc,urlIsLocal:O8i,urlHasHttpsScheme:$8r,urlIsHttpHttpsScheme:N8i,readAllBytes:k8i,simpleRangeHeaderValue:OMc,buildContentRange:NMc,createInflate:FMc,extractMimeType:LMc,getDecodeSplit:F8i,environmentSettingsObject:HMc,isOriginIPPotentiallyTrustworthy:P8i,hasAuthenticationEntry:QMc,includesCredentials:qMc,isTraversableNavigable:GMc}});var Rxt=J((o2A,Q8i)=>{"use strict";var{iteratorMixin:VMc}=wD(),{kEnumerableProperty:rwe}=du(),{webidl:ef}=n_(),U8i=qe("node:util"),nK=class t{#e=[];constructor(e=void 0){if(ef.util.markAsUncloneable(this),e!==void 0)throw ef.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}append(e,r,n=void 0){ef.brandCheck(this,t);let o="FormData.append";ef.argumentLengthCheck(arguments,2,o),e=ef.converters.USVString(e),arguments.length===3||ef.is.Blob(r)?(r=ef.converters.Blob(r,o,"value"),n!==void 0&&(n=ef.converters.USVString(n))):r=ef.converters.USVString(r);let s=X8r(e,r,n);this.#e.push(s)}delete(e){ef.brandCheck(this,t),ef.argumentLengthCheck(arguments,1,"FormData.delete"),e=ef.converters.USVString(e),this.#e=this.#e.filter(n=>n.name!==e)}get(e){ef.brandCheck(this,t),ef.argumentLengthCheck(arguments,1,"FormData.get"),e=ef.converters.USVString(e);let n=this.#e.findIndex(o=>o.name===e);return n===-1?null:this.#e[n].value}getAll(e){return ef.brandCheck(this,t),ef.argumentLengthCheck(arguments,1,"FormData.getAll"),e=ef.converters.USVString(e),this.#e.filter(n=>n.name===e).map(n=>n.value)}has(e){return ef.brandCheck(this,t),ef.argumentLengthCheck(arguments,1,"FormData.has"),e=ef.converters.USVString(e),this.#e.findIndex(n=>n.name===e)!==-1}set(e,r,n=void 0){ef.brandCheck(this,t);let o="FormData.set";ef.argumentLengthCheck(arguments,2,o),e=ef.converters.USVString(e),arguments.length===3||ef.is.Blob(r)?(r=ef.converters.Blob(r,o,"value"),n!==void 0&&(n=ef.converters.USVString(n))):r=ef.converters.USVString(r);let s=X8r(e,r,n),a=this.#e.findIndex(u=>u.name===e);a!==-1?this.#e=[...this.#e.slice(0,a),s,...this.#e.slice(a+1).filter(u=>u.name!==e)]:this.#e.push(s)}[U8i.inspect.custom](e,r){let n=this.#e.reduce((s,a)=>(s[a.name]?Array.isArray(s[a.name])?s[a.name].push(a.value):s[a.name]=[s[a.name],a.value]:s[a.name]=a.value,s),{__proto__:null});r.depth??=e,r.colors??=!0;let o=U8i.formatWithOptions(r,n);return`FormData ${o.slice(o.indexOf("]")+2)}`}static getFormDataState(e){return e.#e}static setFormDataState(e,r){e.#e=r}},{getFormDataState:WMc,setFormDataState:jMc}=nK;Reflect.deleteProperty(nK,"getFormDataState");Reflect.deleteProperty(nK,"setFormDataState");VMc("FormData",nK,WMc,"name","value");Object.defineProperties(nK.prototype,{append:rwe,delete:rwe,get:rwe,getAll:rwe,has:rwe,set:rwe,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function X8r(t,e,r){if(typeof e!="string"){if(ef.is.File(e)||(e=new File([e],"blob",{type:e.type})),r!==void 0){let n={type:e.type,lastModified:e.lastModified};e=new File([e],r,n)}}return{name:t,value:e}}ef.is.FormData=ef.util.MakeTypeAssertion(nK);Q8i.exports={FormData:nK,makeEntry:X8r,setFormDataState:jMc}});var H8i=J((s2A,G8i)=>{"use strict";var{bufferToLowerCasedHeaderName:KMc}=du(),{HTTP_TOKEN_CODEPOINTS:$Mc}=XP(),{makeEntry:zMc}=Rxt(),{webidl:Z8r}=n_(),eFr=qe("node:assert"),{isomorphicDecode:q8i}=tK(),{utf8DecodeBytes:YMc}=_We(),JMc=Buffer.from("--"),tFr=new TextDecoder;function XMc(t){for(let e=0;e<t.length;++e)if((t.charCodeAt(e)&-128)!==0)return!1;return!0}function ZMc(t){let e=t.length;if(e<27||e>70)return!1;for(let r=0;r<e;++r){let n=t.charCodeAt(r);if(!(n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122||n===39||n===45||n===95))return!1}return!0}function ekc(t,e){eFr(e!=="failure"&&e.essence==="multipart/form-data");let r=e.parameters.get("boundary");if(r===void 0)throw C3("missing boundary in content-type header");let n=Buffer.from(`--${r}`,"utf8"),o=[],s={position:0},a=t.indexOf(n);if(a===-1)throw C3("no boundary found in multipart body");for(s.position=a;;){if(t.subarray(s.position,s.position+n.length).equals(n))s.position+=n.length;else throw C3("expected a value starting with -- and the boundary");if(nkc(t,JMc,s))return o;if(t[s.position]!==13||t[s.position+1]!==10)throw C3("expected CRLF");s.position+=2;let u=rkc(t,s),{name:c,filename:f,contentType:h,encoding:p}=u;s.position+=2;let d;{let g=t.indexOf(n.subarray(2),s.position);if(g===-1)throw C3("expected boundary after body");d=t.subarray(s.position,g-4),s.position+=d.length,p==="base64"&&(d=Buffer.from(d.toString(),"base64"))}if(t[s.position]!==13||t[s.position+1]!==10)throw C3("expected CRLF");s.position+=2;let A;f!==null?(h??="text/plain",XMc(h)||(h=""),A=new File([d],f,{type:h})):A=YMc(Buffer.from(d)),eFr(Z8r.is.USVString(c)),eFr(typeof A=="string"&&Z8r.is.USVString(A)||Z8r.is.File(A)),o.push(zMc(c,A,f))}}function tkc(t,e){t[e.position]===59&&e.position++,ZP(a=>a===32||a===9,t,e);let r=ZP(a=>nFr(a)&&a!==61&&a!==42,t,e);if(r.length===0)return null;let n=r.toString("ascii").toLowerCase(),o=t[e.position]===42;if(o&&e.position++,t[e.position]!==61)return null;e.position++,ZP(a=>a===32||a===9,t,e);let s;if(o){let a=ZP(u=>u!==32&&u!==13&&u!==10&&u!==59,t,e);if(a[0]!==117&&a[0]!==85||a[1]!==116&&a[1]!==84||a[2]!==102&&a[2]!==70||a[3]!==45||a[4]!==56)throw C3("unknown encoding, expected utf-8''");s=decodeURIComponent(tFr.decode(a.subarray(7)))}else if(t[e.position]===34){e.position++;let a=ZP(u=>u!==10&&u!==13&&u!==34,t,e);if(t[e.position]!==34)throw C3("Closing quote not found");e.position++,s=tFr.decode(a).replace(/%0A/ig,`
@@ -7108,7 +7108,7 @@ ${u}
7108
7108
 
7109
7109
  `).trim()}function GcA(t,e){let r=[];for(let n of e){let o=n.replace(/[<>]/g,""),s=new RegExp(`<${o}>([\\s\\S]*?)</${o}>`,"gi"),a;for(;(a=s.exec(t))!==null;){let u=a[1].trim();u&&r.push(u)}}return r.join(`
7110
7110
 
7111
- `)}var Tfc=ee(()=>{"use strict";Ivi()});import{setTimeout as TTr}from"node:timers/promises";import NCi from"fs/promises";import*as Y2 from"path";var wfc,FCi,wTr,Rfc=ee(()=>{"use strict";mH();IIr();wIr();Qmi();xIr();Erc();vrc();Crc();wzt();TRn();FDn();QQe();kSe();qmi();Cwn();o1e();Orc();jmi();Qd();tnc();bu();epi();Lmt();lnc();fnc();RDn();V_();WZ();jme();kcc();rO();Hat();nO();NIr();Eyt();Ncc();Ivi();Lcc();ba();Ul();ec();Ucc();wfc=yt(Yat());wvi();GYe();FCi=yt(bWn());iIe();Sa();P2r();Vvi();WFe();ro();Wvi();Yh();uR();jt();zSr();flc();sne();N2r();Bzt();dIe();Elc();_lc();Slc();Ilc();Xvi();Olc();Zvi();Ifc();z2();sCi();wTr=class{taskId;ulid;taskIsFavorited;cwd;taskInitializationStartTime;taskState;stateMutex=new kIe;async withStateLock(e){return await this.stateMutex.withLock(e)}async setActiveHookExecution(e){await this.withStateLock(()=>{this.taskState.activeHookExecution=e})}async clearActiveHookExecution(){await this.withStateLock(()=>{this.taskState.activeHookExecution=void 0})}async getActiveHookExecution(){return await this.withStateLock(()=>this.taskState.activeHookExecution)}controller;mcpHub;api;terminalManager;urlContentFetcher;browserSession;contextManager;diffViewProvider;checkpointManager;initialCheckpointCommitPromise;clineIgnoreController;commandPermissionController;toolExecutor;useNativeToolCalls=!1;streamHandler;terminalExecutionMode;fileContextTracker;modelContextTracker;environmentContextTracker;FocusChainManager;updateTaskHistory;postStateToWebview;reinitExistingTaskFromId;cancelTask;stateManager;messageStateHandler;workspaceManager;taskLockAcquired;commandExecutor;isRemoteWorkspaceEnvironment=!1;remoteWorkspaceDetectionSettled=!1;remoteWorkspaceDetectionPromise;presentationScheduler;presentationSchedulingDisabled=Clc();constructor(e){let{controller:r,mcpHub:n,updateTaskHistory:o,postStateToWebview:s,reinitExistingTaskFromId:a,cancelTask:u,shellIntegrationTimeout:c,terminalReuseEnabled:f,terminalOutputLineLimit:h,defaultTerminalProfile:p,vscodeTerminalExecutionMode:d,cwd:A,stateManager:g,workspaceManager:E,task:x,images:R,files:D,historyItem:B,taskId:P,taskLockAcquired:b}=e;this.taskInitializationStartTime=performance.now(),this.taskState=new Pqe,this.remoteWorkspaceDetectionPromise=Pr.env.getHostVersion({}).then(G=>{this.isRemoteWorkspaceEnvironment=vlc(G)}).catch(G=>{Ie.warn(`[Task ${P}] Failed to detect remote workspace state: ${G}`)}).finally(()=>{this.remoteWorkspaceDetectionSettled=!0}),this.controller=r,this.mcpHub=n,this.updateTaskHistory=o,this.postStateToWebview=s,this.reinitExistingTaskFromId=a,this.cancelTask=u,this.clineIgnoreController=new xzt(A),this.commandPermissionController=new myt,this.taskLockAcquired=b,this.terminalExecutionMode=d||"vscodeTerminal",this.terminalExecutionMode==="backgroundExec"?(this.terminalManager=new VW,Ie.info(`[Task ${P}] Using StandaloneTerminalManager for backgroundExec mode`)):(this.terminalManager=Pr.get().createTerminalManager(),Ie.info(`[Task ${P}] Using HostProvider terminal manager for vscodeTerminal mode`)),this.terminalManager.setShellIntegrationTimeout(c),this.terminalManager.setTerminalReuseEnabled(f??!0),this.terminalManager.setTerminalOutputLineLimit(h),this.terminalManager.setDefaultTerminalProfile(p),this.urlContentFetcher=new B2r,this.browserSession=new wG(g),this.contextManager=new Dfe,this.streamHandler=new Dqe,this.cwd=A,this.stateManager=g,this.workspaceManager=E;let T=this.stateManager.getGlobalSettingsKey("backgroundEditEnabled");if(this.diffViewProvider=T?new jfe:Pr.get().createDiffViewProvider(),this.mcpHub.setNotificationCallback(async(G,H,L)=>{await this.say("mcp_notification",`[${G}] ${L}`)}),this.taskId=P,B)this.ulid=B.ulid??(0,FCi.ulid)(),this.taskIsFavorited=B.isFavorited,this.taskState.conversationHistoryDeletedRange=B.conversationHistoryDeletedRange,B.checkpointManagerErrorMessage&&(this.taskState.checkpointManagerErrorMessage=B.checkpointManagerErrorMessage);else if(x||R||D)this.ulid=(0,FCi.ulid)();else throw new Error("Either historyItem or task/images must be provided");this.messageStateHandler=new U2r({taskId:this.taskId,ulid:this.ulid,taskState:this.taskState,taskIsFavorited:this.taskIsFavorited,updateTaskHistory:this.updateTaskHistory}),this.fileContextTracker=new DIr(r,this.taskId),this.modelContextTracker=new PIr(this.taskId),this.environmentContextTracker=new BIr(this.taskId);let S=this.stateManager.getGlobalSettingsKey("focusChainSettings");S.enabled&&(this.FocusChainManager=new L2r({taskId:this.taskId,taskState:this.taskState,mode:this.stateManager.getGlobalSettingsKey("mode"),stateManager:this.stateManager,postStateToWebview:this.postStateToWebview,say:this.say.bind(this),focusChainSettings:S}));let w=this.workspaceManager&&this.workspaceManager.getRoots().length>1,m=this.stateManager.getGlobalSettingsKey("enableCheckpointsSetting");if(w&&m&&(this.taskState.checkpointManagerErrorMessage="Checkpoints are not currently supported in multi-root workspaces."),!w)try{this.checkpointManager=cnc({taskId:this.taskId,messageStateHandler:this.messageStateHandler,fileContextTracker:this.fileContextTracker,diffViewProvider:this.diffViewProvider,taskState:this.taskState,workspaceManager:this.workspaceManager,updateTaskHistory:this.updateTaskHistory,say:this.say.bind(this),cancelTask:this.cancelTask,postStateToWebview:this.postStateToWebview,initialConversationHistoryDeletedRange:this.taskState.conversationHistoryDeletedRange,initialCheckpointManagerErrorMessage:this.taskState.checkpointManagerErrorMessage,stateManager:this.stateManager}),nEi({workspaceManager:this.workspaceManager,enableCheckpoints:this.stateManager.getGlobalSettingsKey("enableCheckpointsSetting"),stateManager:this.stateManager})&&this.checkpointManager.initialize?.().catch(G=>{Ie.error("Failed to initialize multi-root checkpoint manager:",G),this.taskState.checkpointManagerErrorMessage=G?.message||String(G)})}catch(G){if(Ie.error("Failed to initialize checkpoint manager:",G),this.stateManager.getGlobalSettingsKey("enableCheckpointsSetting")){let H=G instanceof Error?G.message:"Unknown error";Pr.window.showMessage({type:0,message:`Failed to initialize checkpoint manager: ${H}`})}}let y=this.stateManager.getApiConfiguration(),v={...y,ulid:this.ulid,onRetryAttempt:async(G,H,L,O)=>{let N=this.messageStateHandler.getClineMessages(),M=jA(N,F=>F.say==="api_req_started");if(M!==-1)try{let F=JSON.parse(N[M].text||"{}");F.retryStatus={attempt:G,maxAttempts:H,delaySec:Math.round(L/1e3),errorSnippet:O?.message?`${String(O.message).substring(0,50)}...`:void 0},delete F.cancelReason,delete F.streamingFailedMessage,await this.messageStateHandler.updateClineMessage(M,{text:JSON.stringify(F)}),await this.postStateToWebview().catch(V=>Ie.error("Error posting state to webview in onRetryAttempt:",V))}catch(F){Ie.error(`[Task ${this.taskId}] Error updating api_req_started with retryStatus:`,F)}}},I=this.stateManager.getGlobalSettingsKey("mode"),k=I==="plan"?y.planModeApiProvider:y.actModeApiProvider;this.api=Xy(v,I),this.browserSession.setUlid(this.ulid),this.FocusChainManager&&this.FocusChainManager.setupFocusChainFileWatcher().catch(G=>{Ie.error(`[Task ${this.taskId}] Failed to setup focus chain file watcher:`,G)});let U;k==="openai"&&y.openAiBaseUrl&&(U=Llc(y.openAiBaseUrl)),B?pr.captureTaskRestarted(this.ulid,k,U):pr.captureTaskCreated(this.ulid,k,U);let Q={cwd:this.cwd,terminalExecutionMode:this.terminalExecutionMode,terminalManager:this.terminalManager,taskId:this.taskId,ulid:this.ulid},q={say:this.say.bind(this),ask:async(G,H,L)=>{let O=await this.ask(G,H,L);return{response:O.response,text:O.text,images:O.images,files:O.files}},updateBackgroundCommandState:G=>this.controller.updateBackgroundCommandState(G,this.taskId),updateClineMessage:async(G,H)=>{await this.messageStateHandler.updateClineMessage(G,H)},getClineMessages:()=>this.messageStateHandler.getClineMessages(),addToUserMessageContent:G=>{this.taskState.userMessageContent.push({type:"text",text:G.text})}};this.commandExecutor=new E1t(Q,q),this.presentationScheduler=new V2r({flush:()=>this.presentAssistantMessage(),getDelayMs:G=>(this.remoteWorkspaceDetectionSettled||Ie.warn(`[Task ${P}] getDelayMs called before remote workspace detection settled \u2014 using local cadence as fallback`),blc(this.isRemoteWorkspaceEnvironment,G)),onFlushError:G=>Ie.debug(`[Task] Failed scheduled presentation flush: ${G}`)}),this.toolExecutor=new xTr(this.taskState,this.messageStateHandler,this.api,this.urlContentFetcher,this.browserSession,this.diffViewProvider,this.mcpHub,this.fileContextTracker,this.clineIgnoreController,this.commandPermissionController,this.contextManager,this.stateManager,A,this.taskId,this.ulid,this.terminalExecutionMode,this.workspaceManager,x8(this.stateManager),this.say.bind(this),this.ask.bind(this),this.saveCheckpointCallback.bind(this),this.sayAndCreateMissingParamError.bind(this),this.removeLastPartialMessageIfExistsWithType.bind(this),this.executeCommandTool.bind(this),this.cancelBackgroundCommand.bind(this),()=>this.checkpointManager?.doesLatestTaskCompletionHaveNewChanges()??Promise.resolve(!1),this.FocusChainManager?.updateFCListFromToolResponse.bind(this.FocusChainManager)||(async()=>{}),this.switchToActModeCallback.bind(this),this.cancelTask,this.setActiveHookExecution.bind(this),this.clearActiveHookExecution.bind(this),this.getActiveHookExecution.bind(this),this.runUserPromptSubmitHook.bind(this))}async scheduleAssistantPresentation(e,r="normal"){if(this.presentationSchedulingDisabled){await this.presentationScheduler.flushNow().catch(n=>{Ie.warn(`[Task] Failed immediate presentation flush: ${n}`)});return}Ie.debug(`[Task ${this.taskId}] schedule assistant presentation (${e}, ${r})`),this.presentationScheduler.requestFlush(r)}async flushAssistantPresentationOrThrow(){await this.presentationScheduler.flushNow()}getPresentationPriorityForChunk(e){return!e.hadVisibleAssistantContent||e.chunkType==="tool_calls"?"immediate":"normal"}async ask(e,r,n){if(this.taskState.abort&&e!=="resume_task"&&e!=="resume_completed_task")throw new Error("Cline instance aborted");let o;if(n!==void 0){let a=this.messageStateHandler.getClineMessages(),u=a.at(-1),c=a.length-1,f=u&&u.partial&&u.type==="ask"&&u.ask===e;if(n){if(f){await this.messageStateHandler.updateClineMessage(c,{text:r,partial:n});let h=MIe(u);throw await y1e(h),new Error("Current ask promise was ignored 1")}throw o=Date.now(),this.taskState.lastMessageTs=o,await this.messageStateHandler.addToClineMessages({ts:o,type:"ask",ask:e,text:r,partial:n}),await this.postStateToWebview(),new Error("Current ask promise was ignored 2")}if(f){this.taskState.askResponse=void 0,this.taskState.askResponseText=void 0,this.taskState.askResponseImages=void 0,this.taskState.askResponseFiles=void 0,o=u.ts,this.taskState.lastMessageTs=o,await this.messageStateHandler.updateClineMessage(c,{text:r,partial:!1});let h=MIe(u);await y1e(h)}else this.taskState.askResponse=void 0,this.taskState.askResponseText=void 0,this.taskState.askResponseImages=void 0,this.taskState.askResponseFiles=void 0,o=Date.now(),this.taskState.lastMessageTs=o,await this.messageStateHandler.addToClineMessages({ts:o,type:"ask",ask:e,text:r}),await this.postStateToWebview()}else this.taskState.askResponse=void 0,this.taskState.askResponseText=void 0,this.taskState.askResponseImages=void 0,this.taskState.askResponseFiles=void 0,o=Date.now(),this.taskState.lastMessageTs=o,await this.messageStateHandler.addToClineMessages({ts:o,type:"ask",ask:e,text:r}),await this.postStateToWebview();if(e!=="command_output"&&await this.runNotificationHook({event:"user_attention",source:e,message:r||"",waitingForUserInput:!0}),await DM(()=>this.taskState.askResponse!==void 0||this.taskState.lastMessageTs!==o,{interval:100}),this.taskState.lastMessageTs!==o)throw new Error("Current ask promise was ignored");let s={response:this.taskState.askResponse,text:this.taskState.askResponseText,images:this.taskState.askResponseImages,files:this.taskState.askResponseFiles};return this.taskState.askResponse=void 0,this.taskState.askResponseText=void 0,this.taskState.askResponseImages=void 0,this.taskState.askResponseFiles=void 0,s}async runNotificationHook(e){let r=qb(this.stateManager.getGlobalSettingsKey("hooksEnabled"));if(r)try{await lIe({hookName:"Notification",hookInput:{notification:e},isCancellable:!1,say:async()=>{},messageStateHandler:this.messageStateHandler,taskId:this.taskId,hooksEnabled:r,model:Q2(this.api,this.stateManager)})}catch(n){Ie.error("[Notification Hook] Failed (non-fatal):",n)}}async handleWebviewAskResponse(e,r,n,o){this.taskState.askResponse=e,this.taskState.askResponseText=r,this.taskState.askResponseImages=n,this.taskState.askResponseFiles=o}async say(e,r,n,o,s){if(this.taskState.abort&&e!=="hook_status"&&e!=="hook_output_stream")throw new Error("Cline instance aborted");let a=this.getCurrentProviderInfo(),u={providerId:a.providerId,modelId:a.model.id,mode:a.mode};if(s!==void 0){let f=this.messageStateHandler.getClineMessages().at(-1),h=f&&f.partial&&f.type==="say"&&f.say===e;if(s){if(h){let A=this.messageStateHandler.getClineMessages().length-1;await this.messageStateHandler.updateClineMessage(A,{text:r,images:n,files:o,partial:s});let g=MIe(f);await y1e(g);return}let d=Date.now();return this.taskState.lastMessageTs=d,await this.messageStateHandler.addToClineMessages({ts:d,type:"say",say:e,text:r,images:n,files:o,partial:s,modelInfo:u}),await this.postStateToWebview(),d}if(h){this.taskState.lastMessageTs=f.ts;let d=this.messageStateHandler.getClineMessages().length-1;await this.messageStateHandler.updateClineMessage(d,{text:r,images:n,files:o,partial:!1});let A=MIe(f);await y1e(A);return}let p=Date.now();return this.taskState.lastMessageTs=p,await this.messageStateHandler.addToClineMessages({ts:p,type:"say",say:e,text:r,images:n,files:o,modelInfo:u}),await this.postStateToWebview(),p}let c=Date.now();return this.taskState.lastMessageTs=c,await this.messageStateHandler.addToClineMessages({ts:c,type:"say",say:e,text:r,images:n,files:o,modelInfo:u}),await this.postStateToWebview(),c}async sayAndCreateMissingParamError(e,r,n){return await this.say("error",`Cline tried to use ${e}${n?` for '${n.toPosix()}'`:""} without value for required parameter '${r}'. Retrying...`),$r.toolError($r.missingToolParameterError(r))}async removeLastPartialMessageIfExistsWithType(e,r){let n=this.messageStateHandler.getClineMessages(),o=n.at(-1);o?.partial&&o.type===e&&(o.ask===r||o.say===r)&&(this.messageStateHandler.setClineMessages(n.slice(0,-1)),await this.messageStateHandler.saveClineMessagesAndUpdateHistory())}async saveCheckpointCallback(e,r){return this.checkpointManager?.saveCheckpoint(e,r)??Promise.resolve()}isParallelToolCallingEnabled(){let e=this.stateManager.getGlobalSettingsKey("enableParallelToolCalling"),r=this.getCurrentProviderInfo();return RPt(e,r)}async switchToActModeCallback(){return await this.controller.toggleActModeForYoloMode()}async handleHookCancellation(e,r){this.taskState.didFinishAbortingStream=!0,await this.messageStateHandler.saveClineMessagesAndUpdateHistory(),await this.messageStateHandler.overwriteApiConversationHistory(this.messageStateHandler.getApiConversationHistory()),await this.postStateToWebview(),Ie.log(`[Task ${this.taskId}] ${e} hook cancelled (userInitiated: ${r})`)}calculatePreCompactDeletedRange(e){return this.contextManager.getNextTruncationRange(e,this.taskState.conversationHistoryDeletedRange,"quarter")||[0,0]}async runUserPromptSubmitHook(e,r){let n=qb(this.stateManager.getGlobalSettingsKey("hooksEnabled"));if(!n)return{};let{extractUserPromptFromContent:o}=await Promise.resolve().then(()=>(Tfc(),xfc)),s=o(e),a=await lIe({hookName:"UserPromptSubmit",hookInput:{userPromptSubmit:{prompt:s,attachments:[]}},isCancellable:!0,say:this.say.bind(this),setActiveHookExecution:this.setActiveHookExecution.bind(this),clearActiveHookExecution:this.clearActiveHookExecution.bind(this),messageStateHandler:this.messageStateHandler,taskId:this.taskId,hooksEnabled:n,model:Q2(this.api,this.stateManager)});return a.cancel===!0&&a.wasCancelled&&(this.taskState.didFinishAbortingStream=!0,await this.messageStateHandler.saveClineMessagesAndUpdateHistory(),await this.messageStateHandler.overwriteApiConversationHistory(this.messageStateHandler.getApiConversationHistory()),await this.postStateToWebview()),{cancel:a.cancel,contextModification:a.contextModification,errorMessage:a.errorMessage}}async startTask(e,r,n){try{await this.clineIgnoreController.initialize()}catch(c){Ie.error("Failed to initialize ClineIgnoreController:",c)}this.messageStateHandler.setClineMessages([]),this.messageStateHandler.setApiConversationHistory([]),await this.postStateToWebview(),await this.say("task",e,r,n),this.taskState.isInitialized=!0;let o=$r.imageBlocks(r),s=[{type:"text",text:`<task>
7111
+ `)}var Tfc=ee(()=>{"use strict";Ivi()});import{setTimeout as TTr}from"node:timers/promises";import NCi from"fs/promises";import*as Y2 from"path";var wfc,FCi,wTr,Rfc=ee(()=>{"use strict";mH();IIr();wIr();Qmi();xIr();Erc();vrc();Crc();wzt();TRn();FDn();QQe();kSe();qmi();Cwn();o1e();Orc();jmi();Qd();tnc();bu();epi();Lmt();lnc();fnc();RDn();V_();WZ();jme();kcc();rO();Hat();nO();NIr();Eyt();Ncc();Ivi();Lcc();ba();Ul();ec();Ucc();wfc=yt(Yat());wvi();GYe();FCi=yt(bWn());iIe();Sa();P2r();Vvi();WFe();ro();Wvi();Yh();uR();jt();zSr();flc();sne();N2r();Bzt();dIe();Elc();_lc();Slc();Ilc();Xvi();Olc();Zvi();Ifc();z2();sCi();wTr=class{taskId;ulid;taskIsFavorited;cwd;taskInitializationStartTime;taskState;stateMutex=new kIe;async withStateLock(e){return await this.stateMutex.withLock(e)}async setActiveHookExecution(e){await this.withStateLock(()=>{this.taskState.activeHookExecution=e})}async clearActiveHookExecution(){await this.withStateLock(()=>{this.taskState.activeHookExecution=void 0})}async getActiveHookExecution(){return await this.withStateLock(()=>this.taskState.activeHookExecution)}controller;mcpHub;api;terminalManager;urlContentFetcher;browserSession;contextManager;diffViewProvider;checkpointManager;initialCheckpointCommitPromise;clineIgnoreController;commandPermissionController;toolExecutor;useNativeToolCalls=!1;streamHandler;terminalExecutionMode;fileContextTracker;modelContextTracker;environmentContextTracker;FocusChainManager;updateTaskHistory;postStateToWebview;reinitExistingTaskFromId;cancelTask;stateManager;messageStateHandler;workspaceManager;taskLockAcquired;commandExecutor;isRemoteWorkspaceEnvironment=!1;remoteWorkspaceDetectionSettled=!1;remoteWorkspaceDetectionPromise;presentationScheduler;presentationSchedulingDisabled=Clc();constructor(e){let{controller:r,mcpHub:n,updateTaskHistory:o,postStateToWebview:s,reinitExistingTaskFromId:a,cancelTask:u,shellIntegrationTimeout:c,terminalReuseEnabled:f,terminalOutputLineLimit:h,defaultTerminalProfile:p,vscodeTerminalExecutionMode:d,cwd:A,stateManager:g,workspaceManager:E,task:x,images:R,files:D,historyItem:B,taskId:P,taskLockAcquired:b}=e;this.taskInitializationStartTime=performance.now(),this.taskState=new Pqe,this.remoteWorkspaceDetectionPromise=Pr.env.getHostVersion({}).then(G=>{this.isRemoteWorkspaceEnvironment=vlc(G)}).catch(G=>{Ie.warn(`[Task ${P}] Failed to detect remote workspace state: ${G}`)}).finally(()=>{this.remoteWorkspaceDetectionSettled=!0}),this.controller=r,this.mcpHub=n,this.updateTaskHistory=o,this.postStateToWebview=s,this.reinitExistingTaskFromId=a,this.cancelTask=u,this.clineIgnoreController=new xzt(A),this.commandPermissionController=new myt,this.taskLockAcquired=b,this.terminalExecutionMode=d||"vscodeTerminal",this.terminalExecutionMode==="backgroundExec"?(this.terminalManager=new VW,Ie.info(`[Task ${P}] Using StandaloneTerminalManager for backgroundExec mode`)):(this.terminalManager=Pr.get().createTerminalManager(),Ie.info(`[Task ${P}] Using HostProvider terminal manager for vscodeTerminal mode`)),this.terminalManager.setShellIntegrationTimeout(c),this.terminalManager.setTerminalReuseEnabled(f??!0),this.terminalManager.setTerminalOutputLineLimit(h),this.terminalManager.setDefaultTerminalProfile(p),this.urlContentFetcher=new B2r,this.browserSession=new wG(g),this.contextManager=new Dfe,this.streamHandler=new Dqe,this.cwd=A,this.stateManager=g,this.workspaceManager=E;let T=this.stateManager.getGlobalSettingsKey("backgroundEditEnabled");if(this.diffViewProvider=T?new jfe:Pr.get().createDiffViewProvider(),this.mcpHub.setNotificationCallback(async(G,H,L)=>{await this.say("mcp_notification",`[${G}] ${L}`)}),this.taskId=P,B)this.ulid=B.ulid??(0,FCi.ulid)(),this.taskIsFavorited=B.isFavorited,this.taskState.conversationHistoryDeletedRange=B.conversationHistoryDeletedRange,B.checkpointManagerErrorMessage&&(this.taskState.checkpointManagerErrorMessage=B.checkpointManagerErrorMessage);else if(x||R||D)this.ulid=(0,FCi.ulid)();else throw new Error("Either historyItem or task/images must be provided");this.messageStateHandler=new U2r({taskId:this.taskId,ulid:this.ulid,taskState:this.taskState,taskIsFavorited:this.taskIsFavorited,updateTaskHistory:this.updateTaskHistory}),this.fileContextTracker=new DIr(r,this.taskId),this.modelContextTracker=new PIr(this.taskId),this.environmentContextTracker=new BIr(this.taskId);let S=this.stateManager.getGlobalSettingsKey("focusChainSettings");S.enabled&&(this.FocusChainManager=new L2r({taskId:this.taskId,taskState:this.taskState,mode:this.stateManager.getGlobalSettingsKey("mode"),stateManager:this.stateManager,postStateToWebview:this.postStateToWebview,say:this.say.bind(this),focusChainSettings:S}));let w=this.workspaceManager&&this.workspaceManager.getRoots().length>1,m=this.stateManager.getGlobalSettingsKey("enableCheckpointsSetting");if(w&&m&&(this.taskState.checkpointManagerErrorMessage="Checkpoints are not currently supported in multi-root workspaces."),!w)try{this.checkpointManager=cnc({taskId:this.taskId,messageStateHandler:this.messageStateHandler,fileContextTracker:this.fileContextTracker,diffViewProvider:this.diffViewProvider,taskState:this.taskState,workspaceManager:this.workspaceManager,updateTaskHistory:this.updateTaskHistory,say:this.say.bind(this),cancelTask:this.cancelTask,postStateToWebview:this.postStateToWebview,initialConversationHistoryDeletedRange:this.taskState.conversationHistoryDeletedRange,initialCheckpointManagerErrorMessage:this.taskState.checkpointManagerErrorMessage,stateManager:this.stateManager}),nEi({workspaceManager:this.workspaceManager,enableCheckpoints:this.stateManager.getGlobalSettingsKey("enableCheckpointsSetting"),stateManager:this.stateManager})&&this.checkpointManager.initialize?.().catch(G=>{Ie.error("Failed to initialize multi-root checkpoint manager:",G),this.taskState.checkpointManagerErrorMessage=G?.message||String(G)})}catch(G){if(Ie.error("Failed to initialize checkpoint manager:",G),this.stateManager.getGlobalSettingsKey("enableCheckpointsSetting")){let H=G instanceof Error?G.message:"Unknown error";Pr.window.showMessage({type:0,message:`Failed to initialize checkpoint manager: ${H}`})}}let y=this.stateManager.getApiConfiguration(),v={...y,ulid:this.ulid,onRetryAttempt:async(G,H,L,O)=>{let N=this.messageStateHandler.getClineMessages(),M=jA(N,F=>F.say==="api_req_started");if(M!==-1)try{let F=JSON.parse(N[M].text||"{}");F.retryStatus={attempt:G,maxAttempts:H,delaySec:Math.round(L/1e3),errorSnippet:O?.message?`${String(O.message).substring(0,50)}...`:void 0},delete F.cancelReason,delete F.streamingFailedMessage,await this.messageStateHandler.updateClineMessage(M,{text:JSON.stringify(F)}),await this.postStateToWebview().catch(V=>Ie.error("Error posting state to webview in onRetryAttempt:",V))}catch(F){Ie.error(`[Task ${this.taskId}] Error updating api_req_started with retryStatus:`,F)}}},I=this.stateManager.getGlobalSettingsKey("mode"),k=I==="plan"?y.planModeApiProvider:y.actModeApiProvider;this.api=Xy(v,I),this.browserSession.setUlid(this.ulid),this.FocusChainManager&&this.FocusChainManager.setupFocusChainFileWatcher().catch(G=>{Ie.error(`[Task ${this.taskId}] Failed to setup focus chain file watcher:`,G)});let U;k==="openai"&&y.openAiBaseUrl&&(U=Llc(y.openAiBaseUrl)),B?pr.captureTaskRestarted(this.ulid,k,U):pr.captureTaskCreated(this.ulid,k,U);let Q={cwd:this.cwd,terminalExecutionMode:this.terminalExecutionMode,terminalManager:this.terminalManager,taskId:this.taskId,ulid:this.ulid},q={say:this.say.bind(this),ask:async(G,H,L)=>{let O=await this.ask(G,H,L);return{response:O.response,text:O.text,images:O.images,files:O.files}},updateBackgroundCommandState:G=>this.controller.updateBackgroundCommandState(G,this.taskId),updateClineMessage:async(G,H)=>{await this.messageStateHandler.updateClineMessage(G,H)},getClineMessages:()=>this.messageStateHandler.getClineMessages(),addToUserMessageContent:G=>{this.taskState.userMessageContent.push({type:"text",text:G.text})}};this.commandExecutor=new E1t(Q,q),this.presentationScheduler=new V2r({flush:()=>this.presentAssistantMessage(),getDelayMs:G=>(this.remoteWorkspaceDetectionSettled||Ie.warn(`[Task ${P}] getDelayMs called before remote workspace detection settled \u2014 using local cadence as fallback`),blc(this.isRemoteWorkspaceEnvironment,G)),onFlushError:G=>Ie.debug(`[Task] Failed scheduled presentation flush: ${G}`)}),this.toolExecutor=new xTr(this.taskState,this.messageStateHandler,this.api,this.urlContentFetcher,this.browserSession,this.diffViewProvider,this.mcpHub,this.fileContextTracker,this.clineIgnoreController,this.commandPermissionController,this.contextManager,this.stateManager,A,this.taskId,this.ulid,this.terminalExecutionMode,this.workspaceManager,x8(this.stateManager),this.say.bind(this),this.ask.bind(this),this.saveCheckpointCallback.bind(this),this.sayAndCreateMissingParamError.bind(this),this.removeLastPartialMessageIfExistsWithType.bind(this),this.executeCommandTool.bind(this),this.cancelBackgroundCommand.bind(this),()=>this.checkpointManager?.doesLatestTaskCompletionHaveNewChanges()??Promise.resolve(!1),this.FocusChainManager?.updateFCListFromToolResponse.bind(this.FocusChainManager)||(async()=>{}),this.switchToActModeCallback.bind(this),this.cancelTask,this.setActiveHookExecution.bind(this),this.clearActiveHookExecution.bind(this),this.getActiveHookExecution.bind(this),this.runUserPromptSubmitHook.bind(this))}async scheduleAssistantPresentation(e,r="normal"){if(this.presentationSchedulingDisabled){await this.presentationScheduler.flushNow().catch(n=>{Ie.warn(`[Task] Failed immediate presentation flush: ${n}`)});return}Ie.debug(`[Task ${this.taskId}] schedule assistant presentation (${e}, ${r})`),this.presentationScheduler.requestFlush(r)}async flushAssistantPresentationOrThrow(){await this.presentationScheduler.flushNow()}getPresentationPriorityForChunk(e){return!e.hadVisibleAssistantContent||e.chunkType==="tool_calls"?"immediate":"normal"}async ask(e,r,n){if(this.taskState.abort&&e!=="resume_task"&&e!=="resume_completed_task")throw new Error("Cline instance aborted");let o;if(n!==void 0){let u=this.messageStateHandler.getClineMessages(),c=u.at(-1),f=u.length-1,h=c&&c.partial&&c.type==="ask"&&c.ask===e;if(n){if(h){await this.messageStateHandler.updateClineMessage(f,{text:r,partial:n});let p=MIe(c);throw await y1e(p),new Error("Current ask promise was ignored 1")}throw o=Date.now(),this.taskState.lastMessageTs=o,await this.messageStateHandler.addToClineMessages({ts:o,type:"ask",ask:e,text:r,partial:n}),await this.postStateToWebview(),new Error("Current ask promise was ignored 2")}if(h){this.taskState.askResponse=void 0,this.taskState.askResponseText=void 0,this.taskState.askResponseImages=void 0,this.taskState.askResponseFiles=void 0,o=c.ts,this.taskState.lastMessageTs=o,await this.messageStateHandler.updateClineMessage(f,{text:r,partial:!1});let p=MIe(c);await y1e(p)}else this.taskState.askResponse=void 0,this.taskState.askResponseText=void 0,this.taskState.askResponseImages=void 0,this.taskState.askResponseFiles=void 0,o=Date.now(),this.taskState.lastMessageTs=o,await this.messageStateHandler.addToClineMessages({ts:o,type:"ask",ask:e,text:r}),await this.postStateToWebview()}else this.taskState.askResponse=void 0,this.taskState.askResponseText=void 0,this.taskState.askResponseImages=void 0,this.taskState.askResponseFiles=void 0,o=Date.now(),this.taskState.lastMessageTs=o,await this.messageStateHandler.addToClineMessages({ts:o,type:"ask",ask:e,text:r}),await this.postStateToWebview();e!=="command_output"&&await this.runNotificationHook({event:"user_attention",source:e,message:r||"",waitingForUserInput:!0});let s=e!=="resume_task"&&e!=="resume_completed_task";if(await DM(()=>this.taskState.askResponse!==void 0||this.taskState.lastMessageTs!==o||s&&this.taskState.abort,{interval:100}),s&&this.taskState.abort)throw new Error("Cline instance aborted");if(this.taskState.lastMessageTs!==o)throw new Error("Current ask promise was ignored");let a={response:this.taskState.askResponse,text:this.taskState.askResponseText,images:this.taskState.askResponseImages,files:this.taskState.askResponseFiles};return this.taskState.askResponse=void 0,this.taskState.askResponseText=void 0,this.taskState.askResponseImages=void 0,this.taskState.askResponseFiles=void 0,a}async runNotificationHook(e){let r=qb(this.stateManager.getGlobalSettingsKey("hooksEnabled"));if(r)try{await lIe({hookName:"Notification",hookInput:{notification:e},isCancellable:!1,say:async()=>{},messageStateHandler:this.messageStateHandler,taskId:this.taskId,hooksEnabled:r,model:Q2(this.api,this.stateManager)})}catch(n){Ie.error("[Notification Hook] Failed (non-fatal):",n)}}async handleWebviewAskResponse(e,r,n,o){this.taskState.askResponse=e,this.taskState.askResponseText=r,this.taskState.askResponseImages=n,this.taskState.askResponseFiles=o}async say(e,r,n,o,s){if(this.taskState.abort&&e!=="hook_status"&&e!=="hook_output_stream")throw new Error("Cline instance aborted");let a=this.getCurrentProviderInfo(),u={providerId:a.providerId,modelId:a.model.id,mode:a.mode};if(s!==void 0){let f=this.messageStateHandler.getClineMessages().at(-1),h=f&&f.partial&&f.type==="say"&&f.say===e;if(s){if(h){let A=this.messageStateHandler.getClineMessages().length-1;await this.messageStateHandler.updateClineMessage(A,{text:r,images:n,files:o,partial:s});let g=MIe(f);await y1e(g);return}let d=Date.now();return this.taskState.lastMessageTs=d,await this.messageStateHandler.addToClineMessages({ts:d,type:"say",say:e,text:r,images:n,files:o,partial:s,modelInfo:u}),await this.postStateToWebview(),d}if(h){this.taskState.lastMessageTs=f.ts;let d=this.messageStateHandler.getClineMessages().length-1;await this.messageStateHandler.updateClineMessage(d,{text:r,images:n,files:o,partial:!1});let A=MIe(f);await y1e(A);return}let p=Date.now();return this.taskState.lastMessageTs=p,await this.messageStateHandler.addToClineMessages({ts:p,type:"say",say:e,text:r,images:n,files:o,modelInfo:u}),await this.postStateToWebview(),p}let c=Date.now();return this.taskState.lastMessageTs=c,await this.messageStateHandler.addToClineMessages({ts:c,type:"say",say:e,text:r,images:n,files:o,modelInfo:u}),await this.postStateToWebview(),c}async sayAndCreateMissingParamError(e,r,n){return await this.say("error",`Cline tried to use ${e}${n?` for '${n.toPosix()}'`:""} without value for required parameter '${r}'. Retrying...`),$r.toolError($r.missingToolParameterError(r))}async removeLastPartialMessageIfExistsWithType(e,r){let n=this.messageStateHandler.getClineMessages(),o=n.at(-1);o?.partial&&o.type===e&&(o.ask===r||o.say===r)&&(this.messageStateHandler.setClineMessages(n.slice(0,-1)),await this.messageStateHandler.saveClineMessagesAndUpdateHistory())}async saveCheckpointCallback(e,r){return this.checkpointManager?.saveCheckpoint(e,r)??Promise.resolve()}isParallelToolCallingEnabled(){let e=this.stateManager.getGlobalSettingsKey("enableParallelToolCalling"),r=this.getCurrentProviderInfo();return RPt(e,r)}async switchToActModeCallback(){return await this.controller.toggleActModeForYoloMode()}async handleHookCancellation(e,r){this.taskState.didFinishAbortingStream=!0,await this.messageStateHandler.saveClineMessagesAndUpdateHistory(),await this.messageStateHandler.overwriteApiConversationHistory(this.messageStateHandler.getApiConversationHistory()),await this.postStateToWebview(),Ie.log(`[Task ${this.taskId}] ${e} hook cancelled (userInitiated: ${r})`)}calculatePreCompactDeletedRange(e){return this.contextManager.getNextTruncationRange(e,this.taskState.conversationHistoryDeletedRange,"quarter")||[0,0]}async runUserPromptSubmitHook(e,r){let n=qb(this.stateManager.getGlobalSettingsKey("hooksEnabled"));if(!n)return{};let{extractUserPromptFromContent:o}=await Promise.resolve().then(()=>(Tfc(),xfc)),s=o(e),a=await lIe({hookName:"UserPromptSubmit",hookInput:{userPromptSubmit:{prompt:s,attachments:[]}},isCancellable:!0,say:this.say.bind(this),setActiveHookExecution:this.setActiveHookExecution.bind(this),clearActiveHookExecution:this.clearActiveHookExecution.bind(this),messageStateHandler:this.messageStateHandler,taskId:this.taskId,hooksEnabled:n,model:Q2(this.api,this.stateManager)});return a.cancel===!0&&a.wasCancelled&&(this.taskState.didFinishAbortingStream=!0,await this.messageStateHandler.saveClineMessagesAndUpdateHistory(),await this.messageStateHandler.overwriteApiConversationHistory(this.messageStateHandler.getApiConversationHistory()),await this.postStateToWebview()),{cancel:a.cancel,contextModification:a.contextModification,errorMessage:a.errorMessage}}async startTask(e,r,n){try{await this.clineIgnoreController.initialize()}catch(c){Ie.error("Failed to initialize ClineIgnoreController:",c)}this.messageStateHandler.setClineMessages([]),this.messageStateHandler.setApiConversationHistory([]),await this.postStateToWebview(),await this.say("task",e,r,n),this.taskState.isInitialized=!0;let o=$r.imageBlocks(r),s=[{type:"text",text:`<task>
7112
7112
  ${e}
7113
7113
  </task>`},...o];if(n&&n.length>0){let c=await Wp(n);c&&s.push({type:"text",text:c})}let a=qb(this.stateManager.getGlobalSettingsKey("hooksEnabled"));if(a){let c=await lIe({hookName:"TaskStart",hookInput:{taskStart:{taskMetadata:{taskId:this.taskId,ulid:this.ulid,initialTask:e||""}}},isCancellable:!0,say:this.say.bind(this),setActiveHookExecution:this.setActiveHookExecution.bind(this),clearActiveHookExecution:this.clearActiveHookExecution.bind(this),messageStateHandler:this.messageStateHandler,taskId:this.taskId,hooksEnabled:a,model:Q2(this.api,this.stateManager)});if(c.cancel===!0){await this.handleHookCancellation("TaskStart",c.wasCancelled),await this.cancelTask();return}if(c.contextModification){let f=c.contextModification.trim();f&&s.push({type:"text",text:`<hook_context source="TaskStart">
7114
7114
  ${f}
@@ -7187,7 +7187,7 @@ PLAN MODE
7187
7187
  ${$r.planModeInstructions()}`:n+=`
7188
7188
  ACT MODE`,`<environment_details>
7189
7189
  ${n.trim()}
7190
- </environment_details>`}}});import Bfc from"fs/promises";import*as LIe from"path";var jOe,dBn=ee(()=>{"use strict";mH();kSe();epi();_$u();S$u();x$u();DWn();_gi();Gu();BT();NYe();GYe();mE();Sa();y3();V3();$Oe();MYe();zOe();rO();vq();ro();xa();Op();jt();zSr();NDn();ec();iIe();bu();kYe();rBe();Ch();Rfc();yYt();XRn();Jat();IBn();vBn();GOe();jOe=class{constructor(e){this.context=e;AU.reset(),gU.getInstance(),this.stateManager=Fa.get(),Fa.get().registerCallbacks({onPersistenceError:async({error:r})=>{Ie.error("[Controller] Storage persistence failed (will retry):",r)},onSyncExternalChange:async()=>{await this.postStateToWebview()}}),this.authService=rp.getInstance(this),this.ocaAuthService=_7.initialize(this),this.accountService=aLe.getInstance(),e6.initialize(this),this.authService.restoreRefreshTokenAndRetrieveAuthInfo().then(()=>{this.startRemoteConfigTimer()}),this.mcpHub=new OQe(()=>_Wn(),()=>glt(),vg.version,pr),I$u().catch(r=>{Ie.error("Failed to cleanup legacy checkpoints:",r)}),SBn(this),Ie.log("[Controller] ClineProvider instantiated")}task;mcpHub;accountService;authService;ocaAuthService;stateManager;workspaceManager;backgroundCommandRunning=!1;backgroundCommandTaskId;cancelInProgress=!1;remoteConfigTimer;async ensureWorkspaceManager(){if(!this.workspaceManager)try{this.workspaceManager=await npi({stateManager:this.stateManager,detectRoots:rpi})}catch(e){Ie.error("[Controller] Failed to initialize workspace manager:",e)}return this.workspaceManager}getWorkspaceManager(){return this.workspaceManager}startRemoteConfigTimer(){dne(this),this.remoteConfigTimer=setInterval(()=>dne(this),36e5)}async dispose(){this.remoteConfigTimer&&(clearInterval(this.remoteConfigTimer),this.remoteConfigTimer=void 0),await this.clearTask(),this.mcpHub.dispose(),Ie.error("Controller disposed")}async handleSignOut(){try{this.stateManager.setGlobalState("userInfo",void 0),GAe();let r={...this.stateManager.getApiConfiguration(),planModeApiProvider:"openrouter",actModeApiProvider:"openrouter"};this.stateManager.setApiConfiguration(r),await this.postStateToWebview(),Pr.window.showMessage({type:1,message:"Successfully logged out of Cline"})}catch{Pr.window.showMessage({type:1,message:"Logout failed"})}}async handleOcaSignOut(){try{await this.ocaAuthService.handleDeauth("user_initiated"),await this.postStateToWebview(),Pr.window.showMessage({type:1,message:"Successfully logged out of OCA"})}catch{Pr.window.showMessage({type:1,message:"OCA Logout failed"})}}async setUserInfo(e){this.stateManager.setGlobalState("userInfo",e)}async initTask(e,r,n,o,s){dne(this),await this.clearTask();let a=this.stateManager.getGlobalSettingsKey("autoApprovalSettings"),u=this.stateManager.getGlobalSettingsKey("shellIntegrationTimeout"),c=this.stateManager.getGlobalStateKey("terminalReuseEnabled"),f=this.stateManager.getGlobalStateKey("vscodeTerminalExecutionMode"),h=this.stateManager.getGlobalSettingsKey("terminalOutputLineLimit"),p=this.stateManager.getGlobalSettingsKey("defaultTerminalProfile"),d=this.stateManager.getGlobalStateKey("isNewUser"),A=this.stateManager.getGlobalStateKey("taskHistory");if(d&&!o&&A&&A.length>=10&&(this.stateManager.setGlobalState("isNewUser",!1),await this.postStateToWebview()),a){let B={...a,version:(a.version??1)+1};this.stateManager.setGlobalState("autoApprovalSettings",B)}this.workspaceManager=await npi({stateManager:this.stateManager,detectRoots:rpi});let E=this.workspaceManager?.getPrimaryRoot()?.path||await tp($v()),x=o?.id||Date.now().toString(),R=!1,D=await C$u(x);if(!D.acquired&&!D.skipped){let B=D.conflictingLock?`Task locked by instance (${D.conflictingLock.held_by})`:"Failed to acquire task lock";throw new Error(B)}return R=D.acquired,D.acquired?Ie.debug(`[Task ${x}] Task lock acquired`):Ie.debug(`[Task ${x}] Task lock skipped (VS Code)`),await this.stateManager.loadTaskSettings(x),s&&this.stateManager.setTaskSettingsBatch(x,s),this.task=new wTr({controller:this,mcpHub:this.mcpHub,updateTaskHistory:B=>this.updateTaskHistory(B),postStateToWebview:()=>this.postStateToWebview(),reinitExistingTaskFromId:B=>this.reinitExistingTaskFromId(B),cancelTask:()=>this.cancelTask(),shellIntegrationTimeout:u,terminalReuseEnabled:c??!0,terminalOutputLineLimit:h??500,defaultTerminalProfile:p??"default",vscodeTerminalExecutionMode:f,cwd:E,stateManager:this.stateManager,workspaceManager:this.workspaceManager,task:e,images:r,files:n,historyItem:o,taskId:x,taskLockAcquired:R}),o?this.task.resumeTaskFromHistory():(e||r||n)&&this.task.startTask(e,r,n),this.task.taskId}async reinitExistingTaskFromId(e){let r=await this.getTaskWithId(e);r&&await this.initTask(void 0,void 0,void 0,r.historyItem)}async updateTelemetrySetting(e){let n=this.stateManager.getGlobalSettingsKey("telemetrySetting")!=="disabled",o=e!=="disabled";n&&!o&&pr.captureUserOptOut(),this.stateManager.setGlobalState("telemetrySetting",e),pr.updateTelemetryState(o),!n&&o&&pr.captureUserOptIn(),await this.postStateToWebview()}async toggleActModeForYoloMode(){if(this.stateManager.setGlobalState("mode","act"),this.task){let r=this.stateManager.getApiConfiguration();this.task.api=Xy({...r,ulid:this.task.ulid},"act")}return await this.postStateToWebview(),!!this.task}async togglePlanActMode(e,r){let n=e==="act";if(this.stateManager.setGlobalState("mode",e),pr.captureModeSwitch(this.task?.ulid??"0",e),this.task){let o=this.stateManager.getApiConfiguration();this.task.api=Xy({...o,ulid:this.task.ulid},e)}return await this.postStateToWebview(),this.task?this.task.taskState.isAwaitingPlanResponse&&n?(this.task.taskState.didRespondToPlanAskBySwitchingMode=!0,await this.task.handleWebviewAskResponse("messageResponse",r?.message||"PLAN_MODE_TOGGLE_RESPONSE",r?.images||[],r?.files||[]),!0):(this.cancelTask(),!1):!1}async cancelTask(){if(this.cancelInProgress){Ie.log("[Controller.cancelTask] Cancellation already in progress, ignoring duplicate request");return}if(this.task){this.cancelInProgress=!0;try{this.updateBackgroundCommandState(!1);try{await this.task.abortTask()}catch(r){Ie.error("Failed to abort task",r)}await DM(()=>this.task===void 0||this.task.taskState.isStreaming===!1||this.task.taskState.didFinishAbortingStream||this.task.taskState.isWaitingForFirstChunk,{timeout:3e3}).catch(()=>{Ie.error("Failed to abort task")}),this.task&&(this.task.taskState.abandoned=!0);let e;try{e=(await this.getTaskWithId(this.task.taskId)).historyItem}catch(r){Ie.log(`[Controller.cancelTask] Task not found in history: ${r}`)}e?await this.initTask(void 0,void 0,void 0,e,void 0):await this.clearTask(),await this.postStateToWebview()}finally{this.cancelInProgress=!1}}}updateBackgroundCommandState(e,r){let n=e?r:void 0;this.backgroundCommandRunning===e&&this.backgroundCommandTaskId===n||(this.backgroundCommandRunning=e,this.backgroundCommandTaskId=n,this.postStateToWebview())}async cancelBackgroundCommand(){await this.task?.cancelBackgroundCommand()||this.updateBackgroundCommandState(!1)}async handleAuthCallback(e,r=null){try{await this.authService.handleAuthCallback(e,r||"google");let n="cline",o=this.stateManager.getGlobalSettingsKey("planActSeparateModelsSetting"),s=this.stateManager.getGlobalSettingsKey("mode"),u={...this.stateManager.getApiConfiguration()};o?s==="plan"?u.planModeApiProvider=n:u.actModeApiProvider=n:(u.planModeApiProvider=n,u.actModeApiProvider=n),this.stateManager.setApiConfiguration(u),this.stateManager.setGlobalState("welcomeViewCompleted",!0),await dne(this),this.task&&(this.task.api=Xy({...u,ulid:this.task.ulid},s)),await this.postStateToWebview()}catch(n){Ie.error("Failed to handle auth callback:",n),Pr.window.showMessage({type:0,message:"Failed to log in to Cline"})}}async handleOcaAuthCallback(e,r){try{await this.ocaAuthService.handleAuthCallback(e,r);let n="oca",o=this.stateManager.getGlobalSettingsKey("planActSeparateModelsSetting"),s=this.stateManager.getGlobalSettingsKey("mode"),u={...this.stateManager.getApiConfiguration()};o?s==="plan"?u.planModeApiProvider=n:u.actModeApiProvider=n:(u.planModeApiProvider=n,u.actModeApiProvider=n),this.stateManager.setApiConfiguration(u),this.stateManager.setGlobalState("welcomeViewCompleted",!0),this.task&&(this.task.api=Xy({...u,ulid:this.task.ulid},s)),await this.postStateToWebview()}catch(n){Ie.error("Failed to handle auth callback:",n),Pr.window.showMessage({type:0,message:"Failed to log in to OCA"})}}async handleMcpOAuthCallback(e,r,n){try{await this.mcpHub.completeOAuth(e,r,n),await this.postStateToWebview(),Pr.window.showMessage({type:1,message:"Successfully authenticated MCP server"})}catch(o){Ie.error("Failed to complete MCP OAuth:",o),Pr.window.showMessage({type:0,message:"Failed to authenticate MCP server"})}}async handleTaskCreation(e){await zat(),await this.initTask(e)}async fetchMcpMarketplaceFromApi(){let e=await Ec.get(`${Xd.config().mcpBaseUrl}/marketplace`,{headers:{"Content-Type":"application/json","User-Agent":"cline-vscode-extension"},...fu()});if(!e.data)throw new Error("Invalid response from MCP marketplace API");let r=this.stateManager.getRemoteConfigSettings().allowedMCPServers,n=(e.data||[]).map(s=>({...s,githubStars:s.githubStars??0,downloadCount:s.downloadCount??0,tags:s.tags??[]}));if(r){let s=new Set(r.map(a=>a.id));n=n.filter(a=>s.has(a.mcpId))}let o={items:n};return await xWn(o),o}async refreshMcpMarketplace(e){try{let r=await this.fetchMcpMarketplaceFromApi();return r&&e&&await GRn(r),r}catch(r){Ie.error("Failed to refresh MCP marketplace:",r);return}}async handleOpenRouterCallback(e){let r;try{let u=await Ec.post("https://openrouter.ai/api/v1/auth/keys",{code:e},fu());if(u.data&&u.data.key)r=u.data.key;else throw new Error("Invalid response from OpenRouter API")}catch(u){throw Ie.error("Error exchanging code for API key:",u),u}let n="openrouter",o=this.stateManager.getGlobalSettingsKey("mode"),a={...this.stateManager.getApiConfiguration(),planModeApiProvider:n,actModeApiProvider:n,openRouterApiKey:r};this.stateManager.setApiConfiguration(a),await this.postStateToWebview(),this.task&&(this.task.api=Xy({...a,ulid:this.task.ulid},o))}async handleRequestyCallback(e){let r="requesty",n=this.stateManager.getGlobalSettingsKey("mode"),s={...this.stateManager.getApiConfiguration(),planModeApiProvider:r,actModeApiProvider:r,requestyApiKey:e};this.stateManager.setApiConfiguration(s),await this.postStateToWebview(),this.task&&(this.task.api=Xy({...s,ulid:this.task.ulid},n))}async readOpenRouterModels(){let e=LIe.join(await jI(),oo.openRouterModels);try{if(await ma(e)){let r=await Bfc.readFile(e,"utf8"),n=JSON.parse(r);return hDo(n)}}catch(r){Ie.error("Error reading cached OpenRouter models:",r)}}async handleHicapCallback(e){let r=e,n="hicap",o=this.stateManager.getGlobalSettingsKey("mode"),a={...this.stateManager.getApiConfiguration(),planModeApiProvider:n,actModeApiProvider:n,hicapApiKey:r};this.stateManager.setApiConfiguration(a),await this.postStateToWebview(),this.accountService,this.task&&(this.task.api=Xy({...a,ulid:this.task.ulid},o))}async getTaskWithId(e){let n=this.stateManager.getGlobalStateKey("taskHistory").find(o=>o.id===e);if(n){let o=LIe.join(Pr.get().globalStorageFsPath,"tasks",e),s=LIe.join(o,oo.apiConversationHistory),a=LIe.join(o,oo.uiMessages),u=LIe.join(o,oo.contextHistory),c=LIe.join(o,oo.taskMetadata);if(await ma(s)){let h=JSON.parse(await Bfc.readFile(s,"utf8"));return{historyItem:n,taskDirPath:o,apiConversationHistoryFilePath:s,uiMessagesFilePath:a,contextHistoryFilePath:u,taskMetadataFilePath:c,apiConversationHistory:h}}}throw await this.deleteTaskFromState(e),new Error("Task not found")}async exportTaskWithId(e){let{taskDirPath:r}=await this.getTaskWithId(e);Ie.log(`[EXPORT] Opening task directory: ${r}`),await iJr(r)}async deleteTaskFromState(e){let n=this.stateManager.getGlobalStateKey("taskHistory").filter(o=>o.id!==e);return this.stateManager.setGlobalState("taskHistory",n),await this.postStateToWebview(),n}async postStateToWebview(){let e=await this.getStateToPostToWebview();await d4o(e)}async getStateToPostToWebview(){let e=bYt(),r=this.stateManager.getApiConfiguration(),n=this.stateManager.getGlobalStateKey("lastShownAnnouncementId"),o=this.stateManager.getGlobalStateKey("taskHistory"),s=this.stateManager.getGlobalSettingsKey("autoApprovalSettings"),a=this.stateManager.getGlobalSettingsKey("browserSettings"),u=this.stateManager.getGlobalSettingsKey("focusChainSettings"),c=this.stateManager.getGlobalSettingsKey("preferredLanguage"),f=this.stateManager.getGlobalSettingsKey("mode"),h=this.stateManager.getGlobalSettingsKey("strictPlanModeEnabled"),p=this.stateManager.getGlobalSettingsKey("yoloModeToggled"),d=this.stateManager.getGlobalSettingsKey("useAutoCondense"),A=this.stateManager.getGlobalSettingsKey("subagentsEnabled"),g=this.stateManager.getGlobalStateKey("userInfo"),E=this.stateManager.getGlobalStateKey("mcpMarketplaceEnabled"),x=this.stateManager.getGlobalStateKey("mcpDisplayMode"),R=this.stateManager.getGlobalSettingsKey("telemetrySetting"),D=this.stateManager.getGlobalSettingsKey("planActSeparateModelsSetting"),B=this.stateManager.getGlobalSettingsKey("enableCheckpointsSetting"),P=this.stateManager.getGlobalSettingsKey("globalClineRulesToggles"),b=this.stateManager.getGlobalSettingsKey("globalWorkflowToggles"),T=this.stateManager.getGlobalSettingsKey("globalSkillsToggles"),S=this.stateManager.getWorkspaceStateKey("localSkillsToggles"),w=this.stateManager.getGlobalStateKey("remoteRulesToggles"),m=this.stateManager.getGlobalStateKey("remoteWorkflowToggles"),y=this.stateManager.getGlobalSettingsKey("shellIntegrationTimeout"),v=this.stateManager.getGlobalStateKey("terminalReuseEnabled"),I=this.stateManager.getGlobalStateKey("vscodeTerminalExecutionMode"),k=this.stateManager.getGlobalSettingsKey("defaultTerminalProfile"),U=this.stateManager.getGlobalStateKey("isNewUser"),Q=!!this.stateManager.getGlobalStateKey("welcomeViewCompleted"),q=this.stateManager.getGlobalSettingsKey("customPrompt"),G=this.stateManager.getGlobalStateKey("mcpResponsesCollapsed"),H=this.stateManager.getGlobalSettingsKey("terminalOutputLineLimit"),L=this.stateManager.getGlobalSettingsKey("maxConsecutiveMistakes"),O=this.stateManager.getGlobalStateKey("favoritedModelIds"),N=this.stateManager.getGlobalStateKey("lastDismissedInfoBannerVersion")||0,M=this.stateManager.getGlobalStateKey("lastDismissedModelBannerVersion")||0,F=this.stateManager.getGlobalStateKey("lastDismissedCliBannerVersion")||0,V=this.stateManager.getGlobalStateKey("dismissedBanners"),j=this.stateManager.getGlobalSettingsKey("doubleCheckCompletionEnabled"),$=this.stateManager.getWorkspaceStateKey("localClineRulesToggles"),W=this.stateManager.getWorkspaceStateKey("localWindsurfRulesToggles"),K=this.stateManager.getWorkspaceStateKey("localCursorRulesToggles"),z=this.stateManager.getWorkspaceStateKey("localAgentsRulesToggles"),Y=this.stateManager.getWorkspaceStateKey("workflowToggles"),X=this.task?.taskId?(o||[]).find(Te=>Te.id===this.task?.taskId):void 0,Z=[...this.task?.messageStateHandler.getClineMessages()||[]],re=this.task?.taskState.checkpointManagerErrorMessage,te=(o||[]).filter(Te=>Te.ts&&Te.task).sort((Te,Me)=>Me.ts-Te.ts).slice(0,100),ie=ODn(),oe=n!==ie,ce=process.platform,ue=Yv(),le=vg.version,Ae=Xd.config().environment,ye=e6.get().getActiveBanners()??[],Ee=e6.get().getWelcomeBanners()??[],{openAiCodexOAuthManager:Ce}=await Promise.resolve().then(()=>(oBe(),ATa)),be=await Ce.isAuthenticated();return{version:le,apiConfiguration:r,currentTaskItem:X,clineMessages:Z,currentFocusChainChecklist:this.task?.taskState.currentFocusChainChecklist||null,checkpointManagerErrorMessage:re,autoApprovalSettings:s,browserSettings:a,focusChainSettings:u,preferredLanguage:c,mode:f,strictPlanModeEnabled:h,yoloModeToggled:p,useAutoCondense:d,subagentsEnabled:A,userInfo:g,mcpMarketplaceEnabled:E,mcpDisplayMode:x,telemetrySetting:R,planActSeparateModelsSetting:D,enableCheckpointsSetting:B??!0,platform:ce,environment:Ae,distinctId:ue,globalClineRulesToggles:P||{},localClineRulesToggles:$||{},localWindsurfRulesToggles:W||{},localCursorRulesToggles:K||{},localAgentsRulesToggles:z||{},localWorkflowToggles:Y||{},globalWorkflowToggles:b||{},globalSkillsToggles:T||{},localSkillsToggles:S||{},remoteRulesToggles:w,remoteWorkflowToggles:m,shellIntegrationTimeout:y,terminalReuseEnabled:v,vscodeTerminalExecutionMode:I,defaultTerminalProfile:k,isNewUser:U,welcomeViewCompleted:Q,onboardingModels:e,mcpResponsesCollapsed:G,terminalOutputLineLimit:H,maxConsecutiveMistakes:L,customPrompt:q,taskHistory:te,shouldShowAnnouncement:oe,favoritedModelIds:O,backgroundCommandRunning:this.backgroundCommandRunning,backgroundCommandTaskId:this.backgroundCommandTaskId,workspaceRoots:this.workspaceManager?.getRoots()??[],primaryRootIndex:this.workspaceManager?.getPrimaryIndex()??0,isMultiRootWorkspace:(this.workspaceManager?.getRoots().length??0)>1,multiRootSetting:{user:this.stateManager.getGlobalStateKey("multiRootEnabled"),featureFlag:!0},clineWebToolsEnabled:{user:this.stateManager.getGlobalSettingsKey("clineWebToolsEnabled"),featureFlag:fA.getWebtoolsEnabled()},worktreesEnabled:{user:this.stateManager.getGlobalSettingsKey("worktreesEnabled"),featureFlag:fA.getWorktreesEnabled()},hooksEnabled:qb(this.stateManager.getGlobalSettingsKey("hooksEnabled")),lastDismissedInfoBannerVersion:N,lastDismissedModelBannerVersion:M,remoteConfigSettings:this.stateManager.getRemoteConfigSettings(),lastDismissedCliBannerVersion:F,dismissedBanners:V,nativeToolCallSetting:this.stateManager.getGlobalStateKey("nativeToolCallEnabled"),enableParallelToolCalling:this.stateManager.getGlobalSettingsKey("enableParallelToolCalling"),backgroundEditEnabled:this.stateManager.getGlobalSettingsKey("backgroundEditEnabled"),optOutOfRemoteConfig:this.stateManager.getGlobalSettingsKey("optOutOfRemoteConfig"),doubleCheckCompletionEnabled:j,banners:ye,welcomeBanners:Ee,openAiCodexIsAuthenticated:be}}async clearTask(){this.task&&await this.stateManager.clearTaskSettings(),await this.task?.abortTask(),this.task=void 0}async updateTaskHistory(e){let r=this.stateManager.getGlobalStateKey("taskHistory"),n=r.findIndex(o=>o.id===e.id);return n!==-1?r[n]=e:r.push(e),this.stateManager.setGlobalState("taskHistory",r),r}}});var Pfc={};ci(Pfc,{openUrlInBrowser:()=>jcA});async function jcA(t){let{default:e}=await Promise.resolve().then(()=>(NYe(),mkt));await e(t)}var Mfc=ee(()=>{"use strict"});var A_i=1;Yvt();var jAc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),description:He.union([He.string(),He.null()]).optional(),id:He.string(),name:He.string()}),ZIi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),methodId:He.string()}),KAc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),$Ac=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),blob:He.string(),mimeType:He.union([He.string(),He.null()]).optional(),uri:He.string()}),zAc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),terminalId:He.string()}),YAc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),newText:He.string(),oldText:He.union([He.string(),He.null()]).optional(),path:He.string()}),exi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),name:He.string(),value:He.string()}),JAc=He.union([He.literal(-32700),He.literal(-32600),He.literal(-32601),He.literal(-32602),He.literal(-32603),He.literal(-32800),He.literal(-32e3),He.literal(-32002),He.number().int().min(-2147483648,{message:"Invalid value: Expected int32 to be >= -2147483648"}).max(2147483647,{message:"Invalid value: Expected int32 to be <= 2147483647"})]),txi=He.object({code:JAc,data:He.unknown().optional(),message:He.string()}),rxi=He.unknown(),nxi=He.unknown(),ixi=He.unknown(),XAc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),readTextFile:He.boolean().optional().default(!1),writeTextFile:He.boolean().optional().default(!1)}),ZAc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),fs:XAc.optional().default({readTextFile:!1,writeTextFile:!1}),terminal:He.boolean().optional().default(!1)}),axi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),name:He.string(),value:He.string()}),oxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),name:He.string(),title:He.union([He.string(),He.null()]).optional(),version:He.string()}),egc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),sxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),cursor:He.union([He.string(),He.null()]).optional(),cwd:He.union([He.string(),He.null()]).optional()}),tgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),http:He.boolean().optional().default(!1),sse:He.boolean().optional().default(!1)}),rgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),headers:He.array(axi),name:He.string(),url:He.string()}),ngc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),headers:He.array(axi),name:He.string(),url:He.string()}),igc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),args:He.array(He.string()),command:He.string(),env:He.array(exi),name:He.string()}),Jvt=He.union([rgc.and(He.object({type:He.literal("http")})),ngc.and(He.object({type:He.literal("sse")})),igc]),YBr=He.string(),agc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),description:He.union([He.string(),He.null()]).optional(),modelId:YBr,name:He.string()}),uxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),cwd:He.string(),mcpServers:He.array(Jvt)}),cxi=He.string(),ogc=He.union([He.literal("allow_once"),He.literal("allow_always"),He.literal("reject_once"),He.literal("reject_always")]),sgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),kind:ogc,name:He.string(),optionId:cxi}),ugc=He.union([He.literal("high"),He.literal("medium"),He.literal("low")]),cgc=He.union([He.literal("pending"),He.literal("in_progress"),He.literal("completed")]),lgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),content:He.string(),priority:ugc,status:cgc}),dgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),entries:He.array(lgc)}),fgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),audio:He.boolean().optional().default(!1),embeddedContext:He.boolean().optional().default(!1),image:He.boolean().optional().default(!1)}),lxi=He.number().int().gte(0).lte(65535),dxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),clientCapabilities:ZAc.optional().default({fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:He.union([oxi,He.null()]).optional(),protocolVersion:lxi}),hgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),content:He.string()}),pgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),Ahe=He.union([He.null(),He.coerce.bigint().min(BigInt("-9223372036854775808"),{message:"Invalid value: Expected int64 to be >= -9223372036854775808"}).max(BigInt("9223372036854775807"),{message:"Invalid value: Expected int64 to be <= 9223372036854775807"}),He.string()]),ihA=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),requestId:Ahe}),Agc=He.enum(["assistant","user"]),QGe=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),audience:He.union([He.array(Agc),He.null()]).optional(),lastModified:He.union([He.string(),He.null()]).optional(),priority:He.union([He.number(),He.null()]).optional()}),ggc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),annotations:He.union([QGe,He.null()]).optional(),data:He.string(),mimeType:He.string()}),mgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),annotations:He.union([QGe,He.null()]).optional(),data:He.string(),mimeType:He.string(),uri:He.union([He.string(),He.null()]).optional()}),Egc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),annotations:He.union([QGe,He.null()]).optional(),description:He.union([He.string(),He.null()]).optional(),mimeType:He.union([He.string(),He.null()]).optional(),name:He.string(),size:He.union([He.coerce.bigint().min(BigInt("-9223372036854775808"),{message:"Invalid value: Expected int64 to be >= -9223372036854775808"}).max(BigInt("9223372036854775807"),{message:"Invalid value: Expected int64 to be <= 9223372036854775807"}),He.null()]).optional(),title:He.union([He.string(),He.null()]).optional(),uri:He.string()}),ygc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),optionId:cxi}),vgc=He.union([He.object({outcome:He.literal("cancelled")}),ygc.and(He.object({outcome:He.literal("selected")}))]),Cgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),outcome:vgc}),bgc=He.string(),fxi=He.string(),_gc=He.union([He.literal("mode"),He.literal("model"),He.literal("thought_level"),He.string()]),JBr=He.string(),hxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),description:He.union([He.string(),He.null()]).optional(),name:He.string(),value:JBr}),Sgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),group:bgc,name:He.string(),options:He.array(hxi)}),Igc=He.union([He.array(hxi),He.array(Sgc)]),xgc=He.object({currentValue:JBr,options:Igc}),fxe=xgc.and(He.object({type:He.literal("select")})).and(He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),category:He.union([_gc,He.null()]).optional(),description:He.union([He.string(),He.null()]).optional(),id:fxi,name:He.string()})),Tgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),configOptions:He.array(fxe)}),wgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),by=He.string(),pxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),sessionId:by}),ahA=He.object({method:He.string(),params:He.union([He.union([pxi,rxi]),He.null()]).optional()}),Axi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),args:He.array(He.string()).optional(),command:He.string(),cwd:He.union([He.string(),He.null()]).optional(),env:He.array(exi).optional(),outputByteLimit:He.union([He.coerce.bigint().gte(BigInt(0)).max(BigInt("18446744073709551615"),{message:"Invalid value: Expected uint64 to be <= 18446744073709551615"}),He.null()]).optional(),sessionId:by}),gxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),cwd:He.string(),mcpServers:He.array(Jvt).optional(),sessionId:by}),mxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),sessionId:by,terminalId:He.string()}),Exi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),cwd:He.string(),mcpServers:He.array(Jvt),sessionId:by}),yxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),limit:He.union([He.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}),He.null()]).optional(),line:He.union([He.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}),He.null()]).optional(),path:He.string(),sessionId:by}),vxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),sessionId:by,terminalId:He.string()}),Cxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),cwd:He.string(),mcpServers:He.array(Jvt).optional(),sessionId:by}),Rgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),cwd:He.string(),sessionId:by,title:He.union([He.string(),He.null()]).optional(),updatedAt:He.union([He.string(),He.null()]).optional()}),Bgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),nextCursor:He.union([He.string(),He.null()]).optional(),sessions:He.array(Rgc)}),Dgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),title:He.union([He.string(),He.null()]).optional(),updatedAt:He.union([He.string(),He.null()]).optional()}),Pgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),Xvt=He.string(),Mgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),currentModeId:Xvt}),kgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),description:He.union([He.string(),He.null()]).optional(),id:Xvt,name:He.string()}),Zvt=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),availableModes:He.array(kgc),currentModeId:Xvt}),eCt=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),availableModels:He.array(agc),currentModelId:YBr}),Ogc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),configOptions:He.union([He.array(fxe),He.null()]).optional(),models:He.union([eCt,He.null()]).optional(),modes:He.union([Zvt,He.null()]).optional(),sessionId:by}),Ngc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),configOptions:He.union([He.array(fxe),He.null()]).optional(),models:He.union([eCt,He.null()]).optional(),modes:He.union([Zvt,He.null()]).optional()}),Fgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),configOptions:He.union([He.array(fxe),He.null()]).optional(),models:He.union([eCt,He.null()]).optional(),modes:He.union([Zvt,He.null()]).optional(),sessionId:by}),Lgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),configOptions:He.union([He.array(fxe),He.null()]).optional(),models:He.union([eCt,He.null()]).optional(),modes:He.union([Zvt,He.null()]).optional()}),Ugc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),Qgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),fork:He.union([wgc,He.null()]).optional(),list:He.union([Pgc,He.null()]).optional(),resume:He.union([Ugc,He.null()]).optional()}),qgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),loadSession:He.boolean().optional().default(!1),mcpCapabilities:tgc.optional().default({http:!1,sse:!1}),promptCapabilities:fgc.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:Qgc.optional().default({})}),Ggc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),agentCapabilities:qgc.optional().default({loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:He.union([oxi,He.null()]).optional(),authMethods:He.array(jAc).optional().default([]),protocolVersion:lxi}),bxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),configId:fxi,sessionId:by,value:JBr}),Hgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),configOptions:He.array(fxe)}),_xi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),modeId:Xvt,sessionId:by}),Vgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),Sxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),modelId:YBr,sessionId:by}),Wgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),jgc=He.union([He.literal("end_turn"),He.literal("max_tokens"),He.literal("max_turn_requests"),He.literal("refusal"),He.literal("cancelled")]),Kgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),stopReason:jgc}),ohA=He.union([He.object({id:Ahe,result:He.union([Ggc,KAc,Fgc,Ngc,Bgc,Ogc,Lgc,Vgc,Hgc,Kgc,Wgc,ixi])}),He.object({error:txi,id:Ahe})]),$gc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),terminalId:He.string()}),zgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),exitCode:He.union([He.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}),He.null()]).optional(),signal:He.union([He.string(),He.null()]).optional()}),Ixi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),sessionId:by,terminalId:He.string()}),Ygc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),exitStatus:He.union([zgc,He.null()]).optional(),output:He.string(),truncated:He.boolean()}),Jgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),annotations:He.union([QGe,He.null()]).optional(),text:He.string()}),Xgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),mimeType:He.union([He.string(),He.null()]).optional(),text:He.string(),uri:He.string()}),Zgc=He.union([Xgc,$Ac]),emc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),annotations:He.union([QGe,He.null()]).optional(),resource:Zgc}),XBr=He.union([Jgc.and(He.object({type:He.literal("text")})),mgc.and(He.object({type:He.literal("image")})),ggc.and(He.object({type:He.literal("audio")})),Egc.and(He.object({type:He.literal("resource_link")})),emc.and(He.object({type:He.literal("resource")}))]),tmc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),content:XBr}),zBr=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),content:XBr}),xxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),prompt:He.array(XBr),sessionId:by}),shA=He.object({id:Ahe,method:He.string(),params:He.union([He.union([dxi,ZIi,uxi,Exi,sxi,gxi,Cxi,_xi,bxi,xxi,Sxi,nxi]),He.null()]).optional()}),Txi=He.union([tmc.and(He.object({type:He.literal("content")})),YAc.and(He.object({type:He.literal("diff")})),$gc.and(He.object({type:He.literal("terminal")}))]),wxi=He.string(),Rxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),line:He.union([He.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}),He.null()]).optional(),path:He.string()}),Bxi=He.union([He.literal("pending"),He.literal("in_progress"),He.literal("completed"),He.literal("failed")]),Dxi=He.union([He.literal("read"),He.literal("edit"),He.literal("delete"),He.literal("move"),He.literal("search"),He.literal("execute"),He.literal("think"),He.literal("fetch"),He.literal("switch_mode"),He.literal("other")]),rmc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),content:He.array(Txi).optional(),kind:Dxi.optional(),locations:He.array(Rxi).optional(),rawInput:He.unknown().optional(),rawOutput:He.unknown().optional(),status:Bxi.optional(),title:He.string(),toolCallId:wxi}),Pxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),content:He.union([He.array(Txi),He.null()]).optional(),kind:He.union([Dxi,He.null()]).optional(),locations:He.union([He.array(Rxi),He.null()]).optional(),rawInput:He.unknown().optional(),rawOutput:He.unknown().optional(),status:He.union([Bxi,He.null()]).optional(),title:He.union([He.string(),He.null()]).optional(),toolCallId:wxi}),Mxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),options:He.array(sgc),sessionId:by,toolCall:Pxi}),nmc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),hint:He.string()}),imc=nmc,amc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),description:He.string(),input:He.union([imc,He.null()]).optional(),name:He.string()}),omc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),availableCommands:He.array(amc)}),smc=He.union([zBr.and(He.object({sessionUpdate:He.literal("user_message_chunk")})),zBr.and(He.object({sessionUpdate:He.literal("agent_message_chunk")})),zBr.and(He.object({sessionUpdate:He.literal("agent_thought_chunk")})),rmc.and(He.object({sessionUpdate:He.literal("tool_call")})),Pxi.and(He.object({sessionUpdate:He.literal("tool_call_update")})),dgc.and(He.object({sessionUpdate:He.literal("plan")})),omc.and(He.object({sessionUpdate:He.literal("available_commands_update")})),Mgc.and(He.object({sessionUpdate:He.literal("current_mode_update")})),Tgc.and(He.object({sessionUpdate:He.literal("config_option_update")})),Dgc.and(He.object({sessionUpdate:He.literal("session_info_update")}))]),kxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),sessionId:by,update:smc}),uhA=He.object({method:He.string(),params:He.union([He.union([kxi,rxi]),He.null()]).optional()}),Oxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),sessionId:by,terminalId:He.string()}),umc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),exitCode:He.union([He.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}),He.null()]).optional(),signal:He.union([He.string(),He.null()]).optional()}),Nxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),content:He.string(),path:He.string(),sessionId:by}),chA=He.object({id:Ahe,method:He.string(),params:He.union([He.union([Nxi,yxi,Mxi,Axi,Ixi,vxi,Oxi,mxi,nxi]),He.null()]).optional()}),cmc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),lhA=He.union([He.object({id:Ahe,result:He.union([cmc,hgc,Cgc,zAc,Ygc,pgc,umc,egc,ixi])}),He.object({error:txi,id:Ahe})]);var tCt=class t extends Error{code;data;constructor(e,r,n){super(r),this.code=e,this.name="RequestError",this.data=n}static parseError(e,r){return new t(-32700,`Parse error${r?`: ${r}`:""}`,e)}static invalidRequest(e,r){return new t(-32600,`Invalid request${r?`: ${r}`:""}`,e)}static methodNotFound(e){return new t(-32601,`"Method not found": ${e}`,{method:e})}static invalidParams(e,r){return new t(-32602,`Invalid params${r?`: ${r}`:""}`,e)}static internalError(e,r){return new t(-32603,`Internal error${r?`: ${r}`:""}`,e)}static authRequired(e,r){return new t(-32e3,`Authentication required${r?`: ${r}`:""}`,e)}static resourceNotFound(e){return new t(-32002,`Resource not found${e?`: ${e}`:""}`,e&&{uri:e})}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}};Po();MDr();zGe();mE();dBn();mBn();bu();Ch();hBn();var RTr=class{};var BTr=class extends RTr{setOnReplyCallback(e){}async ensureCommentsViewDisabled(){}addReviewComment(e){}startStreamingComment(e,r,n,o,s,a){}appendToStreamingComment(e){}endStreamingComment(){}addReviewComments(e){}clearAllComments(){}clearCommentsForFile(e){}getThreadCount(){return 0}async closeDiffViews(){}dispose(){}};not();var DTr=class extends EH{RESOURCE_HOSTNAME="internal.resources";getWebviewUrl(e){let r=new URL(`https://${this.RESOURCE_HOSTNAME}/`);return r.pathname=e,r.toString()}getCspSource(){return`'self' https://${this.RESOURCE_HOSTNAME}`}isVisible(){return!0}};Sa();P2r();oBe();Vvi();V3();jt();W3();var LCi="2.8.2";q1();Gu();ec();var Dfc=yt(Pye(),1);Sa();P2r();V_();jt();import*as R1t from"fs/promises";var PTr=class extends jfe{connection;clientCapabilities;sessionIdResolver;constructor(e,r,n){super(),this.connection=e,this.clientCapabilities=r,this.sessionIdResolver=n}getSessionId(){let e=this.sessionIdResolver();if(!e)throw new Error("No active ACP session. Cannot perform file operation.");return e}canReadFile(){return this.clientCapabilities?.fs?.readTextFile===!0}canWriteFile(){return this.clientCapabilities?.fs?.writeTextFile===!0}async open(e,r){if(!this.canReadFile())return Ie.debug("[ACPDiffViewProvider] Client does not support fs.readTextFile, falling back to local fs"),super.open(e,r);this.isEditing=!0;let n=await tp(),o=Em.resolveWorkspacePath(n,e,"ACPDiffViewProvider.open.absolutePath");this.absolutePath=typeof o=="string"?o:o.absolutePath,this.relPath=r?.displayPath??e;let s=this.editType==="modify";if(s){try{await Pr.workspace.saveOpenDocumentIfDirty({filePath:this.absolutePath})}catch{}try{Ie.debug("[ACPDiffViewProvider] Reading file via ACP:",this.absolutePath);let c=await this.connection.readTextFile({sessionId:this.getSessionId(),path:this.absolutePath});this.originalContent=c.content,this.fileEncoding="utf8",Ie.debug("[ACPDiffViewProvider] Read file successfully, length:",c.content.length)}catch(c){Ie.debug("[ACPDiffViewProvider] ACP read failed, falling back to local fs:",c);let f=await R1t.readFile(this.absolutePath);this.fileEncoding=await n1e(f),this.originalContent=Dfc.decode(f,this.fileEncoding)}}else this.originalContent="",this.fileEncoding="utf8";let a=await uMt(this.absolutePath);if(this.createdDirs=a,!s)if(this.canWriteFile())try{await this.connection.writeTextFile({sessionId:this.getSessionId(),path:this.absolutePath,content:""})}catch{await R1t.writeFile(this.absolutePath,"")}else await R1t.writeFile(this.absolutePath,"");let u=[];try{u=(await Pr.workspace.getDiagnostics({})).fileDiagnostics}catch{u=[]}this.preDiagnostics=u,await this.openDiffEditor(),await this.scrollEditorToLine(0),this.streamedLines=[]}async scrollEditorToLine(e){}async openDiffEditor(){}async saveDocument(){if(!this.canWriteFile())return Ie.debug("[ACPDiffViewProvider] Client does not support fs.writeTextFile, falling back to local fs"),super.saveDocument();let e=await this.getContent();if(!this.absolutePath||e===void 0)return!1;try{return Ie.debug("[ACPDiffViewProvider] Writing file via ACP:",{path:this.absolutePath,contentLength:e.length}),await this.connection.writeTextFile({sessionId:this.getSessionId(),path:this.absolutePath,content:e}),Ie.debug("[ACPDiffViewProvider] Write file successfully"),!0}catch(r){return Ie.debug("[ACPDiffViewProvider] ACP write failed, falling back to local fs:",r),super.saveDocument()}}};PYt();Wvi();jt();var UCi=class{async openDiff(e){return Ie.debug("[ACPDiffServiceClient] openDiff called (stub)"),wl.OpenDiffResponse.create({})}async getDocumentText(e){return Ie.debug("[ACPDiffServiceClient] getDocumentText called (stub)",{diffId:e.diffId}),wl.GetDocumentTextResponse.create({content:""})}async replaceText(e){return Ie.debug("[ACPDiffServiceClient] replaceText called (stub)"),wl.ReplaceTextResponse.create({})}async scrollDiff(e){return Ie.debug("[ACPDiffServiceClient] scrollDiff called (stub)"),wl.ScrollDiffResponse.create({})}async truncateDocument(e){return Ie.debug("[ACPDiffServiceClient] truncateDocument called (stub)"),wl.TruncateDocumentResponse.create({})}async saveDocument(e){return Ie.debug("[ACPDiffServiceClient] saveDocument called (stub)"),wl.SaveDocumentResponse.create({})}async closeAllDiffs(e){return Ie.debug("[ACPDiffServiceClient] closeAllDiffs called (stub)"),wl.CloseAllDiffsResponse.create({})}async openMultiFileDiff(e){return Ie.debug("[ACPDiffServiceClient] openMultiFileDiff called (stub)"),wl.OpenMultiFileDiffResponse.create({})}},QCi=class{version;constructor(e,r,n){this.version=n}async debugLog(e){return Ie.debug(e.value),JL.Empty.create()}async clipboardWriteText(e){return Ie.debug("[ACPEnvServiceClient] clipboardWriteText called (stub)"),JL.Empty.create()}async clipboardReadText(e){return Ie.debug("[ACPEnvServiceClient] clipboardReadText called (stub)"),JL.String.create({value:""})}async getHostVersion(e){return wl.GetHostVersionResponse.create({version:this.version,platform:"Cline ACP Agent",clineType:"CLI"})}async getIdeRedirectUri(e){return Ie.debug("[ACPEnvServiceClient] getIdeRedirectUri called (stub)"),JL.String.create({value:""})}async getTelemetrySettings(e){return wl.GetTelemetrySettingsResponse.create({isEnabled:wl.Setting.DISABLED})}subscribeToTelemetrySettings(e,r){return r.onResponse(wl.TelemetrySettingsEvent.create({isEnabled:wl.Setting.DISABLED})),()=>{}}async shutdown(e){return Ie.debug("[ACPEnvServiceClient] shutdown called (stub)"),JL.Empty.create()}async openExternal(e){let r=e.value||"";if(r){Ie.debug(`[ACPEnvServiceClient] openExternal: ${r}`);let{openUrlInBrowser:n}=await Promise.resolve().then(()=>(Mfc(),Pfc));await n(r)}return JL.Empty.create()}},qCi=class{constructor(e,r){}async showTextDocument(e){return Ie.debug("[ACPWindowServiceClient] showTextDocument called (stub)",{path:e.path}),wl.TextEditorInfo.create({documentPath:e.path})}async showOpenDialogue(e){return Ie.debug("[ACPWindowServiceClient] showOpenDialogue called (stub)"),wl.SelectedResources.create({paths:[]})}async showMessage(e){return Ie.debug("[ACPWindowServiceClient] showMessage called (stub)",{message:e.message,type:e.type}),wl.SelectedResponse.create({})}async showInputBox(e){return Ie.debug("[ACPWindowServiceClient] showInputBox called (stub)"),wl.ShowInputBoxResponse.create({response:""})}async showSaveDialog(e){return Ie.debug("[ACPWindowServiceClient] showSaveDialog called (stub)"),wl.ShowSaveDialogResponse.create({selectedPath:""})}async openFile(e){return Ie.debug("[ACPWindowServiceClient] openFile called (stub)",{filePath:e.filePath}),wl.OpenFileResponse.create({})}async openSettings(e){return Ie.debug("[ACPWindowServiceClient] openSettings called (stub)"),wl.OpenSettingsResponse.create({})}async getOpenTabs(e){return Ie.debug("[ACPWindowServiceClient] getOpenTabs called (stub)"),wl.GetOpenTabsResponse.create({paths:[]})}async getVisibleTabs(e){return Ie.debug("[ACPWindowServiceClient] getVisibleTabs called (stub)"),wl.GetVisibleTabsResponse.create({paths:[]})}async getActiveEditor(e){return Ie.debug("[ACPWindowServiceClient] getActiveEditor called (stub)"),wl.GetActiveEditorResponse.create({})}},GCi=class{_clientCapabilities;cwdResolver;constructor(e,r,n){this._clientCapabilities=e,this.cwdResolver=n}getCwd(){return this.cwdResolver()??process.cwd()}async getWorkspacePaths(e){let r=this.getCwd();return Ie.debug("[ACPWorkspaceServiceClient] getWorkspacePaths called",{cwd:r}),wl.GetWorkspacePathsResponse.create({paths:[r]})}async saveOpenDocumentIfDirty(e){return Ie.debug("[ACPWorkspaceServiceClient] saveOpenDocumentIfDirty called (stub)"),wl.SaveOpenDocumentIfDirtyResponse.create({})}async getDiagnostics(e){return Ie.debug("[ACPWorkspaceServiceClient] getDiagnostics called (stub)"),wl.GetDiagnosticsResponse.create({fileDiagnostics:[]})}async openProblemsPanel(e){return Ie.debug("[ACPWorkspaceServiceClient] openProblemsPanel called (stub)"),wl.OpenProblemsPanelResponse.create({})}async openInFileExplorerPanel(e){return Ie.debug("[ACPWorkspaceServiceClient] openInFileExplorerPanel called (stub)",{path:e.path}),wl.OpenInFileExplorerPanelResponse.create({})}async openClineSidebarPanel(e){return Ie.debug("[ACPWorkspaceServiceClient] openClineSidebarPanel called (stub)"),wl.OpenClineSidebarPanelResponse.create({})}async openTerminalPanel(e){return Ie.debug("[ACPWorkspaceServiceClient] openTerminalPanel called (stub)"),wl.OpenTerminalResponse.create({})}async executeCommandInTerminal(e){return Ie.debug("[ACPWorkspaceServiceClient] executeCommandInTerminal called (stub)",{command:e.command,hasTerminalCapability:this._clientCapabilities?.terminal}),wl.ExecuteCommandInTerminalResponse.create({})}async openFolder(e){return Ie.debug("[ACPWorkspaceServiceClient] openFolder called (stub)",{path:e.path}),wl.OpenFolderResponse.create({success:!0})}},MTr=class{workspaceClient;envClient;windowClient;diffClient;constructor(e,r,n,o){this.workspaceClient=new GCi(e,r,n),this.envClient=new QCi(e,r,o),this.windowClient=new qCi(e,r),this.diffClient=new UCi}};p1t();jt();import{EventEmitter as KcA}from"events";var HCi=class extends KcA{isHot=!1;waitForShellIntegration=!1;_unretrievedOutput="";_continued=!1;_completed=!1;_hotTimeout=null;_exitWaitTimeout=null;manager;terminalId;pollInterval=null;constructor(e,r){super(),this.manager=e,this.terminalId=r}continue(){this._continued=!0,this.cleanup(),this.emit("continue")}getUnretrievedOutput(){let e=this._unretrievedOutput;return this._unretrievedOutput="",e}async terminate(){this.cleanup(),await this.manager.kill(this.terminalId)}cleanup(){this.stopPolling(),this._hotTimeout&&(clearTimeout(this._hotTimeout),this._hotTimeout=null),this._exitWaitTimeout&&(clearTimeout(this._exitWaitTimeout),this._exitWaitTimeout=null)}stopPolling(){this.pollInterval&&(clearInterval(this.pollInterval),this.pollInterval=null)}run(e){let r="";this.pollInterval=setInterval(async()=>{if(this._continued||this._completed){this.stopPolling();return}try{let n=await this.manager.getOutput(this.terminalId);if(!n.success){this.stopPolling(),this.emit("error",new Error(n.error||"Failed to get output"));return}if(n.output.length>r.length){let o=n.output.slice(r.length);this._unretrievedOutput+=o,r=n.output,this.setHot();let s=o.split(`
7190
+ </environment_details>`}}});import Bfc from"fs/promises";import*as LIe from"path";var jOe,dBn=ee(()=>{"use strict";mH();kSe();epi();_$u();S$u();x$u();DWn();_gi();Gu();BT();NYe();GYe();mE();Sa();y3();V3();$Oe();MYe();zOe();rO();vq();ro();xa();Op();jt();zSr();NDn();ec();iIe();bu();kYe();rBe();Ch();Rfc();yYt();XRn();Jat();IBn();vBn();GOe();jOe=class{constructor(e){this.context=e;AU.reset(),gU.getInstance(),this.stateManager=Fa.get(),Fa.get().registerCallbacks({onPersistenceError:async({error:r})=>{Ie.error("[Controller] Storage persistence failed (will retry):",r)},onSyncExternalChange:async()=>{await this.postStateToWebview()}}),this.authService=rp.getInstance(this),this.ocaAuthService=_7.initialize(this),this.accountService=aLe.getInstance(),e6.initialize(this),this.authService.restoreRefreshTokenAndRetrieveAuthInfo().then(()=>{this.startRemoteConfigTimer()}),this.mcpHub=new OQe(()=>_Wn(),()=>glt(),vg.version,pr),I$u().catch(r=>{Ie.error("Failed to cleanup legacy checkpoints:",r)}),SBn(this),Ie.log("[Controller] ClineProvider instantiated")}task;mcpHub;accountService;authService;ocaAuthService;stateManager;workspaceManager;backgroundCommandRunning=!1;backgroundCommandTaskId;cancelInProgress=!1;remoteConfigTimer;async ensureWorkspaceManager(){if(!this.workspaceManager)try{this.workspaceManager=await npi({stateManager:this.stateManager,detectRoots:rpi})}catch(e){Ie.error("[Controller] Failed to initialize workspace manager:",e)}return this.workspaceManager}getWorkspaceManager(){return this.workspaceManager}startRemoteConfigTimer(){dne(this),this.remoteConfigTimer=setInterval(()=>dne(this),36e5)}async dispose(){this.remoteConfigTimer&&(clearInterval(this.remoteConfigTimer),this.remoteConfigTimer=void 0),await this.clearTask(),this.mcpHub.dispose(),Ie.error("Controller disposed")}async handleSignOut(){try{this.stateManager.setGlobalState("userInfo",void 0),GAe();let r={...this.stateManager.getApiConfiguration(),planModeApiProvider:"openrouter",actModeApiProvider:"openrouter"};this.stateManager.setApiConfiguration(r),await this.postStateToWebview(),Pr.window.showMessage({type:1,message:"Successfully logged out of Cline"})}catch{Pr.window.showMessage({type:1,message:"Logout failed"})}}async handleOcaSignOut(){try{await this.ocaAuthService.handleDeauth("user_initiated"),await this.postStateToWebview(),Pr.window.showMessage({type:1,message:"Successfully logged out of OCA"})}catch{Pr.window.showMessage({type:1,message:"OCA Logout failed"})}}async setUserInfo(e){this.stateManager.setGlobalState("userInfo",e)}async initTask(e,r,n,o,s){dne(this),await this.clearTask();let a=this.stateManager.getGlobalSettingsKey("autoApprovalSettings"),u=this.stateManager.getGlobalSettingsKey("shellIntegrationTimeout"),c=this.stateManager.getGlobalStateKey("terminalReuseEnabled"),f=this.stateManager.getGlobalStateKey("vscodeTerminalExecutionMode"),h=this.stateManager.getGlobalSettingsKey("terminalOutputLineLimit"),p=this.stateManager.getGlobalSettingsKey("defaultTerminalProfile"),d=this.stateManager.getGlobalStateKey("isNewUser"),A=this.stateManager.getGlobalStateKey("taskHistory");if(d&&!o&&A&&A.length>=10&&(this.stateManager.setGlobalState("isNewUser",!1),await this.postStateToWebview()),a){let B={...a,version:(a.version??1)+1};this.stateManager.setGlobalState("autoApprovalSettings",B)}this.workspaceManager=await npi({stateManager:this.stateManager,detectRoots:rpi});let E=this.workspaceManager?.getPrimaryRoot()?.path||await tp($v()),x=o?.id||Date.now().toString(),R=!1,D=await C$u(x);if(!D.acquired&&!D.skipped){let B=D.conflictingLock?`Task locked by instance (${D.conflictingLock.held_by})`:"Failed to acquire task lock";throw new Error(B)}return R=D.acquired,D.acquired?Ie.debug(`[Task ${x}] Task lock acquired`):Ie.debug(`[Task ${x}] Task lock skipped (VS Code)`),await this.stateManager.loadTaskSettings(x),s&&this.stateManager.setTaskSettingsBatch(x,s),this.task=new wTr({controller:this,mcpHub:this.mcpHub,updateTaskHistory:B=>this.updateTaskHistory(B),postStateToWebview:()=>this.postStateToWebview(),reinitExistingTaskFromId:B=>this.reinitExistingTaskFromId(B),cancelTask:()=>this.cancelTask(),shellIntegrationTimeout:u,terminalReuseEnabled:c??!0,terminalOutputLineLimit:h??500,defaultTerminalProfile:p??"default",vscodeTerminalExecutionMode:f,cwd:E,stateManager:this.stateManager,workspaceManager:this.workspaceManager,task:e,images:r,files:n,historyItem:o,taskId:x,taskLockAcquired:R}),o?this.task.resumeTaskFromHistory():(e||r||n)&&this.task.startTask(e,r,n),this.task.taskId}async reinitExistingTaskFromId(e){let r=await this.getTaskWithId(e);r&&await this.initTask(void 0,void 0,void 0,r.historyItem)}async updateTelemetrySetting(e){let n=this.stateManager.getGlobalSettingsKey("telemetrySetting")!=="disabled",o=e!=="disabled";n&&!o&&pr.captureUserOptOut(),this.stateManager.setGlobalState("telemetrySetting",e),pr.updateTelemetryState(o),!n&&o&&pr.captureUserOptIn(),await this.postStateToWebview()}async toggleActModeForYoloMode(){if(this.stateManager.setGlobalState("mode","act"),this.task){let r=this.stateManager.getApiConfiguration();this.task.api=Xy({...r,ulid:this.task.ulid},"act")}return await this.postStateToWebview(),!!this.task}async togglePlanActMode(e,r){let n=e==="act";if(this.stateManager.setGlobalState("mode",e),pr.captureModeSwitch(this.task?.ulid??"0",e),this.task){let o=this.stateManager.getApiConfiguration();this.task.api=Xy({...o,ulid:this.task.ulid},e)}return await this.postStateToWebview(),this.task?this.task.taskState.isAwaitingPlanResponse&&n?(this.task.taskState.didRespondToPlanAskBySwitchingMode=!0,await this.task.handleWebviewAskResponse("messageResponse",r?.message||"PLAN_MODE_TOGGLE_RESPONSE",r?.images||[],r?.files||[]),!0):(this.cancelTask(),!1):!1}async cancelTask(){if(this.cancelInProgress){Ie.log("[Controller.cancelTask] Cancellation already in progress, ignoring duplicate request");return}if(this.task){this.cancelInProgress=!0;try{this.updateBackgroundCommandState(!1);try{await this.task.abortTask()}catch(r){Ie.error("Failed to abort task",r)}await DM(()=>this.task===void 0||this.task.taskState.isStreaming===!1||this.task.taskState.didFinishAbortingStream||this.task.taskState.isWaitingForFirstChunk,{timeout:3e3}).catch(()=>{Ie.error("Failed to abort task")}),this.task&&(this.task.taskState.abandoned=!0);let e;try{e=(await this.getTaskWithId(this.task.taskId)).historyItem}catch(r){Ie.log(`[Controller.cancelTask] Task not found in history: ${r}`)}e?await this.initTask(void 0,void 0,void 0,e,void 0):await this.clearTask(),await this.postStateToWebview()}finally{this.cancelInProgress=!1}}}updateBackgroundCommandState(e,r){let n=e?r:void 0;this.backgroundCommandRunning===e&&this.backgroundCommandTaskId===n||(this.backgroundCommandRunning=e,this.backgroundCommandTaskId=n,this.postStateToWebview())}async cancelBackgroundCommand(){await this.task?.cancelBackgroundCommand()||this.updateBackgroundCommandState(!1)}async handleAuthCallback(e,r=null){try{await this.authService.handleAuthCallback(e,r||"google");let n="cline",o=this.stateManager.getGlobalSettingsKey("planActSeparateModelsSetting"),s=this.stateManager.getGlobalSettingsKey("mode"),u={...this.stateManager.getApiConfiguration()};o?s==="plan"?u.planModeApiProvider=n:u.actModeApiProvider=n:(u.planModeApiProvider=n,u.actModeApiProvider=n),this.stateManager.setApiConfiguration(u),this.stateManager.setGlobalState("welcomeViewCompleted",!0),await dne(this),this.task&&(this.task.api=Xy({...u,ulid:this.task.ulid},s)),await this.postStateToWebview()}catch(n){Ie.error("Failed to handle auth callback:",n),Pr.window.showMessage({type:0,message:"Failed to log in to Cline"})}}async handleOcaAuthCallback(e,r){try{await this.ocaAuthService.handleAuthCallback(e,r);let n="oca",o=this.stateManager.getGlobalSettingsKey("planActSeparateModelsSetting"),s=this.stateManager.getGlobalSettingsKey("mode"),u={...this.stateManager.getApiConfiguration()};o?s==="plan"?u.planModeApiProvider=n:u.actModeApiProvider=n:(u.planModeApiProvider=n,u.actModeApiProvider=n),this.stateManager.setApiConfiguration(u),this.stateManager.setGlobalState("welcomeViewCompleted",!0),this.task&&(this.task.api=Xy({...u,ulid:this.task.ulid},s)),await this.postStateToWebview()}catch(n){Ie.error("Failed to handle auth callback:",n),Pr.window.showMessage({type:0,message:"Failed to log in to OCA"})}}async handleMcpOAuthCallback(e,r,n){try{await this.mcpHub.completeOAuth(e,r,n),await this.postStateToWebview(),Pr.window.showMessage({type:1,message:"Successfully authenticated MCP server"})}catch(o){Ie.error("Failed to complete MCP OAuth:",o),Pr.window.showMessage({type:0,message:"Failed to authenticate MCP server"})}}async handleTaskCreation(e){await zat(),await this.initTask(e)}async fetchMcpMarketplaceFromApi(){let e=await Ec.get(`${Xd.config().mcpBaseUrl}/marketplace`,{headers:{"Content-Type":"application/json","User-Agent":"cline-vscode-extension"},...fu()});if(!e.data)throw new Error("Invalid response from MCP marketplace API");let r=this.stateManager.getRemoteConfigSettings().allowedMCPServers,n=(e.data||[]).map(s=>({...s,githubStars:s.githubStars??0,downloadCount:s.downloadCount??0,tags:s.tags??[]}));if(r){let s=new Set(r.map(a=>a.id));n=n.filter(a=>s.has(a.mcpId))}let o={items:n};return await xWn(o),o}async refreshMcpMarketplace(e){try{let r=await this.fetchMcpMarketplaceFromApi();return r&&e&&await GRn(r),r}catch(r){Ie.error("Failed to refresh MCP marketplace:",r);return}}async handleOpenRouterCallback(e){let r;try{let u=await Ec.post("https://openrouter.ai/api/v1/auth/keys",{code:e},fu());if(u.data&&u.data.key)r=u.data.key;else throw new Error("Invalid response from OpenRouter API")}catch(u){throw Ie.error("Error exchanging code for API key:",u),u}let n="openrouter",o=this.stateManager.getGlobalSettingsKey("mode"),a={...this.stateManager.getApiConfiguration(),planModeApiProvider:n,actModeApiProvider:n,openRouterApiKey:r};this.stateManager.setApiConfiguration(a),await this.postStateToWebview(),this.task&&(this.task.api=Xy({...a,ulid:this.task.ulid},o))}async handleRequestyCallback(e){let r="requesty",n=this.stateManager.getGlobalSettingsKey("mode"),s={...this.stateManager.getApiConfiguration(),planModeApiProvider:r,actModeApiProvider:r,requestyApiKey:e};this.stateManager.setApiConfiguration(s),await this.postStateToWebview(),this.task&&(this.task.api=Xy({...s,ulid:this.task.ulid},n))}async readOpenRouterModels(){let e=LIe.join(await jI(),oo.openRouterModels);try{if(await ma(e)){let r=await Bfc.readFile(e,"utf8"),n=JSON.parse(r);return hDo(n)}}catch(r){Ie.error("Error reading cached OpenRouter models:",r)}}async handleHicapCallback(e){let r=e,n="hicap",o=this.stateManager.getGlobalSettingsKey("mode"),a={...this.stateManager.getApiConfiguration(),planModeApiProvider:n,actModeApiProvider:n,hicapApiKey:r};this.stateManager.setApiConfiguration(a),await this.postStateToWebview(),this.accountService,this.task&&(this.task.api=Xy({...a,ulid:this.task.ulid},o))}async getTaskWithId(e){let n=this.stateManager.getGlobalStateKey("taskHistory").find(o=>o.id===e);if(n){let o=LIe.join(Pr.get().globalStorageFsPath,"tasks",e),s=LIe.join(o,oo.apiConversationHistory),a=LIe.join(o,oo.uiMessages),u=LIe.join(o,oo.contextHistory),c=LIe.join(o,oo.taskMetadata);if(await ma(s)){let h=JSON.parse(await Bfc.readFile(s,"utf8"));return{historyItem:n,taskDirPath:o,apiConversationHistoryFilePath:s,uiMessagesFilePath:a,contextHistoryFilePath:u,taskMetadataFilePath:c,apiConversationHistory:h}}}throw await this.deleteTaskFromState(e),new Error("Task not found")}async exportTaskWithId(e){let{taskDirPath:r}=await this.getTaskWithId(e);Ie.log(`[EXPORT] Opening task directory: ${r}`),await iJr(r)}async deleteTaskFromState(e){let n=this.stateManager.getGlobalStateKey("taskHistory").filter(o=>o.id!==e);return this.stateManager.setGlobalState("taskHistory",n),await this.postStateToWebview(),n}async postStateToWebview(){let e=await this.getStateToPostToWebview();await d4o(e)}async getStateToPostToWebview(){let e=bYt(),r=this.stateManager.getApiConfiguration(),n=this.stateManager.getGlobalStateKey("lastShownAnnouncementId"),o=this.stateManager.getGlobalStateKey("taskHistory"),s=this.stateManager.getGlobalSettingsKey("autoApprovalSettings"),a=this.stateManager.getGlobalSettingsKey("browserSettings"),u=this.stateManager.getGlobalSettingsKey("focusChainSettings"),c=this.stateManager.getGlobalSettingsKey("preferredLanguage"),f=this.stateManager.getGlobalSettingsKey("mode"),h=this.stateManager.getGlobalSettingsKey("strictPlanModeEnabled"),p=this.stateManager.getGlobalSettingsKey("yoloModeToggled"),d=this.stateManager.getGlobalSettingsKey("useAutoCondense"),A=this.stateManager.getGlobalSettingsKey("subagentsEnabled"),g=this.stateManager.getGlobalStateKey("userInfo"),E=this.stateManager.getGlobalStateKey("mcpMarketplaceEnabled"),x=this.stateManager.getGlobalStateKey("mcpDisplayMode"),R=this.stateManager.getGlobalSettingsKey("telemetrySetting"),D=this.stateManager.getGlobalSettingsKey("planActSeparateModelsSetting"),B=this.stateManager.getGlobalSettingsKey("enableCheckpointsSetting"),P=this.stateManager.getGlobalSettingsKey("globalClineRulesToggles"),b=this.stateManager.getGlobalSettingsKey("globalWorkflowToggles"),T=this.stateManager.getGlobalSettingsKey("globalSkillsToggles"),S=this.stateManager.getWorkspaceStateKey("localSkillsToggles"),w=this.stateManager.getGlobalStateKey("remoteRulesToggles"),m=this.stateManager.getGlobalStateKey("remoteWorkflowToggles"),y=this.stateManager.getGlobalSettingsKey("shellIntegrationTimeout"),v=this.stateManager.getGlobalStateKey("terminalReuseEnabled"),I=this.stateManager.getGlobalStateKey("vscodeTerminalExecutionMode"),k=this.stateManager.getGlobalSettingsKey("defaultTerminalProfile"),U=this.stateManager.getGlobalStateKey("isNewUser"),Q=!!this.stateManager.getGlobalStateKey("welcomeViewCompleted"),q=this.stateManager.getGlobalSettingsKey("customPrompt"),G=this.stateManager.getGlobalStateKey("mcpResponsesCollapsed"),H=this.stateManager.getGlobalSettingsKey("terminalOutputLineLimit"),L=this.stateManager.getGlobalSettingsKey("maxConsecutiveMistakes"),O=this.stateManager.getGlobalStateKey("favoritedModelIds"),N=this.stateManager.getGlobalStateKey("lastDismissedInfoBannerVersion")||0,M=this.stateManager.getGlobalStateKey("lastDismissedModelBannerVersion")||0,F=this.stateManager.getGlobalStateKey("lastDismissedCliBannerVersion")||0,V=this.stateManager.getGlobalStateKey("dismissedBanners"),j=this.stateManager.getGlobalSettingsKey("doubleCheckCompletionEnabled"),$=this.stateManager.getWorkspaceStateKey("localClineRulesToggles"),W=this.stateManager.getWorkspaceStateKey("localWindsurfRulesToggles"),K=this.stateManager.getWorkspaceStateKey("localCursorRulesToggles"),z=this.stateManager.getWorkspaceStateKey("localAgentsRulesToggles"),Y=this.stateManager.getWorkspaceStateKey("workflowToggles"),X=this.task?.taskId?(o||[]).find(Te=>Te.id===this.task?.taskId):void 0,Z=[...this.task?.messageStateHandler.getClineMessages()||[]],re=this.task?.taskState.checkpointManagerErrorMessage,te=(o||[]).filter(Te=>Te.ts&&Te.task).sort((Te,Me)=>Me.ts-Te.ts).slice(0,100),ie=ODn(),oe=n!==ie,ce=process.platform,ue=Yv(),le=vg.version,Ae=Xd.config().environment,ye=e6.get().getActiveBanners()??[],Ee=e6.get().getWelcomeBanners()??[],{openAiCodexOAuthManager:Ce}=await Promise.resolve().then(()=>(oBe(),ATa)),be=await Ce.isAuthenticated();return{version:le,apiConfiguration:r,currentTaskItem:X,clineMessages:Z,currentFocusChainChecklist:this.task?.taskState.currentFocusChainChecklist||null,checkpointManagerErrorMessage:re,autoApprovalSettings:s,browserSettings:a,focusChainSettings:u,preferredLanguage:c,mode:f,strictPlanModeEnabled:h,yoloModeToggled:p,useAutoCondense:d,subagentsEnabled:A,userInfo:g,mcpMarketplaceEnabled:E,mcpDisplayMode:x,telemetrySetting:R,planActSeparateModelsSetting:D,enableCheckpointsSetting:B??!0,platform:ce,environment:Ae,distinctId:ue,globalClineRulesToggles:P||{},localClineRulesToggles:$||{},localWindsurfRulesToggles:W||{},localCursorRulesToggles:K||{},localAgentsRulesToggles:z||{},localWorkflowToggles:Y||{},globalWorkflowToggles:b||{},globalSkillsToggles:T||{},localSkillsToggles:S||{},remoteRulesToggles:w,remoteWorkflowToggles:m,shellIntegrationTimeout:y,terminalReuseEnabled:v,vscodeTerminalExecutionMode:I,defaultTerminalProfile:k,isNewUser:U,welcomeViewCompleted:Q,onboardingModels:e,mcpResponsesCollapsed:G,terminalOutputLineLimit:H,maxConsecutiveMistakes:L,customPrompt:q,taskHistory:te,shouldShowAnnouncement:oe,favoritedModelIds:O,backgroundCommandRunning:this.backgroundCommandRunning,backgroundCommandTaskId:this.backgroundCommandTaskId,workspaceRoots:this.workspaceManager?.getRoots()??[],primaryRootIndex:this.workspaceManager?.getPrimaryIndex()??0,isMultiRootWorkspace:(this.workspaceManager?.getRoots().length??0)>1,multiRootSetting:{user:this.stateManager.getGlobalStateKey("multiRootEnabled"),featureFlag:!0},clineWebToolsEnabled:{user:this.stateManager.getGlobalSettingsKey("clineWebToolsEnabled"),featureFlag:fA.getWebtoolsEnabled()},worktreesEnabled:{user:this.stateManager.getGlobalSettingsKey("worktreesEnabled"),featureFlag:fA.getWorktreesEnabled()},hooksEnabled:qb(this.stateManager.getGlobalSettingsKey("hooksEnabled")),lastDismissedInfoBannerVersion:N,lastDismissedModelBannerVersion:M,remoteConfigSettings:this.stateManager.getRemoteConfigSettings(),lastDismissedCliBannerVersion:F,dismissedBanners:V,nativeToolCallSetting:this.stateManager.getGlobalStateKey("nativeToolCallEnabled"),enableParallelToolCalling:this.stateManager.getGlobalSettingsKey("enableParallelToolCalling"),backgroundEditEnabled:this.stateManager.getGlobalSettingsKey("backgroundEditEnabled"),optOutOfRemoteConfig:this.stateManager.getGlobalSettingsKey("optOutOfRemoteConfig"),doubleCheckCompletionEnabled:j,banners:ye,welcomeBanners:Ee,openAiCodexIsAuthenticated:be}}async clearTask(){this.task&&await this.stateManager.clearTaskSettings(),await this.task?.abortTask(),this.task=void 0}async updateTaskHistory(e){let r=this.stateManager.getGlobalStateKey("taskHistory"),n=r.findIndex(o=>o.id===e.id);return n!==-1?r[n]=e:r.push(e),this.stateManager.setGlobalState("taskHistory",r),r}}});var Pfc={};ci(Pfc,{openUrlInBrowser:()=>jcA});async function jcA(t){let{default:e}=await Promise.resolve().then(()=>(NYe(),mkt));await e(t)}var Mfc=ee(()=>{"use strict"});var A_i=1;Yvt();var jAc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),description:He.union([He.string(),He.null()]).optional(),id:He.string(),name:He.string()}),ZIi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),methodId:He.string()}),KAc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),$Ac=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),blob:He.string(),mimeType:He.union([He.string(),He.null()]).optional(),uri:He.string()}),zAc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),terminalId:He.string()}),YAc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),newText:He.string(),oldText:He.union([He.string(),He.null()]).optional(),path:He.string()}),exi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),name:He.string(),value:He.string()}),JAc=He.union([He.literal(-32700),He.literal(-32600),He.literal(-32601),He.literal(-32602),He.literal(-32603),He.literal(-32800),He.literal(-32e3),He.literal(-32002),He.number().int().min(-2147483648,{message:"Invalid value: Expected int32 to be >= -2147483648"}).max(2147483647,{message:"Invalid value: Expected int32 to be <= 2147483647"})]),txi=He.object({code:JAc,data:He.unknown().optional(),message:He.string()}),rxi=He.unknown(),nxi=He.unknown(),ixi=He.unknown(),XAc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),readTextFile:He.boolean().optional().default(!1),writeTextFile:He.boolean().optional().default(!1)}),ZAc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),fs:XAc.optional().default({readTextFile:!1,writeTextFile:!1}),terminal:He.boolean().optional().default(!1)}),axi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),name:He.string(),value:He.string()}),oxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),name:He.string(),title:He.union([He.string(),He.null()]).optional(),version:He.string()}),egc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),sxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),cursor:He.union([He.string(),He.null()]).optional(),cwd:He.union([He.string(),He.null()]).optional()}),tgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),http:He.boolean().optional().default(!1),sse:He.boolean().optional().default(!1)}),rgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),headers:He.array(axi),name:He.string(),url:He.string()}),ngc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),headers:He.array(axi),name:He.string(),url:He.string()}),igc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),args:He.array(He.string()),command:He.string(),env:He.array(exi),name:He.string()}),Jvt=He.union([rgc.and(He.object({type:He.literal("http")})),ngc.and(He.object({type:He.literal("sse")})),igc]),YBr=He.string(),agc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),description:He.union([He.string(),He.null()]).optional(),modelId:YBr,name:He.string()}),uxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),cwd:He.string(),mcpServers:He.array(Jvt)}),cxi=He.string(),ogc=He.union([He.literal("allow_once"),He.literal("allow_always"),He.literal("reject_once"),He.literal("reject_always")]),sgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),kind:ogc,name:He.string(),optionId:cxi}),ugc=He.union([He.literal("high"),He.literal("medium"),He.literal("low")]),cgc=He.union([He.literal("pending"),He.literal("in_progress"),He.literal("completed")]),lgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),content:He.string(),priority:ugc,status:cgc}),dgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),entries:He.array(lgc)}),fgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),audio:He.boolean().optional().default(!1),embeddedContext:He.boolean().optional().default(!1),image:He.boolean().optional().default(!1)}),lxi=He.number().int().gte(0).lte(65535),dxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),clientCapabilities:ZAc.optional().default({fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:He.union([oxi,He.null()]).optional(),protocolVersion:lxi}),hgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),content:He.string()}),pgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),Ahe=He.union([He.null(),He.coerce.bigint().min(BigInt("-9223372036854775808"),{message:"Invalid value: Expected int64 to be >= -9223372036854775808"}).max(BigInt("9223372036854775807"),{message:"Invalid value: Expected int64 to be <= 9223372036854775807"}),He.string()]),ihA=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),requestId:Ahe}),Agc=He.enum(["assistant","user"]),QGe=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),audience:He.union([He.array(Agc),He.null()]).optional(),lastModified:He.union([He.string(),He.null()]).optional(),priority:He.union([He.number(),He.null()]).optional()}),ggc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),annotations:He.union([QGe,He.null()]).optional(),data:He.string(),mimeType:He.string()}),mgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),annotations:He.union([QGe,He.null()]).optional(),data:He.string(),mimeType:He.string(),uri:He.union([He.string(),He.null()]).optional()}),Egc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),annotations:He.union([QGe,He.null()]).optional(),description:He.union([He.string(),He.null()]).optional(),mimeType:He.union([He.string(),He.null()]).optional(),name:He.string(),size:He.union([He.coerce.bigint().min(BigInt("-9223372036854775808"),{message:"Invalid value: Expected int64 to be >= -9223372036854775808"}).max(BigInt("9223372036854775807"),{message:"Invalid value: Expected int64 to be <= 9223372036854775807"}),He.null()]).optional(),title:He.union([He.string(),He.null()]).optional(),uri:He.string()}),ygc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),optionId:cxi}),vgc=He.union([He.object({outcome:He.literal("cancelled")}),ygc.and(He.object({outcome:He.literal("selected")}))]),Cgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),outcome:vgc}),bgc=He.string(),fxi=He.string(),_gc=He.union([He.literal("mode"),He.literal("model"),He.literal("thought_level"),He.string()]),JBr=He.string(),hxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),description:He.union([He.string(),He.null()]).optional(),name:He.string(),value:JBr}),Sgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),group:bgc,name:He.string(),options:He.array(hxi)}),Igc=He.union([He.array(hxi),He.array(Sgc)]),xgc=He.object({currentValue:JBr,options:Igc}),fxe=xgc.and(He.object({type:He.literal("select")})).and(He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),category:He.union([_gc,He.null()]).optional(),description:He.union([He.string(),He.null()]).optional(),id:fxi,name:He.string()})),Tgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),configOptions:He.array(fxe)}),wgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),by=He.string(),pxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),sessionId:by}),ahA=He.object({method:He.string(),params:He.union([He.union([pxi,rxi]),He.null()]).optional()}),Axi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),args:He.array(He.string()).optional(),command:He.string(),cwd:He.union([He.string(),He.null()]).optional(),env:He.array(exi).optional(),outputByteLimit:He.union([He.coerce.bigint().gte(BigInt(0)).max(BigInt("18446744073709551615"),{message:"Invalid value: Expected uint64 to be <= 18446744073709551615"}),He.null()]).optional(),sessionId:by}),gxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),cwd:He.string(),mcpServers:He.array(Jvt).optional(),sessionId:by}),mxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),sessionId:by,terminalId:He.string()}),Exi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),cwd:He.string(),mcpServers:He.array(Jvt),sessionId:by}),yxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),limit:He.union([He.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}),He.null()]).optional(),line:He.union([He.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}),He.null()]).optional(),path:He.string(),sessionId:by}),vxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),sessionId:by,terminalId:He.string()}),Cxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),cwd:He.string(),mcpServers:He.array(Jvt).optional(),sessionId:by}),Rgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),cwd:He.string(),sessionId:by,title:He.union([He.string(),He.null()]).optional(),updatedAt:He.union([He.string(),He.null()]).optional()}),Bgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),nextCursor:He.union([He.string(),He.null()]).optional(),sessions:He.array(Rgc)}),Dgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),title:He.union([He.string(),He.null()]).optional(),updatedAt:He.union([He.string(),He.null()]).optional()}),Pgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),Xvt=He.string(),Mgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),currentModeId:Xvt}),kgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),description:He.union([He.string(),He.null()]).optional(),id:Xvt,name:He.string()}),Zvt=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),availableModes:He.array(kgc),currentModeId:Xvt}),eCt=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),availableModels:He.array(agc),currentModelId:YBr}),Ogc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),configOptions:He.union([He.array(fxe),He.null()]).optional(),models:He.union([eCt,He.null()]).optional(),modes:He.union([Zvt,He.null()]).optional(),sessionId:by}),Ngc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),configOptions:He.union([He.array(fxe),He.null()]).optional(),models:He.union([eCt,He.null()]).optional(),modes:He.union([Zvt,He.null()]).optional()}),Fgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),configOptions:He.union([He.array(fxe),He.null()]).optional(),models:He.union([eCt,He.null()]).optional(),modes:He.union([Zvt,He.null()]).optional(),sessionId:by}),Lgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),configOptions:He.union([He.array(fxe),He.null()]).optional(),models:He.union([eCt,He.null()]).optional(),modes:He.union([Zvt,He.null()]).optional()}),Ugc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),Qgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),fork:He.union([wgc,He.null()]).optional(),list:He.union([Pgc,He.null()]).optional(),resume:He.union([Ugc,He.null()]).optional()}),qgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),loadSession:He.boolean().optional().default(!1),mcpCapabilities:tgc.optional().default({http:!1,sse:!1}),promptCapabilities:fgc.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:Qgc.optional().default({})}),Ggc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),agentCapabilities:qgc.optional().default({loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:He.union([oxi,He.null()]).optional(),authMethods:He.array(jAc).optional().default([]),protocolVersion:lxi}),bxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),configId:fxi,sessionId:by,value:JBr}),Hgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),configOptions:He.array(fxe)}),_xi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),modeId:Xvt,sessionId:by}),Vgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),Sxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),modelId:YBr,sessionId:by}),Wgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),jgc=He.union([He.literal("end_turn"),He.literal("max_tokens"),He.literal("max_turn_requests"),He.literal("refusal"),He.literal("cancelled")]),Kgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),stopReason:jgc}),ohA=He.union([He.object({id:Ahe,result:He.union([Ggc,KAc,Fgc,Ngc,Bgc,Ogc,Lgc,Vgc,Hgc,Kgc,Wgc,ixi])}),He.object({error:txi,id:Ahe})]),$gc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),terminalId:He.string()}),zgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),exitCode:He.union([He.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}),He.null()]).optional(),signal:He.union([He.string(),He.null()]).optional()}),Ixi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),sessionId:by,terminalId:He.string()}),Ygc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),exitStatus:He.union([zgc,He.null()]).optional(),output:He.string(),truncated:He.boolean()}),Jgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),annotations:He.union([QGe,He.null()]).optional(),text:He.string()}),Xgc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),mimeType:He.union([He.string(),He.null()]).optional(),text:He.string(),uri:He.string()}),Zgc=He.union([Xgc,$Ac]),emc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),annotations:He.union([QGe,He.null()]).optional(),resource:Zgc}),XBr=He.union([Jgc.and(He.object({type:He.literal("text")})),mgc.and(He.object({type:He.literal("image")})),ggc.and(He.object({type:He.literal("audio")})),Egc.and(He.object({type:He.literal("resource_link")})),emc.and(He.object({type:He.literal("resource")}))]),tmc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),content:XBr}),zBr=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),content:XBr}),xxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),prompt:He.array(XBr),sessionId:by}),shA=He.object({id:Ahe,method:He.string(),params:He.union([He.union([dxi,ZIi,uxi,Exi,sxi,gxi,Cxi,_xi,bxi,xxi,Sxi,nxi]),He.null()]).optional()}),Txi=He.union([tmc.and(He.object({type:He.literal("content")})),YAc.and(He.object({type:He.literal("diff")})),$gc.and(He.object({type:He.literal("terminal")}))]),wxi=He.string(),Rxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),line:He.union([He.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}),He.null()]).optional(),path:He.string()}),Bxi=He.union([He.literal("pending"),He.literal("in_progress"),He.literal("completed"),He.literal("failed")]),Dxi=He.union([He.literal("read"),He.literal("edit"),He.literal("delete"),He.literal("move"),He.literal("search"),He.literal("execute"),He.literal("think"),He.literal("fetch"),He.literal("switch_mode"),He.literal("other")]),rmc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),content:He.array(Txi).optional(),kind:Dxi.optional(),locations:He.array(Rxi).optional(),rawInput:He.unknown().optional(),rawOutput:He.unknown().optional(),status:Bxi.optional(),title:He.string(),toolCallId:wxi}),Pxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),content:He.union([He.array(Txi),He.null()]).optional(),kind:He.union([Dxi,He.null()]).optional(),locations:He.union([He.array(Rxi),He.null()]).optional(),rawInput:He.unknown().optional(),rawOutput:He.unknown().optional(),status:He.union([Bxi,He.null()]).optional(),title:He.union([He.string(),He.null()]).optional(),toolCallId:wxi}),Mxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),options:He.array(sgc),sessionId:by,toolCall:Pxi}),nmc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),hint:He.string()}),imc=nmc,amc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),description:He.string(),input:He.union([imc,He.null()]).optional(),name:He.string()}),omc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),availableCommands:He.array(amc)}),smc=He.union([zBr.and(He.object({sessionUpdate:He.literal("user_message_chunk")})),zBr.and(He.object({sessionUpdate:He.literal("agent_message_chunk")})),zBr.and(He.object({sessionUpdate:He.literal("agent_thought_chunk")})),rmc.and(He.object({sessionUpdate:He.literal("tool_call")})),Pxi.and(He.object({sessionUpdate:He.literal("tool_call_update")})),dgc.and(He.object({sessionUpdate:He.literal("plan")})),omc.and(He.object({sessionUpdate:He.literal("available_commands_update")})),Mgc.and(He.object({sessionUpdate:He.literal("current_mode_update")})),Tgc.and(He.object({sessionUpdate:He.literal("config_option_update")})),Dgc.and(He.object({sessionUpdate:He.literal("session_info_update")}))]),kxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),sessionId:by,update:smc}),uhA=He.object({method:He.string(),params:He.union([He.union([kxi,rxi]),He.null()]).optional()}),Oxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),sessionId:by,terminalId:He.string()}),umc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),exitCode:He.union([He.number().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}),He.null()]).optional(),signal:He.union([He.string(),He.null()]).optional()}),Nxi=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional(),content:He.string(),path:He.string(),sessionId:by}),chA=He.object({id:Ahe,method:He.string(),params:He.union([He.union([Nxi,yxi,Mxi,Axi,Ixi,vxi,Oxi,mxi,nxi]),He.null()]).optional()}),cmc=He.object({_meta:He.union([He.record(He.string(),He.unknown()),He.null()]).optional()}),lhA=He.union([He.object({id:Ahe,result:He.union([cmc,hgc,Cgc,zAc,Ygc,pgc,umc,egc,ixi])}),He.object({error:txi,id:Ahe})]);var tCt=class t extends Error{code;data;constructor(e,r,n){super(r),this.code=e,this.name="RequestError",this.data=n}static parseError(e,r){return new t(-32700,`Parse error${r?`: ${r}`:""}`,e)}static invalidRequest(e,r){return new t(-32600,`Invalid request${r?`: ${r}`:""}`,e)}static methodNotFound(e){return new t(-32601,`"Method not found": ${e}`,{method:e})}static invalidParams(e,r){return new t(-32602,`Invalid params${r?`: ${r}`:""}`,e)}static internalError(e,r){return new t(-32603,`Internal error${r?`: ${r}`:""}`,e)}static authRequired(e,r){return new t(-32e3,`Authentication required${r?`: ${r}`:""}`,e)}static resourceNotFound(e){return new t(-32002,`Resource not found${e?`: ${e}`:""}`,e&&{uri:e})}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}};Po();MDr();zGe();mE();dBn();mBn();bu();Ch();hBn();var RTr=class{};var BTr=class extends RTr{setOnReplyCallback(e){}async ensureCommentsViewDisabled(){}addReviewComment(e){}startStreamingComment(e,r,n,o,s,a){}appendToStreamingComment(e){}endStreamingComment(){}addReviewComments(e){}clearAllComments(){}clearCommentsForFile(e){}getThreadCount(){return 0}async closeDiffViews(){}dispose(){}};not();var DTr=class extends EH{RESOURCE_HOSTNAME="internal.resources";getWebviewUrl(e){let r=new URL(`https://${this.RESOURCE_HOSTNAME}/`);return r.pathname=e,r.toString()}getCspSource(){return`'self' https://${this.RESOURCE_HOSTNAME}`}isVisible(){return!0}};Sa();P2r();oBe();Vvi();V3();jt();W3();var LCi="2.9.0";q1();Gu();ec();var Dfc=yt(Pye(),1);Sa();P2r();V_();jt();import*as R1t from"fs/promises";var PTr=class extends jfe{connection;clientCapabilities;sessionIdResolver;constructor(e,r,n){super(),this.connection=e,this.clientCapabilities=r,this.sessionIdResolver=n}getSessionId(){let e=this.sessionIdResolver();if(!e)throw new Error("No active ACP session. Cannot perform file operation.");return e}canReadFile(){return this.clientCapabilities?.fs?.readTextFile===!0}canWriteFile(){return this.clientCapabilities?.fs?.writeTextFile===!0}async open(e,r){if(!this.canReadFile())return Ie.debug("[ACPDiffViewProvider] Client does not support fs.readTextFile, falling back to local fs"),super.open(e,r);this.isEditing=!0;let n=await tp(),o=Em.resolveWorkspacePath(n,e,"ACPDiffViewProvider.open.absolutePath");this.absolutePath=typeof o=="string"?o:o.absolutePath,this.relPath=r?.displayPath??e;let s=this.editType==="modify";if(s){try{await Pr.workspace.saveOpenDocumentIfDirty({filePath:this.absolutePath})}catch{}try{Ie.debug("[ACPDiffViewProvider] Reading file via ACP:",this.absolutePath);let c=await this.connection.readTextFile({sessionId:this.getSessionId(),path:this.absolutePath});this.originalContent=c.content,this.fileEncoding="utf8",Ie.debug("[ACPDiffViewProvider] Read file successfully, length:",c.content.length)}catch(c){Ie.debug("[ACPDiffViewProvider] ACP read failed, falling back to local fs:",c);let f=await R1t.readFile(this.absolutePath);this.fileEncoding=await n1e(f),this.originalContent=Dfc.decode(f,this.fileEncoding)}}else this.originalContent="",this.fileEncoding="utf8";let a=await uMt(this.absolutePath);if(this.createdDirs=a,!s)if(this.canWriteFile())try{await this.connection.writeTextFile({sessionId:this.getSessionId(),path:this.absolutePath,content:""})}catch{await R1t.writeFile(this.absolutePath,"")}else await R1t.writeFile(this.absolutePath,"");let u=[];try{u=(await Pr.workspace.getDiagnostics({})).fileDiagnostics}catch{u=[]}this.preDiagnostics=u,await this.openDiffEditor(),await this.scrollEditorToLine(0),this.streamedLines=[]}async scrollEditorToLine(e){}async openDiffEditor(){}async saveDocument(){if(!this.canWriteFile())return Ie.debug("[ACPDiffViewProvider] Client does not support fs.writeTextFile, falling back to local fs"),super.saveDocument();let e=await this.getContent();if(!this.absolutePath||e===void 0)return!1;try{return Ie.debug("[ACPDiffViewProvider] Writing file via ACP:",{path:this.absolutePath,contentLength:e.length}),await this.connection.writeTextFile({sessionId:this.getSessionId(),path:this.absolutePath,content:e}),Ie.debug("[ACPDiffViewProvider] Write file successfully"),!0}catch(r){return Ie.debug("[ACPDiffViewProvider] ACP write failed, falling back to local fs:",r),super.saveDocument()}}};PYt();Wvi();jt();var UCi=class{async openDiff(e){return Ie.debug("[ACPDiffServiceClient] openDiff called (stub)"),wl.OpenDiffResponse.create({})}async getDocumentText(e){return Ie.debug("[ACPDiffServiceClient] getDocumentText called (stub)",{diffId:e.diffId}),wl.GetDocumentTextResponse.create({content:""})}async replaceText(e){return Ie.debug("[ACPDiffServiceClient] replaceText called (stub)"),wl.ReplaceTextResponse.create({})}async scrollDiff(e){return Ie.debug("[ACPDiffServiceClient] scrollDiff called (stub)"),wl.ScrollDiffResponse.create({})}async truncateDocument(e){return Ie.debug("[ACPDiffServiceClient] truncateDocument called (stub)"),wl.TruncateDocumentResponse.create({})}async saveDocument(e){return Ie.debug("[ACPDiffServiceClient] saveDocument called (stub)"),wl.SaveDocumentResponse.create({})}async closeAllDiffs(e){return Ie.debug("[ACPDiffServiceClient] closeAllDiffs called (stub)"),wl.CloseAllDiffsResponse.create({})}async openMultiFileDiff(e){return Ie.debug("[ACPDiffServiceClient] openMultiFileDiff called (stub)"),wl.OpenMultiFileDiffResponse.create({})}},QCi=class{version;constructor(e,r,n){this.version=n}async debugLog(e){return Ie.debug(e.value),JL.Empty.create()}async clipboardWriteText(e){return Ie.debug("[ACPEnvServiceClient] clipboardWriteText called (stub)"),JL.Empty.create()}async clipboardReadText(e){return Ie.debug("[ACPEnvServiceClient] clipboardReadText called (stub)"),JL.String.create({value:""})}async getHostVersion(e){return wl.GetHostVersionResponse.create({version:this.version,platform:"Cline ACP Agent",clineType:"CLI"})}async getIdeRedirectUri(e){return Ie.debug("[ACPEnvServiceClient] getIdeRedirectUri called (stub)"),JL.String.create({value:""})}async getTelemetrySettings(e){return wl.GetTelemetrySettingsResponse.create({isEnabled:wl.Setting.DISABLED})}subscribeToTelemetrySettings(e,r){return r.onResponse(wl.TelemetrySettingsEvent.create({isEnabled:wl.Setting.DISABLED})),()=>{}}async shutdown(e){return Ie.debug("[ACPEnvServiceClient] shutdown called (stub)"),JL.Empty.create()}async openExternal(e){let r=e.value||"";if(r){Ie.debug(`[ACPEnvServiceClient] openExternal: ${r}`);let{openUrlInBrowser:n}=await Promise.resolve().then(()=>(Mfc(),Pfc));await n(r)}return JL.Empty.create()}},qCi=class{constructor(e,r){}async showTextDocument(e){return Ie.debug("[ACPWindowServiceClient] showTextDocument called (stub)",{path:e.path}),wl.TextEditorInfo.create({documentPath:e.path})}async showOpenDialogue(e){return Ie.debug("[ACPWindowServiceClient] showOpenDialogue called (stub)"),wl.SelectedResources.create({paths:[]})}async showMessage(e){return Ie.debug("[ACPWindowServiceClient] showMessage called (stub)",{message:e.message,type:e.type}),wl.SelectedResponse.create({})}async showInputBox(e){return Ie.debug("[ACPWindowServiceClient] showInputBox called (stub)"),wl.ShowInputBoxResponse.create({response:""})}async showSaveDialog(e){return Ie.debug("[ACPWindowServiceClient] showSaveDialog called (stub)"),wl.ShowSaveDialogResponse.create({selectedPath:""})}async openFile(e){return Ie.debug("[ACPWindowServiceClient] openFile called (stub)",{filePath:e.filePath}),wl.OpenFileResponse.create({})}async openSettings(e){return Ie.debug("[ACPWindowServiceClient] openSettings called (stub)"),wl.OpenSettingsResponse.create({})}async getOpenTabs(e){return Ie.debug("[ACPWindowServiceClient] getOpenTabs called (stub)"),wl.GetOpenTabsResponse.create({paths:[]})}async getVisibleTabs(e){return Ie.debug("[ACPWindowServiceClient] getVisibleTabs called (stub)"),wl.GetVisibleTabsResponse.create({paths:[]})}async getActiveEditor(e){return Ie.debug("[ACPWindowServiceClient] getActiveEditor called (stub)"),wl.GetActiveEditorResponse.create({})}},GCi=class{_clientCapabilities;cwdResolver;constructor(e,r,n){this._clientCapabilities=e,this.cwdResolver=n}getCwd(){return this.cwdResolver()??process.cwd()}async getWorkspacePaths(e){let r=this.getCwd();return Ie.debug("[ACPWorkspaceServiceClient] getWorkspacePaths called",{cwd:r}),wl.GetWorkspacePathsResponse.create({paths:[r]})}async saveOpenDocumentIfDirty(e){return Ie.debug("[ACPWorkspaceServiceClient] saveOpenDocumentIfDirty called (stub)"),wl.SaveOpenDocumentIfDirtyResponse.create({})}async getDiagnostics(e){return Ie.debug("[ACPWorkspaceServiceClient] getDiagnostics called (stub)"),wl.GetDiagnosticsResponse.create({fileDiagnostics:[]})}async openProblemsPanel(e){return Ie.debug("[ACPWorkspaceServiceClient] openProblemsPanel called (stub)"),wl.OpenProblemsPanelResponse.create({})}async openInFileExplorerPanel(e){return Ie.debug("[ACPWorkspaceServiceClient] openInFileExplorerPanel called (stub)",{path:e.path}),wl.OpenInFileExplorerPanelResponse.create({})}async openClineSidebarPanel(e){return Ie.debug("[ACPWorkspaceServiceClient] openClineSidebarPanel called (stub)"),wl.OpenClineSidebarPanelResponse.create({})}async openTerminalPanel(e){return Ie.debug("[ACPWorkspaceServiceClient] openTerminalPanel called (stub)"),wl.OpenTerminalResponse.create({})}async executeCommandInTerminal(e){return Ie.debug("[ACPWorkspaceServiceClient] executeCommandInTerminal called (stub)",{command:e.command,hasTerminalCapability:this._clientCapabilities?.terminal}),wl.ExecuteCommandInTerminalResponse.create({})}async openFolder(e){return Ie.debug("[ACPWorkspaceServiceClient] openFolder called (stub)",{path:e.path}),wl.OpenFolderResponse.create({success:!0})}},MTr=class{workspaceClient;envClient;windowClient;diffClient;constructor(e,r,n,o){this.workspaceClient=new GCi(e,r,n),this.envClient=new QCi(e,r,o),this.windowClient=new qCi(e,r),this.diffClient=new UCi}};p1t();jt();import{EventEmitter as KcA}from"events";var HCi=class extends KcA{isHot=!1;waitForShellIntegration=!1;_unretrievedOutput="";_continued=!1;_completed=!1;_hotTimeout=null;_exitWaitTimeout=null;manager;terminalId;pollInterval=null;constructor(e,r){super(),this.manager=e,this.terminalId=r}continue(){this._continued=!0,this.cleanup(),this.emit("continue")}getUnretrievedOutput(){let e=this._unretrievedOutput;return this._unretrievedOutput="",e}async terminate(){this.cleanup(),await this.manager.kill(this.terminalId)}cleanup(){this.stopPolling(),this._hotTimeout&&(clearTimeout(this._hotTimeout),this._hotTimeout=null),this._exitWaitTimeout&&(clearTimeout(this._exitWaitTimeout),this._exitWaitTimeout=null)}stopPolling(){this.pollInterval&&(clearInterval(this.pollInterval),this.pollInterval=null)}run(e){let r="";this.pollInterval=setInterval(async()=>{if(this._continued||this._completed){this.stopPolling();return}try{let n=await this.manager.getOutput(this.terminalId);if(!n.success){this.stopPolling(),this.emit("error",new Error(n.error||"Failed to get output"));return}if(n.output.length>r.length){let o=n.output.slice(r.length);this._unretrievedOutput+=o,r=n.output,this.setHot();let s=o.split(`
7191
7191
  `);for(let a of s)a&&this.emit("line",a)}n.exitStatus&&(this._completed=!0,this.stopPolling(),this.emit("completed"))}catch(n){this.stopPolling(),this.emit("error",n instanceof Error?n:new Error(String(n)))}},100),this.manager.waitForExit(this.terminalId).then(n=>{n.success&&!this._continued&&!this._completed&&(this._exitWaitTimeout=setTimeout(()=>{!this._continued&&!this._completed&&(this._completed=!0,this.cleanup(),this.emit("completed"))},200))})}setHot(){this.isHot=!0,this._hotTimeout&&clearTimeout(this._hotTimeout),this._hotTimeout=setTimeout(()=>{this.isHot=!1},2e3)}},VCi=class{name;processId;shellIntegration;_managedTerminal;_manager;_cwd;constructor(e,r){this._managedTerminal=e,this._manager=r,this._cwd=e.cwd||"",this.name=`ACP Terminal ${e.numericId}`,this.processId=Promise.resolve(e.numericId),this.shellIntegration={cwd:{fsPath:this._cwd}}}sendText(e,r){Ie.debug("[AcpTerminal] sendText not supported for ACP terminals")}show(){}hide(){}dispose(){this._manager.release(this._managedTerminal.id).catch(e=>{Ie.debug("[AcpTerminal] Error releasing terminal:",e)})}};function $cA(t,e){let r=(async()=>{})().constructor.prototype,n=["then","catch","finally"].map(o=>[o,Reflect.getOwnPropertyDescriptor(r,o)]);for(let[o,s]of n)if(s){let a=s.value.bind(e);Reflect.defineProperty(t,o,{...s,value:a})}return t.terminate&&typeof t.terminate=="function"&&Object.defineProperty(t,"terminate",{value:t.terminate.bind(t),writable:!1,enumerable:!1,configurable:!1}),t}var kTr=class{connection;clientCapabilities;sessionIdResolver;terminals=new Map;numericIdToStringId=new Map;nextNumericId=1;processes=new Map;terminalInfos=new Map;terminalReuseEnabled=!0;terminalOutputLineLimit=500;constructor(e,r,n){this.connection=e,this.clientCapabilities=r,this.sessionIdResolver=n}runCommand(e,r){let o=e.terminal._managedTerminal;e.busy=!0,e.lastCommand=r,e.lastActive=Date.now(),o.busy=!0,o.lastCommand=r;let s=new HCi(this,o.id);this.processes.set(o.numericId,s),s.once("completed",()=>{e.busy=!1,o.busy=!1}),s.once("error",u=>{e.busy=!1,o.busy=!1});let a=new Promise((u,c)=>{s.once("continue",()=>u()),s.once("completed",()=>u()),s.once("error",f=>c(f))});return this.runCommandInternal(o,r,s),$cA(s,a)}async runCommandInternal(e,r,n){try{let o={sessionId:this.getSessionId(),command:r,cwd:e.cwd},s=await this.connection.createTerminal(o);e.id&&this.terminals.has(e.id)&&this.terminals.delete(e.id),e.handle=s,e.id=s.id,this.terminals.set(s.id,e),this.numericIdToStringId.set(e.numericId,s.id),n.terminalId=s.id,n.run(r)}catch(o){n.emit("error",o instanceof Error?o:new Error(String(o)))}}async getOrCreateTerminal(e){for(let[u,c]of this.terminalInfos)if(!c.busy&&c.terminal._cwd===e)return c;if(this.terminalReuseEnabled){for(let[u,c]of this.terminalInfos)if(!c.busy){let f=c.terminal;return f._cwd=e,f.shellIntegration?.cwd&&(f.shellIntegration.cwd.fsPath=e),f._managedTerminal.cwd=e,c}}let r=this.nextNumericId++,o={id:`pending-${r}`,numericId:r,handle:null,command:"",cwd:e,createdAt:Date.now(),released:!1,busy:!1,lastCommand:""},s=new VCi(o,this),a={id:r,terminal:s,busy:!1,lastCommand:"",lastActive:Date.now()};return this.terminals.set(o.id,o),this.numericIdToStringId.set(r,o.id),this.terminalInfos.set(r,a),Ie.debug("[AcpTerminalManager] Created terminal:",{numericId:r,cwd:e}),a}getTerminals(e){let r=[];for(let[n,o]of this.terminalInfos)o.busy===e&&r.push({id:n,lastCommand:o.lastCommand});return r}getUnretrievedOutput(e){let r=this.processes.get(e);return r?r.getUnretrievedOutput():""}isProcessHot(e){let r=this.processes.get(e);return r?r.isHot:!1}disposeAll(){this.releaseAll().catch(e=>{Ie.debug("[AcpTerminalManager] Error releasing terminals:",e)}),this.terminals.clear(),this.numericIdToStringId.clear(),this.processes.clear(),this.terminalInfos.clear(),Ie.debug("[AcpTerminalManager] disposeAll complete")}setShellIntegrationTimeout(e){}setTerminalReuseEnabled(e){this.terminalReuseEnabled=e}setTerminalOutputLineLimit(e){this.terminalOutputLineLimit=e}setDefaultTerminalProfile(e){}processOutput(e,r){let n=r!==void 0?r:this.terminalOutputLineLimit;if(e.length>n){let o=Math.floor(n/2),s=e.slice(0,o),a=e.slice(e.length-o);return`${s.join(`
7192
7192
  `)}
7193
7193
  ... (output truncated) ...