diff --git a/.gitattributes b/.gitattributes index 9ea099f36f897fed4af1e93266013da3042a90bc..471a86d9eced9406d3b07fa2a8292f8f8d493ab5 100644 --- a/.gitattributes +++ b/.gitattributes @@ -22,3 +22,5 @@ .venv/lib/python3.13/site-packages/gradio/media_assets/videos/b.mp4 filter=lfs diff=lfs merge=lfs -text .venv/lib/python3.13/site-packages/gradio/media_assets/videos/world.mp4 filter=lfs diff=lfs merge=lfs -text .venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/PlotlyPlot-CVVZkV50.js.map filter=lfs diff=lfs merge=lfs -text +.venv/lib/python3.13/site-packages/gradio/templates/frontend/static/fonts/Source[[:space:]]Sans[[:space:]]Pro/SourceSansPro-Bold.woff2 filter=lfs diff=lfs merge=lfs -text +.venv/lib/python3.13/site-packages/gradio/templates/frontend/static/fonts/Source[[:space:]]Sans[[:space:]]Pro/SourceSansPro-Regular.woff2 filter=lfs diff=lfs merge=lfs -text diff --git a/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-DputZZxm.js b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-DputZZxm.js new file mode 100644 index 0000000000000000000000000000000000000000..dae2685a84f7660988a270c4ae8b4c987af96686 --- /dev/null +++ b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-DputZZxm.js @@ -0,0 +1,5 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Index-CDBfCghh.js","./init-CYI6iZYC.js","./init-DV_66Kck.css","./StreamingBar-BtwDBaPl.js","./FullscreenButton-D7DmzQQ9.js","./MarkdownCode-DTX-UkhB.js","./prism-python-oCRsS_S4.js","./MarkdownCode-Ca9FjBJK.css","./FullscreenButton-BYduS5IX.css","./StreamingBar-Dq7cCzkm.css","./Index-BkyjjaNE.css","./index-CWx9LkNn.js"])))=>i.map(i=>d[i]); +import*as ce from"./svelte/svelte.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const r of i.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function e(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(o){if(o.ep)return;o.ep=!0;const i=e(o);fetch(o.href,i)}})();const Xe="modulepreload",et=function(t,s){return new URL(t,s).href},ke={},Z=function(s,e,n){let o=Promise.resolve();if(e&&e.length>0){const r=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),l=a?.nonce||a?.getAttribute("nonce");o=Promise.allSettled(e.map(u=>{if(u=et(u,n),u in ke)return;ke[u]=!0;const p=u.endsWith(".css"),c=p?'[rel="stylesheet"]':"";if(!!n)for(let h=r.length-1;h>=0;h--){const y=r[h];if(y.href===u&&(!p||y.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${u}"]${c}`))return;const g=document.createElement("link");if(g.rel=p?"stylesheet":Xe,p||(g.as="script"),g.crossOrigin="",g.href=u,l&&g.setAttribute("nonce",l),document.head.appendChild(g),p)return new Promise((h,y)=>{g.addEventListener("load",h),g.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(r){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=r,window.dispatchEvent(a),!a.defaultPrevented)throw r}return o.then(r=>{for(const a of r||[])a.status==="rejected"&&i(a.reason);return s().catch(i)})};var le=new Intl.Collator(0,{numeric:1}).compare;function Pe(t,s,e){return t=t.split("."),s=s.split("."),le(t[0],s[0])||le(t[1],s[1])||(s[2]=s.slice(2).join("."),e=/[.-]/.test(t[2]=t.slice(2).join(".")),e==/[.-]/.test(s[2])?le(t[2],s[2]):e?-1:1)}const tt="host",De="queue/data",st="queue/join",Re="upload",nt="login",K="config",it="info",ot="runtime",rt="sleeptime",at="heartbeat",ct="component_server",lt="reset",ut="cancel",pt="app_id",ht="https://gradio-space-api-fetcher-v2.hf.space/api",xe="This application is currently busy. Please try again. ",F="Connection errored out. ",I="Could not resolve app config. ",ft="Could not get space status. ",dt="Could not get API info. ",ge="Space metadata could not be loaded. ",_t="Invalid URL. A full URL path is required.",mt="Not authorized to access this space. ",Ie="Invalid credentials. Could not login. ",gt="Login credentials are required to access this space.",wt="File system access is only available in Node.js environments",je="Root URL not found in client config",yt="Error uploading file";function bt(t,s,e){return s.startsWith("http://")||s.startsWith("https://")?e?t:s:t+s}async function Oe(t,s,e){try{return(await(await fetch(`https://huggingface.co/api/spaces/${t}/jwt`,{headers:{Authorization:`Bearer ${s}`,...e?{Cookie:e}:{}}})).json()).token||!1}catch{return!1}}function vt(t){let s={};return t.forEach(({api_name:e,id:n})=>{e&&(s[e]=n)}),s}async function Et(t){const s=this.options.hf_token?{Authorization:`Bearer ${this.options.hf_token}`}:{};if(s["Content-Type"]="application/json",typeof window<"u"&&window.gradio_config&&location.origin!=="http://localhost:9876"){if(window.gradio_config.current_page&&(t=t.substring(0,t.lastIndexOf("/"))),window.gradio_config.dev_mode){let e=he(t,this.deep_link?K+"?deep_link="+this.deep_link:K);const n=await this.fetch(e,{headers:s,credentials:"include"}),o=await Ae(n,t,!!this.options.auth);window.gradio_config={...o,current_page:window.gradio_config.current_page}}return window.gradio_config.root=t,{...window.gradio_config}}else if(t){let e=he(t,this.deep_link?K+"?deep_link="+this.deep_link:K);const n=await this.fetch(e,{headers:s,credentials:"include"});return Ae(n,t,!!this.options.auth)}throw new Error(I)}async function Ae(t,s,e){if(t?.status===401&&!e){const o=(await t.json())?.detail?.auth_message;throw new Error(o||gt)}else if(t?.status===401&&e)throw new Error(Ie);if(t?.status===200){let n=await t.json();return n.root=s,n.dependencies?.forEach((o,i)=>{o.id===void 0&&(o.id=i)}),n}else if(t?.status===401)throw new Error(mt);throw new Error(I)}async function St(){const{http_protocol:t,host:s}=await Q(this.app_reference,this.options.hf_token);try{if(this.options.auth){const e=await qe(t,s,this.options.auth,this.fetch,this.options.hf_token);e&&this.set_cookies(e)}}catch(e){throw Error(e.message)}}async function qe(t,s,e,n,o){const i=new FormData;i.append("username",e?.[0]),i.append("password",e?.[1]);let r={};o&&(r.Authorization=`Bearer ${o}`);const a=await n(`${t}//${s}/${nt}`,{headers:r,method:"POST",body:i,credentials:"include"});if(a.status===200)return a.headers.get("set-cookie");throw a.status===401?new Error(Ie):new Error(ge)}function ue(t){if(t.startsWith("http")){const{protocol:s,host:e,pathname:n}=new URL(t);return{ws_protocol:s==="https:"?"wss":"ws",http_protocol:s,host:e+(n!=="/"?n:"")}}return{ws_protocol:"wss",http_protocol:"https:",host:new URL(t).host}}const Ue=t=>{let s=[];return t.split(/,(?=\s*[^\s=;]+=[^\s=;]+)/).forEach(n=>{const[o,i]=n.split(";")[0].split("=");o&&i&&s.push(`${o.trim()}=${i.trim()}`)}),s},we=/^[a-zA-Z0-9_\-\.]+\/[a-zA-Z0-9_\-\.]+$/,$t=/.*hf\.space\/{0,1}.*$/;async function Q(t,s){const e={};s&&(e.Authorization=`Bearer ${s}`);const n=t.trim().replace(/\/$/,"");if(we.test(n))try{const i=(await(await fetch(`https://huggingface.co/api/spaces/${n}/${tt}`,{headers:e})).json()).host;return{space_id:t,...ue(i)}}catch{throw new Error(ge)}if($t.test(n)){const{ws_protocol:o,http_protocol:i,host:r}=ue(n);return{space_id:r.split("/")[0].replace(".hf.space",""),ws_protocol:o,http_protocol:i,host:r}}return{space_id:!1,...ue(n)}}const he=(...t)=>{try{return t.reduce((s,e)=>(s=s.replace(/\/+$/,""),e=e.replace(/^\/+/,""),new URL(e,s+"/").toString()))}catch{throw new Error(_t)}};function kt(t,s,e){const n={named_endpoints:{},unnamed_endpoints:{}};return Object.keys(t).forEach(o=>{(o==="named_endpoints"||o==="unnamed_endpoints")&&(n[o]={},Object.entries(t[o]).forEach(([i,{parameters:r,returns:a}])=>{const l=s.dependencies.find(c=>c.api_name===i||c.api_name===i.replace("/",""))?.id||e[i.replace("/","")]||-1,u=l!==-1?s.dependencies.find(c=>c.id==l)?.types:{generator:!1,cancel:!1};if(l!==-1&&s.dependencies.find(c=>c.id==l)?.inputs?.length!==r.length){const c=s.dependencies.find(_=>_.id==l).inputs.map(_=>s.components.find(g=>g.id===_)?.type);try{c.forEach((_,g)=>{if(_==="state"){const h={component:"state",example:null,parameter_default:null,parameter_has_default:!0,parameter_name:null,hidden:!0};r.splice(g,0,h)}})}catch(_){console.error(_)}}const p=(c,_,g,h)=>({...c,description:Ot(c?.type,g),type:Rt(c?.type,_,g,h)||""});n[o][i]={parameters:r.map(c=>p(c,c?.component,c?.serializer,"parameter")),returns:a.map(c=>p(c,c?.component,c?.serializer,"return")),type:u}}))}),n}function Rt(t,s,e,n){if(s==="Api")return t.type;switch(t?.type){case"string":return"string";case"boolean":return"boolean";case"number":return"number"}if(e==="JSONSerializable"||e==="StringSerializable")return"any";if(e==="ListStringSerializable")return"string[]";if(s==="Image")return n==="parameter"?"Blob | File | Buffer":"string";if(e==="FileSerializable")return t?.type==="array"?n==="parameter"?"(Blob | File | Buffer)[]":"{ name: string; data: string; size?: number; is_file?: boolean; orig_name?: string}[]":n==="parameter"?"Blob | File | Buffer":"{ name: string; data: string; size?: number; is_file?: boolean; orig_name?: string}";if(e==="GallerySerializable")return n==="parameter"?"[(Blob | File | Buffer), (string | null)][]":"[{ name: string; data: string; size?: number; is_file?: boolean; orig_name?: string}, (string | null))][]"}function Ot(t,s){return s==="GallerySerializable"?"array of [file, label] tuples":s==="ListStringSerializable"?"array of strings":s==="FileSerializable"?"array of files or single file":t?.description}function pe(t,s){switch(t.msg){case"send_data":return{type:"data"};case"send_hash":return{type:"hash"};case"queue_full":return{type:"update",status:{queue:!0,message:xe,stage:"error",code:t.code,success:t.success}};case"heartbeat":return{type:"heartbeat"};case"unexpected_error":return{type:"unexpected_error",status:{queue:!0,message:t.message,session_not_found:t.session_not_found,stage:"error",success:!1}};case"broken_connection":return{type:"broken_connection",status:{queue:!0,message:t.message,stage:"error",success:!1}};case"estimation":return{type:"update",status:{queue:!0,stage:s||"pending",code:t.code,size:t.queue_size,position:t.rank,eta:t.rank_eta,success:t.success}};case"progress":return{type:"update",status:{queue:!0,stage:"pending",code:t.code,progress_data:t.progress_data,success:t.success}};case"log":return{type:"log",data:t};case"process_generating":return{type:"generating",status:{queue:!0,message:t.success?null:t.output.error,stage:t.success?"generating":"error",code:t.code,progress_data:t.progress_data,eta:t.average_duration,changed_state_ids:t.success?t.output.changed_state_ids:void 0},data:t.success?t.output:null};case"process_streaming":return{type:"streaming",status:{queue:!0,message:t.output.error,stage:"streaming",time_limit:t.time_limit,code:t.code,progress_data:t.progress_data,eta:t.eta},data:t.output};case"process_completed":return"error"in t.output?{type:"update",status:{queue:!0,title:t.output.title,message:t.output.error,visible:t.output.visible,duration:t.output.duration,stage:"error",code:t.code,success:t.success}}:{type:"complete",status:{queue:!0,message:t.success?void 0:t.output.error,stage:t.success?"complete":"error",code:t.code,progress_data:t.progress_data,changed_state_ids:t.success?t.output.changed_state_ids:void 0},data:t.success?t.output:null};case"process_starts":return{type:"update",status:{queue:!0,stage:"pending",code:t.code,size:t.rank,position:0,success:t.success,eta:t.eta},original_msg:"process_starts"}}return{type:"none",status:{stage:"error",queue:!0}}}const At=(t=[],s)=>{const e=s?s.parameters:[];if(Array.isArray(t))return s&&e.length>0&&t.length>e.length&&console.warn("Too many arguments provided for the endpoint."),t;const n=[],o=Object.keys(t);return e.forEach((i,r)=>{if(t.hasOwnProperty(i.parameter_name))n[r]=t[i.parameter_name];else if(i.parameter_has_default)n[r]=i.parameter_default;else throw new Error(`No value provided for required parameter: ${i.parameter_name}`)}),o.forEach(i=>{if(!e.some(r=>r.parameter_name===i))throw new Error(`Parameter \`${i}\` is not a valid keyword argument. Please refer to the API for usage.`)}),n.forEach((i,r)=>{if(i===void 0&&!e[r].parameter_has_default)throw new Error(`No value provided for required parameter: ${e[r].parameter_name}`)}),n};async function Ct(){if(this.api_info)return this.api_info;const{hf_token:t}=this.options,{config:s}=this,e={"Content-Type":"application/json"};if(t&&(e.Authorization=`Bearer ${t}`),!!s)try{let n,o;if(typeof window<"u"&&window.gradio_api_info)o=window.gradio_api_info;else{if(Pe(s?.version||"2.0.0","3.30")<0)n=await this.fetch(ht,{method:"POST",body:JSON.stringify({serialize:!1,config:JSON.stringify(s)}),headers:e,credentials:"include"});else{const i=he(s.root,this.api_prefix,it);n=await this.fetch(i,{headers:e,credentials:"include"})}if(!n.ok)throw new Error(F);o=await n.json()}return"api"in o&&(o=o.api),o.named_endpoints["/predict"]&&!o.unnamed_endpoints[0]&&(o.unnamed_endpoints[0]=o.named_endpoints["/predict"]),kt(o,s,this.api_map)}catch(n){throw new Error("Could not get API info. "+n.message)}}async function Nt(t,s,e){const n={};this?.options?.hf_token&&(n.Authorization=`Bearer ${this.options.hf_token}`);const o=1e3,i=[];let r;for(let a=0;a{u.append("files",c)});try{const c=e?`${t}${this.api_prefix}/${Re}?upload_id=${e}`:`${t}${this.api_prefix}/${Re}`;r=await this.fetch(c,{method:"POST",body:u,headers:n,credentials:"include"})}catch(c){throw new Error(F+c.message)}if(!r.ok){const c=await r.text();return{error:`HTTP ${r.status}: ${c}`}}const p=await r.json();p&&i.push(...p)}return{files:i}}async function Tt(t,s,e,n){let o=(Array.isArray(t)?t:[t]).map(r=>r.blob);const i=o.filter(r=>r.size>(n??1/0));if(i.length)throw new Error(`File size exceeds the maximum allowed size of ${n} bytes: ${i.map(r=>r.name).join(", ")}`);return await Promise.all(await this.upload_files(s,o,e).then(async r=>{if(r.error)throw new Error(r.error);return r.files?r.files.map((a,l)=>new X({...t[l],path:a,url:`${s}${this.api_prefix}/file=${a}`})):[]}))}async function cs(t,s){return t.map(e=>new X({path:e.name,orig_name:e.name,blob:e,size:e.size,mime_type:e.type,is_stream:s}))}class X{path;url;orig_name;size;blob;is_stream;mime_type;alt_text;b64;meta={_type:"gradio.FileData"};constructor({path:s,url:e,orig_name:n,size:o,blob:i,is_stream:r,mime_type:a,alt_text:l,b64:u}){this.path=s,this.url=e,this.orig_name=n,this.size=o,this.blob=e?void 0:i,this.is_stream=r,this.mime_type=a,this.alt_text=l,this.b64=u}}class Lt{type;command;meta;fileData;constructor(s,e){this.type="command",this.command=s,this.meta=e}}typeof process<"u"&&process.versions&&process.versions.node;function Ce(t,s,e){for(;e.length>1;){const o=e.shift();if(typeof o=="string"||typeof o=="number")t=t[o];else throw new Error("Invalid key type")}const n=e.shift();if(typeof n=="string"||typeof n=="number")t[n]=s;else throw new Error("Invalid key type")}async function fe(t,s=void 0,e=[],n=!1,o=void 0){if(Array.isArray(t)){let i=[];return await Promise.all(t.map(async(r,a)=>{let l=e.slice();l.push(String(a));const u=await fe(t[a],n?o?.parameters[a]?.component||void 0:s,l,!1,o);i=i.concat(u)})),i}else{if(globalThis.Buffer&&t instanceof globalThis.Buffer||t instanceof Blob)return[{path:e,blob:new Blob([t]),type:s}];if(typeof t=="object"&&t!==null){let i=[];for(const r of Object.keys(t)){const a=[...e,r],l=t[r];i=i.concat(await fe(l,void 0,a,!1,o))}return i}}return[]}function Pt(t,s){let e=s?.dependencies?.find(n=>n.id==t)?.queue;return e!=null?!e:!s.enable_queue}function Dt(t,s){return new Promise((e,n)=>{const o=new MessageChannel;o.port1.onmessage=({data:i})=>{o.port1.close(),e(i)},window.parent.postMessage(t,s,[o.port2])})}function W(t,s,e,n,o=!1){if(n==="input"&&!o)throw new Error("Invalid code path. Cannot skip state inputs for input.");if(n==="output"&&o)return t;let i=[],r=0;const a=n==="input"?s.inputs:s.outputs;for(let l=0;lc.id===u)?.type==="state"){if(o)if(t.length===a.length){const c=t[r];i.push(c),r++}else i.push(null);else{r++;continue}continue}else{const c=t[r];i.push(c),r++}}return i}async function xt(t,s,e){const n=this;await It(n,s);const o=await fe(s,void 0,[],!0,e);return(await Promise.all(o.map(async({path:r,blob:a,type:l})=>{if(!a)return{path:r,type:l};const u=await n.upload_files(t,[a]),p=u.files&&u.files[0];return{path:r,file_url:p,type:l,name:typeof File<"u"&&a instanceof File?a?.name:void 0}}))).forEach(({path:r,file_url:a,type:l,name:u})=>{if(l==="Gallery")Ce(s,a,r);else if(a){const p=new X({path:a,orig_name:u});Ce(s,p,r)}}),s}async function It(t,s){if(!(t.config?.root||t.config?.root_url))throw new Error(je);await ze(t,s)}async function ze(t,s,e=[]){for(const n in s)s[n]instanceof Lt?await jt(t,s,n):typeof s[n]=="object"&&s[n]!==null&&await ze(t,s[n],[...e,n])}async function jt(t,s,e){let n=s[e];const o=t.config?.root||t.config?.root_url;if(!o)throw new Error(je);try{let i,r;if(typeof process<"u"&&process.versions&&process.versions.node){const p=await Z(()=>import("./__vite-browser-external-D7Ct-6yo.js").then(_=>_._),[],import.meta.url);r=(await Z(()=>import("./__vite-browser-external-D7Ct-6yo.js").then(_=>_._),[],import.meta.url)).resolve(process.cwd(),n.meta.path),i=await p.readFile(r)}else throw new Error(wt);const a=new Blob([i],{type:"application/octet-stream"}),l=await t.upload_files(o,[a]),u=l.files&&l.files[0];if(u){const p=new X({path:u,orig_name:n.meta.name||""});s[e]=p}}catch(i){console.error(yt,i)}}async function qt(t,s,e){const n={"Content-Type":"application/json"};this.options.hf_token&&(n.Authorization=`Bearer ${this.options.hf_token}`);try{var o=await this.fetch(t,{method:"POST",body:JSON.stringify(s),headers:{...n,...e},credentials:"include"})}catch{return[{error:F},500]}let i,r;try{i=await o.json(),r=o.status}catch(a){i={error:`Could not parse server response: ${a}`},r=500}return[i,r]}async function Ut(t,s={}){let e=!1,n=!1;if(!this.config)throw new Error("Could not resolve app config");if(typeof t=="number")this.config.dependencies.find(o=>o.id==t);else{const o=t.replace(/^\//,"");this.config.dependencies.find(i=>i.id==this.api_map[o])}return new Promise(async(o,i)=>{const r=this.submit(t,s,null,null,!0);let a;for await(const l of r)l.type==="data"&&(n&&o(a),e=!0,a=l),l.type==="status"&&(l.stage==="error"&&i(l),l.stage==="complete"&&(n=!0,e&&o(a)))})}async function H(t,s,e){let n=s==="subdomain"?`https://huggingface.co/api/spaces/by-subdomain/${t}`:`https://huggingface.co/api/spaces/${t}`,o,i;try{if(o=await fetch(n),i=o.status,i!==200)throw new Error;o=await o.json()}catch{e({status:"error",load_status:"error",message:ft,detail:"NOT_FOUND"});return}if(!o||i!==200)return;const{runtime:{stage:r},id:a}=o;switch(r){case"STOPPED":case"SLEEPING":e({status:"sleeping",load_status:"pending",message:"Space is asleep. Waking it up...",detail:r}),setTimeout(()=>{H(t,s,e)},1e3);break;case"PAUSED":e({status:"paused",load_status:"error",message:"This space has been paused by the author. If you would like to try this demo, consider duplicating the space.",detail:r,discussions_enabled:await Ne(a)});break;case"RUNNING":case"RUNNING_BUILDING":e({status:"running",load_status:"complete",message:"Space is running.",detail:r});break;case"BUILDING":e({status:"building",load_status:"pending",message:"Space is building...",detail:r}),setTimeout(()=>{H(t,s,e)},1e3);break;case"APP_STARTING":e({status:"starting",load_status:"pending",message:"Space is starting...",detail:r}),setTimeout(()=>{H(t,s,e)},1e3);break;default:e({status:"space_error",load_status:"error",message:"This space is experiencing an issue.",detail:r,discussions_enabled:await Ne(a)});break}}const Be=async(t,s)=>{let e=0;const n=12,o=5e3;return new Promise(i=>{H(t,we.test(t)?"space_name":"subdomain",r=>{s(r),r.status==="running"||r.status==="error"||r.status==="paused"||r.status==="space_error"?i():(r.status==="sleeping"||r.status==="building")&&(e{Be(t,s).then(i)},o)):i())})})},zt=/^(?=[^]*\b[dD]iscussions{0,1}\b)(?=[^]*\b[dD]isabled\b)[^]*$/;async function Ne(t){try{const s=await fetch(`https://huggingface.co/api/spaces/${t}/discussions`,{method:"HEAD"}),e=s.headers.get("x-error-message");return!(!s.ok||e&&zt.test(e))}catch{return!1}}async function Bt(t,s){const e={};s&&(e.Authorization=`Bearer ${s}`);try{const n=await fetch(`https://huggingface.co/api/spaces/${t}/${ot}`,{headers:e});if(n.status!==200)throw new Error("Space hardware could not be obtained.");const{hardware:o}=await n.json();return o.current}catch(n){throw new Error(n.message)}}async function Ft(t,s,e){const n={};e&&(n.Authorization=`Bearer ${e}`);const o={seconds:s};try{const i=await fetch(`https://huggingface.co/api/spaces/${t}/${rt}`,{method:"POST",headers:{"Content-Type":"application/json",...n},body:JSON.stringify(o)});if(i.status!==200)throw new Error("Could not set sleep timeout on duplicated Space. Please visit *ADD HF LINK TO SETTINGS* to set a timeout manually to reduce billing charges.");return await i.json()}catch(i){throw new Error(i.message)}}const Te=["cpu-basic","cpu-upgrade","cpu-xl","t4-small","t4-medium","a10g-small","a10g-large","a10g-largex2","a10g-largex4","a100-large","zero-a10g","h100","h100x8"];async function Mt(t,s){const{hf_token:e,private:n,hardware:o,timeout:i,auth:r}=s;if(o&&!Te.includes(o))throw new Error(`Invalid hardware type provided. Valid types are: ${Te.map(b=>`"${b}"`).join(",")}.`);const{http_protocol:a,host:l}=await Q(t,e);let u=null;if(r){const b=await qe(a,l,r,fetch);b&&(u=Ue(b))}const p={Authorization:`Bearer ${e}`,"Content-Type":"application/json",...u?{Cookie:u.join("; ")}:{}},c=(await(await fetch("https://huggingface.co/api/whoami-v2",{headers:p})).json()).name,_=t.split("/")[1],g={repository:`${c}/${_}`};n&&(g.private=!0);let h;try{o||(h=await Bt(t,e))}catch(b){throw Error(ge+b.message)}const y=o||h||"cpu-basic";g.hardware=y;try{const b=await fetch(`https://huggingface.co/api/spaces/${t}/duplicate`,{method:"POST",headers:p,body:JSON.stringify(g)});if(b.status===409)try{return await Y.connect(`${c}/${_}`,s)}catch(j){throw console.error("Failed to connect Client instance:",j),j}else if(b.status!==200)throw new Error(b.statusText);const ee=await b.json();return await Ft(`${c}/${_}`,i||300,e),await Y.connect(Gt(ee.url),s)}catch(b){throw new Error(b)}}function Gt(t){const s=/https:\/\/huggingface.co\/spaces\/([^/]+\/[^/]+)/,e=t.match(s);if(e)return e[1]}class Jt extends TransformStream{#e="";constructor(s={allowCR:!1}){super({transform:(e,n)=>{for(e=this.#e+e;;){const o=e.indexOf(` +`),i=s.allowCR?e.indexOf("\r"):-1;if(i!==-1&&i!==e.length-1&&(o===-1||o-1>i)){n.enqueue(e.slice(0,i)),e=e.slice(i+1);continue}if(o===-1)break;const r=e[o-1]==="\r"?o-1:o;n.enqueue(e.slice(0,r)),e=e.slice(o+1)}this.#e=e},flush:e=>{if(this.#e==="")return;const n=s.allowCR&&this.#e.endsWith("\r")?this.#e.slice(0,-1):this.#e;e.enqueue(n)}})}}function Wt(t){let s=new TextDecoderStream,e=new Jt({allowCR:!0});return t.pipeThrough(s).pipeThrough(e)}function Ht(t){let e=/[:]\s*/.exec(t),n=e&&e.index;if(n)return[t.substring(0,n),t.substring(n+e[0].length)]}function Le(t,s,e){t.get(s)||t.set(s,e)}async function*Vt(t,s){if(!t.body)return;let e=Wt(t.body),n,o=e.getReader(),i;for(;;){if(s&&s.aborted)return o.cancel();if(n=await o.read(),n.done)return;if(!n.value){i&&(yield i),i=void 0;continue}let[r,a]=Ht(n.value)||[];r&&(r==="data"?(i||={},i[r]=i[r]?i[r]+` +`+a:a):r==="event"?(i||={},i[r]=a):r==="id"?(i||={},i[r]=+a||a):r==="retry"&&(i||={},i[r]=+a||void 0))}}async function Kt(t,s){let e=new Request(t,s);Le(e.headers,"Accept","text/event-stream"),Le(e.headers,"Content-Type","application/json");let n=await fetch(e);if(!n.ok)throw n;return Vt(n,e.signal)}async function Zt(){let{event_callbacks:t,unclosed_events:s,pending_stream_messages:e,stream_status:n,config:o,jwt:i}=this;const r=this;if(!o)throw new Error("Could not resolve app config");n.open=!0;let a=null,l=new URLSearchParams({session_hash:this.session_hash}).toString(),u=new URL(`${o.root}${this.api_prefix}/${De}?${l}`);if(i&&u.searchParams.set("__sign",i),a=this.stream(u),!a){console.warn("Cannot connect to SSE endpoint: "+u.toString());return}a.onmessage=async function(p){let c=JSON.parse(p.data);if(c.msg==="close_stream"){ye(n,r.abort_controller);return}const _=c.event_id;if(!_)await Promise.all(Object.keys(t).map(g=>t[g](c)));else if(t[_]&&o){c.msg==="process_completed"&&["sse","sse_v1","sse_v2","sse_v2.1","sse_v3"].includes(o.protocol)&&s.delete(_);let g=t[_];typeof window<"u"&&typeof document<"u"?setTimeout(g,0,c):g(c)}else e[_]||(e[_]=[]),e[_].push(c)},a.onerror=async function(p){console.error(p),await Promise.all(Object.keys(t).map(c=>t[c]({msg:"broken_connection",message:F})))}}function ye(t,s){t&&(t.open=!1,s?.abort())}function Yt(t,s,e){!t[s]?(t[s]=[],e.data.forEach((o,i)=>{t[s][i]=o})):e.data.forEach((o,i)=>{let r=Qt(t[s][i],o);t[s][i]=r,e.data[i]=r})}function Qt(t,s){return s.forEach(([e,n,o])=>{t=Xt(t,n,e,o)}),t}function Xt(t,s,e,n){if(s.length===0){if(e==="replace")return n;if(e==="append")return t+n;throw new Error(`Unsupported action: ${e}`)}let o=t;for(let r=0;r{console.warn("Method not implemented.")},onerror:null,onmessage:null,onopen:null,readyState:0,url:t.toString(),withCredentials:!1,CONNECTING:0,OPEN:1,CLOSED:2,addEventListener:()=>{throw new Error("Method not implemented.")},dispatchEvent:()=>{throw new Error("Method not implemented.")},removeEventListener:()=>{throw new Error("Method not implemented.")}};return Kt(t,s).then(async n=>{e.readyState=e.OPEN;try{for await(const o of n)e.onmessage&&e.onmessage(o);e.readyState=e.CLOSED}catch(o){e.onerror&&e.onerror(o),e.readyState=e.CLOSED}}).catch(n=>{console.error(n),e.onerror&&e.onerror(n),e.readyState=e.CLOSED}),e}function ts(t,s={},e,n,o){try{let i=function(m){(o||He[m.type])&&u(m)},r=function(){for(Ze=!0;J.length>0;)J.shift()({value:void 0,done:!0})},a=function(m){J.length>0?J.shift()(m):re.push(m)},l=function(m){a(ss(m)),r()},u=function(m){a({value:m,done:!1})},p=function(){return re.length>0?Promise.resolve(re.shift()):new Promise(m=>J.push(m))};const{hf_token:c}=this.options,{fetch:_,app_reference:g,config:h,session_hash:y,api_info:b,api_map:ee,stream_status:j,pending_stream_messages:te,pending_diff_streams:se,event_callbacks:ne,unclosed_events:Me,post_data:ie,options:M,api_prefix:U}=this,Ge=this;if(!b)throw new Error("No API found");if(!h)throw new Error("Could not resolve app config");let{fn_index:f,endpoint_info:be,dependency:z}=ns(b,t,ee,h),Je=At(s,be),k,B,D=h.protocol??"ws",ve="",We=()=>ve;const d=typeof t=="number"?"/predict":t;let G,v=null,O=!1,oe={},q=typeof window<"u"&&typeof document<"u"?new URLSearchParams(window.location.search).toString():"";const He=M?.events?.reduce((m,x)=>(m[x]=!0,m),{})||{};async function Ve(){let m={},x={};D==="ws"?(k&&k.readyState===0?k.addEventListener("open",()=>{k.close()}):k.close(),m={fn_index:f,session_hash:y}):(m={event_id:v},x={event_id:v,session_hash:y,fn_index:f});try{if(!h)throw new Error("Could not resolve app config");"event_id"in x&&await _(`${h.root}${U}/${ut}`,{headers:{"Content-Type":"application/json"},method:"POST",body:JSON.stringify(x)}),await _(`${h.root}${U}/${lt}`,{headers:{"Content-Type":"application/json"},method:"POST",body:JSON.stringify(m)})}catch{console.warn("The `/reset` endpoint could not be called. Subsequent endpoint results may be unreliable.")}}const Ke=async m=>{await this._resolve_heartbeat(m)};async function Ee(m){if(!h)return;let x=m.render_id;h.components=[...h.components.filter(S=>S.props.rendered_in!==x),...m.components],h.dependencies=[...h.dependencies.filter(S=>S.rendered_in!==x),...m.dependencies];const V=h.components.some(S=>S.type==="state"),w=h.dependencies.some(S=>S.targets.some(L=>L[1]==="unload"));h.connect_heartbeat=V||w,await Ke(h),i({type:"render",data:m,endpoint:d,fn_index:f})}this.handle_blob(h.root,Je,be).then(async m=>{if(G={data:W(m,z,h.components,"input",!0)||[],event_data:e,fn_index:f,trigger_id:n},Pt(f,h))i({type:"status",endpoint:d,stage:"pending",queue:!1,fn_index:f,time:new Date}),ie(`${h.root}${U}/run${d.startsWith("/")?d:`/${d}`}${q?"?"+q:""}`,{...G,session_hash:y}).then(([w,S])=>{const L=w.data;S==200?(i({type:"data",endpoint:d,fn_index:f,data:W(L,z,h.components,"output",M.with_null_state),time:new Date,event_data:e,trigger_id:n}),w.render_config&&Ee(w.render_config),i({type:"status",endpoint:d,fn_index:f,stage:"complete",eta:w.average_duration,queue:!1,time:new Date})):i({type:"status",stage:"error",endpoint:d,fn_index:f,message:w.error,queue:!1,time:new Date})}).catch(w=>{i({type:"status",stage:"error",message:w.message,endpoint:d,fn_index:f,queue:!1,time:new Date})});else if(D=="ws"){const{ws_protocol:w,host:S}=await Q(g,c);i({type:"status",stage:"pending",queue:!0,endpoint:d,fn_index:f,time:new Date});let L=new URL(`${w}://${bt(S,h.root,!0)}/queue/join${q?"?"+q:""}`);this.jwt&&L.searchParams.set("__sign",this.jwt),k=new WebSocket(L),k.onclose=A=>{A.wasClean||i({type:"status",stage:"error",broken:!0,message:F,queue:!0,endpoint:d,fn_index:f,time:new Date})},k.onmessage=function(A){const P=JSON.parse(A.data),{type:E,status:$,data:R}=pe(P,oe[f]);if(E==="update"&&$&&!O)i({type:"status",endpoint:d,fn_index:f,time:new Date,...$}),$.stage==="error"&&k.close();else if(E==="hash"){k.send(JSON.stringify({fn_index:f,session_hash:y}));return}else E==="data"?k.send(JSON.stringify({...G,session_hash:y})):E==="complete"?O=$:E==="log"?i({type:"log",title:R.title,log:R.log,level:R.level,endpoint:d,duration:R.duration,visible:R.visible,fn_index:f}):E==="generating"&&i({type:"status",time:new Date,...$,stage:$?.stage,queue:!0,endpoint:d,fn_index:f});R&&(i({type:"data",time:new Date,data:W(R.data,z,h.components,"output",M.with_null_state),endpoint:d,fn_index:f,event_data:e,trigger_id:n}),O&&(i({type:"status",time:new Date,...O,stage:$?.stage,queue:!0,endpoint:d,fn_index:f}),k.close()))},Pe(h.version||"2.0.0","3.6")<0&&addEventListener("open",()=>k.send(JSON.stringify({hash:y})))}else if(D=="sse"){i({type:"status",stage:"pending",queue:!0,endpoint:d,fn_index:f,time:new Date});var V=new URLSearchParams({fn_index:f.toString(),session_hash:y}).toString();let w=new URL(`${h.root}${U}/${De}?${q?q+"&":""}${V}`);if(this.jwt&&w.searchParams.set("__sign",this.jwt),B=this.stream(w),!B)return Promise.reject(new Error("Cannot connect to SSE endpoint: "+w.toString()));B.onmessage=async function(S){const L=JSON.parse(S.data),{type:A,status:P,data:E}=pe(L,oe[f]);if(A==="update"&&P&&!O)i({type:"status",endpoint:d,fn_index:f,time:new Date,...P}),P.stage==="error"&&(B?.close(),r());else if(A==="data"){let[$,R]=await ie(`${h.root}${U}/queue/data`,{...G,session_hash:y,event_id:v});R!==200&&(i({type:"status",stage:"error",message:F,queue:!0,endpoint:d,fn_index:f,time:new Date}),B?.close(),r())}else A==="complete"?O=P:A==="log"?i({type:"log",title:E.title,log:E.log,level:E.level,endpoint:d,duration:E.duration,visible:E.visible,fn_index:f}):(A==="generating"||A==="streaming")&&i({type:"status",time:new Date,...P,stage:P?.stage,queue:!0,endpoint:d,fn_index:f});E&&(i({type:"data",time:new Date,data:W(E.data,z,h.components,"output",M.with_null_state),endpoint:d,fn_index:f,event_data:e,trigger_id:n}),O&&(i({type:"status",time:new Date,...O,stage:P?.stage,queue:!0,endpoint:d,fn_index:f}),B?.close(),r()))}}else if(D=="sse_v1"||D=="sse_v2"||D=="sse_v2.1"||D=="sse_v3"){i({type:"status",stage:"pending",queue:!0,endpoint:d,fn_index:f,time:new Date});let w="";typeof window<"u"&&typeof document<"u"&&(w=window?.location?.hostname);const L=w.includes(".dev.")?`https://moon-${w.split(".")[1]}.dev.spaces.huggingface.tech`:"https://huggingface.co";(typeof window<"u"&&typeof document<"u"&&window.parent!=window&&window.supports_zerogpu_headers?Dt("zerogpu-headers",L):Promise.resolve(null)).then($=>ie(`${h.root}${U}/${st}?${q}`,{...G,session_hash:y},$)).then(async([$,R])=>{if(R===503)i({type:"status",stage:"error",message:xe,queue:!0,endpoint:d,fn_index:f,time:new Date});else if(R===422)i({type:"status",stage:"error",message:$.detail,queue:!0,endpoint:d,fn_index:f,code:"validation_error",time:new Date}),r();else if(R!==200)i({type:"status",stage:"error",broken:!1,message:$.detail,queue:!0,endpoint:d,fn_index:f,time:new Date});else{v=$.event_id,ve=v;let $e=async function(ae){try{const{type:C,status:N,data:T,original_msg:Ye}=pe(ae,oe[f]);if(C=="heartbeat")return;if(C==="update"&&N&&!O)i({type:"status",endpoint:d,fn_index:f,time:new Date,original_msg:Ye,...N});else if(C==="complete")O=N;else if(C=="unexpected_error"||C=="broken_connection"){console.error("Unexpected error",N?.message);const Qe=C==="broken_connection";i({type:"status",stage:"error",message:N?.message||"An Unexpected Error Occurred!",queue:!0,endpoint:d,broken:Qe,session_not_found:N?.session_not_found,fn_index:f,time:new Date})}else if(C==="log"){i({type:"log",title:T.title,log:T.log,level:T.level,endpoint:d,duration:T.duration,visible:T.visible,fn_index:f});return}else(C==="generating"||C==="streaming")&&(i({type:"status",time:new Date,...N,stage:N?.stage,queue:!0,endpoint:d,fn_index:f}),T&&z.connection!=="stream"&&["sse_v2","sse_v2.1","sse_v3"].includes(D)&&Yt(se,v,T));T&&(i({type:"data",time:new Date,data:W(T.data,z,h.components,"output",M.with_null_state),endpoint:d,fn_index:f}),T.render_config&&await Ee(T.render_config),O&&(i({type:"status",time:new Date,...O,stage:N?.stage,queue:!0,endpoint:d,fn_index:f}),r())),(N?.stage==="complete"||N?.stage==="error")&&(ne[v]&&delete ne[v],v in se&&delete se[v])}catch(C){console.error("Unexpected client exception",C),i({type:"status",stage:"error",message:"An Unexpected Error Occurred!",queue:!0,endpoint:d,fn_index:f,time:new Date}),["sse_v2","sse_v2.1","sse_v3"].includes(D)&&(ye(j,Ge.abort_controller),j.open=!1,r())}};v in te&&(te[v].forEach(ae=>$e(ae)),delete te[v]),ne[v]=$e,Me.add(v),j.open||await this.open_stream()}})}});let Ze=!1;const re=[],J=[],Se={[Symbol.asyncIterator]:()=>Se,next:p,throw:async m=>(l(m),p()),return:async()=>(r(),p()),cancel:Ve,event_id:We};return Se}catch(i){throw console.error("Submit function encountered an error:",i),i}}function ss(t){return{then:(s,e)=>e(t)}}function ns(t,s,e,n){let o,i,r;if(typeof s=="number")o=s,i=t.unnamed_endpoints[o],r=n.dependencies.find(a=>a.id==s);else{const a=s.replace(/^\//,"");o=e[a],i=t.named_endpoints[s.trim()],r=n.dependencies.find(l=>l.id==e[a])}if(typeof o!="number")throw new Error("There is no endpoint matching that name of fn_index matching that number.");return{fn_index:o,endpoint_info:i,dependency:r}}class Y{app_reference;options;deep_link=null;config;api_prefix="";api_info;api_map={};session_hash=Math.random().toString(36).substring(2);jwt=!1;last_status={};cookies=null;stream_status={open:!1};closed=!1;pending_stream_messages={};pending_diff_streams={};event_callbacks={};unclosed_events=new Set;heartbeat_event=null;abort_controller=null;stream_instance=null;current_payload;ws_map={};get_url_config(s=null){if(!this.config)throw new Error(I);s===null&&(s=window.location.href);const e=r=>r.replace(/^\/+|\/+$/g,"");let n=e(new URL(this.config.root).pathname),o=e(new URL(s).pathname),i;return o.startsWith(n)?i=e(o.substring(n.length)):i="",this.get_page_config(i)}get_page_config(s){if(!this.config)throw new Error(I);let e=this.config;return s in e.page||(s=""),{...e,current_page:s,layout:e.page[s].layout,components:e.components.filter(n=>e.page[s].components.includes(n.id)),dependencies:this.config.dependencies.filter(n=>e.page[s].dependencies.includes(n.id))}}fetch(s,e){const n=new Headers(e?.headers||{});if(this&&this.cookies&&n.append("Cookie",this.cookies),this&&this.options.headers)for(const o in this.options.headers)n.append(o,this.options.headers[o]);return fetch(s,{...e,headers:n})}stream(s){const e=new Headers;if(this&&this.cookies&&e.append("Cookie",this.cookies),this&&this.options.headers)for(const n in this.options.headers)e.append(n,this.options.headers[n]);return this&&this.options.hf_token&&e.append("Authorization",`Bearer ${this.options.hf_token}`),this.abort_controller=new AbortController,this.stream_instance=es(s.toString(),{credentials:"include",headers:e,signal:this.abort_controller.signal}),this.stream_instance}view_api;upload_files;upload;handle_blob;post_data;submit;predict;open_stream;resolve_config;resolve_cookies;constructor(s,e={events:["data"]}){this.app_reference=s,this.deep_link=e.query_params?.deep_link||null,e.events||(e.events=["data"]),this.options=e,this.current_payload={},this.view_api=Ct.bind(this),this.upload_files=Nt.bind(this),this.handle_blob=xt.bind(this),this.post_data=qt.bind(this),this.submit=ts.bind(this),this.predict=Ut.bind(this),this.open_stream=Zt.bind(this),this.resolve_config=Et.bind(this),this.resolve_cookies=St.bind(this),this.upload=Tt.bind(this),this.fetch=this.fetch.bind(this),this.handle_space_success=this.handle_space_success.bind(this),this.stream=this.stream.bind(this)}async init(){this.options.auth&&await this.resolve_cookies(),await this._resolve_config().then(({config:s})=>this._resolve_heartbeat(s)),this.api_info=await this.view_api(),this.api_map=vt(this.config?.dependencies||[])}async _resolve_heartbeat(s){if(s&&(this.config=s,this.api_prefix=s.api_prefix||"",this.config&&this.config.connect_heartbeat&&this.config.space_id&&this.options.hf_token&&(this.jwt=await Oe(this.config.space_id,this.options.hf_token,this.cookies))),s.space_id&&this.options.hf_token&&(this.jwt=await Oe(s.space_id,this.options.hf_token)),this.config&&this.config.connect_heartbeat){const e=new URL(`${this.config.root}${this.api_prefix}/${at}/${this.session_hash}`);this.jwt&&e.searchParams.set("__sign",this.jwt),this.heartbeat_event||(this.heartbeat_event=this.stream(e))}}static async connect(s,e={events:["data"]}){const n=new this(s,e);return e.session_hash&&(n.session_hash=e.session_hash),await n.init(),n}async reconnect(){const s=new URL(`${this.config.root}${this.api_prefix}/${pt}`);let e;try{const n=await this.fetch(s);if(!n.ok)throw new Error;e=(await n.json()).app_id}catch{return"broken"}return e!==this.config.app_id?"changed":"connected"}close(){this.closed=!0,ye(this.stream_status,this.abort_controller)}set_current_payload(s){this.current_payload=s}static async duplicate(s,e={events:["data"]}){return Mt(s,e)}async _resolve_config(){const{http_protocol:s,host:e,space_id:n}=await Q(this.app_reference,this.options.hf_token),{status_callback:o}=this.options;n&&o&&await Be(n,o);let i;try{let r=`${s}//${e}`;if(i=await this.resolve_config(r),!i)throw new Error(I);return this.config_success(i)}catch(r){if(n&&o)H(n,we.test(n)?"space_name":"subdomain",this.handle_space_success);else throw o&&o({status:"error",message:"Could not load this space.",load_status:"error",detail:"NOT_FOUND"}),Error(r)}}async config_success(s){if(this.config=s,this.api_prefix=s.api_prefix||"",this.config.auth_required)return this.prepare_return_obj();try{this.api_info=await this.view_api()}catch(e){console.error(dt+e.message)}return this.prepare_return_obj()}async handle_space_success(s){if(!this)throw new Error(I);const{status_callback:e}=this.options;if(e&&e(s),s.status==="running")try{if(this.config=await this._resolve_config(),this.api_prefix=this?.config?.api_prefix||"",!this.config)throw new Error(I);return await this.config_success(this.config)}catch(n){throw e&&e({status:"error",message:"Could not load this space.",load_status:"error",detail:"NOT_FOUND"}),n}}async component_server(s,e,n){if(!this.config)throw new Error(I);const o={},{hf_token:i}=this.options,{session_hash:r}=this;i&&(o.Authorization=`Bearer ${this.options.hf_token}`);let a,l=this.config.components.find(p=>p.id===s);l?.props?.root_url?a=l.props.root_url:a=this.config.root;let u;if("binary"in n){u=new FormData;for(const p in n.data)p!=="binary"&&u.append(p,n.data[p]);u.set("component_id",s.toString()),u.set("fn_name",e),u.set("session_hash",r)}else u=JSON.stringify({data:n,component_id:s,fn_name:e,session_hash:r}),o["Content-Type"]="application/json";i&&(o.Authorization=`Bearer ${i}`);try{const p=await this.fetch(`${a}${this.api_prefix}/${ct}/`,{method:"POST",body:u,headers:o,credentials:"include"});if(!p.ok)throw new Error("Could not connect to component server: "+p.statusText);return await p.json()}catch(p){console.warn(p)}}set_cookies(s){this.cookies=Ue(s).join("; ")}prepare_return_obj(){return{config:this.config,predict:this.predict,submit:this.submit,view_api:this.view_api,component_server:this.component_server}}async connect_ws(s){return new Promise((e,n)=>{let o;try{o=new WebSocket(s)}catch{this.ws_map[s]="failed";return}this.ws_map[s]="pending",o.onopen=()=>{this.ws_map[s]=o,e()},o.onerror=i=>{console.error("WebSocket error:",i),this.close_ws(s),this.ws_map[s]="failed",e()},o.onclose=()=>{this.ws_map[s]="closed"},o.onmessage=i=>{}})}async send_ws_message(s,e){if(!(s in this.ws_map))await this.connect_ws(s);else if(this.ws_map[s]==="pending"||this.ws_map[s]==="closed"||this.ws_map[s]==="failed")return;const n=this.ws_map[s];n instanceof WebSocket?n.send(JSON.stringify(e)):this.post_data(s,e)}async close_ws(s){if(s in this.ws_map){const e=this.ws_map[s];e instanceof WebSocket&&(e.close(),delete this.ws_map[s])}}}const is="./assets/index-CCA5X64I.css";let de;de=[];let _e,me,Fe,os=new Promise(t=>{Fe=t});async function rs(){const t=await Promise.all([Z(()=>import("./Index-CDBfCghh.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]),import.meta.url),Z(()=>import("./index-CWx9LkNn.js"),__vite__mapDeps([11,1,2]),import.meta.url)]);_e=t[0].default,me=t[1].mount_css,Fe()}function as(){const t={SvelteComponent:ce.SvelteComponent};for(const e in ce)e!=="SvelteComponent"&&(e==="SvelteComponentDev"?t[e]=t.SvelteComponent:t[e]=ce[e]);window.__gradio__svelte__internal=t;class s extends HTMLElement{control_page_title;initial_height;is_embed;container;info;autoscroll;eager;theme_mode;host;space;src;app;loading;updating;constructor(){super(),this.host=this.getAttribute("host"),this.space=this.getAttribute("space"),this.src=this.getAttribute("src"),this.control_page_title=this.getAttribute("control_page_title"),this.initial_height=this.getAttribute("initial_height")??"300px",this.is_embed=this.getAttribute("embed")??"true",this.container=this.getAttribute("container")??"true",this.info=this.getAttribute("info")??!0,this.autoscroll=this.getAttribute("autoscroll"),this.eager=this.getAttribute("eager"),this.theme_mode=this.getAttribute("theme_mode"),this.updating=!1,this.loading=!1}async connectedCallback(){await rs(),this.loading=!0,this.app&&this.app.$destroy(),typeof de!="string"&&de.forEach(i=>me(i,document.head)),await me(is,document.head);const n=new CustomEvent("domchange",{bubbles:!0,cancelable:!1,composed:!0});new MutationObserver(i=>{this.dispatchEvent(n)}).observe(this,{childList:!0}),this.app=new _e({target:this,props:{space:this.space?this.space.trim():this.space,src:this.src?this.src.trim():this.src,info:this.info!=="false",container:this.container!=="false",is_embed:this.is_embed!=="false",initial_height:this.initial_height,eager:this.eager==="true",version:"5-50-0-dev0",theme_mode:this.theme_mode,autoscroll:this.autoscroll==="true",control_page_title:this.control_page_title==="true",Client:Y,app_mode:window.__gradio_mode__==="app"}}),this.updating&&this.setAttribute(this.updating.name,this.updating.value),this.loading=!1}static get observedAttributes(){return["src","space","host"]}async attributeChangedCallback(n,o,i){if(await os,(n==="host"||n==="space"||n==="src")&&i!==o){if(this.updating={name:n,value:i},this.loading)return;this.app&&this.app.$destroy(),this.space=null,this.host=null,this.src=null,n==="host"?this.host=i:n==="space"?this.space=i:n==="src"&&(this.src=i),this.app=new _e({target:this,props:{space:this.space?this.space.trim():this.space,src:this.src?this.src.trim():this.src,info:this.info!=="false",container:this.container!=="false",is_embed:this.is_embed!=="false",initial_height:this.initial_height,eager:this.eager==="true",version:"5-50-0-dev0",theme_mode:this.theme_mode,autoscroll:this.autoscroll==="true",control_page_title:this.control_page_title==="true",Client:Y,app_mode:window.__gradio_mode__==="app"}}),this.updating=!1}}}customElements.get("gradio-app")||customElements.define("gradio-app",s)}as();export{X as F,Z as _,cs as p}; +//# sourceMappingURL=index-DputZZxm.js.map diff --git a/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-DputZZxm.js.map b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-DputZZxm.js.map new file mode 100644 index 0000000000000000000000000000000000000000..78739e990dd8c93dbdbd1fa4c47c7faca5d1de5d --- /dev/null +++ b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-DputZZxm.js.map @@ -0,0 +1 @@ +{"version":3,"mappings":"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","names":["fn","semiver","a","b","bool","HOST_URL","SSE_URL","SSE_DATA_URL","UPLOAD_URL","LOGIN_URL","CONFIG_URL","API_INFO_URL","RUNTIME_URL","SLEEPTIME_URL","HEARTBEAT_URL","COMPONENT_SERVER_URL","RESET_URL","CANCEL_URL","APP_ID_URL","SPACE_FETCHER_URL","QUEUE_FULL_MSG","BROKEN_CONNECTION_MSG","CONFIG_ERROR_MSG","SPACE_STATUS_ERROR_MSG","API_INFO_ERROR_MSG","SPACE_METADATA_ERROR_MSG","INVALID_URL_MSG","UNAUTHORIZED_MSG","INVALID_CREDENTIALS_MSG","MISSING_CREDENTIALS_MSG","NODEJS_FS_ERROR_MSG","ROOT_URL_ERROR_MSG","FILE_PROCESSING_ERROR_MSG","resolve_root","base_url","root_path","prioritize_base","get_jwt","space","token","cookies","map_names_to_ids","fns","apis","api_name","id","resolve_config","endpoint","headers","config_url","join_urls","response","config","handleConfigResponse","authorized","auth_message","dep","resolve_cookies","http_protocol","host","process_endpoint","cookie_header","get_cookie_header","auth","_fetch","hf_token","formData","res","determine_protocol","protocol","pathname","parse_and_set_cookies","cookie","cookie_name","cookie_value","RE_SPACE_NAME","RE_SPACE_DOMAIN","app_reference","_app_reference","_host","ws_protocol","urls","part","transform_api_info","api_info","api_map","transformed_info","category","parameters","returns","dependencyIndex","dependencyTypes","components","input","c","comp","idx","new_param","e","transform_type","data","component","serializer","signature_type","get_description","get_type","p","r","type","handle_message","last_status","map_data_to_params","endpoint_info","resolved_data","provided_keys","param","index","key","value","view_api","url","upload_files","root_url","files","upload_id","chunkSize","uploadResponses","i","chunk","file","upload_url","error_text","output","upload","file_data","max_file_size","oversized_files","f","FileData","prepare_files","is_stream","path","orig_name","size","blob","mime_type","alt_text","b64","Command","command","meta","update_object","object","newValue","stack","walk_and_store_blobs","root","blob_refs","_","new_path","array_refs","skip_queue","fn_queue","post_message","message","origin","_rej","channel","handle_payload","resolved_payload","dependency","with_null_state","updated_payload","payload_index","deps","input_id","handle_blob","self","process_local_file_commands","blobRefs","file_url","name","client","recursively_process_commands","process_single_command","cmd_item","fileBuffer","fullPath","fs","__vitePreload","n","fileData","error","post_data","body","additional_headers","status","predict","data_returned","status_complete","trimmed_endpoint","resolve","reject","app","result","check_space_status","status_callback","_status","stage","space_name","discussions_enabled","check_and_wake_space","space_id","retries","max_retries","check_interval","RE_DISABLED_DISCUSSION","get_space_hardware","hardware","set_space_timeout","timeout","hardware_types","duplicate","options","_private","v","user","original_hardware","requested_hardware","Client","duplicated_space","get_space_reference","regex","match","TextLineStream","#currentLine","chars","controller","lfIndex","crIndex","endIndex","currentLine","stream","decoder","split","fallback","events","signal","iter","utils.stream","line","reader","event","field","utils.split","init","req","utils.fallback","open_stream","event_callbacks","unclosed_events","pending_stream_messages","stream_status","jwt","that","params","_data","close_stream","event_id","abort_controller","apply_diff_stream","pending_diff_streams","new_data","apply_diff","obj","diff","action","apply_edit","target","current","last_path","readable_stream","instance","submit","event_data","trigger_id","all_events","fire_event","events_to_publish","push_event","close","done","resolvers","push","values","push_error","thenable_reject","next","fetch","session_hash","api_prefix","fn_index","get_endpoint_info","websocket","event_id_final","event_id_cb","_endpoint","payload","complete","url_params","acc","cancel","reset_request","cancel_request","resolve_heartbeat","handle_render_config","render_config","render_id","d","any_state","any_unload","t","_payload","status_code","evt","hostname","callback","original_msg","broken","msg","iterator","stripSlashes","str","url_path","page","_config","heartbeat_url","app_id_url","app_id","configUrl","component_id","fn_name","raw_cookies","ws","ENTRY_CSS","FONTS","IndexComponent","mount_css","_res","pending","get_index","modules","create_custom_element","o","svelte","GradioApp","mutations","old_val","new_val"],"ignoreList":[0,14,15,16],"sources":["../../../../node_modules/.pnpm/semiver@1.1.0/node_modules/semiver/dist/semiver.mjs","../../../../client/js/src/constants.ts","../../../../client/js/src/helpers/init_helpers.ts","../../../../client/js/src/helpers/api_info.ts","../../../../client/js/src/utils/view_api.ts","../../../../client/js/src/utils/upload_files.ts","../../../../client/js/src/upload.ts","../../../../client/js/src/types.ts","../../../../client/js/src/helpers/data.ts","../../../../client/js/src/utils/handle_blob.ts","../../../../client/js/src/utils/post_data.ts","../../../../client/js/src/utils/predict.ts","../../../../client/js/src/helpers/spaces.ts","../../../../client/js/src/utils/duplicate.ts","../../../../node_modules/.pnpm/fetch-event-stream@0.1.5/node_modules/fetch-event-stream/esm/deps/jsr.io/@std/streams/0.221.0/text_line_stream.js","../../../../node_modules/.pnpm/fetch-event-stream@0.1.5/node_modules/fetch-event-stream/esm/utils.js","../../../../node_modules/.pnpm/fetch-event-stream@0.1.5/node_modules/fetch-event-stream/esm/mod.js","../../../../client/js/src/utils/stream.ts","../../../../client/js/src/utils/submit.ts","../../../../client/js/src/client.ts","../../../../js/spa/src/main.ts"],"sourcesContent":["var fn = new Intl.Collator(0, { numeric:1 }).compare;\n\nexport default function (a, b, bool) {\n\ta = a.split('.');\n\tb = b.split('.');\n\n\treturn fn(a[0], b[0]) || fn(a[1], b[1]) || (\n\t\tb[2] = b.slice(2).join('.'),\n\t\tbool = /[.-]/.test(a[2] = a.slice(2).join('.')),\n\t\tbool == /[.-]/.test(b[2]) ? fn(a[2], b[2]) : bool ? -1 : 1\n\t);\n}\n","// endpoints\nexport const HOST_URL = `host`;\nexport const API_URL = `predict/`;\nexport const SSE_URL_V0 = `queue/join`;\nexport const SSE_DATA_URL_V0 = `queue/data`;\nexport const SSE_URL = `queue/data`;\nexport const SSE_DATA_URL = `queue/join`;\nexport const UPLOAD_URL = `upload`;\nexport const LOGIN_URL = `login`;\nexport const CONFIG_URL = `config`;\nexport const API_INFO_URL = `info`;\nexport const RUNTIME_URL = `runtime`;\nexport const SLEEPTIME_URL = `sleeptime`;\nexport const HEARTBEAT_URL = `heartbeat`;\nexport const COMPONENT_SERVER_URL = `component_server`;\nexport const RESET_URL = `reset`;\nexport const CANCEL_URL = `cancel`;\nexport const APP_ID_URL = `app_id`;\n\nexport const RAW_API_INFO_URL = `info?serialize=False`;\nexport const SPACE_FETCHER_URL =\n\t\"https://gradio-space-api-fetcher-v2.hf.space/api\";\nexport const SPACE_URL = \"https://hf.space/{}\";\n\n// messages\nexport const QUEUE_FULL_MSG =\n\t\"This application is currently busy. Please try again. \";\nexport const BROKEN_CONNECTION_MSG = \"Connection errored out. \";\nexport const CONFIG_ERROR_MSG = \"Could not resolve app config. \";\nexport const SPACE_STATUS_ERROR_MSG = \"Could not get space status. \";\nexport const API_INFO_ERROR_MSG = \"Could not get API info. \";\nexport const SPACE_METADATA_ERROR_MSG = \"Space metadata could not be loaded. \";\nexport const INVALID_URL_MSG = \"Invalid URL. A full URL path is required.\";\nexport const UNAUTHORIZED_MSG = \"Not authorized to access this space. \";\nexport const INVALID_CREDENTIALS_MSG = \"Invalid credentials. Could not login. \";\nexport const MISSING_CREDENTIALS_MSG =\n\t\"Login credentials are required to access this space.\";\nexport const NODEJS_FS_ERROR_MSG =\n\t\"File system access is only available in Node.js environments\";\nexport const ROOT_URL_ERROR_MSG = \"Root URL not found in client config\";\nexport const FILE_PROCESSING_ERROR_MSG = \"Error uploading file\";\n","import type { Config } from \"../types\";\nimport {\n\tCONFIG_ERROR_MSG,\n\tCONFIG_URL,\n\tINVALID_CREDENTIALS_MSG,\n\tLOGIN_URL,\n\tMISSING_CREDENTIALS_MSG,\n\tSPACE_METADATA_ERROR_MSG,\n\tUNAUTHORIZED_MSG\n} from \"../constants\";\nimport { Client } from \"..\";\nimport { join_urls, process_endpoint } from \"./api_info\";\n\n/**\n * This function is used to resolve the URL for making requests when the app has a root path.\n * The root path could be a path suffix like \"/app\" which is appended to the end of the base URL. Or\n * it could be a full URL like \"https://abidlabs-test-client-replica--gqf2x.hf.space\" which is used when hosting\n * Gradio apps on Hugging Face Spaces.\n * @param {string} base_url The base URL at which the Gradio server is hosted\n * @param {string} root_path The root path, which could be a path suffix (e.g. mounted in FastAPI app) or a full URL (e.g. hosted on Hugging Face Spaces)\n * @param {boolean} prioritize_base Whether to prioritize the base URL over the root path. This is used when both the base path and root paths are full URLs. For example, for fetching files the root path should be prioritized, but for making requests, the base URL should be prioritized.\n * @returns {string} the resolved URL\n */\nexport function resolve_root(\n\tbase_url: string,\n\troot_path: string,\n\tprioritize_base: boolean\n): string {\n\tif (root_path.startsWith(\"http://\") || root_path.startsWith(\"https://\")) {\n\t\treturn prioritize_base ? base_url : root_path;\n\t}\n\treturn base_url + root_path;\n}\n\nexport async function get_jwt(\n\tspace: string,\n\ttoken: `hf_${string}`,\n\tcookies?: string | null\n): Promise {\n\ttry {\n\t\tconst r = await fetch(`https://huggingface.co/api/spaces/${space}/jwt`, {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${token}`,\n\t\t\t\t...(cookies ? { Cookie: cookies } : {})\n\t\t\t}\n\t\t});\n\n\t\tconst jwt = (await r.json()).token;\n\n\t\treturn jwt || false;\n\t} catch (e) {\n\t\treturn false;\n\t}\n}\n\nexport function map_names_to_ids(\n\tfns: Config[\"dependencies\"]\n): Record {\n\tlet apis: Record = {};\n\n\tfns.forEach(({ api_name, id }) => {\n\t\tif (api_name) apis[api_name] = id;\n\t});\n\treturn apis;\n}\n\nexport async function resolve_config(\n\tthis: Client,\n\tendpoint: string\n): Promise {\n\tconst headers: Record = this.options.hf_token\n\t\t? { Authorization: `Bearer ${this.options.hf_token}` }\n\t\t: {};\n\n\theaders[\"Content-Type\"] = \"application/json\";\n\n\tif (\n\t\ttypeof window !== \"undefined\" &&\n\t\twindow.gradio_config &&\n\t\tlocation.origin !== \"http://localhost:9876\"\n\t) {\n\t\tif (window.gradio_config.current_page) {\n\t\t\tendpoint = endpoint.substring(0, endpoint.lastIndexOf(\"/\"));\n\t\t}\n\t\tif (window.gradio_config.dev_mode) {\n\t\t\tlet config_url = join_urls(\n\t\t\t\tendpoint,\n\t\t\t\tthis.deep_link\n\t\t\t\t\t? CONFIG_URL + \"?deep_link=\" + this.deep_link\n\t\t\t\t\t: CONFIG_URL\n\t\t\t);\n\t\t\tconst response = await this.fetch(config_url, {\n\t\t\t\theaders,\n\t\t\t\tcredentials: \"include\"\n\t\t\t});\n\t\t\tconst config = await handleConfigResponse(\n\t\t\t\tresponse,\n\t\t\t\tendpoint,\n\t\t\t\t!!this.options.auth\n\t\t\t);\n\t\t\t// @ts-ignore\n\t\t\twindow.gradio_config = {\n\t\t\t\t...config,\n\t\t\t\tcurrent_page: window.gradio_config.current_page\n\t\t\t};\n\t\t}\n\t\twindow.gradio_config.root = endpoint;\n\t\t// @ts-ignore\n\t\treturn { ...window.gradio_config } as Config;\n\t} else if (endpoint) {\n\t\tlet config_url = join_urls(\n\t\t\tendpoint,\n\t\t\tthis.deep_link ? CONFIG_URL + \"?deep_link=\" + this.deep_link : CONFIG_URL\n\t\t);\n\n\t\tconst response = await this.fetch(config_url, {\n\t\t\theaders,\n\t\t\tcredentials: \"include\"\n\t\t});\n\n\t\treturn handleConfigResponse(response, endpoint, !!this.options.auth);\n\t}\n\n\tthrow new Error(CONFIG_ERROR_MSG);\n}\n\nasync function handleConfigResponse(\n\tresponse: Response,\n\tendpoint: string,\n\tauthorized: boolean\n): Promise {\n\tif (response?.status === 401 && !authorized) {\n\t\tconst error_data = await response.json();\n\t\tconst auth_message = error_data?.detail?.auth_message;\n\t\tthrow new Error(auth_message || MISSING_CREDENTIALS_MSG);\n\t} else if (response?.status === 401 && authorized) {\n\t\tthrow new Error(INVALID_CREDENTIALS_MSG);\n\t}\n\n\tif (response?.status === 200) {\n\t\tlet config = await response.json();\n\t\tconfig.root = endpoint;\n\t\tconfig.dependencies?.forEach((dep: any, i: number) => {\n\t\t\tif (dep.id === undefined) {\n\t\t\t\tdep.id = i;\n\t\t\t}\n\t\t});\n\t\treturn config;\n\t} else if (response?.status === 401) {\n\t\tthrow new Error(UNAUTHORIZED_MSG);\n\t}\n\n\tthrow new Error(CONFIG_ERROR_MSG);\n}\n\nexport async function resolve_cookies(this: Client): Promise {\n\tconst { http_protocol, host } = await process_endpoint(\n\t\tthis.app_reference,\n\t\tthis.options.hf_token\n\t);\n\n\ttry {\n\t\tif (this.options.auth) {\n\t\t\tconst cookie_header = await get_cookie_header(\n\t\t\t\thttp_protocol,\n\t\t\t\thost,\n\t\t\t\tthis.options.auth,\n\t\t\t\tthis.fetch,\n\t\t\t\tthis.options.hf_token\n\t\t\t);\n\n\t\t\tif (cookie_header) this.set_cookies(cookie_header);\n\t\t}\n\t} catch (e: unknown) {\n\t\tthrow Error((e as Error).message);\n\t}\n}\n\n// separating this from client-bound resolve_cookies so that it can be used in duplicate\nexport async function get_cookie_header(\n\thttp_protocol: string,\n\thost: string,\n\tauth: [string, string],\n\t_fetch: typeof fetch,\n\thf_token?: `hf_${string}`\n): Promise {\n\tconst formData = new FormData();\n\tformData.append(\"username\", auth?.[0]);\n\tformData.append(\"password\", auth?.[1]);\n\n\tlet headers: { Authorization?: string } = {};\n\n\tif (hf_token) {\n\t\theaders.Authorization = `Bearer ${hf_token}`;\n\t}\n\n\tconst res = await _fetch(`${http_protocol}//${host}/${LOGIN_URL}`, {\n\t\theaders,\n\t\tmethod: \"POST\",\n\t\tbody: formData,\n\t\tcredentials: \"include\"\n\t});\n\n\tif (res.status === 200) {\n\t\treturn res.headers.get(\"set-cookie\");\n\t} else if (res.status === 401) {\n\t\tthrow new Error(INVALID_CREDENTIALS_MSG);\n\t} else {\n\t\tthrow new Error(SPACE_METADATA_ERROR_MSG);\n\t}\n}\n\nexport function determine_protocol(endpoint: string): {\n\tws_protocol: \"ws\" | \"wss\";\n\thttp_protocol: \"http:\" | \"https:\";\n\thost: string;\n} {\n\tif (endpoint.startsWith(\"http\")) {\n\t\tconst { protocol, host, pathname } = new URL(endpoint);\n\n\t\treturn {\n\t\t\tws_protocol: protocol === \"https:\" ? \"wss\" : \"ws\",\n\t\t\thttp_protocol: protocol as \"http:\" | \"https:\",\n\t\t\thost: host + (pathname !== \"/\" ? pathname : \"\")\n\t\t};\n\t}\n\n\t// default to secure if no protocol is provided\n\n\treturn {\n\t\tws_protocol: \"wss\",\n\t\thttp_protocol: \"https:\",\n\t\thost: new URL(endpoint).host\n\t};\n}\n\nexport const parse_and_set_cookies = (cookie_header: string): string[] => {\n\tlet cookies: string[] = [];\n\tconst parts = cookie_header.split(/,(?=\\s*[^\\s=;]+=[^\\s=;]+)/);\n\tparts.forEach((cookie) => {\n\t\tconst [cookie_name, cookie_value] = cookie.split(\";\")[0].split(\"=\");\n\t\tif (cookie_name && cookie_value) {\n\t\t\tcookies.push(`${cookie_name.trim()}=${cookie_value.trim()}`);\n\t\t}\n\t});\n\treturn cookies;\n};\n","import {\n\tHOST_URL,\n\tINVALID_URL_MSG,\n\tQUEUE_FULL_MSG,\n\tSPACE_METADATA_ERROR_MSG\n} from \"../constants\";\nimport type {\n\tApiData,\n\tApiInfo,\n\tConfig,\n\tJsApiData,\n\tEndpointInfo,\n\tStatus\n} from \"../types\";\nimport { determine_protocol } from \"./init_helpers\";\n\nexport const RE_SPACE_NAME = /^[a-zA-Z0-9_\\-\\.]+\\/[a-zA-Z0-9_\\-\\.]+$/;\nexport const RE_SPACE_DOMAIN = /.*hf\\.space\\/{0,1}.*$/;\n\nexport async function process_endpoint(\n\tapp_reference: string,\n\thf_token?: `hf_${string}`\n): Promise<{\n\tspace_id: string | false;\n\thost: string;\n\tws_protocol: \"ws\" | \"wss\";\n\thttp_protocol: \"http:\" | \"https:\";\n}> {\n\tconst headers: { Authorization?: string } = {};\n\tif (hf_token) {\n\t\theaders.Authorization = `Bearer ${hf_token}`;\n\t}\n\n\tconst _app_reference = app_reference.trim().replace(/\\/$/, \"\");\n\n\tif (RE_SPACE_NAME.test(_app_reference)) {\n\t\t// app_reference is a HF space name\n\t\ttry {\n\t\t\tconst res = await fetch(\n\t\t\t\t`https://huggingface.co/api/spaces/${_app_reference}/${HOST_URL}`,\n\t\t\t\t{ headers }\n\t\t\t);\n\n\t\t\tconst _host = (await res.json()).host;\n\n\t\t\treturn {\n\t\t\t\tspace_id: app_reference,\n\t\t\t\t...determine_protocol(_host)\n\t\t\t};\n\t\t} catch (e) {\n\t\t\tthrow new Error(SPACE_METADATA_ERROR_MSG);\n\t\t}\n\t}\n\n\tif (RE_SPACE_DOMAIN.test(_app_reference)) {\n\t\t// app_reference is a direct HF space domain\n\t\tconst { ws_protocol, http_protocol, host } =\n\t\t\tdetermine_protocol(_app_reference);\n\n\t\treturn {\n\t\t\tspace_id: host.split(\"/\")[0].replace(\".hf.space\", \"\"),\n\t\t\tws_protocol,\n\t\t\thttp_protocol,\n\t\t\thost\n\t\t};\n\t}\n\n\treturn {\n\t\tspace_id: false,\n\t\t...determine_protocol(_app_reference)\n\t};\n}\n\nexport const join_urls = (...urls: string[]): string => {\n\ttry {\n\t\treturn urls.reduce((base_url: string, part: string) => {\n\t\t\tbase_url = base_url.replace(/\\/+$/, \"\");\n\t\t\tpart = part.replace(/^\\/+/, \"\");\n\t\t\treturn new URL(part, base_url + \"/\").toString();\n\t\t});\n\t} catch (e) {\n\t\tthrow new Error(INVALID_URL_MSG);\n\t}\n};\n\nexport function transform_api_info(\n\tapi_info: ApiInfo,\n\tconfig: Config,\n\tapi_map: Record\n): ApiInfo {\n\tconst transformed_info: ApiInfo = {\n\t\tnamed_endpoints: {},\n\t\tunnamed_endpoints: {}\n\t};\n\n\tObject.keys(api_info).forEach((category) => {\n\t\tif (category === \"named_endpoints\" || category === \"unnamed_endpoints\") {\n\t\t\ttransformed_info[category] = {};\n\n\t\t\tObject.entries(api_info[category]).forEach(\n\t\t\t\t([endpoint, { parameters, returns }]) => {\n\t\t\t\t\tconst dependencyIndex =\n\t\t\t\t\t\tconfig.dependencies.find(\n\t\t\t\t\t\t\t(dep) =>\n\t\t\t\t\t\t\t\tdep.api_name === endpoint ||\n\t\t\t\t\t\t\t\tdep.api_name === endpoint.replace(\"/\", \"\")\n\t\t\t\t\t\t)?.id ||\n\t\t\t\t\t\tapi_map[endpoint.replace(\"/\", \"\")] ||\n\t\t\t\t\t\t-1;\n\n\t\t\t\t\tconst dependencyTypes =\n\t\t\t\t\t\tdependencyIndex !== -1\n\t\t\t\t\t\t\t? config.dependencies.find((dep) => dep.id == dependencyIndex)\n\t\t\t\t\t\t\t\t\t?.types\n\t\t\t\t\t\t\t: { generator: false, cancel: false };\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tdependencyIndex !== -1 &&\n\t\t\t\t\t\tconfig.dependencies.find((dep) => dep.id == dependencyIndex)?.inputs\n\t\t\t\t\t\t\t?.length !== parameters.length\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst components = config.dependencies\n\t\t\t\t\t\t\t.find((dep) => dep.id == dependencyIndex)!\n\t\t\t\t\t\t\t.inputs.map(\n\t\t\t\t\t\t\t\t(input) => config.components.find((c) => c.id === input)?.type\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcomponents.forEach((comp, idx) => {\n\t\t\t\t\t\t\t\tif (comp === \"state\") {\n\t\t\t\t\t\t\t\t\tconst new_param = {\n\t\t\t\t\t\t\t\t\t\tcomponent: \"state\",\n\t\t\t\t\t\t\t\t\t\texample: null,\n\t\t\t\t\t\t\t\t\t\tparameter_default: null,\n\t\t\t\t\t\t\t\t\t\tparameter_has_default: true,\n\t\t\t\t\t\t\t\t\t\tparameter_name: null,\n\t\t\t\t\t\t\t\t\t\thidden: true\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\t\tparameters.splice(idx, 0, new_param);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tconst transform_type = (\n\t\t\t\t\t\tdata: ApiData,\n\t\t\t\t\t\tcomponent: string,\n\t\t\t\t\t\tserializer: string,\n\t\t\t\t\t\tsignature_type: \"return\" | \"parameter\"\n\t\t\t\t\t): JsApiData => ({\n\t\t\t\t\t\t...data,\n\t\t\t\t\t\tdescription: get_description(data?.type, serializer),\n\t\t\t\t\t\ttype:\n\t\t\t\t\t\t\tget_type(data?.type, component, serializer, signature_type) || \"\"\n\t\t\t\t\t});\n\n\t\t\t\t\ttransformed_info[category][endpoint] = {\n\t\t\t\t\t\tparameters: parameters.map((p: ApiData) =>\n\t\t\t\t\t\t\ttransform_type(p, p?.component, p?.serializer, \"parameter\")\n\t\t\t\t\t\t),\n\t\t\t\t\t\treturns: returns.map((r: ApiData) =>\n\t\t\t\t\t\t\ttransform_type(r, r?.component, r?.serializer, \"return\")\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttype: dependencyTypes\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\n\treturn transformed_info;\n}\n\nexport function get_type(\n\ttype: { type: any; description: string },\n\tcomponent: string,\n\tserializer: string,\n\tsignature_type: \"return\" | \"parameter\"\n): string | undefined {\n\tif (component === \"Api\") return type.type;\n\tswitch (type?.type) {\n\t\tcase \"string\":\n\t\t\treturn \"string\";\n\t\tcase \"boolean\":\n\t\t\treturn \"boolean\";\n\t\tcase \"number\":\n\t\t\treturn \"number\";\n\t}\n\n\tif (\n\t\tserializer === \"JSONSerializable\" ||\n\t\tserializer === \"StringSerializable\"\n\t) {\n\t\treturn \"any\";\n\t} else if (serializer === \"ListStringSerializable\") {\n\t\treturn \"string[]\";\n\t} else if (component === \"Image\") {\n\t\treturn signature_type === \"parameter\" ? \"Blob | File | Buffer\" : \"string\";\n\t} else if (serializer === \"FileSerializable\") {\n\t\tif (type?.type === \"array\") {\n\t\t\treturn signature_type === \"parameter\"\n\t\t\t\t? \"(Blob | File | Buffer)[]\"\n\t\t\t\t: `{ name: string; data: string; size?: number; is_file?: boolean; orig_name?: string}[]`;\n\t\t}\n\t\treturn signature_type === \"parameter\"\n\t\t\t? \"Blob | File | Buffer\"\n\t\t\t: `{ name: string; data: string; size?: number; is_file?: boolean; orig_name?: string}`;\n\t} else if (serializer === \"GallerySerializable\") {\n\t\treturn signature_type === \"parameter\"\n\t\t\t? \"[(Blob | File | Buffer), (string | null)][]\"\n\t\t\t: `[{ name: string; data: string; size?: number; is_file?: boolean; orig_name?: string}, (string | null))][]`;\n\t}\n}\n\nexport function get_description(\n\ttype: { type: any; description: string },\n\tserializer: string\n): string {\n\tif (serializer === \"GallerySerializable\") {\n\t\treturn \"array of [file, label] tuples\";\n\t} else if (serializer === \"ListStringSerializable\") {\n\t\treturn \"array of strings\";\n\t} else if (serializer === \"FileSerializable\") {\n\t\treturn \"array of files or single file\";\n\t}\n\treturn type?.description;\n}\n\n/* eslint-disable complexity */\nexport function handle_message(\n\tdata: any,\n\tlast_status: Status[\"stage\"]\n): {\n\ttype:\n\t\t| \"hash\"\n\t\t| \"data\"\n\t\t| \"update\"\n\t\t| \"complete\"\n\t\t| \"generating\"\n\t\t| \"log\"\n\t\t| \"none\"\n\t\t| \"heartbeat\"\n\t\t| \"streaming\"\n\t\t| \"broken_connection\"\n\t\t| \"unexpected_error\";\n\tdata?: any;\n\tstatus?: Status;\n\toriginal_msg?: string;\n} {\n\tconst queue = true;\n\tswitch (data.msg) {\n\t\tcase \"send_data\":\n\t\t\treturn { type: \"data\" };\n\t\tcase \"send_hash\":\n\t\t\treturn { type: \"hash\" };\n\t\tcase \"queue_full\":\n\t\t\treturn {\n\t\t\t\ttype: \"update\",\n\t\t\t\tstatus: {\n\t\t\t\t\tqueue,\n\t\t\t\t\tmessage: QUEUE_FULL_MSG,\n\t\t\t\t\tstage: \"error\",\n\t\t\t\t\tcode: data.code,\n\t\t\t\t\tsuccess: data.success\n\t\t\t\t}\n\t\t\t};\n\t\tcase \"heartbeat\":\n\t\t\treturn {\n\t\t\t\ttype: \"heartbeat\"\n\t\t\t};\n\t\tcase \"unexpected_error\":\n\t\t\treturn {\n\t\t\t\ttype: \"unexpected_error\",\n\t\t\t\tstatus: {\n\t\t\t\t\tqueue,\n\t\t\t\t\tmessage: data.message,\n\t\t\t\t\tsession_not_found: data.session_not_found,\n\t\t\t\t\tstage: \"error\",\n\t\t\t\t\tsuccess: false\n\t\t\t\t}\n\t\t\t};\n\t\tcase \"broken_connection\":\n\t\t\treturn {\n\t\t\t\ttype: \"broken_connection\",\n\t\t\t\tstatus: {\n\t\t\t\t\tqueue,\n\t\t\t\t\tmessage: data.message,\n\t\t\t\t\tstage: \"error\",\n\t\t\t\t\tsuccess: false\n\t\t\t\t}\n\t\t\t};\n\t\tcase \"estimation\":\n\t\t\treturn {\n\t\t\t\ttype: \"update\",\n\t\t\t\tstatus: {\n\t\t\t\t\tqueue,\n\t\t\t\t\tstage: last_status || \"pending\",\n\t\t\t\t\tcode: data.code,\n\t\t\t\t\tsize: data.queue_size,\n\t\t\t\t\tposition: data.rank,\n\t\t\t\t\teta: data.rank_eta,\n\t\t\t\t\tsuccess: data.success\n\t\t\t\t}\n\t\t\t};\n\t\tcase \"progress\":\n\t\t\treturn {\n\t\t\t\ttype: \"update\",\n\t\t\t\tstatus: {\n\t\t\t\t\tqueue,\n\t\t\t\t\tstage: \"pending\",\n\t\t\t\t\tcode: data.code,\n\t\t\t\t\tprogress_data: data.progress_data,\n\t\t\t\t\tsuccess: data.success\n\t\t\t\t}\n\t\t\t};\n\t\tcase \"log\":\n\t\t\treturn { type: \"log\", data: data };\n\t\tcase \"process_generating\":\n\t\t\treturn {\n\t\t\t\ttype: \"generating\",\n\t\t\t\tstatus: {\n\t\t\t\t\tqueue,\n\t\t\t\t\tmessage: !data.success ? data.output.error : null,\n\t\t\t\t\tstage: data.success ? \"generating\" : \"error\",\n\t\t\t\t\tcode: data.code,\n\t\t\t\t\tprogress_data: data.progress_data,\n\t\t\t\t\teta: data.average_duration,\n\t\t\t\t\tchanged_state_ids: data.success\n\t\t\t\t\t\t? data.output.changed_state_ids\n\t\t\t\t\t\t: undefined\n\t\t\t\t},\n\t\t\t\tdata: data.success ? data.output : null\n\t\t\t};\n\t\tcase \"process_streaming\":\n\t\t\treturn {\n\t\t\t\ttype: \"streaming\",\n\t\t\t\tstatus: {\n\t\t\t\t\tqueue,\n\t\t\t\t\tmessage: data.output.error,\n\t\t\t\t\tstage: \"streaming\",\n\t\t\t\t\ttime_limit: data.time_limit,\n\t\t\t\t\tcode: data.code,\n\t\t\t\t\tprogress_data: data.progress_data,\n\t\t\t\t\teta: data.eta\n\t\t\t\t},\n\t\t\t\tdata: data.output\n\t\t\t};\n\t\tcase \"process_completed\":\n\t\t\tif (\"error\" in data.output) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"update\",\n\t\t\t\t\tstatus: {\n\t\t\t\t\t\tqueue,\n\t\t\t\t\t\ttitle: data.output.title as string,\n\t\t\t\t\t\tmessage: data.output.error as string,\n\t\t\t\t\t\tvisible: data.output.visible as boolean,\n\t\t\t\t\t\tduration: data.output.duration as number,\n\t\t\t\t\t\tstage: \"error\",\n\t\t\t\t\t\tcode: data.code,\n\t\t\t\t\t\tsuccess: data.success\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ttype: \"complete\",\n\t\t\t\tstatus: {\n\t\t\t\t\tqueue,\n\t\t\t\t\tmessage: !data.success ? data.output.error : undefined,\n\t\t\t\t\tstage: data.success ? \"complete\" : \"error\",\n\t\t\t\t\tcode: data.code,\n\t\t\t\t\tprogress_data: data.progress_data,\n\t\t\t\t\tchanged_state_ids: data.success\n\t\t\t\t\t\t? data.output.changed_state_ids\n\t\t\t\t\t\t: undefined\n\t\t\t\t},\n\t\t\t\tdata: data.success ? data.output : null\n\t\t\t};\n\n\t\tcase \"process_starts\":\n\t\t\treturn {\n\t\t\t\ttype: \"update\",\n\t\t\t\tstatus: {\n\t\t\t\t\tqueue,\n\t\t\t\t\tstage: \"pending\",\n\t\t\t\t\tcode: data.code,\n\t\t\t\t\tsize: data.rank,\n\t\t\t\t\tposition: 0,\n\t\t\t\t\tsuccess: data.success,\n\t\t\t\t\teta: data.eta\n\t\t\t\t},\n\t\t\t\toriginal_msg: \"process_starts\"\n\t\t\t};\n\t}\n\n\treturn { type: \"none\", status: { stage: \"error\", queue } };\n}\n/* eslint-enable complexity */\n\n/**\n * Maps the provided `data` to the parameters defined by the `/info` endpoint response.\n * This allows us to support both positional and keyword arguments passed to the client\n * and ensures that all parameters are either directly provided or have default values assigned.\n *\n * @param {unknown[] | Record} data - The input data for the function,\n * which can be either an array of values for positional arguments or an object\n * with key-value pairs for keyword arguments.\n * @param {JsApiData[]} parameters - Array of parameter descriptions retrieved from the\n * `/info` endpoint.\n *\n * @returns {unknown[]} - Returns an array of resolved data where each element corresponds\n * to the expected parameter from the API. The `parameter_default` value is used where\n * a value is not provided for a parameter, and optional parameters without defaults are\n * \t\t set to `undefined`.\n *\n * @throws {Error} - Throws an error:\n * - If more arguments are provided than are defined in the parameters.\n * * - If no parameter value is provided for a required parameter and no default value is defined.\n * - If an argument is provided that does not match any defined parameter.\n */\n\nexport const map_data_to_params = (\n\tdata: unknown[] | Record = [],\n\tendpoint_info: EndpointInfo\n): unknown[] => {\n\t// Workaround for the case where the endpoint_info is undefined\n\t// See https://github.com/gradio-app/gradio/pull/8820#issuecomment-2237381761\n\tconst parameters = endpoint_info ? endpoint_info.parameters : [];\n\n\tif (Array.isArray(data)) {\n\t\tif (\n\t\t\tendpoint_info &&\n\t\t\tparameters.length > 0 &&\n\t\t\tdata.length > parameters.length\n\t\t) {\n\t\t\tconsole.warn(\"Too many arguments provided for the endpoint.\");\n\t\t}\n\t\treturn data;\n\t}\n\n\tconst resolved_data: unknown[] = [];\n\tconst provided_keys = Object.keys(data);\n\n\tparameters.forEach((param, index) => {\n\t\tif (data.hasOwnProperty(param.parameter_name)) {\n\t\t\tresolved_data[index] = data[param.parameter_name];\n\t\t} else if (param.parameter_has_default) {\n\t\t\tresolved_data[index] = param.parameter_default;\n\t\t} else {\n\t\t\tthrow new Error(\n\t\t\t\t`No value provided for required parameter: ${param.parameter_name}`\n\t\t\t);\n\t\t}\n\t});\n\n\tprovided_keys.forEach((key) => {\n\t\tif (!parameters.some((param) => param.parameter_name === key)) {\n\t\t\tthrow new Error(\n\t\t\t\t`Parameter \\`${key}\\` is not a valid keyword argument. Please refer to the API for usage.`\n\t\t\t);\n\t\t}\n\t});\n\n\tresolved_data.forEach((value, idx) => {\n\t\tif (value === undefined && !parameters[idx].parameter_has_default) {\n\t\t\tthrow new Error(\n\t\t\t\t`No value provided for required parameter: ${parameters[idx].parameter_name}`\n\t\t\t);\n\t\t}\n\t});\n\n\treturn resolved_data;\n};\n","import type { ApiInfo, ApiData } from \"../types\";\nimport semiver from \"semiver\";\nimport { API_INFO_URL, BROKEN_CONNECTION_MSG } from \"../constants\";\nimport { Client } from \"../client\";\nimport { SPACE_FETCHER_URL } from \"../constants\";\nimport { join_urls, transform_api_info } from \"../helpers/api_info\";\n\nexport async function view_api(this: Client): Promise {\n\tif (this.api_info) return this.api_info;\n\n\tconst { hf_token } = this.options;\n\tconst { config } = this;\n\n\tconst headers: {\n\t\tAuthorization?: string;\n\t\t\"Content-Type\": \"application/json\";\n\t} = { \"Content-Type\": \"application/json\" };\n\n\tif (hf_token) {\n\t\theaders.Authorization = `Bearer ${hf_token}`;\n\t}\n\n\tif (!config) {\n\t\treturn;\n\t}\n\n\ttry {\n\t\tlet response: Response;\n\t\tlet api_info: ApiInfo | { api: ApiInfo };\n\t\tif (typeof window !== \"undefined\" && window.gradio_api_info) {\n\t\t\tapi_info = window.gradio_api_info;\n\t\t} else {\n\t\t\tif (semiver(config?.version || \"2.0.0\", \"3.30\") < 0) {\n\t\t\t\tresponse = await this.fetch(SPACE_FETCHER_URL, {\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\tserialize: false,\n\t\t\t\t\t\tconfig: JSON.stringify(config)\n\t\t\t\t\t}),\n\t\t\t\t\theaders,\n\t\t\t\t\tcredentials: \"include\"\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst url = join_urls(config.root, this.api_prefix, API_INFO_URL);\n\t\t\t\tresponse = await this.fetch(url, {\n\t\t\t\t\theaders,\n\t\t\t\t\tcredentials: \"include\"\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (!response.ok) {\n\t\t\t\tthrow new Error(BROKEN_CONNECTION_MSG);\n\t\t\t}\n\t\t\tapi_info = await response.json();\n\t\t}\n\t\tif (\"api\" in api_info) {\n\t\t\tapi_info = api_info.api;\n\t\t}\n\n\t\tif (\n\t\t\tapi_info.named_endpoints[\"/predict\"] &&\n\t\t\t!api_info.unnamed_endpoints[\"0\"]\n\t\t) {\n\t\t\tapi_info.unnamed_endpoints[0] = api_info.named_endpoints[\"/predict\"];\n\t\t}\n\n\t\treturn transform_api_info(api_info, config, this.api_map);\n\t} catch (e) {\n\t\tthrow new Error(\"Could not get API info. \" + (e as Error).message);\n\t}\n}\n","import type { Client } from \"..\";\nimport { BROKEN_CONNECTION_MSG, UPLOAD_URL } from \"../constants\";\nimport type { UploadResponse } from \"../types\";\n\nexport async function upload_files(\n\tthis: Client,\n\troot_url: string,\n\tfiles: (Blob | File)[],\n\tupload_id?: string\n): Promise {\n\tconst headers: {\n\t\tAuthorization?: string;\n\t} = {};\n\tif (this?.options?.hf_token) {\n\t\theaders.Authorization = `Bearer ${this.options.hf_token}`;\n\t}\n\n\tconst chunkSize = 1000;\n\tconst uploadResponses = [];\n\tlet response: Response;\n\n\tfor (let i = 0; i < files.length; i += chunkSize) {\n\t\tconst chunk = files.slice(i, i + chunkSize);\n\t\tconst formData = new FormData();\n\t\tchunk.forEach((file) => {\n\t\t\tformData.append(\"files\", file);\n\t\t});\n\t\ttry {\n\t\t\tconst upload_url = upload_id\n\t\t\t\t? `${root_url}${this.api_prefix}/${UPLOAD_URL}?upload_id=${upload_id}`\n\t\t\t\t: `${root_url}${this.api_prefix}/${UPLOAD_URL}`;\n\n\t\t\tresponse = await this.fetch(upload_url, {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\tbody: formData,\n\t\t\t\theaders,\n\t\t\t\tcredentials: \"include\"\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tthrow new Error(BROKEN_CONNECTION_MSG + (e as Error).message);\n\t\t}\n\t\tif (!response.ok) {\n\t\t\tconst error_text = await response.text();\n\t\t\treturn { error: `HTTP ${response.status}: ${error_text}` };\n\t\t}\n\t\tconst output: UploadResponse[\"files\"] = await response.json();\n\t\tif (output) {\n\t\t\tuploadResponses.push(...output);\n\t\t}\n\t}\n\treturn { files: uploadResponses };\n}\n","import type { Client } from \"./client\";\n\nexport async function upload(\n\tthis: Client,\n\tfile_data: FileData[],\n\troot_url: string,\n\tupload_id?: string,\n\tmax_file_size?: number\n): Promise<(FileData | null)[] | null> {\n\tlet files = (Array.isArray(file_data) ? file_data : [file_data]).map(\n\t\t(file_data) => file_data.blob!\n\t);\n\n\tconst oversized_files = files.filter(\n\t\t(f) => f.size > (max_file_size ?? Infinity)\n\t);\n\tif (oversized_files.length) {\n\t\tthrow new Error(\n\t\t\t`File size exceeds the maximum allowed size of ${max_file_size} bytes: ${oversized_files\n\t\t\t\t.map((f) => f.name)\n\t\t\t\t.join(\", \")}`\n\t\t);\n\t}\n\n\treturn await Promise.all(\n\t\tawait this.upload_files(root_url, files, upload_id).then(\n\t\t\tasync (response: { files?: string[]; error?: string }) => {\n\t\t\t\tif (response.error) {\n\t\t\t\t\tthrow new Error(response.error);\n\t\t\t\t} else {\n\t\t\t\t\tif (response.files) {\n\t\t\t\t\t\treturn response.files.map((f, i) => {\n\t\t\t\t\t\t\tconst file = new FileData({\n\t\t\t\t\t\t\t\t...file_data[i],\n\t\t\t\t\t\t\t\tpath: f,\n\t\t\t\t\t\t\t\turl: `${root_url}${this.api_prefix}/file=${f}`\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn file;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\t);\n}\n\nexport async function prepare_files(\n\tfiles: File[],\n\tis_stream?: boolean\n): Promise {\n\treturn files.map(\n\t\t(f) =>\n\t\t\tnew FileData({\n\t\t\t\tpath: f.name,\n\t\t\t\torig_name: f.name,\n\t\t\t\tblob: f,\n\t\t\t\tsize: f.size,\n\t\t\t\tmime_type: f.type,\n\t\t\t\tis_stream\n\t\t\t})\n\t);\n}\n\nexport class FileData {\n\tpath: string;\n\turl?: string;\n\torig_name?: string;\n\tsize?: number;\n\tblob?: File;\n\tis_stream?: boolean;\n\tmime_type?: string;\n\talt_text?: string;\n\tb64?: string;\n\treadonly meta = { _type: \"gradio.FileData\" };\n\n\tconstructor({\n\t\tpath,\n\t\turl,\n\t\torig_name,\n\t\tsize,\n\t\tblob,\n\t\tis_stream,\n\t\tmime_type,\n\t\talt_text,\n\t\tb64\n\t}: {\n\t\tpath: string;\n\t\turl?: string;\n\t\torig_name?: string;\n\t\tsize?: number;\n\t\tblob?: File;\n\t\tis_stream?: boolean;\n\t\tmime_type?: string;\n\t\talt_text?: string;\n\t\tb64?: string;\n\t}) {\n\t\tthis.path = path;\n\t\tthis.url = url;\n\t\tthis.orig_name = orig_name;\n\t\tthis.size = size;\n\t\tthis.blob = url ? undefined : blob;\n\t\tthis.is_stream = is_stream;\n\t\tthis.mime_type = mime_type;\n\t\tthis.alt_text = alt_text;\n\t\tthis.b64 = b64;\n\t}\n}\n","// API Data Types\n\nimport { hardware_types } from \"./helpers/spaces\";\nimport type { SvelteComponent } from \"svelte\";\nimport type { ComponentType } from \"svelte\";\n\nexport interface ApiData {\n\tlabel: string;\n\tparameter_name: string;\n\tparameter_default?: any;\n\tparameter_has_default?: boolean;\n\ttype: {\n\t\ttype: any;\n\t\tdescription: string;\n\t};\n\tcomponent: string;\n\texample_input?: any;\n\tpython_type: { type: string; description: string };\n\tserializer: string;\n}\n\nexport interface JsApiData {\n\tlabel: string;\n\tparameter_name: string;\n\tparameter_default?: any;\n\tparameter_has_default?: boolean;\n\ttype: string;\n\tdescription: string;\n\tcomponent: string;\n\texample_input?: any;\n\tserializer: string;\n\tpython_type: { type: string; description: string };\n}\n\nexport interface EndpointInfo {\n\tparameters: T[];\n\treturns: T[];\n\ttype?: DependencyTypes;\n}\n\nexport interface ApiInfo {\n\tnamed_endpoints: Record>;\n\tunnamed_endpoints: Record>;\n}\n\nexport interface BlobRef {\n\tpath: string[];\n\ttype: string | undefined;\n\tblob: Blob | File | false;\n}\n\nexport type DataType = string | Buffer | Record | any[];\n\n// custom class used for uploading local files\nexport class Command {\n\ttype: string;\n\tcommand: string;\n\tmeta: {\n\t\tpath: string;\n\t\tname: string;\n\t\torig_path: string;\n\t};\n\tfileData?: FileData;\n\n\tconstructor(\n\t\tcommand: string,\n\t\tmeta: { path: string; name: string; orig_path: string }\n\t) {\n\t\tthis.type = \"command\";\n\t\tthis.command = command;\n\t\tthis.meta = meta;\n\t}\n}\n\n// Function Signature Types\n\nexport type SubmitFunction = (\n\tendpoint: string | number,\n\tdata?: unknown[] | Record,\n\tevent_data?: unknown,\n\ttrigger_id?: number | null\n) => SubmitIterable;\n\nexport type PredictFunction = (\n\tendpoint: string | number,\n\tdata?: unknown[] | Record,\n\tevent_data?: unknown\n) => Promise;\n\nexport type client_return = {\n\tconfig: Config | undefined;\n\tpredict: PredictFunction;\n\tsubmit: SubmitFunction;\n\tcomponent_server: (\n\t\tcomponent_id: number,\n\t\tfn_name: string,\n\t\tdata: unknown[]\n\t) => any;\n\tview_api: (_fetch: typeof fetch) => Promise>;\n};\n\nexport interface SubmitIterable extends AsyncIterable {\n\t[Symbol.asyncIterator](): AsyncIterator;\n\tcancel: () => Promise;\n\tevent_id: () => string;\n}\n\nexport type PredictReturn = {\n\ttype: EventType;\n\ttime: Date;\n\tdata: unknown;\n\tendpoint: string;\n\tfn_index: number;\n};\n\n// Space Status Types\n\nexport type SpaceStatus = SpaceStatusNormal | SpaceStatusError;\n\nexport interface SpaceStatusNormal {\n\tstatus:\n\t\t| \"sleeping\"\n\t\t| \"running\"\n\t\t| \"building\"\n\t\t| \"error\"\n\t\t| \"stopped\"\n\t\t| \"starting\";\n\tdetail:\n\t\t| \"SLEEPING\"\n\t\t| \"RUNNING\"\n\t\t| \"RUNNING_BUILDING\"\n\t\t| \"BUILDING\"\n\t\t| \"APP_STARTING\"\n\t\t| \"NOT_FOUND\";\n\tload_status: \"pending\" | \"error\" | \"complete\" | \"generating\";\n\tmessage: string;\n}\n\nexport interface SpaceStatusError {\n\tstatus: \"space_error\" | \"paused\";\n\tdetail:\n\t\t| \"NO_APP_FILE\"\n\t\t| \"CONFIG_ERROR\"\n\t\t| \"BUILD_ERROR\"\n\t\t| \"RUNTIME_ERROR\"\n\t\t| \"PAUSED\";\n\tload_status: \"error\";\n\tmessage: string;\n\tdiscussions_enabled: boolean;\n}\n\nexport type SpaceStatusCallback = (a: SpaceStatus) => void;\n\n// Configuration and Response Types\n// --------------------------------\nexport interface Config {\n\tdeep_link_state?: \"none\" | \"valid\" | \"invalid\";\n\tauth_required?: true;\n\tapp_id?: string;\n\tanalytics_enabled: boolean;\n\tconnect_heartbeat: boolean;\n\tdev_mode: boolean;\n\tvibe_mode: boolean;\n\tauth_message: string;\n\tcomponents: ComponentMeta[];\n\tcss: string | null;\n\tjs: string | null;\n\thead: string | null;\n\tdependencies: Dependency[];\n\tenable_queue: boolean;\n\tshow_error: boolean;\n\tlayout: any;\n\tmode: \"blocks\" | \"interface\";\n\troot: string;\n\troot_url?: string;\n\ttheme: string;\n\ttitle: string;\n\tversion: string;\n\tspace_id: string | null;\n\tis_space: boolean;\n\tis_colab: boolean;\n\tshow_api: boolean;\n\tstylesheets: string[];\n\tcurrent_page: string;\n\tpage: Record<\n\t\tstring,\n\t\t{\n\t\t\tcomponents: number[];\n\t\t\tdependencies: number[];\n\t\t\tlayout: any;\n\t\t}\n\t>;\n\tpages: [string, string, boolean][];\n\tprotocol: \"sse_v3\" | \"sse_v2.1\" | \"sse_v2\" | \"sse_v1\" | \"sse\" | \"ws\";\n\tmax_file_size?: number;\n\ttheme_hash?: number;\n\tusername: string | null;\n\tapi_prefix?: string;\n\tfill_height?: boolean;\n\tfill_width?: boolean;\n\tpwa?: boolean;\n\ti18n_translations?: Record> | null;\n\tmcp_server?: boolean;\n}\n\n// todo: DRY up types\nexport interface ComponentMeta {\n\ttype: string;\n\tid: number;\n\thas_modes: boolean;\n\tprops: SharedProps;\n\tinstance: SvelteComponent;\n\tcomponent: ComponentType;\n\tdocumentation?: Documentation;\n\tchildren?: ComponentMeta[];\n\tparent?: ComponentMeta;\n\tvalue?: any;\n\tcomponent_class_id: string;\n\tkey: string | number | null;\n\trendered_in?: number;\n}\n\ninterface SharedProps {\n\telem_id?: string;\n\telem_classes?: string[];\n\tcomponents?: string[];\n\tserver_fns?: string[];\n\tinteractive: boolean;\n\tvisible: boolean | \"hidden\";\n\t[key: string]: unknown;\n\troot_url?: string;\n}\n\nexport interface Documentation {\n\ttype?: TypeDescription;\n\tdescription?: TypeDescription;\n\texample_data?: string;\n}\n\ninterface TypeDescription {\n\tinput_payload?: string;\n\tresponse_object?: string;\n\tpayload?: string;\n}\n\nexport interface Dependency {\n\tid: number;\n\ttargets: [number, string][];\n\tinputs: number[];\n\toutputs: number[];\n\tbackend_fn: boolean;\n\tjs: string | null;\n\tscroll_to_output: boolean;\n\ttrigger: \"click\" | \"load\" | string;\n\tmax_batch_size: number;\n\tshow_progress: \"full\" | \"minimal\" | \"hidden\";\n\tshow_progress_on: number[] | null;\n\tfrontend_fn: ((...args: unknown[]) => Promise) | null;\n\tstatus?: string;\n\tqueue: boolean | null;\n\tevery: number | null;\n\tbatch: boolean;\n\tapi_name: string | null;\n\tcancels: number[];\n\ttypes: DependencyTypes;\n\tcollects_event_data: boolean;\n\tpending_request?: boolean;\n\ttrigger_after?: number;\n\ttrigger_only_on_success?: boolean;\n\ttrigger_only_on_failure?: boolean;\n\ttrigger_mode: \"once\" | \"multiple\" | \"always_last\";\n\tfinal_event: Payload | null;\n\tshow_api: boolean;\n\trendered_in: number | null;\n\trender_id: number | null;\n\tconnection: \"stream\" | \"sse\";\n\ttime_limit: number;\n\tstream_every: number;\n\tlike_user_message: boolean;\n\tevent_specific_args: string[];\n\tjs_implementation: string | null;\n}\n\nexport interface DependencyTypes {\n\tgenerator: boolean;\n\tcancel: boolean;\n}\n\nexport interface Payload {\n\tfn_index: number;\n\tdata: unknown[];\n\ttime?: Date;\n\tevent_data?: unknown;\n\ttrigger_id?: number | null;\n}\n\nexport interface PostResponse {\n\terror?: string;\n\t[x: string]: any;\n}\n\nexport interface UploadResponse {\n\terror?: string;\n\tfiles?: string[];\n}\n\n// Client and File Handling Types\n\nexport interface DuplicateOptions extends ClientOptions {\n\tprivate?: boolean;\n\thardware?: (typeof hardware_types)[number];\n\ttimeout?: number;\n}\n\nexport interface ClientOptions {\n\thf_token?: `hf_${string}`;\n\tstatus_callback?: SpaceStatusCallback | null;\n\tauth?: [string, string] | null;\n\twith_null_state?: boolean;\n\tevents?: EventType[];\n\theaders?: Record;\n\tquery_params?: Record;\n\tsession_hash?: string;\n}\n\nexport interface FileData {\n\tname: string;\n\torig_name?: string;\n\tsize?: number;\n\tdata: string;\n\tblob?: File;\n\tis_file?: boolean;\n\tmime_type?: string;\n\talt_text?: string;\n}\n\n// Event and Listener Types\n\nexport type EventType = \"data\" | \"status\" | \"log\" | \"render\";\n\nexport interface EventMap {\n\tdata: PayloadMessage;\n\tstatus: StatusMessage;\n\tlog: LogMessage;\n\trender: RenderMessage;\n}\n\nexport type GradioEvent = {\n\t[P in EventType]: EventMap[P];\n}[EventType];\n\nexport interface Log {\n\tlog: string;\n\ttitle: string;\n\tlevel: \"warning\" | \"info\" | \"success\";\n}\nexport interface Render {\n\tdata: {\n\t\tcomponents: any[];\n\t\tlayout: any;\n\t\tdependencies: Dependency[];\n\t\trender_id: number;\n\t};\n}\n\nexport interface ValidationError {\n\tis_valid: boolean;\n\tmessage: string;\n}\n\nexport interface Status {\n\tqueue: boolean;\n\tcode?: string;\n\tsuccess?: boolean;\n\tstage: \"pending\" | \"error\" | \"complete\" | \"generating\" | \"streaming\";\n\tduration?: number;\n\tvisible?: boolean;\n\tbroken?: boolean;\n\tsize?: number;\n\tposition?: number;\n\teta?: number;\n\ttitle?: string;\n\tmessage?: string | ValidationError[];\n\tprogress_data?: {\n\t\tprogress: number | null;\n\t\tindex: number | null;\n\t\tlength: number | null;\n\t\tunit: string | null;\n\t\tdesc: string | null;\n\t}[];\n\ttime?: Date;\n\tchanged_state_ids?: number[];\n\ttime_limit?: number;\n\tsession_not_found?: boolean;\n}\n\nexport interface StatusMessage extends Status {\n\ttype: \"status\";\n\tendpoint: string;\n\tfn_index: number;\n\toriginal_msg?: string;\n}\n\nexport interface PayloadMessage extends Payload {\n\ttype: \"data\";\n\tendpoint: string;\n\tfn_index: number;\n}\n\nexport interface LogMessage extends Log {\n\ttype: \"log\";\n\tendpoint: string;\n\tfn_index: number;\n\tduration: number | null;\n\tvisible: boolean;\n}\n\nexport interface RenderMessage extends Render {\n\ttype: \"render\";\n\tendpoint: string;\n\tfn_index: number;\n}\n","import {\n\ttype ApiData,\n\ttype BlobRef,\n\ttype Config,\n\ttype EndpointInfo,\n\ttype JsApiData,\n\ttype DataType,\n\tCommand,\n\ttype Dependency,\n\ttype ComponentMeta\n} from \"../types\";\nimport { FileData } from \"../upload\";\n\nconst is_node =\n\ttypeof process !== \"undefined\" && process.versions && process.versions.node;\n\nexport function update_object(\n\tobject: { [x: string]: any },\n\tnewValue: any,\n\tstack: (string | number)[]\n): void {\n\twhile (stack.length > 1) {\n\t\tconst key = stack.shift();\n\t\tif (typeof key === \"string\" || typeof key === \"number\") {\n\t\t\tobject = object[key];\n\t\t} else {\n\t\t\tthrow new Error(\"Invalid key type\");\n\t\t}\n\t}\n\n\tconst key = stack.shift();\n\tif (typeof key === \"string\" || typeof key === \"number\") {\n\t\tobject[key] = newValue;\n\t} else {\n\t\tthrow new Error(\"Invalid key type\");\n\t}\n}\n\nexport async function walk_and_store_blobs(\n\tdata: DataType,\n\ttype: string | undefined = undefined,\n\tpath: string[] = [],\n\troot = false,\n\tendpoint_info: EndpointInfo | undefined = undefined\n): Promise {\n\tif (Array.isArray(data)) {\n\t\tlet blob_refs: BlobRef[] = [];\n\n\t\tawait Promise.all(\n\t\t\tdata.map(async (_, index) => {\n\t\t\t\tlet new_path = path.slice();\n\t\t\t\tnew_path.push(String(index));\n\n\t\t\t\tconst array_refs = await walk_and_store_blobs(\n\t\t\t\t\tdata[index],\n\t\t\t\t\troot\n\t\t\t\t\t\t? endpoint_info?.parameters[index]?.component || undefined\n\t\t\t\t\t\t: type,\n\t\t\t\t\tnew_path,\n\t\t\t\t\tfalse,\n\t\t\t\t\tendpoint_info\n\t\t\t\t);\n\n\t\t\t\tblob_refs = blob_refs.concat(array_refs);\n\t\t\t})\n\t\t);\n\n\t\treturn blob_refs;\n\t} else if (\n\t\t(globalThis.Buffer && data instanceof globalThis.Buffer) ||\n\t\tdata instanceof Blob\n\t) {\n\t\treturn [\n\t\t\t{\n\t\t\t\tpath: path,\n\t\t\t\tblob: new Blob([data]),\n\t\t\t\ttype\n\t\t\t}\n\t\t];\n\t} else if (typeof data === \"object\" && data !== null) {\n\t\tlet blob_refs: BlobRef[] = [];\n\t\tfor (const key of Object.keys(data) as (keyof typeof data)[]) {\n\t\t\tconst new_path = [...path, key];\n\t\t\tconst value = data[key];\n\n\t\t\tblob_refs = blob_refs.concat(\n\t\t\t\tawait walk_and_store_blobs(\n\t\t\t\t\tvalue,\n\t\t\t\t\tundefined,\n\t\t\t\t\tnew_path,\n\t\t\t\t\tfalse,\n\t\t\t\t\tendpoint_info\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\treturn blob_refs;\n\t}\n\n\treturn [];\n}\n\nexport function skip_queue(id: number, config: Config): boolean {\n\tlet fn_queue = config?.dependencies?.find((dep) => dep.id == id)?.queue;\n\tif (fn_queue != null) {\n\t\treturn !fn_queue;\n\t}\n\treturn !config.enable_queue;\n}\n\n// todo: add jsdoc for this function\n\nexport function post_message(\n\tmessage: any,\n\torigin: string\n): Promise {\n\treturn new Promise((res, _rej) => {\n\t\tconst channel = new MessageChannel();\n\t\tchannel.port1.onmessage = (({ data }) => {\n\t\t\tchannel.port1.close();\n\t\t\tres(data);\n\t\t}) as (ev: MessageEvent) => void;\n\t\twindow.parent.postMessage(message, origin, [channel.port2]);\n\t});\n}\n\nexport function handle_file(\n\tfile_or_url: File | string | Blob | Buffer\n): FileData | Blob | Command {\n\tif (typeof file_or_url === \"string\") {\n\t\tif (\n\t\t\tfile_or_url.startsWith(\"http://\") ||\n\t\t\tfile_or_url.startsWith(\"https://\")\n\t\t) {\n\t\t\treturn {\n\t\t\t\tpath: file_or_url,\n\t\t\t\turl: file_or_url,\n\t\t\t\torig_name: file_or_url.split(\"/\").pop() ?? \"unknown\",\n\t\t\t\tmeta: { _type: \"gradio.FileData\" }\n\t\t\t};\n\t\t}\n\n\t\tif (is_node) {\n\t\t\t// Handle local file paths\n\t\t\treturn new Command(\"upload_file\", {\n\t\t\t\tpath: file_or_url,\n\t\t\t\tname: file_or_url,\n\t\t\t\torig_path: file_or_url\n\t\t\t});\n\t\t}\n\t} else if (typeof File !== \"undefined\" && file_or_url instanceof File) {\n\t\treturn new Blob([file_or_url]);\n\t} else if (file_or_url instanceof Buffer) {\n\t\treturn new Blob([file_or_url]);\n\t} else if (file_or_url instanceof Blob) {\n\t\treturn file_or_url;\n\t}\n\tthrow new Error(\n\t\t\"Invalid input: must be a URL, File, Blob, or Buffer object.\"\n\t);\n}\n\n/**\n * Handles the payload by filtering out state inputs and returning an array of resolved payload values.\n * We send null values for state inputs to the server, but we don't want to include them in the resolved payload.\n *\n * @param resolved_payload - The resolved payload values received from the client or the server\n * @param dependency - The dependency object.\n * @param components - The array of component metadata.\n * @param with_null_state - Optional. Specifies whether to include null values for state inputs. Default is false.\n * @returns An array of resolved payload values, filtered based on the dependency and component metadata.\n */\nexport function handle_payload(\n\tresolved_payload: unknown[],\n\tdependency: Dependency,\n\tcomponents: ComponentMeta[],\n\ttype: \"input\" | \"output\",\n\twith_null_state = false\n): unknown[] {\n\tif (type === \"input\" && !with_null_state) {\n\t\tthrow new Error(\"Invalid code path. Cannot skip state inputs for input.\");\n\t}\n\t// data comes from the server with null state values so we skip\n\tif (type === \"output\" && with_null_state) {\n\t\treturn resolved_payload;\n\t}\n\n\tlet updated_payload: unknown[] = [];\n\tlet payload_index = 0;\n\tconst deps = type === \"input\" ? dependency.inputs : dependency.outputs;\n\tfor (let i = 0; i < deps.length; i++) {\n\t\tconst input_id = deps[i];\n\t\tconst component = components.find((c) => c.id === input_id);\n\n\t\tif (component?.type === \"state\") {\n\t\t\t// input + with_null_state needs us to fill state with null values\n\t\t\tif (with_null_state) {\n\t\t\t\tif (resolved_payload.length === deps.length) {\n\t\t\t\t\tconst value = resolved_payload[payload_index];\n\t\t\t\t\tupdated_payload.push(value);\n\t\t\t\t\tpayload_index++;\n\t\t\t\t} else {\n\t\t\t\t\tupdated_payload.push(null);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// this is output & !with_null_state, we skip state inputs\n\t\t\t\t// the server payload always comes with null state values so we move along the payload index\n\t\t\t\tpayload_index++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t// input & !with_null_state isn't a case we care about, server needs null\n\t\t\tcontinue;\n\t\t} else {\n\t\t\tconst value = resolved_payload[payload_index];\n\t\t\tupdated_payload.push(value);\n\t\t\tpayload_index++;\n\t\t}\n\t}\n\n\treturn updated_payload;\n}\n","import { update_object, walk_and_store_blobs } from \"../helpers/data\";\nimport {\n\tCommand,\n\ttype ApiData,\n\ttype EndpointInfo,\n\ttype JsApiData\n} from \"../types\";\nimport { FileData } from \"../upload\";\nimport type { Client } from \"..\";\nimport {\n\tFILE_PROCESSING_ERROR_MSG,\n\tNODEJS_FS_ERROR_MSG,\n\tROOT_URL_ERROR_MSG\n} from \"../constants\";\n\nexport async function handle_blob(\n\tthis: Client,\n\tendpoint: string,\n\tdata: unknown[],\n\tapi_info: EndpointInfo\n): Promise {\n\tconst self = this;\n\n\tawait process_local_file_commands(self, data);\n\n\tconst blobRefs = await walk_and_store_blobs(\n\t\tdata,\n\t\tundefined,\n\t\t[],\n\t\ttrue,\n\t\tapi_info\n\t);\n\n\tconst results = await Promise.all(\n\t\tblobRefs.map(async ({ path, blob, type }) => {\n\t\t\tif (!blob) return { path, type };\n\n\t\t\tconst response = await self.upload_files(endpoint, [blob]);\n\t\t\tconst file_url = response.files && response.files[0];\n\t\t\treturn {\n\t\t\t\tpath,\n\t\t\t\tfile_url,\n\t\t\t\ttype,\n\t\t\t\tname:\n\t\t\t\t\ttypeof File !== \"undefined\" && blob instanceof File\n\t\t\t\t\t\t? blob?.name\n\t\t\t\t\t\t: undefined\n\t\t\t};\n\t\t})\n\t);\n\n\tresults.forEach(({ path, file_url, type, name }) => {\n\t\tif (type === \"Gallery\") {\n\t\t\tupdate_object(data, file_url, path);\n\t\t} else if (file_url) {\n\t\t\tconst file = new FileData({ path: file_url, orig_name: name });\n\t\t\tupdate_object(data, file, path);\n\t\t}\n\t});\n\n\treturn data;\n}\n\nexport async function process_local_file_commands(\n\tclient: Client,\n\tdata: unknown[]\n): Promise {\n\tconst root = client.config?.root || client.config?.root_url;\n\n\tif (!root) {\n\t\tthrow new Error(ROOT_URL_ERROR_MSG);\n\t}\n\n\tawait recursively_process_commands(client, data);\n}\n\nasync function recursively_process_commands(\n\tclient: Client,\n\tdata: any,\n\tpath: string[] = []\n): Promise {\n\tfor (const key in data) {\n\t\tif (data[key] instanceof Command) {\n\t\t\tawait process_single_command(client, data, key);\n\t\t} else if (typeof data[key] === \"object\" && data[key] !== null) {\n\t\t\tawait recursively_process_commands(client, data[key], [...path, key]);\n\t\t}\n\t}\n}\n\nasync function process_single_command(\n\tclient: Client,\n\tdata: any,\n\tkey: string\n): Promise {\n\tlet cmd_item = data[key] as Command;\n\tconst root = client.config?.root || client.config?.root_url;\n\n\tif (!root) {\n\t\tthrow new Error(ROOT_URL_ERROR_MSG);\n\t}\n\n\ttry {\n\t\tlet fileBuffer: Buffer;\n\t\tlet fullPath: string;\n\n\t\t// check if running in a Node.js environment\n\t\tif (\n\t\t\ttypeof process !== \"undefined\" &&\n\t\t\tprocess.versions &&\n\t\t\tprocess.versions.node\n\t\t) {\n\t\t\tconst fs = await import(\"fs/promises\");\n\t\t\tconst path = await import(\"path\");\n\n\t\t\tfullPath = path.resolve(process.cwd(), cmd_item.meta.path);\n\t\t\tfileBuffer = await fs.readFile(fullPath); // Read file from disk\n\t\t} else {\n\t\t\tthrow new Error(NODEJS_FS_ERROR_MSG);\n\t\t}\n\n\t\tconst file = new Blob([fileBuffer], { type: \"application/octet-stream\" });\n\n\t\tconst response = await client.upload_files(root, [file]);\n\n\t\tconst file_url = response.files && response.files[0];\n\n\t\tif (file_url) {\n\t\t\tconst fileData = new FileData({\n\t\t\t\tpath: file_url,\n\t\t\t\torig_name: cmd_item.meta.name || \"\"\n\t\t\t});\n\n\t\t\t// replace the command object with the fileData object\n\t\t\tdata[key] = fileData;\n\t\t}\n\t} catch (error) {\n\t\tconsole.error(FILE_PROCESSING_ERROR_MSG, error);\n\t}\n}\n","import { BROKEN_CONNECTION_MSG } from \"../constants\";\nimport type { PostResponse } from \"../types\";\nimport { Client } from \"..\";\n\nexport async function post_data(\n\tthis: Client,\n\turl: string,\n\tbody: unknown,\n\tadditional_headers?: any\n): Promise<[PostResponse, number]> {\n\tconst headers: {\n\t\tAuthorization?: string;\n\t\t\"Content-Type\": \"application/json\";\n\t} = { \"Content-Type\": \"application/json\" };\n\tif (this.options.hf_token) {\n\t\theaders.Authorization = `Bearer ${this.options.hf_token}`;\n\t}\n\ttry {\n\t\tvar response = await this.fetch(url, {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify(body),\n\t\t\theaders: { ...headers, ...additional_headers },\n\t\t\tcredentials: \"include\"\n\t\t});\n\t} catch (e) {\n\t\treturn [{ error: BROKEN_CONNECTION_MSG }, 500];\n\t}\n\tlet output: PostResponse;\n\tlet status: number;\n\ttry {\n\t\toutput = await response.json();\n\t\tstatus = response.status;\n\t} catch (e) {\n\t\toutput = { error: `Could not parse server response: ${e}` };\n\t\tstatus = 500;\n\t}\n\treturn [output, status];\n}\n","import { Client } from \"../client\";\nimport type { Dependency, PredictReturn } from \"../types\";\n\nexport async function predict(\n\tthis: Client,\n\tendpoint: string | number,\n\tdata: unknown[] | Record = {}\n): Promise {\n\tlet data_returned = false;\n\tlet status_complete = false;\n\tlet dependency: Dependency;\n\n\tif (!this.config) {\n\t\tthrow new Error(\"Could not resolve app config\");\n\t}\n\n\tif (typeof endpoint === \"number\") {\n\t\tdependency = this.config.dependencies.find((dep) => dep.id == endpoint)!;\n\t} else {\n\t\tconst trimmed_endpoint = endpoint.replace(/^\\//, \"\");\n\t\tdependency = this.config.dependencies.find(\n\t\t\t(dep) => dep.id == this.api_map[trimmed_endpoint]\n\t\t)!;\n\t}\n\n\treturn new Promise(async (resolve, reject) => {\n\t\tconst app = this.submit(endpoint, data, null, null, true);\n\t\tlet result: unknown;\n\n\t\tfor await (const message of app) {\n\t\t\tif (message.type === \"data\") {\n\t\t\t\tif (status_complete) {\n\t\t\t\t\tresolve(result as PredictReturn);\n\t\t\t\t}\n\t\t\t\tdata_returned = true;\n\t\t\t\tresult = message;\n\t\t\t}\n\n\t\t\tif (message.type === \"status\") {\n\t\t\t\tif (message.stage === \"error\") reject(message);\n\t\t\t\tif (message.stage === \"complete\") {\n\t\t\t\t\tstatus_complete = true;\n\t\t\t\t\t// if complete message comes after data, resolve here\n\t\t\t\t\tif (data_returned) {\n\t\t\t\t\t\tresolve(result as PredictReturn);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n}\n","import {\n\tRUNTIME_URL,\n\tSLEEPTIME_URL,\n\tSPACE_STATUS_ERROR_MSG\n} from \"../constants\";\nimport { RE_SPACE_NAME } from \"./api_info\";\nimport type { SpaceStatusCallback } from \"../types\";\n\nexport async function check_space_status(\n\tid: string,\n\ttype: \"subdomain\" | \"space_name\",\n\tstatus_callback: SpaceStatusCallback\n): Promise {\n\tlet endpoint =\n\t\ttype === \"subdomain\"\n\t\t\t? `https://huggingface.co/api/spaces/by-subdomain/${id}`\n\t\t\t: `https://huggingface.co/api/spaces/${id}`;\n\tlet response;\n\tlet _status;\n\ttry {\n\t\tresponse = await fetch(endpoint);\n\t\t_status = response.status;\n\t\tif (_status !== 200) {\n\t\t\tthrow new Error();\n\t\t}\n\t\tresponse = await response.json();\n\t} catch (e) {\n\t\tstatus_callback({\n\t\t\tstatus: \"error\",\n\t\t\tload_status: \"error\",\n\t\t\tmessage: SPACE_STATUS_ERROR_MSG,\n\t\t\tdetail: \"NOT_FOUND\"\n\t\t});\n\t\treturn;\n\t}\n\n\tif (!response || _status !== 200) return;\n\tconst {\n\t\truntime: { stage },\n\t\tid: space_name\n\t} = response;\n\n\tswitch (stage) {\n\t\tcase \"STOPPED\":\n\t\tcase \"SLEEPING\":\n\t\t\tstatus_callback({\n\t\t\t\tstatus: \"sleeping\",\n\t\t\t\tload_status: \"pending\",\n\t\t\t\tmessage: \"Space is asleep. Waking it up...\",\n\t\t\t\tdetail: stage\n\t\t\t});\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tcheck_space_status(id, type, status_callback);\n\t\t\t}, 1000); // poll for status\n\t\t\tbreak;\n\t\tcase \"PAUSED\":\n\t\t\tstatus_callback({\n\t\t\t\tstatus: \"paused\",\n\t\t\t\tload_status: \"error\",\n\t\t\t\tmessage:\n\t\t\t\t\t\"This space has been paused by the author. If you would like to try this demo, consider duplicating the space.\",\n\t\t\t\tdetail: stage,\n\t\t\t\tdiscussions_enabled: await discussions_enabled(space_name)\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"RUNNING\":\n\t\tcase \"RUNNING_BUILDING\":\n\t\t\tstatus_callback({\n\t\t\t\tstatus: \"running\",\n\t\t\t\tload_status: \"complete\",\n\t\t\t\tmessage: \"Space is running.\",\n\t\t\t\tdetail: stage\n\t\t\t});\n\t\t\tbreak;\n\t\tcase \"BUILDING\":\n\t\t\tstatus_callback({\n\t\t\t\tstatus: \"building\",\n\t\t\t\tload_status: \"pending\",\n\t\t\t\tmessage: \"Space is building...\",\n\t\t\t\tdetail: stage\n\t\t\t});\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tcheck_space_status(id, type, status_callback);\n\t\t\t}, 1000);\n\t\t\tbreak;\n\t\tcase \"APP_STARTING\":\n\t\t\tstatus_callback({\n\t\t\t\tstatus: \"starting\",\n\t\t\t\tload_status: \"pending\",\n\t\t\t\tmessage: \"Space is starting...\",\n\t\t\t\tdetail: stage\n\t\t\t});\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tcheck_space_status(id, type, status_callback);\n\t\t\t}, 1000);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tstatus_callback({\n\t\t\t\tstatus: \"space_error\",\n\t\t\t\tload_status: \"error\",\n\t\t\t\tmessage: \"This space is experiencing an issue.\",\n\t\t\t\tdetail: stage,\n\t\t\t\tdiscussions_enabled: await discussions_enabled(space_name)\n\t\t\t});\n\t\t\tbreak;\n\t}\n}\n\nexport const check_and_wake_space = async (\n\tspace_id: string,\n\tstatus_callback: SpaceStatusCallback\n): Promise => {\n\tlet retries = 0;\n\tconst max_retries = 12;\n\tconst check_interval = 5000;\n\n\treturn new Promise((resolve) => {\n\t\tcheck_space_status(\n\t\t\tspace_id,\n\t\t\tRE_SPACE_NAME.test(space_id) ? \"space_name\" : \"subdomain\",\n\t\t\t(status) => {\n\t\t\t\tstatus_callback(status);\n\n\t\t\t\tif (status.status === \"running\") {\n\t\t\t\t\tresolve();\n\t\t\t\t} else if (\n\t\t\t\t\tstatus.status === \"error\" ||\n\t\t\t\t\tstatus.status === \"paused\" ||\n\t\t\t\t\tstatus.status === \"space_error\"\n\t\t\t\t) {\n\t\t\t\t\tresolve();\n\t\t\t\t} else if (\n\t\t\t\t\tstatus.status === \"sleeping\" ||\n\t\t\t\t\tstatus.status === \"building\"\n\t\t\t\t) {\n\t\t\t\t\tif (retries < max_retries) {\n\t\t\t\t\t\tretries++;\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tcheck_and_wake_space(space_id, status_callback).then(resolve);\n\t\t\t\t\t\t}, check_interval);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t});\n};\n\nconst RE_DISABLED_DISCUSSION =\n\t/^(?=[^]*\\b[dD]iscussions{0,1}\\b)(?=[^]*\\b[dD]isabled\\b)[^]*$/;\nexport async function discussions_enabled(space_id: string): Promise {\n\ttry {\n\t\tconst r = await fetch(\n\t\t\t`https://huggingface.co/api/spaces/${space_id}/discussions`,\n\t\t\t{\n\t\t\t\tmethod: \"HEAD\"\n\t\t\t}\n\t\t);\n\n\t\tconst error = r.headers.get(\"x-error-message\");\n\n\t\tif (!r.ok || (error && RE_DISABLED_DISCUSSION.test(error))) return false;\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n}\n\nexport async function get_space_hardware(\n\tspace_id: string,\n\thf_token?: `hf_${string}` | undefined\n): Promise<(typeof hardware_types)[number]> {\n\tconst headers: { Authorization?: string } = {};\n\tif (hf_token) {\n\t\theaders.Authorization = `Bearer ${hf_token}`;\n\t}\n\n\ttry {\n\t\tconst res = await fetch(\n\t\t\t`https://huggingface.co/api/spaces/${space_id}/${RUNTIME_URL}`,\n\t\t\t{ headers }\n\t\t);\n\n\t\tif (res.status !== 200)\n\t\t\tthrow new Error(\"Space hardware could not be obtained.\");\n\n\t\tconst { hardware } = await res.json();\n\n\t\treturn hardware.current;\n\t} catch (e: any) {\n\t\tthrow new Error(e.message);\n\t}\n}\n\nexport async function set_space_timeout(\n\tspace_id: string,\n\ttimeout: number,\n\thf_token?: `hf_${string}`\n): Promise {\n\tconst headers: { Authorization?: string } = {};\n\tif (hf_token) {\n\t\theaders.Authorization = `Bearer ${hf_token}`;\n\t}\n\n\tconst body: {\n\t\tseconds?: number;\n\t} = {\n\t\tseconds: timeout\n\t};\n\n\ttry {\n\t\tconst res = await fetch(\n\t\t\t`https://huggingface.co/api/spaces/${space_id}/${SLEEPTIME_URL}`,\n\t\t\t{\n\t\t\t\tmethod: \"POST\",\n\t\t\t\theaders: { \"Content-Type\": \"application/json\", ...headers },\n\t\t\t\tbody: JSON.stringify(body)\n\t\t\t}\n\t\t);\n\n\t\tif (res.status !== 200) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Could not set sleep timeout on duplicated Space. Please visit *ADD HF LINK TO SETTINGS* to set a timeout manually to reduce billing charges.\"\n\t\t\t);\n\t\t}\n\n\t\tconst response = await res.json();\n\t\treturn response;\n\t} catch (e: any) {\n\t\tthrow new Error(e.message);\n\t}\n}\n\nexport const hardware_types = [\n\t\"cpu-basic\",\n\t\"cpu-upgrade\",\n\t\"cpu-xl\",\n\t\"t4-small\",\n\t\"t4-medium\",\n\t\"a10g-small\",\n\t\"a10g-large\",\n\t\"a10g-largex2\",\n\t\"a10g-largex4\",\n\t\"a100-large\",\n\t\"zero-a10g\",\n\t\"h100\",\n\t\"h100x8\"\n] as const;\n","import {\n\tget_space_hardware,\n\thardware_types,\n\tset_space_timeout\n} from \"../helpers/spaces\";\nimport type { DuplicateOptions } from \"../types\";\nimport { Client } from \"../client\";\nimport { SPACE_METADATA_ERROR_MSG } from \"../constants\";\nimport {\n\tget_cookie_header,\n\tparse_and_set_cookies\n} from \"../helpers/init_helpers\";\nimport { process_endpoint } from \"../helpers/api_info\";\n\nexport async function duplicate(\n\tapp_reference: string,\n\toptions: DuplicateOptions\n): Promise {\n\tconst { hf_token, private: _private, hardware, timeout, auth } = options;\n\n\tif (hardware && !hardware_types.includes(hardware)) {\n\t\tthrow new Error(\n\t\t\t`Invalid hardware type provided. Valid types are: ${hardware_types\n\t\t\t\t.map((v) => `\"${v}\"`)\n\t\t\t\t.join(\",\")}.`\n\t\t);\n\t}\n\n\tconst { http_protocol, host } = await process_endpoint(\n\t\tapp_reference,\n\t\thf_token\n\t);\n\n\tlet cookies: string[] | null = null;\n\n\tif (auth) {\n\t\tconst cookie_header = await get_cookie_header(\n\t\t\thttp_protocol,\n\t\t\thost,\n\t\t\tauth,\n\t\t\tfetch\n\t\t);\n\n\t\tif (cookie_header) cookies = parse_and_set_cookies(cookie_header);\n\t}\n\n\tconst headers = {\n\t\tAuthorization: `Bearer ${hf_token}`,\n\t\t\"Content-Type\": \"application/json\",\n\t\t...(cookies ? { Cookie: cookies.join(\"; \") } : {})\n\t};\n\n\tconst user = (\n\t\tawait (\n\t\t\tawait fetch(`https://huggingface.co/api/whoami-v2`, {\n\t\t\t\theaders\n\t\t\t})\n\t\t).json()\n\t).name;\n\n\tconst space_name = app_reference.split(\"/\")[1];\n\tconst body: {\n\t\trepository: string;\n\t\tprivate?: boolean;\n\t\thardware?: string;\n\t} = {\n\t\trepository: `${user}/${space_name}`\n\t};\n\n\tif (_private) {\n\t\tbody.private = true;\n\t}\n\n\tlet original_hardware;\n\n\ttry {\n\t\tif (!hardware) {\n\t\t\toriginal_hardware = await get_space_hardware(app_reference, hf_token);\n\t\t}\n\t} catch (e) {\n\t\tthrow Error(SPACE_METADATA_ERROR_MSG + (e as Error).message);\n\t}\n\n\tconst requested_hardware = hardware || original_hardware || \"cpu-basic\";\n\n\tbody.hardware = requested_hardware;\n\n\ttry {\n\t\tconst response = await fetch(\n\t\t\t`https://huggingface.co/api/spaces/${app_reference}/duplicate`,\n\t\t\t{\n\t\t\t\tmethod: \"POST\",\n\t\t\t\theaders,\n\t\t\t\tbody: JSON.stringify(body)\n\t\t\t}\n\t\t);\n\n\t\tif (response.status === 409) {\n\t\t\ttry {\n\t\t\t\tconst client = await Client.connect(`${user}/${space_name}`, options);\n\t\t\t\treturn client;\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\"Failed to connect Client instance:\", error);\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t} else if (response.status !== 200) {\n\t\t\tthrow new Error(response.statusText);\n\t\t}\n\n\t\tconst duplicated_space = await response.json();\n\n\t\tawait set_space_timeout(`${user}/${space_name}`, timeout || 300, hf_token);\n\n\t\treturn await Client.connect(\n\t\t\tget_space_reference(duplicated_space.url),\n\t\t\toptions\n\t\t);\n\t} catch (e: any) {\n\t\tthrow new Error(e);\n\t}\n}\n\nfunction get_space_reference(url: string): any {\n\tconst regex = /https:\\/\\/huggingface.co\\/spaces\\/([^/]+\\/[^/]+)/;\n\tconst match = url.match(regex);\n\tif (match) {\n\t\treturn match[1];\n\t}\n}\n","// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.\n// This module is browser compatible.\n/**\n * Transform a stream into a stream where each chunk is divided by a newline,\n * be it `\\n` or `\\r\\n`. `\\r` can be enabled via the `allowCR` option.\n *\n * @example\n * ```ts\n * import { TextLineStream } from \"@std/streams/text-line-stream\";\n *\n * const res = await fetch(\"https://example.com\");\n * const lines = res.body!\n * .pipeThrough(new TextDecoderStream())\n * .pipeThrough(new TextLineStream());\n * ```\n */\nexport class TextLineStream extends TransformStream {\n #currentLine = \"\";\n /** Constructs a new instance. */\n constructor(options = { allowCR: false }) {\n super({\n transform: (chars, controller) => {\n chars = this.#currentLine + chars;\n while (true) {\n const lfIndex = chars.indexOf(\"\\n\");\n const crIndex = options.allowCR ? chars.indexOf(\"\\r\") : -1;\n if (crIndex !== -1 && crIndex !== (chars.length - 1) &&\n (lfIndex === -1 || (lfIndex - 1) > crIndex)) {\n controller.enqueue(chars.slice(0, crIndex));\n chars = chars.slice(crIndex + 1);\n continue;\n }\n if (lfIndex === -1)\n break;\n const endIndex = chars[lfIndex - 1] === \"\\r\" ? lfIndex - 1 : lfIndex;\n controller.enqueue(chars.slice(0, endIndex));\n chars = chars.slice(lfIndex + 1);\n }\n this.#currentLine = chars;\n },\n flush: (controller) => {\n if (this.#currentLine === \"\")\n return;\n const currentLine = options.allowCR && this.#currentLine.endsWith(\"\\r\")\n ? this.#currentLine.slice(0, -1)\n : this.#currentLine;\n controller.enqueue(currentLine);\n },\n });\n }\n}\n","import { TextLineStream } from './deps/jsr.io/@std/streams/0.221.0/text_line_stream.js';\nexport function stream(input) {\n let decoder = new TextDecoderStream();\n let split = new TextLineStream({ allowCR: true });\n return input.pipeThrough(decoder).pipeThrough(split);\n}\nexport function split(input) {\n let rgx = /[:]\\s*/;\n let match = rgx.exec(input);\n // \": comment\" -> index=0 -> ignore\n let idx = match && match.index;\n if (idx) {\n return [\n input.substring(0, idx),\n input.substring(idx + match[0].length),\n ];\n }\n}\nexport function fallback(headers, key, value) {\n let tmp = headers.get(key);\n if (!tmp)\n headers.set(key, value);\n}\n","import * as utils from './utils.js';\n/**\n * Convert a `Response` body containing Server Sent Events (SSE) into an Async Iterator that yields {@linkcode ServerSentEventMessage} objects.\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events}\n *\n * @example\n * ```js\n * // Optional\n * let abort = new AbortController;\n *\n * // Manually fetch a Response\n * let res = await fetch('https://...', {\n * method: 'POST',\n * signal: abort.signal,\n * headers: {\n * 'api-key': 'token ',\n * 'content-type': 'application/json',\n * },\n * body: JSON.stringify({\n * stream: true, // <- hypothetical\n * // ...\n * })\n * });\n *\n * if (res.ok) {\n * let stream = events(res, abort.signal);\n * for await (let event of stream) {\n * console.log('<<', event.data);\n * }\n * }\n * ```\n */\nexport async function* events(res, signal) {\n // TODO: throw error?\n if (!res.body)\n return;\n let iter = utils.stream(res.body);\n let line, reader = iter.getReader();\n let event;\n for (;;) {\n if (signal && signal.aborted) {\n return reader.cancel();\n }\n line = await reader.read();\n if (line.done)\n return;\n if (!line.value) {\n if (event)\n yield event;\n event = undefined;\n continue;\n }\n let [field, value] = utils.split(line.value) || [];\n if (!field)\n continue; // comment or invalid\n if (field === 'data') {\n event ||= {};\n event[field] = event[field] ? (event[field] + '\\n' + value) : value;\n }\n else if (field === 'event') {\n event ||= {};\n event[field] = value;\n }\n else if (field === 'id') {\n event ||= {};\n event[field] = +value || value;\n }\n else if (field === 'retry') {\n event ||= {};\n event[field] = +value || undefined;\n }\n }\n}\n/**\n * Convenience function that will `fetch` with the given arguments and, if ok, will return the {@linkcode events} async iterator.\n *\n * If the response is not ok (status 200-299), the `Response` is thrown.\n *\n * @example\n * ```js\n * // NOTE: throws `Response` if not 2xx status\n * let events = await stream('https://api.openai.com/...', {\n * method: 'POST',\n * headers: {\n * 'Authorization': 'Bearer ',\n * 'Content-Type': 'application/json',\n * },\n * body: JSON.stringify({\n * stream: true,\n * // ...\n * })\n * });\n *\n * for await (let event of events) {\n * console.log('<<', JSON.parse(event.data));\n * }\n * ```\n */\nexport async function stream(input, init) {\n let req = new Request(input, init);\n utils.fallback(req.headers, 'Accept', 'text/event-stream');\n utils.fallback(req.headers, 'Content-Type', 'application/json');\n let r = await fetch(req);\n if (!r.ok)\n throw r;\n return events(r, req.signal);\n}\n","import { BROKEN_CONNECTION_MSG, SSE_URL } from \"../constants\";\nimport type { Client } from \"../client\";\nimport { stream } from \"fetch-event-stream\";\n\nexport async function open_stream(this: Client): Promise {\n\tlet {\n\t\tevent_callbacks,\n\t\tunclosed_events,\n\t\tpending_stream_messages,\n\t\tstream_status,\n\t\tconfig,\n\t\tjwt\n\t} = this;\n\n\tconst that = this;\n\n\tif (!config) {\n\t\tthrow new Error(\"Could not resolve app config\");\n\t}\n\n\tstream_status.open = true;\n\n\tlet stream: EventSource | null = null;\n\tlet params = new URLSearchParams({\n\t\tsession_hash: this.session_hash\n\t}).toString();\n\n\tlet url = new URL(`${config.root}${this.api_prefix}/${SSE_URL}?${params}`);\n\n\tif (jwt) {\n\t\turl.searchParams.set(\"__sign\", jwt);\n\t}\n\n\tstream = this.stream(url);\n\n\tif (!stream) {\n\t\tconsole.warn(\"Cannot connect to SSE endpoint: \" + url.toString());\n\t\treturn;\n\t}\n\n\tstream.onmessage = async function (event: MessageEvent) {\n\t\tlet _data = JSON.parse(event.data);\n\t\tif (_data.msg === \"close_stream\") {\n\t\t\tclose_stream(stream_status, that.abort_controller);\n\t\t\treturn;\n\t\t}\n\t\tconst event_id = _data.event_id;\n\t\tif (!event_id) {\n\t\t\tawait Promise.all(\n\t\t\t\tObject.keys(event_callbacks).map((event_id) =>\n\t\t\t\t\tevent_callbacks[event_id](_data)\n\t\t\t\t)\n\t\t\t);\n\t\t} else if (event_callbacks[event_id] && config) {\n\t\t\tif (\n\t\t\t\t_data.msg === \"process_completed\" &&\n\t\t\t\t[\"sse\", \"sse_v1\", \"sse_v2\", \"sse_v2.1\", \"sse_v3\"].includes(\n\t\t\t\t\tconfig.protocol\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tunclosed_events.delete(event_id);\n\t\t\t}\n\t\t\tlet fn: (data: any) => void = event_callbacks[event_id];\n\n\t\t\tif (typeof window !== \"undefined\" && typeof document !== \"undefined\") {\n\t\t\t\t// fn(_data); // need to do this to put the event on the end of the event loop, so the browser can refresh between callbacks and not freeze in case of quick generations. See\n\t\t\t\tsetTimeout(fn, 0, _data); // need to do this to put the event on the end of the event loop, so the browser can refresh between callbacks and not freeze in case of quick generations. See https://github.com/gradio-app/gradio/pull/7055\n\t\t\t} else {\n\t\t\t\tfn(_data);\n\t\t\t}\n\t\t} else {\n\t\t\tif (!pending_stream_messages[event_id]) {\n\t\t\t\tpending_stream_messages[event_id] = [];\n\t\t\t}\n\t\t\tpending_stream_messages[event_id].push(_data);\n\t\t}\n\t};\n\tstream.onerror = async function (e) {\n\t\tconsole.error(e);\n\t\tawait Promise.all(\n\t\t\tObject.keys(event_callbacks).map((event_id) =>\n\t\t\t\tevent_callbacks[event_id]({\n\t\t\t\t\tmsg: \"broken_connection\",\n\t\t\t\t\tmessage: BROKEN_CONNECTION_MSG\n\t\t\t\t})\n\t\t\t)\n\t\t);\n\t};\n}\n\nexport function close_stream(\n\tstream_status: { open: boolean },\n\tabort_controller: AbortController | null\n): void {\n\tif (stream_status) {\n\t\tstream_status.open = false;\n\t\tabort_controller?.abort();\n\t}\n}\n\nexport function apply_diff_stream(\n\tpending_diff_streams: Record,\n\tevent_id: string,\n\tdata: any\n): void {\n\tlet is_first_generation = !pending_diff_streams[event_id];\n\tif (is_first_generation) {\n\t\tpending_diff_streams[event_id] = [];\n\t\tdata.data.forEach((value: any, i: number) => {\n\t\t\tpending_diff_streams[event_id][i] = value;\n\t\t});\n\t} else {\n\t\tdata.data.forEach((value: any, i: number) => {\n\t\t\tlet new_data = apply_diff(pending_diff_streams[event_id][i], value);\n\t\t\tpending_diff_streams[event_id][i] = new_data;\n\t\t\tdata.data[i] = new_data;\n\t\t});\n\t}\n}\n\nexport function apply_diff(\n\tobj: any,\n\tdiff: [string, (number | string)[], any][]\n): any {\n\tdiff.forEach(([action, path, value]) => {\n\t\tobj = apply_edit(obj, path, action, value);\n\t});\n\n\treturn obj;\n}\n\nfunction apply_edit(\n\ttarget: any,\n\tpath: (number | string)[],\n\taction: string,\n\tvalue: any\n): any {\n\tif (path.length === 0) {\n\t\tif (action === \"replace\") {\n\t\t\treturn value;\n\t\t} else if (action === \"append\") {\n\t\t\treturn target + value;\n\t\t}\n\t\tthrow new Error(`Unsupported action: ${action}`);\n\t}\n\n\tlet current = target;\n\tfor (let i = 0; i < path.length - 1; i++) {\n\t\tcurrent = current[path[i]];\n\t}\n\n\tconst last_path = path[path.length - 1];\n\tswitch (action) {\n\t\tcase \"replace\":\n\t\t\tcurrent[last_path] = value;\n\t\t\tbreak;\n\t\tcase \"append\":\n\t\t\tcurrent[last_path] += value;\n\t\t\tbreak;\n\t\tcase \"add\":\n\t\t\tif (Array.isArray(current)) {\n\t\t\t\tcurrent.splice(Number(last_path), 0, value);\n\t\t\t} else {\n\t\t\t\tcurrent[last_path] = value;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"delete\":\n\t\t\tif (Array.isArray(current)) {\n\t\t\t\tcurrent.splice(Number(last_path), 1);\n\t\t\t} else {\n\t\t\t\tdelete current[last_path];\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown action: ${action}`);\n\t}\n\treturn target;\n}\n\nexport function readable_stream(\n\tinput: RequestInfo | URL,\n\tinit: RequestInit = {}\n): EventSource {\n\tconst instance: EventSource & { readyState: number } = {\n\t\tclose: () => {\n\t\t\tconsole.warn(\"Method not implemented.\");\n\t\t},\n\t\tonerror: null,\n\t\tonmessage: null,\n\t\tonopen: null,\n\t\treadyState: 0,\n\t\turl: input.toString(),\n\t\twithCredentials: false,\n\t\tCONNECTING: 0,\n\t\tOPEN: 1,\n\t\tCLOSED: 2,\n\t\taddEventListener: () => {\n\t\t\tthrow new Error(\"Method not implemented.\");\n\t\t},\n\t\tdispatchEvent: () => {\n\t\t\tthrow new Error(\"Method not implemented.\");\n\t\t},\n\t\tremoveEventListener: () => {\n\t\t\tthrow new Error(\"Method not implemented.\");\n\t\t}\n\t};\n\n\tstream(input, init)\n\t\t.then(async (res) => {\n\t\t\tinstance.readyState = instance.OPEN;\n\t\t\ttry {\n\t\t\t\tfor await (const chunk of res) {\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\tinstance.onmessage && instance.onmessage(chunk);\n\t\t\t\t}\n\t\t\t\tinstance.readyState = instance.CLOSED;\n\t\t\t} catch (e) {\n\t\t\t\tinstance.onerror && instance.onerror(e as Event);\n\t\t\t\tinstance.readyState = instance.CLOSED;\n\t\t\t}\n\t\t})\n\t\t.catch((e) => {\n\t\t\tconsole.error(e);\n\t\t\tinstance.onerror && instance.onerror(e as Event);\n\t\t\tinstance.readyState = instance.CLOSED;\n\t\t});\n\n\treturn instance as EventSource;\n}\n","/* eslint-disable complexity */\nimport type {\n\tStatus,\n\tPayload,\n\tGradioEvent,\n\tJsApiData,\n\tEndpointInfo,\n\tApiInfo,\n\tConfig,\n\tDependency,\n\tSubmitIterable\n} from \"../types\";\n\nimport { skip_queue, post_message, handle_payload } from \"../helpers/data\";\nimport { resolve_root } from \"../helpers/init_helpers\";\nimport {\n\thandle_message,\n\tmap_data_to_params,\n\tprocess_endpoint\n} from \"../helpers/api_info\";\nimport semiver from \"semiver\";\nimport {\n\tBROKEN_CONNECTION_MSG,\n\tQUEUE_FULL_MSG,\n\tSSE_URL,\n\tSSE_DATA_URL,\n\tRESET_URL,\n\tCANCEL_URL\n} from \"../constants\";\nimport { apply_diff_stream, close_stream } from \"./stream\";\nimport { Client } from \"../client\";\n\nexport function submit(\n\tthis: Client,\n\tendpoint: string | number,\n\tdata: unknown[] | Record = {},\n\tevent_data?: unknown,\n\ttrigger_id?: number | null,\n\tall_events?: boolean\n): SubmitIterable {\n\ttry {\n\t\tconst { hf_token } = this.options;\n\t\tconst {\n\t\t\tfetch,\n\t\t\tapp_reference,\n\t\t\tconfig,\n\t\t\tsession_hash,\n\t\t\tapi_info,\n\t\t\tapi_map,\n\t\t\tstream_status,\n\t\t\tpending_stream_messages,\n\t\t\tpending_diff_streams,\n\t\t\tevent_callbacks,\n\t\t\tunclosed_events,\n\t\t\tpost_data,\n\t\t\toptions,\n\t\t\tapi_prefix\n\t\t} = this;\n\n\t\tconst that = this;\n\n\t\tif (!api_info) throw new Error(\"No API found\");\n\t\tif (!config) throw new Error(\"Could not resolve app config\");\n\n\t\tlet { fn_index, endpoint_info, dependency } = get_endpoint_info(\n\t\t\tapi_info,\n\t\t\tendpoint,\n\t\t\tapi_map,\n\t\t\tconfig\n\t\t);\n\n\t\tlet resolved_data = map_data_to_params(data, endpoint_info);\n\n\t\tlet websocket: WebSocket;\n\t\tlet stream: EventSource | null;\n\t\tlet protocol = config.protocol ?? \"ws\";\n\t\tlet event_id_final = \"\";\n\t\tlet event_id_cb: () => string = () => event_id_final;\n\n\t\tconst _endpoint = typeof endpoint === \"number\" ? \"/predict\" : endpoint;\n\t\tlet payload: Payload;\n\t\tlet event_id: string | null = null;\n\t\tlet complete: Status | undefined | false = false;\n\t\tlet last_status: Record = {};\n\t\tlet url_params =\n\t\t\ttypeof window !== \"undefined\" && typeof document !== \"undefined\"\n\t\t\t\t? new URLSearchParams(window.location.search).toString()\n\t\t\t\t: \"\";\n\n\t\tconst events_to_publish =\n\t\t\toptions?.events?.reduce(\n\t\t\t\t(acc, event) => {\n\t\t\t\t\tacc[event] = true;\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t{} as Record\n\t\t\t) || {};\n\n\t\t// event subscription methods\n\t\tfunction fire_event(event: GradioEvent): void {\n\t\t\tif (all_events || events_to_publish[event.type]) {\n\t\t\t\tpush_event(event);\n\t\t\t}\n\t\t}\n\n\t\tasync function cancel(): Promise {\n\t\t\tlet reset_request = {};\n\t\t\tlet cancel_request = {};\n\t\t\tif (protocol === \"ws\") {\n\t\t\t\tif (websocket && websocket.readyState === 0) {\n\t\t\t\t\twebsocket.addEventListener(\"open\", () => {\n\t\t\t\t\t\twebsocket.close();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\twebsocket.close();\n\t\t\t\t}\n\t\t\t\treset_request = { fn_index, session_hash };\n\t\t\t} else {\n\t\t\t\treset_request = { event_id };\n\t\t\t\tcancel_request = { event_id, session_hash, fn_index };\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tif (!config) {\n\t\t\t\t\tthrow new Error(\"Could not resolve app config\");\n\t\t\t\t}\n\n\t\t\t\tif (\"event_id\" in cancel_request) {\n\t\t\t\t\tawait fetch(`${config.root}${api_prefix}/${CANCEL_URL}`, {\n\t\t\t\t\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\t\tbody: JSON.stringify(cancel_request)\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tawait fetch(`${config.root}${api_prefix}/${RESET_URL}`, {\n\t\t\t\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\tbody: JSON.stringify(reset_request)\n\t\t\t\t});\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t\"The `/reset` endpoint could not be called. Subsequent endpoint results may be unreliable.\"\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tconst resolve_heartbeat = async (config: Config): Promise => {\n\t\t\tawait this._resolve_heartbeat(config);\n\t\t};\n\n\t\tasync function handle_render_config(render_config: any): Promise {\n\t\t\tif (!config) return;\n\t\t\tlet render_id: number = render_config.render_id;\n\t\t\tconfig.components = [\n\t\t\t\t...config.components.filter((c) => c.props.rendered_in !== render_id),\n\t\t\t\t...render_config.components\n\t\t\t];\n\t\t\tconfig.dependencies = [\n\t\t\t\t...config.dependencies.filter((d) => d.rendered_in !== render_id),\n\t\t\t\t...render_config.dependencies\n\t\t\t];\n\t\t\tconst any_state = config.components.some((c) => c.type === \"state\");\n\t\t\tconst any_unload = config.dependencies.some((d) =>\n\t\t\t\td.targets.some((t) => t[1] === \"unload\")\n\t\t\t);\n\t\t\tconfig.connect_heartbeat = any_state || any_unload;\n\t\t\tawait resolve_heartbeat(config);\n\t\t\tfire_event({\n\t\t\t\ttype: \"render\",\n\t\t\t\tdata: render_config,\n\t\t\t\tendpoint: _endpoint,\n\t\t\t\tfn_index\n\t\t\t});\n\t\t}\n\n\t\tthis.handle_blob(config.root, resolved_data, endpoint_info).then(\n\t\t\tasync (_payload) => {\n\t\t\t\tlet input_data = handle_payload(\n\t\t\t\t\t_payload,\n\t\t\t\t\tdependency,\n\t\t\t\t\tconfig.components,\n\t\t\t\t\t\"input\",\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t\tpayload = {\n\t\t\t\t\tdata: input_data || [],\n\t\t\t\t\tevent_data,\n\t\t\t\t\tfn_index,\n\t\t\t\t\ttrigger_id\n\t\t\t\t};\n\t\t\t\tif (skip_queue(fn_index, config)) {\n\t\t\t\t\tfire_event({\n\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\tstage: \"pending\",\n\t\t\t\t\t\tqueue: false,\n\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\ttime: new Date()\n\t\t\t\t\t});\n\n\t\t\t\t\tpost_data(\n\t\t\t\t\t\t`${config.root}${api_prefix}/run${\n\t\t\t\t\t\t\t_endpoint.startsWith(\"/\") ? _endpoint : `/${_endpoint}`\n\t\t\t\t\t\t}${url_params ? \"?\" + url_params : \"\"}`,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...payload,\n\t\t\t\t\t\t\tsession_hash\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t\t\t.then(([output, status_code]: any) => {\n\t\t\t\t\t\t\tconst data = output.data;\n\t\t\t\t\t\t\tif (status_code == 200) {\n\t\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\t\ttype: \"data\",\n\t\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\t\t\t\tdata: handle_payload(\n\t\t\t\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\t\t\t\tdependency,\n\t\t\t\t\t\t\t\t\t\tconfig.components,\n\t\t\t\t\t\t\t\t\t\t\"output\",\n\t\t\t\t\t\t\t\t\t\toptions.with_null_state\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttime: new Date(),\n\t\t\t\t\t\t\t\t\tevent_data,\n\t\t\t\t\t\t\t\t\ttrigger_id\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tif (output.render_config) {\n\t\t\t\t\t\t\t\t\thandle_render_config(output.render_config);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\t\t\t\tstage: \"complete\",\n\t\t\t\t\t\t\t\t\teta: output.average_duration,\n\t\t\t\t\t\t\t\t\tqueue: false,\n\t\t\t\t\t\t\t\t\ttime: new Date()\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\t\tstage: \"error\",\n\t\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\t\t\t\tmessage: output.error,\n\t\t\t\t\t\t\t\t\tqueue: false,\n\t\t\t\t\t\t\t\t\ttime: new Date()\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\tstage: \"error\",\n\t\t\t\t\t\t\t\tmessage: e.message,\n\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\t\t\tqueue: false,\n\t\t\t\t\t\t\t\ttime: new Date()\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t} else if (protocol == \"ws\") {\n\t\t\t\t\tconst { ws_protocol, host } = await process_endpoint(\n\t\t\t\t\t\tapp_reference,\n\t\t\t\t\t\thf_token\n\t\t\t\t\t);\n\n\t\t\t\t\tfire_event({\n\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\tstage: \"pending\",\n\t\t\t\t\t\tqueue: true,\n\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\ttime: new Date()\n\t\t\t\t\t});\n\n\t\t\t\t\tlet url = new URL(\n\t\t\t\t\t\t`${ws_protocol}://${resolve_root(\n\t\t\t\t\t\t\thost,\n\t\t\t\t\t\t\tconfig.root as string,\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t)}/queue/join${url_params ? \"?\" + url_params : \"\"}`\n\t\t\t\t\t);\n\n\t\t\t\t\tif (this.jwt) {\n\t\t\t\t\t\turl.searchParams.set(\"__sign\", this.jwt);\n\t\t\t\t\t}\n\n\t\t\t\t\twebsocket = new WebSocket(url);\n\n\t\t\t\t\twebsocket.onclose = (evt) => {\n\t\t\t\t\t\tif (!evt.wasClean) {\n\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\tstage: \"error\",\n\t\t\t\t\t\t\t\tbroken: true,\n\t\t\t\t\t\t\t\tmessage: BROKEN_CONNECTION_MSG,\n\t\t\t\t\t\t\t\tqueue: true,\n\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\t\t\ttime: new Date()\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\twebsocket.onmessage = function (event) {\n\t\t\t\t\t\tconst _data = JSON.parse(event.data);\n\t\t\t\t\t\tconst { type, status, data } = handle_message(\n\t\t\t\t\t\t\t_data,\n\t\t\t\t\t\t\tlast_status[fn_index]\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (type === \"update\" && status && !complete) {\n\t\t\t\t\t\t\t// call 'status' listeners\n\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\t\t\ttime: new Date(),\n\t\t\t\t\t\t\t\t...status\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (status.stage === \"error\") {\n\t\t\t\t\t\t\t\twebsocket.close();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (type === \"hash\") {\n\t\t\t\t\t\t\twebsocket.send(JSON.stringify({ fn_index, session_hash }));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t} else if (type === \"data\") {\n\t\t\t\t\t\t\twebsocket.send(JSON.stringify({ ...payload, session_hash }));\n\t\t\t\t\t\t} else if (type === \"complete\") {\n\t\t\t\t\t\t\tcomplete = status;\n\t\t\t\t\t\t} else if (type === \"log\") {\n\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\ttype: \"log\",\n\t\t\t\t\t\t\t\ttitle: data.title,\n\t\t\t\t\t\t\t\tlog: data.log,\n\t\t\t\t\t\t\t\tlevel: data.level,\n\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\tduration: data.duration,\n\t\t\t\t\t\t\t\tvisible: data.visible,\n\t\t\t\t\t\t\t\tfn_index\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (type === \"generating\") {\n\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\ttime: new Date(),\n\t\t\t\t\t\t\t\t...status,\n\t\t\t\t\t\t\t\tstage: status?.stage!,\n\t\t\t\t\t\t\t\tqueue: true,\n\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\tfn_index\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (data) {\n\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\ttype: \"data\",\n\t\t\t\t\t\t\t\ttime: new Date(),\n\t\t\t\t\t\t\t\tdata: handle_payload(\n\t\t\t\t\t\t\t\t\tdata.data,\n\t\t\t\t\t\t\t\t\tdependency,\n\t\t\t\t\t\t\t\t\tconfig.components,\n\t\t\t\t\t\t\t\t\t\"output\",\n\t\t\t\t\t\t\t\t\toptions.with_null_state\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\t\t\tevent_data,\n\t\t\t\t\t\t\t\ttrigger_id\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tif (complete) {\n\t\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\t\ttime: new Date(),\n\t\t\t\t\t\t\t\t\t...complete,\n\t\t\t\t\t\t\t\t\tstage: status?.stage!,\n\t\t\t\t\t\t\t\t\tqueue: true,\n\t\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\t\tfn_index\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\twebsocket.close();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\t// different ws contract for gradio versions older than 3.6.0\n\t\t\t\t\t//@ts-ignore\n\t\t\t\t\tif (semiver(config.version || \"2.0.0\", \"3.6\") < 0) {\n\t\t\t\t\t\taddEventListener(\"open\", () =>\n\t\t\t\t\t\t\twebsocket.send(JSON.stringify({ hash: session_hash }))\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else if (protocol == \"sse\") {\n\t\t\t\t\tfire_event({\n\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\tstage: \"pending\",\n\t\t\t\t\t\tqueue: true,\n\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\ttime: new Date()\n\t\t\t\t\t});\n\t\t\t\t\tvar params = new URLSearchParams({\n\t\t\t\t\t\tfn_index: fn_index.toString(),\n\t\t\t\t\t\tsession_hash: session_hash\n\t\t\t\t\t}).toString();\n\t\t\t\t\tlet url = new URL(\n\t\t\t\t\t\t`${config.root}${api_prefix}/${SSE_URL}?${\n\t\t\t\t\t\t\turl_params ? url_params + \"&\" : \"\"\n\t\t\t\t\t\t}${params}`\n\t\t\t\t\t);\n\n\t\t\t\t\tif (this.jwt) {\n\t\t\t\t\t\turl.searchParams.set(\"__sign\", this.jwt);\n\t\t\t\t\t}\n\n\t\t\t\t\tstream = this.stream(url);\n\n\t\t\t\t\tif (!stream) {\n\t\t\t\t\t\treturn Promise.reject(\n\t\t\t\t\t\t\tnew Error(\"Cannot connect to SSE endpoint: \" + url.toString())\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tstream.onmessage = async function (event: MessageEvent) {\n\t\t\t\t\t\tconst _data = JSON.parse(event.data);\n\t\t\t\t\t\tconst { type, status, data } = handle_message(\n\t\t\t\t\t\t\t_data,\n\t\t\t\t\t\t\tlast_status[fn_index]\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (type === \"update\" && status && !complete) {\n\t\t\t\t\t\t\t// call 'status' listeners\n\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\t\t\ttime: new Date(),\n\t\t\t\t\t\t\t\t...status\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (status.stage === \"error\") {\n\t\t\t\t\t\t\t\tstream?.close();\n\t\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (type === \"data\") {\n\t\t\t\t\t\t\tlet [_, status] = await post_data(\n\t\t\t\t\t\t\t\t`${config.root}${api_prefix}/queue/data`,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t...payload,\n\t\t\t\t\t\t\t\t\tsession_hash,\n\t\t\t\t\t\t\t\t\tevent_id\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif (status !== 200) {\n\t\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\t\tstage: \"error\",\n\t\t\t\t\t\t\t\t\tmessage: BROKEN_CONNECTION_MSG,\n\t\t\t\t\t\t\t\t\tqueue: true,\n\t\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\t\t\t\ttime: new Date()\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tstream?.close();\n\t\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (type === \"complete\") {\n\t\t\t\t\t\t\tcomplete = status;\n\t\t\t\t\t\t} else if (type === \"log\") {\n\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\ttype: \"log\",\n\t\t\t\t\t\t\t\ttitle: data.title,\n\t\t\t\t\t\t\t\tlog: data.log,\n\t\t\t\t\t\t\t\tlevel: data.level,\n\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\tduration: data.duration,\n\t\t\t\t\t\t\t\tvisible: data.visible,\n\t\t\t\t\t\t\t\tfn_index\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (type === \"generating\" || type === \"streaming\") {\n\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\ttime: new Date(),\n\t\t\t\t\t\t\t\t...status,\n\t\t\t\t\t\t\t\tstage: status?.stage!,\n\t\t\t\t\t\t\t\tqueue: true,\n\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\tfn_index\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (data) {\n\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\ttype: \"data\",\n\t\t\t\t\t\t\t\ttime: new Date(),\n\t\t\t\t\t\t\t\tdata: handle_payload(\n\t\t\t\t\t\t\t\t\tdata.data,\n\t\t\t\t\t\t\t\t\tdependency,\n\t\t\t\t\t\t\t\t\tconfig.components,\n\t\t\t\t\t\t\t\t\t\"output\",\n\t\t\t\t\t\t\t\t\toptions.with_null_state\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\t\t\tevent_data,\n\t\t\t\t\t\t\t\ttrigger_id\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tif (complete) {\n\t\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\t\ttime: new Date(),\n\t\t\t\t\t\t\t\t\t...complete,\n\t\t\t\t\t\t\t\t\tstage: status?.stage!,\n\t\t\t\t\t\t\t\t\tqueue: true,\n\t\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\t\tfn_index\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tstream?.close();\n\t\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t} else if (\n\t\t\t\t\tprotocol == \"sse_v1\" ||\n\t\t\t\t\tprotocol == \"sse_v2\" ||\n\t\t\t\t\tprotocol == \"sse_v2.1\" ||\n\t\t\t\t\tprotocol == \"sse_v3\"\n\t\t\t\t) {\n\t\t\t\t\t// latest API format. v2 introduces sending diffs for intermediate outputs in generative functions, which makes payloads lighter.\n\t\t\t\t\t// v3 only closes the stream when the backend sends the close stream message.\n\t\t\t\t\tfire_event({\n\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\tstage: \"pending\",\n\t\t\t\t\t\tqueue: true,\n\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\ttime: new Date()\n\t\t\t\t\t});\n\t\t\t\t\tlet hostname = \"\";\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof window !== \"undefined\" &&\n\t\t\t\t\t\ttypeof document !== \"undefined\"\n\t\t\t\t\t) {\n\t\t\t\t\t\thostname = window?.location?.hostname;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet hfhubdev = \"dev.spaces.huggingface.tech\";\n\t\t\t\t\tconst origin = hostname.includes(\".dev.\")\n\t\t\t\t\t\t? `https://moon-${hostname.split(\".\")[1]}.${hfhubdev}`\n\t\t\t\t\t\t: `https://huggingface.co`;\n\n\t\t\t\t\tconst is_zerogpu_iframe =\n\t\t\t\t\t\ttypeof window !== \"undefined\" &&\n\t\t\t\t\t\ttypeof document !== \"undefined\" &&\n\t\t\t\t\t\twindow.parent != window &&\n\t\t\t\t\t\twindow.supports_zerogpu_headers;\n\t\t\t\t\tconst zerogpu_auth_promise = is_zerogpu_iframe\n\t\t\t\t\t\t? post_message>(\"zerogpu-headers\", origin)\n\t\t\t\t\t\t: Promise.resolve(null);\n\t\t\t\t\tconst post_data_promise = zerogpu_auth_promise.then((headers) => {\n\t\t\t\t\t\treturn post_data(\n\t\t\t\t\t\t\t`${config.root}${api_prefix}/${SSE_DATA_URL}?${url_params}`,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t...payload,\n\t\t\t\t\t\t\t\tsession_hash\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\theaders\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t\tpost_data_promise.then(async ([response, status]: any) => {\n\t\t\t\t\t\tif (status === 503) {\n\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\tstage: \"error\",\n\t\t\t\t\t\t\t\tmessage: QUEUE_FULL_MSG,\n\t\t\t\t\t\t\t\tqueue: true,\n\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\t\t\ttime: new Date()\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (status === 422) {\n\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\tstage: \"error\",\n\t\t\t\t\t\t\t\tmessage: response.detail,\n\t\t\t\t\t\t\t\tqueue: true,\n\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\t\t\tcode: \"validation_error\",\n\t\t\t\t\t\t\t\ttime: new Date()\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t} else if (status !== 200) {\n\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\tstage: \"error\",\n\t\t\t\t\t\t\t\tbroken: false,\n\t\t\t\t\t\t\t\tmessage: response.detail,\n\t\t\t\t\t\t\t\tqueue: true,\n\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\t\t\ttime: new Date()\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tevent_id = response.event_id as string;\n\t\t\t\t\t\t\tevent_id_final = event_id;\n\t\t\t\t\t\t\tlet callback = async function (_data: object): Promise {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tconst { type, status, data, original_msg } = handle_message(\n\t\t\t\t\t\t\t\t\t\t_data,\n\t\t\t\t\t\t\t\t\t\tlast_status[fn_index]\n\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\tif (type == \"heartbeat\") {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif (type === \"update\" && status && !complete) {\n\t\t\t\t\t\t\t\t\t\t// call 'status' listeners\n\t\t\t\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\t\t\t\t\t\ttime: new Date(),\n\t\t\t\t\t\t\t\t\t\t\toriginal_msg: original_msg,\n\t\t\t\t\t\t\t\t\t\t\t...status\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t} else if (type === \"complete\") {\n\t\t\t\t\t\t\t\t\t\tcomplete = status;\n\t\t\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\t\t\ttype == \"unexpected_error\" ||\n\t\t\t\t\t\t\t\t\t\ttype == \"broken_connection\"\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tconsole.error(\"Unexpected error\", status?.message);\n\t\t\t\t\t\t\t\t\t\tconst broken = type === \"broken_connection\";\n\t\t\t\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\t\t\t\tstage: \"error\",\n\t\t\t\t\t\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\t\t\t\t\t\tstatus?.message || \"An Unexpected Error Occurred!\",\n\t\t\t\t\t\t\t\t\t\t\tqueue: true,\n\t\t\t\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\t\t\t\tbroken,\n\t\t\t\t\t\t\t\t\t\t\tsession_not_found: status?.session_not_found,\n\t\t\t\t\t\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\t\t\t\t\t\ttime: new Date()\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t} else if (type === \"log\") {\n\t\t\t\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"log\",\n\t\t\t\t\t\t\t\t\t\t\ttitle: data.title,\n\t\t\t\t\t\t\t\t\t\t\tlog: data.log,\n\t\t\t\t\t\t\t\t\t\t\tlevel: data.level,\n\t\t\t\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\t\t\t\tduration: data.duration,\n\t\t\t\t\t\t\t\t\t\t\tvisible: data.visible,\n\t\t\t\t\t\t\t\t\t\t\tfn_index\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t} else if (type === \"generating\" || type === \"streaming\") {\n\t\t\t\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\t\t\t\ttime: new Date(),\n\t\t\t\t\t\t\t\t\t\t\t...status,\n\t\t\t\t\t\t\t\t\t\t\tstage: status?.stage!,\n\t\t\t\t\t\t\t\t\t\t\tqueue: true,\n\t\t\t\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\t\t\t\tfn_index\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\tdata &&\n\t\t\t\t\t\t\t\t\t\t\tdependency.connection !== \"stream\" &&\n\t\t\t\t\t\t\t\t\t\t\t[\"sse_v2\", \"sse_v2.1\", \"sse_v3\"].includes(protocol)\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tapply_diff_stream(pending_diff_streams, event_id!, data);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (data) {\n\t\t\t\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"data\",\n\t\t\t\t\t\t\t\t\t\t\ttime: new Date(),\n\t\t\t\t\t\t\t\t\t\t\tdata: handle_payload(\n\t\t\t\t\t\t\t\t\t\t\t\tdata.data,\n\t\t\t\t\t\t\t\t\t\t\t\tdependency,\n\t\t\t\t\t\t\t\t\t\t\t\tconfig.components,\n\t\t\t\t\t\t\t\t\t\t\t\t\"output\",\n\t\t\t\t\t\t\t\t\t\t\t\toptions.with_null_state\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\t\t\t\tfn_index\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tif (data.render_config) {\n\t\t\t\t\t\t\t\t\t\t\tawait handle_render_config(data.render_config);\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif (complete) {\n\t\t\t\t\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\t\t\t\t\ttime: new Date(),\n\t\t\t\t\t\t\t\t\t\t\t\t...complete,\n\t\t\t\t\t\t\t\t\t\t\t\tstage: status?.stage!,\n\t\t\t\t\t\t\t\t\t\t\t\tqueue: true,\n\t\t\t\t\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\t\t\t\t\tfn_index\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tstatus?.stage === \"complete\" ||\n\t\t\t\t\t\t\t\t\t\tstatus?.stage === \"error\"\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\tif (event_callbacks[event_id!]) {\n\t\t\t\t\t\t\t\t\t\t\tdelete event_callbacks[event_id!];\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (event_id! in pending_diff_streams) {\n\t\t\t\t\t\t\t\t\t\t\tdelete pending_diff_streams[event_id!];\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\tconsole.error(\"Unexpected client exception\", e);\n\t\t\t\t\t\t\t\t\tfire_event({\n\t\t\t\t\t\t\t\t\t\ttype: \"status\",\n\t\t\t\t\t\t\t\t\t\tstage: \"error\",\n\t\t\t\t\t\t\t\t\t\tmessage: \"An Unexpected Error Occurred!\",\n\t\t\t\t\t\t\t\t\t\tqueue: true,\n\t\t\t\t\t\t\t\t\t\tendpoint: _endpoint,\n\t\t\t\t\t\t\t\t\t\tfn_index,\n\t\t\t\t\t\t\t\t\t\ttime: new Date()\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tif ([\"sse_v2\", \"sse_v2.1\", \"sse_v3\"].includes(protocol)) {\n\t\t\t\t\t\t\t\t\t\tclose_stream(stream_status, that.abort_controller);\n\t\t\t\t\t\t\t\t\t\tstream_status.open = false;\n\t\t\t\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tif (event_id in pending_stream_messages) {\n\t\t\t\t\t\t\t\tpending_stream_messages[event_id].forEach((msg) =>\n\t\t\t\t\t\t\t\t\tcallback(msg)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tdelete pending_stream_messages[event_id];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tevent_callbacks[event_id] = callback;\n\t\t\t\t\t\t\tunclosed_events.add(event_id);\n\t\t\t\t\t\t\tif (!stream_status.open) {\n\t\t\t\t\t\t\t\tawait this.open_stream();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\tlet done = false;\n\t\tconst values: (IteratorResult | PromiseLike)[] = [];\n\t\tconst resolvers: ((\n\t\t\tvalue: IteratorResult | PromiseLike\n\t\t) => void)[] = [];\n\n\t\tfunction close(): void {\n\t\t\tdone = true;\n\t\t\twhile (resolvers.length > 0)\n\t\t\t\t(resolvers.shift() as (typeof resolvers)[0])({\n\t\t\t\t\tvalue: undefined,\n\t\t\t\t\tdone: true\n\t\t\t\t});\n\t\t}\n\n\t\tfunction push(\n\t\t\tdata: { value: GradioEvent; done: boolean } | PromiseLike\n\t\t): void {\n\t\t\tif (resolvers.length > 0) {\n\t\t\t\t(resolvers.shift() as (typeof resolvers)[0])(data);\n\t\t\t} else {\n\t\t\t\tvalues.push(data);\n\t\t\t}\n\t\t}\n\n\t\tfunction push_error(error: unknown): void {\n\t\t\tpush(thenable_reject(error));\n\t\t\tclose();\n\t\t}\n\n\t\tfunction push_event(event: GradioEvent): void {\n\t\t\tpush({ value: event, done: false });\n\t\t}\n\n\t\tfunction next(): Promise> {\n\t\t\tif (values.length > 0) {\n\t\t\t\treturn Promise.resolve(values.shift() as (typeof values)[0]);\n\t\t\t}\n\t\t\treturn new Promise((resolve) => resolvers.push(resolve));\n\t\t}\n\n\t\tconst iterator = {\n\t\t\t[Symbol.asyncIterator]: () => iterator,\n\t\t\tnext,\n\t\t\tthrow: async (value: unknown) => {\n\t\t\t\tpush_error(value);\n\t\t\t\treturn next();\n\t\t\t},\n\t\t\treturn: async () => {\n\t\t\t\tclose();\n\t\t\t\treturn next();\n\t\t\t},\n\t\t\tcancel,\n\t\t\tevent_id: event_id_cb\n\t\t};\n\n\t\treturn iterator;\n\t} catch (error) {\n\t\tconsole.error(\"Submit function encountered an error:\", error);\n\t\tthrow error;\n\t}\n}\n\nfunction thenable_reject(error: T): PromiseLike {\n\treturn {\n\t\tthen: (\n\t\t\tresolve: (value: never) => PromiseLike,\n\t\t\treject: (error: T) => PromiseLike\n\t\t) => reject(error)\n\t};\n}\n\nfunction get_endpoint_info(\n\tapi_info: ApiInfo,\n\tendpoint: string | number,\n\tapi_map: Record,\n\tconfig: Config\n): {\n\tfn_index: number;\n\tendpoint_info: EndpointInfo;\n\tdependency: Dependency;\n} {\n\tlet fn_index: number;\n\tlet endpoint_info: EndpointInfo;\n\tlet dependency: Dependency;\n\n\tif (typeof endpoint === \"number\") {\n\t\tfn_index = endpoint;\n\t\tendpoint_info = api_info.unnamed_endpoints[fn_index];\n\t\tdependency = config.dependencies.find((dep) => dep.id == endpoint)!;\n\t} else {\n\t\tconst trimmed_endpoint = endpoint.replace(/^\\//, \"\");\n\n\t\tfn_index = api_map[trimmed_endpoint];\n\t\tendpoint_info = api_info.named_endpoints[endpoint.trim()];\n\t\tdependency = config.dependencies.find(\n\t\t\t(dep) => dep.id == api_map[trimmed_endpoint]\n\t\t)!;\n\t}\n\n\tif (typeof fn_index !== \"number\") {\n\t\tthrow new Error(\n\t\t\t\"There is no endpoint matching that name of fn_index matching that number.\"\n\t\t);\n\t}\n\treturn { fn_index, endpoint_info, dependency };\n}\n","import type {\n\tApiData,\n\tApiInfo,\n\tClientOptions,\n\tConfig,\n\tDuplicateOptions,\n\tEndpointInfo,\n\tJsApiData,\n\tPredictReturn,\n\tSpaceStatus,\n\tStatus,\n\tUploadResponse,\n\tclient_return,\n\tSubmitIterable,\n\tGradioEvent\n} from \"./types\";\nimport { view_api } from \"./utils/view_api\";\nimport { upload_files } from \"./utils/upload_files\";\nimport { upload, FileData } from \"./upload\";\nimport { handle_blob } from \"./utils/handle_blob\";\nimport { post_data } from \"./utils/post_data\";\nimport { predict } from \"./utils/predict\";\nimport { duplicate } from \"./utils/duplicate\";\nimport { submit } from \"./utils/submit\";\nimport { RE_SPACE_NAME, process_endpoint } from \"./helpers/api_info\";\nimport {\n\tmap_names_to_ids,\n\tresolve_cookies,\n\tresolve_config,\n\tget_jwt,\n\tparse_and_set_cookies\n} from \"./helpers/init_helpers\";\nimport { check_and_wake_space, check_space_status } from \"./helpers/spaces\";\nimport { open_stream, readable_stream, close_stream } from \"./utils/stream\";\nimport {\n\tAPI_INFO_ERROR_MSG,\n\tAPP_ID_URL,\n\tCONFIG_ERROR_MSG,\n\tHEARTBEAT_URL,\n\tCOMPONENT_SERVER_URL\n} from \"./constants\";\n\ndeclare const BROWSER_BUILD: boolean;\n\nexport class Client {\n\tapp_reference: string;\n\toptions: ClientOptions;\n\tdeep_link: string | null = null;\n\n\tconfig: Config | undefined;\n\tapi_prefix = \"\";\n\tapi_info: ApiInfo | undefined;\n\tapi_map: Record = {};\n\tsession_hash: string = Math.random().toString(36).substring(2);\n\tjwt: string | false = false;\n\tlast_status: Record = {};\n\n\tprivate cookies: string | null = null;\n\n\t// streaming\n\tstream_status = { open: false };\n\tclosed = false;\n\tpending_stream_messages: Record = {};\n\tpending_diff_streams: Record = {};\n\tevent_callbacks: Record Promise> = {};\n\tunclosed_events: Set = new Set();\n\theartbeat_event: EventSource | null = null;\n\tabort_controller: AbortController | null = null;\n\tstream_instance: EventSource | null = null;\n\tcurrent_payload: any;\n\tws_map: Record = {};\n\n\tget_url_config(url: string | null = null): Config {\n\t\tif (!this.config) {\n\t\t\tthrow new Error(CONFIG_ERROR_MSG);\n\t\t}\n\t\tif (url === null) {\n\t\t\turl = window.location.href;\n\t\t}\n\t\tconst stripSlashes = (str: string): string => str.replace(/^\\/+|\\/+$/g, \"\");\n\t\tlet root_path = stripSlashes(new URL(this.config.root).pathname);\n\t\tlet url_path = stripSlashes(new URL(url).pathname);\n\t\tlet page: string;\n\t\tif (!url_path.startsWith(root_path)) {\n\t\t\tpage = \"\";\n\t\t} else {\n\t\t\tpage = stripSlashes(url_path.substring(root_path.length));\n\t\t}\n\t\treturn this.get_page_config(page);\n\t}\n\tget_page_config(page: string): Config {\n\t\tif (!this.config) {\n\t\t\tthrow new Error(CONFIG_ERROR_MSG);\n\t\t}\n\t\tlet config = this.config;\n\t\tif (!(page in config.page)) {\n\t\t\tpage = \"\";\n\t\t}\n\t\treturn {\n\t\t\t...config,\n\t\t\tcurrent_page: page,\n\t\t\tlayout: config.page[page].layout,\n\t\t\tcomponents: config.components.filter((c) =>\n\t\t\t\tconfig.page[page].components.includes(c.id)\n\t\t\t),\n\t\t\tdependencies: this.config.dependencies.filter((d) =>\n\t\t\t\tconfig.page[page].dependencies.includes(d.id)\n\t\t\t)\n\t\t};\n\t}\n\n\tfetch(input: RequestInfo | URL, init?: RequestInit): Promise {\n\t\tconst headers = new Headers(init?.headers || {});\n\t\tif (this && this.cookies) {\n\t\t\theaders.append(\"Cookie\", this.cookies);\n\t\t}\n\t\tif (this && this.options.headers) {\n\t\t\tfor (const name in this.options.headers) {\n\t\t\t\theaders.append(name, this.options.headers[name]);\n\t\t\t}\n\t\t}\n\n\t\treturn fetch(input, { ...init, headers });\n\t}\n\n\tstream(url: URL): EventSource {\n\t\tconst headers = new Headers();\n\t\tif (this && this.cookies) {\n\t\t\theaders.append(\"Cookie\", this.cookies);\n\t\t}\n\t\tif (this && this.options.headers) {\n\t\t\tfor (const name in this.options.headers) {\n\t\t\t\theaders.append(name, this.options.headers[name]);\n\t\t\t}\n\t\t}\n\t\tif (this && this.options.hf_token) {\n\t\t\theaders.append(\"Authorization\", `Bearer ${this.options.hf_token}`);\n\t\t}\n\n\t\tthis.abort_controller = new AbortController();\n\n\t\tthis.stream_instance = readable_stream(url.toString(), {\n\t\t\tcredentials: \"include\",\n\t\t\theaders: headers,\n\t\t\tsignal: this.abort_controller.signal\n\t\t});\n\n\t\treturn this.stream_instance;\n\t}\n\n\tview_api: () => Promise>;\n\tupload_files: (\n\t\troot_url: string,\n\t\tfiles: (Blob | File)[],\n\t\tupload_id?: string\n\t) => Promise;\n\tupload: (\n\t\tfile_data: FileData[],\n\t\troot_url: string,\n\t\tupload_id?: string,\n\t\tmax_file_size?: number\n\t) => Promise<(FileData | null)[] | null>;\n\thandle_blob: (\n\t\tendpoint: string,\n\t\tdata: unknown[],\n\t\tendpoint_info: EndpointInfo\n\t) => Promise;\n\tpost_data: (\n\t\turl: string,\n\t\tbody: unknown,\n\t\tadditional_headers?: any\n\t) => Promise;\n\tsubmit: (\n\t\tendpoint: string | number,\n\t\tdata: unknown[] | Record | undefined,\n\t\tevent_data?: unknown,\n\t\ttrigger_id?: number | null,\n\t\tall_events?: boolean\n\t) => SubmitIterable;\n\tpredict: (\n\t\tendpoint: string | number,\n\t\tdata: unknown[] | Record | undefined,\n\t\tevent_data?: unknown\n\t) => Promise;\n\topen_stream: () => Promise;\n\tprivate resolve_config: (endpoint: string) => Promise;\n\tprivate resolve_cookies: () => Promise;\n\tconstructor(\n\t\tapp_reference: string,\n\t\toptions: ClientOptions = { events: [\"data\"] }\n\t) {\n\t\tthis.app_reference = app_reference;\n\t\tthis.deep_link = options.query_params?.deep_link || null;\n\t\tif (!options.events) {\n\t\t\toptions.events = [\"data\"];\n\t\t}\n\n\t\tthis.options = options;\n\t\tthis.current_payload = {};\n\t\tthis.view_api = view_api.bind(this);\n\t\tthis.upload_files = upload_files.bind(this);\n\t\tthis.handle_blob = handle_blob.bind(this);\n\t\tthis.post_data = post_data.bind(this);\n\t\tthis.submit = submit.bind(this);\n\t\tthis.predict = predict.bind(this);\n\t\tthis.open_stream = open_stream.bind(this);\n\t\tthis.resolve_config = resolve_config.bind(this);\n\t\tthis.resolve_cookies = resolve_cookies.bind(this);\n\t\tthis.upload = upload.bind(this);\n\t\tthis.fetch = this.fetch.bind(this);\n\t\tthis.handle_space_success = this.handle_space_success.bind(this);\n\t\tthis.stream = this.stream.bind(this);\n\t}\n\n\tprivate async init(): Promise {\n\t\tif (\n\t\t\t(typeof window === \"undefined\" || !(\"WebSocket\" in window)) &&\n\t\t\t!global.WebSocket\n\t\t) {\n\t\t\tif (!BROWSER_BUILD) {\n\t\t\t\tconst ws = await import(\"ws\");\n\t\t\t\tglobal.WebSocket = ws.WebSocket as unknown as typeof WebSocket;\n\t\t\t}\n\t\t}\n\n\t\tif (this.options.auth) {\n\t\t\tawait this.resolve_cookies();\n\t\t}\n\n\t\tawait this._resolve_config().then(({ config }) =>\n\t\t\tthis._resolve_heartbeat(config)\n\t\t);\n\n\t\tthis.api_info = await this.view_api();\n\t\tthis.api_map = map_names_to_ids(this.config?.dependencies || []);\n\t}\n\n\tasync _resolve_heartbeat(_config: Config): Promise {\n\t\tif (_config) {\n\t\t\tthis.config = _config;\n\t\t\tthis.api_prefix = _config.api_prefix || \"\";\n\n\t\t\tif (this.config && this.config.connect_heartbeat) {\n\t\t\t\tif (this.config.space_id && this.options.hf_token) {\n\t\t\t\t\tthis.jwt = await get_jwt(\n\t\t\t\t\t\tthis.config.space_id,\n\t\t\t\t\t\tthis.options.hf_token,\n\t\t\t\t\t\tthis.cookies\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (_config.space_id && this.options.hf_token) {\n\t\t\tthis.jwt = await get_jwt(_config.space_id, this.options.hf_token);\n\t\t}\n\n\t\tif (this.config && this.config.connect_heartbeat) {\n\t\t\t// connect to the heartbeat endpoint via GET request\n\t\t\tconst heartbeat_url = new URL(\n\t\t\t\t`${this.config.root}${this.api_prefix}/${HEARTBEAT_URL}/${this.session_hash}`\n\t\t\t);\n\n\t\t\t// if the jwt is available, add it to the query params\n\t\t\tif (this.jwt) {\n\t\t\t\theartbeat_url.searchParams.set(\"__sign\", this.jwt);\n\t\t\t}\n\n\t\t\t// Just connect to the endpoint without parsing the response. Ref: https://github.com/gradio-app/gradio/pull/7974#discussion_r1557717540\n\t\t\tif (!this.heartbeat_event) {\n\t\t\t\tthis.heartbeat_event = this.stream(heartbeat_url);\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic async connect(\n\t\tapp_reference: string,\n\t\toptions: ClientOptions = {\n\t\t\tevents: [\"data\"]\n\t\t}\n\t): Promise {\n\t\tconst client = new this(app_reference, options); // this refers to the class itself, not the instance\n\t\tif (options.session_hash) {\n\t\t\tclient.session_hash = options.session_hash;\n\t\t}\n\t\tawait client.init();\n\t\treturn client;\n\t}\n\n\tasync reconnect(): Promise<\"connected\" | \"broken\" | \"changed\"> {\n\t\tconst app_id_url = new URL(\n\t\t\t`${this.config!.root}${this.api_prefix}/${APP_ID_URL}`\n\t\t);\n\t\tlet app_id: string;\n\t\ttry {\n\t\t\tconst response = await this.fetch(app_id_url);\n\t\t\tif (!response.ok) {\n\t\t\t\tthrow new Error();\n\t\t\t}\n\t\t\tapp_id = ((await response.json()) as any).app_id;\n\t\t} catch (e) {\n\t\t\treturn \"broken\";\n\t\t}\n\t\tif (app_id !== this.config!.app_id) {\n\t\t\treturn \"changed\";\n\t\t}\n\t\treturn \"connected\";\n\t}\n\n\tclose(): void {\n\t\tthis.closed = true;\n\t\tclose_stream(this.stream_status, this.abort_controller);\n\t}\n\n\tset_current_payload(payload: any): void {\n\t\tthis.current_payload = payload;\n\t}\n\n\tstatic async duplicate(\n\t\tapp_reference: string,\n\t\toptions: DuplicateOptions = {\n\t\t\tevents: [\"data\"]\n\t\t}\n\t): Promise {\n\t\treturn duplicate(app_reference, options);\n\t}\n\n\tprivate async _resolve_config(): Promise {\n\t\tconst { http_protocol, host, space_id } = await process_endpoint(\n\t\t\tthis.app_reference,\n\t\t\tthis.options.hf_token\n\t\t);\n\n\t\tconst { status_callback } = this.options;\n\n\t\tif (space_id && status_callback) {\n\t\t\tawait check_and_wake_space(space_id, status_callback);\n\t\t}\n\n\t\tlet config: Config | undefined;\n\n\t\ttry {\n\t\t\t// Create base URL\n\t\t\tlet configUrl = `${http_protocol}//${host}`;\n\t\t\tconfig = await this.resolve_config(configUrl);\n\n\t\t\tif (!config) {\n\t\t\t\tthrow new Error(CONFIG_ERROR_MSG);\n\t\t\t}\n\n\t\t\treturn this.config_success(config);\n\t\t} catch (e: any) {\n\t\t\tif (space_id && status_callback) {\n\t\t\t\tcheck_space_status(\n\t\t\t\t\tspace_id,\n\t\t\t\t\tRE_SPACE_NAME.test(space_id) ? \"space_name\" : \"subdomain\",\n\t\t\t\t\tthis.handle_space_success\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tif (status_callback)\n\t\t\t\t\tstatus_callback({\n\t\t\t\t\t\tstatus: \"error\",\n\t\t\t\t\t\tmessage: \"Could not load this space.\",\n\t\t\t\t\t\tload_status: \"error\",\n\t\t\t\t\t\tdetail: \"NOT_FOUND\"\n\t\t\t\t\t});\n\t\t\t\tthrow Error(e);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async config_success(\n\t\t_config: Config\n\t): Promise {\n\t\tthis.config = _config;\n\t\tthis.api_prefix = _config.api_prefix || \"\";\n\n\t\tif (this.config.auth_required) {\n\t\t\treturn this.prepare_return_obj();\n\t\t}\n\n\t\ttry {\n\t\t\tthis.api_info = await this.view_api();\n\t\t} catch (e) {\n\t\t\tconsole.error(API_INFO_ERROR_MSG + (e as Error).message);\n\t\t}\n\n\t\treturn this.prepare_return_obj();\n\t}\n\n\tasync handle_space_success(status: SpaceStatus): Promise {\n\t\tif (!this) {\n\t\t\tthrow new Error(CONFIG_ERROR_MSG);\n\t\t}\n\t\tconst { status_callback } = this.options;\n\t\tif (status_callback) status_callback(status);\n\t\tif (status.status === \"running\") {\n\t\t\ttry {\n\t\t\t\tthis.config = await this._resolve_config();\n\t\t\t\tthis.api_prefix = this?.config?.api_prefix || \"\";\n\n\t\t\t\tif (!this.config) {\n\t\t\t\t\tthrow new Error(CONFIG_ERROR_MSG);\n\t\t\t\t}\n\n\t\t\t\tconst _config = await this.config_success(this.config);\n\n\t\t\t\treturn _config as Config;\n\t\t\t} catch (e) {\n\t\t\t\tif (status_callback) {\n\t\t\t\t\tstatus_callback({\n\t\t\t\t\t\tstatus: \"error\",\n\t\t\t\t\t\tmessage: \"Could not load this space.\",\n\t\t\t\t\t\tload_status: \"error\",\n\t\t\t\t\t\tdetail: \"NOT_FOUND\"\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async component_server(\n\t\tcomponent_id: number,\n\t\tfn_name: string,\n\t\tdata: unknown[] | { binary: boolean; data: Record }\n\t): Promise {\n\t\tif (!this.config) {\n\t\t\tthrow new Error(CONFIG_ERROR_MSG);\n\t\t}\n\n\t\tconst headers: {\n\t\t\tAuthorization?: string;\n\t\t\t\"Content-Type\"?: \"application/json\";\n\t\t} = {};\n\n\t\tconst { hf_token } = this.options;\n\t\tconst { session_hash } = this;\n\n\t\tif (hf_token) {\n\t\t\theaders.Authorization = `Bearer ${this.options.hf_token}`;\n\t\t}\n\n\t\tlet root_url: string;\n\t\tlet component = this.config.components.find(\n\t\t\t(comp) => comp.id === component_id\n\t\t);\n\t\tif (component?.props?.root_url) {\n\t\t\troot_url = component.props.root_url;\n\t\t} else {\n\t\t\troot_url = this.config.root;\n\t\t}\n\n\t\tlet body: FormData | string;\n\n\t\tif (\"binary\" in data) {\n\t\t\tbody = new FormData();\n\t\t\tfor (const key in data.data) {\n\t\t\t\tif (key === \"binary\") continue;\n\t\t\t\tbody.append(key, data.data[key]);\n\t\t\t}\n\t\t\tbody.set(\"component_id\", component_id.toString());\n\t\t\tbody.set(\"fn_name\", fn_name);\n\t\t\tbody.set(\"session_hash\", session_hash);\n\t\t} else {\n\t\t\tbody = JSON.stringify({\n\t\t\t\tdata: data,\n\t\t\t\tcomponent_id,\n\t\t\t\tfn_name,\n\t\t\t\tsession_hash\n\t\t\t});\n\n\t\t\theaders[\"Content-Type\"] = \"application/json\";\n\t\t}\n\n\t\tif (hf_token) {\n\t\t\theaders.Authorization = `Bearer ${hf_token}`;\n\t\t}\n\n\t\ttry {\n\t\t\tconst response = await this.fetch(\n\t\t\t\t`${root_url}${this.api_prefix}/${COMPONENT_SERVER_URL}/`,\n\t\t\t\t{\n\t\t\t\t\tmethod: \"POST\",\n\t\t\t\t\tbody: body,\n\t\t\t\t\theaders,\n\t\t\t\t\tcredentials: \"include\"\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif (!response.ok) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"Could not connect to component server: \" + response.statusText\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst output = await response.json();\n\t\t\treturn output;\n\t\t} catch (e) {\n\t\t\tconsole.warn(e);\n\t\t}\n\t}\n\n\tpublic set_cookies(raw_cookies: string): void {\n\t\tthis.cookies = parse_and_set_cookies(raw_cookies).join(\"; \");\n\t}\n\n\tprivate prepare_return_obj(): client_return {\n\t\treturn {\n\t\t\tconfig: this.config,\n\t\t\tpredict: this.predict,\n\t\t\tsubmit: this.submit,\n\t\t\tview_api: this.view_api,\n\t\t\tcomponent_server: this.component_server\n\t\t};\n\t}\n\n\tprivate async connect_ws(url: string): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tlet ws;\n\t\t\ttry {\n\t\t\t\tws = new WebSocket(url);\n\t\t\t} catch (e) {\n\t\t\t\tthis.ws_map[url] = \"failed\";\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.ws_map[url] = \"pending\";\n\t\t\tws.onopen = () => {\n\t\t\t\tthis.ws_map[url] = ws;\n\t\t\t\tresolve();\n\t\t\t};\n\n\t\t\tws.onerror = (error) => {\n\t\t\t\tconsole.error(\"WebSocket error:\", error);\n\t\t\t\tthis.close_ws(url);\n\t\t\t\tthis.ws_map[url] = \"failed\";\n\t\t\t\tresolve();\n\t\t\t};\n\n\t\t\tws.onclose = () => {\n\t\t\t\tthis.ws_map[url] = \"closed\";\n\t\t\t};\n\n\t\t\tws.onmessage = (event) => {};\n\t\t});\n\t}\n\n\tasync send_ws_message(url: string, data: any): Promise {\n\t\t// connect if not connected\n\t\tif (!(url in this.ws_map)) {\n\t\t\tawait this.connect_ws(url);\n\t\t} else if (\n\t\t\tthis.ws_map[url] === \"pending\" ||\n\t\t\tthis.ws_map[url] === \"closed\" ||\n\t\t\tthis.ws_map[url] === \"failed\"\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tconst ws = this.ws_map[url];\n\t\tif (ws instanceof WebSocket) {\n\t\t\tws.send(JSON.stringify(data));\n\t\t} else {\n\t\t\tthis.post_data(url, data);\n\t\t}\n\t}\n\n\tasync close_ws(url: string): Promise {\n\t\tif (url in this.ws_map) {\n\t\t\tconst ws = this.ws_map[url];\n\t\t\tif (ws instanceof WebSocket) {\n\t\t\t\tws.close();\n\t\t\t\tdelete this.ws_map[url];\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * @deprecated This method will be removed in v1.0. Use `Client.connect()` instead.\n * Creates a client instance for interacting with Gradio apps.\n *\n * @param {string} app_reference - The reference or URL to a Gradio space or app.\n * @param {ClientOptions} options - Configuration options for the client.\n * @returns {Promise} A promise that resolves to a `Client` instance.\n */\nexport async function client(\n\tapp_reference: string,\n\toptions: ClientOptions = {\n\t\tevents: [\"data\"]\n\t}\n): Promise {\n\treturn await Client.connect(app_reference, options);\n}\n\n/**\n * @deprecated This method will be removed in v1.0. Use `Client.duplicate()` instead.\n * Creates a duplicate of a space and returns a client instance for the duplicated space.\n *\n * @param {string} app_reference - The reference or URL to a Gradio space or app to duplicate.\n * @param {DuplicateOptions} options - Configuration options for the client.\n * @returns {Promise} A promise that resolves to a `Client` instance.\n */\nexport async function duplicate_space(\n\tapp_reference: string,\n\toptions: DuplicateOptions\n): Promise {\n\treturn await Client.duplicate(app_reference, options);\n}\n\nexport type ClientInstance = Client;\n","import \"@gradio/theme/reset.css\";\nimport \"@gradio/theme/global.css\";\nimport \"@gradio/theme/pollen.css\";\nimport \"@gradio/theme/typography.css\";\n//@ts-ignore\nimport * as svelte from \"./svelte/svelte.js\";\nimport { Client } from \"@gradio/client\";\nimport type Index from \"./Index.svelte\";\nimport type { ThemeMode } from \"@gradio/core\";\n\ndeclare let BUILD_MODE: string;\ndeclare let GRADIO_VERSION: string;\n\nconst ENTRY_CSS = \"__ENTRY_CSS__\";\n\nlet FONTS: string | [];\n\nFONTS = \"__FONTS_CSS__\";\n\nlet IndexComponent: typeof Index;\nlet mount_css: typeof import(\"@gradio/core\").mount_css;\nlet _res: (value?: unknown) => void;\nlet pending = new Promise((res) => {\n\t_res = res;\n});\nasync function get_index(): Promise {\n\tconst modules = await Promise.all([\n\t\timport(\"./Index.svelte\"),\n\t\timport(\"@gradio/core\")\n\t]);\n\tIndexComponent = modules[0].default;\n\tmount_css = modules[1].mount_css;\n\t_res();\n}\n\nfunction create_custom_element(): void {\n\tconst o = {\n\t\tSvelteComponent: svelte.SvelteComponent\n\t};\n\tfor (const key in svelte) {\n\t\tif (key === \"SvelteComponent\") continue;\n\t\tif (key === \"SvelteComponentDev\") {\n\t\t\t//@ts-ignore\n\t\t\to[key] = o[\"SvelteComponent\"];\n\t\t} else {\n\t\t\t//@ts-ignore\n\t\t\to[key] = svelte[key];\n\t\t}\n\t}\n\t//@ts-ignore\n\twindow.__gradio__svelte__internal = o;\n\tclass GradioApp extends HTMLElement {\n\t\tcontrol_page_title: string | null;\n\t\tinitial_height: string;\n\t\tis_embed: string;\n\t\tcontainer: string;\n\t\tinfo: string | true;\n\t\tautoscroll: string | null;\n\t\teager: string | null;\n\t\ttheme_mode: ThemeMode | null;\n\t\thost: string | null;\n\t\tspace: string | null;\n\t\tsrc: string | null;\n\t\tapp?: Index;\n\t\tloading: boolean;\n\t\tupdating: { name: string; value: string } | false;\n\n\t\tconstructor() {\n\t\t\tsuper();\n\t\t\tthis.host = this.getAttribute(\"host\");\n\t\t\tthis.space = this.getAttribute(\"space\");\n\t\t\tthis.src = this.getAttribute(\"src\");\n\n\t\t\tthis.control_page_title = this.getAttribute(\"control_page_title\");\n\t\t\tthis.initial_height = this.getAttribute(\"initial_height\") ?? \"300px\"; // default: 300px\n\t\t\tthis.is_embed = this.getAttribute(\"embed\") ?? \"true\"; // default: true\n\t\t\tthis.container = this.getAttribute(\"container\") ?? \"true\"; // default: true\n\t\t\tthis.info = this.getAttribute(\"info\") ?? true; // default: true\n\t\t\tthis.autoscroll = this.getAttribute(\"autoscroll\");\n\t\t\tthis.eager = this.getAttribute(\"eager\");\n\t\t\tthis.theme_mode = this.getAttribute(\"theme_mode\") as ThemeMode | null;\n\t\t\tthis.updating = false;\n\t\t\tthis.loading = false;\n\t\t}\n\n\t\tasync connectedCallback(): Promise {\n\t\t\tawait get_index();\n\t\t\tthis.loading = true;\n\n\t\t\tif (this.app) {\n\t\t\t\tthis.app.$destroy();\n\t\t\t}\n\n\t\t\tif (typeof FONTS !== \"string\") {\n\t\t\t\tFONTS.forEach((f) => mount_css(f, document.head));\n\t\t\t}\n\n\t\t\tawait mount_css(ENTRY_CSS, document.head);\n\n\t\t\tconst event = new CustomEvent(\"domchange\", {\n\t\t\t\tbubbles: true,\n\t\t\t\tcancelable: false,\n\t\t\t\tcomposed: true\n\t\t\t});\n\n\t\t\tconst observer = new MutationObserver((mutations) => {\n\t\t\t\tthis.dispatchEvent(event);\n\t\t\t});\n\n\t\t\tobserver.observe(this, { childList: true });\n\n\t\t\tthis.app = new IndexComponent({\n\t\t\t\ttarget: this,\n\t\t\t\tprops: {\n\t\t\t\t\t// embed source\n\t\t\t\t\tspace: this.space ? this.space.trim() : this.space,\n\t\t\t\t\tsrc: this.src ? this.src.trim() : this.src,\n\t\t\t\t\t// embed info\n\t\t\t\t\tinfo: this.info === \"false\" ? false : true,\n\t\t\t\t\tcontainer: this.container === \"false\" ? false : true,\n\t\t\t\t\tis_embed: this.is_embed === \"false\" ? false : true,\n\t\t\t\t\tinitial_height: this.initial_height,\n\t\t\t\t\teager: this.eager === \"true\" ? true : false,\n\t\t\t\t\t// gradio meta info\n\t\t\t\t\tversion: GRADIO_VERSION,\n\t\t\t\t\ttheme_mode: this.theme_mode,\n\t\t\t\t\t// misc global behaviour\n\t\t\t\t\tautoscroll: this.autoscroll === \"true\" ? true : false,\n\t\t\t\t\tcontrol_page_title: this.control_page_title === \"true\" ? true : false,\n\t\t\t\t\t// injectables\n\t\t\t\t\tClient,\n\t\t\t\t\t// for gradio docs\n\t\t\t\t\t// TODO: Remove -- i think this is just for autoscroll behavhiour, app vs embeds\n\t\t\t\t\tapp_mode: window.__gradio_mode__ === \"app\"\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (this.updating) {\n\t\t\t\tthis.setAttribute(this.updating.name, this.updating.value);\n\t\t\t}\n\n\t\t\tthis.loading = false;\n\t\t}\n\n\t\tstatic get observedAttributes(): [\"src\", \"space\", \"host\"] {\n\t\t\treturn [\"src\", \"space\", \"host\"];\n\t\t}\n\n\t\tasync attributeChangedCallback(\n\t\t\tname: string,\n\t\t\told_val: string,\n\t\t\tnew_val: string\n\t\t): Promise {\n\t\t\tawait pending;\n\t\t\tif (\n\t\t\t\t(name === \"host\" || name === \"space\" || name === \"src\") &&\n\t\t\t\tnew_val !== old_val\n\t\t\t) {\n\t\t\t\tthis.updating = { name, value: new_val };\n\t\t\t\tif (this.loading) return;\n\n\t\t\t\tif (this.app) {\n\t\t\t\t\tthis.app.$destroy();\n\t\t\t\t}\n\n\t\t\t\tthis.space = null;\n\t\t\t\tthis.host = null;\n\t\t\t\tthis.src = null;\n\n\t\t\t\tif (name === \"host\") {\n\t\t\t\t\tthis.host = new_val;\n\t\t\t\t} else if (name === \"space\") {\n\t\t\t\t\tthis.space = new_val;\n\t\t\t\t} else if (name === \"src\") {\n\t\t\t\t\tthis.src = new_val;\n\t\t\t\t}\n\n\t\t\t\tthis.app = new IndexComponent({\n\t\t\t\t\ttarget: this,\n\t\t\t\t\tprops: {\n\t\t\t\t\t\t// embed source\n\t\t\t\t\t\tspace: this.space ? this.space.trim() : this.space,\n\t\t\t\t\t\tsrc: this.src ? this.src.trim() : this.src,\n\t\t\t\t\t\t// embed info\n\t\t\t\t\t\tinfo: this.info === \"false\" ? false : true,\n\t\t\t\t\t\tcontainer: this.container === \"false\" ? false : true,\n\t\t\t\t\t\tis_embed: this.is_embed === \"false\" ? false : true,\n\t\t\t\t\t\tinitial_height: this.initial_height,\n\t\t\t\t\t\teager: this.eager === \"true\" ? true : false,\n\t\t\t\t\t\t// gradio meta info\n\t\t\t\t\t\tversion: GRADIO_VERSION,\n\t\t\t\t\t\ttheme_mode: this.theme_mode,\n\t\t\t\t\t\t// misc global behaviour\n\t\t\t\t\t\tautoscroll: this.autoscroll === \"true\" ? true : false,\n\t\t\t\t\t\tcontrol_page_title:\n\t\t\t\t\t\t\tthis.control_page_title === \"true\" ? true : false,\n\t\t\t\t\t\t// injectables\n\t\t\t\t\t\tClient,\n\t\t\t\t\t\t// for gradio docs\n\t\t\t\t\t\t// TODO: Remove -- i think this is just for autoscroll behavhiour, app vs embeds\n\t\t\t\t\t\tapp_mode: window.__gradio_mode__ === \"app\"\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tthis.updating = false;\n\t\t\t}\n\t\t}\n\t}\n\tif (!customElements.get(\"gradio-app\"))\n\t\tcustomElements.define(\"gradio-app\", GradioApp);\n}\n\ncreate_custom_element();\n"],"file":"assets/index-DputZZxm.js"} \ No newline at end of file diff --git a/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-VBBlDNay.js b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-VBBlDNay.js new file mode 100644 index 0000000000000000000000000000000000000000..eb96fa9a55bc933eebda0ebd586ea2367c2a2c2e --- /dev/null +++ b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-VBBlDNay.js @@ -0,0 +1,2 @@ +import Ge from"./StaticAudio-B8mpyYv7.js";import{I as Me}from"./InteractiveAudio-DVY93Upe.js";import{S as x}from"./StreamingBar-BtwDBaPl.js";import{c as ee,U as Ve}from"./FullscreenButton-D7DmzQQ9.js";import{A as bt}from"./AudioPlayer-Ct6ZSLxK.js";import{default as vt}from"./Example-DW8ARmNI.js";import"./init-CYI6iZYC.js";import"./index-DputZZxm.js";import"./svelte/svelte.js";import"./MarkdownCode-DTX-UkhB.js";import"./prism-python-oCRsS_S4.js";import"./hls-C7-VjdhD.js";import"./ModifyUpload-CMsAygJb.js";const{SvelteComponent:De,add_flush_callback:P,assign:te,bind:E,binding_callbacks:N,check_outros:Fe,create_component:z,destroy_component:C,detach:K,empty:He,flush:m,get_spread_object:se,get_spread_update:ie,group_outros:Ke,init:Le,insert:L,mount_component:A,safe_not_equal:Qe,space:ne,transition_in:p,transition_out:k}=window.__gradio__svelte__internal,{afterUpdate:Xe,onMount:Ye}=window.__gradio__svelte__internal;function Ze(t){let e,n;return e=new ee({props:{variant:t[0]===null&&t[26]==="upload"?"dashed":"solid",border_mode:t[28]?"focus":"base",padding:!1,allow_overflow:!1,elem_id:t[4],elem_classes:t[5],visible:t[6],container:t[12],scale:t[13],min_width:t[14],$$slots:{default:[xe]},$$scope:{ctx:t}}}),{c(){z(e.$$.fragment)},m(s,r){A(e,s,r),n=!0},p(s,r){const u={};r[0]&67108865&&(u.variant=s[0]===null&&s[26]==="upload"?"dashed":"solid"),r[0]&268435456&&(u.border_mode=s[28]?"focus":"base"),r[0]&16&&(u.elem_id=s[4]),r[0]&32&&(u.elem_classes=s[5]),r[0]&64&&(u.visible=s[6]),r[0]&4096&&(u.container=s[12]),r[0]&8192&&(u.scale=s[13]),r[0]&16384&&(u.min_width=s[14]),r[0]&1073581839|r[2]&256&&(u.$$scope={dirty:r,ctx:s}),e.$set(u)},i(s){n||(p(e.$$.fragment,s),n=!0)},o(s){k(e.$$.fragment,s),n=!1},d(s){C(e,s)}}}function ye(t){let e,n;return e=new ee({props:{variant:"solid",border_mode:t[28]?"focus":"base",padding:!1,allow_overflow:!1,elem_id:t[4],elem_classes:t[5],visible:t[6],container:t[12],scale:t[13],min_width:t[14],$$slots:{default:[et]},$$scope:{ctx:t}}}),{c(){z(e.$$.fragment)},m(s,r){A(e,s,r),n=!0},p(s,r){const u={};r[0]&268435456&&(u.border_mode=s[28]?"focus":"base"),r[0]&16&&(u.elem_id=s[4]),r[0]&32&&(u.elem_classes=s[5]),r[0]&64&&(u.visible=s[6]),r[0]&4096&&(u.container=s[12]),r[0]&8192&&(u.scale=s[13]),r[0]&16384&&(u.min_width=s[14]),r[0]&563055107|r[2]&256&&(u.$$scope={dirty:r,ctx:s}),e.$set(u)},i(s){n||(p(e.$$.fragment,s),n=!0)},o(s){k(e.$$.fragment,s),n=!1},d(s){C(e,s)}}}function $e(t){let e,n;return e=new Ve({props:{i18n:t[24].i18n,type:"audio"}}),{c(){z(e.$$.fragment)},m(s,r){A(e,s,r),n=!0},p(s,r){const u={};r[0]&16777216&&(u.i18n=s[24].i18n),e.$set(u)},i(s){n||(p(e.$$.fragment,s),n=!0)},o(s){k(e.$$.fragment,s),n=!1},d(s){C(e,s)}}}function xe(t){let e,n,s,r,u,c,l,a,h;const g=[{autoscroll:t[24].autoscroll},{i18n:t[24].i18n},t[1]];let B={};for(let o=0;oE(s,"recording",U)),N.push(()=>E(s,"dragging",J)),N.push(()=>E(s,"uploading",O)),N.push(()=>E(s,"modify_stream",R)),N.push(()=>E(s,"set_time_limit",b)),s.$on("change",t[54]),s.$on("stream",t[55]),s.$on("drag",t[56]),s.$on("edit",t[57]),s.$on("play",t[58]),s.$on("pause",t[59]),s.$on("stop",t[60]),s.$on("start_recording",t[61]),s.$on("pause_recording",t[62]),s.$on("stop_recording",t[63]),s.$on("upload",t[64]),s.$on("clear",t[65]),s.$on("error",t[32]),s.$on("close_stream",t[66]),{c(){z(e.$$.fragment),n=ne(),z(s.$$.fragment)},m(o,_){A(e,o,_),L(o,n,_),A(s,o,_),h=!0},p(o,_){const T=_[0]&16777218?ie(g,[_[0]&16777216&&{autoscroll:o[24].autoscroll},_[0]&16777216&&{i18n:o[24].i18n},_[0]&2&&se(o[1])]):{};e.$set(T);const f={};_[0]&512&&(f.label=o[9]),_[0]&2048&&(f.show_label=o[11]),_[0]&65536&&(f.show_download_button=o[16]),_[0]&1&&(f.value=o[0]),_[0]&8388608&&(f.subtitles=o[23]),_[0]&1024&&(f.root=o[10]),_[0]&256&&(f.sources=o[8]),_[0]&67108864&&(f.active_source=o[26]),_[0]&1048576&&(f.pending=o[20]),_[0]&2097152&&(f.streaming=o[21]),_[0]&32768&&(f.loop=o[15]),_[0]&16777216&&(f.max_file_size=o[24].max_file_size),_[0]&262144&&(f.editable=o[18]),_[0]&16777216&&(f.i18n=o[24].i18n),_[0]&536870912&&(f.waveform_settings=o[29]),_[0]&524288&&(f.waveform_options=o[19]),_[0]&4194304&&(f.stream_every=o[22]),_[0]&16777216&&(f.upload=o[47]),_[0]&16777216&&(f.stream_handler=o[48]),_[0]&16777216|_[2]&256&&(f.$$scope={dirty:_,ctx:o}),!r&&_[0]&4&&(r=!0,f.recording=o[2],P(()=>r=!1)),!u&&_[0]&268435456&&(u=!0,f.dragging=o[28],P(()=>u=!1)),!c&&_[0]&33554432&&(c=!0,f.uploading=o[25],P(()=>c=!1)),!l&&_[0]&134217728&&(l=!0,f.modify_stream=o[27],P(()=>l=!1)),!a&&_[0]&8&&(a=!0,f.set_time_limit=o[3],P(()=>a=!1)),s.$set(f)},i(o){h||(p(e.$$.fragment,o),p(s.$$.fragment,o),h=!0)},o(o){k(e.$$.fragment,o),k(s.$$.fragment,o),h=!1},d(o){o&&K(n),C(e,o),C(s,o)}}}function et(t){let e,n,s,r;const u=[{autoscroll:t[24].autoscroll},{i18n:t[24].i18n},t[1]];let c={};for(let l=0;l{c[g]=null}),Fe(),n=c[e],n?n.p(a,h):(n=c[e]=u[e](a),n.c()),p(n,1),n.m(s.parentNode,s))},i(a){r||(p(n),r=!0)},o(a){k(n),r=!1},d(a){a&&K(s),c[e].d(a)}}}function st(t,e,n){let{value_is_output:s=!1}=e,{elem_id:r=""}=e,{elem_classes:u=[]}=e,{visible:c=!0}=e,{interactive:l}=e,{value:a=null}=e,{sources:h}=e,{label:g}=e,{root:B}=e,{show_label:U}=e,{container:J=!0}=e,{scale:O=null}=e,{min_width:R=void 0}=e,{loading_status:b}=e,{autoplay:w=!1}=e,{loop:o=!1}=e,{show_download_button:_}=e,{show_share_button:T=!1}=e,{editable:f=!0}=e,{waveform_options:S={show_recording_waveform:!0}}=e,{pending:Q}=e,{streaming:X}=e,{stream_every:Y}=e,{input_ready:V}=e,{recording:W=!1}=e,{subtitles:Z=null}=e,j=!1,y="closed",q;function oe(i){y=i,q(i)}const ae=()=>y;let{set_time_limit:G}=e,{gradio:d}=e,D=null,F,I=a;const re=()=>{I===null||a===I||n(0,a=I)};let M,v,H="darkorange";Ye(()=>{H=getComputedStyle(document?.documentElement).getPropertyValue("--color-accent"),le(),n(29,v.waveColor=S.waveform_color||"#9ca3af",v),n(29,v.progressColor=S.waveform_progress_color||H,v),n(29,v.mediaControls=S.show_controls,v),n(29,v.sampleRate=S.sample_rate||44100,v)});const $={color:S.trim_region_color,drag:!0,resize:!0};function le(){document.documentElement.style.setProperty("--trim-region-color",$.color||H)}function _e({detail:i}){const[je,qe]=i.includes("Invalid file type")?["warning","complete"]:["error","error"];n(1,b=b||{}),n(1,b.status=qe,b),n(1,b.message=i,b),d.dispatch(je,i)}Xe(()=>{n(33,s=!1)});const ue=()=>d.dispatch("clear_status",b),fe=i=>d.dispatch("share",i.detail),me=i=>d.dispatch("error",i.detail),de=()=>d.dispatch("play"),ge=()=>d.dispatch("pause"),ce=()=>d.dispatch("stop"),he=()=>d.dispatch("clear_status",b),be=(...i)=>d.client.upload(...i),we=(...i)=>d.client.stream(...i);function ve(i){W=i,n(2,W)}function pe(i){M=i,n(28,M)}function ke(i){j=i,n(25,j)}function Se(i){q=i,n(27,q)}function ze(i){G=i,n(3,G)}const Ce=({detail:i})=>n(0,a=i),Ae=({detail:i})=>{n(0,a=i),d.dispatch("stream",a)},Be=({detail:i})=>n(28,M=i),Ie=()=>d.dispatch("edit"),Pe=()=>d.dispatch("play"),Ee=()=>d.dispatch("pause"),Ne=()=>d.dispatch("stop"),Ue=()=>d.dispatch("start_recording"),Je=()=>d.dispatch("pause_recording"),Oe=i=>d.dispatch("stop_recording"),Re=()=>d.dispatch("upload"),Te=()=>d.dispatch("clear"),We=()=>d.dispatch("close_stream","stream");return t.$$set=i=>{"value_is_output"in i&&n(33,s=i.value_is_output),"elem_id"in i&&n(4,r=i.elem_id),"elem_classes"in i&&n(5,u=i.elem_classes),"visible"in i&&n(6,c=i.visible),"interactive"in i&&n(7,l=i.interactive),"value"in i&&n(0,a=i.value),"sources"in i&&n(8,h=i.sources),"label"in i&&n(9,g=i.label),"root"in i&&n(10,B=i.root),"show_label"in i&&n(11,U=i.show_label),"container"in i&&n(12,J=i.container),"scale"in i&&n(13,O=i.scale),"min_width"in i&&n(14,R=i.min_width),"loading_status"in i&&n(1,b=i.loading_status),"autoplay"in i&&n(35,w=i.autoplay),"loop"in i&&n(15,o=i.loop),"show_download_button"in i&&n(16,_=i.show_download_button),"show_share_button"in i&&n(17,T=i.show_share_button),"editable"in i&&n(18,f=i.editable),"waveform_options"in i&&n(19,S=i.waveform_options),"pending"in i&&n(20,Q=i.pending),"streaming"in i&&n(21,X=i.streaming),"stream_every"in i&&n(22,Y=i.stream_every),"input_ready"in i&&n(34,V=i.input_ready),"recording"in i&&n(2,W=i.recording),"subtitles"in i&&n(23,Z=i.subtitles),"set_time_limit"in i&&n(3,G=i.set_time_limit),"gradio"in i&&n(24,d=i.gradio)},t.$$.update=()=>{t.$$.dirty[0]&33554432&&n(34,V=!j),t.$$.dirty[0]&1|t.$$.dirty[1]&256&&a&&I===null&&n(39,I=a),t.$$.dirty[0]&16777217|t.$$.dirty[1]&132&&JSON.stringify(a)!==JSON.stringify(D)&&(n(38,D=a),d.dispatch("change"),s||d.dispatch("input")),t.$$.dirty[0]&67109120&&!F&&h&&n(26,F=h[0]),t.$$.dirty[1]&16&&n(29,v={height:50,barWidth:2,barGap:3,cursorWidth:2,cursorColor:"#ddd5e9",autoplay:w,barRadius:10,dragToSeek:!0,normalize:!0,minPxPerSec:20})},[a,b,W,G,r,u,c,l,h,g,B,U,J,O,R,o,_,T,f,S,Q,X,Y,Z,d,j,F,q,M,v,re,$,_e,s,V,w,oe,ae,D,I,ue,fe,me,de,ge,ce,he,be,we,ve,pe,ke,Se,ze,Ce,Ae,Be,Ie,Pe,Ee,Ne,Ue,Je,Oe,Re,Te,We]}class gt extends De{constructor(e){super(),Le(this,e,st,tt,Qe,{value_is_output:33,elem_id:4,elem_classes:5,visible:6,interactive:7,value:0,sources:8,label:9,root:10,show_label:11,container:12,scale:13,min_width:14,loading_status:1,autoplay:35,loop:15,show_download_button:16,show_share_button:17,editable:18,waveform_options:19,pending:20,streaming:21,stream_every:22,input_ready:34,recording:2,subtitles:23,modify_stream_state:36,get_stream_state:37,set_time_limit:3,gradio:24},null,[-1,-1,-1])}get value_is_output(){return this.$$.ctx[33]}set value_is_output(e){this.$$set({value_is_output:e}),m()}get elem_id(){return this.$$.ctx[4]}set elem_id(e){this.$$set({elem_id:e}),m()}get elem_classes(){return this.$$.ctx[5]}set elem_classes(e){this.$$set({elem_classes:e}),m()}get visible(){return this.$$.ctx[6]}set visible(e){this.$$set({visible:e}),m()}get interactive(){return this.$$.ctx[7]}set interactive(e){this.$$set({interactive:e}),m()}get value(){return this.$$.ctx[0]}set value(e){this.$$set({value:e}),m()}get sources(){return this.$$.ctx[8]}set sources(e){this.$$set({sources:e}),m()}get label(){return this.$$.ctx[9]}set label(e){this.$$set({label:e}),m()}get root(){return this.$$.ctx[10]}set root(e){this.$$set({root:e}),m()}get show_label(){return this.$$.ctx[11]}set show_label(e){this.$$set({show_label:e}),m()}get container(){return this.$$.ctx[12]}set container(e){this.$$set({container:e}),m()}get scale(){return this.$$.ctx[13]}set scale(e){this.$$set({scale:e}),m()}get min_width(){return this.$$.ctx[14]}set min_width(e){this.$$set({min_width:e}),m()}get loading_status(){return this.$$.ctx[1]}set loading_status(e){this.$$set({loading_status:e}),m()}get autoplay(){return this.$$.ctx[35]}set autoplay(e){this.$$set({autoplay:e}),m()}get loop(){return this.$$.ctx[15]}set loop(e){this.$$set({loop:e}),m()}get show_download_button(){return this.$$.ctx[16]}set show_download_button(e){this.$$set({show_download_button:e}),m()}get show_share_button(){return this.$$.ctx[17]}set show_share_button(e){this.$$set({show_share_button:e}),m()}get editable(){return this.$$.ctx[18]}set editable(e){this.$$set({editable:e}),m()}get waveform_options(){return this.$$.ctx[19]}set waveform_options(e){this.$$set({waveform_options:e}),m()}get pending(){return this.$$.ctx[20]}set pending(e){this.$$set({pending:e}),m()}get streaming(){return this.$$.ctx[21]}set streaming(e){this.$$set({streaming:e}),m()}get stream_every(){return this.$$.ctx[22]}set stream_every(e){this.$$set({stream_every:e}),m()}get input_ready(){return this.$$.ctx[34]}set input_ready(e){this.$$set({input_ready:e}),m()}get recording(){return this.$$.ctx[2]}set recording(e){this.$$set({recording:e}),m()}get subtitles(){return this.$$.ctx[23]}set subtitles(e){this.$$set({subtitles:e}),m()}get modify_stream_state(){return this.$$.ctx[36]}get get_stream_state(){return this.$$.ctx[37]}get set_time_limit(){return this.$$.ctx[3]}set set_time_limit(e){this.$$set({set_time_limit:e}),m()}get gradio(){return this.$$.ctx[24]}set gradio(e){this.$$set({gradio:e}),m()}}export{vt as BaseExample,Me as BaseInteractiveAudio,bt as BasePlayer,Ge as BaseStaticAudio,gt as default}; +//# sourceMappingURL=index-VBBlDNay.js.map diff --git a/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-VBBlDNay.js.map b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-VBBlDNay.js.map new file mode 100644 index 0000000000000000000000000000000000000000..185de6a9c54624b0a1928443b7cc5208393ad8b0 --- /dev/null +++ b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-VBBlDNay.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-VBBlDNay.js","sources":["../../../../js/audio/Index.svelte"],"sourcesContent":["\n\n\n\n{#if !interactive}\n\t\n\t\t gradio.dispatch(\"clear_status\", loading_status)}\n\t\t/>\n\n\t\t gradio.dispatch(\"share\", e.detail)}\n\t\t\ton:error={(e) => gradio.dispatch(\"error\", e.detail)}\n\t\t\ton:play={() => gradio.dispatch(\"play\")}\n\t\t\ton:pause={() => gradio.dispatch(\"pause\")}\n\t\t\ton:stop={() => gradio.dispatch(\"stop\")}\n\t\t/>\n\t\n{:else}\n\t\n\t\t gradio.dispatch(\"clear_status\", loading_status)}\n\t\t/>\n\t\t (value = detail)}\n\t\t\ton:stream={({ detail }) => {\n\t\t\t\tvalue = detail;\n\t\t\t\tgradio.dispatch(\"stream\", value);\n\t\t\t}}\n\t\t\ton:drag={({ detail }) => (dragging = detail)}\n\t\t\t{root}\n\t\t\t{sources}\n\t\t\t{active_source}\n\t\t\t{pending}\n\t\t\t{streaming}\n\t\t\tbind:recording\n\t\t\t{loop}\n\t\t\tmax_file_size={gradio.max_file_size}\n\t\t\t{handle_reset_value}\n\t\t\t{editable}\n\t\t\tbind:dragging\n\t\t\tbind:uploading\n\t\t\ton:edit={() => gradio.dispatch(\"edit\")}\n\t\t\ton:play={() => gradio.dispatch(\"play\")}\n\t\t\ton:pause={() => gradio.dispatch(\"pause\")}\n\t\t\ton:stop={() => gradio.dispatch(\"stop\")}\n\t\t\ton:start_recording={() => gradio.dispatch(\"start_recording\")}\n\t\t\ton:pause_recording={() => gradio.dispatch(\"pause_recording\")}\n\t\t\ton:stop_recording={(e) => gradio.dispatch(\"stop_recording\")}\n\t\t\ton:upload={() => gradio.dispatch(\"upload\")}\n\t\t\ton:clear={() => gradio.dispatch(\"clear\")}\n\t\t\ton:error={handle_error}\n\t\t\ton:close_stream={() => gradio.dispatch(\"close_stream\", \"stream\")}\n\t\t\ti18n={gradio.i18n}\n\t\t\t{waveform_settings}\n\t\t\t{waveform_options}\n\t\t\t{trim_region_settings}\n\t\t\t{stream_every}\n\t\t\tbind:modify_stream={_modify_stream}\n\t\t\tbind:set_time_limit\n\t\t\tupload={(...args) => gradio.client.upload(...args)}\n\t\t\tstream_handler={(...args) => gradio.client.stream(...args)}\n\t\t>\n\t\t\t\n\t\t\n\t\n{/if}\n"],"names":["afterUpdate","onMount","ctx","dirty","block_changes","uploadtext_changes","interactiveaudio_changes","staticaudio_changes","value_is_output","$$props","elem_id","elem_classes","visible","interactive","value","sources","label","root","show_label","container","scale","min_width","loading_status","autoplay","loop","show_download_button","show_share_button","editable","waveform_options","pending","streaming","stream_every","input_ready","recording","subtitles","uploading","stream_state","_modify_stream","modify_stream_state","state","get_stream_state","set_time_limit","gradio","old_value","active_source","initial_value","handle_reset_value","dragging","waveform_settings","color_accent","set_trim_region_colour","$$invalidate","trim_region_settings","handle_error","detail","level","status","clear_status_handler","e","clear_status_handler_1","func","args","func_1","stop_recording_handler","close_stream_handler"],"mappings":"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"} \ No newline at end of file diff --git a/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-cQ65agm5.js b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-cQ65agm5.js new file mode 100644 index 0000000000000000000000000000000000000000..0d71545522ab086d4ebf43f6961f0e5c31727f1b --- /dev/null +++ b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-cQ65agm5.js @@ -0,0 +1,14 @@ +import{L as z,E as d,a as f,C as V}from"./index-BuGJD51F.js";import{s as I,t as i,F as E,L as J,l as o,d as x,E as A,e as N,i as L,k as D,g as K,f as B,H as m,h as F,J as H,c as M,K as v,o as OO,j as QO,I as iO}from"./Index-CFtPgl3E.js";import"./index-DputZZxm.js";import"./svelte/svelte.js";import"./init-CYI6iZYC.js";import"./FullscreenButton-D7DmzQQ9.js";import"./MarkdownCode-DTX-UkhB.js";import"./prism-python-oCRsS_S4.js";import"./StreamingBar-BtwDBaPl.js";import"./Example-Do2HGpgf.js";const eO=304,U=1,$O=2,aO=305,ZO=307,rO=308,SO=3,tO=4,oO=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],h=125,nO=59,_=47,lO=42,pO=43,PO=45,YO=new V({start:!1,shift(O,Q){return Q==SO||Q==tO||Q==ZO?O:Q==rO},strict:!1}),gO=new d((O,Q)=>{let{next:$}=O;($==h||$==-1||Q.context)&&O.acceptToken(aO)},{contextual:!0,fallback:!0}),sO=new d((O,Q)=>{let{next:$}=O,e;oO.indexOf($)>-1||$==_&&((e=O.peek(1))==_||e==lO)||$!=h&&$!=nO&&$!=-1&&!Q.context&&O.acceptToken(eO)},{contextual:!0}),XO=new d((O,Q)=>{let{next:$}=O;if(($==pO||$==PO)&&(O.advance(),$==O.next)){O.advance();let e=!Q.context&&Q.canShift(U);O.acceptToken(e?U:$O)}},{contextual:!0}),cO=I({"get set async static":i.modifier,"for while do if else switch try catch finally return throw break continue default case":i.controlKeyword,"in of await yield void typeof delete instanceof":i.operatorKeyword,"let var const using function class extends":i.definitionKeyword,"import export from":i.moduleKeyword,"with debugger as new":i.keyword,TemplateString:i.special(i.string),super:i.atom,BooleanLiteral:i.bool,this:i.self,null:i.null,Star:i.modifier,VariableName:i.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":i.function(i.variableName),VariableDefinition:i.definition(i.variableName),Label:i.labelName,PropertyName:i.propertyName,PrivatePropertyName:i.special(i.propertyName),"CallExpression/MemberExpression/PropertyName":i.function(i.propertyName),"FunctionDeclaration/VariableDefinition":i.function(i.definition(i.variableName)),"ClassDeclaration/VariableDefinition":i.definition(i.className),PropertyDefinition:i.definition(i.propertyName),PrivatePropertyDefinition:i.definition(i.special(i.propertyName)),UpdateOp:i.updateOperator,"LineComment Hashbang":i.lineComment,BlockComment:i.blockComment,Number:i.number,String:i.string,Escape:i.escape,ArithOp:i.arithmeticOperator,LogicOp:i.logicOperator,BitOp:i.bitwiseOperator,CompareOp:i.compareOperator,RegExp:i.regexp,Equals:i.definitionOperator,Arrow:i.function(i.punctuation),": Spread":i.punctuation,"( )":i.paren,"[ ]":i.squareBracket,"{ }":i.brace,"InterpolationStart InterpolationEnd":i.special(i.brace),".":i.derefOperator,", ;":i.separator,"@":i.meta,TypeName:i.typeName,TypeDefinition:i.definition(i.typeName),"type enum interface implements namespace module declare":i.definitionKeyword,"abstract global Privacy readonly override":i.modifier,"is keyof unique infer":i.operatorKeyword,JSXAttributeValue:i.attributeValue,JSXText:i.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":i.angleBracket,"JSXIdentifier JSXNameSpacedName":i.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":i.attributeName,"JSXBuiltin/JSXIdentifier":i.standard(i.tagName)}),mO={__proto__:null,export:16,as:21,from:29,default:32,async:37,function:38,extends:48,this:52,true:60,false:60,null:72,void:76,typeof:80,super:98,new:132,delete:148,yield:157,await:161,class:166,public:223,private:223,protected:223,readonly:225,instanceof:244,satisfies:247,in:248,const:250,import:282,keyof:337,unique:341,infer:347,is:383,abstract:403,implements:405,type:407,let:410,var:412,using:415,interface:421,enum:425,namespace:431,module:433,declare:437,global:441,for:460,of:469,while:472,with:476,do:480,if:484,else:486,switch:490,case:496,try:502,catch:506,finally:510,return:514,throw:518,break:522,continue:526,debugger:530},bO={__proto__:null,async:119,get:121,set:123,declare:183,public:185,private:185,protected:185,static:187,abstract:189,override:191,readonly:197,accessor:199,new:387},dO={__proto__:null,"<":139},xO=z.deserialize({version:14,states:"$6zO%TQUOOO%[QUOOO'_QWOOP(lOSOOO*zQ(CjO'#CgO+ROpO'#ChO+aO!bO'#ChO+oO07`O'#D[O.QQUO'#DbO.bQUO'#DmO%[QUO'#DwO0fQUO'#EPOOQ(CY'#EX'#EXO1PQSO'#EUOOQO'#Ej'#EjOOQO'#Id'#IdO1XQSO'#GlO1dQSO'#EiO1iQSO'#EiO3kQ(CjO'#JeO6[Q(CjO'#JfO6xQSO'#FXO6}Q#tO'#FpOOQ(CY'#Fa'#FaO7YO&jO'#FaO7hQ,UO'#FwO9OQSO'#FvOOQ(CY'#Jf'#JfOOQ(CW'#Je'#JeO9TQSO'#GpOOQQ'#KQ'#KQO9`QSO'#IQO9eQ(C[O'#IROOQQ'#JR'#JROOQQ'#IV'#IVQ`QUOOO`QUOOO%[QUO'#DoO9mQUO'#D{O9tQUO'#D}O9ZQSO'#GlO9{Q,UO'#CmO:ZQSO'#EhO:fQSO'#EsO:kQ,UO'#F`O;YQSO'#GlOOQO'#KR'#KRO;_QSO'#KRO;mQSO'#GtO;mQSO'#GuO;mQSO'#GwO9ZQSO'#GzO]QSO'#HZO>eQSO'#HaO>eQSO'#HcO`QUO'#HeO>eQSO'#HgO>eQSO'#HjO>jQSO'#HpO>oQ(C]O'#HvO%[QUO'#HxO>zQ(C]O'#HzO?VQ(C]O'#H|O9eQ(C[O'#IOO?bQ(CjO'#CgO@dQWO'#DgQOQSOOO%[QUO'#D}O@zQSO'#EQO9{Q,UO'#EhOAVQSO'#EhOAbQ`O'#F`OOQQ'#Ce'#CeOOQ(CW'#Dl'#DlOOQ(CW'#Ji'#JiO%[QUO'#JiOOQO'#Jm'#JmOOQO'#Ia'#IaOBbQWO'#EaOOQ(CW'#E`'#E`OC^Q(C`O'#EaOChQWO'#ETOOQO'#Jl'#JlOC|QWO'#JmOEZQWO'#ETOChQWO'#EaPEhO?MpO'#C`POOO)CDp)CDpOOOO'#IW'#IWOEsOpO,59SOOQ(CY,59S,59SOOOO'#IX'#IXOFRO!bO,59SO%[QUO'#D^OOOO'#IZ'#IZOFaO07`O,59vOOQ(CY,59v,59vOFoQUO'#I[OGSQSO'#JgOIUQbO'#JgO+}QUO'#JgOI]QSO,59|OIsQSO'#EjOJQQSO'#JuOJ]QSO'#JtOJ]QSO'#JtOJeQSO,5;WOJjQSO'#JsOOQ(CY,5:X,5:XOJqQUO,5:XOLrQ(CjO,5:cOMcQSO,5:kOM|Q(C[O'#JrONTQSO'#JqO9TQSO'#JqONiQSO'#JqONqQSO,5;VONvQSO'#JqO!#OQbO'#JfOOQ(CY'#Cg'#CgO%[QUO'#EPO!#nQ`O,5:pOOQO'#Jn'#JnOOQO-ElOOQQ'#JZ'#JZOOQQ,5>m,5>mOOQQ-ExQ(CjO,5:iOOQO,5@m,5@mO!?iQ,UO,5=WO!?wQ(C[O'#J[O9OQSO'#J[O!@YQ(C[O,59XO!@eQWO,59XO!@mQ,UO,59XO9{Q,UO,59XO!@xQSO,5;TO!AQQSO'#HYO!AfQSO'#KVO%[QUO,5;xO!7cQWO,5;zO!AnQSO,5=sO!AsQSO,5=sO!AxQSO,5=sO9eQ(C[O,5=sO;mQSO,5=cOOQO'#Cs'#CsO!BWQWO,5=`O!B`Q,UO,5=aO!BkQSO,5=cO!BpQ`O,5=fO!BxQSO'#KRO>jQSO'#HPO9ZQSO'#HRO!B}QSO'#HRO9{Q,UO'#HTO!CSQSO'#HTOOQQ,5=i,5=iO!CXQSO'#HUO!CjQSO'#CmO!CoQSO,58}O!CyQSO,58}O!FOQUO,58}OOQQ,58},58}O!F`Q(C[O,58}O%[QUO,58}O!HkQUO'#H]OOQQ'#H^'#H^OOQQ'#H_'#H_O`QUO,5=uO!IRQSO,5=uO`QUO,5={O`QUO,5=}O!IWQSO,5>PO`QUO,5>RO!I]QSO,5>UO!IbQUO,5>[OOQQ,5>b,5>bO%[QUO,5>bO9eQ(C[O,5>dOOQQ,5>f,5>fO!MlQSO,5>fOOQQ,5>h,5>hO!MlQSO,5>hOOQQ,5>j,5>jO!MqQWO'#DYO%[QUO'#JiO!N`QWO'#JiO!N}QWO'#DhO# `QWO'#DhO##qQUO'#DhO##xQSO'#JhO#$QQSO,5:RO#$VQSO'#EnO#$eQSO'#JvO#$mQSO,5;XO#$rQWO'#DhO#%PQWO'#ESOOQ(CY,5:l,5:lO%[QUO,5:lO#%WQSO,5:lO>jQSO,5;SO!@eQWO,5;SO!@mQ,UO,5;SO9{Q,UO,5;SO#%`QSO,5@TO#%eQ!LQO,5:pOOQO-E<_-E<_O#&kQ(C`O,5:{OChQWO,5:oO#&uQWO,5:oOChQWO,5:{O!@YQ(C[O,5:oOOQ(CW'#Ed'#EdOOQO,5:{,5:{O%[QUO,5:{O#'SQ(C[O,5:{O#'_Q(C[O,5:{O!@eQWO,5:oOOQO,5;R,5;RO#'mQ(C[O,5:{POOO'#IU'#IUP#(RO?MpO,58zPOOO,58z,58zOOOO-EvO+}QUO,5>vOOQO,5>|,5>|O#(mQUO'#I[OOQO-EWQ(CjO1G0yO#>_Q(CjO1G0yO#@VQ(CjO1G0yO#CVQ$IUO'#CgO#ETQ$IUO1G1[O#E[Q$IUO'#JfO!,YQSO1G1bO#ElQ(CjO,5?SOOQ(CW-EeQSO1G3kO$.fQUO1G3mO$2jQUO'#HlOOQQ1G3p1G3pO$2wQSO'#HrO>jQSO'#HtOOQQ1G3v1G3vO$3PQUO1G3vO9eQ(C[O1G3|OOQQ1G4O1G4OOOQ(CW'#GX'#GXO9eQ(C[O1G4QO9eQ(C[O1G4SO$7WQSO,5@TO!*SQUO,5;YO9TQSO,5;YO>jQSO,5:SO!*SQUO,5:SO!@eQWO,5:SO$7]Q$IUO,5:SOOQO,5;Y,5;YO$7gQWO'#I]O$7}QSO,5@SOOQ(CY1G/m1G/mO$8VQWO'#IcO$8aQSO,5@bOOQ(CW1G0s1G0sO# `QWO,5:SOOQO'#I`'#I`O$8iQWO,5:nOOQ(CY,5:n,5:nO#%ZQSO1G0WOOQ(CY1G0W1G0WO%[QUO1G0WOOQ(CY1G0n1G0nO>jQSO1G0nO!@eQWO1G0nO!@mQ,UO1G0nOOQ(CW1G5o1G5oO!@YQ(C[O1G0ZOOQO1G0g1G0gO%[QUO1G0gO$8pQ(C[O1G0gO$8{Q(C[O1G0gO!@eQWO1G0ZOChQWO1G0ZO$9ZQ(C[O1G0gOOQO1G0Z1G0ZO$9oQ(CjO1G0gPOOO-EvO$:]QSO1G5mO$:eQSO1G5zO$:mQbO1G5{O9TQSO,5>|O$:wQ(CjO1G5xO%[QUO1G5xO$;XQ(C[O1G5xO$;jQSO1G5wO$;jQSO1G5wO9TQSO1G5wO$;rQSO,5?PO9TQSO,5?POOQO,5?P,5?PO$WOOQQ,5>W,5>WO%[QUO'#HmO%(vQSO'#HoOOQQ,5>^,5>^O9TQSO,5>^OOQQ,5>`,5>`OOQQ7+)b7+)bOOQQ7+)h7+)hOOQQ7+)l7+)lOOQQ7+)n7+)nO%({QWO1G5oO%)aQ$IUO1G0tO%)kQSO1G0tOOQO1G/n1G/nO%)vQ$IUO1G/nO>jQSO1G/nO!*SQUO'#DhOOQO,5>w,5>wOOQO-E},5>}OOQO-EjQSO7+&YO!@eQWO7+&YOOQO7+%u7+%uO$9oQ(CjO7+&ROOQO7+&R7+&RO%[QUO7+&RO%*QQ(C[O7+&RO!@YQ(C[O7+%uO!@eQWO7+%uO%*]Q(C[O7+&RO%*kQ(CjO7++dO%[QUO7++dO%*{QSO7++cO%*{QSO7++cOOQO1G4k1G4kO9TQSO1G4kO%+TQSO1G4kOOQO7+%z7+%zO#%ZQSO<xOOQO-E<[-E<[O%2yQbO,5>yO%[QUO,5>yOOQO-E<]-E<]O%3TQSO1G5qOOQ(CY<tQ$IUO1G0yO%>{Q$IUO1G0yO%@sQ$IUO1G0yO%AWQ(CjO<XOOQQ,5>Z,5>ZO& PQSO1G3xO9TQSO7+&`O!*SQUO7+&`OOQO7+%Y7+%YO& UQ$IUO1G5{O>jQSO7+%YOOQ(CY<jQSO<jQSO7+)dO&6mQSO<{AN>{O%[QUOAN?XOOQO<PQSO7+*ZO&>[QSO<= ZO&>dQ`O7+*]OOQ(CW<nQ`O<uQSO<= dOOQQG27kG27kO9eQ(C[OG27kO!*SQUO1G4vO&>}QSO7++uO%MbQSOANAyOOQQANAyANAyO!&^Q,UOANAyO&?VQSOANAyOOQQANA{ANA{O9eQ(C[OANA{O#NWQSOANA{OOQO'#HW'#HWOOQO7+*e7+*eOOQQG22uG22uOOQQANEPANEPOOQQANEQANEQOOQQANBTANBTO&?_QSOANBTOOQQ<fOPZXYZXlZXzZX{ZX}ZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(TZX(dZX(kZX(lZX!WZX!XZX~O#zZX~P#APOP$]OY:YOl9|Oz#yO{#zO}#{O!f:OO!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O#m:OO#n:OO#o:XO#p:OO#r:PO#t:RO#v:TO#w:UO(TVO(d$ZO(k#|O(l#}O~O#z.iO~P#C^O#Y:ZO#|:ZO#z(YX!X(YX~P! UO_'[a!W'[a'm'[a'k'[a!h'[a!T'[ap'[a!Y'[a%b'[a!b'[a~P!7zOP#giY#gi_#gil#gi{#gi!W#gi!f#gi!g#gi!i#gi!m#gi#h#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi'm#gi(T#gi(d#gi'k#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~P#,sO_#{i!W#{i'm#{i'k#{i!T#{i!h#{ip#{i!Y#{i%b#{i!b#{i~P!7zO$X.nO$Z.nO~O$X.oO$Z.oO~O!b)_O#Y.pO!Y$_X$U$_X$X$_X$Z$_X$b$_X~O!V.qO~O!Y)bO$U.sO$X)aO$Z)aO$b.tO~O!W:VO!X(XX~P#C^O!X.uO~O!b)_O$b(mX~O$b.wO~Or)qO(U)rO(V.zO~O!T/OO~P!&^O!WdX!bdX!hdX!h$tX(ddX~P!/bO!h/UO~P#,sO!W/VO!b#uO(d'gO!h(qX~O!h/[O~O!V*SO'v%`O!h(qP~O#e/^O~O!T$tX!W$tX!b${X~P!/bO!W/_O!T(rX~P#,sO!b/aO~O!T/cO~Ol/gO!b#uO!i%^O(P%RO(d'gO~O'v/iO~O!b+YO~O_%gO!W/mO'm%gO~O!X/oO~P!3`O!^/pO!_/pO'w!lO(W!mO~O}/rO(W!mO~O#U/sO~O'v&QOe'aX!W'aX~O!W*lOe(Qa~Oe/xO~Oz/yO{/yO}/zOhwa(kwa(lwa!Wwa#Ywa~Oewa#zwa~P$ tOz)vO})wOh$ma(k$ma(l$ma!W$ma#Y$ma~Oe$ma#z$ma~P$!jOz)vO})wOh$oa(k$oa(l$oa!W$oa#Y$oa~Oe$oa#z$oa~P$#]O#e/|O~Oe$}a!W$}a#Y$}a#z$}a~P!0kO!b#uO~O#e0PO~O!W*}O_(va'm(va~Oz#yO{#zO}#{O!g#wO!i#xO(TVOP!oiY!oil!oi!W!oi!f!oi!m!oi#h!oi#i!oi#j!oi#k!oi#l!oi#m!oi#n!oi#o!oi#p!oi#r!oi#t!oi#v!oi#w!oi(d!oi(k!oi(l!oi~O_!oi'm!oi'k!oi!T!oi!h!oip!oi!Y!oi%b!oi!b!oi~P$$zOh.UO!Y'VO%b.TO~Oj0ZO'v0YO~P!1]O!b+YO_(Oa!Y(Oa'm(Oa!W(Oa~O#e0aO~OYZX!WdX!XdX~O!W0bO!X(zX~O!X0dO~OY0eO~O`0gO'v+bO'xTO'{UO~O!Y%wO'v%`O^'iX!W'iX~O!W+gO^(ya~O!h0jO~P!7zOY0mO~O^0nO~O#Y0qO~Oh0tO!Y$|O~O(W(tO!X(wP~Oh0}O!Y0zO%b0|O(P%RO~OY1XO!W1VO!X(xX~O!X1YO~O^1[O_%gO'm%gO~O'v#mO'xTO'{UO~O#Y$eO#|$eOP(YXY(YXl(YXz(YX{(YX}(YX!W(YX!f(YX!i(YX!m(YX#h(YX#i(YX#j(YX#k(YX#l(YX#m(YX#n(YX#o(YX#r(YX#t(YX#v(YX#w(YX(T(YX(d(YX(k(YX(l(YX~O#p1_O&S1`O_(YX!g(YX~P$+sO#Y$eO#p1_O&S1`O~O_1bO~P%[O_1dO~O&]1gOP&ZiQ&ZiW&Zi_&Zib&Zic&Zij&Zil&Zim&Zin&Zit&Ziv&Zix&Zi}&Zi!R&Zi!S&Zi!Y&Zi!d&Zi!i&Zi!l&Zi!m&Zi!n&Zi!p&Zi!r&Zi!u&Zi!y&Zi#q&Zi$R&Zi$V&Zi%a&Zi%c&Zi%e&Zi%f&Zi%g&Zi%j&Zi%l&Zi%o&Zi%p&Zi%r&Zi&O&Zi&U&Zi&W&Zi&Y&Zi&[&Zi&_&Zi&e&Zi&k&Zi&m&Zi&o&Zi&q&Zi&s&Zi'k&Zi'v&Zi'x&Zi'{&Zi(T&Zi(c&Zi(p&Zi!X&Zi`&Zi&b&Zi~O`1mO!X1kO&b1lO~P`O!YXO!i1oO~O&i,jOP&diQ&diW&di_&dib&dic&dij&dil&dim&din&dit&div&dix&di}&di!R&di!S&di!Y&di!d&di!i&di!l&di!m&di!n&di!p&di!r&di!u&di!y&di#q&di$R&di$V&di%a&di%c&di%e&di%f&di%g&di%j&di%l&di%o&di%p&di%r&di&O&di&U&di&W&di&Y&di&[&di&_&di&e&di&k&di&m&di&o&di&q&di&s&di'k&di'v&di'x&di'{&di(T&di(c&di(p&di!X&di&]&di`&di&b&di~O!T1uO~O!W![a!X![a~P#C^Om!nO}!oO!V1{O(W!mO!W'PX!X'PX~P@OO!W,zO!X([a~O!W'VX!X'VX~P!7SO!W,}O!X(ja~O!X2SO~P'_O_%gO#Y2]O'm%gO~O_%gO!b#uO#Y2]O'm%gO~O_%gO!b#uO!m2aO#Y2]O'm%gO(d'gO~O_%gO'm%gO~P!7zO!W$aOp$la~O!T'Oi!W'Oi~P!7zO!W'{O!T(Zi~O!W(SO!T(hi~O!T(ii!W(ii~P!7zO!W(fi!h(fi_(fi'm(fi~P!7zO#Y2cO!W(fi!h(fi_(fi'm(fi~O!W(`O!h(ei~O}%aO!Y%bO!y]O#c2hO#d2gO'v%`O~O}%aO!Y%bO#d2gO'v%`O~Oh2oO!Y'VO%b2nO~Oh2oO!Y'VO%b2nO(P%RO~O#ewaPwaYwa_walwa!fwa!gwa!iwa!mwa#hwa#iwa#jwa#kwa#lwa#mwa#nwa#owa#pwa#rwa#twa#vwa#wwa'mwa(Twa(dwa!hwa!Twa'kwapwa!Ywa%bwa!bwa~P$ tO#e$maP$maY$ma_$mal$ma{$ma!f$ma!g$ma!i$ma!m$ma#h$ma#i$ma#j$ma#k$ma#l$ma#m$ma#n$ma#o$ma#p$ma#r$ma#t$ma#v$ma#w$ma'm$ma(T$ma(d$ma!h$ma!T$ma'k$map$ma!Y$ma%b$ma!b$ma~P$!jO#e$oaP$oaY$oa_$oal$oa{$oa!f$oa!g$oa!i$oa!m$oa#h$oa#i$oa#j$oa#k$oa#l$oa#m$oa#n$oa#o$oa#p$oa#r$oa#t$oa#v$oa#w$oa'm$oa(T$oa(d$oa!h$oa!T$oa'k$oap$oa!Y$oa%b$oa!b$oa~P$#]O#e$}aP$}aY$}a_$}al$}a{$}a!W$}a!f$}a!g$}a!i$}a!m$}a#h$}a#i$}a#j$}a#k$}a#l$}a#m$}a#n$}a#o$}a#p$}a#r$}a#t$}a#v$}a#w$}a'm$}a(T$}a(d$}a!h$}a!T$}a'k$}a#Y$}ap$}a!Y$}a%b$}a!b$}a~P#,sO_#]q!W#]q'm#]q'k#]q!T#]q!h#]qp#]q!Y#]q%b#]q!b#]q~P!7zOe'QX!W'QX~P!'vO!W._Oe(^a~O!V2wO!W'RX!h'RX~P%[O!W.bO!h(_a~O!W.bO!h(_a~P!7zO!T2zO~O#z!ka!X!ka~PJxO#z!ca!W!ca!X!ca~P#C^O#z!oa!X!oa~P!:eO#z!qa!X!qa~P!=OO!Y3^O$VfO$`3_O~O!X3cO~Op3dO~P#,sO_$iq!W$iq'm$iq'k$iq!T$iq!h$iqp$iq!Y$iq%b$iq!b$iq~P!7zO!T3eO~P#,sOz)vO})wO(l){Oh%Yi(k%Yi!W%Yi#Y%Yi~Oe%Yi#z%Yi~P$J]Oz)vO})wOh%[i(k%[i(l%[i!W%[i#Y%[i~Oe%[i#z%[i~P$KOO(d$ZO~P#,sO!V3hO'v%`O!W']X!h']X~O!W/VO!h(qa~O!W/VO!b#uO!h(qa~O!W/VO!b#uO(d'gO!h(qa~Oe$vi!W$vi#Y$vi#z$vi~P!0kO!V3pO'v*XO!T'_X!W'_X~P!1YO!W/_O!T(ra~O!W/_O!T(ra~P#,sO!b#uO#p3xO~Ol3{O!b#uO(d'gO~Oe(Ri!W(Ri~P!0kO#Y4OOe(Ri!W(Ri~P!0kO!h4RO~O_$jq!W$jq'm$jq'k$jq!T$jq!h$jqp$jq!Y$jq%b$jq!b$jq~P!7zO!T4VO~O!W4WO!Y(sX~P#,sO!g#wO~P4XO_$tX!Y$tX%VZX'm$tX!W$tX~P!/bO%V4YO_iXhiXziX}iX!YiX'miX(kiX(liX!WiX~O%V4YO~O`4`O%c4aO'v+bO'xTO'{UO!W'hX!X'hX~O!W0bO!X(za~OY4eO~O^4fO~O_%gO'm%gO~P#,sO!Y$|O~P#,sO!W4nO#Y4pO!X(wX~O!X4qO~Om!nO}4rO!]!xO!^!uO!_!uO!y9rO!}!pO#O!pO#P!pO#Q!pO#R!pO#U4wO#V!yO'w!lO'xTO'{UO(W!mO(c!sO~O!X4vO~P%%QOh4|O!Y0zO%b4{O~Oh4|O!Y0zO%b4{O(P%RO~O`5TO'v#mO'xTO'{UO!W'gX!X'gX~O!W1VO!X(xa~O'xTO'{UO(W5VO~O^5ZO~O#p5^O&S5_O~PMhO!h5`O~P%[O_5bO~O_5bO~P%[O`1mO!X5gO&b1lO~P`O!b5iO~O!b5kO!W(]i!X(]i!b(]i!i(]i(P(]i~O!W#bi!X#bi~P#C^O#Y5lO!W#bi!X#bi~O!W![i!X![i~P#C^O_%gO#Y5uO'm%gO~O_%gO!b#uO#Y5uO'm%gO~O!W(fq!h(fq_(fq'm(fq~P!7zO!W(`O!h(eq~O}%aO!Y%bO#d5|O'v%`O~O!Y'VO%b6PO~Oh6SO!Y'VO%b6PO~O#e%YiP%YiY%Yi_%Yil%Yi{%Yi!f%Yi!g%Yi!i%Yi!m%Yi#h%Yi#i%Yi#j%Yi#k%Yi#l%Yi#m%Yi#n%Yi#o%Yi#p%Yi#r%Yi#t%Yi#v%Yi#w%Yi'm%Yi(T%Yi(d%Yi!h%Yi!T%Yi'k%Yip%Yi!Y%Yi%b%Yi!b%Yi~P$J]O#e%[iP%[iY%[i_%[il%[i{%[i!f%[i!g%[i!i%[i!m%[i#h%[i#i%[i#j%[i#k%[i#l%[i#m%[i#n%[i#o%[i#p%[i#r%[i#t%[i#v%[i#w%[i'm%[i(T%[i(d%[i!h%[i!T%[i'k%[ip%[i!Y%[i%b%[i!b%[i~P$KOO#e$viP$viY$vi_$vil$vi{$vi!W$vi!f$vi!g$vi!i$vi!m$vi#h$vi#i$vi#j$vi#k$vi#l$vi#m$vi#n$vi#o$vi#p$vi#r$vi#t$vi#v$vi#w$vi'm$vi(T$vi(d$vi!h$vi!T$vi'k$vi#Y$vip$vi!Y$vi%b$vi!b$vi~P#,sOe'Qa!W'Qa~P!0kO!W'Ra!h'Ra~P!7zO!W.bO!h(_i~O#z#]i!W#]i!X#]i~P#C^OP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O(TVOY#gil#gi!f#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(d#gi(k#gi(l#gi!W#gi!X#gi~O#h#gi~P%3jO#h9zO~P%3jOP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O(TVOY#gi!f#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(d#gi(k#gi(l#gi!W#gi!X#gi~Ol#gi~P%5uOl9|O~P%5uOP$]Ol9|Oz#yO{#zO}#{O!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O(TVO#r#gi#t#gi#v#gi#w#gi#z#gi(d#gi(k#gi(l#gi!W#gi!X#gi~OY#gi!f#gi#m#gi#n#gi#o#gi#p#gi~P%8QOY:YO!f:OO#m:OO#n:OO#o:XO#p:OO~P%8QOP$]OY:YOl9|Oz#yO{#zO}#{O!f:OO!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O#m:OO#n:OO#o:XO#p:OO#r:PO(TVO#t#gi#v#gi#w#gi#z#gi(d#gi(l#gi!W#gi!X#gi~O(k#gi~P%:lO(k#|O~P%:lOP$]OY:YOl9|Oz#yO{#zO}#{O!f:OO!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O#m:OO#n:OO#o:XO#p:OO#r:PO#t:RO(TVO(k#|O#v#gi#w#gi#z#gi(d#gi!W#gi!X#gi~O(l#gi~P%yP?^P?^PPP?^PAOP?^P?^P?^PASPPAXPArPFjPPPFnPPPPFnIoPPPIuJpPFnPMOPPPP! ^FnPPPFnPFnP!#lFnP!'Q!(S!(]P!)P!)T!)PPPPPP!,`!(SPP!,|!-vP!0jFnFn!0o!3y!8`!8`!}P#@^#@e#@mPPPP#D{#Gr#NZ#N^#Na$ Y$ ]$ `$ g$ oPP$ u$ y$!q$#p$#t$$YPP$$^$$d$$hP$$k$$o$$r$%h$&P$&h$&l$&o$&r$&x$&{$'P$'TR!{RoqOXst!Z#c%f&i&k&l&n,b,g1g1jY!uQ'V-S0z4uQ%lvQ%tyQ%{|Q&a!VS&}!e,zQ']!iS'c!r!xS*_$|*dQ+`%uQ+m%}Q,R&ZQ-Q'UQ-['^Q-d'dQ/p*fQ1U,SR:d9u%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|,_,b,g-W-`-n-t.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2w4r4|5^5_5b5u7Z7`7o7yS#p]9r!r)W$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cQ*o%VQ+e%wQ,T&^Q,[&fQ.X:[Q0W+WQ0[+YQ0g+fQ1^,YQ2k.UQ4`0bQ5T1VQ6R2oQ6X:]Q6z4aR8P6S&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;ct!nQ!r!u!x!y&}'U'V'c'd'e,z-Q-S-d0z4u4w$^$si#u#w$c$d$x${%W%X%])q)w)z)|)}*U*[*j*k+V+Y+q+t.T._/P/^/_/a/|0q0t0|2n3f3p3x4O4W4Y4{6P6g6p7]7|8X8l9O9^9f:X:Y:^:_:`:a:b:c:i:j:k:l:m:n:q:r:s:t:w:x;`;h;i;l;mQ&O|Q&{!eS'R%b,}Q+e%wQ,T&^Q/{*sQ0g+fQ0l+lQ1],XQ1^,YQ4`0bQ4i0nQ5T1VQ5W1XQ5X1[Q6z4aQ6}4fQ7h5ZQ8g7OR8r7ernOXst!V!Z#c%f&`&i&k&l&n,b,g1g1jR,V&b&v^OPXYstuvwz!Z!`!g!j!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'X'i'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;b;c[#[WZ#V#Y'O'y!S%cm#g#h#k%^%a(S(^(_(`*z*{*},^,t-r-x-y-z-|1o2g2h5k5|Q%oxQ%syS%x|%}Q&U!TQ'Y!hQ'[!iQ(g#rS*R$x*VS+_%t%uQ+c%wQ+|&XQ,Q&ZS-Z']'^Q.W(hQ/Z*SQ0`+`Q0f+fQ0h+gQ0k+kQ1P+}S1T,R,SQ2X-[Q3g/VQ4_0bQ4c0eQ4h0mQ5S1UQ6d3hQ6y4aQ6|4eQ8c6xR9X8dv$zi#w%W%X%])z)|*U*j*k._/^/|3f4O8X;`;h;i!S%qy!i!t%s%t%u&|'[']'^'b'l*^+_+`,w-Z-[-c/h0`2Q2X2`3zQ+X%oQ+r&RQ+u&SQ,P&ZQ.V(gQ1O+|U1S,Q,R,SQ2p.WQ4}1PS5R1T1UQ7d5S#O;d#u$c$d$x${)q)w)}*[+V+Y+q+t.T/P/_/a0q0t0|2n3p3x4W4Y4{6P6g6p7]7|8l9O9^9f:^:`:b:i:k:m:q:s:w;l;mg;e:X:Y:_:a:c:j:l:n:r:t:xW%Pi%R*l;`S&R!Q&`Q&S!RQ&T!SR+p&P$_%Oi#u#w$c$d$x${%W%X%])q)w)z)|)}*U*[*j*k+V+Y+q+t.T._/P/^/_/a/|0q0t0|2n3f3p3x4O4W4Y4{6P6g6p7]7|8X8l9O9^9f:X:Y:^:_:`:a:b:c:i:j:k:l:m:n:q:r:s:t:w:x;`;h;i;l;mT)r$u)sV*p%V:[:]U'R!e%b,}S(u#y#zQ+j%zS.P(c(dQ0u+vQ4P/yR7S4n&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;c$i$`c#X#d%j%k%m'x(O(j(q(y(z({(|(})O)P)Q)R)S)T)V)Y)^)h+T+i,x-g-l-q-s.^.d.h.j.k.l.{/}1v1y2Z2b2v2{2|2}3O3P3Q3R3S3T3U3V3W3X3[3]3b4T4]5n5t5y6V6W6]6^7U7s7w8Q8U8V8{9Z9b9s;VT#SV#T&}kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cQ'P!eR1|,zv!nQ!e!r!u!x!y&}'U'V'c'd'e,z-Q-S-d0z4u4wS*^$|*dS/h*_*fQ/q*gQ0w+xQ3z/pR3}/snqOXst!Z#c%f&i&k&l&n,b,g1g1jQ&p!^Q'm!wS(i#t9yQ+]%rQ+z&UQ+{&WQ-X'ZQ-f'fS.](n:fS0O*x:oQ0^+^Q0y+yQ1n,iQ1p,jQ1x,uQ2V-YQ2Y-^S4U0P:uQ4Z0_S4^0a:vQ5m1zQ5q2WQ5v2_Q6w4[Q7t5oQ7u5rQ7x5wR8x7q$d$_c#X#d%k%m'x(O(j(q(y(z({(|(})O)P)Q)R)S)T)V)Y)^)h+T+i,x-g-l-q-s.^.d.h.k.l.{/}1v1y2Z2b2v2{2|2}3O3P3Q3R3S3T3U3V3W3X3[3]3b4T4]5n5t5y6V6W6]6^7U7s7w8Q8U8V8{9Z9b9s;VS(f#o'`U*i$}(m3ZS+S%j.jQ2l0WQ6O2kQ8O6RR9P8P$d$^c#X#d%k%m'x(O(j(q(y(z({(|(})O)P)Q)R)S)T)V)Y)^)h+T+i,x-g-l-q-s.^.d.h.k.l.{/}1v1y2Z2b2v2{2|2}3O3P3Q3R3S3T3U3V3W3X3[3]3b4T4]5n5t5y6V6W6]6^7U7s7w8Q8U8V8{9Z9b9s;VS(e#o'`S(w#z$_S+R%j.jS.Q(d(fQ.m)XQ0T+SR2i.R&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cS#p]9rQ&k!XQ&l!YQ&n![Q&o!]R1f,eQ'W!hQ+U%oQ-V'YS.S(g+XQ2T-UW2m.V.W0V0XQ5p2UU5}2j2l2pS7{6O6QS8}7}8OS9d8|9PQ9l9eR9o9mU!vQ'V-ST4s0z4u!Q_OXZ`st!V!Z#c#g%^%f&`&b&i&k&l&n(`,b,g-y1g1j]!pQ!r'V-S0z4uT#p]9r%Y{OPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&f&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7yS(u#y#zS.P(c(d!s:|$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cY!tQ'V-S0z4uQ'b!rS'l!u!xS'n!y4wS-c'c'dQ-e'eR2`-dQ'k!tS([#f1aS-b'b'nQ/Y*RQ/f*^Q2a-eQ3l/ZS3u/g/qQ6c3gS6n3{3}Q8Z6dR8b6qQ#vbQ'j!tS(Z#f1aS(]#l*wQ*y%_Q+Z%pQ+a%vU-a'b'k'nQ-u([Q/X*RQ/e*^Q/k*aQ0]+[Q1Q,OS2^-b-eQ2f-}S3k/Y/ZS3t/f/qQ3w/jQ3y/lQ5P1RQ5x2aQ6b3gQ6f3lS6j3u3}Q6o3|Q7b5QS8Y6c6dQ8^6kQ8`6nQ8o7cQ9T8ZQ9U8_Q9W8bQ9`8pQ9h9VQ;P:zQ;[;TR;];UV!vQ'V-S%YaOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&f&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7yS#vz!j!r:y$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cR;P;b%YbOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&f&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7yQ%_j!S%py!i!t%s%t%u&|'[']'^'b'l*^+_+`,w-Z-[-c/h0`2Q2X2`3zS%vz!jQ+[%qQ,O&ZW1R,P,Q,R,SU5Q1S1T1US7c5R5SQ8p7d!r:z$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cQ;T;aR;U;b$|eOPXYstuvw!Z!`!g!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&i&k&l&n&r&z'X'i'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7yY#aWZ#V#Y'y!S%cm#g#h#k%^%a(S(^(_(`*z*{*},^,t-r-x-y-z-|1o2g2h5k5|Q,]&f!p:{$[$m)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cR;O'OS'S!e%bR2O,}%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|,_,b,g-W-`-n-t.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2w4r4|5^5_5b5u7Z7`7o7y!r)W$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cQ,[&fQ0W+WQ2k.UQ6R2oR8P6S!f$Uc#X%j'x(O(j(q)Q)R)S)T)Y)^+i-g-l-q-s.^.d.{/}2Z2b2v3X4T4]5t5y6V7w8{9s!T:Q)V)h,x.j1v1y2{3T3U3V3W3[3b5n6W6]6^7U7s8Q8U8V9Z9b;V!b$Wc#X%j'x(O(j(q)S)T)Y)^+i-g-l-q-s.^.d.{/}2Z2b2v3X4T4]5t5y6V7w8{9s!P:S)V)h,x.j1v1y2{3V3W3[3b5n6W6]6^7U7s8Q8U8V9Z9b;V!^$[c#X%j'x(O(j(q)Y)^+i-g-l-q-s.^.d.{/}2Z2b2v3X4T4]5t5y6V7w8{9sQ3f/Tz;c)V)h,x.j1v1y2{3[3b5n6W6]6^7U7s8Q8U8V9Z9b;VQ;h;jR;i;k&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cS$nh$oR3_.p'TgOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.p.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cT$jf$pQ$hfS)a$k)eR)m$pT$if$pT)c$k)e'ThOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.p.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cT$nh$oQ$qhR)l$o%YjOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&f&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7y!s;a$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;c#clOPXZst!Z!`!o#R#c#n#{$m%f&b&e&f&i&k&l&n&r&z'X(v)j*|+W,_,b,g-W.U.q/z0}1_1`1b1d1g1j1l2o3^4r4|5^5_5b6S7Z7`7ov$}i#w%W%X%])z)|*U*j*k._/^/|3f4O8X;`;h;i#O(m#u$c$d$x${)q)w)}*[+V+Y+q+t.T/P/_/a0q0t0|2n3p3x4W4Y4{6P6g6p7]7|8l9O9^9f:^:`:b:i:k:m:q:s:w;l;mQ*t%ZQ.|)vg3Z:X:Y:_:a:c:j:l:n:r:t:xv$yi#w%W%X%])z)|*U*j*k._/^/|3f4O8X;`;h;iQ*W$zS*a$|*dQ*u%[Q/l*b#O;R#u$c$d$x${)q)w)}*[+V+Y+q+t.T/P/_/a0q0t0|2n3p3x4W4Y4{6P6g6p7]7|8l9O9^9f:^:`:b:i:k:m:q:s:w;l;mf;S:X:Y:_:a:c:j:l:n:r:t:xQ;W;dQ;X;eQ;Y;fR;Z;gv$}i#w%W%X%])z)|*U*j*k._/^/|3f4O8X;`;h;i#O(m#u$c$d$x${)q)w)}*[+V+Y+q+t.T/P/_/a0q0t0|2n3p3x4W4Y4{6P6g6p7]7|8l9O9^9f:^:`:b:i:k:m:q:s:w;l;mg3Z:X:Y:_:a:c:j:l:n:r:t:xnoOXst!Z#c%f&i&k&l&n,b,g1g1jQ*Z${Q,p&uQ,q&wR3o/_$^%Oi#u#w$c$d$x${%W%X%])q)w)z)|)}*U*[*j*k+V+Y+q+t.T._/P/^/_/a/|0q0t0|2n3f3p3x4O4W4Y4{6P6g6p7]7|8X8l9O9^9f:X:Y:^:_:`:a:b:c:i:j:k:l:m:n:q:r:s:t:w:x;`;h;i;l;mQ+s&SQ0s+uQ4l0rR7R4mT*c$|*dS*c$|*dT4t0z4uS/j*`4rT3|/r7ZQ+Z%pQ/k*aQ0]+[Q1Q,OQ5P1RQ7b5QQ8o7cR9`8pn)z$v(o*v/]/t/u2t3m4S6a6r9S;Q;^;_!Y:i(k)[*Q*Y.[.x.}/T/b0U0p0r2s3n3r4k4m6T6U6h6l6t6v8]8a9g;j;k]:j3Y6[8R9Q9R9pp)|$v(o*v/R/]/t/u2t3m4S6a6r9S;Q;^;_![:k(k)[*Q*Y.[.x.}/T/b0U0p0r2q2s3n3r4k4m6T6U6h6l6t6v8]8a9g;j;k_:l3Y6[8R8S9Q9R9prnOXst!V!Z#c%f&`&i&k&l&n,b,g1g1jQ&]!UR,_&frnOXst!V!Z#c%f&`&i&k&l&n,b,g1g1jR&]!UQ+w&TR0o+psnOXst!V!Z#c%f&`&i&k&l&n,b,g1g1jQ0{+|S4z1O1PU7[4x4y4}S8k7^7_S9[8j8mQ9i9]R9n9jQ&d!VR,W&`R5W1XS%x|%}R0h+gQ&i!WR,b&jR,h&oT1h,g1jR,l&pQ,k&pR1q,lQ'p!zR-h'pSsOtQ#cXT%is#cQ!}TR'r!}Q#QUR't#QQ)s$uR.y)sQ#TVR'v#TQ#WWU'|#W'}-oQ'}#XR-o(OQ,{'PR1},{Q.`(oR2u.`Q.c(qS2x.c2yR2y.dQ-S'VR2R-SY!rQ'V-S0z4uR'a!rS#^W%aU(T#^(U-pQ(U#_R-p(PQ-O'SR2P-Ot`OXst!V!Z#c%f&`&b&i&k&l&n,b,g1g1jS#gZ%^U#q`#g-yR-y(`Q(a#iQ-v(]W.O(a-v2d5zQ2d-wR5z2eQ)e$kR.r)eQ$ohR)k$oQ$bcU)Z$b-k:WQ-k9sR:W)hQ/W*RW3i/W3j6e8[U3j/X/Y/ZS6e3k3lR8[6f#o)x$v(k(o)[*Q*Y*q*r*v.Y.Z.[.x.}/R/S/T/]/b/t/u0U0p0r2q2r2s2t3Y3m3n3r4S4k4m6T6U6Y6Z6[6a6h6l6r6t6v8R8S8T8]8a9Q9R9S9g9p;Q;^;_;j;kQ/`*YU3q/`3s6iQ3s/bR6i3rQ*d$|R/n*dQ*m%QR/w*mQ4X0UR6u4XQ+O%dR0S+OQ4o0uS7T4o8iR8i7UQ+y&UR0x+yQ4u0zR7X4uQ1W,TS5U1W7fR7f5WQ0c+cW4b0c4d6{8eQ4d0fQ6{4cR8e6|Q+h%xR0i+hQ1j,gR5f1jYrOXst#cQ&m!ZQ+Q%fQ,a&iQ,c&kQ,d&lQ,f&nQ1e,bS1h,g1jR5e1gQ%hpQ&q!_Q&t!aQ&v!bQ&x!cQ'h!tQ+P%eQ+]%rQ+o&OQ,V&dQ,n&sW-_'b'j'k'nQ-f'fQ/m*cQ0^+^S1Z,W,ZQ1r,mQ1s,pQ1t,qQ2Y-^W2[-a-b-e-gQ4Z0_Q4g0lQ4j0pQ5O1QQ5Y1]Q5d1fU5s2Z2^2aQ5v2_Q6w4[Q7P4iQ7Q4kQ7W4tQ7a5PQ7g5XS7v5t5xQ7x5wQ8f6}Q8n7bQ8s7hQ8z7wQ9Y8gQ9_8oQ9c8{R9k9`Q%ryQ'Z!iQ'f!tU+^%s%t%uQ,u&|U-Y'[']'^S-^'b'lQ/d*^S0_+_+`Q1z,wS2W-Z-[Q2_-cQ3v/hQ4[0`Q5o2QQ5r2XQ5w2`R6m3zS$wi;`R*n%RU%Qi%R;`R/v*lQ$viS(k#u+YQ(o#wS)[$c$dQ*Q$xQ*Y${Q*q%WQ*r%XQ*v%]Q.Y:^Q.Z:`Q.[:bQ.x)qS.})w/PQ/R)zQ/S)|Q/T)}Q/]*UQ/b*[Q/t*jQ/u*kh0U+V.T0|2n4{6P7]7|8l9O9^9fQ0p+qQ0r+tQ2q:iQ2r:kQ2s:mQ2t._S3Y:X:YQ3m/^Q3n/_Q3r/aQ4S/|Q4k0qQ4m0tQ6T:qQ6U:sQ6Y:_Q6Z:aQ6[:cQ6a3fQ6h3pQ6l3xQ6r4OQ6t4WQ6v4YQ8R:nQ8S:jQ8T:lQ8]6gQ8a6pQ9Q:rQ9R:tQ9S8XQ9g:wQ9p:xQ;Q;`Q;^;hQ;_;iQ;j;lR;k;mnpOXst!Z#c%f&i&k&l&n,b,g1g1jQ!fPS#eZ#nQ&s!`U'_!o4r7ZQ'u#RQ(x#{Q)i$mS,Z&b&eQ,`&fQ,m&rQ,r&zQ-U'XQ.f(vQ.v)jQ0Q*|Q0X+WQ1c,_Q2U-WQ2l.UQ3a.qQ4Q/zQ4y0}Q5[1_Q5]1`Q5a1bQ5c1dQ5h1lQ6O2oQ6_3^Q7_4|Q7k5^Q7l5_Q7n5bQ8O6SQ8m7`R8w7o#WcOPXZst!Z!`!o#c#n#{%f&b&e&f&i&k&l&n&r&z'X(v*|+W,_,b,g-W.U/z0}1_1`1b1d1g1j1l2o4r4|5^5_5b6S7Z7`7oQ#XWQ#dYQ%juQ%kvS%mw!gS'x#V'{Q(O#YQ(j#tQ(q#xQ(y$OQ(z$PQ({$QQ(|$RQ(}$SQ)O$TQ)P$UQ)Q$VQ)R$WQ)S$XQ)T$YQ)V$[Q)Y$aQ)^$eW)h$m)j.q3^Q+T%lQ+i%yS,x'O1{Q-g'iS-l'y-nQ-q(RQ-s(YQ.^(nQ.d(rQ.h9qQ.j9tQ.k9uQ.l9xQ.{)uQ/}*xQ1v,sQ1y,vQ2Z-`Q2b-tQ2v.bQ2{9yQ2|9zQ2}9{Q3O9|Q3P9}Q3Q:OQ3R:PQ3S:QQ3T:RQ3U:SQ3V:TQ3W:UQ3X.iQ3[:ZQ3]:dQ3b:VQ4T0PQ4]0aQ5n:eQ5t2]Q5y2cQ6V2wQ6W:fQ6]:hQ6^:oQ7U4pQ7s5lQ7w5uQ8Q:pQ8U:uQ8V:vQ8{7yQ9Z8hQ9b8yQ9s#RR;V;cR#ZWR'Q!eY!tQ'V-S0z4uS&|!e,zQ'b!rS'l!u!xS'n!y4wS,w&}'US-c'c'dQ-e'eQ2Q-QR2`-dR(p#wR(s#xQ!fQT-R'V-S]!qQ!r'V-S0z4uQ#o]R'`9rT#jZ%^S#iZ%^S%dm,^U(]#g#h#kS-w(^(_Q-{(`Q0R*}Q2e-xU2f-y-z-|S5{2g2hR7z5|`#]W#V#Y%a'y(S*z-rr#fZm#g#h#k%^(^(_(`*}-x-y-z-|2g2h5|Q1a,^Q1w,tQ5j1oQ7r5kT:}'O*{T#`W%aS#_W%aS'z#V(SS(P#Y*zS,y'O*{T-m'y-rT'T!e%bQ$kfR)o$pT)d$k)eR3`.pT*T$x*VR*]${Q0V+VQ2j.TQ4x0|Q6Q2nQ7^4{Q7}6PQ8j7]Q8|7|Q9]8lQ9e9OQ9j9^R9m9fnqOXst!Z#c%f&i&k&l&n,b,g1g1jQ&c!VR,V&`tmOXst!U!V!Z#c%f&`&i&k&l&n,b,g1g1jR,^&fT%em,^R0v+vR,U&^Q%||R+n%}R+d%wT&g!W&jT&h!W&jT1i,g1j",nodeNames:"⚠ ArithOp ArithOp LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:367,context:YO,nodeProps:[["group",-26,7,15,17,63,200,204,208,209,211,214,217,227,229,235,237,239,241,244,250,256,258,260,262,264,266,267,"Statement",-32,11,12,26,29,30,36,46,49,50,52,57,65,73,77,79,81,82,104,105,114,115,132,135,137,138,139,140,142,143,163,164,166,"Expression",-23,25,27,31,35,37,39,167,169,171,172,174,175,176,178,179,180,182,183,184,194,196,198,199,"Type",-3,85,97,103,"ClassItem"],["openedBy",32,"InterpolationStart",51,"[",55,"{",70,"(",144,"JSXStartTag",156,"JSXStartTag JSXStartCloseTag"],["closedBy",34,"InterpolationEnd",45,"]",56,"}",71,")",145,"JSXSelfCloseEndTag JSXEndTag",161,"JSXEndTag"]],propSources:[cO],skippedNodes:[0,3,4,270],repeatNodeCount:33,tokenData:"$Fl(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#8g!R![#:v![!]#Gv!]!^#IS!^!_#J^!_!`#Nu!`!a$#a!a!b$(n!b!c$,m!c!}Er!}#O$-w#O#P$/R#P#Q$4j#Q#R$5t#R#SEr#S#T$7R#T#o$8]#o#p$s#r#s$@P#s$f%Z$f$g+g$g#BYEr#BY#BZ$AZ#BZ$ISEr$IS$I_$AZ$I_$I|Er$I|$I}$Df$I}$JO$Df$JO$JTEr$JT$JU$AZ$JU$KVEr$KV$KW$AZ$KW&FUEr&FU&FV$AZ&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AZ?HUOEr(n%d_$e&j'yp'|!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$e&j'|!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU'|!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$e&j'ypOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU'ypOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'yp'|!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$e&j'yp'|!b'o(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST'z#S$e&j'p(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$e&j'yp'|!b'p(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$e&j!m$Ip'yp'|!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#r$Id$e&j'yp'|!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#r$Id$e&j'yp'|!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b3l_'x$(n$e&j'|!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$e&j'|!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$e&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$`#t$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$`#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$`#t$e&j'|!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ'|!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$`#t'|!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hh$e&j'yp'|!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXUS$e&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSUSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWUS'|!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]US$e&j'ypOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWUS'ypOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYUS'yp'|!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%lQ^$e&j!SSOY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@Y!_!}!=y!}#O!Bw#O#P!Dj#P#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!?Ta$e&j!SSO!^&c!_#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&cS!@_X!SSOY!@YZ!P!@Y!P!Q!@z!Q!}!@Y!}#O!Ac#O#P!Bb#P;'S!@Y;'S;=`!Bq<%lO!@YS!APU!SS#Z#[!@z#]#^!@z#a#b!@z#g#h!@z#i#j!@z#m#n!@zS!AfVOY!AcZ#O!Ac#O#P!A{#P#Q!@Y#Q;'S!Ac;'S;=`!B[<%lO!AcS!BOSOY!AcZ;'S!Ac;'S;=`!B[<%lO!AcS!B_P;=`<%l!AcS!BeSOY!@YZ;'S!@Y;'S;=`!Bq<%lO!@YS!BtP;=`<%l!@Y&n!B|[$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#O!Bw#O#P!Cr#P#Q!=y#Q#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!CwX$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!DgP;=`<%l!Bw&n!DoX$e&jOY!=yYZ&cZ!^!=y!^!_!@Y!_#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!E_P;=`<%l!=y(Q!Eki$e&j'|!b!SSOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!Eb#[#]&}#]#^!Eb#^#a&}#a#b!Eb#b#g&}#g#h!Eb#h#i&}#i#j!Eb#j#m&}#m#n!Eb#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!GaZ'|!b!SSOY!GYZw!GYwx!@Yx!P!GY!P!Q!HS!Q!}!GY!}#O!Ic#O#P!Bb#P;'S!GY;'S;=`!JZ<%lO!GY!f!HZb'|!b!SSOY'}Zw'}x#O'}#P#Z'}#Z#[!HS#[#]'}#]#^!HS#^#a'}#a#b!HS#b#g'}#g#h!HS#h#i'}#i#j!HS#j#m'}#m#n!HS#n;'S'};'S;=`(f<%lO'}!f!IhX'|!bOY!IcZw!Icwx!Acx#O!Ic#O#P!A{#P#Q!GY#Q;'S!Ic;'S;=`!JT<%lO!Ic!f!JWP;=`<%l!Ic!f!J^P;=`<%l!GY(Q!Jh^$e&j'|!bOY!JaYZ&cZw!Jawx!Bwx!^!Ja!^!_!Ic!_#O!Ja#O#P!Cr#P#Q!Q#V#X%Z#X#Y!4|#Y#b%Z#b#c#Zd$e&j'yp'|!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#?tf$e&j'yp'|!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#b%Z#b#c#mO[O]||-1},{term:330,get:O=>bO[O]||-1},{term:68,get:O=>dO[O]||-1}],tokenPrec:12868}),j=[o("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),o("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),o("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),o("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),o("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),o(`try { + \${} +} catch (\${error}) { + \${} +}`,{label:"try",detail:"/ catch block",type:"keyword"}),o("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),o(`if (\${}) { + \${} +} else { + \${} +}`,{label:"if",detail:"/ else block",type:"keyword"}),o(`class \${name} { + constructor(\${params}) { + \${} + } +}`,{label:"class",detail:"definition",type:"keyword"}),o('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),o('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],yO=j.concat([o("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),o("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),o("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),W=new QO,k=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function g(O){return(Q,$)=>{let e=Q.node.getChild("VariableDefinition");return e&&$(e,O),!0}}const wO=["FunctionDeclaration"],fO={FunctionDeclaration:g("function"),ClassDeclaration:g("class"),ClassExpression:()=>!0,EnumDeclaration:g("constant"),TypeAliasDeclaration:g("type"),NamespaceDeclaration:g("namespace"),VariableDefinition(O,Q){O.matchContext(wO)||Q(O,"variable")},TypeDefinition(O,Q){Q(O,"type")},__proto__:null};function q(O,Q){let $=W.get(Q);if($)return $;let e=[],Z=!0;function r(a,S){let n=O.sliceString(a.from,a.to);e.push({label:n,type:S})}return Q.cursor(iO.IncludeAnonymous).iterate(a=>{if(Z)Z=!1;else if(a.name){let S=fO[a.name];if(S&&S(a,r)||k.has(a.name))return!1}else if(a.to-a.from>8192){for(let S of q(O,a.node))e.push(S);return!1}}),W.set(Q,e),e}const X=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,y=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function UO(O){let Q=x(O.state).resolveInner(O.pos,-1);if(y.indexOf(Q.name)>-1)return null;let $=Q.name=="VariableName"||Q.to-Q.from<20&&X.test(O.state.sliceDoc(Q.from,Q.to));if(!$&&!O.explicit)return null;let e=[];for(let Z=Q;Z;Z=Z.parent)k.has(Z.name)&&(e=e.concat(q(O.state.doc,Z)));return{options:e,from:$?Q.from:O.pos,validFor:X}}function b(O,Q,$){var e;let Z=[];for(;;){let r=Q.firstChild,a;if(r?.name=="VariableName")return Z.push(O(r)),{path:Z.reverse(),name:$};if(r?.name=="MemberExpression"&&((e=a=r.lastChild)===null||e===void 0?void 0:e.name)=="PropertyName")Z.push(O(a)),Q=r;else return null}}function _O(O){let Q=e=>O.state.doc.sliceString(e.from,e.to),$=x(O.state).resolveInner(O.pos,-1);return $.name=="PropertyName"?b(Q,$.parent,Q($)):($.name=="."||$.name=="?.")&&$.parent.name=="MemberExpression"?b(Q,$.parent,""):y.indexOf($.name)>-1?null:$.name=="VariableName"||$.to-$.from<20&&X.test(Q($))?{path:[],name:Q($)}:$.name=="MemberExpression"?b(Q,$,""):O.explicit?{path:[],name:""}:null}function WO(O,Q){let $=[],e=new Set;for(let Z=0;;Z++){for(let a of(Object.getOwnPropertyNames||Object.keys)(O)){if(!/^[a-zA-Z_$\xaa-\uffdc][\w$\xaa-\uffdc]*$/.test(a)||e.has(a))continue;e.add(a);let S;try{S=O[a]}catch{continue}$.push({label:a,type:typeof S=="function"?/^[A-Z]/.test(a)?"class":Q?"function":"method":Q?"variable":"property",boost:-Z})}let r=Object.getPrototypeOf(O);if(!r)return $;O=r}}function DO(O){let Q=new Map;return $=>{let e=_O($);if(!e)return null;let Z=O;for(let a of e.path)if(Z=Z[a],!Z)return null;let r=Q.get(Z);return r||Q.set(Z,r=WO(Z,!e.path.length)),{from:$.pos-e.name.length,options:r,validFor:X}}}const p=J.define({name:"javascript",parser:xO.configure({props:[K.add({IfStatement:m({except:/^\s*({|else\b)/}),TryStatement:m({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:H,SwitchBody:O=>{let Q=O.textAfter,$=/^\s*\}/.test(Q),e=/^\s*(case|default)\b/.test(Q);return O.baseIndent+($?0:e?1:2)*O.unit},Block:F({closing:"}"}),ArrowFunction:O=>O.baseIndent+O.unit,"TemplateString BlockComment":()=>null,"Statement Property":m({except:/^{/}),JSXElement(O){let Q=/^\s*<\//.test(O.textAfter);return O.lineIndent(O.node.from)+(Q?0:O.unit)},JSXEscape(O){let Q=/\s*\}/.test(O.textAfter);return O.lineIndent(O.node.from)+(Q?0:O.unit)},"JSXOpenTag JSXSelfClosingTag"(O){return O.column(O.node.from)+O.unit}}),B.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":M,BlockComment(O){return{from:O.from+2,to:O.to-2}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),G={test:O=>/^JSX/.test(O.name),facet:OO({commentTokens:{block:{open:"{/*",close:"*/}"}}})},TO=p.configure({dialect:"ts"},"typescript"),uO=p.configure({dialect:"jsx",props:[v.add(O=>O.isTop?[G]:void 0)]}),vO=p.configure({dialect:"jsx ts",props:[v.add(O=>O.isTop?[G]:void 0)]},"typescript");let R=O=>({label:O,type:"keyword"});const C="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(R),hO=C.concat(["declare","implements","private","protected","public"].map(R));function KO(O={}){let Q=O.jsx?O.typescript?vO:uO:O.typescript?TO:p,$=O.typescript?yO.concat(hO):j.concat(C);return new N(Q,[p.data.of({autocomplete:L(y,D($))}),p.data.of({autocomplete:UO}),O.jsx?qO:[]])}function jO(O){for(;;){if(O.name=="JSXOpenTag"||O.name=="JSXSelfClosingTag"||O.name=="JSXFragmentTag")return O;if(O.name=="JSXEscape"||!O.parent)return null;O=O.parent}}function T(O,Q,$=O.length){for(let e=Q?.firstChild;e;e=e.nextSibling)if(e.name=="JSXIdentifier"||e.name=="JSXBuiltin"||e.name=="JSXNamespacedName"||e.name=="JSXMemberExpression")return O.sliceString(e.from,Math.min(e.to,$));return""}const kO=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),qO=E.inputHandler.of((O,Q,$,e,Z)=>{if((kO?O.composing:O.compositionStarted)||O.state.readOnly||Q!=$||e!=">"&&e!="/"||!p.isActiveAt(O.state,Q,-1))return!1;let r=Z(),{state:a}=r,S=a.changeByRange(n=>{var P;let{head:t}=n,l=x(a).resolveInner(t-1,-1),s;if(l.name=="JSXStartTag"&&(l=l.parent),!(a.doc.sliceString(t-1,t)!=e||l.name=="JSXAttributeValue"&&l.to>t)){if(e==">"&&l.name=="JSXFragmentTag")return{range:n,changes:{from:t,insert:""}};if(e=="/"&&l.name=="JSXStartCloseTag"){let Y=l.parent,c=Y.parent;if(c&&Y.from==t-2&&((s=T(a.doc,c.firstChild,t))||((P=c.firstChild)===null||P===void 0?void 0:P.name)=="JSXFragmentTag")){let w=`${s}>`;return{range:A.cursor(t+w.length,-1),changes:{from:t,insert:w}}}}else if(e==">"){let Y=jO(l);if(Y&&Y.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(a.doc.sliceString(t,t+2))&&(s=T(a.doc,Y,t)))return{range:n,changes:{from:t,insert:``}}}}return{range:n}});return S.changes.empty?!1:(O.dispatch([r,a.update(S,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});function BO(O,Q){return Q||(Q={parserOptions:{ecmaVersion:2019,sourceType:"module"},env:{browser:!0,node:!0,es6:!0,es2015:!0,es2017:!0,es2020:!0},rules:{}},O.getRules().forEach(($,e)=>{$.meta.docs.recommended&&(Q.rules[e]=2)})),$=>{let{state:e}=$,Z=[];for(let{from:r,to:a}of p.findRegions(e)){let S=e.doc.lineAt(r),n={line:S.number-1,col:r-S.from,pos:r};for(let P of O.verify(e.sliceDoc(r,a),Q))Z.push(GO(P,e.doc,n))}return Z}}function u(O,Q,$,e){return $.line(O+e.line).from+Q+(O==1?e.col-1:-1)}function GO(O,Q,$){let e=u(O.line,O.column,Q,$),Z={from:e,to:O.endLine!=null&&O.endColumn!=1?u(O.endLine,O.endColumn,Q,$):e,message:O.message,source:O.ruleId?"eslint:"+O.ruleId:"eslint",severity:O.severity==1?"warning":"error"};if(O.fix){let{range:r,text:a}=O.fix,S=r[0]+$.pos-e,n=r[1]+$.pos-e;Z.actions=[{name:"fix",apply(P,t){P.dispatch({changes:{from:t+S,to:t+n,insert:a},scrollIntoView:!0})}}]}return Z}export{qO as autoCloseTags,_O as completionPath,BO as esLint,KO as javascript,p as javascriptLanguage,uO as jsxLanguage,UO as localCompletionSource,DO as scopeCompletionSource,j as snippets,vO as tsxLanguage,TO as typescriptLanguage,yO as typescriptSnippets}; +//# sourceMappingURL=index-cQ65agm5.js.map diff --git a/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-cQ65agm5.js.map b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-cQ65agm5.js.map new file mode 100644 index 0000000000000000000000000000000000000000..72dde1a788b9547ff9806dfaab70d81257b69e4a --- /dev/null +++ b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-cQ65agm5.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-cQ65agm5.js","sources":["../../../../node_modules/.pnpm/@lezer+javascript@1.4.9/node_modules/@lezer/javascript/dist/index.js","../../../../node_modules/.pnpm/@codemirror+lang-javascript@6.2.3/node_modules/@codemirror/lang-javascript/dist/index.js"],"sourcesContent":["import { ContextTracker, ExternalTokenizer, LRParser, LocalTokenGroup } from '@lezer/lr';\nimport { styleTags, tags } from '@lezer/highlight';\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst noSemi = 304,\n incdec = 1,\n incdecPrefix = 2,\n insertSemi = 305,\n spaces = 307,\n newline = 308,\n LineComment = 3,\n BlockComment = 4;\n\n/* Hand-written tokenizers for JavaScript tokens that can't be\n expressed by lezer's built-in tokenizer. */\n\nconst space = [9, 10, 11, 12, 13, 32, 133, 160, 5760, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200,\n 8201, 8202, 8232, 8233, 8239, 8287, 12288];\n\nconst braceR = 125, semicolon = 59, slash = 47, star = 42, plus = 43, minus = 45;\n\nconst trackNewline = new ContextTracker({\n start: false,\n shift(context, term) {\n return term == LineComment || term == BlockComment || term == spaces ? context : term == newline\n },\n strict: false\n});\n\nconst insertSemicolon = new ExternalTokenizer((input, stack) => {\n let {next} = input;\n if (next == braceR || next == -1 || stack.context)\n input.acceptToken(insertSemi);\n}, {contextual: true, fallback: true});\n\nconst noSemicolon = new ExternalTokenizer((input, stack) => {\n let {next} = input, after;\n if (space.indexOf(next) > -1) return\n if (next == slash && ((after = input.peek(1)) == slash || after == star)) return\n if (next != braceR && next != semicolon && next != -1 && !stack.context)\n input.acceptToken(noSemi);\n}, {contextual: true});\n\nconst incdecToken = new ExternalTokenizer((input, stack) => {\n let {next} = input;\n if (next == plus || next == minus) {\n input.advance();\n if (next == input.next) {\n input.advance();\n let mayPostfix = !stack.context && stack.canShift(incdec);\n input.acceptToken(mayPostfix ? incdec : incdecPrefix);\n }\n }\n}, {contextual: true});\n\nconst jsHighlight = styleTags({\n \"get set async static\": tags.modifier,\n \"for while do if else switch try catch finally return throw break continue default case\": tags.controlKeyword,\n \"in of await yield void typeof delete instanceof\": tags.operatorKeyword,\n \"let var const using function class extends\": tags.definitionKeyword,\n \"import export from\": tags.moduleKeyword,\n \"with debugger as new\": tags.keyword,\n TemplateString: tags.special(tags.string),\n super: tags.atom,\n BooleanLiteral: tags.bool,\n this: tags.self,\n null: tags.null,\n Star: tags.modifier,\n VariableName: tags.variableName,\n \"CallExpression/VariableName TaggedTemplateExpression/VariableName\": tags.function(tags.variableName),\n VariableDefinition: tags.definition(tags.variableName),\n Label: tags.labelName,\n PropertyName: tags.propertyName,\n PrivatePropertyName: tags.special(tags.propertyName),\n \"CallExpression/MemberExpression/PropertyName\": tags.function(tags.propertyName),\n \"FunctionDeclaration/VariableDefinition\": tags.function(tags.definition(tags.variableName)),\n \"ClassDeclaration/VariableDefinition\": tags.definition(tags.className),\n PropertyDefinition: tags.definition(tags.propertyName),\n PrivatePropertyDefinition: tags.definition(tags.special(tags.propertyName)),\n UpdateOp: tags.updateOperator,\n \"LineComment Hashbang\": tags.lineComment,\n BlockComment: tags.blockComment,\n Number: tags.number,\n String: tags.string,\n Escape: tags.escape,\n ArithOp: tags.arithmeticOperator,\n LogicOp: tags.logicOperator,\n BitOp: tags.bitwiseOperator,\n CompareOp: tags.compareOperator,\n RegExp: tags.regexp,\n Equals: tags.definitionOperator,\n Arrow: tags.function(tags.punctuation),\n \": Spread\": tags.punctuation,\n \"( )\": tags.paren,\n \"[ ]\": tags.squareBracket,\n \"{ }\": tags.brace,\n \"InterpolationStart InterpolationEnd\": tags.special(tags.brace),\n \".\": tags.derefOperator,\n \", ;\": tags.separator,\n \"@\": tags.meta,\n\n TypeName: tags.typeName,\n TypeDefinition: tags.definition(tags.typeName),\n \"type enum interface implements namespace module declare\": tags.definitionKeyword,\n \"abstract global Privacy readonly override\": tags.modifier,\n \"is keyof unique infer\": tags.operatorKeyword,\n\n JSXAttributeValue: tags.attributeValue,\n JSXText: tags.content,\n \"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag\": tags.angleBracket,\n \"JSXIdentifier JSXNameSpacedName\": tags.tagName,\n \"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName\": tags.attributeName,\n \"JSXBuiltin/JSXIdentifier\": tags.standard(tags.tagName)\n});\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst spec_identifier = {__proto__:null,export:16, as:21, from:29, default:32, async:37, function:38, extends:48, this:52, true:60, false:60, null:72, void:76, typeof:80, super:98, new:132, delete:148, yield:157, await:161, class:166, public:223, private:223, protected:223, readonly:225, instanceof:244, satisfies:247, in:248, const:250, import:282, keyof:337, unique:341, infer:347, is:383, abstract:403, implements:405, type:407, let:410, var:412, using:415, interface:421, enum:425, namespace:431, module:433, declare:437, global:441, for:460, of:469, while:472, with:476, do:480, if:484, else:486, switch:490, case:496, try:502, catch:506, finally:510, return:514, throw:518, break:522, continue:526, debugger:530};\nconst spec_word = {__proto__:null,async:119, get:121, set:123, declare:183, public:185, private:185, protected:185, static:187, abstract:189, override:191, readonly:197, accessor:199, new:387};\nconst spec_LessThan = {__proto__:null,\"<\":139};\nconst parser = LRParser.deserialize({\n version: 14,\n states: \"$6zO%TQUOOO%[QUOOO'_QWOOP(lOSOOO*zQ(CjO'#CgO+ROpO'#ChO+aO!bO'#ChO+oO07`O'#D[O.QQUO'#DbO.bQUO'#DmO%[QUO'#DwO0fQUO'#EPOOQ(CY'#EX'#EXO1PQSO'#EUOOQO'#Ej'#EjOOQO'#Id'#IdO1XQSO'#GlO1dQSO'#EiO1iQSO'#EiO3kQ(CjO'#JeO6[Q(CjO'#JfO6xQSO'#FXO6}Q#tO'#FpOOQ(CY'#Fa'#FaO7YO&jO'#FaO7hQ,UO'#FwO9OQSO'#FvOOQ(CY'#Jf'#JfOOQ(CW'#Je'#JeO9TQSO'#GpOOQQ'#KQ'#KQO9`QSO'#IQO9eQ(C[O'#IROOQQ'#JR'#JROOQQ'#IV'#IVQ`QUOOO`QUOOO%[QUO'#DoO9mQUO'#D{O9tQUO'#D}O9ZQSO'#GlO9{Q,UO'#CmO:ZQSO'#EhO:fQSO'#EsO:kQ,UO'#F`O;YQSO'#GlOOQO'#KR'#KRO;_QSO'#KRO;mQSO'#GtO;mQSO'#GuO;mQSO'#GwO9ZQSO'#GzO]QSO'#HZO>eQSO'#HaO>eQSO'#HcO`QUO'#HeO>eQSO'#HgO>eQSO'#HjO>jQSO'#HpO>oQ(C]O'#HvO%[QUO'#HxO>zQ(C]O'#HzO?VQ(C]O'#H|O9eQ(C[O'#IOO?bQ(CjO'#CgO@dQWO'#DgQOQSOOO%[QUO'#D}O@zQSO'#EQO9{Q,UO'#EhOAVQSO'#EhOAbQ`O'#F`OOQQ'#Ce'#CeOOQ(CW'#Dl'#DlOOQ(CW'#Ji'#JiO%[QUO'#JiOOQO'#Jm'#JmOOQO'#Ia'#IaOBbQWO'#EaOOQ(CW'#E`'#E`OC^Q(C`O'#EaOChQWO'#ETOOQO'#Jl'#JlOC|QWO'#JmOEZQWO'#ETOChQWO'#EaPEhO?MpO'#C`POOO)CDp)CDpOOOO'#IW'#IWOEsOpO,59SOOQ(CY,59S,59SOOOO'#IX'#IXOFRO!bO,59SO%[QUO'#D^OOOO'#IZ'#IZOFaO07`O,59vOOQ(CY,59v,59vOFoQUO'#I[OGSQSO'#JgOIUQbO'#JgO+}QUO'#JgOI]QSO,59|OIsQSO'#EjOJQQSO'#JuOJ]QSO'#JtOJ]QSO'#JtOJeQSO,5;WOJjQSO'#JsOOQ(CY,5:X,5:XOJqQUO,5:XOLrQ(CjO,5:cOMcQSO,5:kOM|Q(C[O'#JrONTQSO'#JqO9TQSO'#JqONiQSO'#JqONqQSO,5;VONvQSO'#JqO!#OQbO'#JfOOQ(CY'#Cg'#CgO%[QUO'#EPO!#nQ`O,5:pOOQO'#Jn'#JnOOQO-ElOOQQ'#JZ'#JZOOQQ,5>m,5>mOOQQ-ExQ(CjO,5:iOOQO,5@m,5@mO!?iQ,UO,5=WO!?wQ(C[O'#J[O9OQSO'#J[O!@YQ(C[O,59XO!@eQWO,59XO!@mQ,UO,59XO9{Q,UO,59XO!@xQSO,5;TO!AQQSO'#HYO!AfQSO'#KVO%[QUO,5;xO!7cQWO,5;zO!AnQSO,5=sO!AsQSO,5=sO!AxQSO,5=sO9eQ(C[O,5=sO;mQSO,5=cOOQO'#Cs'#CsO!BWQWO,5=`O!B`Q,UO,5=aO!BkQSO,5=cO!BpQ`O,5=fO!BxQSO'#KRO>jQSO'#HPO9ZQSO'#HRO!B}QSO'#HRO9{Q,UO'#HTO!CSQSO'#HTOOQQ,5=i,5=iO!CXQSO'#HUO!CjQSO'#CmO!CoQSO,58}O!CyQSO,58}O!FOQUO,58}OOQQ,58},58}O!F`Q(C[O,58}O%[QUO,58}O!HkQUO'#H]OOQQ'#H^'#H^OOQQ'#H_'#H_O`QUO,5=uO!IRQSO,5=uO`QUO,5={O`QUO,5=}O!IWQSO,5>PO`QUO,5>RO!I]QSO,5>UO!IbQUO,5>[OOQQ,5>b,5>bO%[QUO,5>bO9eQ(C[O,5>dOOQQ,5>f,5>fO!MlQSO,5>fOOQQ,5>h,5>hO!MlQSO,5>hOOQQ,5>j,5>jO!MqQWO'#DYO%[QUO'#JiO!N`QWO'#JiO!N}QWO'#DhO# `QWO'#DhO##qQUO'#DhO##xQSO'#JhO#$QQSO,5:RO#$VQSO'#EnO#$eQSO'#JvO#$mQSO,5;XO#$rQWO'#DhO#%PQWO'#ESOOQ(CY,5:l,5:lO%[QUO,5:lO#%WQSO,5:lO>jQSO,5;SO!@eQWO,5;SO!@mQ,UO,5;SO9{Q,UO,5;SO#%`QSO,5@TO#%eQ!LQO,5:pOOQO-E<_-E<_O#&kQ(C`O,5:{OChQWO,5:oO#&uQWO,5:oOChQWO,5:{O!@YQ(C[O,5:oOOQ(CW'#Ed'#EdOOQO,5:{,5:{O%[QUO,5:{O#'SQ(C[O,5:{O#'_Q(C[O,5:{O!@eQWO,5:oOOQO,5;R,5;RO#'mQ(C[O,5:{POOO'#IU'#IUP#(RO?MpO,58zPOOO,58z,58zOOOO-EvO+}QUO,5>vOOQO,5>|,5>|O#(mQUO'#I[OOQO-EWQ(CjO1G0yO#>_Q(CjO1G0yO#@VQ(CjO1G0yO#CVQ$IUO'#CgO#ETQ$IUO1G1[O#E[Q$IUO'#JfO!,YQSO1G1bO#ElQ(CjO,5?SOOQ(CW-EeQSO1G3kO$.fQUO1G3mO$2jQUO'#HlOOQQ1G3p1G3pO$2wQSO'#HrO>jQSO'#HtOOQQ1G3v1G3vO$3PQUO1G3vO9eQ(C[O1G3|OOQQ1G4O1G4OOOQ(CW'#GX'#GXO9eQ(C[O1G4QO9eQ(C[O1G4SO$7WQSO,5@TO!*SQUO,5;YO9TQSO,5;YO>jQSO,5:SO!*SQUO,5:SO!@eQWO,5:SO$7]Q$IUO,5:SOOQO,5;Y,5;YO$7gQWO'#I]O$7}QSO,5@SOOQ(CY1G/m1G/mO$8VQWO'#IcO$8aQSO,5@bOOQ(CW1G0s1G0sO# `QWO,5:SOOQO'#I`'#I`O$8iQWO,5:nOOQ(CY,5:n,5:nO#%ZQSO1G0WOOQ(CY1G0W1G0WO%[QUO1G0WOOQ(CY1G0n1G0nO>jQSO1G0nO!@eQWO1G0nO!@mQ,UO1G0nOOQ(CW1G5o1G5oO!@YQ(C[O1G0ZOOQO1G0g1G0gO%[QUO1G0gO$8pQ(C[O1G0gO$8{Q(C[O1G0gO!@eQWO1G0ZOChQWO1G0ZO$9ZQ(C[O1G0gOOQO1G0Z1G0ZO$9oQ(CjO1G0gPOOO-EvO$:]QSO1G5mO$:eQSO1G5zO$:mQbO1G5{O9TQSO,5>|O$:wQ(CjO1G5xO%[QUO1G5xO$;XQ(C[O1G5xO$;jQSO1G5wO$;jQSO1G5wO9TQSO1G5wO$;rQSO,5?PO9TQSO,5?POOQO,5?P,5?PO$WOOQQ,5>W,5>WO%[QUO'#HmO%(vQSO'#HoOOQQ,5>^,5>^O9TQSO,5>^OOQQ,5>`,5>`OOQQ7+)b7+)bOOQQ7+)h7+)hOOQQ7+)l7+)lOOQQ7+)n7+)nO%({QWO1G5oO%)aQ$IUO1G0tO%)kQSO1G0tOOQO1G/n1G/nO%)vQ$IUO1G/nO>jQSO1G/nO!*SQUO'#DhOOQO,5>w,5>wOOQO-E},5>}OOQO-EjQSO7+&YO!@eQWO7+&YOOQO7+%u7+%uO$9oQ(CjO7+&ROOQO7+&R7+&RO%[QUO7+&RO%*QQ(C[O7+&RO!@YQ(C[O7+%uO!@eQWO7+%uO%*]Q(C[O7+&RO%*kQ(CjO7++dO%[QUO7++dO%*{QSO7++cO%*{QSO7++cOOQO1G4k1G4kO9TQSO1G4kO%+TQSO1G4kOOQO7+%z7+%zO#%ZQSO<xOOQO-E<[-E<[O%2yQbO,5>yO%[QUO,5>yOOQO-E<]-E<]O%3TQSO1G5qOOQ(CY<tQ$IUO1G0yO%>{Q$IUO1G0yO%@sQ$IUO1G0yO%AWQ(CjO<XOOQQ,5>Z,5>ZO& PQSO1G3xO9TQSO7+&`O!*SQUO7+&`OOQO7+%Y7+%YO& UQ$IUO1G5{O>jQSO7+%YOOQ(CY<jQSO<jQSO7+)dO&6mQSO<{AN>{O%[QUOAN?XOOQO<PQSO7+*ZO&>[QSO<= ZO&>dQ`O7+*]OOQ(CW<nQ`O<uQSO<= dOOQQG27kG27kO9eQ(C[OG27kO!*SQUO1G4vO&>}QSO7++uO%MbQSOANAyOOQQANAyANAyO!&^Q,UOANAyO&?VQSOANAyOOQQANA{ANA{O9eQ(C[OANA{O#NWQSOANA{OOQO'#HW'#HWOOQO7+*e7+*eOOQQG22uG22uOOQQANEPANEPOOQQANEQANEQOOQQANBTANBTO&?_QSOANBTOOQQ<fOPZXYZXlZXzZX{ZX}ZX!fZX!gZX!iZX!mZX#YZX#edX#hZX#iZX#jZX#kZX#lZX#mZX#nZX#oZX#pZX#rZX#tZX#vZX#wZX#|ZX(TZX(dZX(kZX(lZX!WZX!XZX~O#zZX~P#APOP$]OY:YOl9|Oz#yO{#zO}#{O!f:OO!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O#m:OO#n:OO#o:XO#p:OO#r:PO#t:RO#v:TO#w:UO(TVO(d$ZO(k#|O(l#}O~O#z.iO~P#C^O#Y:ZO#|:ZO#z(YX!X(YX~P! UO_'[a!W'[a'm'[a'k'[a!h'[a!T'[ap'[a!Y'[a%b'[a!b'[a~P!7zOP#giY#gi_#gil#gi{#gi!W#gi!f#gi!g#gi!i#gi!m#gi#h#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi'm#gi(T#gi(d#gi'k#gi!T#gi!h#gip#gi!Y#gi%b#gi!b#gi~P#,sO_#{i!W#{i'm#{i'k#{i!T#{i!h#{ip#{i!Y#{i%b#{i!b#{i~P!7zO$X.nO$Z.nO~O$X.oO$Z.oO~O!b)_O#Y.pO!Y$_X$U$_X$X$_X$Z$_X$b$_X~O!V.qO~O!Y)bO$U.sO$X)aO$Z)aO$b.tO~O!W:VO!X(XX~P#C^O!X.uO~O!b)_O$b(mX~O$b.wO~Or)qO(U)rO(V.zO~O!T/OO~P!&^O!WdX!bdX!hdX!h$tX(ddX~P!/bO!h/UO~P#,sO!W/VO!b#uO(d'gO!h(qX~O!h/[O~O!V*SO'v%`O!h(qP~O#e/^O~O!T$tX!W$tX!b${X~P!/bO!W/_O!T(rX~P#,sO!b/aO~O!T/cO~Ol/gO!b#uO!i%^O(P%RO(d'gO~O'v/iO~O!b+YO~O_%gO!W/mO'm%gO~O!X/oO~P!3`O!^/pO!_/pO'w!lO(W!mO~O}/rO(W!mO~O#U/sO~O'v&QOe'aX!W'aX~O!W*lOe(Qa~Oe/xO~Oz/yO{/yO}/zOhwa(kwa(lwa!Wwa#Ywa~Oewa#zwa~P$ tOz)vO})wOh$ma(k$ma(l$ma!W$ma#Y$ma~Oe$ma#z$ma~P$!jOz)vO})wOh$oa(k$oa(l$oa!W$oa#Y$oa~Oe$oa#z$oa~P$#]O#e/|O~Oe$}a!W$}a#Y$}a#z$}a~P!0kO!b#uO~O#e0PO~O!W*}O_(va'm(va~Oz#yO{#zO}#{O!g#wO!i#xO(TVOP!oiY!oil!oi!W!oi!f!oi!m!oi#h!oi#i!oi#j!oi#k!oi#l!oi#m!oi#n!oi#o!oi#p!oi#r!oi#t!oi#v!oi#w!oi(d!oi(k!oi(l!oi~O_!oi'm!oi'k!oi!T!oi!h!oip!oi!Y!oi%b!oi!b!oi~P$$zOh.UO!Y'VO%b.TO~Oj0ZO'v0YO~P!1]O!b+YO_(Oa!Y(Oa'm(Oa!W(Oa~O#e0aO~OYZX!WdX!XdX~O!W0bO!X(zX~O!X0dO~OY0eO~O`0gO'v+bO'xTO'{UO~O!Y%wO'v%`O^'iX!W'iX~O!W+gO^(ya~O!h0jO~P!7zOY0mO~O^0nO~O#Y0qO~Oh0tO!Y$|O~O(W(tO!X(wP~Oh0}O!Y0zO%b0|O(P%RO~OY1XO!W1VO!X(xX~O!X1YO~O^1[O_%gO'm%gO~O'v#mO'xTO'{UO~O#Y$eO#|$eOP(YXY(YXl(YXz(YX{(YX}(YX!W(YX!f(YX!i(YX!m(YX#h(YX#i(YX#j(YX#k(YX#l(YX#m(YX#n(YX#o(YX#r(YX#t(YX#v(YX#w(YX(T(YX(d(YX(k(YX(l(YX~O#p1_O&S1`O_(YX!g(YX~P$+sO#Y$eO#p1_O&S1`O~O_1bO~P%[O_1dO~O&]1gOP&ZiQ&ZiW&Zi_&Zib&Zic&Zij&Zil&Zim&Zin&Zit&Ziv&Zix&Zi}&Zi!R&Zi!S&Zi!Y&Zi!d&Zi!i&Zi!l&Zi!m&Zi!n&Zi!p&Zi!r&Zi!u&Zi!y&Zi#q&Zi$R&Zi$V&Zi%a&Zi%c&Zi%e&Zi%f&Zi%g&Zi%j&Zi%l&Zi%o&Zi%p&Zi%r&Zi&O&Zi&U&Zi&W&Zi&Y&Zi&[&Zi&_&Zi&e&Zi&k&Zi&m&Zi&o&Zi&q&Zi&s&Zi'k&Zi'v&Zi'x&Zi'{&Zi(T&Zi(c&Zi(p&Zi!X&Zi`&Zi&b&Zi~O`1mO!X1kO&b1lO~P`O!YXO!i1oO~O&i,jOP&diQ&diW&di_&dib&dic&dij&dil&dim&din&dit&div&dix&di}&di!R&di!S&di!Y&di!d&di!i&di!l&di!m&di!n&di!p&di!r&di!u&di!y&di#q&di$R&di$V&di%a&di%c&di%e&di%f&di%g&di%j&di%l&di%o&di%p&di%r&di&O&di&U&di&W&di&Y&di&[&di&_&di&e&di&k&di&m&di&o&di&q&di&s&di'k&di'v&di'x&di'{&di(T&di(c&di(p&di!X&di&]&di`&di&b&di~O!T1uO~O!W![a!X![a~P#C^Om!nO}!oO!V1{O(W!mO!W'PX!X'PX~P@OO!W,zO!X([a~O!W'VX!X'VX~P!7SO!W,}O!X(ja~O!X2SO~P'_O_%gO#Y2]O'm%gO~O_%gO!b#uO#Y2]O'm%gO~O_%gO!b#uO!m2aO#Y2]O'm%gO(d'gO~O_%gO'm%gO~P!7zO!W$aOp$la~O!T'Oi!W'Oi~P!7zO!W'{O!T(Zi~O!W(SO!T(hi~O!T(ii!W(ii~P!7zO!W(fi!h(fi_(fi'm(fi~P!7zO#Y2cO!W(fi!h(fi_(fi'm(fi~O!W(`O!h(ei~O}%aO!Y%bO!y]O#c2hO#d2gO'v%`O~O}%aO!Y%bO#d2gO'v%`O~Oh2oO!Y'VO%b2nO~Oh2oO!Y'VO%b2nO(P%RO~O#ewaPwaYwa_walwa!fwa!gwa!iwa!mwa#hwa#iwa#jwa#kwa#lwa#mwa#nwa#owa#pwa#rwa#twa#vwa#wwa'mwa(Twa(dwa!hwa!Twa'kwapwa!Ywa%bwa!bwa~P$ tO#e$maP$maY$ma_$mal$ma{$ma!f$ma!g$ma!i$ma!m$ma#h$ma#i$ma#j$ma#k$ma#l$ma#m$ma#n$ma#o$ma#p$ma#r$ma#t$ma#v$ma#w$ma'm$ma(T$ma(d$ma!h$ma!T$ma'k$map$ma!Y$ma%b$ma!b$ma~P$!jO#e$oaP$oaY$oa_$oal$oa{$oa!f$oa!g$oa!i$oa!m$oa#h$oa#i$oa#j$oa#k$oa#l$oa#m$oa#n$oa#o$oa#p$oa#r$oa#t$oa#v$oa#w$oa'm$oa(T$oa(d$oa!h$oa!T$oa'k$oap$oa!Y$oa%b$oa!b$oa~P$#]O#e$}aP$}aY$}a_$}al$}a{$}a!W$}a!f$}a!g$}a!i$}a!m$}a#h$}a#i$}a#j$}a#k$}a#l$}a#m$}a#n$}a#o$}a#p$}a#r$}a#t$}a#v$}a#w$}a'm$}a(T$}a(d$}a!h$}a!T$}a'k$}a#Y$}ap$}a!Y$}a%b$}a!b$}a~P#,sO_#]q!W#]q'm#]q'k#]q!T#]q!h#]qp#]q!Y#]q%b#]q!b#]q~P!7zOe'QX!W'QX~P!'vO!W._Oe(^a~O!V2wO!W'RX!h'RX~P%[O!W.bO!h(_a~O!W.bO!h(_a~P!7zO!T2zO~O#z!ka!X!ka~PJxO#z!ca!W!ca!X!ca~P#C^O#z!oa!X!oa~P!:eO#z!qa!X!qa~P!=OO!Y3^O$VfO$`3_O~O!X3cO~Op3dO~P#,sO_$iq!W$iq'm$iq'k$iq!T$iq!h$iqp$iq!Y$iq%b$iq!b$iq~P!7zO!T3eO~P#,sOz)vO})wO(l){Oh%Yi(k%Yi!W%Yi#Y%Yi~Oe%Yi#z%Yi~P$J]Oz)vO})wOh%[i(k%[i(l%[i!W%[i#Y%[i~Oe%[i#z%[i~P$KOO(d$ZO~P#,sO!V3hO'v%`O!W']X!h']X~O!W/VO!h(qa~O!W/VO!b#uO!h(qa~O!W/VO!b#uO(d'gO!h(qa~Oe$vi!W$vi#Y$vi#z$vi~P!0kO!V3pO'v*XO!T'_X!W'_X~P!1YO!W/_O!T(ra~O!W/_O!T(ra~P#,sO!b#uO#p3xO~Ol3{O!b#uO(d'gO~Oe(Ri!W(Ri~P!0kO#Y4OOe(Ri!W(Ri~P!0kO!h4RO~O_$jq!W$jq'm$jq'k$jq!T$jq!h$jqp$jq!Y$jq%b$jq!b$jq~P!7zO!T4VO~O!W4WO!Y(sX~P#,sO!g#wO~P4XO_$tX!Y$tX%VZX'm$tX!W$tX~P!/bO%V4YO_iXhiXziX}iX!YiX'miX(kiX(liX!WiX~O%V4YO~O`4`O%c4aO'v+bO'xTO'{UO!W'hX!X'hX~O!W0bO!X(za~OY4eO~O^4fO~O_%gO'm%gO~P#,sO!Y$|O~P#,sO!W4nO#Y4pO!X(wX~O!X4qO~Om!nO}4rO!]!xO!^!uO!_!uO!y9rO!}!pO#O!pO#P!pO#Q!pO#R!pO#U4wO#V!yO'w!lO'xTO'{UO(W!mO(c!sO~O!X4vO~P%%QOh4|O!Y0zO%b4{O~Oh4|O!Y0zO%b4{O(P%RO~O`5TO'v#mO'xTO'{UO!W'gX!X'gX~O!W1VO!X(xa~O'xTO'{UO(W5VO~O^5ZO~O#p5^O&S5_O~PMhO!h5`O~P%[O_5bO~O_5bO~P%[O`1mO!X5gO&b1lO~P`O!b5iO~O!b5kO!W(]i!X(]i!b(]i!i(]i(P(]i~O!W#bi!X#bi~P#C^O#Y5lO!W#bi!X#bi~O!W![i!X![i~P#C^O_%gO#Y5uO'm%gO~O_%gO!b#uO#Y5uO'm%gO~O!W(fq!h(fq_(fq'm(fq~P!7zO!W(`O!h(eq~O}%aO!Y%bO#d5|O'v%`O~O!Y'VO%b6PO~Oh6SO!Y'VO%b6PO~O#e%YiP%YiY%Yi_%Yil%Yi{%Yi!f%Yi!g%Yi!i%Yi!m%Yi#h%Yi#i%Yi#j%Yi#k%Yi#l%Yi#m%Yi#n%Yi#o%Yi#p%Yi#r%Yi#t%Yi#v%Yi#w%Yi'm%Yi(T%Yi(d%Yi!h%Yi!T%Yi'k%Yip%Yi!Y%Yi%b%Yi!b%Yi~P$J]O#e%[iP%[iY%[i_%[il%[i{%[i!f%[i!g%[i!i%[i!m%[i#h%[i#i%[i#j%[i#k%[i#l%[i#m%[i#n%[i#o%[i#p%[i#r%[i#t%[i#v%[i#w%[i'm%[i(T%[i(d%[i!h%[i!T%[i'k%[ip%[i!Y%[i%b%[i!b%[i~P$KOO#e$viP$viY$vi_$vil$vi{$vi!W$vi!f$vi!g$vi!i$vi!m$vi#h$vi#i$vi#j$vi#k$vi#l$vi#m$vi#n$vi#o$vi#p$vi#r$vi#t$vi#v$vi#w$vi'm$vi(T$vi(d$vi!h$vi!T$vi'k$vi#Y$vip$vi!Y$vi%b$vi!b$vi~P#,sOe'Qa!W'Qa~P!0kO!W'Ra!h'Ra~P!7zO!W.bO!h(_i~O#z#]i!W#]i!X#]i~P#C^OP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O(TVOY#gil#gi!f#gi#i#gi#j#gi#k#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(d#gi(k#gi(l#gi!W#gi!X#gi~O#h#gi~P%3jO#h9zO~P%3jOP$]Oz#yO{#zO}#{O!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O(TVOY#gi!f#gi#l#gi#m#gi#n#gi#o#gi#p#gi#r#gi#t#gi#v#gi#w#gi#z#gi(d#gi(k#gi(l#gi!W#gi!X#gi~Ol#gi~P%5uOl9|O~P%5uOP$]Ol9|Oz#yO{#zO}#{O!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O(TVO#r#gi#t#gi#v#gi#w#gi#z#gi(d#gi(k#gi(l#gi!W#gi!X#gi~OY#gi!f#gi#m#gi#n#gi#o#gi#p#gi~P%8QOY:YO!f:OO#m:OO#n:OO#o:XO#p:OO~P%8QOP$]OY:YOl9|Oz#yO{#zO}#{O!f:OO!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O#m:OO#n:OO#o:XO#p:OO#r:PO(TVO#t#gi#v#gi#w#gi#z#gi(d#gi(l#gi!W#gi!X#gi~O(k#gi~P%:lO(k#|O~P%:lOP$]OY:YOl9|Oz#yO{#zO}#{O!f:OO!g#wO!i#xO!m$]O#h9zO#i9{O#j9{O#k9{O#l9}O#m:OO#n:OO#o:XO#p:OO#r:PO#t:RO(TVO(k#|O#v#gi#w#gi#z#gi(d#gi!W#gi!X#gi~O(l#gi~P%yP?^P?^PPP?^PAOP?^P?^P?^PASPPAXPArPFjPPPFnPPPPFnIoPPPIuJpPFnPMOPPPP! ^FnPPPFnPFnP!#lFnP!'Q!(S!(]P!)P!)T!)PPPPPP!,`!(SPP!,|!-vP!0jFnFn!0o!3y!8`!8`!}P#@^#@e#@mPPPP#D{#Gr#NZ#N^#Na$ Y$ ]$ `$ g$ oPP$ u$ y$!q$#p$#t$$YPP$$^$$d$$hP$$k$$o$$r$%h$&P$&h$&l$&o$&r$&x$&{$'P$'TR!{RoqOXst!Z#c%f&i&k&l&n,b,g1g1jY!uQ'V-S0z4uQ%lvQ%tyQ%{|Q&a!VS&}!e,zQ']!iS'c!r!xS*_$|*dQ+`%uQ+m%}Q,R&ZQ-Q'UQ-['^Q-d'dQ/p*fQ1U,SR:d9u%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|,_,b,g-W-`-n-t.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2w4r4|5^5_5b5u7Z7`7o7yS#p]9r!r)W$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cQ*o%VQ+e%wQ,T&^Q,[&fQ.X:[Q0W+WQ0[+YQ0g+fQ1^,YQ2k.UQ4`0bQ5T1VQ6R2oQ6X:]Q6z4aR8P6S&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;ct!nQ!r!u!x!y&}'U'V'c'd'e,z-Q-S-d0z4u4w$^$si#u#w$c$d$x${%W%X%])q)w)z)|)}*U*[*j*k+V+Y+q+t.T._/P/^/_/a/|0q0t0|2n3f3p3x4O4W4Y4{6P6g6p7]7|8X8l9O9^9f:X:Y:^:_:`:a:b:c:i:j:k:l:m:n:q:r:s:t:w:x;`;h;i;l;mQ&O|Q&{!eS'R%b,}Q+e%wQ,T&^Q/{*sQ0g+fQ0l+lQ1],XQ1^,YQ4`0bQ4i0nQ5T1VQ5W1XQ5X1[Q6z4aQ6}4fQ7h5ZQ8g7OR8r7ernOXst!V!Z#c%f&`&i&k&l&n,b,g1g1jR,V&b&v^OPXYstuvwz!Z!`!g!j!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'X'i'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;b;c[#[WZ#V#Y'O'y!S%cm#g#h#k%^%a(S(^(_(`*z*{*},^,t-r-x-y-z-|1o2g2h5k5|Q%oxQ%syS%x|%}Q&U!TQ'Y!hQ'[!iQ(g#rS*R$x*VS+_%t%uQ+c%wQ+|&XQ,Q&ZS-Z']'^Q.W(hQ/Z*SQ0`+`Q0f+fQ0h+gQ0k+kQ1P+}S1T,R,SQ2X-[Q3g/VQ4_0bQ4c0eQ4h0mQ5S1UQ6d3hQ6y4aQ6|4eQ8c6xR9X8dv$zi#w%W%X%])z)|*U*j*k._/^/|3f4O8X;`;h;i!S%qy!i!t%s%t%u&|'[']'^'b'l*^+_+`,w-Z-[-c/h0`2Q2X2`3zQ+X%oQ+r&RQ+u&SQ,P&ZQ.V(gQ1O+|U1S,Q,R,SQ2p.WQ4}1PS5R1T1UQ7d5S#O;d#u$c$d$x${)q)w)}*[+V+Y+q+t.T/P/_/a0q0t0|2n3p3x4W4Y4{6P6g6p7]7|8l9O9^9f:^:`:b:i:k:m:q:s:w;l;mg;e:X:Y:_:a:c:j:l:n:r:t:xW%Pi%R*l;`S&R!Q&`Q&S!RQ&T!SR+p&P$_%Oi#u#w$c$d$x${%W%X%])q)w)z)|)}*U*[*j*k+V+Y+q+t.T._/P/^/_/a/|0q0t0|2n3f3p3x4O4W4Y4{6P6g6p7]7|8X8l9O9^9f:X:Y:^:_:`:a:b:c:i:j:k:l:m:n:q:r:s:t:w:x;`;h;i;l;mT)r$u)sV*p%V:[:]U'R!e%b,}S(u#y#zQ+j%zS.P(c(dQ0u+vQ4P/yR7S4n&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;c$i$`c#X#d%j%k%m'x(O(j(q(y(z({(|(})O)P)Q)R)S)T)V)Y)^)h+T+i,x-g-l-q-s.^.d.h.j.k.l.{/}1v1y2Z2b2v2{2|2}3O3P3Q3R3S3T3U3V3W3X3[3]3b4T4]5n5t5y6V6W6]6^7U7s7w8Q8U8V8{9Z9b9s;VT#SV#T&}kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cQ'P!eR1|,zv!nQ!e!r!u!x!y&}'U'V'c'd'e,z-Q-S-d0z4u4wS*^$|*dS/h*_*fQ/q*gQ0w+xQ3z/pR3}/snqOXst!Z#c%f&i&k&l&n,b,g1g1jQ&p!^Q'm!wS(i#t9yQ+]%rQ+z&UQ+{&WQ-X'ZQ-f'fS.](n:fS0O*x:oQ0^+^Q0y+yQ1n,iQ1p,jQ1x,uQ2V-YQ2Y-^S4U0P:uQ4Z0_S4^0a:vQ5m1zQ5q2WQ5v2_Q6w4[Q7t5oQ7u5rQ7x5wR8x7q$d$_c#X#d%k%m'x(O(j(q(y(z({(|(})O)P)Q)R)S)T)V)Y)^)h+T+i,x-g-l-q-s.^.d.h.k.l.{/}1v1y2Z2b2v2{2|2}3O3P3Q3R3S3T3U3V3W3X3[3]3b4T4]5n5t5y6V6W6]6^7U7s7w8Q8U8V8{9Z9b9s;VS(f#o'`U*i$}(m3ZS+S%j.jQ2l0WQ6O2kQ8O6RR9P8P$d$^c#X#d%k%m'x(O(j(q(y(z({(|(})O)P)Q)R)S)T)V)Y)^)h+T+i,x-g-l-q-s.^.d.h.k.l.{/}1v1y2Z2b2v2{2|2}3O3P3Q3R3S3T3U3V3W3X3[3]3b4T4]5n5t5y6V6W6]6^7U7s7w8Q8U8V8{9Z9b9s;VS(e#o'`S(w#z$_S+R%j.jS.Q(d(fQ.m)XQ0T+SR2i.R&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cS#p]9rQ&k!XQ&l!YQ&n![Q&o!]R1f,eQ'W!hQ+U%oQ-V'YS.S(g+XQ2T-UW2m.V.W0V0XQ5p2UU5}2j2l2pS7{6O6QS8}7}8OS9d8|9PQ9l9eR9o9mU!vQ'V-ST4s0z4u!Q_OXZ`st!V!Z#c#g%^%f&`&b&i&k&l&n(`,b,g-y1g1j]!pQ!r'V-S0z4uT#p]9r%Y{OPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&f&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7yS(u#y#zS.P(c(d!s:|$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cY!tQ'V-S0z4uQ'b!rS'l!u!xS'n!y4wS-c'c'dQ-e'eR2`-dQ'k!tS([#f1aS-b'b'nQ/Y*RQ/f*^Q2a-eQ3l/ZS3u/g/qQ6c3gS6n3{3}Q8Z6dR8b6qQ#vbQ'j!tS(Z#f1aS(]#l*wQ*y%_Q+Z%pQ+a%vU-a'b'k'nQ-u([Q/X*RQ/e*^Q/k*aQ0]+[Q1Q,OS2^-b-eQ2f-}S3k/Y/ZS3t/f/qQ3w/jQ3y/lQ5P1RQ5x2aQ6b3gQ6f3lS6j3u3}Q6o3|Q7b5QS8Y6c6dQ8^6kQ8`6nQ8o7cQ9T8ZQ9U8_Q9W8bQ9`8pQ9h9VQ;P:zQ;[;TR;];UV!vQ'V-S%YaOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&f&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7yS#vz!j!r:y$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cR;P;b%YbOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&f&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7yQ%_j!S%py!i!t%s%t%u&|'[']'^'b'l*^+_+`,w-Z-[-c/h0`2Q2X2`3zS%vz!jQ+[%qQ,O&ZW1R,P,Q,R,SU5Q1S1T1US7c5R5SQ8p7d!r:z$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cQ;T;aR;U;b$|eOPXYstuvw!Z!`!g!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&i&k&l&n&r&z'X'i'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7yY#aWZ#V#Y'y!S%cm#g#h#k%^%a(S(^(_(`*z*{*},^,t-r-x-y-z-|1o2g2h5k5|Q,]&f!p:{$[$m)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cR;O'OS'S!e%bR2O,}%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|,_,b,g-W-`-n-t.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2w4r4|5^5_5b5u7Z7`7o7y!r)W$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cQ,[&fQ0W+WQ2k.UQ6R2oR8P6S!f$Uc#X%j'x(O(j(q)Q)R)S)T)Y)^+i-g-l-q-s.^.d.{/}2Z2b2v3X4T4]5t5y6V7w8{9s!T:Q)V)h,x.j1v1y2{3T3U3V3W3[3b5n6W6]6^7U7s8Q8U8V9Z9b;V!b$Wc#X%j'x(O(j(q)S)T)Y)^+i-g-l-q-s.^.d.{/}2Z2b2v3X4T4]5t5y6V7w8{9s!P:S)V)h,x.j1v1y2{3V3W3[3b5n6W6]6^7U7s8Q8U8V9Z9b;V!^$[c#X%j'x(O(j(q)Y)^+i-g-l-q-s.^.d.{/}2Z2b2v3X4T4]5t5y6V7w8{9sQ3f/Tz;c)V)h,x.j1v1y2{3[3b5n6W6]6^7U7s8Q8U8V9Z9b;VQ;h;jR;i;k&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cS$nh$oR3_.p'TgOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.p.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cT$jf$pQ$hfS)a$k)eR)m$pT$if$pT)c$k)e'ThOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%f%l%y&b&e&f&i&k&l&n&r&z'O'X'i'y'{(R(Y(n(r(v)j)u*x*|+W,_,b,g,s,v-W-`-n-t.U.b.i.p.q/z0P0a0}1_1`1b1d1g1j1l1{2]2c2o2w3^4p4r4|5^5_5b5l5u6S7Z7`7o7y8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;cT$nh$oQ$qhR)l$o%YjOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%f%l%y&b&e&f&i&k&l&n&r&z'X'i'y'{(R(Y(n(r(v)u*x*|+W,_,b,g-W-`-n-t.U.b.i/z0P0a0}1_1`1b1d1g1j1l2]2c2o2w4r4|5^5_5b5u6S7Z7`7o7y!s;a$[$m'O)j,s,v.q1{3^4p5l8h8y9q9t9u9x9y9z9{9|9}:O:P:Q:R:S:T:U:V:Z:d:e:f:h:o:p:u:v;c#clOPXZst!Z!`!o#R#c#n#{$m%f&b&e&f&i&k&l&n&r&z'X(v)j*|+W,_,b,g-W.U.q/z0}1_1`1b1d1g1j1l2o3^4r4|5^5_5b6S7Z7`7ov$}i#w%W%X%])z)|*U*j*k._/^/|3f4O8X;`;h;i#O(m#u$c$d$x${)q)w)}*[+V+Y+q+t.T/P/_/a0q0t0|2n3p3x4W4Y4{6P6g6p7]7|8l9O9^9f:^:`:b:i:k:m:q:s:w;l;mQ*t%ZQ.|)vg3Z:X:Y:_:a:c:j:l:n:r:t:xv$yi#w%W%X%])z)|*U*j*k._/^/|3f4O8X;`;h;iQ*W$zS*a$|*dQ*u%[Q/l*b#O;R#u$c$d$x${)q)w)}*[+V+Y+q+t.T/P/_/a0q0t0|2n3p3x4W4Y4{6P6g6p7]7|8l9O9^9f:^:`:b:i:k:m:q:s:w;l;mf;S:X:Y:_:a:c:j:l:n:r:t:xQ;W;dQ;X;eQ;Y;fR;Z;gv$}i#w%W%X%])z)|*U*j*k._/^/|3f4O8X;`;h;i#O(m#u$c$d$x${)q)w)}*[+V+Y+q+t.T/P/_/a0q0t0|2n3p3x4W4Y4{6P6g6p7]7|8l9O9^9f:^:`:b:i:k:m:q:s:w;l;mg3Z:X:Y:_:a:c:j:l:n:r:t:xnoOXst!Z#c%f&i&k&l&n,b,g1g1jQ*Z${Q,p&uQ,q&wR3o/_$^%Oi#u#w$c$d$x${%W%X%])q)w)z)|)}*U*[*j*k+V+Y+q+t.T._/P/^/_/a/|0q0t0|2n3f3p3x4O4W4Y4{6P6g6p7]7|8X8l9O9^9f:X:Y:^:_:`:a:b:c:i:j:k:l:m:n:q:r:s:t:w:x;`;h;i;l;mQ+s&SQ0s+uQ4l0rR7R4mT*c$|*dS*c$|*dT4t0z4uS/j*`4rT3|/r7ZQ+Z%pQ/k*aQ0]+[Q1Q,OQ5P1RQ7b5QQ8o7cR9`8pn)z$v(o*v/]/t/u2t3m4S6a6r9S;Q;^;_!Y:i(k)[*Q*Y.[.x.}/T/b0U0p0r2s3n3r4k4m6T6U6h6l6t6v8]8a9g;j;k]:j3Y6[8R9Q9R9pp)|$v(o*v/R/]/t/u2t3m4S6a6r9S;Q;^;_![:k(k)[*Q*Y.[.x.}/T/b0U0p0r2q2s3n3r4k4m6T6U6h6l6t6v8]8a9g;j;k_:l3Y6[8R8S9Q9R9prnOXst!V!Z#c%f&`&i&k&l&n,b,g1g1jQ&]!UR,_&frnOXst!V!Z#c%f&`&i&k&l&n,b,g1g1jR&]!UQ+w&TR0o+psnOXst!V!Z#c%f&`&i&k&l&n,b,g1g1jQ0{+|S4z1O1PU7[4x4y4}S8k7^7_S9[8j8mQ9i9]R9n9jQ&d!VR,W&`R5W1XS%x|%}R0h+gQ&i!WR,b&jR,h&oT1h,g1jR,l&pQ,k&pR1q,lQ'p!zR-h'pSsOtQ#cXT%is#cQ!}TR'r!}Q#QUR't#QQ)s$uR.y)sQ#TVR'v#TQ#WWU'|#W'}-oQ'}#XR-o(OQ,{'PR1},{Q.`(oR2u.`Q.c(qS2x.c2yR2y.dQ-S'VR2R-SY!rQ'V-S0z4uR'a!rS#^W%aU(T#^(U-pQ(U#_R-p(PQ-O'SR2P-Ot`OXst!V!Z#c%f&`&b&i&k&l&n,b,g1g1jS#gZ%^U#q`#g-yR-y(`Q(a#iQ-v(]W.O(a-v2d5zQ2d-wR5z2eQ)e$kR.r)eQ$ohR)k$oQ$bcU)Z$b-k:WQ-k9sR:W)hQ/W*RW3i/W3j6e8[U3j/X/Y/ZS6e3k3lR8[6f#o)x$v(k(o)[*Q*Y*q*r*v.Y.Z.[.x.}/R/S/T/]/b/t/u0U0p0r2q2r2s2t3Y3m3n3r4S4k4m6T6U6Y6Z6[6a6h6l6r6t6v8R8S8T8]8a9Q9R9S9g9p;Q;^;_;j;kQ/`*YU3q/`3s6iQ3s/bR6i3rQ*d$|R/n*dQ*m%QR/w*mQ4X0UR6u4XQ+O%dR0S+OQ4o0uS7T4o8iR8i7UQ+y&UR0x+yQ4u0zR7X4uQ1W,TS5U1W7fR7f5WQ0c+cW4b0c4d6{8eQ4d0fQ6{4cR8e6|Q+h%xR0i+hQ1j,gR5f1jYrOXst#cQ&m!ZQ+Q%fQ,a&iQ,c&kQ,d&lQ,f&nQ1e,bS1h,g1jR5e1gQ%hpQ&q!_Q&t!aQ&v!bQ&x!cQ'h!tQ+P%eQ+]%rQ+o&OQ,V&dQ,n&sW-_'b'j'k'nQ-f'fQ/m*cQ0^+^S1Z,W,ZQ1r,mQ1s,pQ1t,qQ2Y-^W2[-a-b-e-gQ4Z0_Q4g0lQ4j0pQ5O1QQ5Y1]Q5d1fU5s2Z2^2aQ5v2_Q6w4[Q7P4iQ7Q4kQ7W4tQ7a5PQ7g5XS7v5t5xQ7x5wQ8f6}Q8n7bQ8s7hQ8z7wQ9Y8gQ9_8oQ9c8{R9k9`Q%ryQ'Z!iQ'f!tU+^%s%t%uQ,u&|U-Y'[']'^S-^'b'lQ/d*^S0_+_+`Q1z,wS2W-Z-[Q2_-cQ3v/hQ4[0`Q5o2QQ5r2XQ5w2`R6m3zS$wi;`R*n%RU%Qi%R;`R/v*lQ$viS(k#u+YQ(o#wS)[$c$dQ*Q$xQ*Y${Q*q%WQ*r%XQ*v%]Q.Y:^Q.Z:`Q.[:bQ.x)qS.})w/PQ/R)zQ/S)|Q/T)}Q/]*UQ/b*[Q/t*jQ/u*kh0U+V.T0|2n4{6P7]7|8l9O9^9fQ0p+qQ0r+tQ2q:iQ2r:kQ2s:mQ2t._S3Y:X:YQ3m/^Q3n/_Q3r/aQ4S/|Q4k0qQ4m0tQ6T:qQ6U:sQ6Y:_Q6Z:aQ6[:cQ6a3fQ6h3pQ6l3xQ6r4OQ6t4WQ6v4YQ8R:nQ8S:jQ8T:lQ8]6gQ8a6pQ9Q:rQ9R:tQ9S8XQ9g:wQ9p:xQ;Q;`Q;^;hQ;_;iQ;j;lR;k;mnpOXst!Z#c%f&i&k&l&n,b,g1g1jQ!fPS#eZ#nQ&s!`U'_!o4r7ZQ'u#RQ(x#{Q)i$mS,Z&b&eQ,`&fQ,m&rQ,r&zQ-U'XQ.f(vQ.v)jQ0Q*|Q0X+WQ1c,_Q2U-WQ2l.UQ3a.qQ4Q/zQ4y0}Q5[1_Q5]1`Q5a1bQ5c1dQ5h1lQ6O2oQ6_3^Q7_4|Q7k5^Q7l5_Q7n5bQ8O6SQ8m7`R8w7o#WcOPXZst!Z!`!o#c#n#{%f&b&e&f&i&k&l&n&r&z'X(v*|+W,_,b,g-W.U/z0}1_1`1b1d1g1j1l2o4r4|5^5_5b6S7Z7`7oQ#XWQ#dYQ%juQ%kvS%mw!gS'x#V'{Q(O#YQ(j#tQ(q#xQ(y$OQ(z$PQ({$QQ(|$RQ(}$SQ)O$TQ)P$UQ)Q$VQ)R$WQ)S$XQ)T$YQ)V$[Q)Y$aQ)^$eW)h$m)j.q3^Q+T%lQ+i%yS,x'O1{Q-g'iS-l'y-nQ-q(RQ-s(YQ.^(nQ.d(rQ.h9qQ.j9tQ.k9uQ.l9xQ.{)uQ/}*xQ1v,sQ1y,vQ2Z-`Q2b-tQ2v.bQ2{9yQ2|9zQ2}9{Q3O9|Q3P9}Q3Q:OQ3R:PQ3S:QQ3T:RQ3U:SQ3V:TQ3W:UQ3X.iQ3[:ZQ3]:dQ3b:VQ4T0PQ4]0aQ5n:eQ5t2]Q5y2cQ6V2wQ6W:fQ6]:hQ6^:oQ7U4pQ7s5lQ7w5uQ8Q:pQ8U:uQ8V:vQ8{7yQ9Z8hQ9b8yQ9s#RR;V;cR#ZWR'Q!eY!tQ'V-S0z4uS&|!e,zQ'b!rS'l!u!xS'n!y4wS,w&}'US-c'c'dQ-e'eQ2Q-QR2`-dR(p#wR(s#xQ!fQT-R'V-S]!qQ!r'V-S0z4uQ#o]R'`9rT#jZ%^S#iZ%^S%dm,^U(]#g#h#kS-w(^(_Q-{(`Q0R*}Q2e-xU2f-y-z-|S5{2g2hR7z5|`#]W#V#Y%a'y(S*z-rr#fZm#g#h#k%^(^(_(`*}-x-y-z-|2g2h5|Q1a,^Q1w,tQ5j1oQ7r5kT:}'O*{T#`W%aS#_W%aS'z#V(SS(P#Y*zS,y'O*{T-m'y-rT'T!e%bQ$kfR)o$pT)d$k)eR3`.pT*T$x*VR*]${Q0V+VQ2j.TQ4x0|Q6Q2nQ7^4{Q7}6PQ8j7]Q8|7|Q9]8lQ9e9OQ9j9^R9m9fnqOXst!Z#c%f&i&k&l&n,b,g1g1jQ&c!VR,V&`tmOXst!U!V!Z#c%f&`&i&k&l&n,b,g1g1jR,^&fT%em,^R0v+vR,U&^Q%||R+n%}R+d%wT&g!W&jT&h!W&jT1i,g1j\",\n nodeNames: \"⚠ ArithOp ArithOp LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem\",\n maxTerm: 367,\n context: trackNewline,\n nodeProps: [\n [\"group\", -26,7,15,17,63,200,204,208,209,211,214,217,227,229,235,237,239,241,244,250,256,258,260,262,264,266,267,\"Statement\",-32,11,12,26,29,30,36,46,49,50,52,57,65,73,77,79,81,82,104,105,114,115,132,135,137,138,139,140,142,143,163,164,166,\"Expression\",-23,25,27,31,35,37,39,167,169,171,172,174,175,176,178,179,180,182,183,184,194,196,198,199,\"Type\",-3,85,97,103,\"ClassItem\"],\n [\"openedBy\", 32,\"InterpolationStart\",51,\"[\",55,\"{\",70,\"(\",144,\"JSXStartTag\",156,\"JSXStartTag JSXStartCloseTag\"],\n [\"closedBy\", 34,\"InterpolationEnd\",45,\"]\",56,\"}\",71,\")\",145,\"JSXSelfCloseEndTag JSXEndTag\",161,\"JSXEndTag\"]\n ],\n propSources: [jsHighlight],\n skippedNodes: [0,3,4,270],\n repeatNodeCount: 33,\n tokenData: \"$Fl(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#8g!R![#:v![!]#Gv!]!^#IS!^!_#J^!_!`#Nu!`!a$#a!a!b$(n!b!c$,m!c!}Er!}#O$-w#O#P$/R#P#Q$4j#Q#R$5t#R#SEr#S#T$7R#T#o$8]#o#p$s#r#s$@P#s$f%Z$f$g+g$g#BYEr#BY#BZ$AZ#BZ$ISEr$IS$I_$AZ$I_$I|Er$I|$I}$Df$I}$JO$Df$JO$JTEr$JT$JU$AZ$JU$KVEr$KV$KW$AZ$KW&FUEr&FU&FV$AZ&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AZ?HUOEr(n%d_$e&j'yp'|!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$e&j'|!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU'|!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$e&j'ypOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU'ypOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'yp'|!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$e&j'yp'|!b'o(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST'z#S$e&j'p(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$e&j'yp'|!b'p(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$e&j!m$Ip'yp'|!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#r$Id$e&j'yp'|!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#r$Id$e&j'yp'|!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b3l_'x$(n$e&j'|!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$e&j'|!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$e&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$`#t$e&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$`#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$`#t$e&j'|!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ'|!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$`#t'|!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hh$e&j'yp'|!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXUS$e&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSUSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWUS'|!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]US$e&j'ypOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWUS'ypOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYUS'yp'|!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%lQ^$e&j!SSOY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@Y!_!}!=y!}#O!Bw#O#P!Dj#P#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!?Ta$e&j!SSO!^&c!_#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&cS!@_X!SSOY!@YZ!P!@Y!P!Q!@z!Q!}!@Y!}#O!Ac#O#P!Bb#P;'S!@Y;'S;=`!Bq<%lO!@YS!APU!SS#Z#[!@z#]#^!@z#a#b!@z#g#h!@z#i#j!@z#m#n!@zS!AfVOY!AcZ#O!Ac#O#P!A{#P#Q!@Y#Q;'S!Ac;'S;=`!B[<%lO!AcS!BOSOY!AcZ;'S!Ac;'S;=`!B[<%lO!AcS!B_P;=`<%l!AcS!BeSOY!@YZ;'S!@Y;'S;=`!Bq<%lO!@YS!BtP;=`<%l!@Y&n!B|[$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#O!Bw#O#P!Cr#P#Q!=y#Q#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!CwX$e&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!DgP;=`<%l!Bw&n!DoX$e&jOY!=yYZ&cZ!^!=y!^!_!@Y!_#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!E_P;=`<%l!=y(Q!Eki$e&j'|!b!SSOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!Eb#[#]&}#]#^!Eb#^#a&}#a#b!Eb#b#g&}#g#h!Eb#h#i&}#i#j!Eb#j#m&}#m#n!Eb#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!GaZ'|!b!SSOY!GYZw!GYwx!@Yx!P!GY!P!Q!HS!Q!}!GY!}#O!Ic#O#P!Bb#P;'S!GY;'S;=`!JZ<%lO!GY!f!HZb'|!b!SSOY'}Zw'}x#O'}#P#Z'}#Z#[!HS#[#]'}#]#^!HS#^#a'}#a#b!HS#b#g'}#g#h!HS#h#i'}#i#j!HS#j#m'}#m#n!HS#n;'S'};'S;=`(f<%lO'}!f!IhX'|!bOY!IcZw!Icwx!Acx#O!Ic#O#P!A{#P#Q!GY#Q;'S!Ic;'S;=`!JT<%lO!Ic!f!JWP;=`<%l!Ic!f!J^P;=`<%l!GY(Q!Jh^$e&j'|!bOY!JaYZ&cZw!Jawx!Bwx!^!Ja!^!_!Ic!_#O!Ja#O#P!Cr#P#Q!Q#V#X%Z#X#Y!4|#Y#b%Z#b#c#Zd$e&j'yp'|!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#?tf$e&j'yp'|!bm$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#b%Z#b#c# spec_identifier[value] || -1},{term: 330, get: (value) => spec_word[value] || -1},{term: 68, get: (value) => spec_LessThan[value] || -1}],\n tokenPrec: 12868\n});\n\nexport { parser };\n","import { parser } from '@lezer/javascript';\nimport { syntaxTree, LRLanguage, indentNodeProp, continuedIndent, flatIndent, delimitedIndent, foldNodeProp, foldInside, defineLanguageFacet, sublanguageProp, LanguageSupport } from '@codemirror/language';\nimport { EditorSelection } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { snippetCompletion, ifNotIn, completeFromList } from '@codemirror/autocomplete';\nimport { NodeWeakMap, IterMode } from '@lezer/common';\n\n/**\nA collection of JavaScript-related\n[snippets](https://codemirror.net/6/docs/ref/#autocomplete.snippet).\n*/\nconst snippets = [\n /*@__PURE__*/snippetCompletion(\"function ${name}(${params}) {\\n\\t${}\\n}\", {\n label: \"function\",\n detail: \"definition\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\\n\\t${}\\n}\", {\n label: \"for\",\n detail: \"loop\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"for (let ${name} of ${collection}) {\\n\\t${}\\n}\", {\n label: \"for\",\n detail: \"of loop\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"do {\\n\\t${}\\n} while (${})\", {\n label: \"do\",\n detail: \"loop\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"while (${}) {\\n\\t${}\\n}\", {\n label: \"while\",\n detail: \"loop\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"try {\\n\\t${}\\n} catch (${error}) {\\n\\t${}\\n}\", {\n label: \"try\",\n detail: \"/ catch block\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"if (${}) {\\n\\t${}\\n}\", {\n label: \"if\",\n detail: \"block\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"if (${}) {\\n\\t${}\\n} else {\\n\\t${}\\n}\", {\n label: \"if\",\n detail: \"/ else block\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"class ${name} {\\n\\tconstructor(${params}) {\\n\\t\\t${}\\n\\t}\\n}\", {\n label: \"class\",\n detail: \"definition\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"import {${names}} from \\\"${module}\\\"\\n${}\", {\n label: \"import\",\n detail: \"named\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"import ${name} from \\\"${module}\\\"\\n${}\", {\n label: \"import\",\n detail: \"default\",\n type: \"keyword\"\n })\n];\n/**\nA collection of snippet completions for TypeScript. Includes the\nJavaScript [snippets](https://codemirror.net/6/docs/ref/#lang-javascript.snippets).\n*/\nconst typescriptSnippets = /*@__PURE__*/snippets.concat([\n /*@__PURE__*/snippetCompletion(\"interface ${name} {\\n\\t${}\\n}\", {\n label: \"interface\",\n detail: \"definition\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"type ${name} = ${type}\", {\n label: \"type\",\n detail: \"definition\",\n type: \"keyword\"\n }),\n /*@__PURE__*/snippetCompletion(\"enum ${name} {\\n\\t${}\\n}\", {\n label: \"enum\",\n detail: \"definition\",\n type: \"keyword\"\n })\n]);\n\nconst cache = /*@__PURE__*/new NodeWeakMap();\nconst ScopeNodes = /*@__PURE__*/new Set([\n \"Script\", \"Block\",\n \"FunctionExpression\", \"FunctionDeclaration\", \"ArrowFunction\", \"MethodDeclaration\",\n \"ForStatement\"\n]);\nfunction defID(type) {\n return (node, def) => {\n let id = node.node.getChild(\"VariableDefinition\");\n if (id)\n def(id, type);\n return true;\n };\n}\nconst functionContext = [\"FunctionDeclaration\"];\nconst gatherCompletions = {\n FunctionDeclaration: /*@__PURE__*/defID(\"function\"),\n ClassDeclaration: /*@__PURE__*/defID(\"class\"),\n ClassExpression: () => true,\n EnumDeclaration: /*@__PURE__*/defID(\"constant\"),\n TypeAliasDeclaration: /*@__PURE__*/defID(\"type\"),\n NamespaceDeclaration: /*@__PURE__*/defID(\"namespace\"),\n VariableDefinition(node, def) { if (!node.matchContext(functionContext))\n def(node, \"variable\"); },\n TypeDefinition(node, def) { def(node, \"type\"); },\n __proto__: null\n};\nfunction getScope(doc, node) {\n let cached = cache.get(node);\n if (cached)\n return cached;\n let completions = [], top = true;\n function def(node, type) {\n let name = doc.sliceString(node.from, node.to);\n completions.push({ label: name, type });\n }\n node.cursor(IterMode.IncludeAnonymous).iterate(node => {\n if (top) {\n top = false;\n }\n else if (node.name) {\n let gather = gatherCompletions[node.name];\n if (gather && gather(node, def) || ScopeNodes.has(node.name))\n return false;\n }\n else if (node.to - node.from > 8192) {\n // Allow caching for bigger internal nodes\n for (let c of getScope(doc, node.node))\n completions.push(c);\n return false;\n }\n });\n cache.set(node, completions);\n return completions;\n}\nconst Identifier = /^[\\w$\\xa1-\\uffff][\\w$\\d\\xa1-\\uffff]*$/;\nconst dontComplete = [\n \"TemplateString\", \"String\", \"RegExp\",\n \"LineComment\", \"BlockComment\",\n \"VariableDefinition\", \"TypeDefinition\", \"Label\",\n \"PropertyDefinition\", \"PropertyName\",\n \"PrivatePropertyDefinition\", \"PrivatePropertyName\",\n \"JSXText\", \"JSXAttributeValue\", \"JSXOpenTag\", \"JSXCloseTag\", \"JSXSelfClosingTag\",\n \".\", \"?.\"\n];\n/**\nCompletion source that looks up locally defined names in\nJavaScript code.\n*/\nfunction localCompletionSource(context) {\n let inner = syntaxTree(context.state).resolveInner(context.pos, -1);\n if (dontComplete.indexOf(inner.name) > -1)\n return null;\n let isWord = inner.name == \"VariableName\" ||\n inner.to - inner.from < 20 && Identifier.test(context.state.sliceDoc(inner.from, inner.to));\n if (!isWord && !context.explicit)\n return null;\n let options = [];\n for (let pos = inner; pos; pos = pos.parent) {\n if (ScopeNodes.has(pos.name))\n options = options.concat(getScope(context.state.doc, pos));\n }\n return {\n options,\n from: isWord ? inner.from : context.pos,\n validFor: Identifier\n };\n}\nfunction pathFor(read, member, name) {\n var _a;\n let path = [];\n for (;;) {\n let obj = member.firstChild, prop;\n if ((obj === null || obj === void 0 ? void 0 : obj.name) == \"VariableName\") {\n path.push(read(obj));\n return { path: path.reverse(), name };\n }\n else if ((obj === null || obj === void 0 ? void 0 : obj.name) == \"MemberExpression\" && ((_a = (prop = obj.lastChild)) === null || _a === void 0 ? void 0 : _a.name) == \"PropertyName\") {\n path.push(read(prop));\n member = obj;\n }\n else {\n return null;\n }\n }\n}\n/**\nHelper function for defining JavaScript completion sources. It\nreturns the completable name and object path for a completion\ncontext, or null if no name/property completion should happen at\nthat position. For example, when completing after `a.b.c` it will\nreturn `{path: [\"a\", \"b\"], name: \"c\"}`. When completing after `x`\nit will return `{path: [], name: \"x\"}`. When not in a property or\nname, it will return null if `context.explicit` is false, and\n`{path: [], name: \"\"}` otherwise.\n*/\nfunction completionPath(context) {\n let read = (node) => context.state.doc.sliceString(node.from, node.to);\n let inner = syntaxTree(context.state).resolveInner(context.pos, -1);\n if (inner.name == \"PropertyName\") {\n return pathFor(read, inner.parent, read(inner));\n }\n else if ((inner.name == \".\" || inner.name == \"?.\") && inner.parent.name == \"MemberExpression\") {\n return pathFor(read, inner.parent, \"\");\n }\n else if (dontComplete.indexOf(inner.name) > -1) {\n return null;\n }\n else if (inner.name == \"VariableName\" || inner.to - inner.from < 20 && Identifier.test(read(inner))) {\n return { path: [], name: read(inner) };\n }\n else if (inner.name == \"MemberExpression\") {\n return pathFor(read, inner, \"\");\n }\n else {\n return context.explicit ? { path: [], name: \"\" } : null;\n }\n}\nfunction enumeratePropertyCompletions(obj, top) {\n let options = [], seen = new Set;\n for (let depth = 0;; depth++) {\n for (let name of (Object.getOwnPropertyNames || Object.keys)(obj)) {\n if (!/^[a-zA-Z_$\\xaa-\\uffdc][\\w$\\xaa-\\uffdc]*$/.test(name) || seen.has(name))\n continue;\n seen.add(name);\n let value;\n try {\n value = obj[name];\n }\n catch (_) {\n continue;\n }\n options.push({\n label: name,\n type: typeof value == \"function\" ? (/^[A-Z]/.test(name) ? \"class\" : top ? \"function\" : \"method\")\n : top ? \"variable\" : \"property\",\n boost: -depth\n });\n }\n let next = Object.getPrototypeOf(obj);\n if (!next)\n return options;\n obj = next;\n }\n}\n/**\nDefines a [completion source](https://codemirror.net/6/docs/ref/#autocomplete.CompletionSource) that\ncompletes from the given scope object (for example `globalThis`).\nWill enter properties of the object when completing properties on\na directly-named path.\n*/\nfunction scopeCompletionSource(scope) {\n let cache = new Map;\n return (context) => {\n let path = completionPath(context);\n if (!path)\n return null;\n let target = scope;\n for (let step of path.path) {\n target = target[step];\n if (!target)\n return null;\n }\n let options = cache.get(target);\n if (!options)\n cache.set(target, options = enumeratePropertyCompletions(target, !path.path.length));\n return {\n from: context.pos - path.name.length,\n options,\n validFor: Identifier\n };\n };\n}\n\n/**\nA language provider based on the [Lezer JavaScript\nparser](https://github.com/lezer-parser/javascript), extended with\nhighlighting and indentation information.\n*/\nconst javascriptLanguage = /*@__PURE__*/LRLanguage.define({\n name: \"javascript\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/indentNodeProp.add({\n IfStatement: /*@__PURE__*/continuedIndent({ except: /^\\s*({|else\\b)/ }),\n TryStatement: /*@__PURE__*/continuedIndent({ except: /^\\s*({|catch\\b|finally\\b)/ }),\n LabeledStatement: flatIndent,\n SwitchBody: context => {\n let after = context.textAfter, closed = /^\\s*\\}/.test(after), isCase = /^\\s*(case|default)\\b/.test(after);\n return context.baseIndent + (closed ? 0 : isCase ? 1 : 2) * context.unit;\n },\n Block: /*@__PURE__*/delimitedIndent({ closing: \"}\" }),\n ArrowFunction: cx => cx.baseIndent + cx.unit,\n \"TemplateString BlockComment\": () => null,\n \"Statement Property\": /*@__PURE__*/continuedIndent({ except: /^{/ }),\n JSXElement(context) {\n let closed = /^\\s*<\\//.test(context.textAfter);\n return context.lineIndent(context.node.from) + (closed ? 0 : context.unit);\n },\n JSXEscape(context) {\n let closed = /\\s*\\}/.test(context.textAfter);\n return context.lineIndent(context.node.from) + (closed ? 0 : context.unit);\n },\n \"JSXOpenTag JSXSelfClosingTag\"(context) {\n return context.column(context.node.from) + context.unit;\n }\n }),\n /*@__PURE__*/foldNodeProp.add({\n \"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType\": foldInside,\n BlockComment(tree) { return { from: tree.from + 2, to: tree.to - 2 }; }\n })\n ]\n }),\n languageData: {\n closeBrackets: { brackets: [\"(\", \"[\", \"{\", \"'\", '\"', \"`\"] },\n commentTokens: { line: \"//\", block: { open: \"/*\", close: \"*/\" } },\n indentOnInput: /^\\s*(?:case |default:|\\{|\\}|<\\/)$/,\n wordChars: \"$\"\n }\n});\nconst jsxSublanguage = {\n test: node => /^JSX/.test(node.name),\n facet: /*@__PURE__*/defineLanguageFacet({ commentTokens: { block: { open: \"{/*\", close: \"*/}\" } } })\n};\n/**\nA language provider for TypeScript.\n*/\nconst typescriptLanguage = /*@__PURE__*/javascriptLanguage.configure({ dialect: \"ts\" }, \"typescript\");\n/**\nLanguage provider for JSX.\n*/\nconst jsxLanguage = /*@__PURE__*/javascriptLanguage.configure({\n dialect: \"jsx\",\n props: [/*@__PURE__*/sublanguageProp.add(n => n.isTop ? [jsxSublanguage] : undefined)]\n});\n/**\nLanguage provider for JSX + TypeScript.\n*/\nconst tsxLanguage = /*@__PURE__*/javascriptLanguage.configure({\n dialect: \"jsx ts\",\n props: [/*@__PURE__*/sublanguageProp.add(n => n.isTop ? [jsxSublanguage] : undefined)]\n}, \"typescript\");\nlet kwCompletion = (name) => ({ label: name, type: \"keyword\" });\nconst keywords = /*@__PURE__*/\"break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield\".split(\" \").map(kwCompletion);\nconst typescriptKeywords = /*@__PURE__*/keywords.concat(/*@__PURE__*/[\"declare\", \"implements\", \"private\", \"protected\", \"public\"].map(kwCompletion));\n/**\nJavaScript support. Includes [snippet](https://codemirror.net/6/docs/ref/#lang-javascript.snippets)\nand local variable completion.\n*/\nfunction javascript(config = {}) {\n let lang = config.jsx ? (config.typescript ? tsxLanguage : jsxLanguage)\n : config.typescript ? typescriptLanguage : javascriptLanguage;\n let completions = config.typescript ? typescriptSnippets.concat(typescriptKeywords) : snippets.concat(keywords);\n return new LanguageSupport(lang, [\n javascriptLanguage.data.of({\n autocomplete: ifNotIn(dontComplete, completeFromList(completions))\n }),\n javascriptLanguage.data.of({\n autocomplete: localCompletionSource\n }),\n config.jsx ? autoCloseTags : [],\n ]);\n}\nfunction findOpenTag(node) {\n for (;;) {\n if (node.name == \"JSXOpenTag\" || node.name == \"JSXSelfClosingTag\" || node.name == \"JSXFragmentTag\")\n return node;\n if (node.name == \"JSXEscape\" || !node.parent)\n return null;\n node = node.parent;\n }\n}\nfunction elementName(doc, tree, max = doc.length) {\n for (let ch = tree === null || tree === void 0 ? void 0 : tree.firstChild; ch; ch = ch.nextSibling) {\n if (ch.name == \"JSXIdentifier\" || ch.name == \"JSXBuiltin\" || ch.name == \"JSXNamespacedName\" ||\n ch.name == \"JSXMemberExpression\")\n return doc.sliceString(ch.from, Math.min(ch.to, max));\n }\n return \"\";\n}\nconst android = typeof navigator == \"object\" && /*@__PURE__*//Android\\b/.test(navigator.userAgent);\n/**\nExtension that will automatically insert JSX close tags when a `>` or\n`/` is typed.\n*/\nconst autoCloseTags = /*@__PURE__*/EditorView.inputHandler.of((view, from, to, text, defaultInsert) => {\n if ((android ? view.composing : view.compositionStarted) || view.state.readOnly ||\n from != to || (text != \">\" && text != \"/\") ||\n !javascriptLanguage.isActiveAt(view.state, from, -1))\n return false;\n let base = defaultInsert(), { state } = base;\n let closeTags = state.changeByRange(range => {\n var _a;\n let { head } = range, around = syntaxTree(state).resolveInner(head - 1, -1), name;\n if (around.name == \"JSXStartTag\")\n around = around.parent;\n if (state.doc.sliceString(head - 1, head) != text || around.name == \"JSXAttributeValue\" && around.to > head) ;\n else if (text == \">\" && around.name == \"JSXFragmentTag\") {\n return { range, changes: { from: head, insert: `` } };\n }\n else if (text == \"/\" && around.name == \"JSXStartCloseTag\") {\n let empty = around.parent, base = empty.parent;\n if (base && empty.from == head - 2 &&\n ((name = elementName(state.doc, base.firstChild, head)) || ((_a = base.firstChild) === null || _a === void 0 ? void 0 : _a.name) == \"JSXFragmentTag\")) {\n let insert = `${name}>`;\n return { range: EditorSelection.cursor(head + insert.length, -1), changes: { from: head, insert } };\n }\n }\n else if (text == \">\") {\n let openTag = findOpenTag(around);\n if (openTag && openTag.name == \"JSXOpenTag\" &&\n !/^\\/?>|^<\\//.test(state.doc.sliceString(head, head + 2)) &&\n (name = elementName(state.doc, openTag, head)))\n return { range, changes: { from: head, insert: `` } };\n }\n return { range };\n });\n if (closeTags.changes.empty)\n return false;\n view.dispatch([\n base,\n state.update(closeTags, { userEvent: \"input.complete\", scrollIntoView: true })\n ]);\n return true;\n});\n\n/**\nConnects an [ESLint](https://eslint.org/) linter to CodeMirror's\n[lint](https://codemirror.net/6/docs/ref/#lint) integration. `eslint` should be an instance of the\n[`Linter`](https://eslint.org/docs/developer-guide/nodejs-api#linter)\nclass, and `config` an optional ESLint configuration. The return\nvalue of this function can be passed to [`linter`](https://codemirror.net/6/docs/ref/#lint.linter)\nto create a JavaScript linting extension.\n\nNote that ESLint targets node, and is tricky to run in the\nbrowser. The\n[eslint-linter-browserify](https://github.com/UziTech/eslint-linter-browserify)\npackage may help with that (see\n[example](https://github.com/UziTech/eslint-linter-browserify/blob/master/example/script.js)).\n*/\nfunction esLint(eslint, config) {\n if (!config) {\n config = {\n parserOptions: { ecmaVersion: 2019, sourceType: \"module\" },\n env: { browser: true, node: true, es6: true, es2015: true, es2017: true, es2020: true },\n rules: {}\n };\n eslint.getRules().forEach((desc, name) => {\n if (desc.meta.docs.recommended)\n config.rules[name] = 2;\n });\n }\n return (view) => {\n let { state } = view, found = [];\n for (let { from, to } of javascriptLanguage.findRegions(state)) {\n let fromLine = state.doc.lineAt(from), offset = { line: fromLine.number - 1, col: from - fromLine.from, pos: from };\n for (let d of eslint.verify(state.sliceDoc(from, to), config))\n found.push(translateDiagnostic(d, state.doc, offset));\n }\n return found;\n };\n}\nfunction mapPos(line, col, doc, offset) {\n return doc.line(line + offset.line).from + col + (line == 1 ? offset.col - 1 : -1);\n}\nfunction translateDiagnostic(input, doc, offset) {\n let start = mapPos(input.line, input.column, doc, offset);\n let result = {\n from: start,\n to: input.endLine != null && input.endColumn != 1 ? mapPos(input.endLine, input.endColumn, doc, offset) : start,\n message: input.message,\n source: input.ruleId ? \"eslint:\" + input.ruleId : \"eslint\",\n severity: input.severity == 1 ? \"warning\" : \"error\",\n };\n if (input.fix) {\n let { range, text } = input.fix, from = range[0] + offset.pos - start, to = range[1] + offset.pos - start;\n result.actions = [{\n name: \"fix\",\n apply(view, start) {\n view.dispatch({ changes: { from: start + from, to: start + to, insert: text }, scrollIntoView: true });\n }\n }];\n }\n return result;\n}\n\nexport { autoCloseTags, completionPath, esLint, javascript, javascriptLanguage, jsxLanguage, localCompletionSource, scopeCompletionSource, snippets, tsxLanguage, typescriptLanguage, typescriptSnippets };\n"],"names":["noSemi","incdec","incdecPrefix","insertSemi","spaces","newline","LineComment","BlockComment","space","braceR","semicolon","slash","star","plus","minus","trackNewline","ContextTracker","context","term","insertSemicolon","ExternalTokenizer","input","stack","next","noSemicolon","after","incdecToken","mayPostfix","jsHighlight","styleTags","tags","spec_identifier","spec_word","spec_LessThan","parser","LRParser","LocalTokenGroup","value","snippets","snippetCompletion","typescriptSnippets","cache","NodeWeakMap","ScopeNodes","defID","type","node","def","id","functionContext","gatherCompletions","getScope","doc","cached","completions","top","name","IterMode","gather","c","Identifier","dontComplete","localCompletionSource","inner","syntaxTree","isWord","options","pos","pathFor","read","member","_a","path","obj","prop","completionPath","enumeratePropertyCompletions","seen","depth","scopeCompletionSource","scope","target","step","javascriptLanguage","LRLanguage","indentNodeProp","continuedIndent","flatIndent","closed","isCase","delimitedIndent","cx","foldNodeProp","foldInside","tree","jsxSublanguage","defineLanguageFacet","typescriptLanguage","jsxLanguage","sublanguageProp","n","tsxLanguage","kwCompletion","keywords","typescriptKeywords","javascript","config","lang","LanguageSupport","ifNotIn","completeFromList","autoCloseTags","findOpenTag","elementName","max","ch","android","EditorView","view","from","to","text","defaultInsert","base","state","closeTags","range","head","around","empty","insert","EditorSelection","openTag","esLint","eslint","desc","found","fromLine","offset","d","translateDiagnostic","mapPos","line","col","start","result"],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-tFQomdd2.js b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-tFQomdd2.js new file mode 100644 index 0000000000000000000000000000000000000000..2864b3562a0a548bba0d96bc5c2b6fd08a48c8a6 --- /dev/null +++ b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-tFQomdd2.js @@ -0,0 +1,2 @@ +var f=Object.prototype.hasOwnProperty;function s(t,e,r){for(r of t.keys())if(u(r,e))return r}function u(t,e){var r,i,n;if(t===e)return!0;if(t&&e&&(r=t.constructor)===e.constructor){if(r===Date)return t.getTime()===e.getTime();if(r===RegExp)return t.toString()===e.toString();if(r===Array){if((i=t.length)===e.length)for(;i--&&u(t[i],e[i]););return i===-1}if(r===Set){if(t.size!==e.size)return!1;for(i of t)if(n=i,n&&typeof n=="object"&&(n=s(e,n),!n)||!e.has(n))return!1;return!0}if(r===Map){if(t.size!==e.size)return!1;for(i of t)if(n=i[0],n&&typeof n=="object"&&(n=s(e,n),!n)||!u(i[1],e.get(n)))return!1;return!0}if(r===ArrayBuffer)t=new Uint8Array(t),e=new Uint8Array(e);else if(r===DataView){if((i=t.byteLength)===e.byteLength)for(;i--&&t.getInt8(i)===e.getInt8(i););return i===-1}if(ArrayBuffer.isView(t)){if((i=t.byteLength)===e.byteLength)for(;i--&&t[i]===e[i];);return i===-1}if(!r||typeof t=="object"){i=0;for(r in t)if(f.call(t,r)&&++i&&!f.call(e,r)||!(r in e)||!u(t[r],e[r]))return!1;return Object.keys(e).length===i}}return t!==t&&e!==e}export{u as d}; +//# sourceMappingURL=index-tFQomdd2.js.map diff --git a/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-tFQomdd2.js.map b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-tFQomdd2.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1379f6341e17c9a6f37988b7ae873870bceb0e25 --- /dev/null +++ b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/index-tFQomdd2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-tFQomdd2.js","sources":["../../../../node_modules/.pnpm/dequal@2.0.2/node_modules/dequal/dist/index.mjs"],"sourcesContent":["var has = Object.prototype.hasOwnProperty;\n\nfunction find(iter, tar, key) {\n\tfor (key of iter.keys()) {\n\t\tif (dequal(key, tar)) return key;\n\t}\n}\n\nexport function dequal(foo, bar) {\n\tvar ctor, len, tmp;\n\tif (foo === bar) return true;\n\n\tif (foo && bar && (ctor=foo.constructor) === bar.constructor) {\n\t\tif (ctor === Date) return foo.getTime() === bar.getTime();\n\t\tif (ctor === RegExp) return foo.toString() === bar.toString();\n\n\t\tif (ctor === Array) {\n\t\t\tif ((len=foo.length) === bar.length) {\n\t\t\t\twhile (len-- && dequal(foo[len], bar[len]));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (ctor === Set) {\n\t\t\tif (foo.size !== bar.size) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (len of foo) {\n\t\t\t\ttmp = len;\n\t\t\t\tif (tmp && typeof tmp === 'object') {\n\t\t\t\t\ttmp = find(bar, tmp);\n\t\t\t\t\tif (!tmp) return false;\n\t\t\t\t}\n\t\t\t\tif (!bar.has(tmp)) return false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ctor === Map) {\n\t\t\tif (foo.size !== bar.size) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor (len of foo) {\n\t\t\t\ttmp = len[0];\n\t\t\t\tif (tmp && typeof tmp === 'object') {\n\t\t\t\t\ttmp = find(bar, tmp);\n\t\t\t\t\tif (!tmp) return false;\n\t\t\t\t}\n\t\t\t\tif (!dequal(len[1], bar.get(tmp))) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\n\t\tif (ctor === ArrayBuffer) {\n\t\t\tfoo = new Uint8Array(foo);\n\t\t\tbar = new Uint8Array(bar);\n\t\t} else if (ctor === DataView) {\n\t\t\tif ((len=foo.byteLength) === bar.byteLength) {\n\t\t\t\twhile (len-- && foo.getInt8(len) === bar.getInt8(len));\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (ArrayBuffer.isView(foo)) {\n\t\t\tif ((len=foo.byteLength) === bar.byteLength) {\n\t\t\t\twhile (len-- && foo[len] === bar[len]);\n\t\t\t}\n\t\t\treturn len === -1;\n\t\t}\n\n\t\tif (!ctor || typeof foo === 'object') {\n\t\t\tlen = 0;\n\t\t\tfor (ctor in foo) {\n\t\t\t\tif (has.call(foo, ctor) && ++len && !has.call(bar, ctor)) return false;\n\t\t\t\tif (!(ctor in bar) || !dequal(foo[ctor], bar[ctor])) return false;\n\t\t\t}\n\t\t\treturn Object.keys(bar).length === len;\n\t\t}\n\t}\n\n\treturn foo !== foo && bar !== bar;\n}\n"],"names":["has","find","iter","tar","key","dequal","foo","bar","ctor","len","tmp"],"mappings":"AAAA,IAAIA,EAAM,OAAO,UAAU,eAE3B,SAASC,EAAKC,EAAMC,EAAKC,EAAK,CAC7B,IAAKA,KAAOF,EAAK,OAChB,GAAIG,EAAOD,EAAKD,CAAG,EAAG,OAAOC,CAE/B,CAEO,SAASC,EAAOC,EAAKC,EAAK,CAChC,IAAIC,EAAMC,EAAKC,EACf,GAAIJ,IAAQC,EAAK,MAAO,GAExB,GAAID,GAAOC,IAAQC,EAAKF,EAAI,eAAiBC,EAAI,YAAa,CAC7D,GAAIC,IAAS,KAAM,OAAOF,EAAI,QAAS,IAAKC,EAAI,QAAS,EACzD,GAAIC,IAAS,OAAQ,OAAOF,EAAI,SAAU,IAAKC,EAAI,SAAU,EAE7D,GAAIC,IAAS,MAAO,CACnB,IAAKC,EAAIH,EAAI,UAAYC,EAAI,OAC5B,KAAOE,KAASJ,EAAOC,EAAIG,CAAG,EAAGF,EAAIE,CAAG,CAAC,GAAE,CAE5C,OAAOA,IAAQ,EAClB,CAEE,GAAID,IAAS,IAAK,CACjB,GAAIF,EAAI,OAASC,EAAI,KACpB,MAAO,GAER,IAAKE,KAAOH,EAMX,GALAI,EAAMD,EACFC,GAAO,OAAOA,GAAQ,WACzBA,EAAMT,EAAKM,EAAKG,CAAG,EACf,CAACA,IAEF,CAACH,EAAI,IAAIG,CAAG,EAAG,MAAO,GAE3B,MAAO,EACV,CAEE,GAAIF,IAAS,IAAK,CACjB,GAAIF,EAAI,OAASC,EAAI,KACpB,MAAO,GAER,IAAKE,KAAOH,EAMX,GALAI,EAAMD,EAAI,CAAC,EACPC,GAAO,OAAOA,GAAQ,WACzBA,EAAMT,EAAKM,EAAKG,CAAG,EACf,CAACA,IAEF,CAACL,EAAOI,EAAI,CAAC,EAAGF,EAAI,IAAIG,CAAG,CAAC,EAC/B,MAAO,GAGT,MAAO,EACV,CAEE,GAAIF,IAAS,YACZF,EAAM,IAAI,WAAWA,CAAG,EACxBC,EAAM,IAAI,WAAWA,CAAG,UACdC,IAAS,SAAU,CAC7B,IAAKC,EAAIH,EAAI,cAAgBC,EAAI,WAChC,KAAOE,KAASH,EAAI,QAAQG,CAAG,IAAMF,EAAI,QAAQE,CAAG,GAAE,CAEvD,OAAOA,IAAQ,EAClB,CAEE,GAAI,YAAY,OAAOH,CAAG,EAAG,CAC5B,IAAKG,EAAIH,EAAI,cAAgBC,EAAI,WAChC,KAAOE,KAASH,EAAIG,CAAG,IAAMF,EAAIE,CAAG,GAAE,CAEvC,OAAOA,IAAQ,EAClB,CAEE,GAAI,CAACD,GAAQ,OAAOF,GAAQ,SAAU,CACrCG,EAAM,EACN,IAAKD,KAAQF,EAEZ,GADIN,EAAI,KAAKM,EAAKE,CAAI,GAAK,EAAEC,GAAO,CAACT,EAAI,KAAKO,EAAKC,CAAI,GACnD,EAAEA,KAAQD,IAAQ,CAACF,EAAOC,EAAIE,CAAI,EAAGD,EAAIC,CAAI,CAAC,EAAG,MAAO,GAE7D,OAAO,OAAO,KAAKD,CAAG,EAAE,SAAWE,CACtC,CACA,CAEC,OAAOH,IAAQA,GAAOC,IAAQA,CAC/B","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/info-63CPKGFF-BBh5yhjh.js b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/info-63CPKGFF-BBh5yhjh.js new file mode 100644 index 0000000000000000000000000000000000000000..8db9411daf19e8d271371b5944fd798263fa2cb4 --- /dev/null +++ b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/info-63CPKGFF-BBh5yhjh.js @@ -0,0 +1,2 @@ +import{I as n,c as d}from"./mermaid-parser.core-D-Wm7Ko_.js";import"./index-DputZZxm.js";import"./svelte/svelte.js";import"./mermaid.core-B-q2cD2X.js";import"./init-CYI6iZYC.js";import"./step-Wxge9qY-.js";import"./dispatch-kxCwF96_.js";import"./select-BigU4G0v.js";import"./_baseUniq-CSZt17fj.js";import"./_basePickBy-ojZ-FwUK.js";import"./clone-D-TuPeCM.js";export{n as InfoModule,d as createInfoServices}; +//# sourceMappingURL=info-63CPKGFF-BBh5yhjh.js.map diff --git a/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/info-63CPKGFF-BBh5yhjh.js.map b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/info-63CPKGFF-BBh5yhjh.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5221ac5aae2590f7ad239edc5be96f3ac55a1c5b --- /dev/null +++ b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/info-63CPKGFF-BBh5yhjh.js.map @@ -0,0 +1 @@ +{"version":3,"file":"info-63CPKGFF-BBh5yhjh.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/infoDiagram-DDUCL6P7-QSj5pY12.js b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/infoDiagram-DDUCL6P7-QSj5pY12.js new file mode 100644 index 0000000000000000000000000000000000000000..dfbc4e6c3e488b9d5cf1a2e7ff093539325bd7a4 --- /dev/null +++ b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/infoDiagram-DDUCL6P7-QSj5pY12.js @@ -0,0 +1,3 @@ +import{_ as t,l as o,I as s,d as p,K as n}from"./mermaid.core-B-q2cD2X.js";import{p as m}from"./mermaid-parser.core-D-Wm7Ko_.js";import"./index-DputZZxm.js";import"./svelte/svelte.js";import"./init-CYI6iZYC.js";import"./step-Wxge9qY-.js";import"./dispatch-kxCwF96_.js";import"./select-BigU4G0v.js";import"./_baseUniq-CSZt17fj.js";import"./_basePickBy-ojZ-FwUK.js";import"./clone-D-TuPeCM.js";var g={parse:t(async r=>{const a=await m("info",r);o.debug(a)},"parse")},d={version:n.version+""},v=t(()=>d.version,"getVersion"),c={getVersion:v},l=t((r,a,i)=>{o.debug(`rendering info diagram +`+r);const e=s(a);p(e,100,400,!0),e.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${i}`)},"draw"),f={draw:l},V={parser:g,db:c,renderer:f};export{V as diagram}; +//# sourceMappingURL=infoDiagram-DDUCL6P7-QSj5pY12.js.map diff --git a/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/infoDiagram-DDUCL6P7-QSj5pY12.js.map b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/infoDiagram-DDUCL6P7-QSj5pY12.js.map new file mode 100644 index 0000000000000000000000000000000000000000..133a76a79a584024322ee695d0f1bc996c9c30fd --- /dev/null +++ b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/infoDiagram-DDUCL6P7-QSj5pY12.js.map @@ -0,0 +1 @@ +{"version":3,"file":"infoDiagram-DDUCL6P7-QSj5pY12.js","sources":["../../../../node_modules/.pnpm/mermaid@11.10.1/node_modules/mermaid/dist/chunks/mermaid.core/infoDiagram-DDUCL6P7.mjs"],"sourcesContent":["import {\n package_default\n} from \"./chunk-4HWIWPIY.mjs\";\nimport {\n selectSvgElement\n} from \"./chunk-T57MJCP2.mjs\";\nimport {\n __name,\n configureSvgSize,\n log\n} from \"./chunk-VIW5F6AA.mjs\";\n\n// src/diagrams/info/infoParser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"info\", input);\n log.debug(ast);\n }, \"parse\")\n};\n\n// src/diagrams/info/infoDb.ts\nvar DEFAULT_INFO_DB = {\n version: package_default.version + (true ? \"\" : \"-tiny\")\n};\nvar getVersion = /* @__PURE__ */ __name(() => DEFAULT_INFO_DB.version, \"getVersion\");\nvar db = {\n getVersion\n};\n\n// src/diagrams/info/infoRenderer.ts\nvar draw = /* @__PURE__ */ __name((text, id, version) => {\n log.debug(\"rendering info diagram\\n\" + text);\n const svg = selectSvgElement(id);\n configureSvgSize(svg, 100, 400, true);\n const group = svg.append(\"g\");\n group.append(\"text\").attr(\"x\", 100).attr(\"y\", 40).attr(\"class\", \"version\").attr(\"font-size\", 32).style(\"text-anchor\", \"middle\").text(`v${version}`);\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/info/infoDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer\n};\nexport {\n diagram\n};\n"],"names":["parser","__name","input","ast","parse","log","DEFAULT_INFO_DB","package_default","getVersion","db","draw","text","id","version","svg","selectSvgElement","configureSvgSize","renderer","diagram"],"mappings":"wYAcA,IAAIA,EAAS,CACX,MAAuBC,EAAO,MAAOC,GAAU,CAC7C,MAAMC,EAAM,MAAMC,EAAM,OAAQF,CAAK,EACrCG,EAAI,MAAMF,CAAG,CACjB,EAAK,OAAO,CACZ,EAGIG,EAAkB,CACpB,QAASC,EAAgB,QAAkB,EAC7C,EACIC,EAA6BP,EAAO,IAAMK,EAAgB,QAAS,YAAY,EAC/EG,EAAK,CACP,WAAAD,CACF,EAGIE,EAAuBT,EAAO,CAACU,EAAMC,EAAIC,IAAY,CACvDR,EAAI,MAAM;AAAA,EAA6BM,CAAI,EAC3C,MAAMG,EAAMC,EAAiBH,CAAE,EAC/BI,EAAiBF,EAAK,IAAK,IAAK,EAAI,EACtBA,EAAI,OAAO,GAAG,EACtB,OAAO,MAAM,EAAE,KAAK,IAAK,GAAG,EAAE,KAAK,IAAK,EAAE,EAAE,KAAK,QAAS,SAAS,EAAE,KAAK,YAAa,EAAE,EAAE,MAAM,cAAe,QAAQ,EAAE,KAAK,IAAID,CAAO,EAAE,CACpJ,EAAG,MAAM,EACLI,EAAW,CAAE,KAAAP,CAAM,EAGnBQ,EAAU,CACZ,OAAAlB,EACA,GAAAS,EACA,SAAAQ,CACF","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/init-CYI6iZYC.js b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/init-CYI6iZYC.js new file mode 100644 index 0000000000000000000000000000000000000000..2a02b5490a827fd1dbba3632018d3bcf67c0228e --- /dev/null +++ b/.venv/lib/python3.13/site-packages/gradio/templates/frontend/assets/init-CYI6iZYC.js @@ -0,0 +1,10 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Index-DRmgII2F.js","./FullscreenButton-D7DmzQQ9.js","./MarkdownCode-DTX-UkhB.js","./index-DputZZxm.js","./index-CCA5X64I.css","./prism-python-oCRsS_S4.js","./MarkdownCode-Ca9FjBJK.css","./FullscreenButton-BYduS5IX.css","./StreamingBar-BtwDBaPl.js","./StreamingBar-Dq7cCzkm.css","./Index-DcuC0IYx.js","./Index-Bp6-wsMo.css","./Index-YcGCkygm.css","./Index-D5xjOoMv.js","./Index-B3uxtn26.css","./StaticAudio-B8mpyYv7.js","./AudioPlayer-Ct6ZSLxK.js","./hls-C7-VjdhD.js","./AudioPlayer-Bioz4LGv.css","./Example-DW8ARmNI.js","./Example-2_XpXLIx.css","./index-VBBlDNay.js","./InteractiveAudio-DVY93Upe.js","./ModifyUpload-CMsAygJb.js","./ModifyUpload-REHVxGq-.css","./InteractiveAudio-DkbXm_Wx.css","./Index-BiNBEl32.js","./Index-B-cWiLsJ.js","./__vite-browser-external-D7Ct-6yo.js","./Index-Dwn46RCV.js","./Image-0bVIZe-w.js","./Image-Ds1uFAjO.css","./ImagePreview-BiSVoKtP.js","./ImagePreview-D5bl4ZzZ.css","./Index-VLJFaMM1.css","./Index-AS9ilRzv.js","./index-CnqicUFC.js","./Index-LbNTTE3T.css","./Example-D5YxIsQj.js","./Index-D80jikzp.js","./Index-a-pQRFMj.css","./Example-mHz6_3U2.js","./Index-LsyOdqMY.js","./Index-ByCYYE22.css","./Example-Do2HGpgf.js","./Example-D4vuQ8w9.css","./Index-CFtPgl3E.js","./Index-D_8bvB3d.css","./Example-CXIB7Ya_.js","./Example-Cl1JGlzw.css","./Index-Bw0J9UWH.js","./tinycolor-Begke6kS.js","./Index-Cz3L5lEP.css","./index-CWx9LkNn.js","./Example-BUnh5COx.js","./Example-qYVyHUA1.css","./Index-CM5ifdvZ.js","./index-tFQomdd2.js","./dsv-DB8NKgIY.js","./Index-DFtgEU7U.js","./Example-BU7VN3ij.js","./Example-D1sBsWPM.css","./Index-Dko6XNbv.css","./Index-B7RqhG-W.css","./Index-pH7dzLsN.js","./Index-CHBVi5hu.js","./Example-Bdcw8sPw.js","./Example-DRnq2kzJ.css","./Index-D812IjdW.css","./Index-mr0iIpbh.css","./Index-D2z_OZgJ.js","./Example-BBLMS951.js","./Index-BXw1GUZ1.css","./Example-Bx762nxc.js","./Index-19hQstid.js","./Index-CoChn8_I.js","./Example-CXKuTmQ6.js","./Index-B8k0osbz.css","./Index-D01C4iWk.css","./Index-C51KCnnj.js","./Index-DTopiiMh.css","./Index-xY6e4O2k.js","./Index-ML6PhJec.css","./Example-cR3xzyOo.js","./Example-BjJvNKVN.css","./Index-CIdRvN_d.js","./Index-C-vZ3ifd.css","./Example-CIE90Dgc.js","./Example-C1b-Ajeo.css","./Index-D93tjYm5.js","./Index-BvfIbfoO.css","./Index-cwl6r4yK.js","./Index-DMXFGchm.css","./Gallery-BF-Vt8uf.js","./Video-NpeJCQXG.js","./Video-Dxr2ByHH.css","./Gallery-1Y3LlKu1.css","./Example-BFRraYb6.js","./Example-DmPzKeqe.css","./Index-CYOl-zJ8.js","./Index-BdohJ9Zy.js","./Index-mSlsptTy.css","./Index-DKVik73_.js","./color-DtFW6XtC.js","./Index-C9J3GN6_.css","./Index-Cb-VzZbl.js","./Index-Cup2yvT8.css","./Example-vUEPA0tM.js","./Example-BK3gyXL2.css","./Example-Hjv0Coey.js","./Example-DNToQOMy.css","./Index-DI509U_e.js","./Index-C0P5OBZ1.css","./Example-CYFTcOx-.js","./Example-DIQgnXqL.css","./Index-DnPJ43ZZ.js","./select-BigU4G0v.js","./dispatch-kxCwF96_.js","./Index-BGmaqQju.css","./Example-DrWPR_f5.js","./JSON-DtX0YR2l.js","./JSON-oocacrvV.css","./Example-C0AteSIo.css","./Index-BUpWl19q.js","./Index-Bx0cemiQ.js","./Index-Db-S_rhj.css","./Example-CTIV4tuG.js","./Index-D2wzIuuw.js","./Index-CRfssLQd.css","./Example-Plzo0itC.js","./Index-tCOkHk2O.js","./Index-CBOTzXyy.css","./Example-D4Z-QWNz.js","./Example-C8iE-5-4.css","./Index-CAyDzuve.js","./Index-Cj521F3D.css","./Index-CTWglnWq.js","./Index-CRDZOrHF.css","./Index-CyB_R4gK.js","./Example-DiimdKNC.js","./Index-BRLQ5ruI.js","./Index-D-fiIdl6.css","./Example-D5podvjf.js","./Index-DyBEaHjs.js","./Index-D7XIGp9S.css","./Plot-m9koEqIw.js","./Index-B60oSkOX.js","./Example-Ch2O2d18.js","./Index-BS59nC2I.js","./Index-CZxO08Kq.css","./Index-CzTqaf_5.js","./Index-Ci4eVLjY.css","./Index-y7Nikn1a.js","./Index-3q62CqrC.css","./Index-CJMF8twY.js","./Index-C4baFzFZ.css","./Example-C_JLPM_G.js","./Index-iJ9qCsik.js","./Index-BdvHG3t0.css","./index-BzpxcIpX.js","./Index-BujyaVC_.js","./Index-CG0-ctDl.js","./Index-DqCgYdoJ.css","./Index-C8GNV2pm.css","./Index-BbAGodqB.js","./Index-NxvmjJPq.css","./Index-CKu1GnBa.js","./Index-CaNpT1A3.css","./VideoPreview-DvsC5hxs.js","./VideoPreview-CFjQSOD8.css","./Example-DgXchnDW.js","./Example-DsiMUgiT.css","./index-CU3nGNJz.js","./index-Bsg08AHY.css","./Example-CvSfqFaB.js","./Index-5Uu_FBwt.js","./Index-BV1vZ3md.css"])))=>i.map(i=>d[i]); +import{_ as u}from"./index-DputZZxm.js";const qr="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='10'%20height='10'%20fill='none'%3e%3cpath%20fill='%23FF3270'%20d='M1.93%206.03v2.04h2.04V6.03H1.93Z'/%3e%3cpath%20fill='%23861FFF'%20d='M6.03%206.03v2.04h2.04V6.03H6.03Z'/%3e%3cpath%20fill='%23097EFF'%20d='M1.93%201.93v2.04h2.04V1.93H1.93Z'/%3e%3cpath%20fill='%23000'%20fill-rule='evenodd'%20d='M.5%201.4c0-.5.4-.9.9-.9h3.1a.9.9%200%200%201%20.87.67A2.44%202.44%200%200%201%209.5%202.95c0%20.65-.25%201.24-.67%201.68.39.1.67.46.67.88v3.08c0%20.5-.4.91-.9.91H1.4a.9.9%200%200%201-.9-.9V1.4Zm1.43.53v2.04h2.04V1.93H1.93Zm0%206.14V6.03h2.04v2.04H1.93Zm4.1%200V6.03h2.04v2.04H6.03Zm0-5.12a1.02%201.02%200%201%201%202.04%200%201.02%201.02%200%200%201-2.04%200Z'%20clip-rule='evenodd'/%3e%3cpath%20fill='%23FFD702'%20d='M7.05%201.93a1.02%201.02%200%201%200%200%202.04%201.02%201.02%200%200%200%200-2.04Z'/%3e%3c/svg%3e";function ue(){}const Po=e=>e;function Oo(e,t){for(const r in t)e[r]=t[r];return e}function $r(e){return e()}function Qr(e){e.forEach($r)}function Jr(e){return typeof e=="function"}function Yr(e,t){return e!=e?t==t:e!==t||e&&typeof e=="object"||typeof e=="function"}function Qt(e,...t){if(e==null){for(const n of t)n(void 0);return ue}const r=e.subscribe(...t);return r.unsubscribe?()=>r.unsubscribe():r}function Jt(e){let t;return Qt(e,r=>t=r)(),t}function wo(e){const t=typeof e=="string"&&e.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);return t?[parseFloat(t[1]),t[2]||"px"]:[e,"px"]}const le=[];function Kr(e,t){return{subscribe:K(e,t).subscribe}}function K(e,t=ue){let r;const n=new Set;function i(a){if(Yr(e,a)&&(e=a,r)){const c=!le.length;for(const l of n)l[1](),le.push(l,e);if(c){for(let l=0;l{n.delete(l),n.size===0&&r&&(r(),r=null)}}return{set:i,update:o,subscribe:s}}function oe(e,t,r){const n=!Array.isArray(e),i=n?[e]:e;if(!i.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const o=t.length<2;return Kr(r,(s,a)=>{let c=!1;const l=[];let f=0,_=ue;const h=()=>{if(f)return;_();const x=t(n?l[0]:l,s,a);o?s(x):_=Jr(x)?x:ue},m=i.map((x,L)=>Qt(x,S=>{l[L]=S,f&=~(1<{f|=1<"u"&&(o=e.call(this,n),t.set(i,o)),o}function Kt(e,t,r){var n=Array.prototype.slice.call(arguments,3),i=r(n),o=t.get(i);return typeof o>"u"&&(o=e.apply(this,n),t.set(i,o)),o}function er(e,t,r,n,i){return r.bind(t,e,n,i)}function vn(e,t){var r=e.length===1?En:Kt;return er(e,this,r,t.cache.create(),t.serializer)}function yn(e,t){return er(e,this,Kt,t.cache.create(),t.serializer)}var xn=function(){return JSON.stringify(arguments)},Tn=function(){function e(){this.cache=Object.create(null)}return e.prototype.get=function(t){return this.cache[t]},e.prototype.set=function(t,r){this.cache[t]=r},e}(),An={create:function(){return new Tn}},We={variadic:yn},A;(function(e){e[e.EXPECT_ARGUMENT_CLOSING_BRACE=1]="EXPECT_ARGUMENT_CLOSING_BRACE",e[e.EMPTY_ARGUMENT=2]="EMPTY_ARGUMENT",e[e.MALFORMED_ARGUMENT=3]="MALFORMED_ARGUMENT",e[e.EXPECT_ARGUMENT_TYPE=4]="EXPECT_ARGUMENT_TYPE",e[e.INVALID_ARGUMENT_TYPE=5]="INVALID_ARGUMENT_TYPE",e[e.EXPECT_ARGUMENT_STYLE=6]="EXPECT_ARGUMENT_STYLE",e[e.INVALID_NUMBER_SKELETON=7]="INVALID_NUMBER_SKELETON",e[e.INVALID_DATE_TIME_SKELETON=8]="INVALID_DATE_TIME_SKELETON",e[e.EXPECT_NUMBER_SKELETON=9]="EXPECT_NUMBER_SKELETON",e[e.EXPECT_DATE_TIME_SKELETON=10]="EXPECT_DATE_TIME_SKELETON",e[e.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE=11]="UNCLOSED_QUOTE_IN_ARGUMENT_STYLE",e[e.EXPECT_SELECT_ARGUMENT_OPTIONS=12]="EXPECT_SELECT_ARGUMENT_OPTIONS",e[e.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE=13]="EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE",e[e.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE=14]="INVALID_PLURAL_ARGUMENT_OFFSET_VALUE",e[e.EXPECT_SELECT_ARGUMENT_SELECTOR=15]="EXPECT_SELECT_ARGUMENT_SELECTOR",e[e.EXPECT_PLURAL_ARGUMENT_SELECTOR=16]="EXPECT_PLURAL_ARGUMENT_SELECTOR",e[e.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT=17]="EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT",e[e.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT=18]="EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT",e[e.INVALID_PLURAL_ARGUMENT_SELECTOR=19]="INVALID_PLURAL_ARGUMENT_SELECTOR",e[e.DUPLICATE_PLURAL_ARGUMENT_SELECTOR=20]="DUPLICATE_PLURAL_ARGUMENT_SELECTOR",e[e.DUPLICATE_SELECT_ARGUMENT_SELECTOR=21]="DUPLICATE_SELECT_ARGUMENT_SELECTOR",e[e.MISSING_OTHER_CLAUSE=22]="MISSING_OTHER_CLAUSE",e[e.INVALID_TAG=23]="INVALID_TAG",e[e.INVALID_TAG_NAME=25]="INVALID_TAG_NAME",e[e.UNMATCHED_CLOSING_TAG=26]="UNMATCHED_CLOSING_TAG",e[e.UNCLOSED_TAG=27]="UNCLOSED_TAG"})(A||(A={}));var B;(function(e){e[e.literal=0]="literal",e[e.argument=1]="argument",e[e.number=2]="number",e[e.date=3]="date",e[e.time=4]="time",e[e.select=5]="select",e[e.plural=6]="plural",e[e.pound=7]="pound",e[e.tag=8]="tag"})(B||(B={}));var fe;(function(e){e[e.number=0]="number",e[e.dateTime=1]="dateTime"})(fe||(fe={}));function Et(e){return e.type===B.literal}function Pn(e){return e.type===B.argument}function tr(e){return e.type===B.number}function rr(e){return e.type===B.date}function nr(e){return e.type===B.time}function ir(e){return e.type===B.select}function or(e){return e.type===B.plural}function On(e){return e.type===B.pound}function ar(e){return e.type===B.tag}function sr(e){return!!(e&&typeof e=="object"&&e.type===fe.number)}function Ke(e){return!!(e&&typeof e=="object"&&e.type===fe.dateTime)}var lr=/[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/,wn=/(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;function In(e){var t={};return e.replace(wn,function(r){var n=r.length;switch(r[0]){case"G":t.era=n===4?"long":n===5?"narrow":"short";break;case"y":t.year=n===2?"2-digit":"numeric";break;case"Y":case"u":case"U":case"r":throw new RangeError("`Y/u/U/r` (year) patterns are not supported, use `y` instead");case"q":case"Q":throw new RangeError("`q/Q` (quarter) patterns are not supported");case"M":case"L":t.month=["numeric","2-digit","short","long","narrow"][n-1];break;case"w":case"W":throw new RangeError("`w/W` (week) patterns are not supported");case"d":t.day=["numeric","2-digit"][n-1];break;case"D":case"F":case"g":throw new RangeError("`D/F/g` (day) patterns are not supported, use `d` instead");case"E":t.weekday=n===4?"long":n===5?"narrow":"short";break;case"e":if(n<4)throw new RangeError("`e..eee` (weekday) patterns are not supported");t.weekday=["short","long","narrow","short"][n-4];break;case"c":if(n<4)throw new RangeError("`c..ccc` (weekday) patterns are not supported");t.weekday=["short","long","narrow","short"][n-4];break;case"a":t.hour12=!0;break;case"b":case"B":throw new RangeError("`b/B` (period) patterns are not supported, use `a` instead");case"h":t.hourCycle="h12",t.hour=["numeric","2-digit"][n-1];break;case"H":t.hourCycle="h23",t.hour=["numeric","2-digit"][n-1];break;case"K":t.hourCycle="h11",t.hour=["numeric","2-digit"][n-1];break;case"k":t.hourCycle="h24",t.hour=["numeric","2-digit"][n-1];break;case"j":case"J":case"C":throw new RangeError("`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead");case"m":t.minute=["numeric","2-digit"][n-1];break;case"s":t.second=["numeric","2-digit"][n-1];break;case"S":case"A":throw new RangeError("`S/A` (second) patterns are not supported, use `s` instead");case"z":t.timeZoneName=n<4?"short":"long";break;case"Z":case"O":case"v":case"V":case"X":case"x":throw new RangeError("`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead")}return""}),t}var Ln=/[\t-\r \x85\u200E\u200F\u2028\u2029]/i;function Sn(e){if(e.length===0)throw new Error("Number skeleton cannot be empty");for(var t=e.split(Ln).filter(function(h){return h.length>0}),r=[],n=0,i=t;n1)throw new RangeError("integer-width stems only accept a single optional option");i.options[0].replace(Hn,function(c,l,f,_,h,m){if(l)t.minimumIntegerDigits=f.length;else{if(_&&h)throw new Error("We currently do not support maximum integer digits");if(m)throw new Error("We currently do not support exact integer digits")}return""});continue}if(cr.test(i.stem)){t.minimumIntegerDigits=i.stem.length;continue}if(vt.test(i.stem)){if(i.options.length>1)throw new RangeError("Fraction-precision stems only accept a single optional option");i.stem.replace(vt,function(c,l,f,_,h,m){return f==="*"?t.minimumFractionDigits=l.length:_&&_[0]==="#"?t.maximumFractionDigits=_.length:h&&m?(t.minimumFractionDigits=h.length,t.maximumFractionDigits=h.length+m.length):(t.minimumFractionDigits=l.length,t.maximumFractionDigits=l.length),""});var o=i.options[0];o==="w"?t=w(w({},t),{trailingZeroDisplay:"stripIfInteger"}):o&&(t=w(w({},t),yt(o)));continue}if(ur.test(i.stem)){t=w(w({},t),yt(i.stem));continue}var s=fr(i.stem);s&&(t=w(w({},t),s));var a=Dn(i.stem);a&&(t=w(w({},t),a))}return t}var we={"001":["H","h"],419:["h","H","hB","hb"],AC:["H","h","hb","hB"],AD:["H","hB"],AE:["h","hB","hb","H"],AF:["H","hb","hB","h"],AG:["h","hb","H","hB"],AI:["H","h","hb","hB"],AL:["h","H","hB"],AM:["H","hB"],AO:["H","hB"],AR:["h","H","hB","hb"],AS:["h","H"],AT:["H","hB"],AU:["h","hb","H","hB"],AW:["H","hB"],AX:["H"],AZ:["H","hB","h"],BA:["H","hB","h"],BB:["h","hb","H","hB"],BD:["h","hB","H"],BE:["H","hB"],BF:["H","hB"],BG:["H","hB","h"],BH:["h","hB","hb","H"],BI:["H","h"],BJ:["H","hB"],BL:["H","hB"],BM:["h","hb","H","hB"],BN:["hb","hB","h","H"],BO:["h","H","hB","hb"],BQ:["H"],BR:["H","hB"],BS:["h","hb","H","hB"],BT:["h","H"],BW:["H","h","hb","hB"],BY:["H","h"],BZ:["H","h","hb","hB"],CA:["h","hb","H","hB"],CC:["H","h","hb","hB"],CD:["hB","H"],CF:["H","h","hB"],CG:["H","hB"],CH:["H","hB","h"],CI:["H","hB"],CK:["H","h","hb","hB"],CL:["h","H","hB","hb"],CM:["H","h","hB"],CN:["H","hB","hb","h"],CO:["h","H","hB","hb"],CP:["H"],CR:["h","H","hB","hb"],CU:["h","H","hB","hb"],CV:["H","hB"],CW:["H","hB"],CX:["H","h","hb","hB"],CY:["h","H","hb","hB"],CZ:["H"],DE:["H","hB"],DG:["H","h","hb","hB"],DJ:["h","H"],DK:["H"],DM:["h","hb","H","hB"],DO:["h","H","hB","hb"],DZ:["h","hB","hb","H"],EA:["H","h","hB","hb"],EC:["h","H","hB","hb"],EE:["H","hB"],EG:["h","hB","hb","H"],EH:["h","hB","hb","H"],ER:["h","H"],ES:["H","hB","h","hb"],ET:["hB","hb","h","H"],FI:["H"],FJ:["h","hb","H","hB"],FK:["H","h","hb","hB"],FM:["h","hb","H","hB"],FO:["H","h"],FR:["H","hB"],GA:["H","hB"],GB:["H","h","hb","hB"],GD:["h","hb","H","hB"],GE:["H","hB","h"],GF:["H","hB"],GG:["H","h","hb","hB"],GH:["h","H"],GI:["H","h","hb","hB"],GL:["H","h"],GM:["h","hb","H","hB"],GN:["H","hB"],GP:["H","hB"],GQ:["H","hB","h","hb"],GR:["h","H","hb","hB"],GT:["h","H","hB","hb"],GU:["h","hb","H","hB"],GW:["H","hB"],GY:["h","hb","H","hB"],HK:["h","hB","hb","H"],HN:["h","H","hB","hb"],HR:["H","hB"],HU:["H","h"],IC:["H","h","hB","hb"],ID:["H"],IE:["H","h","hb","hB"],IL:["H","hB"],IM:["H","h","hb","hB"],IN:["h","H"],IO:["H","h","hb","hB"],IQ:["h","hB","hb","H"],IR:["hB","H"],IS:["H"],IT:["H","hB"],JE:["H","h","hb","hB"],JM:["h","hb","H","hB"],JO:["h","hB","hb","H"],JP:["H","K","h"],KE:["hB","hb","H","h"],KG:["H","h","hB","hb"],KH:["hB","h","H","hb"],KI:["h","hb","H","hB"],KM:["H","h","hB","hb"],KN:["h","hb","H","hB"],KP:["h","H","hB","hb"],KR:["h","H","hB","hb"],KW:["h","hB","hb","H"],KY:["h","hb","H","hB"],KZ:["H","hB"],LA:["H","hb","hB","h"],LB:["h","hB","hb","H"],LC:["h","hb","H","hB"],LI:["H","hB","h"],LK:["H","h","hB","hb"],LR:["h","hb","H","hB"],LS:["h","H"],LT:["H","h","hb","hB"],LU:["H","h","hB"],LV:["H","hB","hb","h"],LY:["h","hB","hb","H"],MA:["H","h","hB","hb"],MC:["H","hB"],MD:["H","hB"],ME:["H","hB","h"],MF:["H","hB"],MG:["H","h"],MH:["h","hb","H","hB"],MK:["H","h","hb","hB"],ML:["H"],MM:["hB","hb","H","h"],MN:["H","h","hb","hB"],MO:["h","hB","hb","H"],MP:["h","hb","H","hB"],MQ:["H","hB"],MR:["h","hB","hb","H"],MS:["H","h","hb","hB"],MT:["H","h"],MU:["H","h"],MV:["H","h"],MW:["h","hb","H","hB"],MX:["h","H","hB","hb"],MY:["hb","hB","h","H"],MZ:["H","hB"],NA:["h","H","hB","hb"],NC:["H","hB"],NE:["H"],NF:["H","h","hb","hB"],NG:["H","h","hb","hB"],NI:["h","H","hB","hb"],NL:["H","hB"],NO:["H","h"],NP:["H","h","hB"],NR:["H","h","hb","hB"],NU:["H","h","hb","hB"],NZ:["h","hb","H","hB"],OM:["h","hB","hb","H"],PA:["h","H","hB","hb"],PE:["h","H","hB","hb"],PF:["H","h","hB"],PG:["h","H"],PH:["h","hB","hb","H"],PK:["h","hB","H"],PL:["H","h"],PM:["H","hB"],PN:["H","h","hb","hB"],PR:["h","H","hB","hb"],PS:["h","hB","hb","H"],PT:["H","hB"],PW:["h","H"],PY:["h","H","hB","hb"],QA:["h","hB","hb","H"],RE:["H","hB"],RO:["H","hB"],RS:["H","hB","h"],RU:["H"],RW:["H","h"],SA:["h","hB","hb","H"],SB:["h","hb","H","hB"],SC:["H","h","hB"],SD:["h","hB","hb","H"],SE:["H"],SG:["h","hb","H","hB"],SH:["H","h","hb","hB"],SI:["H","hB"],SJ:["H"],SK:["H"],SL:["h","hb","H","hB"],SM:["H","h","hB"],SN:["H","h","hB"],SO:["h","H"],SR:["H","hB"],SS:["h","hb","H","hB"],ST:["H","hB"],SV:["h","H","hB","hb"],SX:["H","h","hb","hB"],SY:["h","hB","hb","H"],SZ:["h","hb","H","hB"],TA:["H","h","hb","hB"],TC:["h","hb","H","hB"],TD:["h","H","hB"],TF:["H","h","hB"],TG:["H","hB"],TH:["H","h"],TJ:["H","h"],TL:["H","hB","hb","h"],TM:["H","h"],TN:["h","hB","hb","H"],TO:["h","H"],TR:["H","hB"],TT:["h","hb","H","hB"],TW:["hB","hb","h","H"],TZ:["hB","hb","H","h"],UA:["H","hB","h"],UG:["hB","hb","H","h"],UM:["h","hb","H","hB"],US:["h","hb","H","hB"],UY:["h","H","hB","hb"],UZ:["H","hB","h"],VA:["H","h","hB"],VC:["h","hb","H","hB"],VE:["h","H","hB","hb"],VG:["h","hb","H","hB"],VI:["h","hb","H","hB"],VN:["H","h"],VU:["h","H"],WF:["H","hB"],WS:["h","H"],XK:["H","hB","h"],YE:["h","hB","hb","H"],YT:["H","hB"],ZA:["H","h","hb","hB"],ZM:["h","hb","H","hB"],ZW:["H","h"],"af-ZA":["H","h","hB","hb"],"ar-001":["h","hB","hb","H"],"ca-ES":["H","h","hB"],"en-001":["h","hb","H","hB"],"en-HK":["h","hb","H","hB"],"en-IL":["H","h","hb","hB"],"en-MY":["h","hb","H","hB"],"es-BR":["H","h","hB","hb"],"es-ES":["H","h","hB","hb"],"es-GQ":["H","h","hB","hb"],"fr-CA":["H","h","hB"],"gl-ES":["H","h","hB"],"gu-IN":["hB","hb","h","H"],"hi-IN":["hB","h","H"],"it-CH":["H","h","hB"],"it-IT":["H","h","hB"],"kn-IN":["hB","h","H"],"ml-IN":["hB","h","H"],"mr-IN":["hB","hb","h","H"],"pa-IN":["hB","hb","h","H"],"ta-IN":["hB","h","hb","H"],"te-IN":["hB","h","H"],"zu-ZA":["H","hB","hb","h"]};function Nn(e,t){for(var r="",n=0;n>1),c="a",l=Cn(t);for((l=="H"||l=="k")&&(a=0);a-- >0;)r+=c;for(;s-- >0;)r=l+r}else i==="J"?r+="H":r+=i}return r}function Cn(e){var t=e.hourCycle;if(t===void 0&&e.hourCycles&&e.hourCycles.length&&(t=e.hourCycles[0]),t)switch(t){case"h24":return"k";case"h23":return"H";case"h12":return"h";case"h11":return"K";default:throw new Error("Invalid hourCycle")}var r=e.language,n;r!=="root"&&(n=e.maximize().region);var i=we[n||""]||we[r||""]||we["".concat(r,"-001")]||we["001"];return i[0]}var Ze,Mn=new RegExp("^".concat(lr.source,"*")),Vn=new RegExp("".concat(lr.source,"*$"));function O(e,t){return{start:e,end:t}}var kn=!!String.prototype.startsWith&&"_a".startsWith("a",1),Un=!!String.fromCodePoint,jn=!!Object.fromEntries,Gn=!!String.prototype.codePointAt,Fn=!!String.prototype.trimStart,zn=!!String.prototype.trimEnd,Xn=!!Number.isSafeInteger,Wn=Xn?Number.isSafeInteger:function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e&&Math.abs(e)<=9007199254740991},et=!0;try{var Zn=_r("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu");et=((Ze=Zn.exec("a"))===null||Ze===void 0?void 0:Ze[0])==="a"}catch{et=!1}var Tt=kn?function(t,r,n){return t.startsWith(r,n)}:function(t,r,n){return t.slice(n,n+r.length)===r},tt=Un?String.fromCodePoint:function(){for(var t=[],r=0;ro;){if(s=t[o++],s>1114111)throw RangeError(s+" is not a valid code point");n+=s<65536?String.fromCharCode(s):String.fromCharCode(((s-=65536)>>10)+55296,s%1024+56320)}return n},At=jn?Object.fromEntries:function(t){for(var r={},n=0,i=t;n=n)){var i=t.charCodeAt(r),o;return i<55296||i>56319||r+1===n||(o=t.charCodeAt(r+1))<56320||o>57343?i:(i-55296<<10)+(o-56320)+65536}},qn=Fn?function(t){return t.trimStart()}:function(t){return t.replace(Mn,"")},$n=zn?function(t){return t.trimEnd()}:function(t){return t.replace(Vn,"")};function _r(e,t){return new RegExp(e,t)}var rt;if(et){var Pt=_r("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu");rt=function(t,r){var n;Pt.lastIndex=r;var i=Pt.exec(t);return(n=i[1])!==null&&n!==void 0?n:""}}else rt=function(t,r){for(var n=[];;){var i=hr(t,r);if(i===void 0||pr(i)||Kn(i))break;n.push(i),r+=i>=65536?2:1}return tt.apply(void 0,n)};var Qn=function(){function e(t,r){r===void 0&&(r={}),this.message=t,this.position={offset:0,line:1,column:1},this.ignoreTag=!!r.ignoreTag,this.locale=r.locale,this.requiresOtherClause=!!r.requiresOtherClause,this.shouldParseSkeletons=!!r.shouldParseSkeletons}return e.prototype.parse=function(){if(this.offset()!==0)throw Error("parser can only be used once");return this.parseMessage(0,"",!1)},e.prototype.parseMessage=function(t,r,n){for(var i=[];!this.isEOF();){var o=this.char();if(o===123){var s=this.parseArgument(t,n);if(s.err)return s;i.push(s.val)}else{if(o===125&&t>0)break;if(o===35&&(r==="plural"||r==="selectordinal")){var a=this.clonePosition();this.bump(),i.push({type:B.pound,location:O(a,this.clonePosition())})}else if(o===60&&!this.ignoreTag&&this.peek()===47){if(n)break;return this.error(A.UNMATCHED_CLOSING_TAG,O(this.clonePosition(),this.clonePosition()))}else if(o===60&&!this.ignoreTag&&nt(this.peek()||0)){var s=this.parseTag(t,r);if(s.err)return s;i.push(s.val)}else{var s=this.parseLiteral(t,r);if(s.err)return s;i.push(s.val)}}}return{val:i,err:null}},e.prototype.parseTag=function(t,r){var n=this.clonePosition();this.bump();var i=this.parseTagName();if(this.bumpSpace(),this.bumpIf("/>"))return{val:{type:B.literal,value:"<".concat(i,"/>"),location:O(n,this.clonePosition())},err:null};if(this.bumpIf(">")){var o=this.parseMessage(t+1,r,!0);if(o.err)return o;var s=o.val,a=this.clonePosition();if(this.bumpIf("")?{val:{type:B.tag,value:i,children:s,location:O(n,this.clonePosition())},err:null}:this.error(A.INVALID_TAG,O(a,this.clonePosition())))}else return this.error(A.UNCLOSED_TAG,O(n,this.clonePosition()))}else return this.error(A.INVALID_TAG,O(n,this.clonePosition()))},e.prototype.parseTagName=function(){var t=this.offset();for(this.bump();!this.isEOF()&&Yn(this.char());)this.bump();return this.message.slice(t,this.offset())},e.prototype.parseLiteral=function(t,r){for(var n=this.clonePosition(),i="";;){var o=this.tryParseQuote(r);if(o){i+=o;continue}var s=this.tryParseUnquoted(t,r);if(s){i+=s;continue}var a=this.tryParseLeftAngleBracket();if(a){i+=a;continue}break}var c=O(n,this.clonePosition());return{val:{type:B.literal,value:i,location:c},err:null}},e.prototype.tryParseLeftAngleBracket=function(){return!this.isEOF()&&this.char()===60&&(this.ignoreTag||!Jn(this.peek()||0))?(this.bump(),"<"):null},e.prototype.tryParseQuote=function(t){if(this.isEOF()||this.char()!==39)return null;switch(this.peek()){case 39:return this.bump(),this.bump(),"'";case 123:case 60:case 62:case 125:break;case 35:if(t==="plural"||t==="selectordinal")break;return null;default:return null}this.bump();var r=[this.char()];for(this.bump();!this.isEOF();){var n=this.char();if(n===39)if(this.peek()===39)r.push(39),this.bump();else{this.bump();break}else r.push(n);this.bump()}return tt.apply(void 0,r)},e.prototype.tryParseUnquoted=function(t,r){if(this.isEOF())return null;var n=this.char();return n===60||n===123||n===35&&(r==="plural"||r==="selectordinal")||n===125&&t>0?null:(this.bump(),tt(n))},e.prototype.parseArgument=function(t,r){var n=this.clonePosition();if(this.bump(),this.bumpSpace(),this.isEOF())return this.error(A.EXPECT_ARGUMENT_CLOSING_BRACE,O(n,this.clonePosition()));if(this.char()===125)return this.bump(),this.error(A.EMPTY_ARGUMENT,O(n,this.clonePosition()));var i=this.parseIdentifierIfPossible().value;if(!i)return this.error(A.MALFORMED_ARGUMENT,O(n,this.clonePosition()));if(this.bumpSpace(),this.isEOF())return this.error(A.EXPECT_ARGUMENT_CLOSING_BRACE,O(n,this.clonePosition()));switch(this.char()){case 125:return this.bump(),{val:{type:B.argument,value:i,location:O(n,this.clonePosition())},err:null};case 44:return this.bump(),this.bumpSpace(),this.isEOF()?this.error(A.EXPECT_ARGUMENT_CLOSING_BRACE,O(n,this.clonePosition())):this.parseArgumentOptions(t,r,i,n);default:return this.error(A.MALFORMED_ARGUMENT,O(n,this.clonePosition()))}},e.prototype.parseIdentifierIfPossible=function(){var t=this.clonePosition(),r=this.offset(),n=rt(this.message,r),i=r+n.length;this.bumpTo(i);var o=this.clonePosition(),s=O(t,o);return{value:n,location:s}},e.prototype.parseArgumentOptions=function(t,r,n,i){var o,s=this.clonePosition(),a=this.parseIdentifierIfPossible().value,c=this.clonePosition();switch(a){case"":return this.error(A.EXPECT_ARGUMENT_TYPE,O(s,c));case"number":case"date":case"time":{this.bumpSpace();var l=null;if(this.bumpIf(",")){this.bumpSpace();var f=this.clonePosition(),_=this.parseSimpleArgStyleIfPossible();if(_.err)return _;var h=$n(_.val);if(h.length===0)return this.error(A.EXPECT_ARGUMENT_STYLE,O(this.clonePosition(),this.clonePosition()));var m=O(f,this.clonePosition());l={style:h,styleLocation:m}}var x=this.tryParseArgumentClose(i);if(x.err)return x;var L=O(i,this.clonePosition());if(l&&Tt(l?.style,"::",0)){var S=qn(l.style.slice(2));if(a==="number"){var _=this.parseNumberSkeletonFromString(S,l.styleLocation);return _.err?_:{val:{type:B.number,value:n,location:L,style:_.val},err:null}}else{if(S.length===0)return this.error(A.EXPECT_DATE_TIME_SKELETON,L);var k=S;this.locale&&(k=Nn(S,this.locale));var h={type:fe.dateTime,pattern:k,location:l.styleLocation,parsedOptions:this.shouldParseSkeletons?In(k):{}},N=a==="date"?B.date:B.time;return{val:{type:N,value:n,location:L,style:h},err:null}}}return{val:{type:a==="number"?B.number:a==="date"?B.date:B.time,value:n,location:L,style:(o=l?.style)!==null&&o!==void 0?o:null},err:null}}case"plural":case"selectordinal":case"select":{var R=this.clonePosition();if(this.bumpSpace(),!this.bumpIf(","))return this.error(A.EXPECT_SELECT_ARGUMENT_OPTIONS,O(R,w({},R)));this.bumpSpace();var V=this.parseIdentifierIfPossible(),C=0;if(a!=="select"&&V.value==="offset"){if(!this.bumpIf(":"))return this.error(A.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,O(this.clonePosition(),this.clonePosition()));this.bumpSpace();var _=this.tryParseDecimalInteger(A.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,A.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);if(_.err)return _;this.bumpSpace(),V=this.parseIdentifierIfPossible(),C=_.val}var j=this.tryParsePluralOrSelectOptions(t,a,r,V);if(j.err)return j;var x=this.tryParseArgumentClose(i);if(x.err)return x;var y=O(i,this.clonePosition());return a==="select"?{val:{type:B.select,value:n,options:At(j.val),location:y},err:null}:{val:{type:B.plural,value:n,options:At(j.val),offset:C,pluralType:a==="plural"?"cardinal":"ordinal",location:y},err:null}}default:return this.error(A.INVALID_ARGUMENT_TYPE,O(s,c))}},e.prototype.tryParseArgumentClose=function(t){return this.isEOF()||this.char()!==125?this.error(A.EXPECT_ARGUMENT_CLOSING_BRACE,O(t,this.clonePosition())):(this.bump(),{val:!0,err:null})},e.prototype.parseSimpleArgStyleIfPossible=function(){for(var t=0,r=this.clonePosition();!this.isEOF();){var n=this.char();switch(n){case 39:{this.bump();var i=this.clonePosition();if(!this.bumpUntil("'"))return this.error(A.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE,O(i,this.clonePosition()));this.bump();break}case 123:{t+=1,this.bump();break}case 125:{if(t>0)t-=1;else return{val:this.message.slice(r.offset,this.offset()),err:null};break}default:this.bump();break}}return{val:this.message.slice(r.offset,this.offset()),err:null}},e.prototype.parseNumberSkeletonFromString=function(t,r){var n=[];try{n=Sn(t)}catch{return this.error(A.INVALID_NUMBER_SKELETON,r)}return{val:{type:fe.number,tokens:n,location:r,parsedOptions:this.shouldParseSkeletons?Bn(n):{}},err:null}},e.prototype.tryParsePluralOrSelectOptions=function(t,r,n,i){for(var o,s=!1,a=[],c=new Set,l=i.value,f=i.location;;){if(l.length===0){var _=this.clonePosition();if(r!=="select"&&this.bumpIf("=")){var h=this.tryParseDecimalInteger(A.EXPECT_PLURAL_ARGUMENT_SELECTOR,A.INVALID_PLURAL_ARGUMENT_SELECTOR);if(h.err)return h;f=O(_,this.clonePosition()),l=this.message.slice(_.offset,this.offset())}else break}if(c.has(l))return this.error(r==="select"?A.DUPLICATE_SELECT_ARGUMENT_SELECTOR:A.DUPLICATE_PLURAL_ARGUMENT_SELECTOR,f);l==="other"&&(s=!0),this.bumpSpace();var m=this.clonePosition();if(!this.bumpIf("{"))return this.error(r==="select"?A.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT:A.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT,O(this.clonePosition(),this.clonePosition()));var x=this.parseMessage(t+1,r,n);if(x.err)return x;var L=this.tryParseArgumentClose(m);if(L.err)return L;a.push([l,{value:x.val,location:O(m,this.clonePosition())}]),c.add(l),this.bumpSpace(),o=this.parseIdentifierIfPossible(),l=o.value,f=o.location}return a.length===0?this.error(r==="select"?A.EXPECT_SELECT_ARGUMENT_SELECTOR:A.EXPECT_PLURAL_ARGUMENT_SELECTOR,O(this.clonePosition(),this.clonePosition())):this.requiresOtherClause&&!s?this.error(A.MISSING_OTHER_CLAUSE,O(this.clonePosition(),this.clonePosition())):{val:a,err:null}},e.prototype.tryParseDecimalInteger=function(t,r){var n=1,i=this.clonePosition();this.bumpIf("+")||this.bumpIf("-")&&(n=-1);for(var o=!1,s=0;!this.isEOF();){var a=this.char();if(a>=48&&a<=57)o=!0,s=s*10+(a-48),this.bump();else break}var c=O(i,this.clonePosition());return o?(s*=n,Wn(s)?{val:s,err:null}:this.error(r,c)):this.error(t,c)},e.prototype.offset=function(){return this.position.offset},e.prototype.isEOF=function(){return this.offset()===this.message.length},e.prototype.clonePosition=function(){return{offset:this.position.offset,line:this.position.line,column:this.position.column}},e.prototype.char=function(){var t=this.position.offset;if(t>=this.message.length)throw Error("out of bound");var r=hr(this.message,t);if(r===void 0)throw Error("Offset ".concat(t," is at invalid UTF-16 code unit boundary"));return r},e.prototype.error=function(t,r){return{val:null,err:{kind:t,message:this.message,location:r}}},e.prototype.bump=function(){if(!this.isEOF()){var t=this.char();t===10?(this.position.line+=1,this.position.column=1,this.position.offset+=1):(this.position.column+=1,this.position.offset+=t<65536?1:2)}},e.prototype.bumpIf=function(t){if(Tt(this.message,t,this.offset())){for(var r=0;r=0?(this.bumpTo(n),!0):(this.bumpTo(this.message.length),!1)},e.prototype.bumpTo=function(t){if(this.offset()>t)throw Error("targetOffset ".concat(t," must be greater than or equal to the current offset ").concat(this.offset()));for(t=Math.min(t,this.message.length);;){var r=this.offset();if(r===t)break;if(r>t)throw Error("targetOffset ".concat(t," is at invalid UTF-16 code unit boundary"));if(this.bump(),this.isEOF())break}},e.prototype.bumpSpace=function(){for(;!this.isEOF()&&pr(this.char());)this.bump()},e.prototype.peek=function(){if(this.isEOF())return null;var t=this.char(),r=this.offset(),n=this.message.charCodeAt(r+(t>=65536?2:1));return n??null},e}();function nt(e){return e>=97&&e<=122||e>=65&&e<=90}function Jn(e){return nt(e)||e===47}function Yn(e){return e===45||e===46||e>=48&&e<=57||e===95||e>=97&&e<=122||e>=65&&e<=90||e==183||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=893||e>=895&&e<=8191||e>=8204&&e<=8205||e>=8255&&e<=8256||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}function pr(e){return e>=9&&e<=13||e===32||e===133||e>=8206&&e<=8207||e===8232||e===8233}function Kn(e){return e>=33&&e<=35||e===36||e>=37&&e<=39||e===40||e===41||e===42||e===43||e===44||e===45||e>=46&&e<=47||e>=58&&e<=59||e>=60&&e<=62||e>=63&&e<=64||e===91||e===92||e===93||e===94||e===96||e===123||e===124||e===125||e===126||e===161||e>=162&&e<=165||e===166||e===167||e===169||e===171||e===172||e===174||e===176||e===177||e===182||e===187||e===191||e===215||e===247||e>=8208&&e<=8213||e>=8214&&e<=8215||e===8216||e===8217||e===8218||e>=8219&&e<=8220||e===8221||e===8222||e===8223||e>=8224&&e<=8231||e>=8240&&e<=8248||e===8249||e===8250||e>=8251&&e<=8254||e>=8257&&e<=8259||e===8260||e===8261||e===8262||e>=8263&&e<=8273||e===8274||e===8275||e>=8277&&e<=8286||e>=8592&&e<=8596||e>=8597&&e<=8601||e>=8602&&e<=8603||e>=8604&&e<=8607||e===8608||e>=8609&&e<=8610||e===8611||e>=8612&&e<=8613||e===8614||e>=8615&&e<=8621||e===8622||e>=8623&&e<=8653||e>=8654&&e<=8655||e>=8656&&e<=8657||e===8658||e===8659||e===8660||e>=8661&&e<=8691||e>=8692&&e<=8959||e>=8960&&e<=8967||e===8968||e===8969||e===8970||e===8971||e>=8972&&e<=8991||e>=8992&&e<=8993||e>=8994&&e<=9e3||e===9001||e===9002||e>=9003&&e<=9083||e===9084||e>=9085&&e<=9114||e>=9115&&e<=9139||e>=9140&&e<=9179||e>=9180&&e<=9185||e>=9186&&e<=9254||e>=9255&&e<=9279||e>=9280&&e<=9290||e>=9291&&e<=9311||e>=9472&&e<=9654||e===9655||e>=9656&&e<=9664||e===9665||e>=9666&&e<=9719||e>=9720&&e<=9727||e>=9728&&e<=9838||e===9839||e>=9840&&e<=10087||e===10088||e===10089||e===10090||e===10091||e===10092||e===10093||e===10094||e===10095||e===10096||e===10097||e===10098||e===10099||e===10100||e===10101||e>=10132&&e<=10175||e>=10176&&e<=10180||e===10181||e===10182||e>=10183&&e<=10213||e===10214||e===10215||e===10216||e===10217||e===10218||e===10219||e===10220||e===10221||e===10222||e===10223||e>=10224&&e<=10239||e>=10240&&e<=10495||e>=10496&&e<=10626||e===10627||e===10628||e===10629||e===10630||e===10631||e===10632||e===10633||e===10634||e===10635||e===10636||e===10637||e===10638||e===10639||e===10640||e===10641||e===10642||e===10643||e===10644||e===10645||e===10646||e===10647||e===10648||e>=10649&&e<=10711||e===10712||e===10713||e===10714||e===10715||e>=10716&&e<=10747||e===10748||e===10749||e>=10750&&e<=11007||e>=11008&&e<=11055||e>=11056&&e<=11076||e>=11077&&e<=11078||e>=11079&&e<=11084||e>=11085&&e<=11123||e>=11124&&e<=11125||e>=11126&&e<=11157||e===11158||e>=11159&&e<=11263||e>=11776&&e<=11777||e===11778||e===11779||e===11780||e===11781||e>=11782&&e<=11784||e===11785||e===11786||e===11787||e===11788||e===11789||e>=11790&&e<=11798||e===11799||e>=11800&&e<=11801||e===11802||e===11803||e===11804||e===11805||e>=11806&&e<=11807||e===11808||e===11809||e===11810||e===11811||e===11812||e===11813||e===11814||e===11815||e===11816||e===11817||e>=11818&&e<=11822||e===11823||e>=11824&&e<=11833||e>=11834&&e<=11835||e>=11836&&e<=11839||e===11840||e===11841||e===11842||e>=11843&&e<=11855||e>=11856&&e<=11857||e===11858||e>=11859&&e<=11903||e>=12289&&e<=12291||e===12296||e===12297||e===12298||e===12299||e===12300||e===12301||e===12302||e===12303||e===12304||e===12305||e>=12306&&e<=12307||e===12308||e===12309||e===12310||e===12311||e===12312||e===12313||e===12314||e===12315||e===12316||e===12317||e>=12318&&e<=12319||e===12320||e===12336||e===64830||e===64831||e>=65093&&e<=65094}function it(e){e.forEach(function(t){if(delete t.location,ir(t)||or(t))for(var r in t.options)delete t.options[r].location,it(t.options[r].value);else tr(t)&&sr(t.style)||(rr(t)||nr(t))&&Ke(t.style)?delete t.style.location:ar(t)&&it(t.children)})}function ei(e,t){t===void 0&&(t={}),t=w({shouldParseSkeletons:!0,requiresOtherClause:!0},t);var r=new Qn(e,t).parse();if(r.err){var n=SyntaxError(A[r.err.kind]);throw n.location=r.err.location,n.originalMessage=r.err.message,n}return t?.captureLocation||it(r.val),r.val}var he;(function(e){e.MISSING_VALUE="MISSING_VALUE",e.INVALID_VALUE="INVALID_VALUE",e.MISSING_INTL_API="MISSING_INTL_API"})(he||(he={}));var Me=function(e){Ce(t,e);function t(r,n,i){var o=e.call(this,r)||this;return o.code=n,o.originalMessage=i,o}return t.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},t}(Error),Ot=function(e){Ce(t,e);function t(r,n,i,o){return e.call(this,'Invalid values for "'.concat(r,'": "').concat(n,'". Options are "').concat(Object.keys(i).join('", "'),'"'),he.INVALID_VALUE,o)||this}return t}(Me),ti=function(e){Ce(t,e);function t(r,n,i){return e.call(this,'Value for "'.concat(r,'" must be of type ').concat(n),he.INVALID_VALUE,i)||this}return t}(Me),ri=function(e){Ce(t,e);function t(r,n){return e.call(this,'The intl string context variable "'.concat(r,'" was not provided to the string "').concat(n,'"'),he.MISSING_VALUE,n)||this}return t}(Me),G;(function(e){e[e.literal=0]="literal",e[e.object=1]="object"})(G||(G={}));function ni(e){return e.length<2?e:e.reduce(function(t,r){var n=t[t.length-1];return!n||n.type!==G.literal||r.type!==G.literal?t.push(r):n.value+=r.value,t},[])}function ii(e){return typeof e=="function"}function Le(e,t,r,n,i,o,s){if(e.length===1&&Et(e[0]))return[{type:G.literal,value:e[0].value}];for(var a=[],c=0,l=e;c"u")){var r=Intl.NumberFormat.supportedLocalesOf(t);return r.length>0?new Intl.Locale(r[0]):new Intl.Locale(typeof t=="string"?t:t[0])}},e.__parse=ei,e.formats={number:{integer:{maximumFractionDigits:0},currency:{style:"currency"},percent:{style:"percent"}},date:{short:{month:"numeric",day:"numeric",year:"2-digit"},medium:{month:"short",day:"numeric",year:"numeric"},long:{month:"long",day:"numeric",year:"numeric"},full:{weekday:"long",month:"long",day:"numeric",year:"numeric"}},time:{short:{hour:"numeric",minute:"numeric"},medium:{hour:"numeric",minute:"numeric",second:"numeric"},long:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},full:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"}}},e}();function li(e,t){if(t==null)return;if(t in e)return e[t];const r=t.split(".");let n=e;for(let i=0;i0){const o=r.slice(i,r.length).join(".");if(o in n){n=n[o];break}}n=n[r[i]]}else n=void 0;return n}const te={},ui=(e,t,r)=>r&&(t in te||(te[t]={}),e in te[t]||(te[t][e]=r),r),dr=(e,t)=>{if(t==null)return;if(t in te&&e in te[t])return te[t][e];const r=Pe(t);for(let n=0;n(r[e]=dn.all([r[e]||{},...t]),r))}oe([pe],([e])=>Object.keys(e));pe.subscribe(e=>ft=e);const ve={};function _i(e){ve[e]=new Set}function pi(e,t){ve[e].delete(t),ve[e].size===0&&delete ve[e]}function ye(e){return ve[e]}function mi(e){return Pe(e).map(t=>{const r=ye(t);return[t,r?[...r]:[]]}).filter(([,t])=>t.length>0)}function He(e){return e==null?!1:Pe(e).some(t=>{var r;return(r=ye(t))==null?void 0:r.size})}function di(e,t){return Promise.all(t.map(n=>(pi(e,n),n().then(i=>i.default||i)))).then(n=>Se(e,...n))}const ge={};function gr(e){if(!He(e))return e in ge?ge[e]:Promise.resolve();const t=mi(e);return ge[e]=Promise.all(t.map(([r,n])=>di(r,n))).then(()=>{if(He(e))return gr(e);delete ge[e]}),ge[e]}function gi(e,t){ye(e)||_i(e);const r=ye(e);ye(e).has(t)||(ht(e)||pe.update(n=>(n[e]={},n)),r.add(t))}var wt=Object.getOwnPropertySymbols,bi=Object.prototype.hasOwnProperty,Ei=Object.prototype.propertyIsEnumerable,vi=(e,t)=>{var r={};for(var n in e)bi.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&wt)for(var n of wt(e))t.indexOf(n)<0&&Ei.call(e,n)&&(r[n]=e[n]);return r};const yi={number:{scientific:{notation:"scientific"},engineering:{notation:"engineering"},compactLong:{notation:"compact",compactDisplay:"long"},compactShort:{notation:"compact",compactDisplay:"short"}},date:{short:{month:"numeric",day:"numeric",year:"2-digit"},medium:{month:"short",day:"numeric",year:"numeric"},long:{month:"long",day:"numeric",year:"numeric"},full:{weekday:"long",month:"long",day:"numeric",year:"numeric"}},time:{short:{hour:"numeric",minute:"numeric"},medium:{hour:"numeric",minute:"numeric",second:"numeric"},long:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},full:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"}}};function xi({locale:e,id:t}){console.warn(`[svelte-i18n] The message "${t}" was not found in "${Pe(e).join('", "')}".${He(re())?` + +Note: there are at least one loader still registered to this locale that wasn't executed.`:""}`)}const Ti={fallbackLocale:null,loadingDelay:200,formats:yi,warnOnMissingMessages:!0,handleMissingMessage:void 0,ignoreTag:!0},be=Ti;function _e(){return be}function Ai(e){const t=e,{formats:r}=t,n=vi(t,["formats"]);let i=e.fallbackLocale;if(e.initialLocale)try{mr.resolveLocale(e.initialLocale)&&(i=e.initialLocale)}catch{console.warn(`[svelte-i18n] The initial locale "${e.initialLocale}" is not a valid locale.`)}return n.warnOnMissingMessages&&(delete n.warnOnMissingMessages,n.handleMissingMessage==null?n.handleMissingMessage=xi:console.warn('[svelte-i18n] The "warnOnMissingMessages" option is deprecated. Please use the "handleMissingMessage" option instead.')),Object.assign(be,n,{initialLocale:i}),r&&("number"in r&&Object.assign(be.formats.number,r.number),"date"in r&&Object.assign(be.formats.date,r.date),"time"in r&&Object.assign(be.formats.time,r.time)),ae.set(i)}const $e=K(!1);var Pi=Object.defineProperty,Oi=Object.defineProperties,wi=Object.getOwnPropertyDescriptors,It=Object.getOwnPropertySymbols,Ii=Object.prototype.hasOwnProperty,Li=Object.prototype.propertyIsEnumerable,Lt=(e,t,r)=>t in e?Pi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Si=(e,t)=>{for(var r in t||(t={}))Ii.call(t,r)&&Lt(e,r,t[r]);if(It)for(var r of It(t))Li.call(t,r)&&Lt(e,r,t[r]);return e},Ri=(e,t)=>Oi(e,wi(t));let ot;const De=K(null);function St(e){return e.split("-").map((t,r,n)=>n.slice(0,r+1).join("-")).reverse()}function Pe(e,t=_e().fallbackLocale){const r=St(e);return t?[...new Set([...r,...St(t)])]:r}function re(){return ot??void 0}De.subscribe(e=>{ot=e??void 0,typeof window<"u"&&e!=null&&document.documentElement.setAttribute("lang",e)});const Hi=e=>{if(e&&hi(e)&&He(e)){const{loadingDelay:t}=_e();let r;return typeof window<"u"&&re()!=null&&t?r=window.setTimeout(()=>$e.set(!0),t):$e.set(!0),gr(e).then(()=>{De.set(e)}).finally(()=>{clearTimeout(r),$e.set(!1)})}return De.set(e)},ae=Ri(Si({},De),{set:Hi}),Di=()=>typeof window>"u"?null:window.navigator.language||window.navigator.languages[0],Ve=e=>{const t=Object.create(null);return n=>{const i=JSON.stringify(n);return i in t?t[i]:t[i]=e(n)}};var Bi=Object.defineProperty,Be=Object.getOwnPropertySymbols,br=Object.prototype.hasOwnProperty,Er=Object.prototype.propertyIsEnumerable,Rt=(e,t,r)=>t in e?Bi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_t=(e,t)=>{for(var r in t||(t={}))br.call(t,r)&&Rt(e,r,t[r]);if(Be)for(var r of Be(t))Er.call(t,r)&&Rt(e,r,t[r]);return e},me=(e,t)=>{var r={};for(var n in e)br.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&Be)for(var n of Be(e))t.indexOf(n)<0&&Er.call(e,n)&&(r[n]=e[n]);return r};const Ae=(e,t)=>{const{formats:r}=_e();if(e in r&&t in r[e])return r[e][t];throw new Error(`[svelte-i18n] Unknown "${t}" ${e} format.`)},Ni=Ve(e=>{var t=e,{locale:r,format:n}=t,i=me(t,["locale","format"]);if(r==null)throw new Error('[svelte-i18n] A "locale" must be set to format numbers');return n&&(i=Ae("number",n)),new Intl.NumberFormat(r,i)}),Ci=Ve(e=>{var t=e,{locale:r,format:n}=t,i=me(t,["locale","format"]);if(r==null)throw new Error('[svelte-i18n] A "locale" must be set to format dates');return n?i=Ae("date",n):Object.keys(i).length===0&&(i=Ae("date","short")),new Intl.DateTimeFormat(r,i)}),Mi=Ve(e=>{var t=e,{locale:r,format:n}=t,i=me(t,["locale","format"]);if(r==null)throw new Error('[svelte-i18n] A "locale" must be set to format time values');return n?i=Ae("time",n):Object.keys(i).length===0&&(i=Ae("time","short")),new Intl.DateTimeFormat(r,i)}),Vi=(e={})=>{var t=e,{locale:r=re()}=t,n=me(t,["locale"]);return Ni(_t({locale:r},n))},ki=(e={})=>{var t=e,{locale:r=re()}=t,n=me(t,["locale"]);return Ci(_t({locale:r},n))},Ui=(e={})=>{var t=e,{locale:r=re()}=t,n=me(t,["locale"]);return Mi(_t({locale:r},n))},ji=Ve((e,t=re())=>new mr(e,t,_e().formats,{ignoreTag:_e().ignoreTag})),Gi=(e,t={})=>{var r,n,i,o;let s=t;typeof e=="object"&&(s=e,e=s.id);const{values:a,locale:c=re(),default:l}=s;if(c==null)throw new Error("[svelte-i18n] Cannot format a message without first setting the initial locale.");let f=dr(e,c);if(!f)f=(o=(i=(n=(r=_e()).handleMissingMessage)==null?void 0:n.call(r,{locale:c,id:e,defaultValue:l}))!=null?i:l)!=null?o:e;else if(typeof f!="string")return console.warn(`[svelte-i18n] Message with id "${e}" must be of type "string", found: "${typeof f}". Gettin its value through the "$format" method is deprecated; use the "json" method instead.`),f;if(!a)return f;let _=f;try{_=ji(f,c).format(a)}catch(h){h instanceof Error&&console.warn(`[svelte-i18n] Message "${e}" has syntax error:`,h.message)}return _},Fi=(e,t)=>Ui(t).format(e),zi=(e,t)=>ki(t).format(e),Xi=(e,t)=>Vi(t).format(e),Wi=(e,t=re())=>dr(e,t),pt=oe([ae,pe],()=>Gi);oe([ae],()=>Fi);oe([ae],()=>zi);oe([ae],()=>Xi);oe([ae,pe],()=>Wi);const at=K(null),So=Object.freeze(Object.defineProperty({__proto__:null,navbar_config:at},Symbol.toStringTag,{value:"Module"})),{SvelteComponent:Zi,append:M,attr:D,binding_callbacks:qi,component_subscribe:Ht,create_slot:$i,destroy_each:Qi,detach:ke,element:q,ensure_array_like:Dt,flush:Z,get_all_dirty_from_scope:Ji,get_slot_changes:Yi,init:Ki,insert:Ue,safe_not_equal:eo,set_data:Re,set_style:Ie,space:ie,text:Ee,toggle_class:z,transition_in:to,transition_out:ro,update_slot_base:no}=window.__gradio__svelte__internal,{getContext:Ro,onMount:Ho}=window.__gradio__svelte__internal;function Bt(e,t,r){const n=e.slice();return n[22]=t[r][0],n[23]=t[r][1],n[25]=r,n}function Nt(e){let t,r,n=Dt(e[11]),i=[];for(let o=0;o