@ottocode/web-ui 0.1.260 → 0.1.262
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +6 -6
- package/dist/web-assets/assets/framework-BGNN-TZu.js +9 -0
- package/dist/web-assets/assets/{icons-7dEaIdsr.js → icons-CxtH_TMM.js} +1 -1
- package/dist/web-assets/assets/index-obP2jLZD.js +142 -0
- package/dist/web-assets/assets/{markdown-DyX1UaxB.js → markdown-CgE9wXsG.js} +1 -1
- package/dist/web-assets/assets/{syntax-Cd0X5hlQ.js → syntax-DV6xgN-u.js} +1 -1
- package/dist/web-assets/index.html +5 -5
- package/package.json +1 -1
- package/dist/web-assets/assets/framework-tLdAczfw.js +0 -9
- package/dist/web-assets/assets/index-C31VyncC.js +0 -142
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import{R as Qt,u as gt,a as ke,b as Ze,r as x,j as o,_ as LE,d as JE,e as ba,g as bQ,f as jE,h as TE,O as OE,i as Fa,k as qE,l as YE,m as HE,Q as PE,n as WE,o as zE,p as VE}from"./framework-tLdAczfw.js";import{B as ZE,U as Ga,X as ct,P as go,T as oo,M as va,a as FQ,C as qt,b as wo,E as vt,L as Je,c as Sa,d as GQ,e as Dr,F as ts,f as _E,g as XE,I as Ua,h as os,i as $E,j as Sn,k as In,S as eo,l as vQ,K as SQ,m as AC,n as Un,G as ao,o as Ht,p as eC,q as yr,r as Ra,R as Zt,s as Fg,t as UQ,u as Ka,v as dr,w as tC,A as RQ,x as oC,y as Ds,z as at,D as fs,H as KQ,J as LQ,N as hr,O as sC,Q as JQ,V as rC,W as Wo,Y as nC,Z as Gg,_ as iC,$ as aC,a0 as Nr,a1 as jQ,a2 as vg,a3 as gC,a4 as Fo,a5 as lC,a6 as Pi,a7 as un,a8 as QC,a9 as La,aa as TQ,ab as OQ,ac as qQ,ad as BC,ae as Ja,af as cC,ag as YQ,ah as EC,ai as HQ,aj as CC,ak as IC,al as uC,am as dC,an as hC,ao as fC,ap as pC,aq as PQ,ar as mC,as as WQ,at as Br,au as wC,av as ja,aw as cr,ax as xC,ay as DC,az as yC,aA as NC,aB as kC,aC as MC}from"./icons-7dEaIdsr.js";import{v as Eo,p as Co,h as Yt}from"./syntax-Cd0X5hlQ.js";import{M as Ta,a as Oa}from"./markdown-DyX1UaxB.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))s(n);new MutationObserver(n=>{for(const r of n)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function t(n){const r={};return n.integrity&&(r.integrity=n.integrity),n.referrerPolicy&&(r.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?r.credentials="include":n.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(n){if(n.ep)return;n.ep=!0;const r=t(n);fetch(n.href,r)}})();const Sg=A=>{let e;const t=new Set,s=(l,Q)=>{const I=typeof l=="function"?l(e):l;if(!Object.is(I,e)){const C=e;e=Q??(typeof I!="object"||I===null)?I:Object.assign({},e,I),t.forEach(c=>c(e,C))}},n=()=>e,a={setState:s,getState:n,getInitialState:()=>g,subscribe:l=>(t.add(l),()=>t.delete(l))},g=e=A(s,n,a);return a},bC=(A=>A?Sg(A):Sg),FC=A=>A;function GC(A,e=FC){const t=Qt.useSyncExternalStore(A.subscribe,Qt.useCallback(()=>e(A.getState()),[A,e]),Qt.useCallback(()=>e(A.getInitialState()),[A,e]));return Qt.useDebugValue(t),t}const Ug=A=>{const e=bC(A),t=s=>GC(e,s);return Object.assign(t,e),t},ht=(A=>A?Ug(A):Ug),vC=300,SC=150,io=ht(A=>({isOpen:!1,panelHeight:vC,activeTabId:null,isMaximized:!1,get isExpanded(){return this.isOpen},get selectedTerminalId(){return this.activeTabId},openPanel:()=>A({isOpen:!0}),closePanel:()=>A({isOpen:!1,isMaximized:!1}),togglePanel:()=>A(e=>({isOpen:!e.isOpen,isMaximized:e.isOpen?!1:e.isMaximized})),setPanelHeight:e=>A({panelHeight:Math.max(SC,e)}),selectTab:e=>A({activeTabId:e,isOpen:!0}),toggleMaximize:()=>A(e=>({isMaximized:!e.isMaximized})),expandSidebar:()=>A({isOpen:!0}),collapseSidebar:()=>A({isOpen:!1,activeTabId:null,isMaximized:!1}),toggleSidebar:()=>A(e=>({isOpen:!e.isOpen,isMaximized:e.isOpen?!1:e.isMaximized})),selectTerminal:e=>A({activeTabId:e,isOpen:!0})}));function zQ(A,e){return function(){return A.apply(e,arguments)}}const{toString:UC}=Object.prototype,{getPrototypeOf:Rn}=Object,{iterator:Kn,toStringTag:VQ}=Symbol,Ln=(A=>e=>{const t=UC.call(e);return A[t]||(A[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),xo=A=>(A=A.toLowerCase(),e=>Ln(e)===A),Jn=A=>e=>typeof e===A,{isArray:Zs}=Array,Hs=Jn("undefined");function kr(A){return A!==null&&!Hs(A)&&A.constructor!==null&&!Hs(A.constructor)&&so(A.constructor.isBuffer)&&A.constructor.isBuffer(A)}const ZQ=xo("ArrayBuffer");function RC(A){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(A):e=A&&A.buffer&&ZQ(A.buffer),e}const KC=Jn("string"),so=Jn("function"),_Q=Jn("number"),Mr=A=>A!==null&&typeof A=="object",LC=A=>A===!0||A===!1,rn=A=>{if(Ln(A)!=="object")return!1;const e=Rn(A);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(VQ in A)&&!(Kn in A)},JC=A=>{if(!Mr(A)||kr(A))return!1;try{return Object.keys(A).length===0&&Object.getPrototypeOf(A)===Object.prototype}catch{return!1}},jC=xo("Date"),TC=xo("File"),OC=A=>!!(A&&typeof A.uri<"u"),qC=A=>A&&typeof A.getParts<"u",YC=xo("Blob"),HC=xo("FileList"),PC=A=>Mr(A)&&so(A.pipe);function WC(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const Rg=WC(),Kg=typeof Rg.FormData<"u"?Rg.FormData:void 0,zC=A=>{if(!A)return!1;if(Kg&&A instanceof Kg)return!0;const e=Rn(A);if(!e||e===Object.prototype||!so(A.append))return!1;const t=Ln(A);return t==="formdata"||t==="object"&&so(A.toString)&&A.toString()==="[object FormData]"},VC=xo("URLSearchParams"),[ZC,_C,XC,$C]=["ReadableStream","Request","Response","Headers"].map(xo),AI=A=>A.trim?A.trim():A.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function br(A,e,{allOwnKeys:t=!1}={}){if(A===null||typeof A>"u")return;let s,n;if(typeof A!="object"&&(A=[A]),Zs(A))for(s=0,n=A.length;s<n;s++)e.call(null,A[s],s,A);else{if(kr(A))return;const r=t?Object.getOwnPropertyNames(A):Object.keys(A),i=r.length;let a;for(s=0;s<i;s++)a=r[s],e.call(null,A[a],a,A)}}function XQ(A,e){if(kr(A))return null;e=e.toLowerCase();const t=Object.keys(A);let s=t.length,n;for(;s-- >0;)if(n=t[s],e===n.toLowerCase())return n;return null}const Es=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,$Q=A=>!Hs(A)&&A!==Es;function Wi(){const{caseless:A,skipUndefined:e}=$Q(this)&&this||{},t={},s=(n,r)=>{if(r==="__proto__"||r==="constructor"||r==="prototype")return;const i=A&&XQ(t,r)||r;rn(t[i])&&rn(n)?t[i]=Wi(t[i],n):rn(n)?t[i]=Wi({},n):Zs(n)?t[i]=n.slice():(!e||!Hs(n))&&(t[i]=n)};for(let n=0,r=arguments.length;n<r;n++)arguments[n]&&br(arguments[n],s);return t}const eI=(A,e,t,{allOwnKeys:s}={})=>(br(e,(n,r)=>{t&&so(n)?Object.defineProperty(A,r,{value:zQ(n,t),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(A,r,{value:n,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:s}),A),tI=A=>(A.charCodeAt(0)===65279&&(A=A.slice(1)),A),oI=(A,e,t,s)=>{A.prototype=Object.create(e.prototype,s),Object.defineProperty(A.prototype,"constructor",{value:A,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(A,"super",{value:e.prototype}),t&&Object.assign(A.prototype,t)},sI=(A,e,t,s)=>{let n,r,i;const a={};if(e=e||{},A==null)return e;do{for(n=Object.getOwnPropertyNames(A),r=n.length;r-- >0;)i=n[r],(!s||s(i,A,e))&&!a[i]&&(e[i]=A[i],a[i]=!0);A=t!==!1&&Rn(A)}while(A&&(!t||t(A,e))&&A!==Object.prototype);return e},rI=(A,e,t)=>{A=String(A),(t===void 0||t>A.length)&&(t=A.length),t-=e.length;const s=A.indexOf(e,t);return s!==-1&&s===t},nI=A=>{if(!A)return null;if(Zs(A))return A;let e=A.length;if(!_Q(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=A[e];return t},iI=(A=>e=>A&&e instanceof A)(typeof Uint8Array<"u"&&Rn(Uint8Array)),aI=(A,e)=>{const s=(A&&A[Kn]).call(A);let n;for(;(n=s.next())&&!n.done;){const r=n.value;e.call(A,r[0],r[1])}},gI=(A,e)=>{let t;const s=[];for(;(t=A.exec(e))!==null;)s.push(t);return s},lI=xo("HTMLFormElement"),QI=A=>A.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,s,n){return s.toUpperCase()+n}),Lg=(({hasOwnProperty:A})=>(e,t)=>A.call(e,t))(Object.prototype),BI=xo("RegExp"),AB=(A,e)=>{const t=Object.getOwnPropertyDescriptors(A),s={};br(t,(n,r)=>{let i;(i=e(n,r,A))!==!1&&(s[r]=i||n)}),Object.defineProperties(A,s)},cI=A=>{AB(A,(e,t)=>{if(so(A)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const s=A[t];if(so(s)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")})}})},EI=(A,e)=>{const t={},s=n=>{n.forEach(r=>{t[r]=!0})};return Zs(A)?s(A):s(String(A).split(e)),t},CI=()=>{},II=(A,e)=>A!=null&&Number.isFinite(A=+A)?A:e;function uI(A){return!!(A&&so(A.append)&&A[VQ]==="FormData"&&A[Kn])}const dI=A=>{const e=new Array(10),t=(s,n)=>{if(Mr(s)){if(e.indexOf(s)>=0)return;if(kr(s))return s;if(!("toJSON"in s)){e[n]=s;const r=Zs(s)?[]:{};return br(s,(i,a)=>{const g=t(i,n+1);!Hs(g)&&(r[a]=g)}),e[n]=void 0,r}}return s};return t(A,0)},hI=xo("AsyncFunction"),fI=A=>A&&(Mr(A)||so(A))&&so(A.then)&&so(A.catch),eB=((A,e)=>A?setImmediate:e?((t,s)=>(Es.addEventListener("message",({source:n,data:r})=>{n===Es&&r===t&&s.length&&s.shift()()},!1),n=>{s.push(n),Es.postMessage(t,"*")}))(`axios@${Math.random()}`,[]):t=>setTimeout(t))(typeof setImmediate=="function",so(Es.postMessage)),pI=typeof queueMicrotask<"u"?queueMicrotask.bind(Es):typeof process<"u"&&process.nextTick||eB,mI=A=>A!=null&&so(A[Kn]),QA={isArray:Zs,isArrayBuffer:ZQ,isBuffer:kr,isFormData:zC,isArrayBufferView:RC,isString:KC,isNumber:_Q,isBoolean:LC,isObject:Mr,isPlainObject:rn,isEmptyObject:JC,isReadableStream:ZC,isRequest:_C,isResponse:XC,isHeaders:$C,isUndefined:Hs,isDate:jC,isFile:TC,isReactNativeBlob:OC,isReactNative:qC,isBlob:YC,isRegExp:BI,isFunction:so,isStream:PC,isURLSearchParams:VC,isTypedArray:iI,isFileList:HC,forEach:br,merge:Wi,extend:eI,trim:AI,stripBOM:tI,inherits:oI,toFlatObject:sI,kindOf:Ln,kindOfTest:xo,endsWith:rI,toArray:nI,forEachEntry:aI,matchAll:gI,isHTMLForm:lI,hasOwnProperty:Lg,hasOwnProp:Lg,reduceDescriptors:AB,freezeMethods:cI,toObjectSet:EI,toCamelCase:QI,noop:CI,toFiniteNumber:II,findKey:XQ,global:Es,isContextDefined:$Q,isSpecCompliantForm:uI,toJSONObject:dI,isAsyncFn:hI,isThenable:fI,setImmediate:eB,asap:pI,isIterable:mI};let ne=class tB extends Error{static from(e,t,s,n,r,i){const a=new tB(e.message,t||e.code,s,n,r);return a.cause=e,a.name=e.name,e.status!=null&&a.status==null&&(a.status=e.status),i&&Object.assign(a,i),a}constructor(e,t,s,n,r){super(e),Object.defineProperty(this,"message",{value:e,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,t&&(this.code=t),s&&(this.config=s),n&&(this.request=n),r&&(this.response=r,this.status=r.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:QA.toJSONObject(this.config),code:this.code,status:this.status}}};ne.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";ne.ERR_BAD_OPTION="ERR_BAD_OPTION";ne.ECONNABORTED="ECONNABORTED";ne.ETIMEDOUT="ETIMEDOUT";ne.ERR_NETWORK="ERR_NETWORK";ne.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";ne.ERR_DEPRECATED="ERR_DEPRECATED";ne.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";ne.ERR_BAD_REQUEST="ERR_BAD_REQUEST";ne.ERR_CANCELED="ERR_CANCELED";ne.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";ne.ERR_INVALID_URL="ERR_INVALID_URL";ne.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const wI=null;function zi(A){return QA.isPlainObject(A)||QA.isArray(A)}function oB(A){return QA.endsWith(A,"[]")?A.slice(0,-2):A}function ii(A,e,t){return A?A.concat(e).map(function(n,r){return n=oB(n),!t&&r?"["+n+"]":n}).join(t?".":""):e}function xI(A){return QA.isArray(A)&&!A.some(zi)}const DI=QA.toFlatObject(QA,{},null,function(e){return/^is[A-Z]/.test(e)});function jn(A,e,t){if(!QA.isObject(A))throw new TypeError("target must be an object");e=e||new FormData,t=QA.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(f,k){return!QA.isUndefined(k[f])});const s=t.metaTokens,n=t.visitor||I,r=t.dots,i=t.indexes,a=t.Blob||typeof Blob<"u"&&Blob,g=t.maxDepth===void 0?100:t.maxDepth,l=a&&QA.isSpecCompliantForm(e);if(!QA.isFunction(n))throw new TypeError("visitor must be a function");function Q(p){if(p===null)return"";if(QA.isDate(p))return p.toISOString();if(QA.isBoolean(p))return p.toString();if(!l&&QA.isBlob(p))throw new ne("Blob is not supported. Use a Buffer instead.");return QA.isArrayBuffer(p)||QA.isTypedArray(p)?l&&typeof Blob=="function"?new Blob([p]):Buffer.from(p):p}function I(p,f,k){let v=p;if(QA.isReactNative(e)&&QA.isReactNativeBlob(p))return e.append(ii(k,f,r),Q(p)),!1;if(p&&!k&&typeof p=="object"){if(QA.endsWith(f,"{}"))f=s?f:f.slice(0,-2),p=JSON.stringify(p);else if(QA.isArray(p)&&xI(p)||(QA.isFileList(p)||QA.endsWith(f,"[]"))&&(v=QA.toArray(p)))return f=oB(f),v.forEach(function(j,K){!(QA.isUndefined(j)||j===null)&&e.append(i===!0?ii([f],K,r):i===null?f:f+"[]",Q(j))}),!1}return zi(p)?!0:(e.append(ii(k,f,r),Q(p)),!1)}const C=[],c=Object.assign(DI,{defaultVisitor:I,convertValue:Q,isVisitable:zi});function u(p,f,k=0){if(!QA.isUndefined(p)){if(k>g)throw new ne("Object is too deeply nested ("+k+" levels). Max depth: "+g,ne.ERR_FORM_DATA_DEPTH_EXCEEDED);if(C.indexOf(p)!==-1)throw Error("Circular reference detected in "+f.join("."));C.push(p),QA.forEach(p,function(D,j){(!(QA.isUndefined(D)||D===null)&&n.call(e,D,QA.isString(j)?j.trim():j,f,c))===!0&&u(D,f?f.concat(j):[j],k+1)}),C.pop()}}if(!QA.isObject(A))throw new TypeError("data must be an object");return u(A),e}function Jg(A){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(A).replace(/[!'()~]|%20/g,function(s){return e[s]})}function qa(A,e){this._pairs=[],A&&jn(A,this,e)}const sB=qa.prototype;sB.append=function(e,t){this._pairs.push([e,t])};sB.toString=function(e){const t=e?function(s){return e.call(this,s,Jg)}:Jg;return this._pairs.map(function(n){return t(n[0])+"="+t(n[1])},"").join("&")};function yI(A){return encodeURIComponent(A).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function rB(A,e,t){if(!e)return A;const s=t&&t.encode||yI,n=QA.isFunction(t)?{serialize:t}:t,r=n&&n.serialize;let i;if(r?i=r(e,n):i=QA.isURLSearchParams(e)?e.toString():new qa(e,n).toString(s),i){const a=A.indexOf("#");a!==-1&&(A=A.slice(0,a)),A+=(A.indexOf("?")===-1?"?":"&")+i}return A}class jg{constructor(){this.handlers=[]}use(e,t,s){return this.handlers.push({fulfilled:e,rejected:t,synchronous:s?s.synchronous:!1,runWhen:s?s.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){QA.forEach(this.handlers,function(s){s!==null&&e(s)})}}const Ya={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},NI=typeof URLSearchParams<"u"?URLSearchParams:qa,kI=typeof FormData<"u"?FormData:null,MI=typeof Blob<"u"?Blob:null,bI={isBrowser:!0,classes:{URLSearchParams:NI,FormData:kI,Blob:MI},protocols:["http","https","file","blob","url","data"]},Ha=typeof window<"u"&&typeof document<"u",Vi=typeof navigator=="object"&&navigator||void 0,FI=Ha&&(!Vi||["ReactNative","NativeScript","NS"].indexOf(Vi.product)<0),GI=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",vI=Ha&&window.location.href||"http://localhost",SI=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ha,hasStandardBrowserEnv:FI,hasStandardBrowserWebWorkerEnv:GI,navigator:Vi,origin:vI},Symbol.toStringTag,{value:"Module"})),Ot={...SI,...bI};function UI(A,e){return jn(A,new Ot.classes.URLSearchParams,{visitor:function(t,s,n,r){return Ot.isNode&&QA.isBuffer(t)?(this.append(s,t.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)},...e})}function RI(A){return QA.matchAll(/\w+|\[(\w*)]/g,A).map(e=>e[0]==="[]"?"":e[1]||e[0])}function KI(A){const e={},t=Object.keys(A);let s;const n=t.length;let r;for(s=0;s<n;s++)r=t[s],e[r]=A[r];return e}function nB(A){function e(t,s,n,r){let i=t[r++];if(i==="__proto__")return!0;const a=Number.isFinite(+i),g=r>=t.length;return i=!i&&QA.isArray(n)?n.length:i,g?(QA.hasOwnProp(n,i)?n[i]=QA.isArray(n[i])?n[i].concat(s):[n[i],s]:n[i]=s,!a):((!n[i]||!QA.isObject(n[i]))&&(n[i]=[]),e(t,s,n[i],r)&&QA.isArray(n[i])&&(n[i]=KI(n[i])),!a)}if(QA.isFormData(A)&&QA.isFunction(A.entries)){const t={};return QA.forEachEntry(A,(s,n)=>{e(RI(s),n,t,0)}),t}return null}const Fs=(A,e)=>A!=null&&QA.hasOwnProp(A,e)?A[e]:void 0;function LI(A,e,t){if(QA.isString(A))try{return(e||JSON.parse)(A),QA.trim(A)}catch(s){if(s.name!=="SyntaxError")throw s}return(t||JSON.stringify)(A)}const Fr={transitional:Ya,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const s=t.getContentType()||"",n=s.indexOf("application/json")>-1,r=QA.isObject(e);if(r&&QA.isHTMLForm(e)&&(e=new FormData(e)),QA.isFormData(e))return n?JSON.stringify(nB(e)):e;if(QA.isArrayBuffer(e)||QA.isBuffer(e)||QA.isStream(e)||QA.isFile(e)||QA.isBlob(e)||QA.isReadableStream(e))return e;if(QA.isArrayBufferView(e))return e.buffer;if(QA.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(r){const g=Fs(this,"formSerializer");if(s.indexOf("application/x-www-form-urlencoded")>-1)return UI(e,g).toString();if((a=QA.isFileList(e))||s.indexOf("multipart/form-data")>-1){const l=Fs(this,"env"),Q=l&&l.FormData;return jn(a?{"files[]":e}:e,Q&&new Q,g)}}return r||n?(t.setContentType("application/json",!1),LI(e)):e}],transformResponse:[function(e){const t=Fs(this,"transitional")||Fr.transitional,s=t&&t.forcedJSONParsing,n=Fs(this,"responseType"),r=n==="json";if(QA.isResponse(e)||QA.isReadableStream(e))return e;if(e&&QA.isString(e)&&(s&&!n||r)){const a=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e,Fs(this,"parseReviver"))}catch(g){if(a)throw g.name==="SyntaxError"?ne.from(g,ne.ERR_BAD_RESPONSE,this,null,Fs(this,"response")):g}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ot.classes.FormData,Blob:Ot.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};QA.forEach(["delete","get","head","post","put","patch"],A=>{Fr.headers[A]={}});const JI=QA.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),jI=A=>{const e={};let t,s,n;return A&&A.split(`
|
|
2
|
-
`).forEach(function(i){n=i.indexOf(":"),t=i.substring(0,n).trim().toLowerCase(),s=i.substring(n+1).trim(),!(!t||e[t]&&JI[t])&&(t==="set-cookie"?e[t]?e[t].push(s):e[t]=[s]:e[t]=e[t]?e[t]+", "+s:s)}),e},Tg=Symbol("internals"),TI=/[^\x09\x20-\x7E\x80-\xFF]/g;function OI(A){let e=0,t=A.length;for(;e<t;){const s=A.charCodeAt(e);if(s!==9&&s!==32)break;e+=1}for(;t>e;){const s=A.charCodeAt(t-1);if(s!==9&&s!==32)break;t-=1}return e===0&&t===A.length?A:A.slice(e,t)}function nr(A){return A&&String(A).trim().toLowerCase()}function qI(A){return OI(A.replace(TI,""))}function nn(A){return A===!1||A==null?A:QA.isArray(A)?A.map(nn):qI(String(A))}function YI(A){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;for(;s=t.exec(A);)e[s[1]]=s[2];return e}const HI=A=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(A.trim());function ai(A,e,t,s,n){if(QA.isFunction(s))return s.call(this,e,t);if(n&&(e=t),!!QA.isString(e)){if(QA.isString(s))return e.indexOf(s)!==-1;if(QA.isRegExp(s))return s.test(e)}}function PI(A){return A.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,s)=>t.toUpperCase()+s)}function WI(A,e){const t=QA.toCamelCase(" "+e);["get","set","has"].forEach(s=>{Object.defineProperty(A,s+t,{value:function(n,r,i){return this[s].call(this,e,n,r,i)},configurable:!0})})}let ro=class{constructor(e){e&&this.set(e)}set(e,t,s){const n=this;function r(a,g,l){const Q=nr(g);if(!Q)throw new Error("header name must be a non-empty string");const I=QA.findKey(n,Q);(!I||n[I]===void 0||l===!0||l===void 0&&n[I]!==!1)&&(n[I||g]=nn(a))}const i=(a,g)=>QA.forEach(a,(l,Q)=>r(l,Q,g));if(QA.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(QA.isString(e)&&(e=e.trim())&&!HI(e))i(jI(e),t);else if(QA.isObject(e)&&QA.isIterable(e)){let a={},g,l;for(const Q of e){if(!QA.isArray(Q))throw TypeError("Object iterator must return a key-value pair");a[l=Q[0]]=(g=a[l])?QA.isArray(g)?[...g,Q[1]]:[g,Q[1]]:Q[1]}i(a,t)}else e!=null&&r(t,e,s);return this}get(e,t){if(e=nr(e),e){const s=QA.findKey(this,e);if(s){const n=this[s];if(!t)return n;if(t===!0)return YI(n);if(QA.isFunction(t))return t.call(this,n,s);if(QA.isRegExp(t))return t.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=nr(e),e){const s=QA.findKey(this,e);return!!(s&&this[s]!==void 0&&(!t||ai(this,this[s],s,t)))}return!1}delete(e,t){const s=this;let n=!1;function r(i){if(i=nr(i),i){const a=QA.findKey(s,i);a&&(!t||ai(s,s[a],a,t))&&(delete s[a],n=!0)}}return QA.isArray(e)?e.forEach(r):r(e),n}clear(e){const t=Object.keys(this);let s=t.length,n=!1;for(;s--;){const r=t[s];(!e||ai(this,this[r],r,e,!0))&&(delete this[r],n=!0)}return n}normalize(e){const t=this,s={};return QA.forEach(this,(n,r)=>{const i=QA.findKey(s,r);if(i){t[i]=nn(n),delete t[r];return}const a=e?PI(r):String(r).trim();a!==r&&delete t[r],t[a]=nn(n),s[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return QA.forEach(this,(s,n)=>{s!=null&&s!==!1&&(t[n]=e&&QA.isArray(s)?s.join(", "):s)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(`
|
|
3
|
-
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const s=new this(e);return t.forEach(n=>s.set(n)),s}static accessor(e){const s=(this[Tg]=this[Tg]={accessors:{}}).accessors,n=this.prototype;function r(i){const a=nr(i);s[a]||(WI(n,i),s[a]=!0)}return QA.isArray(e)?e.forEach(r):r(e),this}};ro.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);QA.reduceDescriptors(ro.prototype,({value:A},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>A,set(s){this[t]=s}}});QA.freezeMethods(ro);function gi(A,e){const t=this||Fr,s=e||t,n=ro.from(s.headers);let r=s.data;return QA.forEach(A,function(a){r=a.call(t,r,n.normalize(),e?e.status:void 0)}),n.normalize(),r}function iB(A){return!!(A&&A.__CANCEL__)}let Gr=class extends ne{constructor(e,t,s){super(e??"canceled",ne.ERR_CANCELED,t,s),this.name="CanceledError",this.__CANCEL__=!0}};function aB(A,e,t){const s=t.config.validateStatus;!t.status||!s||s(t.status)?A(t):e(new ne("Request failed with status code "+t.status,[ne.ERR_BAD_REQUEST,ne.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t))}function zI(A){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(A);return e&&e[1]||""}function VI(A,e){A=A||10;const t=new Array(A),s=new Array(A);let n=0,r=0,i;return e=e!==void 0?e:1e3,function(g){const l=Date.now(),Q=s[r];i||(i=l),t[n]=g,s[n]=l;let I=r,C=0;for(;I!==n;)C+=t[I++],I=I%A;if(n=(n+1)%A,n===r&&(r=(r+1)%A),l-i<e)return;const c=Q&&l-Q;return c?Math.round(C*1e3/c):void 0}}function ZI(A,e){let t=0,s=1e3/e,n,r;const i=(l,Q=Date.now())=>{t=Q,n=null,r&&(clearTimeout(r),r=null),A(...l)};return[(...l)=>{const Q=Date.now(),I=Q-t;I>=s?i(l,Q):(n=l,r||(r=setTimeout(()=>{r=null,i(n)},s-I)))},()=>n&&i(n)]}const dn=(A,e,t=3)=>{let s=0;const n=VI(50,250);return ZI(r=>{const i=r.loaded,a=r.lengthComputable?r.total:void 0,g=a!=null?Math.min(i,a):i,l=Math.max(0,g-s),Q=n(l);s=Math.max(s,g);const I={loaded:g,total:a,progress:a?g/a:void 0,bytes:l,rate:Q||void 0,estimated:Q&&a?(a-g)/Q:void 0,event:r,lengthComputable:a!=null,[e?"download":"upload"]:!0};A(I)},t)},Og=(A,e)=>{const t=A!=null;return[s=>e[0]({lengthComputable:t,total:A,loaded:s}),e[1]]},qg=A=>(...e)=>QA.asap(()=>A(...e)),_I=Ot.hasStandardBrowserEnv?((A,e)=>t=>(t=new URL(t,Ot.origin),A.protocol===t.protocol&&A.host===t.host&&(e||A.port===t.port)))(new URL(Ot.origin),Ot.navigator&&/(msie|trident)/i.test(Ot.navigator.userAgent)):()=>!0,XI=Ot.hasStandardBrowserEnv?{write(A,e,t,s,n,r,i){if(typeof document>"u")return;const a=[`${A}=${encodeURIComponent(e)}`];QA.isNumber(t)&&a.push(`expires=${new Date(t).toUTCString()}`),QA.isString(s)&&a.push(`path=${s}`),QA.isString(n)&&a.push(`domain=${n}`),r===!0&&a.push("secure"),QA.isString(i)&&a.push(`SameSite=${i}`),document.cookie=a.join("; ")},read(A){if(typeof document>"u")return null;const e=document.cookie.match(new RegExp("(?:^|; )"+A+"=([^;]*)"));return e?decodeURIComponent(e[1]):null},remove(A){this.write(A,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function $I(A){return typeof A!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(A)}function Au(A,e){return e?A.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):A}function gB(A,e,t){let s=!$I(e);return A&&(s||t===!1)?Au(A,e):e}const Yg=A=>A instanceof ro?{...A}:A;function ps(A,e){e=e||{};const t=Object.create(null);Object.defineProperty(t,"hasOwnProperty",{value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function s(l,Q,I,C){return QA.isPlainObject(l)&&QA.isPlainObject(Q)?QA.merge.call({caseless:C},l,Q):QA.isPlainObject(Q)?QA.merge({},Q):QA.isArray(Q)?Q.slice():Q}function n(l,Q,I,C){if(QA.isUndefined(Q)){if(!QA.isUndefined(l))return s(void 0,l,I,C)}else return s(l,Q,I,C)}function r(l,Q){if(!QA.isUndefined(Q))return s(void 0,Q)}function i(l,Q){if(QA.isUndefined(Q)){if(!QA.isUndefined(l))return s(void 0,l)}else return s(void 0,Q)}function a(l,Q,I){if(QA.hasOwnProp(e,I))return s(l,Q);if(QA.hasOwnProp(A,I))return s(void 0,l)}const g={url:r,method:r,data:r,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,allowedSocketPaths:i,responseEncoding:i,validateStatus:a,headers:(l,Q,I)=>n(Yg(l),Yg(Q),I,!0)};return QA.forEach(Object.keys({...A,...e}),function(Q){if(Q==="__proto__"||Q==="constructor"||Q==="prototype")return;const I=QA.hasOwnProp(g,Q)?g[Q]:n,C=QA.hasOwnProp(A,Q)?A[Q]:void 0,c=QA.hasOwnProp(e,Q)?e[Q]:void 0,u=I(C,c,Q);QA.isUndefined(u)&&I!==a||(t[Q]=u)}),t}const lB=A=>{const e=ps({},A),t=C=>QA.hasOwnProp(e,C)?e[C]:void 0,s=t("data");let n=t("withXSRFToken");const r=t("xsrfHeaderName"),i=t("xsrfCookieName");let a=t("headers");const g=t("auth"),l=t("baseURL"),Q=t("allowAbsoluteUrls"),I=t("url");if(e.headers=a=ro.from(a),e.url=rB(gB(l,I,Q),A.params,A.paramsSerializer),g&&a.set("Authorization","Basic "+btoa((g.username||"")+":"+(g.password?unescape(encodeURIComponent(g.password)):""))),QA.isFormData(s)){if(Ot.hasStandardBrowserEnv||Ot.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(QA.isFunction(s.getHeaders)){const C=s.getHeaders(),c=["content-type","content-length"];Object.entries(C).forEach(([u,p])=>{c.includes(u.toLowerCase())&&a.set(u,p)})}}if(Ot.hasStandardBrowserEnv&&(QA.isFunction(n)&&(n=n(e)),n===!0||n==null&&_I(e.url))){const c=r&&i&&XI.read(i);c&&a.set(r,c)}return e},eu=typeof XMLHttpRequest<"u",tu=eu&&function(A){return new Promise(function(t,s){const n=lB(A);let r=n.data;const i=ro.from(n.headers).normalize();let{responseType:a,onUploadProgress:g,onDownloadProgress:l}=n,Q,I,C,c,u;function p(){c&&c(),u&&u(),n.cancelToken&&n.cancelToken.unsubscribe(Q),n.signal&&n.signal.removeEventListener("abort",Q)}let f=new XMLHttpRequest;f.open(n.method.toUpperCase(),n.url,!0),f.timeout=n.timeout;function k(){if(!f)return;const D=ro.from("getAllResponseHeaders"in f&&f.getAllResponseHeaders()),K={data:!a||a==="text"||a==="json"?f.responseText:f.response,status:f.status,statusText:f.statusText,headers:D,config:A,request:f};aB(function(eA){t(eA),p()},function(eA){s(eA),p()},K),f=null}"onloadend"in f?f.onloadend=k:f.onreadystatechange=function(){!f||f.readyState!==4||f.status===0&&!(f.responseURL&&f.responseURL.indexOf("file:")===0)||setTimeout(k)},f.onabort=function(){f&&(s(new ne("Request aborted",ne.ECONNABORTED,A,f)),f=null)},f.onerror=function(j){const K=j&&j.message?j.message:"Network Error",V=new ne(K,ne.ERR_NETWORK,A,f);V.event=j||null,s(V),f=null},f.ontimeout=function(){let j=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded";const K=n.transitional||Ya;n.timeoutErrorMessage&&(j=n.timeoutErrorMessage),s(new ne(j,K.clarifyTimeoutError?ne.ETIMEDOUT:ne.ECONNABORTED,A,f)),f=null},r===void 0&&i.setContentType(null),"setRequestHeader"in f&&QA.forEach(i.toJSON(),function(j,K){f.setRequestHeader(K,j)}),QA.isUndefined(n.withCredentials)||(f.withCredentials=!!n.withCredentials),a&&a!=="json"&&(f.responseType=n.responseType),l&&([C,u]=dn(l,!0),f.addEventListener("progress",C)),g&&f.upload&&([I,c]=dn(g),f.upload.addEventListener("progress",I),f.upload.addEventListener("loadend",c)),(n.cancelToken||n.signal)&&(Q=D=>{f&&(s(!D||D.type?new Gr(null,A,f):D),f.abort(),f=null)},n.cancelToken&&n.cancelToken.subscribe(Q),n.signal&&(n.signal.aborted?Q():n.signal.addEventListener("abort",Q)));const v=zI(n.url);if(v&&Ot.protocols.indexOf(v)===-1){s(new ne("Unsupported protocol "+v+":",ne.ERR_BAD_REQUEST,A));return}f.send(r||null)})},ou=(A,e)=>{const{length:t}=A=A?A.filter(Boolean):[];if(e||t){let s=new AbortController,n;const r=function(l){if(!n){n=!0,a();const Q=l instanceof Error?l:this.reason;s.abort(Q instanceof ne?Q:new Gr(Q instanceof Error?Q.message:Q))}};let i=e&&setTimeout(()=>{i=null,r(new ne(`timeout of ${e}ms exceeded`,ne.ETIMEDOUT))},e);const a=()=>{A&&(i&&clearTimeout(i),i=null,A.forEach(l=>{l.unsubscribe?l.unsubscribe(r):l.removeEventListener("abort",r)}),A=null)};A.forEach(l=>l.addEventListener("abort",r));const{signal:g}=s;return g.unsubscribe=()=>QA.asap(a),g}},su=function*(A,e){let t=A.byteLength;if(t<e){yield A;return}let s=0,n;for(;s<t;)n=s+e,yield A.slice(s,n),s=n},ru=async function*(A,e){for await(const t of nu(A))yield*su(t,e)},nu=async function*(A){if(A[Symbol.asyncIterator]){yield*A;return}const e=A.getReader();try{for(;;){const{done:t,value:s}=await e.read();if(t)break;yield s}}finally{await e.cancel()}},Hg=(A,e,t,s)=>{const n=ru(A,e);let r=0,i,a=g=>{i||(i=!0,s&&s(g))};return new ReadableStream({async pull(g){try{const{done:l,value:Q}=await n.next();if(l){a(),g.close();return}let I=Q.byteLength;if(t){let C=r+=I;t(C)}g.enqueue(new Uint8Array(Q))}catch(l){throw a(l),l}},cancel(g){return a(g),n.return()}},{highWaterMark:2})},Pg=64*1024,{isFunction:Pr}=QA,iu=(({Request:A,Response:e})=>({Request:A,Response:e}))(QA.global),{ReadableStream:Wg,TextEncoder:zg}=QA.global,Vg=(A,...e)=>{try{return!!A(...e)}catch{return!1}},au=A=>{A=QA.merge.call({skipUndefined:!0},iu,A);const{fetch:e,Request:t,Response:s}=A,n=e?Pr(e):typeof fetch=="function",r=Pr(t),i=Pr(s);if(!n)return!1;const a=n&&Pr(Wg),g=n&&(typeof zg=="function"?(u=>p=>u.encode(p))(new zg):async u=>new Uint8Array(await new t(u).arrayBuffer())),l=r&&a&&Vg(()=>{let u=!1;const p=new t(Ot.origin,{body:new Wg,method:"POST",get duplex(){return u=!0,"half"}}),f=p.headers.has("Content-Type");return p.body!=null&&p.body.cancel(),u&&!f}),Q=i&&a&&Vg(()=>QA.isReadableStream(new s("").body)),I={stream:Q&&(u=>u.body)};n&&["text","arrayBuffer","blob","formData","stream"].forEach(u=>{!I[u]&&(I[u]=(p,f)=>{let k=p&&p[u];if(k)return k.call(p);throw new ne(`Response type '${u}' is not supported`,ne.ERR_NOT_SUPPORT,f)})});const C=async u=>{if(u==null)return 0;if(QA.isBlob(u))return u.size;if(QA.isSpecCompliantForm(u))return(await new t(Ot.origin,{method:"POST",body:u}).arrayBuffer()).byteLength;if(QA.isArrayBufferView(u)||QA.isArrayBuffer(u))return u.byteLength;if(QA.isURLSearchParams(u)&&(u=u+""),QA.isString(u))return(await g(u)).byteLength},c=async(u,p)=>{const f=QA.toFiniteNumber(u.getContentLength());return f??C(p)};return async u=>{let{url:p,method:f,data:k,signal:v,cancelToken:D,timeout:j,onDownloadProgress:K,onUploadProgress:V,responseType:eA,headers:X,withCredentials:R="same-origin",fetchOptions:W}=lB(u),O=e||fetch;eA=eA?(eA+"").toLowerCase():"text";let L=ou([v,D&&D.toAbortSignal()],j),w=null;const B=L&&L.unsubscribe&&(()=>{L.unsubscribe()});let d;try{if(V&&l&&f!=="get"&&f!=="head"&&(d=await c(X,k))!==0){let b=new t(p,{method:"POST",body:k,duplex:"half"}),E;if(QA.isFormData(k)&&(E=b.headers.get("content-type"))&&X.setContentType(E),b.body){const[h,S]=Og(d,dn(qg(V)));k=Hg(b.body,Pg,h,S)}}QA.isString(R)||(R=R?"include":"omit");const N=r&&"credentials"in t.prototype;if(QA.isFormData(k)){const b=X.getContentType();b&&/^multipart\/form-data/i.test(b)&&!/boundary=/i.test(b)&&X.delete("content-type")}const G={...W,signal:L,method:f.toUpperCase(),headers:X.normalize().toJSON(),body:k,duplex:"half",credentials:N?R:void 0};w=r&&new t(p,G);let J=await(r?O(w,W):O(p,G));const Y=Q&&(eA==="stream"||eA==="response");if(Q&&(K||Y&&B)){const b={};["status","statusText","headers"].forEach(U=>{b[U]=J[U]});const E=QA.toFiniteNumber(J.headers.get("content-length")),[h,S]=K&&Og(E,dn(qg(K),!0))||[];J=new s(Hg(J.body,Pg,h,()=>{S&&S(),B&&B()}),b)}eA=eA||"text";let T=await I[QA.findKey(I,eA)||"text"](J,u);return!Y&&B&&B(),await new Promise((b,E)=>{aB(b,E,{data:T,headers:ro.from(J.headers),status:J.status,statusText:J.statusText,config:u,request:w})})}catch(N){throw B&&B(),N&&N.name==="TypeError"&&/Load failed|fetch/i.test(N.message)?Object.assign(new ne("Network Error",ne.ERR_NETWORK,u,w,N&&N.response),{cause:N.cause||N}):ne.from(N,N&&N.code,u,w,N&&N.response)}}},gu=new Map,QB=A=>{let e=A&&A.env||{};const{fetch:t,Request:s,Response:n}=e,r=[s,n,t];let i=r.length,a=i,g,l,Q=gu;for(;a--;)g=r[a],l=Q.get(g),l===void 0&&Q.set(g,l=a?new Map:au(e)),Q=l;return l};QB();const Pa={http:wI,xhr:tu,fetch:{get:QB}};QA.forEach(Pa,(A,e)=>{if(A){try{Object.defineProperty(A,"name",{value:e})}catch{}Object.defineProperty(A,"adapterName",{value:e})}});const Zg=A=>`- ${A}`,lu=A=>QA.isFunction(A)||A===null||A===!1;function Qu(A,e){A=QA.isArray(A)?A:[A];const{length:t}=A;let s,n;const r={};for(let i=0;i<t;i++){s=A[i];let a;if(n=s,!lu(s)&&(n=Pa[(a=String(s)).toLowerCase()],n===void 0))throw new ne(`Unknown adapter '${a}'`);if(n&&(QA.isFunction(n)||(n=n.get(e))))break;r[a||"#"+i]=n}if(!n){const i=Object.entries(r).map(([g,l])=>`adapter ${g} `+(l===!1?"is not supported by the environment":"is not available in the build"));let a=t?i.length>1?`since :
|
|
4
|
-
`+i.map(Zg).join(`
|
|
5
|
-
`):" "+Zg(i[0]):"as no adapter specified";throw new ne("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return n}const BB={getAdapter:Qu,adapters:Pa};function li(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new Gr(null,A)}function _g(A){return li(A),A.headers=ro.from(A.headers),A.data=gi.call(A,A.transformRequest),["post","put","patch"].indexOf(A.method)!==-1&&A.headers.setContentType("application/x-www-form-urlencoded",!1),BB.getAdapter(A.adapter||Fr.adapter,A)(A).then(function(s){return li(A),s.data=gi.call(A,A.transformResponse,s),s.headers=ro.from(s.headers),s},function(s){return iB(s)||(li(A),s&&s.response&&(s.response.data=gi.call(A,A.transformResponse,s.response),s.response.headers=ro.from(s.response.headers))),Promise.reject(s)})}const cB="1.15.2",Tn={};["object","boolean","number","function","string","symbol"].forEach((A,e)=>{Tn[A]=function(s){return typeof s===A||"a"+(e<1?"n ":" ")+A}});const Xg={};Tn.transitional=function(e,t,s){function n(r,i){return"[Axios v"+cB+"] Transitional option '"+r+"'"+i+(s?". "+s:"")}return(r,i,a)=>{if(e===!1)throw new ne(n(i," has been removed"+(t?" in "+t:"")),ne.ERR_DEPRECATED);return t&&!Xg[i]&&(Xg[i]=!0,console.warn(n(i," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(r,i,a):!0}};Tn.spelling=function(e){return(t,s)=>(console.warn(`${s} is likely a misspelling of ${e}`),!0)};function Bu(A,e,t){if(typeof A!="object")throw new ne("options must be an object",ne.ERR_BAD_OPTION_VALUE);const s=Object.keys(A);let n=s.length;for(;n-- >0;){const r=s[n],i=Object.prototype.hasOwnProperty.call(e,r)?e[r]:void 0;if(i){const a=A[r],g=a===void 0||i(a,r,A);if(g!==!0)throw new ne("option "+r+" must be "+g,ne.ERR_BAD_OPTION_VALUE);continue}if(t!==!0)throw new ne("Unknown option "+r,ne.ERR_BAD_OPTION)}}const an={assertOptions:Bu,validators:Tn},lo=an.validators;let ds=class{constructor(e){this.defaults=e||{},this.interceptors={request:new jg,response:new jg}}async request(e,t){try{return await this._request(e,t)}catch(s){if(s instanceof Error){let n={};Error.captureStackTrace?Error.captureStackTrace(n):n=new Error;const r=(()=>{if(!n.stack)return"";const i=n.stack.indexOf(`
|
|
6
|
-
`);return i===-1?"":n.stack.slice(i+1)})();try{if(!s.stack)s.stack=r;else if(r){const i=r.indexOf(`
|
|
7
|
-
`),a=i===-1?-1:r.indexOf(`
|
|
8
|
-
`,i+1),g=a===-1?"":r.slice(a+1);String(s.stack).endsWith(g)||(s.stack+=`
|
|
9
|
-
`+r)}}catch{}}throw s}}_request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=ps(this.defaults,t);const{transitional:s,paramsSerializer:n,headers:r}=t;s!==void 0&&an.assertOptions(s,{silentJSONParsing:lo.transitional(lo.boolean),forcedJSONParsing:lo.transitional(lo.boolean),clarifyTimeoutError:lo.transitional(lo.boolean),legacyInterceptorReqResOrdering:lo.transitional(lo.boolean)},!1),n!=null&&(QA.isFunction(n)?t.paramsSerializer={serialize:n}:an.assertOptions(n,{encode:lo.function,serialize:lo.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),an.assertOptions(t,{baseUrl:lo.spelling("baseURL"),withXsrfToken:lo.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=r&&QA.merge(r.common,r[t.method]);r&&QA.forEach(["delete","get","head","post","put","patch","common"],u=>{delete r[u]}),t.headers=ro.concat(i,r);const a=[];let g=!0;this.interceptors.request.forEach(function(p){if(typeof p.runWhen=="function"&&p.runWhen(t)===!1)return;g=g&&p.synchronous;const f=t.transitional||Ya;f&&f.legacyInterceptorReqResOrdering?a.unshift(p.fulfilled,p.rejected):a.push(p.fulfilled,p.rejected)});const l=[];this.interceptors.response.forEach(function(p){l.push(p.fulfilled,p.rejected)});let Q,I=0,C;if(!g){const u=[_g.bind(this),void 0];for(u.unshift(...a),u.push(...l),C=u.length,Q=Promise.resolve(t);I<C;)Q=Q.then(u[I++],u[I++]);return Q}C=a.length;let c=t;for(;I<C;){const u=a[I++],p=a[I++];try{c=u(c)}catch(f){p.call(this,f);break}}try{Q=_g.call(this,c)}catch(u){return Promise.reject(u)}for(I=0,C=l.length;I<C;)Q=Q.then(l[I++],l[I++]);return Q}getUri(e){e=ps(this.defaults,e);const t=gB(e.baseURL,e.url,e.allowAbsoluteUrls);return rB(t,e.params,e.paramsSerializer)}};QA.forEach(["delete","get","head","options"],function(e){ds.prototype[e]=function(t,s){return this.request(ps(s||{},{method:e,url:t,data:(s||{}).data}))}});QA.forEach(["post","put","patch"],function(e){function t(s){return function(r,i,a){return this.request(ps(a||{},{method:e,headers:s?{"Content-Type":"multipart/form-data"}:{},url:r,data:i}))}}ds.prototype[e]=t(),ds.prototype[e+"Form"]=t(!0)});let cu=class EB{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(r){t=r});const s=this;this.promise.then(n=>{if(!s._listeners)return;let r=s._listeners.length;for(;r-- >0;)s._listeners[r](n);s._listeners=null}),this.promise.then=n=>{let r;const i=new Promise(a=>{s.subscribe(a),r=a}).then(n);return i.cancel=function(){s.unsubscribe(r)},i},e(function(r,i,a){s.reason||(s.reason=new Gr(r,i,a),t(s.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=s=>{e.abort(s)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return{token:new EB(function(n){e=n}),cancel:e}}};function Eu(A){return function(t){return A.apply(null,t)}}function Cu(A){return QA.isObject(A)&&A.isAxiosError===!0}const Zi={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Zi).forEach(([A,e])=>{Zi[e]=A});function CB(A){const e=new ds(A),t=zQ(ds.prototype.request,e);return QA.extend(t,ds.prototype,e,{allOwnKeys:!0}),QA.extend(t,e,null,{allOwnKeys:!0}),t.create=function(n){return CB(ps(A,n))},t}const mt=CB(Fr);mt.Axios=ds;mt.CanceledError=Gr;mt.CancelToken=cu;mt.isCancel=iB;mt.VERSION=cB;mt.toFormData=jn;mt.AxiosError=ne;mt.Cancel=mt.CanceledError;mt.all=function(e){return Promise.all(e)};mt.spread=Eu;mt.isAxiosError=Cu;mt.mergeConfig=ps;mt.AxiosHeaders=ro;mt.formToJSON=A=>nB(QA.isHTMLForm(A)?new FormData(A):A);mt.getAdapter=BB.getAdapter;mt.HttpStatusCode=Zi;mt.default=mt;const{Axios:mN,AxiosError:wN,CanceledError:xN,isCancel:DN,CancelToken:yN,VERSION:NN,all:kN,Cancel:MN,isAxiosError:bN,spread:FN,toFormData:GN,AxiosHeaders:vN,HttpStatusCode:SN,formToJSON:UN,getAdapter:RN,mergeConfig:KN}=mt,Iu=({onRequest:A,onSseError:e,onSseEvent:t,responseTransformer:s,responseValidator:n,sseDefaultRetryDelay:r,sseMaxRetryAttempts:i,sseMaxRetryDelay:a,sseSleepFn:g,url:l,...Q})=>{let I;const C=g??(p=>new Promise(f=>setTimeout(f,p)));return{stream:async function*(){let p=r??3e3,f=0;const k=Q.signal??new AbortController().signal;for(;!k.aborted;){f++;const v=Q.headers instanceof Headers?Q.headers:new Headers(Q.headers);I!==void 0&&v.set("Last-Event-ID",I);try{const D={redirect:"follow",...Q,body:Q.serializedBody,headers:v,signal:k};let j=new Request(l,D);A&&(j=await A(l,D));const V=await(Q.fetch??globalThis.fetch)(j);if(!V.ok)throw new Error(`SSE failed: ${V.status} ${V.statusText}`);if(!V.body)throw new Error("No body in SSE response");const eA=V.body.pipeThrough(new TextDecoderStream).getReader();let X="";const R=()=>{try{eA.cancel()}catch{}};k.addEventListener("abort",R);try{for(;;){const{done:W,value:O}=await eA.read();if(W)break;X+=O;const L=X.split(`
|
|
10
|
-
|
|
11
|
-
`);X=L.pop()??"";for(const w of L){const B=w.split(`
|
|
12
|
-
`),d=[];let N;for(const Y of B)if(Y.startsWith("data:"))d.push(Y.replace(/^data:\s*/,""));else if(Y.startsWith("event:"))N=Y.replace(/^event:\s*/,"");else if(Y.startsWith("id:"))I=Y.replace(/^id:\s*/,"");else if(Y.startsWith("retry:")){const T=Number.parseInt(Y.replace(/^retry:\s*/,""),10);Number.isNaN(T)||(p=T)}let G,J=!1;if(d.length){const Y=d.join(`
|
|
13
|
-
`);try{G=JSON.parse(Y),J=!0}catch{G=Y}}J&&(n&&await n(G),s&&(G=await s(G))),t?.({data:G,event:N,id:I,retry:p}),d.length&&(yield G)}}}finally{k.removeEventListener("abort",R),eA.releaseLock()}break}catch(D){if(e?.(D),i!==void 0&&f>=i)break;const j=Math.min(p*2**(f-1),a??3e4);await C(j)}}}()}},uu=A=>{switch(A){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},du=A=>{switch(A){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},hu=A=>{switch(A){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},IB=({allowReserved:A,explode:e,name:t,style:s,value:n})=>{if(!e){const a=(A?n:n.map(g=>encodeURIComponent(g))).join(du(s));switch(s){case"label":return`.${a}`;case"matrix":return`;${t}=${a}`;case"simple":return a;default:return`${t}=${a}`}}const r=uu(s),i=n.map(a=>s==="label"||s==="simple"?A?a:encodeURIComponent(a):On({allowReserved:A,name:t,value:a})).join(r);return s==="label"||s==="matrix"?r+i:i},On=({allowReserved:A,name:e,value:t})=>{if(t==null)return"";if(typeof t=="object")throw new Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${A?t:encodeURIComponent(t)}`},uB=({allowReserved:A,explode:e,name:t,style:s,value:n,valueOnly:r})=>{if(n instanceof Date)return r?n.toISOString():`${t}=${n.toISOString()}`;if(s!=="deepObject"&&!e){let g=[];Object.entries(n).forEach(([Q,I])=>{g=[...g,Q,A?I:encodeURIComponent(I)]});const l=g.join(",");switch(s){case"form":return`${t}=${l}`;case"label":return`.${l}`;case"matrix":return`;${t}=${l}`;default:return l}}const i=hu(s),a=Object.entries(n).map(([g,l])=>On({allowReserved:A,name:s==="deepObject"?`${t}[${g}]`:g,value:l})).join(i);return s==="label"||s==="matrix"?i+a:a},fu=/\{[^{}]+\}/g,pu=({path:A,url:e})=>{let t=e;const s=e.match(fu);if(s)for(const n of s){let r=!1,i=n.substring(1,n.length-1),a="simple";i.endsWith("*")&&(r=!0,i=i.substring(0,i.length-1)),i.startsWith(".")?(i=i.substring(1),a="label"):i.startsWith(";")&&(i=i.substring(1),a="matrix");const g=A[i];if(g==null)continue;if(Array.isArray(g)){t=t.replace(n,IB({explode:r,name:i,style:a,value:g}));continue}if(typeof g=="object"){t=t.replace(n,uB({explode:r,name:i,style:a,value:g,valueOnly:!0}));continue}if(a==="matrix"){t=t.replace(n,`;${On({name:i,value:g})}`);continue}const l=encodeURIComponent(a==="label"?`.${g}`:g);t=t.replace(n,l)}return t},mu=({baseUrl:A,path:e,query:t,querySerializer:s,url:n})=>{const r=n.startsWith("/")?n:`/${n}`;let i=(A??"")+r;e&&(i=pu({path:e,url:i}));let a=t?s(t):"";return a.startsWith("?")&&(a=a.substring(1)),a&&(i+=`?${a}`),i};function wu(A){const e=A.body!==void 0;if(e&&A.bodySerializer)return"serializedBody"in A?A.serializedBody!==void 0&&A.serializedBody!==""?A.serializedBody:null:A.body!==""?A.body:null;if(e)return A.body}const xu=async(A,e)=>{const t=typeof e=="function"?await e(A):e;if(t)return A.scheme==="bearer"?`Bearer ${t}`:A.scheme==="basic"?`Basic ${btoa(t)}`:t},Du=({allowReserved:A,array:e,object:t}={})=>n=>{const r=[];if(n&&typeof n=="object")for(const i in n){const a=n[i];if(a!=null)if(Array.isArray(a)){const g=IB({allowReserved:A,explode:!0,name:i,style:"form",value:a,...e});g&&r.push(g)}else if(typeof a=="object"){const g=uB({allowReserved:A,explode:!0,name:i,style:"deepObject",value:a,...t});g&&r.push(g)}else{const g=On({allowReserved:A,name:i,value:a});g&&r.push(g)}}return r.join("&")},yu=(A,e)=>e?e in A.headers||A.query?.[e]?!0:"Cookie"in A.headers&&A.headers.Cookie&&typeof A.headers.Cookie=="string"?A.headers.Cookie.includes(`${e}=`):!1:!1,Nu=async({security:A,...e})=>{for(const t of A){if(yu(e,t.name))continue;const s=await xu(t,e.auth);if(!s)continue;const n=t.name??"Authorization";switch(t.in){case"query":e.query||(e.query={}),e.query[n]=s;break;case"cookie":{const r=`${n}=${s}`;"Cookie"in e.headers&&e.headers.Cookie?e.headers.Cookie=`${e.headers.Cookie}; ${r}`:e.headers.Cookie=r;break}default:e.headers[n]=s;break}}},$g=A=>{const e=A.axios?.defaults?.baseURL,t=A.baseURL&&typeof A.baseURL=="string"?A.baseURL:e;return mu({baseUrl:t,path:A.path,query:A.paramsSerializer?void 0:A.query,querySerializer:typeof A.querySerializer=="function"?A.querySerializer:Du(A.querySerializer),url:A.url})},Al=(A,e)=>{const t={...A,...e};return t.headers=_i(A.headers,e.headers),t},ku=["common","delete","get","head","patch","post","put"],_i=(...A)=>{const e={};for(const t of A){if(!t||typeof t!="object")continue;const s=Object.entries(t);for(const[n,r]of s)if(ku.includes(n)&&typeof r=="object")e[n]={...e[n],...r};else if(r===null)delete e[n];else if(Array.isArray(r))for(const i of r)e[n]=[...e[n]??[],i];else r!==void 0&&(e[n]=typeof r=="object"?JSON.stringify(r):r)}return e},dB=(A={})=>({...A}),Mu=(A={})=>{let e=Al(dB(),A),t;if(e.axios&&!("Axios"in e.axios))t=e.axios;else{const{auth:l,...Q}=e;t=mt.create(Q)}const s=()=>({...e}),n=l=>(e=Al(e,l),t.defaults={...t.defaults,...e,headers:_i(t.defaults.headers,e.headers)},s()),r=async l=>{const Q={...e,...l,axios:l.axios??e.axios??t,headers:_i(e.headers,l.headers)};Q.security&&await Nu({...Q,security:Q.security}),Q.requestValidator&&await Q.requestValidator(Q),Q.body!==void 0&&Q.bodySerializer&&(Q.body=Q.bodySerializer(Q.body));const I=$g(Q);return{opts:Q,url:I}},i=async l=>{const{opts:Q,url:I}=await r(l);try{const C=Q.axios,{auth:c,...u}=Q,p=await C({...u,baseURL:"",data:wu(Q),headers:Q.headers,params:Q.paramsSerializer?Q.query:void 0,url:I});let{data:f}=p;return Q.responseType==="json"&&(Q.responseValidator&&await Q.responseValidator(f),Q.responseTransformer&&(f=await Q.responseTransformer(f))),{...p,data:f??{}}}catch(C){const c=C;if(Q.throwOnError)throw c;return c.error=c.response?.data??{},c}},a=l=>Q=>i({...Q,method:l}),g=l=>async Q=>{const{opts:I,url:C}=await r(Q);return Iu({...I,body:I.body,headers:I.headers,method:l,signal:I.signal,url:C})};return{buildUrl:$g,connect:a("CONNECT"),delete:a("DELETE"),get:a("GET"),getConfig:s,head:a("HEAD"),instance:t,options:a("OPTIONS"),patch:a("PATCH"),post:a("POST"),put:a("PUT"),request:i,setConfig:n,sse:{connect:g("CONNECT"),delete:g("DELETE"),get:g("GET"),head:g("HEAD"),options:g("OPTIONS"),patch:g("PATCH"),post:g("POST"),put:g("PUT"),trace:g("TRACE")},trace:a("TRACE")}},bu=(A={})=>({...A,baseURL:A.baseURL}),MA=Mu(bu(dB())),Fu=A=>(A?.client??MA).get({responseType:"json",url:"/v1/auth/status",...A}),Gu=A=>(A?.client??MA).post({responseType:"json",url:"/v1/auth/ottorouter/setup",...A}),vu=A=>(A.client??MA).post({responseType:"json",url:"/v1/auth/ottorouter/import",...A,headers:{"Content-Type":"application/json",...A.headers}}),Su=A=>(A?.client??MA).get({responseType:"json",url:"/v1/auth/ottorouter/export",...A}),Uu=A=>(A.client??MA).delete({responseType:"json",url:"/v1/auth/{provider}",...A}),Ru=A=>(A.client??MA).post({responseType:"json",url:"/v1/auth/{provider}",...A,headers:{"Content-Type":"application/json",...A.headers}}),Ku=A=>(A.client??MA).post({responseType:"json",url:"/v1/auth/{provider}/oauth/url",...A,headers:{"Content-Type":"application/json",...A.headers}}),Lu=A=>(A.client??MA).post({responseType:"json",url:"/v1/auth/{provider}/oauth/exchange",...A,headers:{"Content-Type":"application/json",...A.headers}}),Ju=A=>(A?.client??MA).post({responseType:"json",url:"/v1/auth/copilot/device/start",...A}),ju=A=>(A.client??MA).post({responseType:"json",url:"/v1/auth/copilot/device/poll",...A,headers:{"Content-Type":"application/json",...A.headers}}),Tu=A=>(A?.client??MA).get({responseType:"json",url:"/v1/auth/copilot/methods",...A}),Ou=A=>(A.client??MA).post({responseType:"json",url:"/v1/auth/copilot/token",...A,headers:{"Content-Type":"application/json",...A.headers}}),qu=A=>(A?.client??MA).post({responseType:"json",url:"/v1/auth/copilot/gh/import",...A}),Yu=A=>(A?.client??MA).get({responseType:"json",url:"/v1/auth/copilot/diagnostics",...A}),Hu=A=>(A?.client??MA).post({responseType:"json",url:"/v1/auth/onboarding/complete",...A}),Pu=A=>(A.client??MA).post({responseType:"json",url:"/v1/sessions/{sessionId}/branch",...A,headers:{"Content-Type":"application/json",...A.headers}}),Wu=A=>(A.client??MA).get({responseType:"json",url:"/v1/sessions/{sessionId}/branches",...A}),zu=A=>(A.client??MA).get({responseType:"json",url:"/v1/sessions/{sessionId}/parent",...A}),Vu=A=>(A?.client??MA).get({responseType:"json",url:"/v1/config",...A}),Zu=A=>(A.client??MA).delete({responseType:"json",url:"/v1/config/providers/{provider}",...A}),_u=A=>(A.client??MA).put({responseType:"json",url:"/v1/config/providers/{provider}",...A,headers:{"Content-Type":"application/json",...A.headers}}),Xu=A=>(A.client??MA).get({responseType:"json",url:"/v1/config/providers/{provider}/models",...A}),$u=A=>(A.client??MA).patch({responseType:"json",url:"/v1/config/defaults",...A,headers:{"Content-Type":"application/json",...A.headers}}),Ad=A=>(A?.client??MA).get({responseType:"json",url:"/v1/config/models",...A}),ed=A=>(A?.client??MA).get({responseType:"json",url:"/v1/files",...A}),td=A=>(A?.client??MA).get({responseType:"json",url:"/v1/files/search",...A}),od=A=>(A?.client??MA).get({responseType:"json",url:"/v1/files/tree",...A}),sd=A=>(A.client??MA).get({responseType:"json",url:"/v1/files/read",...A}),rd=A=>(A?.client??MA).post({responseType:"json",url:"/v1/git/init",...A,headers:{"Content-Type":"application/json",...A?.headers}}),nd=A=>(A?.client??MA).get({responseType:"json",url:"/v1/git/status",...A}),el=A=>(A.client??MA).get({responseType:"json",url:"/v1/git/diff",...A}),id=A=>(A?.client??MA).get({responseType:"json",url:"/v1/git/branch",...A}),ad=A=>(A.client??MA).post({responseType:"json",url:"/v1/git/stage",...A,headers:{"Content-Type":"application/json",...A.headers}}),gd=A=>(A.client??MA).post({responseType:"json",url:"/v1/git/unstage",...A,headers:{"Content-Type":"application/json",...A.headers}}),ld=A=>(A.client??MA).post({responseType:"json",url:"/v1/git/commit",...A,headers:{"Content-Type":"application/json",...A.headers}}),Qd=A=>(A?.client??MA).post({responseType:"json",url:"/v1/git/generate-commit-message",...A,headers:{"Content-Type":"application/json",...A?.headers}}),Bd=A=>(A?.client??MA).post({responseType:"json",url:"/v1/git/push",...A,headers:{"Content-Type":"application/json",...A?.headers}}),cd=A=>(A?.client??MA).post({responseType:"json",url:"/v1/git/pull",...A,headers:{"Content-Type":"application/json",...A?.headers}}),Ed=A=>(A.client??MA).post({responseType:"json",url:"/v1/git/restore",...A,headers:{"Content-Type":"application/json",...A.headers}}),Cd=A=>(A.client??MA).post({responseType:"json",url:"/v1/git/delete",...A,headers:{"Content-Type":"application/json",...A.headers}}),Id=A=>(A.client??MA).delete({responseType:"json",url:"/v1/git/remotes",...A,headers:{"Content-Type":"application/json",...A.headers}}),ud=A=>(A?.client??MA).get({responseType:"json",url:"/v1/git/remotes",...A}),dd=A=>(A.client??MA).post({responseType:"json",url:"/v1/git/remotes",...A,headers:{"Content-Type":"application/json",...A.headers}}),hd=A=>(A?.client??MA).get({responseType:"json",url:"/v1/mcp/servers",...A}),fd=A=>(A.client??MA).post({responseType:"json",url:"/v1/mcp/servers",...A,headers:{"Content-Type":"application/json",...A.headers}}),pd=A=>(A.client??MA).delete({responseType:"json",url:"/v1/mcp/servers/{name}",...A}),md=A=>(A.client??MA).post({responseType:"json",url:"/v1/mcp/servers/{name}/start",...A}),wd=A=>(A.client??MA).post({responseType:"json",url:"/v1/mcp/servers/{name}/stop",...A}),xd=A=>(A.client??MA).post({responseType:"json",url:"/v1/mcp/servers/{name}/auth",...A}),Dd=A=>(A.client??MA).post({responseType:"json",url:"/v1/mcp/servers/{name}/auth/callback",...A,headers:{"Content-Type":"application/json",...A.headers}}),yd=A=>(A.client??MA).get({responseType:"json",url:"/v1/mcp/servers/{name}/auth/status",...A}),Nd=A=>(A.client??MA).get({responseType:"json",url:"/v1/sessions/{id}/messages",...A}),kd=A=>(A.client??MA).post({responseType:"json",url:"/v1/sessions/{id}/messages",...A,headers:{"Content-Type":"application/json",...A.headers}}),Md=A=>(A.client??MA).get({responseType:"json",url:"/v1/provider-usage/{provider}",...A}),bd=A=>(A.client??MA).post({responseType:"json",url:"/v1/sessions/{id}/approval",...A,headers:{"Content-Type":"application/json",...A.headers}}),Fd=A=>(A.client??MA).get({responseType:"json",url:"/v1/sessions/{id}/approval/pending",...A}),Gd=A=>(A.client??MA).delete({responseType:"json",url:"/v1/sessions/{sessionId}",...A}),vd=A=>(A.client??MA).patch({responseType:"json",url:"/v1/sessions/{sessionId}",...A,headers:{"Content-Type":"application/json",...A.headers}}),Sd=A=>(A.client??MA).get({responseType:"json",url:"/v1/sessions/{sessionId}/queue",...A}),Ud=A=>(A.client??MA).delete({responseType:"json",url:"/v1/sessions/{sessionId}/queue/{messageId}",...A}),Rd=A=>(A.client??MA).post({responseType:"json",url:"/v1/sessions/{sessionId}/messages/{messageId}/retry",...A}),Kd=A=>(A.client??MA).get({responseType:"json",url:"/v1/sessions/{sessionId}/share",...A}),Ld=A=>(A.client??MA).post({responseType:"json",url:"/v1/sessions/{sessionId}/share",...A}),Jd=A=>(A.client??MA).put({responseType:"json",url:"/v1/sessions/{sessionId}/share",...A}),jd=A=>(A.client??MA).get({responseType:"json",url:"/v1/sessions/{sessionId}/files",...A}),Td=A=>(A?.client??MA).get({responseType:"json",url:"/v1/sessions",...A}),Od=A=>(A?.client??MA).post({responseType:"json",url:"/v1/sessions",...A,headers:{"Content-Type":"application/json",...A?.headers}}),tl=A=>(A.client??MA).delete({responseType:"json",url:"/v1/sessions/{sessionId}/abort",...A}),qd=A=>(A?.client??MA).get({responseType:"json",url:"/v1/ottorouter/balance",...A}),Yd=A=>(A?.client??MA).get({responseType:"json",url:"/v1/ottorouter/wallet",...A}),Hd=A=>(A?.client??MA).get({responseType:"json",url:"/v1/ottorouter/usdc-balance",...A}),Pd=A=>(A.client??MA).post({responseType:"json",url:"/v1/ottorouter/topup/polar",...A,headers:{"Content-Type":"application/json",...A.headers}}),Wd=A=>(A.client??MA).post({responseType:"json",url:"/v1/ottorouter/topup/select",...A,headers:{"Content-Type":"application/json",...A.headers}}),zd=A=>(A.client??MA).post({responseType:"json",url:"/v1/ottorouter/topup/cancel",...A,headers:{"Content-Type":"application/json",...A.headers}}),Vd=A=>(A.client??MA).get({responseType:"json",url:"/v1/ottorouter/topup/pending",...A}),Zd=A=>(A.client??MA).get({responseType:"json",url:"/v1/ottorouter/topup/polar/estimate",...A}),_d=A=>(A.client??MA).get({responseType:"json",url:"/v1/ottorouter/topup/polar/status",...A}),Xd=A=>(A.client??MA).get({responseType:"json",url:"/v1/ottorouter/topup/razorpay/estimate",...A}),$d=A=>(A.client??MA).post({responseType:"json",url:"/v1/ottorouter/topup/razorpay",...A,headers:{"Content-Type":"application/json",...A.headers}}),Ah=A=>(A.client??MA).post({responseType:"json",url:"/v1/ottorouter/topup/razorpay/verify",...A,headers:{"Content-Type":"application/json",...A.headers}}),eh=A=>(A?.client??MA).get({responseType:"json",url:"/v1/config/skills",...A}),th=A=>(A.client??MA).put({responseType:"json",url:"/v1/config/skills",...A,headers:{"Content-Type":"application/json",...A.headers}}),oh=A=>(A?.client??MA).get({responseType:"json",url:"/v1/skills",...A}),sh=A=>(A.client??MA).get({responseType:"json",url:"/v1/skills/{name}",...A}),rh=A=>(A.client??MA).get({responseType:"json",url:"/v1/skills/{name}/files",...A}),nh=A=>(A.client??MA).get({responseType:"json",url:"/v1/skills/{name}/files/{filePath}",...A}),ih=A=>(A?.client??MA).get({responseType:"json",url:"/v1/terminals",...A}),ah=A=>(A.client??MA).post({responseType:"json",url:"/v1/terminals",...A,headers:{"Content-Type":"application/json",...A.headers}}),gh=A=>(A.client??MA).delete({responseType:"json",url:"/v1/terminals/{id}",...A});function hB(){return gt({queryKey:["terminals"],queryFn:async()=>{const A=await ih();if(A.error)throw new Error("Failed to fetch terminals");return A.data},refetchInterval:2e3})}function lh(){const A=ke();return Ze({mutationFn:async e=>{const t=await ah({body:e});if(t.error)throw new Error("Failed to create terminal");return t.data},onSuccess:async()=>{await A.invalidateQueries({queryKey:["terminals"]})}})}function Qh(){const A=ke();return Ze({mutationFn:async e=>{if((await gh({path:{id:e}})).error)throw new Error("Failed to kill terminal")},onSuccess:()=>{A.invalidateQueries({queryKey:["terminals"]})}})}const Bh=x.memo(function({terminals:e,onNewTerminal:t,onKillTerminal:s,isCreating:n}){const r=io(a=>a.activeTabId),i=io(a=>a.selectTab);return o.jsxs("div",{className:"flex items-center gap-0 overflow-x-auto scrollbar-none",children:[e.map(a=>{const g=a.id===r,l=a.status==="running";return o.jsxs("div",{className:`group flex items-center gap-1.5 px-3 h-9 border-r border-border cursor-pointer select-none shrink-0 transition-colors ${g?"bg-background text-foreground":"bg-muted/30 text-muted-foreground hover:bg-muted/60"}`,onClick:()=>i(a.id),onKeyDown:Q=>{Q.key==="Enter"&&i(a.id)},role:"tab","aria-selected":g,tabIndex:0,children:[o.jsx("span",{className:"shrink-0",children:a.createdBy==="llm"?o.jsx(ZE,{className:"w-3 h-3 text-blue-500"}):o.jsx(Ga,{className:"w-3 h-3 text-green-500"})}),o.jsx("span",{className:"text-xs font-medium truncate max-w-[120px]",children:a.title||a.purpose}),!l&&o.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-orange-500 shrink-0"}),o.jsx("button",{type:"button",className:"shrink-0 p-0.5 rounded opacity-0 group-hover:opacity-100 hover:bg-muted transition-opacity",onClick:Q=>{Q.stopPropagation(),s(a.id)},title:"Close terminal",children:o.jsx(ct,{className:"w-3 h-3"})})]},a.id)}),o.jsx("button",{type:"button",className:"flex items-center justify-center w-8 h-9 shrink-0 text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors",onClick:t,disabled:n,title:"New terminal",children:o.jsx(go,{className:"w-3.5 h-3.5"})})]})}),fB="/assets/JetBrainsMonoNerdFontMono-Bold-CU80ifuM.woff2",pB="/assets/JetBrainsMonoNerdFontMono-BoldItalic-D8WKzlhG.woff2",mB="/assets/JetBrainsMonoNerdFontMono-Italic-CO98v9JQ.woff2",wB="/assets/JetBrainsMonoNerdFontMono-Regular-QVq88ZfU.woff2";var Wa=(A=>(A[A.CURSOR_KEY_APPLICATION=0]="CURSOR_KEY_APPLICATION",A[A.KEYPAD_KEY_APPLICATION=1]="KEYPAD_KEY_APPLICATION",A[A.IGNORE_KEYPAD_WITH_NUMLOCK=2]="IGNORE_KEYPAD_WITH_NUMLOCK",A[A.ALT_ESC_PREFIX=3]="ALT_ESC_PREFIX",A[A.MODIFY_OTHER_KEYS_STATE_2=4]="MODIFY_OTHER_KEYS_STATE_2",A[A.KITTY_KEYBOARD_FLAGS=5]="KITTY_KEYBOARD_FLAGS",A))(Wa||{}),xB=(A=>(A[A.RELEASE=0]="RELEASE",A[A.PRESS=1]="PRESS",A[A.REPEAT=2]="REPEAT",A))(xB||{}),dA=(A=>(A[A.UNIDENTIFIED=0]="UNIDENTIFIED",A[A.GRAVE=1]="GRAVE",A[A.BACKSLASH=2]="BACKSLASH",A[A.BRACKET_LEFT=3]="BRACKET_LEFT",A[A.BRACKET_RIGHT=4]="BRACKET_RIGHT",A[A.COMMA=5]="COMMA",A[A.ZERO=6]="ZERO",A[A.ONE=7]="ONE",A[A.TWO=8]="TWO",A[A.THREE=9]="THREE",A[A.FOUR=10]="FOUR",A[A.FIVE=11]="FIVE",A[A.SIX=12]="SIX",A[A.SEVEN=13]="SEVEN",A[A.EIGHT=14]="EIGHT",A[A.NINE=15]="NINE",A[A.EQUAL=16]="EQUAL",A[A.INTL_BACKSLASH=17]="INTL_BACKSLASH",A[A.INTL_RO=18]="INTL_RO",A[A.INTL_YEN=19]="INTL_YEN",A[A.A=20]="A",A[A.B=21]="B",A[A.C=22]="C",A[A.D=23]="D",A[A.E=24]="E",A[A.F=25]="F",A[A.G=26]="G",A[A.H=27]="H",A[A.I=28]="I",A[A.J=29]="J",A[A.K=30]="K",A[A.L=31]="L",A[A.M=32]="M",A[A.N=33]="N",A[A.O=34]="O",A[A.P=35]="P",A[A.Q=36]="Q",A[A.R=37]="R",A[A.S=38]="S",A[A.T=39]="T",A[A.U=40]="U",A[A.V=41]="V",A[A.W=42]="W",A[A.X=43]="X",A[A.Y=44]="Y",A[A.Z=45]="Z",A[A.MINUS=46]="MINUS",A[A.PERIOD=47]="PERIOD",A[A.QUOTE=48]="QUOTE",A[A.SEMICOLON=49]="SEMICOLON",A[A.SLASH=50]="SLASH",A[A.ALT_LEFT=51]="ALT_LEFT",A[A.ALT_RIGHT=52]="ALT_RIGHT",A[A.BACKSPACE=53]="BACKSPACE",A[A.CAPS_LOCK=54]="CAPS_LOCK",A[A.CONTEXT_MENU=55]="CONTEXT_MENU",A[A.CONTROL_LEFT=56]="CONTROL_LEFT",A[A.CONTROL_RIGHT=57]="CONTROL_RIGHT",A[A.ENTER=58]="ENTER",A[A.META_LEFT=59]="META_LEFT",A[A.META_RIGHT=60]="META_RIGHT",A[A.SHIFT_LEFT=61]="SHIFT_LEFT",A[A.SHIFT_RIGHT=62]="SHIFT_RIGHT",A[A.SPACE=63]="SPACE",A[A.TAB=64]="TAB",A[A.CONVERT=65]="CONVERT",A[A.KANA_MODE=66]="KANA_MODE",A[A.NON_CONVERT=67]="NON_CONVERT",A[A.DELETE=68]="DELETE",A[A.END=69]="END",A[A.HELP=70]="HELP",A[A.HOME=71]="HOME",A[A.INSERT=72]="INSERT",A[A.PAGE_DOWN=73]="PAGE_DOWN",A[A.PAGE_UP=74]="PAGE_UP",A[A.DOWN=75]="DOWN",A[A.LEFT=76]="LEFT",A[A.RIGHT=77]="RIGHT",A[A.UP=78]="UP",A[A.NUM_LOCK=79]="NUM_LOCK",A[A.KP_0=80]="KP_0",A[A.KP_1=81]="KP_1",A[A.KP_2=82]="KP_2",A[A.KP_3=83]="KP_3",A[A.KP_4=84]="KP_4",A[A.KP_5=85]="KP_5",A[A.KP_6=86]="KP_6",A[A.KP_7=87]="KP_7",A[A.KP_8=88]="KP_8",A[A.KP_9=89]="KP_9",A[A.KP_PLUS=90]="KP_PLUS",A[A.KP_BACKSPACE=91]="KP_BACKSPACE",A[A.KP_CLEAR=92]="KP_CLEAR",A[A.KP_CLEAR_ENTRY=93]="KP_CLEAR_ENTRY",A[A.KP_COMMA=94]="KP_COMMA",A[A.KP_PERIOD=95]="KP_PERIOD",A[A.KP_DIVIDE=96]="KP_DIVIDE",A[A.KP_ENTER=97]="KP_ENTER",A[A.KP_EQUAL=98]="KP_EQUAL",A[A.KP_MEMORY_ADD=99]="KP_MEMORY_ADD",A[A.KP_MEMORY_CLEAR=100]="KP_MEMORY_CLEAR",A[A.KP_MEMORY_RECALL=101]="KP_MEMORY_RECALL",A[A.KP_MEMORY_STORE=102]="KP_MEMORY_STORE",A[A.KP_MEMORY_SUBTRACT=103]="KP_MEMORY_SUBTRACT",A[A.KP_MULTIPLY=104]="KP_MULTIPLY",A[A.KP_PAREN_LEFT=105]="KP_PAREN_LEFT",A[A.KP_PAREN_RIGHT=106]="KP_PAREN_RIGHT",A[A.KP_MINUS=107]="KP_MINUS",A[A.KP_SEPARATOR=108]="KP_SEPARATOR",A[A.NUMPAD_UP=109]="NUMPAD_UP",A[A.NUMPAD_DOWN=110]="NUMPAD_DOWN",A[A.NUMPAD_RIGHT=111]="NUMPAD_RIGHT",A[A.NUMPAD_LEFT=112]="NUMPAD_LEFT",A[A.NUMPAD_BEGIN=113]="NUMPAD_BEGIN",A[A.NUMPAD_HOME=114]="NUMPAD_HOME",A[A.NUMPAD_END=115]="NUMPAD_END",A[A.NUMPAD_INSERT=116]="NUMPAD_INSERT",A[A.NUMPAD_DELETE=117]="NUMPAD_DELETE",A[A.NUMPAD_PAGE_UP=118]="NUMPAD_PAGE_UP",A[A.NUMPAD_PAGE_DOWN=119]="NUMPAD_PAGE_DOWN",A[A.ESCAPE=120]="ESCAPE",A[A.F1=121]="F1",A[A.F2=122]="F2",A[A.F3=123]="F3",A[A.F4=124]="F4",A[A.F5=125]="F5",A[A.F6=126]="F6",A[A.F7=127]="F7",A[A.F8=128]="F8",A[A.F9=129]="F9",A[A.F10=130]="F10",A[A.F11=131]="F11",A[A.F12=132]="F12",A[A.F13=133]="F13",A[A.F14=134]="F14",A[A.F15=135]="F15",A[A.F16=136]="F16",A[A.F17=137]="F17",A[A.F18=138]="F18",A[A.F19=139]="F19",A[A.F20=140]="F20",A[A.F21=141]="F21",A[A.F22=142]="F22",A[A.F23=143]="F23",A[A.F24=144]="F24",A[A.F25=145]="F25",A[A.FN_LOCK=146]="FN_LOCK",A[A.PRINT_SCREEN=147]="PRINT_SCREEN",A[A.SCROLL_LOCK=148]="SCROLL_LOCK",A[A.PAUSE=149]="PAUSE",A[A.BROWSER_BACK=150]="BROWSER_BACK",A[A.BROWSER_FAVORITES=151]="BROWSER_FAVORITES",A[A.BROWSER_FORWARD=152]="BROWSER_FORWARD",A[A.BROWSER_HOME=153]="BROWSER_HOME",A[A.BROWSER_REFRESH=154]="BROWSER_REFRESH",A[A.BROWSER_SEARCH=155]="BROWSER_SEARCH",A[A.BROWSER_STOP=156]="BROWSER_STOP",A[A.EJECT=157]="EJECT",A[A.LAUNCH_APP_1=158]="LAUNCH_APP_1",A[A.LAUNCH_APP_2=159]="LAUNCH_APP_2",A[A.LAUNCH_MAIL=160]="LAUNCH_MAIL",A[A.MEDIA_PLAY_PAUSE=161]="MEDIA_PLAY_PAUSE",A[A.MEDIA_SELECT=162]="MEDIA_SELECT",A[A.MEDIA_STOP=163]="MEDIA_STOP",A[A.MEDIA_TRACK_NEXT=164]="MEDIA_TRACK_NEXT",A[A.MEDIA_TRACK_PREVIOUS=165]="MEDIA_TRACK_PREVIOUS",A[A.POWER=166]="POWER",A[A.SLEEP=167]="SLEEP",A[A.AUDIO_VOLUME_DOWN=168]="AUDIO_VOLUME_DOWN",A[A.AUDIO_VOLUME_MUTE=169]="AUDIO_VOLUME_MUTE",A[A.AUDIO_VOLUME_UP=170]="AUDIO_VOLUME_UP",A[A.WAKE_UP=171]="WAKE_UP",A[A.COPY=172]="COPY",A[A.CUT=173]="CUT",A[A.PASTE=174]="PASTE",A))(dA||{}),As=(A=>(A[A.NONE=0]="NONE",A[A.SHIFT=1]="SHIFT",A[A.CTRL=2]="CTRL",A[A.ALT=4]="ALT",A[A.SUPER=8]="SUPER",A[A.CAPSLOCK=16]="CAPSLOCK",A[A.NUMLOCK=32]="NUMLOCK",A))(As||{}),Xi=(A=>(A[A.NONE=0]="NONE",A[A.PARTIAL=1]="PARTIAL",A[A.FULL=2]="FULL",A))(Xi||{});const ol=80;var xt=(A=>(A[A.BOLD=1]="BOLD",A[A.ITALIC=2]="ITALIC",A[A.UNDERLINE=4]="UNDERLINE",A[A.STRIKETHROUGH=8]="STRIKETHROUGH",A[A.INVERSE=16]="INVERSE",A[A.INVISIBLE=32]="INVISIBLE",A[A.BLINK=64]="BLINK",A[A.FAINT=128]="FAINT",A))(xt||{});class Er{constructor(e){this.exports=e.exports,this.memory=this.exports.memory}createKeyEncoder(){return new ch(this.exports)}createTerminal(e=80,t=24,s){return new Eh(this.exports,this.memory,e,t,s)}static async load(e){if(e)return Er.loadFromPath(e);const t=new URL("data:application/wasm;base64,AGFzbQEAAAABdRJgBH9/f38Bf2AFf39/f38AYAZ/f39/f38Bf2ACf38AYAJ/fwF/YAF/AGABfwF/YAN/f38AYAV/f39/fwF/YAN/f38Bf2AEf39/fwBgBn9/f39/fwBgAX8BfmAAAGAAAX9gAn9/AX5gA39+fgBgBX9+fn5+AAILAQNlbnYDbG9nAAMDxwTFBAQFAwYDBgMGAwYDBgcEAwYEBQcICQkEBwMJAwkECQkJBAMFBQMDBAcFAwYGBQQHBQAEBwUJBwYGBgYGBgYGBgUHAwMEBAQGCgUFBgkEAQoEBQUABwQEAwYFBAQGBgQJAAcBBwMDAwMHAwMHAQcDAwMDAwMHCgcDAwcFBQkGAwsLCwYDBwUDAwcDAwUHBQMDAwMGBwQKCgQKCgQEBAMDBQIHCgMHBwMHCgkHBwEKCwEDAwQKAwcEAwMHDAcJCQoECgoKAwgJAQcHCgAJCgoDBwMABwgEBQQEAwAHAwUGBwcFBQYHAwMKAQEDAwMDBAQGBgMEAwYGBQMFBQMDAwUDAwUFBAQJBwUEBgUHBAkEBAUDBAMFBgYJAAYECQcDBgUNBgcHBAQDAwQFAwcLBQUFAwQFAwAJAwcDBwQFBgQFBAQEBAQEBAQEBAQEBAQEBAQEBAQHBQQGBAYJBAUEBAQFBQUEBAQEBAUFBAQEBAQEBAQFBQQEBAUEBQQEBAQEBAQFBQQFBAQEBQQEBAQEBQQECQQFBAQEBAQEBAQEAwUEBAQEBAUFBAUEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQHBgQHBgYGBgYGBgQDBQkKCAYGCQYACAQGCQ4FBgMGAw4FDgUBBgkJCAoEAQYJBgQHBgkFBwQABAkHAwcDBwoKAQcKDwQEBAYHBwMDAwYDDAYDABADAwMMAwcEAAkCAgEMBwEADAUHBAQECQQJCQkEBAkJCQMIAAkJCQEGAgIAAgIBAQoJBQ4RBAUBcAEWFgUDAQATBgkBfwFBgIDAAAsHhhJNBm1lbW9yeQIAFWdob3N0dHlfa2V5X2V2ZW50X25ldwABFmdob3N0dHlfa2V5X2V2ZW50X2ZyZWUAAhxnaG9zdHR5X2tleV9ldmVudF9zZXRfYWN0aW9uAAMcZ2hvc3R0eV9rZXlfZXZlbnRfZ2V0X2FjdGlvbgAEGWdob3N0dHlfa2V5X2V2ZW50X3NldF9rZXkABRlnaG9zdHR5X2tleV9ldmVudF9nZXRfa2V5AAYaZ2hvc3R0eV9rZXlfZXZlbnRfc2V0X21vZHMABxpnaG9zdHR5X2tleV9ldmVudF9nZXRfbW9kcwAII2dob3N0dHlfa2V5X2V2ZW50X3NldF9jb25zdW1lZF9tb2RzAAkjZ2hvc3R0eV9rZXlfZXZlbnRfZ2V0X2NvbnN1bWVkX21vZHMACh9naG9zdHR5X2tleV9ldmVudF9zZXRfY29tcG9zaW5nAAsfZ2hvc3R0eV9rZXlfZXZlbnRfZ2V0X2NvbXBvc2luZwAMGmdob3N0dHlfa2V5X2V2ZW50X3NldF91dGY4AA0aZ2hvc3R0eV9rZXlfZXZlbnRfZ2V0X3V0ZjgADilnaG9zdHR5X2tleV9ldmVudF9zZXRfdW5zaGlmdGVkX2NvZGVwb2ludAAPKWdob3N0dHlfa2V5X2V2ZW50X2dldF91bnNoaWZ0ZWRfY29kZXBvaW50ABAXZ2hvc3R0eV9rZXlfZW5jb2Rlcl9uZXcAERhnaG9zdHR5X2tleV9lbmNvZGVyX2ZyZWUAEhpnaG9zdHR5X2tleV9lbmNvZGVyX3NldG9wdAATGmdob3N0dHlfa2V5X2VuY29kZXJfZW5jb2RlABQPZ2hvc3R0eV9vc2NfbmV3ACEQZ2hvc3R0eV9vc2NfZnJlZQAjEGdob3N0dHlfb3NjX25leHQAJRFnaG9zdHR5X29zY19yZXNldABAD2dob3N0dHlfb3NjX2VuZABEGGdob3N0dHlfb3NjX2NvbW1hbmRfdHlwZQBLGGdob3N0dHlfb3NjX2NvbW1hbmRfZGF0YQBMFWdob3N0dHlfcGFzdGVfaXNfc2FmZQBNFWdob3N0dHlfY29sb3JfcmdiX2dldABPD2dob3N0dHlfc2dyX25ldwBQEGdob3N0dHlfc2dyX2ZyZWUAURFnaG9zdHR5X3Nncl9yZXNldABSFmdob3N0dHlfc2dyX3NldF9wYXJhbXMAUxBnaG9zdHR5X3Nncl9uZXh0AFYYZ2hvc3R0eV9zZ3JfdW5rbm93bl9mdWxsAFobZ2hvc3R0eV9zZ3JfdW5rbm93bl9wYXJ0aWFsAFsZZ2hvc3R0eV9zZ3JfYXR0cmlidXRlX3RhZwBcG2dob3N0dHlfc2dyX2F0dHJpYnV0ZV92YWx1ZQBdFGdob3N0dHlfdGVybWluYWxfbmV3AF4gZ2hvc3R0eV90ZXJtaW5hbF9uZXdfd2l0aF9jb25maWcAXxVnaG9zdHR5X3Rlcm1pbmFsX2ZyZWUAjQEXZ2hvc3R0eV90ZXJtaW5hbF9yZXNpemUA2gEWZ2hvc3R0eV90ZXJtaW5hbF93cml0ZQC+AxtnaG9zdHR5X3JlbmRlcl9zdGF0ZV91cGRhdGUAvwMdZ2hvc3R0eV9yZW5kZXJfc3RhdGVfZ2V0X2NvbHMAwgMdZ2hvc3R0eV9yZW5kZXJfc3RhdGVfZ2V0X3Jvd3MAwwMhZ2hvc3R0eV9yZW5kZXJfc3RhdGVfZ2V0X2N1cnNvcl94AMQDIWdob3N0dHlfcmVuZGVyX3N0YXRlX2dldF9jdXJzb3JfeQDFAydnaG9zdHR5X3JlbmRlcl9zdGF0ZV9nZXRfY3Vyc29yX3Zpc2libGUAxgMhZ2hvc3R0eV9yZW5kZXJfc3RhdGVfZ2V0X2JnX2NvbG9yAMcDIWdob3N0dHlfcmVuZGVyX3N0YXRlX2dldF9mZ19jb2xvcgDIAyFnaG9zdHR5X3JlbmRlcl9zdGF0ZV9pc19yb3dfZGlydHkAyQMfZ2hvc3R0eV9yZW5kZXJfc3RhdGVfbWFya19jbGVhbgDLAyFnaG9zdHR5X3JlbmRlcl9zdGF0ZV9nZXRfdmlld3BvcnQAzAMhZ2hvc3R0eV9yZW5kZXJfc3RhdGVfZ2V0X2dyYXBoZW1lAM4DJGdob3N0dHlfdGVybWluYWxfaXNfYWx0ZXJuYXRlX3NjcmVlbgDPAyNnaG9zdHR5X3Rlcm1pbmFsX2hhc19tb3VzZV90cmFja2luZwDQAxlnaG9zdHR5X3Rlcm1pbmFsX2dldF9tb2RlANEDJmdob3N0dHlfdGVybWluYWxfZ2V0X3Njcm9sbGJhY2tfbGVuZ3RoANIDJGdob3N0dHlfdGVybWluYWxfZ2V0X3Njcm9sbGJhY2tfbGluZQDTAyhnaG9zdHR5X3Rlcm1pbmFsX2dldF9zY3JvbGxiYWNrX2dyYXBoZW1lANQDH2dob3N0dHlfdGVybWluYWxfaXNfcm93X3dyYXBwZWQA1QMdZ2hvc3R0eV90ZXJtaW5hbF9oYXNfcmVzcG9uc2UA1gMeZ2hvc3R0eV90ZXJtaW5hbF9yZWFkX3Jlc3Bv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IgVBv39KDQBBLiEBIARBP3FBBnQgAy0AAEEPcUEMdHIiA0H/D0sNAQsgAiABOwAJIAJBDGohAQwCCwJAIANBgPADcUGAsANHDQAgAkEAOgAKIAJBgN4AOwEIIAJBADoADiACQQA7AQwgAkEMaiEBDAILIAJBADoADiACQQA7AAkgAiADIAVBP3FyOwEMIAJBDGohAQwBCwJAIAMsAAEiAUFASA0AIAJBADoACiACQYDaADsBCCACQQA6AA4gAkEAOwEMIAJBDGohAQwBCwJAIAMsAAIiBEFASA0AIAJBADoACiACQYDaADsBCCACQQA6AA4gAkEAOwEMIAJBDGohAQwBCwJAIAMsAAMiBUFASA0AIAJBADoACiACQYDaADsBCCACQQA6AA4gAkEAOwEMIAJBDGohAQwBCwJAIAFBP3FBBnQgAy0AAEEHcUEMdHIiAUH/B0sNACACQQA6AAogAkGA3AA7AQggAkEAOgAOIAJBADsBDCACQQxqIQEMAQsCQCABQYCIAUkNACACQQA6AAogAkGA4AA7AQggAkEAOgAOIAJBADsBDCACQQxqIQEMAQsgAkEAOwAJIAIgASAEQT9xckEGdCAFQT9xciIBOwEMIAIgAUEQdjoADiACQQxqIQELIAFBAmotAAAhAyAAIAEvAQAiATsBACAAQQJqIANBH3EiAzoAACAAQQE6AAQgAiABOwEEIAIgAzoABgwBCyAAQgA3AgALIAJBEGokgICAgAAL3QECBX8BfiOAgICAAEEQayIDJICAgIAAQQAhBAJAA0ACQCACIARLDQBBACEFDAILIAEgBGohBgJAAkAgACgCDCIHIAIgBGsiBWogACgCCEsNAAJAIAVFDQAgACgCBCAHaiAGIAX8CgAACyAAIAAoAgwgBWo2AgwMAQsgACgCACgCACEHIAMgBTYCBCADIAY2AgAgA0EIaiAAIANBAUEBIAcRgYCAgACAgICAACADKQMIIghCIIinIgVB//8DcQ0CIAinIQULIAUgBGohBAwACwsgA0EQaiSAgICAACAFC9YJAQF+QgAhAgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABDrABQQABAgMEBQYHCAkKCwwNDg9BQUEQERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uQUFBQUFBQUFBQUFBLzBBQUFBQUFBQUFBQUFBQUExMjM0NTY3ODk6O0FBQUE8PUE+QUFBQUE/QUFAQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBC0EAKQOIqsiAACECDEALQQApA5CqyIAAIQIMPwtBACkDmKrIgAAhAgw+C0EAKQOgqsiAACECDD0LQQApA6iqyIAAIQIMPAtBACkDsKrIgAAhAgw7C0EAKQO4qsiAACECDDoLQQApA8CqyIAAIQIMOQtBACkDyKrIgAAhAgw4C0EAKQPQqsiAACECDDcLQQApA9iqyIAAIQIMNgtBACkD4KrIgAAhAgw1C0EAKQPoqsiAACECDDQLQQApA/CqyIAAIQIMMwtBACkD+KrIgAAhAgwyC0EAKQOAq8iAACECDDELQQApA4iryIAAIQIMMAtBACkDkKvIgAAhAgwvC0EAKQOYq8iAACECDC4LQQApA6CryIAAIQIMLQtBACkDqKvIgAAhAgwsC0EAKQOwq8iAACECDCsLQQApA7iryIAAIQIMKgtBACkDwKvIgAAhAgwpC0EAKQPIq8iAACECDCgLQQApA9CryIAAIQIMJwtBACkD2KvIgAAhAgwmC0EAKQPgq8iAACECDCULQQApA+iryIAAIQIMJAtBACkD8KvIgAAhAgwjC0EAKQP4q8iAACECDCILQQApA4CsyIAAIQIMIQtBACkDiKzIgAAhAgwgC0EAKQOQrMiAACECDB8LQQApA5isyIAAIQIMHgtBACkDoKzIgAAhAgwdC0EAKQOorMiAACECDBwLQQApA7CsyIAAIQIMGwtBACkDuKzIgAAhAgwaC0EAKQPArMiAACECDBkLQQApA8isyIAAIQIMGAtBACkD0KzIgAAhAgwXC0EAKQPYrMiAACECDBYLQQApA+CsyIAAIQIMFQtBACkD6KzIgAAhAgwUC0EAKQPwrMiAACECDBMLQQApA/isyIAAIQIMEgtBACkDgK3IgAAhAgwRC0EAKQOIrciAACECDBALQQApA7CqyIAAIQIMDwtBACkDuKrIgAAhAgwOC0EAKQPAqsiAACECDA0LQQApA8iqyIAAIQIMDAtBACkD0KrIgAAhAgwLC0EAKQPYqsiAACECDAoLQQApA+CqyIAAIQIMCQtBACkD6KrIgAAhAgwIC0EAKQPwqsiAACECDAcLQQApA/iqyIAAIQIMBgtBACkDkK3IgAAhAgwFC0EAKQPgrMiAACECDAQLQQApA/isyIAAIQIMAwtBACkDgKvIgAAhAgwCC0EAKQOYrciAACECDAELQQApA9isyIAAIQILIAAgAjcCAAsYACAAIAJB////AHFBCkEAIAEQ5oOAgAALQwEBfwJAIABBzJTJgABBARCagICAACICQf//A3ENACAAQYy1yoAAIAEvAQAgAUECai0AAEEQdHIQnICAgAAhAgsgAgsWACAAIAJB/wNxQQpBACABEOaDgIAACxUAIAAgAkEDcUEKQQAgARDmg4CAAAs8AQF/I4CAgIAAQRBrIgMkgICAgAAgAyACOgAPIAAgA0EPakEBIAEQoYSAgAAhAiADQRBqJICAgIAAIAILyQECAX8BfiOAgICAAEHwEGsiAiSAgICAAAJAAkAgAA0AQaDpyYAAIQAMAQsgAkG41MeAADYC7BAgAiAANgLoECACQegQaiEACwJAAkAgACkCACIDp0HQEEECQQAgA0IgiKcoAgARgICAgACAgICAACIADQBBfyEADAELIAJBAToAECACIAM3AwggAkEYaiACQQhqEKKAgIAAAkBB0BBFDQAgACACQRhqQdAQ/AoAAAsgASAANgIAQQAhAAsgAkHwEGokgICAgAAgAAuZAQEBfyOAgICAAEHAAGsiAiSAgICAACACQQhqQQhqIAFBCGooAgA2AgAgAkEAOgAEIAIgASkCADcDCAJAQSxFDQAgAkEUakEAQSz8CwALIAJBADoAAwJAQThFDQAgACACQQhqQTj8CgAACyAAQQA2AkAgAEIANwI4IAAgAi0ABDoATCAAIAItAAM6AM0QIAJBwABqJICAgIAACz0BAn8CQCAARQ0AIAAoAgAhASAAKAIEIQIgABCkgICAACABIABB0BBBAkEAIAIoAgwRgYCAgACAgICAAAsL4gEBBH8jgICAgABBEGsiASSAgICAAAJAIAAtAExBP3FFDQACQAJAAkAgACgCDEF2ag4CAQACCyABIAApAgA3AwggAUEIaiAAKAIQIAAoAhgQwYCAgAAMAQsgAEEQaiAAEMKAgIAACyAAQQA6AM0QIABBADoATAJAQTRFDQAgAEEMakEAQTT8CwALIAAoAkAiAkUNACABIAApAgA3AwAgACgCACEDIAAoAgQhBCACIAEQw4CAgAAgAyACQQxBAkEAIAQoAgwRgYCAgACAgICAACAAQQA2AkALIAFBEGokgICAgAALDAAgACABEKaAgIAAC69MAgV/AX4jgICAgABB4BBrIgIkgICAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAjwiA0H/D0kNACAALQBMQT9xIgNBAUcNAQyiAQsgACADQQFqIgQ2AjwgAEHNAGoiBSADaiIGIAE6AAAgAC0ATEE/cQ45AgGiARsDBCwtLgUzNDU2Nzg5Bj1BQghGCUxNTlUPb3BxchBHSKIBCguiAVNUEXYHQAxdEV5fDWAOZ2hpAgsgAiADOgAKIAJCgBA3AsAQIAJBsL/HgAA2ArgQIAIgAkEgajYCvBAgAkG4EGogAkEKahCngICAACIDQf//A3FFDZ4BIAJBuBBqQaDpyYAAQT8QqICAgAAgAi8B0BANoAEgAkGgEGpBEGogAkG4EGpBEGopAgA3AwAgAkGgEGpBCGoiASACQbgQakEIaikCADcDACACIAIpArgQNwOgEAJAIAEgAkEKahCngICAAEH//wNxRQ0AIAJBoBBqEKmAgIAADKEBCyACQdQQaiACQaAQahCqgICAACACQaAQahCpgICA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ACADQf//A3FFDQBBoOnJgAAgASAEELaAgIAACyAAQQE6AEwMFAsgAkKAEDcCwBAgAkGwv8eAADYCuBAgAiACQSBqNgK8EAJAAkACQCACQbgQahC4gICAACIDQf//A3FFDQAgAkG4EGpBoOnJgABBwQAQqICAgAAgAi8B0BANAiACQaAQakEQaiACQbgQakEQaikCADcDACACQaAQakEIaiIBIAJBuBBqQQhqKQIANwMAIAIgAikCuBA3A6AQAkAgARC4gICAAEH//wNxRQ0AIAJBoBBqEKmAgIAADAMLIAJB1BBqIAJBoBBqEKqAgIAAIAJBoBBqEKmAgIAAIAIvAdwQDQIgAigC2BAhBCACKALUECEBDAELIAIoArwQIQEgAigCxBAhBAsgASAEEICAgIAAIANB//8DcUUNAEGg6cmAACABIAQQtoCAgAALIABBAToATAwTCyACQoAQNwLAECACQbC/x4AANgK4ECACIAJBIGo2ArwQAkACQAJAIAJBuBBqELmAgIAAIgNB//8DcUUNACACQbgQakGg6cmAAEHBABCogICAACACLwHQEA0CIAJBoBBqQRBqIAJBuBBqQRBqKQIANwMAIAJBoBBqQQhqIgEgAkG4EGpBCGopAgA3AwAgAiACKQK4EDcDoBACQCABELmAgIAAQf//A3FFDQAgAkGgEGoQqYCAgAAMAwsgAkHUEGogAkGgEGoQqoCAgAAgAkGgEGoQqYCAgAAgAi8B3BANAiACKALYECEEIAIoAtQQIQEMAQsgAigCvBAhASACKALEECEECyABIAQQgICAgAAgA0H//wNxRQ0AQaDpyYAAIAEgBBC2gICAAAsgAEEBOgBMDBILIAJCgBA3AsAQIAJBsL/HgAA2ArgQIAIgAkEgajYCvBACQAJAAkAgAkG4EGoQuoCAgAAiA0H//wNxRQ0AIAJBuBBqQaDpyYAAQcEAEKiAgIAAIAIvAdAQDQIgAkGgEGpBEGogAkG4EGpBEGopAgA3AwAgAkGgEGpBCGoiASACQbgQakEIaikCADcDACACIAIpArgQNwOgEAJAIAEQuoCAgABB//8DcUUNACACQaAQahCpgICAAAwDCyACQdQQaiACQaAQahCqgICAACACQaAQahCpgICAACACLwHcEA0CIAIoAtgQIQQgAigC1BAhAQwBCyACKAK8ECEBIAIoAsQQIQQLIAEgBBCAgICAACADQf//A3FFDQBBoOnJgAAgASAEELaAgIAACyAAQQE6AEwMEQsgAkKAEDcCwBAgAkGwv8eAADYCuBAgAiACQSBqNgK8EAJAAkACQCACQbgQahC7gICAACIDQf//A3FFDQAgAkG4EGpBoOnJgABBwQAQqICAgAAgAi8B0BANAiACQaAQakEQaiACQbgQakEQaikCADcDACACQaAQakEIaiIBIAJBuBBqQQhqKQIANwMAIAIgAikCuBA3A6AQAkAgARC7gICAAEH//wNxRQ0AIAJBoBBqEKmAgIAADAMLIAJB1BBqIAJBoBBqEKqAgIAAIAJBoBBqEKmAgIAAIAIvAdwQDQIgAigC2BAhBCACKALUECEBDAELIAIoArwQIQEgAigCxBAhBAsgASAEEICAgIAAIANB//8DcUUNAEGg6cmAACABIAQQtoCAgAALIABBAToATAwQCyACQoAQNwLAECACQbC/x4AANgK4ECACIAJBIGo2ArwQAkACQAJAIAJBuBBqELyAgIAAIgNB//8DcUUNACACQbgQakGg6cmAAEHBABCogICAACACLwHQEA0CIAJBoBBqQRBqIAJBuBBqQRBqKQIANwMAIAJBoBBqQQhqIgEgAkG4EGpBCGopAgA3AwAgAiACKQK4EDcDoBACQCABELyAgIAAQf//A3FFDQAgAkGgEGoQqYCAgAAMAwsgAkHUEGogAkGgEGoQqoCAgAAgAkGgEGoQqYCAgAAgAi8B3BANAiACKALYECEEIAIoAtQQIQEMAQsgAigCvBAhASACKALEECEECyABIAQQgICAgAAgA0H//wNxRQ0AQaDpyYAAIAEgBBC2gICAAAsgAEEBOgBMDA8LIABBHDoATAwOCyACQoAQNwLAECACQbC/x4AANgK4ECACIAJBIGo2ArwQAkACQAJAIAJBuBBqEL2AgIAAIgNB//8DcUUNACACQbgQakGg6cmAAEHBABCogICAACACLwHQEA0CIAJBoBBqQRBqIAJBuBBqQRBqKQIANwMAIAJBoBBqQQhqIgEgAkG4EGpBCGopAgA3AwAgAiACKQK4EDcDoBACQCABEL2AgIAAQf//A3FFDQAgAkGgEGoQqYCAgAAMAwsgAkHUEGogAkGgEGoQqoCAgAAgAkGgEGoQqYCAgAAgAi8B3BANAiACKALYECEEIAIoAtQQIQEMAQsgAigCvBAhASACKALEECEECyABIAQQgICAgAAgA0H//wNxRQ0AQaDpyYAAIAEgBBC2gICAAAsgAEEBOgBMDA0LIAJCgBA3AsAQIAJBsL/HgAA2ArgQIAIgAkEgajYCvBACQAJAAkAgAkG4EGoQvoCAgAAiA0H//wNxRQ0AIAJBuBBqQaDpyYAAQcEAEKiAgIAAIAIvAdAQDQIgAkGgEGpBEGogAkG4EGpBEGopAgA3AwAgAkGgEGpBCGoiASACQbgQakEIaikCADcDACACIAIpArgQNwOgEAJAIAEQvoCAgABB//8DcUUNACACQaAQahCpgICAAAwDCyACQdQQaiACQaAQahCqgICAACACQaAQahCpgICAACACLwHcEA0CIAIoAtgQIQQgAigC1BAhAQwBCyACKAK8ECEBIAIoAsQQIQQLIAEgBBCAgICAACADQf//A3FFDQBBoOnJgAAgASAEELaAgIAACyAAQQE6AEwMDAsgASAEEICAgIAAIANB//8DcUUNAEGg6cmAACABIAQQtoCAgAALIABBAToATAwKCyAAQQE6AEwMCQsgAkKAEDcCwBAgAkGwv8eAADYCuBAgAiACQSBqNgK8EAJAAkACQCACQbgQahC/gICAACIDQf//A3FFDQAgAkG4EGpBoOnJgABBwgAQqICAgAAgAi8B0BANAiACQaAQakEQaiACQbgQakEQaikCADcDACACQaAQakEIaiIBIAJBuBBqQQhqKQIANwMAIAIgAikCuBA3A6AQAkAgARC/gICAAEH//wNxRQ0AIAJBoBBqEKmAgIAADAMLIAJB1BBqIAJBoBBqEKqAgIAAIAJBoBBqEKmAgIAAIAIvAdwQDQIgAigC2BAhBCACKALUECEBDAELIAIoArwQIQEgAigCxBAhBAsgASAEEICAgIAAIANB//8DcUUNAEGg6cmAACABIAQQtoCAgAALIABBAToATAwICyAAQQE6AM0QIABBATYCDCAAQSo6AEwgACAENgI4IAAgAEEQajYCRAwHCyABIAQQgICAgAAgA0H//wNxRQ0AQaDpyYAAIAEgBBC2gICAAAsgAEEBOgBMDAULIAEgBBCAgICAACADQf//A3FFDQBBoOnJgAAgASAEELaAgIAACyAAQQE6AEwMAwsgAigCvBAhASACKALEECEECyAB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ABCagICAAAsTACAAQb6byoAAQcEAEJqAgIAACxMAIABB/JrKgABBwgAQmoCAgAALCgAgABCkgICAAAs6AQF/AkAgAkEMbCIDRQ0AIAAoAgAgAUGq1arVeiACGyADQQJBACAAKAIEKAIMEYGAgIAAgICAgAALC6kBAwF/AX4CfyOAgICAAEEQayICJICAgIAAIAIgASkCACIDNwMAIAIgACgCHEEfcSIBOgAPIANCIIinIQQgA6chBQJAA0AgAUEfcUUNASACIAFBf2pBH3EiAToADyAFIAAoAhggAUECdGooAgBBDCABQQJqdEECQQAgBCgCDBGBgICAAICAgIAADAALCyACIAAoAhggACgCHBD3g4CAACACQRBqJICAgIAACzQBAX8CQCAAKAIIIgJFDQAgASgCACAAKAIAIAJBAEEAIAEoAgQoAgwRgYCAgACAgICAAAsLPwEBfyOAgICAAEEQayICJICAgIAAIAJBAToADyACIAE6AA4gACACQQ5qEMWAgIAAIQEgAkEQaiSAgICAACABC84KAQR/I4CAgIAAQdAQayICJICAgIAAAkACQAJAAkAgAC0AzRANACACIAAoAjw2AgQgAiAAQc0AajYCACACQoAQNwKwECACQbC/x4AANgKoECACIAJBEGo2AqwQAkAgAkGoEGogAhDGgICAACIAQf//A3ENACACKAKsECEDIAIoArQQIQEMAgsgAkGoEGpBoOnJgABBJhCogICAACACLwHAEA0CIAJBkBBqQRBqIAJBqBBqQRBqKQIANwMAIAJBkBBqQQhqIgMgAkGoEGpBCGopAgA3AwAgAiACKQKoEDcDkBACQCADIAIQxoCAgABB//8DcUUNACACQZAQahCpgICAAAwDCyACQcQQaiACQZAQahCqgICAACACQZAQahCpgICAACACLwHMEA0CIAIoAsgQIQEgAigCxBAhAwwBCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAALQBMQT9xIgNBYWoOGgMRAhERCRERBBERCwEGBxEKBQoKEQoKEREKAAsgA0EGRg0HDBALIAIgACkCADcDCAJAIAAoAkAiBCACQQhqQQAQtYCAgABB//8DcQ0AIAQoAgQhBSAAKAJEIgMgBCgCADYCACAFQX9qIQQMDwsgAkKAEDcCsBAgAkGwv8eA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AAALQQEhAwsgAkGgAWokgICAgAAgAwvJEwEKfwJAIAEoAgQiAiABKAIMIgNLDQAgASADQQFqNgIMIABBrMDHgABBlMDHgAAgAxsiASkCADcCACAAQQhqIAFBCGopAgA3AgAgAEEQaiABQRBqKQIANwIADwsgASADQQFqIgQ2AgwgAiADayEFIAEoAgAiBiADQQF0aiIHLwEAIQgCQCABLwEIIAFBCmotAABBEHRyIglBASADdHEiCkH///8HcUUNAAJAIAhBWmoiC0EUSw0AQQEgC3RBgYjAAHENAQsgCEEERg0AIAlB////B3EhCUEBIQgDQCADIAhqIQogCEEBaiEIIAkgCnZBAXENAAsgAEEBOgAUIAAgBzYCDCAAIAI2AgggACAGNgIEIABBATYCACABIAMgCGo2AgwgACAIIAUgCCAFSRs2AhAPCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAIDjwAAQIDFwQFBgcIFhYWFhYWFhYWFhYJCgsMDRYODxAWFhYWFhYWFhgRFhYWFhYWFhYZEhYWFhMWFBYWGhUWCyAAQRBqQQApAqTAx4AANwIAIABBCGpBACkCnMDHgAA3AgAgAEEAKQKUwMeAADcCAA8LIABBEGpBACkC1MDHgAA3AgAgAEEIakEAKQLMwMeAADcCACAAQQApAsTAx4AANwIADwsgAEEQakEAKQLswMeAADcCACAAQQhqQQApAuTAx4AANwIAIABBACkC3MDHgAA3AgAPCyAAQRBqQQApAoTBx4AANwIAIABBCGpBACkC/MDHgAA3AgAgAEEAKQL0wMeAADcCAA8LIABBEGpBACkCnMHHgAA3AgAgAEEIakEAKQKUwceAADcCACAAQQApAozBx4AANwIADwsgAEEQakEAKQKcwceAADcCACAAQQhqQQApApTBx4AANwIAIABBACkCjMHHgAA3AgAPCyAAQRBqQQApArTBx4AANwIAIABBCGpBACkCrMHHgAA3AgAgAEEAKQKkwceAADcCAA8LIABBEGpBACkCzMHHgAA3AgAgAEEIakEAKQLEwceAADcCACAAQQApArzBx4AANwIADwsgAEEQakEAKQLkwceAADcCACAAQQhqQQApAtzBx4AANwIAIABBACkC1MHHgAA3AgAPCyAAQQI6AAQgAEEHNgIAIABBAToAFA8LIABBEGpBACkC/MHHgAA3AgAgAEEIakEAKQL0wceAADcCACAAQQApAuzBx4AANwIADwsgAEEQakEAKQKUwseAADcCACAAQQhqQQApAozCx4AANwIAIABBACkChMLHgAA3AgAPCyAAQQA6AAQgAEEHNgIAIABBAToAFA8LIABBEGpBACkCrMLHgAA3AgAgAEEIakEAKQKkwseAADcCACAAQQApApzCx4AANwIADwsgAEEQakEAKQLEwseAADcCACAAQQhqQQApArzCx4AANwIAIABBACkCtMLHgAA3AgAPCyAAQRBqQQApAtzCx4AANwIAIABBCGpBACkC1MLHgAA3AgAgAEEAKQLMwseAADcCAA8LIABBEGpBACkC9MLHgAA3AgAgAEEIakEAKQLswseAADcCACAAQQApAuTCx4AANwIADwsgAEEQakEAKQKMw8eAADcCACAAQQhqQQApAoTDx4AANwIAIABBACkC/MLHgAA3AgAPCyAAQRBqQQApAqTDx4AANwIAIABBCGpBACkCnMPHgAA3AgAgAEEAKQKUw8eAADcCAA8LIABBEGpBACkCvMPHgAA3AgAgAEEIakEAKQK0w8eAADcCACAAQQApAqzDx4AANwIADwsgAEEQakEAKQLUw8eAADcCACAAQQhqQQApAszDx4AANwIAIABBACkCxMPHgAA3AgAPCyAAQRBqQQApAuzDx4AANwIAIABBCGpBACkC5MPHgAA3AgAgAEEAKQLcw8eAADcCAA8LIAhBYmpB//8DcUEISQ0HIAhB+P8DcUEoRg0GIAhBpn9qQf//A3FBCEkNBSAIQZx/akH//wNxQQhPDQkgAEEbNgIAIABBAToAFCAAIActAABBpH9qOgAEDwsgCkH///8HcUUNA0EBIQggCUH///8HcSAEdkEBcQ0HIABBAToAFCAAQQc2AgAgASADQQJqNgIMAkAgBy8BAiIBQQVLDQAgASEICyAAIAhBB3E6AAQPCyAFQQFNDQcCQAJAIAcvAQJBfmoOBAAJCQEJC0EFIQggBUEFSQ0IQQQhAgJAAkAgCkH///8HcQ0AQQYhCkEIIQkMAQtBBiEKQQghCQJAIAEQ2ICAgABBfWoOAgEACQtBCiEJQQghCkEGIQhBBiECCyABIAMg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gIAAIAIoAgAhBCACLwEKIQUgAi8BCCEGIANBADYCoAQgA0IANwOYBCADIAEpAgA3A5AEQQQhBwJAAkACQAJAAkADQCAHRQ0BIANBqARqIANBkARqEOeAgIAAIAMvAawEIggNAiADKAKoBCIIIAMoAqAENgIAIAMgCDYCoAQgB0F/aiEHDAALCyADQeADakEIaiADQZAEakEIaikDADcDACADQeADakEQaiADQZAEakEQaigCADYCACADIAMpA5AENwPgAyADQgA3A5gEIANBADYCoAQgA0EAKQOg6cmAADcDkARBBCEHAkADQCAHRQ0BIANBqARqIANBkARqEOqAgIAAAkAgAy8BrAQiCA0AIAMoAqgEIgggAygCoAQ2AgAgAyAINgKgBCAHQX9qIQcMAQsLIANBkARqEPuAgIAAIANB4ANqEPuAgIAADAILQQghByADQfgDakEIaiADQZAEakEIaikDADcDACADQfgDakEQaiADQZAEakEQaigCADYCACADIAMpA5AENwP4AyADQQA2AqAEIANCADcDmAQgAyABKQIANwOQBAJAA0AgB0UNASADQagEaiADQZAEahD4gICAAAJAIAMvAawEIggNACADKAKoBCIIIAMoAqAENgIAIAMgCDYCoAQgB0F/aiEHDAELCyADQZAEahD7gICAACADQfgDahD7gICAACADQeADahD7gICAAAwCCyADQdgCakEIaiIIIANBkARqQQhqKQMANwMAIANB2AJqQRBqIgcgA0GQBGpBEGooAgA2AgAgA0GIA2pBCGoiCSADQeADakEIaikDADcDACADQYgDakEQaiIKIANB4ANqQRBqKAIANgIAIANB8AJqQQhqIgsgA0H4A2pBCGopAwA3AwAgA0HwAmpBEGoiDCADQfgDakEQaigCADYCACADIAMpA5AENwPYAiADIAMpA+ADNwOIAyADIAMpA/gDNwPwAiADIAEpAgA3A5ACIANBqAJqIAooAgA2AgAgA0GQAmpBEGogCSkDADcDACADIAMpA4gDNwOYAiADQbwCaiAMKAIANgIAIANBtAJqIAspAwA3AgAgAyADKQPwAjcCrAIgA0HQAmogBygCADYCACADQcgCaiAIKQMANwMAIAMgAykD2AI3A8ACIANCADcDoAMgA0GoA2ogA0GQAmogA0GgA2ogBiAFEOyAgIAAAkAgAy8BtAMiCEUNACADQZACahD6gICAAAwCCyADKAKwAyEKIAMoAqwDIQsgAygCqAMhCSADQbgDaiAGIAUQ9oCAgAACQCADLwG8AyIIRQ0AIANBkAJqEPqAgIAADAILIAMoArgDIQwgA0HAA2ogA0HAAmoQ94CAgAACQCADLwHEAyIIRQ0AIANBkAJqEPqAgIAADAILIAMoAsADIgdBADoACCAHQQA2AQQgByAJNgIAIANB0ANqQgA3AwAgA0IANwPIAyADQcgDaiADQZACaiAHEPyAgIAAIghB//8DcUUNAiADQcgDaiADQZACahCDgYCAACADQZACahD6gICAAAwBCyADQZAEahD7gICAAAsgACAIOwHwAgwBCyADQQE6ANwDIANBADoA2wMgAykDoAMhDQJAQcQARQ0AIANBEGogA0GQAmpBxAD8CgAACyADQZABakEIaiIIIANByANqQQhqKQMANwMAIAMgAykDyAM3A5ABIAMgBTYCaCADIAw2AmQgAyAENgJgIAMgCjYCXCADIAs2AlggAyAJNgJUIANCADcDCCADIA03AwAgAy0A3AMhBCADLQDbAyEKIANB9ABqIAgpAwA3AgAgAyADKQOQATcCbCADIAo6AI0BIAMgBDoAjAEgAyAFOwGKASADIAY7AYgBIANCADcDgAEgAyAHNgJ8IANBADoAqAEgA0EANgKkASADIAk2AqABIANBrAFqIAMgA0GgAWoQhIGAgAACQCADLwGwASIIRQ0AIAMQhYGAgAAgACAIOwHwAgwBCyADQQA6AIcCIANBADoAhgIgAyACKAIARToAuAEgAygCrAEiCCgCACIHKAIYIAcoAhAiB2ogCC8BBEEDdGoiAigCACEFIAgvAQYhBiABKQIAIQ0gA0EBOgCIAgJAQcgARQ0AIANBvQFqQQFqQQBByAD8CwALIABBADsB8AIgA0EAOgC2ASADQQA6ALcBAkBBkAFFDQAgACADQZAB/AoAAAsgACANNwOQAQJAQSRFIgENACAAQZgBakEAQST8CwALIABCADcDyAEgACAFIAdqIAZBA3RqNgLEASAAIAI2AsABIAAgCDYCvAEgACADLQCIAjoA0AEgACADLQCHAjoA0QEgACADLQCGAjoA0gECQEHJAEUNACAAQdMBaiADQb0BakHJAPwKAAALAkAgAQ0AIABBnAJqQQBBJPwLAAsgAEIANwHiAiAAQeoCakEAOgAAIABB2AJqQQApA5inyIAANwMAIABB0AJqQQApA5CnyIAANwMAIABByAJqQQApA4inyIAANwMAIABBACkDgKfIgAA3A8ACIAAgAy0AuAE6AOACIAAgAy0AtwE6AOECIAAgAy0AtgE6AOsCCyADQbAEaiSAgICAAAvOAQECfyOAgICAAEEQayIFJICAgIAAIAUgA0EfcToADwJAAkBBICACQQRqIgJBASADdCIDIAIgA0sbIgNBf2pnayICQf//A3FBfWoiBkENTw0AIAFCASACrIanakF8aiAGQQJ0QYi8yoAAaiIDKAIANgIAIAMgATYCAAwBCyABQgFBICADQYOABGpBEHZBf2pnayIDrUL//wODhqdBEHRqQXxqIANB//8DcUECdEHwvMqAAGoiAygCADYCACADIAE2AgALIAVBEGokgICAgAAL3AEBAX8jgICAgABB8ABrIgMkgICAgAACQEHMAEUNACADQQxqQbT2wYAAQcwA/AoAAAsgAyACNgIMIAMgASkCADcDWAJAAkACQCACQYEESQ0AIANB5ABqIANB2ABqIAJBgHxqEIiBgIAAIAMvAWwiAg0BIAMoAmQhAgJAIAMoAmgiAUUNACACQQAgAfwLAAsgAyABNgIUIAMgAjYCEAsgA0EMakEIEImBgIAAIABBADsBTEHMAEUNASAAIANBDGpBzAD8CgAADAELIAAgAjsBTAsgA0HwAGokgICAgAALoAEBA38jgICAgABBEGsiAiSAgICAACABKAIEIQMgASgCACEEIAIgAC0ADEEDcSIBOgAPIABBBGohAAJAA0AgAUEDcUUNASACIAFBf2ogAXFBA3E6AAwgACABaEEDcUECdGoiASgCABCLgYCAACAEIAEoAgBB8AJBA0EAIAMoAgwRgYCAgACAgICAACACLQAMIQEMAAsLIAJBEGokgICAgAALIwAgACgCACABQfgsQQNBACAAKAIEKAIMEYGAgIAAgICAgAALdwECfyOAgICAAEEQayICJICAgIAAAkACQAJAIAEoAhAiA0UNACABIAMoAgA2AhAMAQsgAkEIaiABEOeAgIAAAkAgAi8BDCIBRQ0AIAAgATsBBAwCCyACKAIIIQMLIAAgAzYCACAAQQA7AQQLIAJBEGokgICAgAALYgEBfyOAgICAAEEgayICJICAgIAAIAJB3KbIgAA2AhAgAiABNgIMIAJBFGogAkEMakG4AhDogICAAAJAIAIvARwiAQ0AIAAgAigCFDYCAAsgACABOwEEIAJBIGokgICAgAALxQECAX8BfiOAgICAAEEgayIDJICAgIAAQoCAgIAQIQQCQAJAQQANAAJAAkAgAg0AQvj///8PIQQMAQsgASkCACIEpyACQQNBACAEQiCIpygCABGAgICAAICAgIAAIgFFrUIghiABrYQhBCABRQ0BCyADIAI2AhQgAyAEPgIQIANBADsBGCADQRBqIQIMAQsgAyAEQiCIPQEMIANBBGohAgsgACACKQIANwIAIABBCGogAkEIaigCADYCACADQSBqJICAgIAAC3cBAn8jgICAgABBEGsiAiSAgICAAAJAAkACQCABKAIQIgNFDQAgASADKAIANgIQDAELIAJBCGogARDqgICAAAJAIAIvAQwiAUUNACAAIAE7AQQMAgsgAigCCCEDCyAAIAM2AgAgAEEAOwEECyACQRBqJICAgIAAC2MBAX8jgICAgABBIGsiAiSAgICAACACQdymyIAANgIQIAIgATYCDCACQRRqIAJBDGpBgIAkEOuAgIAAAkAgAi8BHCIBDQAgACACKAIUNgIACyAAIAE7AQQgAkEgaiSAgICAAAvFAQIBfwF+I4CAgIAAQSBrIgMkgICAgABCgICAgBAhBAJAAkBBAA0AAkACQCACDQBCgID8/w8hBAwBCyABKQIAIgSnIAJBEEEAIARCIIinKAIAEYCAgIAAgICAgAAiAUWtQiCGIAGthCEEIAFFDQELIAMgAjYCFCADIAQ+AhAgA0EAOwEYIANBEGohAgwBCyADIARCIIg9AQwgA0EEaiECCyAAIAIpAgA3AgAgAEEIaiACQQhqKAIANgIAIANBIGokgICAgAAL6g0BKn8jgICAgABBwARrIgUkgICAgAAgBUEBOgAGIAUgAzsBBCAFQQhqQbCSyYAAIAVBBGoQ7YCAgAACQAJAIAUvARwiA0UNACAAIAM7AQwMAQtBAEIBQSAgBSgCDCIGQRxuIgdBBHRBf2pna62GpyAGQRxJGyEIIAUvARoiCSAFLwEYIgpsQf//A3FBA3QiCyAJQQN0IgxqIg1BB3IhDiAKQQN0IQ8gBSgCECIQQQR2IREgAUEcaiESIAFBCGohEyAFQcACaiEUIAVBqAJqIRUgBUGkAWpB8ABqIRYgBUGAAmohFyAFQewBaiEYIAVB2AFqIRkgBUG8AWohGiAFKAIUIRsgBSgCCCEcQQAhHUEAIR5BACEfA0ACQAJAAkACQAJAIARB//8DcSIgRQ0AIAVBIGogExDmgICAAAJAIAUvASQiAUUNACAAIAE7AQwMBwsgBSgCICEhIAVBKGogEhDpgICAAAJAIAUvASwiAUUNACAAIAE7AQwMBwsgBSgCKCEiIAVBMGogHBDugICAACAFQTBqQRBqIgEoAgAhIyAFQcgAaiAQEO+AgIAAIAUoAkghJCAFQdgAaiAREPCAgIAAIAUoAlghJSAFQegAaiAbEPGAgIAAIAUoAmghJiAFQfgAaiAHEPKAgIAAIAVB+ABqQRBqIicoAgAhKCAFQZABaiAIEPOAgIAAIBogBSkDMDcCACAaQQhqIAVBMGpBCGopAwA3AgAgGkEQaiABKQMANwIAIBkgBSkDSDcCACAZQQhqIAVByABqQQhqKQMANwIAIAUgDTYCuAEgBSALNgK0ASAFIAw2ArABIAUgDDYCrAFBACEDIAVBADYCqAEgBSAOICNqQXhxIiM2AtQBIAUgJCAjakEDakF8cSIkNgLoASAFICggJiAlICRqQQdqQXhxIiVqQQNqQXxxIilqQQNqQXxxIiYgBSgCkAFqQf//A2pBgIB8cSIqNgKkASAYQQhqIAVB2ABqQQhqKQMANwIAIBggBSkDWDcCACAXQQhqIAVB6ABqQQhqKQMANwIAIBcgBSkDaDcCACAWQQhqIAVBkAFqQQhqKQMANwIAIBYgBSkDkAE3AgAgFUEQaiAnKQMANwIAIBVBCGogBUH4AGpBCGopAwA3AgAgFSAFKQN4NwIAIAUgJTYC/AEgBSAmNgKQAiAFICk2AqQCIAUgCTsB0gIgBSAKOwHQAiAFIBs2AswCIAUgEDYCyAIgBSAGNgLEAiAFIBw2AsACQQAhAQJAA0AgDCABRg0BICIgAWogDCADaq03AwAgAyAPaiEDIAFBCGohAQwACwsgBSANNgK0BCAFICI2ArAEIAVByANqIAVBsARqIBoQ9ICAgAAgBSgCiAIgJWohAwJAIAUoAoQCIitBA3QiAUUNACADICJqQf8BIAH8CwALIAUoAuABICNqIScgBSgCjAIhLAJAIAUoAtwBIi1BA3QiAUUNACAnICJqQf8BIAH8CwALICIgJGoiAUEANgIMIAEgBSgC+AEiKDYCCCABIAUpAvABQiCJNwIAIAUoAuQBIS4CQCAoRQ0AIAFBEGpBACAo/AsACyAiICZqIgFBADYCDCABIAUoAqACIig2AgggASAFKQKYAkIgiTcCAAJAIChFDQAgAUEQakEAICj8CwALIAUgKTYCvAQgBSAiNgK4BCAFQdgCaiAFQbgEaiAVQfzEx4AAEPWAgIAAICEgJEEQajYCOCAhIC4gI2o2AjQgISAtNgIwICEgJzYCLCAhICwgJWo2AiggISArNgIkICEgAzYCICAhIAw2AhwgIUEANgIYICEgKjYCFCAhICI2AhAgBUEAOgDUAgJAQegARQ0AICFBPGogBUHIA2pB6AD8CgAACyAhICZBEGo2AqQBAkBB8ABFDQAgIUGoAWogBUHYAmpB8AD8CgAACyAhIAk7Aa4CICEgCjsBrAIgISAJOwGqAiAhIAo7AagCICFBoAJqIBRBCGopAgA3AgAgISAUKQIANwKYAiAhIAUtANQCOgCwAiAhIAIpAwA3AwAgIUIANwIIICEgICAJICAgCUkbIgE7Aa4CAkAgHUUNACAhIB02AgggISEDIB0oAgwiIkUNBCAhICI2AgwgIiAhNgIIIB0hAwwECyAeRQ0BICEgHjYCDCAhIQMgHigCCCIiRQ0CICEgIjYCCCAiICE2AgwgHiEDDAILIAAgHzYCCCAAIB02AgQgACAeNgIAIABBADsBDAwFCyAhQQA2AgwgISEdICEhHgwCCyAeICE2AghBACEdIAMhHgwBCyAdICE2AgwgAyEdCyAEIAFrIQQgAiACKQMAQgF8NwMAIB9BgIAkaiEfDAALCyAFQcAEaiSAgICAAAuVBAEKfyOAgICAAEHwAGsiAySAgICAACABLwESIQQgAS8BECEFAkACQAJAIAItAAINACAFIQIMAQsgAi8BACECIAMgASgCABDugICAACADKAIQIQYgA0EYaiABKAIIIgcQ74CAgAAgAygCGCEIIANBKGogB0EEdhDwgICAACADKAIoIQcgA0E4aiABKAIMEPGAgIAAIAMoAjghCSADQcgAaiABKAIEIgpBHG4iCxDygICAACAJIAcgCCAGIAQgBWxB//8DcSAEakEDdGpBB2pB+P///wFxakEDakH8////AXFqQQdqQfj///8BcWpBA2pB/P///wFxIQxBACEFIAMoAlghBAJAIApBG00NAEIBQSAgC0EEdEF/amdrrYanIQULIANB4ABqIAUQ84CAgAACQCACQQZ0QcAAaiIKIAQgDGpBA2pB/P///wFxIAMoAmAiBWpB//8DakGAgPz/AXEgBWtB/P///wFxIARrQfz///8BcSAJa0H4////AXEgB2tB/P///wFxIAhrQfj///8BcSAGa0EDdEFgcSIETQ0AIABBEGpBACkCyMTHgAA3AgAgAEEIakEAKQLAxMeAADcCACAAQQApArjEx4AANwIADAILIAQgCm4hBAsgAEEAOwEUIAAgBDsBEiAAIAI7ARAgACABKQIANwIAIABBCGogAUEIaikCADcCAAsgA0HwAGokgICAgAALmAEBBH8CQAJAIAENAEEAIQJBACEBQQAhA0EAIQRBACEFDAELQgFBICABQX9qZyIDa61C//8Dg4anIgG4RAAAAAAAAOo/ovwDIgJBJGwgAUEBdEEDakH8////B3EiBGohBUF/QQAgA2t0QX9zIQMLIAAgAzsBFCAAIAE2AgQgACACNgIAIAAgBTYCECAAIAQ2AgwgAEEANgIIC0UBAX8gAEEANgIIIAAgAUEPaiIBQQR2QT9qIgJBBnY2AgQgACACQQN2Qfj//x9xIgI2AgwgACACIAFBBHRBgH5xajYCAAtKAQF/IAAgATYCDCAAIAFBE2oiAkH8////AXFBcGo2AgQgACACIAFBAnRqIgJB/P///wdxQXBqNgIIIAAgAiABQQN0akF8cTYCAAtFAQF/IABBADYCCCAAIAFBH2oiAUEFdkE/aiICQQZ2NgIEIAAgAkEDdkH4//8PcSICNgIMIAAgAiABQQV0QYB4cWo2AgALmAEBBH8CQAJAIAENAEEAIQJBACEBQQAhA0EAIQRBACEFDAELQgFBICABQX9qZyIDa61C//8Dg4anIgG4RAAAAAAAAOo/ovwDIgJBHGwgAUEBdEEDakH8////B3EiBGohBUF/QQAgA2t0QX9zIQMLIAAgAzsBFCAAIAE2AgQgACACNgIAIAAgBTYCECAAIAQ2AgwgAEEANgIIC0IBAX8gACABNgIMIAAgAUETakF8cSICQXBqNgIEIAAgAiABQQJ0aiICQXBqNgIIIAAgAUEBdCACakED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cRuEIQMMJAsgA0Jvg0IQQgAgAkEBcRuEIQMMIwsgA0Jfg0IgQgAgAkEBcRuEIQMMIgsgA0K/f4NCwABCACACQQFxG4QhAwwhCyADQv9+g0KAAUIAIAJBAXEbhCEDDCALIANC/32DQoACQgAgAkEBcRuEIQMMHwsgA0L/e4NCgARCACACQQFxG4QhAwweCyADQv93g0KACEIAIAJBAXEbhCEDDB0LIANC/2+DQoAQQgAgAkEBcRuEIQMMHAsgA0L/X4NCgCBCACACQQFxG4QhAwwbCyADQv+/f4NCgMAAQgAgAkEBcRuEIQMMGgsgA0L//36DQoCAAUIAIAJBAXEbhCEDDBkLIANC//99g0KAgAJCACACQQFxG4QhAwwYCyADQv//e4NCgIAEQgAgAkEBcRuEIQMMFwsgA0L//3eDQoCACEIAIAJBAXEbhCEDDBYLIANC//9vg0KAgBBCACACQQFxG4QhAwwVCyADQv//X4NCgIAgQgAgAkEBcRuEIQMMFAsgA0L//79/g0KAgMAAQgAgAkEBcRuEIQMMEwsgA0L///9+g0KAgIABQgAgAkEBcRuEIQMMEgsgA0L///99g0KAgIACQgAgAkEBcRuEIQMMEQsgA0L///97g0KAgIAEQgAgAkEBcRuEIQMMEAsgA0L///93g0KAgIAIQgAgAkEBcRuEIQMMDwsgA0L///9vg0KAgIAQQgAgAkEBcRuEIQMMDgsgA0L///9fg0KAgIAgQgAgAkEBcRuEIQMMDQsgA0L///+/f4NCgICAwABCACACQQFxG4QhAwwMCyADQv////9+g0KAgICAAUIAIAJBAXEbhCEDDAsLIANC/////32DQoCAgIACQgAgAkEBcRuEIQMMCgsgA0L/////e4NCgICAgARCACACQQFxG4QhAwwJCyADQv////93g0KAgICACEIAIAJBAXEbhCEDDAgLIANC/////2+DQoCAgIAQQgAgAkEBcRuEIQMMBwsgA0L/////X4NCgICAgCBCACACQQFxG4QhAwwGCyADQv////+/f4NCgICAgMAAQgAgAkEBcRuEIQMMBQsgA0L//////36DQoCAgICAAUIAIAJBAXEbhCEDDAQLIANC//////99g0KAgICAgAJCACACQQFxG4QhAwwDCyADQv//////e4NCgICAgIAEQgAgAkEBcRuEIQMMAgsgA0L//////3eDQoCAgICACEIAIAJBAXEbhCEDDAELIANC//////8Pg0KAgICAgHBCACACQQFxG4QhAwsgACADPgIAIABBBGogA0IgiDwAAA8LAAu9AQEDfyOAgICAAEEQayIBJICAgIAAAkAgAEUNACABIAApAqgbNwMIIAAoAqgbIQIgACgCrBshAyAAQdQbahCkgICAACAAQegsaiABQQhqEMOAgIAAIABBgBJqIAFBCGoQjoGAgAAgAEEwaiABQQhqEI+BgIAAIABBGGogAUEIahDkgICAACAAQYQBaiABQQhqEMOAgIAAIAIgAEH4LEEDQQAgAygCDBGBgICAAICAgIAACyABQRBqJICAgIAAC+4BAQV/I4CAgIAAQcAAayICJICAgIAAIAJBHGogAEHICGoiAxCQgYCAACACKAI8IQQgAigCOCEFIAIoAhwhBiACQRxqIAMQkIGAgAACQCAERQ0AIAIoAihBqtWq1XogAigCPBshBANAIAVFDQEgAiAGKQIANwMQIAIgASkCADcDCCACQQhqEPuAgIAAIAQgARCRgYCAACAEQQxqIQQgBkEIaiEGIAVBf2ohBQwACwsCQCAAKALQCCIFRQ0AIAEoAgAgAygCACAFQTtsQQNBACABKAIEKAIMEYGAgIAAgICAgAALIAJBwABqJICAgIAACzQBAX8CQCAAKAIIIgJFDQAgASgCACAAKAIEIAJBAEEAIAEoAgQoAgwRgYCAgACAgICAAAsLmAEBA38jgICAgABBMGsiAiSAgICAACACIAEoAgQ2AiggAiABKAIIIgM2AiwgASgCACEEQWQhAQJAA0AgAUUNASACQQxqIAFBhKrIgABqKAIAQQJ0aiAENgIAIAQgAUHoqciAAGooAgAgA2xqIQQgAUEEaiEBDAALCwJAQSRFDQAgACACQQxqQST8CgAACyACQTBqJICAgIAACzcBAX8CQCAAKAIIIgJFDQAgASgCACAAKAIAIAJBLGxBA0EAIAEoAgQoAgwRgYCAgACAgICAAAsLzQIBBn8jgICAgABBMGsiASSAgICAACAAQZgBaiECIAAoArwBKAIAIQMCQCAALwHMASIERQ0AIANBPGogAygCECAEEJOBgIAAC0EAIQQgAkHQh8KAABCUgYCAACEFIABBADsBzAECQCAFQQFxDQAgASADQTxqIAMo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NwMACyASQQhqIRIgDEEIaiEMIBNBCGohEyAFQQhqIQUgDUF/aiENDAALCyANQQN0IgVFDQAgCiAMIAX8CgAAC0EAIRUgAC8BnAIgAS8BnAIiAE0NACAKIABBf2pB//8DcUEDdGoiACkDACIOQoCAgICAgAODQoCAgICAgANSDQAgACAOQv///////3yDNwMACyAGQcABaiSAgICAACAVC6QCAwZ/AX4CfyOAgICAAEEQayIDJICAgIAAAkACQCABKAIAIgRBfGooAgBFDQAgBEFwaiEFIARBdGohBiAEQXhqKAIAIgdBf2oiCCACELqBgIAAIgmncSEBIAlCOYinIQoDQCAEIAFqLAAAIgtFDQEgB0UNAQJAIAtBf0oNACAKIAtB/wBxRw0AIAIgBigCACAEaiABQQJ0aiILKAIARw0AIAUoAgAgBGogAUEDdGohAUEBIQcMAwsgB0F/aiEHIAFBAWogCHEhAQwACwtBACEBIANBDmpBADoAACADQQA7AQxBACEHQQAhCwsgACAHOgAIIAAgATYCBCAAIAs2AgAgACADLwEMOwAJIABBC2ogA0EOai0AADoAACADQRBqJICAgIAAC7EBACAAKAIAIAFqIAIgACgCCCABamsiAUEHdkH4//8PcWoiAEJ/QQAgA0ECdEEPakEEdiIDQcAAIAFBBHZBP3EiAWsiAiADIAJJGyICa0E/ca2IIAGthiAAKQMAhDcDACAAQQhqIQEgAyACayEAAkADQCAAQcEASQ0BIAFCfzcDACABQQhqIQEgAEFAaiEADAALCwJAIABFDQAgASABKQMAQn9BACAAa0E/ca2IhDcDAAsLNwEBfyAAKAIAIgIgASACIAJBdGooAgBqa0ECdmpBAToAACAAKAIAQXxqIgAgACgCAEF/ajYCAAukAgMGfwF+An8jgICAgABBEGsiAySAgICAAAJAAkAgASgCACIEQXxqKAIARQ0AIARBcGohBSAEQXRqIQYgBEF4aigCACIHQX9qIgggAhC6gYCAACIJp3EhASAJQjmIpyEKA0AgBCABaiwAACILRQ0BIAdFDQECQCALQX9KDQAgCiALQf8AcUcNACACIAYoAgAgBGogAUECdGoiCygCAEcNAEEBIQcgBSgCACAEaiABQQF0aiEBDAMLIAdBf2ohByABQQFqIAhxIQEMAAsLQQAhASAD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BiACIAEvAYgBOwEEIAJBCGpBsJLJgAAgAkEEahDtgICAAAJAIAIvARwiBEUNACAAIAQ7AQQMAgsgAi8BGCEJIAIvARohCiACKAIMIQQgAigCFCELIAIoAhAhByACQSBqIAIoAggiDBDugICAACACKAIwIQ0gAkE4aiAHEO+AgIAAIAIoAjghDiACQcgAaiAHQQR2EPCAgIAAIAIoAkghDyACQdgAaiALEPGAgIAAIAIoAlghECACQegAaiAEQRxuIhEQ8oCAgAAgECAPIA4gDSAKIAlsQf//A3FBA3QiEiAKQQN0IghqIhNqQQdqQXhxIhRqQQNqQXxxIg5qQQdqQXhxIg9qQQNqQXxxIRAgAigCeCEVQQAhDQJAIARBHEkNAEIBQSAgEUEEdEF/amdrrYanIQ0LIAJBgAFqIA0Q84CAgAAgAkG0AWogAkEgakEIaikDADcCACACQbwBaiACQSBqQRBqKQMANwIAIAJB0AFqIAJBOGpBCGopAwA3AgAgAiATNgKoASACIBI2AqQBIAIgCDYCoAEgAiAINgKcASACQQA2ApgBIAIgFDYCxAEgAiAONgLYASACIAIpAyA3AqwBIAIgAikDODcCyAEgAiAVIBBqQQNqQXxxIhIgAigCgAFqQf//A2pBgIB8cSIVNgKUASACQeQBaiACQcgAakEIaikDADcCACACQfgBaiACQdgAakEIaikDADcCACACQYwCaiACQYABakEIaikDADcCACACQaACaiACQegAakEIaikDADcCACACQagCaiACQegAakEQaikDADcCACACIA82AuwBIAIgEjYCgAIgAiAQNgKUAiACIAIpA0g3AtwBIAIgAikDWDcC8AEgAiACKQOAATcChAIgAiACKQNoNwKYAiACIAo7AcICIAIgCTsBwAIgAiALNgK8AiACIAc2ArgCIAIgBDYCtAIgAiAMNgKwAgJAAkAgBigCCCIHRQ0AIAcgBigCDCIENgIMDAELIAEgBigCDCIENgJUCwJAAkAgBEUNACAEIAYoAgg2AggMAQsgBSAGKAIINgIACyAGKAIQIQsCQCAGKAIUIgRFDQAgC0EAIAT8CwALIAEgASgCaCAGLwGuAmtBAWo2AmgCQCABLQCNAUECRw0AIAEtAIQBRQ0AAkAgASgCgAEiBCAGLwGuAiIHTw0AIAFBAToAjQEMAQsgASAEIAdrNgKAAQsgAkGwAmohDCACQZgCaiERIAJBrAFqIRYgCUEDdCENQQAhB0EAIQQCQANAIAggBEYNASALIARqIAggB2qtNwMAIAcgDWohByAEQQhqIQQMAAsLIAIgEzYCqAQgAiALNgKkBCACQbgDaiACQaQEaiAWEPSAgIAAIAIoAvgBIA9qIQcCQCACKAL0ASIWQQN0IgRFDQAgByALakH/ASAE/AsACyACKALQASAUaiENIAIoAvwBIRcCQCACKALMASIYQQN0IgRFDQAgDSALakH/ASAE/AsACyALIA5qIgRBADYCDCAEIAIoAugBIhM2AgggBCACKQLgAUIgiTcCACACKALUASEZAkAgE0UNACAEQRBqQQAgE/wLAAsgCyASaiIEQQA2AgwgBCACKAKQAiITNgIIIAQgAikCiAJCIIk3AgACQCATRQ0AIARBEGpBACAT/AsACyACIBA2ArAEIAIgCzYCrAQgAkHIAmogAkGsBGogEUH8xMeAABD1gICAACAGIA5BEGo2AjggBiAZIBRqNgI0IAYgGDYCMCAGIA02AiwgBiAXIA9qNgIoIAYgFjYCJCAGIAc2AiAgBiAINgIcIAZBADYCGCAGIBU2AhQgBiALNgIQIAJBADoAxAICQEHoAEUNACAGQTxqIAJBuANqQegA/AoAAAsgBiASQRBqNgKkAQJAQfAARQ0AIAZBqAFqIAJByAJqQfAA/AoAAAsgBiAJOwGsAiAGIAo7AaoCIAYgCTsBqAIgBkEBOwGuAiAGIAM2AgggBiACLQDEAjoAsAIgBkGgAmogDEEIaikCADcCACAGIAwpAgA3ApgCAkACQCADKAIMIgRFDQAgBiAENgIMIAQgBjYCCAwBCyAGQQA2AgwgBSAGNgIACyADIAY2AgwgASAGKQMAQgF8NwMIIAYgASkDACIaNwMAIAEgGkIBfDcDAAJAIAEoAnRFDQAgASgCcCEEIAEoAmwhBwNAIARFDQECQCAHKAIAIggoAgAgBkcNACABKAJUIQMgCEEBOgAIIAhBADYBBCAIIAM2AgALIAdBBGohByAEQX9qIQQMAAsLIABBADsBBCAAIAY2AgAgASgCfEEAOgAIDAELIAJBAToAtgQgAiABLwGIATsBtAQgAkG4BGpBsJLJgAAgAkG0BGoQ7YCAgAACQCACLwHMBCIERQ0AIAAgBDsBBAwBCyACLwHKBCENIAIvAcgEIQkgAigCxAQhBiACKALABCEEIAIoArwEIQcgAigCuAQhAyACQdAEaiABQRhqEOaAgIAAAkACQCACLwHUBCIMDQAgAigC0AQhCyACQdgEaiADEO6AgIAAIAIoAugEIQogAkHwBGogBBDvgICAACACKALwBCEOIAJBgAVqIARBBHYQ8ICAgAAgAigCgAUhDyACQZAFaiAGEPGAgIAAIAIoApAFIRAgAkGgBWogB0EcbiIVEPKAgIAAIBAgDyAOIAogDSAJbEH//wNxQQN0IhIgDUEDdCIIaiITakEHakF4cSIUakEDakF8cSIOakEHakF4cSIPakEDakF8cSEKIAIoArAFIQxBACEQAkAgB0EbTQ0AQgFBICAVQQR0QX9qZ2uthqchEAsgAkG4BWogEBDzgICAACACQegFaiACQdgEakEIaikDADcCACACQfAFaiACQdgEakEQaikDADcCACACQYQGaiACQfAEakEIaikDADcCACACIBM2AtwFIAIgEjYC2AUgAiAINgLUBSACIAg2AtAFIAJBADYCzAUgAiAUNgL4BSACIA42AowGIAIgAikD2AQ3AuAFIAIgAikD8AQ3AvwFIAIgDCAKakEDakF8cSIQIAIoArgFakH//wNqQYCAfHEiEjYCyAUgAkGYBmogAkGABWpBCGopAwA3AgAgAkGsBmogAkGQBWpBCGopAwA3AgAgAkHABmogAkG4BWpBCGopAwA3AgAgAkHUBmogAkGgBWpBCGopAwA3AgAgAkHcBmogAkGgBWpBEGopAwA3AgAgAiAPNgKgBiACIBA2ArQGIAIgCjYCyAYgAiACKQOABTcCkAYgAiACKQOQBTcCpAYgAiACKQO4BTcCuAYgAiACKQOgBTcCzAYgAiANOwH2BiACIAk7AfQGIAIgBjYC8AYgAiAENgLsBiACIAc2AugGIAIgAzYC5AYgAiABKQIsNwP4BgJAAkACQCASQYGAJE8NACACQYAHaiABQSxqEOmAgIAAIAIvAYQHIgwNAkGAgCQhFSACQYAHaiEEDAELIAJBiAdqIAJB+AZqIBIQ64CAgAAgAi8BkAciDA0BIAJBiAdqIQQgAigCjAchFQsgAkHkBmohDCACQcwGaiERIAJB4AVqIRYgCUEDdCEDIAQoAgAhBkEAIQdBACEEA0Ag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KAIQNgIcIAMgAykCCDcCFCADQSBqIANBFGogAS8BigFBf2pB//8DcRDPgYCAACAAQQE6AAwgACADLwEkOwEEIAAgAygCICIBNgIAIABBACADKAIoIAMtADAbNgIIIAAgAS8BrAJBf2o7AQYMAgsgAEEBOgAMIABBADoACCAAIAEoAlgiATYCACAAIAEvAa4CQX9qOwEEIAAgAS8BrAJBf2o7AQYMAQsgA0E0aiABQQAQu4GAgAAgAyADKAI8NgJIIAMgAykCNDcCQCADQcwAaiADQcAAakEBEN+BgIAAAkAgAy0AXA0AIABBAToADCAAIAMoAlQ2AgggACADLwFQOwEEIAAgAygCTCIBNgIAIAAgAS8BrAJBf2o7AQYMAQsgAEIANwIAIABBCGpCADcCAAsgA0HgAGokgICAgAALcQECfyOAgICAAEEQayICJICAgIAAIAJBBGogAEEAELuBgIAAAkACQCABKAIAIgMgAigCBCIARw0AIAEvAQQgAi8BCE8hAQwBCwNAIAAoAgwiAEEARyEBIAAgA0YNASAADQALCyACQRBqJICAgIAAIAEL+QIBBn8jgICAgABBIGsiAiSAgICAAAJAAkACQAJAIAEtACxFDQAgAUEkaiEDIAEvASohBCABLwEoIQUgASgCJCEGIAJBADoABCABLwEwIQcgAS0AIEEBcUUNASABIAdBAWoiBTsBMCAFQf//A3EgBEH//wNxSQ0CIAJBCGogARC0gYCAACADQQhqIAJBCGpBCGooAgA2AgAgAyACKQIINwIAIAEtACxFDQIgASABLwEoOwEwDAILIABCADcCACAAQQhqQgA3AgAMAgsCQCAHQf//A3EiBEUNAAJAIAQgBUH//wNxRw0AIANCADcCACADQQhqQQA2AgAMAgsgASAHQX9qOwEwDAELIAJBFGogARC0gYCAACADQQhqIAJBFGpBCGooAgA2AgAgAyACKQIUNwIAIAEtACxFDQAgASABLwEqQX9qOwEwCyAAQQA7AQYgACAHOwEEIAAgBjYCACAAQQE6AAwgACACLQAEOgAICyACQSBqJICAgIAAC7sBAQR/AkAgACgCdEUNACAAKAJwIQIgACgCbCEDA0AgAkUNAQJAIAMoAgAiBCgCACABRw0AAkAgASgCCCIFDQAgASgCDCEFCyAEQQA2AQQgBCAFNgIACyADQQRqIQMgAkF/aiECDAALCyABKAIMIQICQAJAIAEoAggiA0UNACADIAI2AgwMAQsgACACNgJUCyABKAIIIQMCQAJAIAJFDQAgAiADNgIIDAELIAAgAzYCWAsgACABELCBgIAAC8QBAgN/AX4jgICAgABBMGsiAySAgICAAAJAAkAgAi8BBCIEIAEvAYgBSQ0AIABCADcCACAAQQhqQgA3AgAMAQsgAigCACEFIANBDGogASACLQAIELuBgIAAIANBGGogA0EMaiAFEM+BgIAAAkAgAy0AKA0AIAAgAykDGCIGPgIAIABBAToADCAAIAMoAiA2AgggACAEOwEGIABBBGogBkIgiD0BAAwBCyAAQgA3AgAgAEEIakIANwIACyADQTBqJICAgIAACzgCAX8BfiOAgICAAEEQayIBJICAgIAAIAEgADYCDCABQQxqEKKEgIAAIQIgAUEQaiSAgICAACACC6QCAQJ/I4CAgIAAQSBrIgMkgICAgAACQAJAAkACQAJAAkACQAJAIAJBA3EOBAYAAQEGCyABLQCNAQ4DAQIDAQsgAEEAOgAIIABBADYCBCAAIAEoAlQ2AgAMBQsgA0EIaiABQQAQu4GAgAAgA0EIaiEBDAILIANBADoAHCADQQA2AhggAyABKAJUNgIUIANBFGohAQwBCyABKAJ8IQELIAAgASkCADcCACAAQQhqIAFBCGooAgA2AgAMAQsgAUHYAGohAiABLwGKASEBA0ACQCABQf//A3EgAigCACICLwGuAiIESw0AIABBADoACCAAQQA7AQYgACACNgIAIAAgBCABazsBBAwCCyACQQhqIQIgASAEayEBDAALCyADQSBqJICAgIAAC8sOARh/I4CAgIAAQcAEayIDJICAgIAAIAAoAhQhBAJAAkACQCAALwEaIAAoAgQiBS8BmgJBf2pB//8DcUcNACAAKAIQIQYgA0EIaiABQRhqEOaAgIAAIAMvAQwiBQ0CIAIvARAhByACLwESIQUgAygCCCEIIANBEGogAigCABDugICAACADKAIgIQkgA0EoaiACKAIIIgoQ74CAgAAgAygCKCELIANBOGogCkEEdhDwgICAACADKAI4IQogA0HIAGogAigCDBDxgICAACADKAJIIQwgA0HYAGogAigCBCINQRxuIg4Q8oCAgAAgDCAKIAsgCSAHIAVsQf//A3FBA3QiByAFQQN0Ig9qIhBqQQdqQXhxIhFqQQNqQXxxIhJqQQdqQXhxIhNqQQNqQXxxIQsgAygCaCEJQQAhBSANQRtNDQFCAUEgIA5BBHRBf2pna62GpyEFDAELIAUgBS8BngJBAWo7AZ4CIAAgACgCCCICQQhqNgIIIAAoAgQoAgAhByACKAIIIQJBACEFIABBADoAHCAAQQA7ARggACAALwEaQQFqOwEaIAAgAiAHajYCDAwBCyADQfAAaiAFEPOAgIAAIANBoAFqIANBEGpBCGopAwA3AgAgA0GoAWogA0EQakEQaikDADcCACADQbwBaiADQShqQQhqKQMANwIAIAMgEDYClAEgAyAHNgKQASADIA82AowBIAMgDzYCiAEgA0EANgKEASADIBE2ArABIAMgEjYCxAEgAyADKQMQNwKYASADIAMpAyg3ArQBIAMgCSALakEDakF8cSIMIAMoAnBqQf//A2pBgIB8cSINNgKAASADQdABaiADQThqQQhqKQMANwIAIANB5AFqIANByABqQQhqKQMANwIAIANB+AFqIANB8ABqQQhqKQMANwIAIANBjAJqIANB2ABqQQhqKQMANwIAIANBlAJqIANB2ABqQRBqKQMANwIAIAMgEzYC2AEgAyAMNgLsASADIAs2AoACIAMgAykDODcCyAEgAyADKQNINwLcASADIAMpA3A3AvABIAMgAykDWDcChAIgA0GsAmogAkEQaigCADYCACADQaQCaiACQQhqKQIANwIAIAMgAikCADcCnAIgAyABKQIsNwOwAgJAAkACQCANQYGAJE8NACADQbgCaiABQSxqEOmAgIAAIAMvAbwCIgUNAkGAgCQhFCADQbgCaiECDAELIANBwAJqIANBsAJqIA0Q64CAgAAgAy8ByAIiBQ0BIANBwAJqIQIgAygCxAIhFAsgA0GcAmohDiADQYQCaiEVIANBmAFqIRYgAy8BrgIiF0EDdCEJIAMvAawCIhhBA3QhCiACKAIAIQdBACECIA8hBQJAA0AgCSACRg0BIAcgAmogBa03AwAgAkEIaiECIAUgCmohBQwACwsgAyAQNgKwBCADIAc2AqwEIANBwANqIANBrARqIBYQ9ICAgAAgAygC5AEgE2ohBQJAIAMoAuABIhBBA3QiAkUNACAFIAdqQf8BIAL8CwALIAMoArwBIBFq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ADsBKCAFQf//AzYCJCAFIAQpAgA3AwggBSACKQIANwMQIABBLmohByAAKAIEIAFqIQggACgCACABaiEJIAVBCGogAhCBhICAACEKIAAoAhBBf2qtIQsgBUEQaiECIAMhDAJAA0AgC1ANAQJAIAkgAC8BICAKp3EiDUH//wNxQQF0aiIOLwEAIgRFDQACQCAIIARBHGxqIgEvARgiDw0AIAVBCGogARDDgYCAACAHIAEvARZBAXRqIgYgBi8BAEF/ajsBACABQRhqQQAoAqySyYAANgIAIAFBEGpBACkCpJLJgAA3AgAgAUEIakEAKQKcksmAADcCACABQQApApSSyYAANwIAIAQgA0H//wNxIgEgBCABSRshAwwBCwJAAkAgAS8BFiIQIAZB//8DcSIRSQ0AIBAgEUcNASAPIAIvARhPDQELIA4gDDsBACACIA07ARQgByACLwEWQQF0aiIGIAYvAQBBAWo7AQAgACAALwEsIgYgAi8BFiICIAYgAksbOwEsIAcgAS8BFkEBdGoiAiACLwEAQX9qOwEAIAEvARYhBiAEIQwgASECCyACIAZBAWoiBjsBFiAKQgF8IQogC0J/fCELDAELCyAOIAw7AQAgAiANOwEUIAcgAi8BFkEBdGoiASABLwEAQQFqOwEAIAAgAC8BLCIBIAIvARYiAiABIAJLGzsBLAsgCSAFLwEkQQF0aiADOwEAIAggA0H//wNxQRxsaiICIAUpAxA3AgAgAkEIaiAFQRBqQQhqKQMANwIAIAJBEGogBUEQakEQaikDADcCACACQRhqIAVBEGpBGGooAgA2AgAgBUEwaiSAgICAACADC60BAQh/AkACQCABLQAIIgMgAi0ACHNBAXENACAAKAIEIgQgACgCACIAIAQbKAIAIQQgAigCECEFIAIoAgwhBiACKAIAIQcgASgCECEIIAEoAgwhCSABKAIAIQogACgCACEAAkAgA0EBcUUNACAKIAdHDQEMAgsgCiAEaiABKAIEIAcgAGogAigCBBCxgICAAEEBcQ0BC0EADwsgBCAJaiAIIAAgBmogBRCxgICAAAv8AgEEfyOAgICAAEEQayIFJICAgIAAIAUgBCkCADcDACABKAIEIAJqIQYCQANAIAEvAW4iB0ECSQ0BIAYgB0F/aiIHQf//A3FBHGxqLwEYDQEgASAHOwFuIAEgAiAHIAQQwoGAgAAMAAsLIAVBDGogASACIAMgBBCsgYCAAAJAAkAgBS0ADkUNACAFLwEMIQEgBSADEMOBgIAAIABBADsBAiAAIAE7AQAgBiABQRxsaiIBIAEvARhBAWo7ARgMAQsCQCABLwFsRQ0AIABBgIAENgEADAELAkAgASgCDCIHIAEvAW4iCEsNAAJAIAEoAgggB7hEzczMzMzM7D+i/ANPDQAgAEGAgOgANgEADAILIABBgIAENgEADAELIAYgASACIAMgCCAEEMSBgIAAIgdB//8DcSIEQRxsakEBOwEYIAEgASgCCEEBajYCCAJAIAQgAS8BbkcNACABIAdBAWo7AW4LIAAgBzsBACAAQQA7AQILIAVBEGokgICAgAALrQMDAX8Bfgp/I4CAgIAAQRBrIgMkgICAgAAgAhC6gYCAACEEAkACQCABKAIAIgUNACAEpyEGQQAhB0F/IQgMAQsgBUF4aigCACIHQX9qIgggBKdxIQYLIAVBdGohCSAFQXhqIQogBEI5iKchCyAHIQwCQAJAA0AgBSAGaiINLAAAIg5FDQEgDEUNAQJAAkAgDkF/Sg0AIAsgDkH/AHFHDQAgAiAJKAIAIAVqIAZBAnRqIg4oAgBHDQEgA0EBOgAIIAVBcGooAgAgBWogBkEBdGohBiADQQhqIQwMBAsCQAJAIAUNAEEAIQ0MAQsgCigCACENCyAHIA1HDQAgBiAHIA5BAUYbIQcLIAxBf2ohDCAGQQFqIAhxIQYMAAsLIAUgB2ogDSAHIAooAgBJIg4bIAtBgAFyOgAAIAEoAgAiDEF8aiIFIAUoAgBBAWo2AgAgA0EAOgAMIAwgDEFwaigCAGogByAGIA4bIg5BAXRqIQYgDCAMQXRqKAIAaiAOQQJ0aiEOIANBDGohDAsgACAGNgIEIAAgDjYCACAAIAwtAAA6AAggA0EQaiSAgICAAAv0AgEFfwJAIAAoAhAgACgCBCABaiIDIAJB//8DcUEkbGoiBC8BHCICSQ0AIAAoAgAhBSAAQSZqIgYgBC8BHkEBdGoiByAHLwEAQX9qOwEAIAUgAWoiBSACQQF0akEAOwEAAkBBJEUNACAEQfCRyYAAQST8CgAACwJAA0AgBSAALwEgIAJBAWpxIgdB//8DcUEBdGoiAS8BACIERQ0BIAMgBEEkbGoiBC8BHkUNASAEQRxqIAI7AQAgBiADIAEvAQBBJGxqLwEeQQF0aiIEIAQvAQBBf2o7AQAgAyABLwEAQSRsaiIEIAQvAR5Bf2o7AR4gBiADIAEvAQBBJGxqLwEeQQF0aiIEIAQvAQBBAWo7AQAgBSACQf//A3FBAXRqIAEvAQA7AQAgByECDAALCyAALwEkIQECQANAIAFB//8DcSIDRQ0BIAYgA0EBdGovAQANASAAIAFBf2oiATsBJAwACwsgBSACQf//A3FBAXRqQQA7AQALC9IBAgJ/BX4gASgCBCACaiEEIAEoAgAgAmohBSADEJ6EgIAAIQYgAS8BJEEBaq1C//8DgyEHIAEzASAhCEIAIQkCQANAIAcgCVENAQJAIAUgBiAJfCAIg6dBAXRqLwEAIgINACAAQQA2AQAPCwJAIAkgBCACQSRsaiIBMwEeIgpYDQAgAEEANgEADwsCQCAJIApSDQAgAS8BIEH//wNxRQ0AIAMgARCUgYCAAEEBcUUNACAAQQE6AAIgACACOwEADwsgCUIBfCEJDAALCyAAQQA2AQAL1wQDBX8Cfgd/I4CAgIAAQTBrIgQkgICAgAAgBEEIakEIaiACQQhqKQIANwMAIARBCGpBEGogAkEQaikCADcDACAEQQhqQRhqIAJBGGooAgA2AgBBACEFIARBADsBKCAEQf//AzYCJCAEIAIpAgA3AwggAEEmaiEGIAAoAgQgAWohByAAKAIAIAFqIQggAhCehICAACEJIAAoAhBBf2qtIQogBEEIaiECIAMhCwJAA0AgClANAQJAIAggAC8BICAJp3EiDEH//wNxQQF0aiINLwEAIg5FDQAgByAOQSRsaiIBLwEeIQ8CQCABLwEgIhANACAGIA9BAXRqIgUgBS8BAEF/ajsBAAJAQSRFDQAgAUHwkcmAAEEk/AoAAAsgDiADQf//A3EiASAOIAFJGyEDDAELAkACQCAPIAVB//8DcSIRSQ0AIA8gEUcNASAQIAIvASBPDQELIA0gCzsBACACIAw7ARwgBiACLwEeQQF0aiIFIAUvAQBBAWo7AQAgACAALwEkIgUgAi8BHiICIAUgAksbOwEkIAYgAS8BHkEBdGoiAiACLwEAQX9qOwEAIAEvAR4hBSAOIQsgASECCyACIAVBAWoiBTsBHiAJQgF8IQkgCkJ/fCEKDAELCyANIAs7AQAgAiAMOwEcIAYgAi8BHkEBdGoiASABLwEAQQFqOwEAIAAgAC8BJCIBIAIvAR4iAiABIAJLGzsBJAsgCCAELwEkQQF0aiADOwEAAkBBJEUNACAHIANB//8DcUEkbGogBEEIakEk/AoAAAsgBEEwaiSAgICAACADC5c0BAN/AX4XfwF+I4CAgIAAQfANayIDJICAgIAAIAAgATsBiAECQAJAAkAgAi0ABEUNAEEAIQQgA0EAOgAQIAMgAi8BADsBDCADIAIvAQIiBTYCCCADQRRqIAAgA0EIahC5gYCAACADLQAgRQ0AIANBJGogAEGExceAABC5gYCAAAJAIAMtADBFDQAgA0GYAWpBCGogA0EkakEIaigCADYCACADIAMpAiQ3A5gBQQIhBAsgA0HoAGpBCGogA0EUakEIaigCADYCACADQYABaiADQZgBakEIaigCADYCACADQQA6AJABIAMgAykCFDcDaCADQQE6AHQgAyADKQOYATcDeCADIAQ6AJQBIAMgBDoAhAEgA0EAOgCIASADQagBaiADQegAahC0gYCAAAJAAkAgAy0AsAFFDQACQEEkRQ0AIANB7AFqIANB6ABqQST8CgAACyADQQE6AJgCIAMgAykDqAEiBjcCkAIgAyAGQjCIp0F/ajsBnAIgA0HsAWohAgwBCwJAQSRFDQAgA0G4AWogA0HoAGpBJPwKAAALIANB4gFqQgA3AQAgA0IANwLcASADQbgBaiECCwJAQTRFDQAgA0E0aiACQTT8CgAAC0EAIQcCQANAIANBoAJqIANBNGoQt4GAgAAgAy0ArAJFDQEgAygCoAIiAigCGCACKAIQaiADLwGkAkEDdGopAwBCIYinQQFxIAdqIQcMAAsLIANBsAJqIAAgA0EUahCEgYCAACADLwG0AiICDQIgAC8BigEgBUF/c2pB//8DcSEIQQAhCSADKAKwAiEKDAELQQEhCQsgACgCVCECIANBuAJqIABB+IfCgABBjNTHgAAQzIGAgAAgA0EBOgDuAiADIAE7AewCIANB8AJqIAJBmAJqIANB7AJqEO2AgIAAAkACQCADLwGEAyICDQAgAy8BggMhCyADLwGAAyEMIAMoAvwCIQ0gAygC+AIhASADKAL0AiEFIAMoAvACIQ4gA0GIA2ogAEEYahDmgICAACADLwGMAyICDQAgAygCiAMhDyADQZADaiAOEO6AgIAAIAMoAqADIQIgA0GoA2ogARDvgICAACADKAKoAyEQIANBuANqIAFBBHYQ8ICAgAAgAygCuAMhESADQcgDaiANEPGAgIAAIAMoAsgDIRIgA0HYA2ogBUEcbiITEPKAgIAAIBIgESAQIAIgCyAMbEH//wNxQQN0IhQgC0EDdCIEaiIVakEHakF4cSIWakEDakF8cSIXakEHakF4cSIRakEDakF8cSEQIAMoAugDIRJBACECAkAgBUEbTQ0AQgFBICATQQR0QX9qZ2uthqchAgsgA0HwA2ogAhDzgICAACADQaAEaiADQZADakEIaikDADcCACADQagEaiADQZADakEQaikDADcCACADQbwEaiADQagDakEIaikDADcCACADIBU2ApQEIAMgFDYCkAQgAyAENgKMBCADIAQ2AogEIANBADYChAQgAyAWNgKwBCADIBc2AsQEIAMgAykDkAM3ApgEIAMgAykDqAM3ArQEIAMgEiAQakEDakF8cSISIAMoAvADakH//wNqQYCAfHEiFDYCgAQgA0HQBGogA0G4A2pBCGopAwA3AgAgA0HkBGogA0HIA2pBCGopAwA3AgAgA0H4BGogA0HwA2pBCGopAwA3AgAgA0GMBWogA0HYA2pBCGopAwA3AgAgA0GUBWogA0HYA2pBEGopAwA3AgAgAyARNgLYBCADIBI2AuwEIAMgEDYCgAUgAyADKQO4AzcCyAQgAyADKQPIAzcC3AQgAyADKQPwAzcC8AQgAyADKQPYAzcChAUgAyALOwGuBSADIAw7AawFIAMgDTYCqAUgAyABNgKkBSADIAU2AqAFIAMgDjYCnAUgAyAAKQIsNwOwBQJAAkACQAJAIBRBgYAkTw0AIANBuAVqIABBLGoQ6YCAgAAgAy8BvAUiAg0CQYCAJCETIANBuAVqIQIMAQsgA0HABWogA0GwBWogFBDrgICAACADLwHIBSICDQEgA0HABWohAiADKALEBSETCyAAQdQAaiEYIANBnAVqIQ4gA0GEBWohGSADQZgEaiEaIAxBA3QhDSACKAIAIQVBACEBQQAhAgNAIAQgAkYNAiAFIAJqIAQgAWqtNwMAIAEgDWohASACQQhqIQIMAAsLIA8gACgCKDYCACAAIA82AigMAQsgAyAVNgKsByADIAU2AqgHIANBwAZqIANBqAdqIBoQ9ICAgAAgAygC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CmogA0HICmogECACaxCngYCAAAJAAkAgAy0A1AoNAEEAIQ5BACEWDAELIAMoAswKIAJqIQ4gAygC0AohFgsCQCADKAK8ByIBKAIoIAEoAgAiAmoiBEF8aigCACAEQXhqKAIASQ0AIANB2ApqQQhqQgA3AwAgA0IANwPYCiADQgA3A/AKIANBAToA7AogAyADKAK4CkEBdDYC6AogA0G4B2ogACADQdgKahC9gYCAACICQf//A3ENCyADKAK8ByIBKAIAIQILIANB/ApqIAFBHGoiBCACIBYQqIGAgAACQAJAIAMvAYQLDQAgBCABKAIAIAMoAvwKIAMoAoALEKKBgIAADAELIBZBAnQhBCADKAK4CiINIQIDQCACIgFBAXQhAiABIA1rIARJDQALIBlCADcDACAZQQhqQgA3AwAgA0EBOgCUCyADIAE2ApALIANCADcDiAsgA0G4B2ogACADQYgLahC9gYCAACICQf//A3ENCyADKAK8ByEBCyADIAEoAiggASgCACIEajYCqAsgAygCxAchAiADKALAByELIANBrAtqIAFBHGoiGiAEIBYQqIGAgAACQCADLwG0C0UNAEEiIQIMCwsgAygCrAshDQJAIAMoArALIhZBAnQiFUUNACANIA4gFfwKAAALIAEoAgAhDiADIBY2ArwLIAMgDSAOazYCuAsCQCADQagLaiACIARrIANBuAtqEKmBgIAAQf//A3FFDQAgGiABKAIAIA0gFhCigYCAAEEhIQIMCwsgAiACKQMAQnyDQgGENwMAIAsgCykDAEKAgICAwACENwMAIBApAwAhBgsCQAJAIAZCgICAgICACINCAFINACADKAK8ByEBDAELIAMgBSgCpAEgBSgCECIEajYCwAsgA0HEC2ogA0HAC2ogECAEaxCqgYCAACADLwHECyEWIAUoAqwBIQsCQCADKAK8ByIBKAKUASABKAIAIgJqIg1BfGooAgAgDUF4aigCAEkNACADQcgLakEIakIANwMAIANCADcDyAsgA0IANwPgCyADQQE6ANwLIAMgAygCtApBAXQ2AtgLIANBuAdqIAAgA0HIC2oQvYGAgAAiAkH//wNxDQsgAygCvAciASgCACECCyADQewLaiABQRBqIg0gAkEAIAsgBGogFkEcbGoiCygCBCALLQAIQQFxGyALKAIQaiIEEMCBgIAAAkACQCADLwH0Cw0AIA0gASgCACADKALsCyADKALwCxDBgYCAAAwBCyADKAK8CiINIQIDQCACIgFBAXQhAiABIA1rIARJDQALIANB+AtqQRBqQgA3AwAgA0H4C2pBCGpCADcDACADQgA3A/gLIANBAToAlAwgAyABNgKQDCADQbgHaiAAIANB+AtqEL2BgIAAIgJB//8DcQ0LIAMoArwHIQELIAEoAgAhBCADQZgMaiALIBQgARCtgYCAACADLwGsDCICDQogA0EANgK0DCADIAE2ArAMIANBugxqIAFBmAFqIAQgA0GYDGogFiADQbAMahCugYCAACADQboMaiEBIAMtALwMIQICQAJAAkACQCADLwG+DA4CAwEAC0GszceAACECDAELIANBwAxqQQhqQgA3AwAgA0IANwPADCADQgA3A9gMIANBAToA1AwgAyADKAK0CkEBdDYC0AwgA0HADGohAgsgA0G4B2ogACACEL2BgIAAIgJB//8DcQ0LIAMoArwHIgEoAgAhBCADQeQMaiALIBQgARCtgYCAACADLwH4DCICDQsgA0EANgKADSADIAE2AvwMIANBhA1qIAFBmAFqIAQgA0HkDGogFiADQfwMahCugYCAACADLwGIDSICDQsgAyADLwGEDTsBig0gA0GKDWohASADLQCGDSECCwJAIAJB/wFxRQ0AIAEvAQAhFgsgAyADKAK8ByIBKAKUASABKAIAIgRqNgKMDSADKALAByELIANBkA1qIANBjA1qIAMoAsQHIgIgBGsQq4GAgAACQCADLwGcDUUNAEEgIQIMCwsgAygClA0hDQJAAkAgAy0AmA1FDQAgAUGYAWogASgCACANLwEAEKWBgIAAQoCAgICAgAghBiACIQQgDS8BACAWQf//A3FGDQELIA0gFjsBACACIAIpAwBCgICAgICACIQ3AwBCgICAgIACIQYgCyEECyAEIAQpAwAgBoQ3AwAgECkDACEGCwJAIAZCGoinIgRB//8DcSINRQ0AIANBoA1qQQhqIAUoAkAgBSgCEGogDUEkbGoiAkEIaikCADcDACADQaANakEQaiACQRBqKQIANwMAIANBoA1qQRhqIAJBGGooAgA2AgAgAyACKQIANwOgDSADQcINaiABQSxqIAEoAgAgA0GgDWogBBCvgYCAACADQcINaiEEIAMtAMQNIQICQAJAAkACQCADLwHGDQ4CAwEAC0GszceAACECDAELIBNCADcCACATQQhqQgA3AgAgE0EQakIANwIAIANBAToAzA0gAyADKAKwCkEBdDYCyA0gA0HIDWohAgsgA0G4B2ogACACEL2BgIAAIgJB//8DcQ0LIANB6A1qIAMoArwHIgFBLGogASgCACADQaANaiAQKQMAQhqIpxCvgYCAACADLwHsDSICDQsgAyADLwHoDTsB7g0gA0HuDWohBCADLQDqDSECCwJAAkAgAkH/AXFFDQAgBC8BACEEDAELIBApAwBCGoinIQQLIAMoAsAHIgsgCykDAEKAgICAgAGENwMAIAMoAsQHIgIgAikDAEL///+fgIB/gyAErUL//wODQhqGhDcDAAsgAy8B0AciBCABLwGcAkF/akH//wNxRg0AIAMgBEEBajsB0AcgAyACQQhqNgLEBwwBCyADQQE6ANQHDAALCyASLQAEQQJxDQELIAMgAygCyAdBAWo2AsgHCyAPIAUvAa4CQX9qQf//A3FHDQMgACAFELCBgIAADAMLIA0gEEEBakH//wNxIgQgDSAESxshDQsgAUEEaiEBIAJBAWohAgwACwsLIAkNAQsgACAKEM6BgIAACyADQfANaiSAgICAACACC5YDAgF/AX4jgICAgABB4AFrIgQkgICAgAAgBEEIaiABIAIQuYGAgAACQAJAAkACQCADLQAMRQ0AIARBGGogASADELmBgIAAIARBGGohAQwBCyAEQShqIAEgAi0ACBC1gYCAACAEQShqIQEgBC0ANEUNAQsgBEE4akEIaiAEQQhqQQhqKAIANgIAIARB0ABqIAFBCGooAgA2AgAgBCAEKQIINwM4IARBAToAYCAEQQI6AGQgBEEBOgBEIARBAjoAVCAEQQE6AFggBCABKQIANwNIIARB6ABqIARBOGoQtIGAgAACQAJAIAQtAHBFDQACQEEkRQ0AIARBrAFqIARBOGpBJPwKAAALIARBAToA2AEgBCAEKQNoIgU3AtABIAQgBUIgiD0B3AEgBEGsAWohAQwBCwJAQSRFDQAgBEH4AGogBEE4akEk/AoAAAsgBEGiAWpCADcBACAEQgA3ApwBIARB+ABqIQELQTRFDQEgACABQTT8CgAADAELIABCADcCJCAAQSpqQgA3AQALIARB4AFqJICAgIAAC/0CAQR/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EGohAgJAA0AgBkF/aiIGRQ0BIAItAAUhFCACQQhqIQIgFEEgcQ0DDAALCyAPIA8pAwBC//////99gyIXNwMADAQLIA8gDykDAEL//////32DIhc3AwAMAwsgDykDACEXDAILIAJBCGohAiAUQQhqIRQgBkF/aiEGDAALCwJAIBdCgICAgIABg1ANACALIQYgECECA0ACQAJAAkACQAJAIAJFDQAgBikDAEIaiKciFEH//wNxDQEMBAsgECAFLwGsAiICRw0BDAILIAogBSgCECAUEJOBgIAADAILIAJBAWohBiAPKAIAIAUoAhBqIQIDQCAGQX9qIgZFDQEgAigBAiEUIAJBCGohAiAUQYD4/x9xDQQMAAsLIA8gDykDAEL//////36DNwMADAILIAZBCGohBiACQX9qIQIMAAsLAkAgEEEDdCICRQ0AIAtBACAC/AsACyATQQFqIRMMAAsLQgFBICASQQR0QX9qZ2uthqchBgwDCyAAIAUQuIGAgAAMAQsCQCAAKAJ0RQ0AIAAoAnAhAiAAKAJsIQYDQCACRQ0BAkAgBigCACIUKAIAIAVHDQACQCAULwEEIgggB08NACAUQQA2AQQMAQsgFCAIIAdrOwEECyAGQQRqIQYgAkF/aiECDAALCyAFIA07Aa4CCyAEIAdqIQQMAQsLIAVBmAJqIRIgBCAHaiEEIANBkAFqIAYQ84CAgAAgA0HEAWogA0EwakEIaikDADcCACADQcwBaiADQTBqQRBqKQMANwIAIANB4AFqIANByABqQQhqKQMANwIAIAMgFTYCuAEgAyATNgK0ASADIBQ2ArABIAMgFDYCrAFBACEGIANBADYCqAEgAyAONgLUASADIA82AugBIAMgAykDMDcCvAEgAyADKQNINwLYASADIBYgEWpBA2pBfHEiEyADKAKQAWpB//8DakGAgHxxIgc2AqQBIANB9AFqIANB2ABqQQhqKQMANwIAIANBiAJqIANB6ABqQQhqKQMANwIAIANBnAJqIANBkAFqQQhqKQMANwIAIANBuAJqIANB+ABqQRBqKQMANwIAIANBsAJqIANB+ABqQQhqKQMANwIAIAMgEDYC/AEgAyATNgKQAiADIBE2AqQCIAMgAykDWDcC7AEgAyADKQNoNwKAAiADIAMpA5ABNwKUAiADIAMpA3g3AqgCIAMgCjsB0gIg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BSAQIQwgECEBA0ACQAJAIAVFDQAgAS0ABUEgcUUNASAEIAYoAqQBIAYoAhAiCmo2AoAEIARBhARqIARBgARqIAwgCmsQpIGAgAAgBC0AjARFDQEgCyAKIAQoAogELwEAEKWBgIAAIARBgARqIAQoAoQEEKaBgIAAIAEgASkDAEL///////93gzcDAAwBCwJAAkAgDyAGLwGsAiIBRg0AIAFBAWohBSAJKAIAIAYoAhBqIQECQANAIAVBf2oiBUUNASABLQAFIQwgAUEIaiEBIAxBIHENAwwACwsgCSAJKQMAQv//////fYMiCDcDAAwECyAJIAkpAwBC//////99gyIINwMADAMLIAkpAwAhCAwCCyAFQX9qIQUgDEEIaiEMIAFBCGohAQwACwsCQCAIQoCAgICAAYNQDQAgBkE8aiEKIA8hASAQIQUDQAJAAkACQAJAAkAgAUUNACAFKQMAQhqIpyIMQf//A3ENAQwECyAPIAYvAawCIgFHDQEMAgsgCiAGKAIQIAwQk4GAgAAMAgsgAUEBaiEFIAkoAgAgBigCEGohAQNAIAVBf2oiBUUNASABKAECIQYgAUEIaiEBIAZBgPj/H3ENBAwACwsgCSAJKQMAQv//////foM3AwAMAgsgAUF/aiEBIAVBCGohBQwACwsgD0EDdCIBRQ0AIBBBACAB/AsADAALCwJAAkAgAC0AAUECcUUNACAHIAIgA0EBENGBgIAAIgFB//8DcUUNAQwCCyAHIAIgA0EAENGBgIAAIgFB//8DcQ0BCwJAIAAtACRBAnFFDQAgACgCICIBRQ0AIAEgAiADQQAQ0YGAgAAiAUH//wNxDQELIAAgAjsB8hFBACEBIABBADsB+BEgAEEAOwH0ESAAIAM7AfARIAAgAkF/ajsB+hEgACADQX9qOwH2ESAAQe4RaiIFIAUtAABBAXI6AAALIARBkARqJICAgIAAIAELHQACQCAARQ0AIAAgAEGoG2ogASACENmBgIAAGgsLHwAgACgCCCgCGCABKAIAQQJ0akHAAmogASgCBDYCAAvyAQECfyAAKAIYIgFBAToAmAIgASAAKAIYLwHIATsBkAIgASAAKAIYLwHKATsBkgIgASAAKAIYIgIpApgBNwLUASABQewBaiACQbABaigCADYCACABQeQBaiACQagBaikCADcCACABQdwBaiACQaABaikCADcCACABIAAoAhgtANIBQQFxOgCUAiABIAAoAhgtANEBQQFxOgCVAiABIAAoAgBBCHZBAXE6AJYCIAEgACgCGCIAKQLAAjcC8AEgAUGIAmogAEHYAmopAgA3AgAgAUGAAmogAEHQAmopAgA3AgAgAUH4AWogAEHIAmopAgA3AgALrQUDB38EfgN/I4CAgIAAQeAAayIBJICAgIAAAkACQCAAKAIYIgItAJgCRQ0AIAIvAZACIQMgAi8BkgIhBCACLQCUAiEFIAItAJUCIQYgAi0AlgIhBwJAQTxFDQAgASACQdQBakE8/AoAAAtCgAJCACAHQQFxGyEIDAELQQAhBSABQRhqQQA2AgBCACEIIAFBEGpCADcDACABQQhqQgA3AwAgAUEkakEAKQOIp8iAADcCACABQSxqQQApA5CnyIAANwIAIAFBNGpBACkDmKfIgAA3AgAgAUIANwMAIAFBACkDgKfIgAA3AhxBACEGQQAhA0EAIQQLIAIpApgBIQkgAiABKQMANwKYASACQaABaiIHKQIAIQogByABQQhqKQMANwIAIAJBqAFqIgcpAgAhCyAHIAFBEGopAwA3AgAgAkGwAWoiAigCACEHIAIgAUEYaigCADYCACABQcAAakEYaiIMIAc2AgAgAUHAAGpBEGoiDSALNwMAIAFBwABqQQhqIg4gCjcDACABIAk3A0AgACgCGBCSgYCAACEHIAAoAhghAgJAAkAgB0H//wNxRQ0AIAIgASkDQDcCmAEgAkGwAWogDCgCADYCACACQagBaiANKQMANwIAIAJBoAFqIA4pAwA3AgAMAQsgAiABKQIcNwLAAiACQdgCaiABQTRqKQIANwIAIAJB0AJqIAFBLGopAgA3AgAgAkHIAmogAUEkaikCADcCACAAIAA1AgBC//3//w+DIAiEPgIAIAAoAhggBkEBcToA0QEgACgCGCAFQQFxOgDSASAAKAIYIANB//8DcSICIAAvAfIRQX9qQf//A3EiAyACIANJGyAEQf//A3EiAiAALwHwEUF/akH//wNxIgAgAiAASRsQ3oGAgAALIAFB4ABqJICAgIAAIAcLqwgDB38BfgF/I4CAgIAAQYABayIDJICAgIAAAkACQAJAAkAgAkH//wNxIgQgAC8BygEiBU8NACADQQxqIAAoArwBIgYgBSACa0H//wNx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IAYgB2sQoYGAgAAgASgC+BAhByALIAIoAhAiCCAIIAEoAvwQIgkoAgBqIAkoAgQQooGAgAAgAUHwAGogBxCjgYCAACAFIAUpAwBCfIM3AwAMAQsCQAJAIBEgAi8BrAIiBUYNACAFQQFqIQMgDSgCACACKAIQaiEFAkADQCADQX9qIgNFDQEgBSkDACEKIAVBCGohBSAKQgODQgFRDQMMAAsLIA0gDSkDAEL/////v3+DIgo3AwAMBAsgDSANKQMAQv////+/f4MiCjcDAAwDCyANKQMAIQoMAgsgA0F/aiEDIAZBCGohBiAFQQhqIQUMAAsLAkAgCkKAgICAgAKDUA0AIAJBqAFqIQggESEDIAwhBiAMIQUDQAJAAkAgA0UNACAFLQAFQSBxRQ0BIAEgAigCpAEgAigCECIHajYCdCABQZARaiABQfQAaiAGIAdrEKSBgIAAIAEtAJgRRQ0BIAggAigCECABKAKUES8BABClgYCAACABQfQAaiABKAKQERCmgYCAACAFIAUpAwBC////////d4M3AwAMAQsCQAJAIBEgAi8BrAIiBUYNACAFQQFqIQMgDSgCACACKAIQaiEFAkADQCADQX9qIgNFDQEgBS0ABSEGIAVBCGohBSAGQSBxDQMMAAsLIA0gDSkDAEL//////32DIgo3AwAMBAsgDSANKQMAQv//////fYMiCjcDAAwDCyANKQMAIQoMAgsgA0F/aiEDIAZBCGohBiAFQQhqIQUMAAsLAkAgCkKAgICAgAGDUA0AIAJBPGohByARIQUgDCEDA0ACQAJAAkACQAJAIAVFDQAgAykDAEIaiKciBkH//wNxDQEMBAsgESACLwGsAiIFRw0BDAILIAcgAigCECAGEJOBgIAADAILIAVBAWohBSANKAIAIAIoAhBqIQIDQCAFQX9qIgVFDQEgAigBAiEDIAJBCGohAiADQYD4/x9xDQQMAAsLIA0gDSkDAEL//////36DNwMADAILIAVBf2ohBSADQQhqIQMMAAsLIBFBA3QiAkUNACAMQQAgAvwLAAsgACgCGCAEQX9qOwHKASAAKAIYQQEQ6YGAgAAgACgCGBCSgYCAACIEQf//A3ENAQtBACECDAULIAEgBDsBJiABQoAQNwKYESABQbC/x4AANgKQESABIAFB+ABqNgKUEQJAAkACQCABQZARaiABQSZqEPKBgIAAIgRB//8DcUUNACABQZARakGg6cmAAEEtEKiAgIAAIAEvAagRDQIgAUH4EGpBEGogAUGQEWpBEGopAgA3AwAgAUH4EGpBCGoiAiABQZARakEIaikCADcDACABIAEpApARNwP4EAJAIAIgAUEmahDygYCAAEH//wNxRQ0AIAFB+BBqEKmAgIAADAMLIAFBKGogAUH4EGoQqoCAgAAgAUH4EGoQqYCAgAAgAS8BMA0CIAEoAiwhBSABKAIoIQIMAQsgASgClBEhAiABKAKcESEFCyACIAUQgICAgAAgBEH//wNxRQ0AQaDpyYAAIAIgBRC2gICAAAsgACgCGCIEQgA3ApgBQQAhAiAEQbABakEANgIAIARBqAFqQgA3AgAgBEGgAWpCADcCACAAKAIYEJKBgIAAGgwECyABQShqIAMQsYGAgAAgAS8BLCICDQMCQAJAIAEoAihFDQAgAxDvgYCAACICQf//A3FFDQEMBQsCQCADKAK8ASIAKAIAIAMoAlhHDQAgAUH4AGogAEEBEM+BgIAAQZzNx4AAIQQCQCABLQCIAQ0AIAFB+BBqQQhqIAFB+ABqQQhqKAIANgIAIAEgASkCeDcD+BAgAUH4EGohBAsgACAEKQIANwIAIABBCGogBEEIaigCADYCACADKAK8ASIEKAIAIgAoAhggACgCEGogBC8BBCICQQN0aiIEIAAvAa4CIAJBf3NqQQN0IgJqKQMAIQoCQCACRQ0AIARBCGogBCAC/AoAAAsgBCAKNwMAIABBAToAsAIgAygCvAEiACgCACIEKAIYIAQoAhAiBGogAC8BBEEDdGoiAigCACEFIAAvAQYhACADIAI2AsABIAMgBSAEaiAAQQN0ajYCxAEMAQsgAxDvgYCAACICQf//A3ENBAtBACECIAMvAcwBRQ0DIAFBkBFqIAgQ7IGAgAAgAS0AmBFFDQMgAy8BiAFBA3QhACADKALEASADLwHIAUEDdGshBCABKQOQESEKA0AgAEUNBCAEIAo3AwAgAEF4aiEAIARBCGohBAwACwsgAygCvAEoAgAhBCABQeAAaiADELGBgIAAIAEvAWQiAg0CAkACQCAEIAMoArwBIgAoAgAiB0YNACABQdAAakEGaiEEIAFB0ABqQQRqIQUgAUHQAGpBCGogAEEIaigCADYCACABIAApAgA3A1AgASADLwHIATsBViABQdAAaiECDAELIAFBkBFqIABBARDPgYCAAAJAIAEtAKARRQ0AQZzNx4AAIQJBos3HgAAhBEGgzceAACEFDAELIAFBKGpBBmohBCABQShqQQRqIQUgAUEoakEIaiABQZARakEIaigCADYCACABIAEpApARNwMoIAFBKGohAgsgBC8BACEGIAUvAQAhBQJAAkACQAJAAkAgByACKAIAIgRHDQAgAC8BBCAFRw0AIAAvAQZB//8DcSAGRg0BCyADKALAASIAIAApAwBCgICAgIDAAIQ3AwAgBCgCGCAEKAIQaiAFQQN0aiIAIAApAwBCgICAgIDAAIQ3AwAgAygCvAEiACgCACACKAIARg0AIAMvAcwBDQFBvKfIgAAhCUGgp8iAACEHDAILIAAgAikCADcCACAAQQhqIAJBCGooAgA2AgAMAgsgAUGUAWohCSAIKQIAIQogCEIANwMAIAFB+ABqQRhqIAhBGGoiACgCADYCACABQfgAakEQaiAIQRBqIgcpAgA3AwAgAUH4AGpBCGogCEEIaiILKQIANwMAIAtCADcDACAHQgA3AwAgAEEANgIAIAFBAToAlAEgASAKNwN4IAMQkoGAgAAaIAMoArwBIQAgAUH4AGohBwsCQCADKAK4AUUNACAAKAIAIgBBqAFqIAAoAhAgAy8BzgEQpYGAgAAgAygCvAEhAAsgACACKQIANwIAIABBCGogAkEIaigCADYCAAJAIAktAABFDQAgCCAHKQIANwIAIAhBGGoiACAHQRhqKAIANgIAIAhBEGoiAiAHQRBqKQIANwIAIAhBCGogB0EIaikCADcCACADEJKBgIAAIgdB//8DcUUNACABIAc7AXQgAUH0AGoQ4IGAgAAgAEEANgIAIAJCADcDACAIQQhqQgA3AwAgCEIANwMAIANBADsBzAELIAMoArgBIgBFDQAgA0EANgK4ASADQQA7Ac4BAkAgAyAAKAIMIAAoAhBBACAAKAIAIAAtAAhBAXEiAhtBACAAKAIEIAIbENOBgIAAIgJB//8DcUUNACABIAI7AUAgAUHAAGoQ4YGAgAALIAAgA0GQAWoiAhCdgYCAACACIAAQnoGAgAALIAQoAhggBCgCECICaiAFQQN0aiIAKAIAIQUgAyAANgLAASADIAUgAmogBkEDdGo2AsQBIAAgACkDAEKAgICAgMAAhDcDACADLQCkAUUNASADIARBEGogAygCwAEiACAAKAIAIAQoAhBqIAQvAawCEOiBgIAADAELIANBARDYgYCAACACQQE6ALACAkADQCACKAIMIgVFDQEgAkEQaiAFQRBqIAYgAi8BrgJBf2pB//8DcUEDdGogBSgCGCAFKAIQaiIHQQAgAi8BrAIQoIGAgAAiAkH//wNxDQMgBykDACEKAkAgBS8BrgJBA3RBeGoiAEUNACAHIAdBCGogAPwKAAALIAcgAGogCjcDACAFQQE6ALACIAMoAnAhACADKAJsIQQgByEGIAUhAiADKAJ0RQ0AA0ACQCAADQAgByEGIAUhAgwCCwJAIAQoAgAiAigCACAFRw0AAkAgAi8BBCIGDQAgAiAFKAIIIgY2AgAgBi8BrgIhBgsgAiAGQX9qOwEECyAAQX9qIQAgBEEEaiEEDAALCwsgBiACLwGuAkF/akH//wNxQQN0aiINKAIAIAIoAhBqIQwgAi8BrAIhEQJAIA0pAwAiCkKAgICAwACDUA0AIAJBLGohCyARIQQgDCEFIAwhAANAAkACQCAERQ0AIAApAwBCA4NCAVINASABIAIoAjggAigCECIGajYCcCABQeAAaiABQfAAaiAFIAZrEKGBgIAAIAEoAmAhBiALIAIoAhAiByAHIAEoAmQiCSgCAGogCSgCBBCigYCAACABQfAAaiAGEKOBgIAAIAAgACkDAEJ8gzcDAAwBCwJAAkAgESACLwGsAiIARg0AIABBAWohBCANKAIAIAIoAhBqIQACQANAIARBf2oiBEUNASAAKQMAIQogAEEIaiEAIApCA4NCAVENAwwACwsgDSANKQMAQv////+/f4MiCjcDAAwECyANIA0pAwBC/////79/gyIKNwMADAMLIA0pAwAhCgwCCyAEQX9qIQQgBUEIaiEFIABBCGohAAwACwsCQCAKQoCAgICAAoNQDQAgAkGoAWohByARIQQgDCEFIAwhAANAAkACQCAERQ0AIAAtAAVBIHFFDQEgASACKAKkASACKAIQIgZqNgJ0IAFB+BBqIAFB9ABqIAUgBmsQpIGAgAAgAS0AgBFFDQEgByACKAIQIAEoAvwQLwEAEKWBgIAAIAFB9ABqIAEoAvgQEKaBgIAAIAAgACkDAEL///////93gzcDAAwBCwJAAkAgESACLwGs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qICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAEIuCgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAu3AQECfyOAgICAAEEQayICJICAgIAAAkAgAEHZ8smAAEE9EJqAgIAAIgNB//8DcQ0AIAEtAAAhAyACQdnqwIAANgIAIAJBATYCBCACQQlBByADQQFxIgMbNgIMIAJB4azAgABB3JPAgAAgAxs2AgggACACEKeEgIAAIgNB//8DcQ0AIABBlvPJgABBBRCagICAACIDQf//A3ENACAAIAEvAQIQpYSAgAAhAwsgAkEQaiSAgICAACADC6YCAgp/AX4jgICAgABBEGsiASSAgICAACAAKAJYIQJBACEDAkADQCACKAIYIAIoAhAiBGogAi8BrgIiBUEDdGohBiADIAVqIQdBACEIAkADQAJAAkAgCCAFRg0AIAAvAYgBQQFqIQkgBiAIQX9zQQN0aigCACAEaiEKA0AgCUF/aiIJRQ0CIAopAwAhCyAKQQhqIQogC0L+//+DgIADg1ANAAsgAC8BigEgA2shCgwFCyAHIQMgAigCCCICDQMMAgsgAyAALwGKAU8NASAIQQFqIQggA0EBaiEDDAALCwtBACEKCyAKQQFqIQoCQANAAkAgCkF/aiIKDQBBACEJDAILIAFBCGogABCxgYCAACABLwEMIglFDQALCyABQRBqJICAgIAAIAkLyQIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAEIKEgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEHDABCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQgoSAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC6cFAQR/I4CAgIAAQdAQayIDJICAgIAAAkACQAJAAkACQAJAAkACQAJAAkACQCABQf8BcQ4DAQACAwsgACgCGCIBLwHIASABKALEASkDAEKAgICAgIADg0KAgICAgIABUWpBAWohBAwHCyAAKAIYIgQvAcgBIgENAkEAIQEMAwsgAC8B8hEhBAwFCyADIAE6AA8gA0KAEDcCsBAgA0Gwv8eAADYCqBAgAyADQRBqNgKsECADQagQaiADQQ9qEKeCgIAAIgBB//8DcUUNAiADQagQakGg6cmAAEEyEKiAgIAAIAMvAcAQDQYgA0GQEGpBEGogA0GoEGpBEGopAgA3AwAgA0GQEGpBCGoiASADQagQakEIaikCADcDACADIAMpAqgQNwOQEAJAIAEgA0EPahCngoCAAEH//wNxRQ0AIANBkBBqEKmAgIAADAcLIANBxBBqIANBkBBqEKqAgIAAIANBkBBqEKmAgIAAIAMvAcwQDQYgAygCyBAhBCADKALEECEBDAMLIAEgBCgCxAEpAwBCgICAgICAA4NCgICAgICAAlFrQf//A3EhAQsgBBCogoCAACAALwHyESEEDAMLIAMoAqwQIQEgAygCtBAhBAsgASAEEICAgIAAIABB//8DcUUNAkGg6cmAACABIAQQtoCAgAAMAgtBACEBCyAAKAIYQQA6ANEBIAAoAhgoAsABIgUgBSkDAEKAgICAgMAAhDcDACAAKAIYIgAoAsQBIAAvAcgBQQN0ayABQQN0aiEFIARB//8DcSABayEBIAAoArwBKAIAQRBqIQQgACgCwAEhBgJAIAAtAOECQQNxQQFGDQAgAkEBcQ0AIAAgBCAGIAUgARDogYCAAAwBCyAAIAQgBiAFIAEQ54GAgAALIANB0BBqJICAgIAACzEBAX8CQCAAQZvyyYAAQT4QmoCAgAAiAkH//wNxDQAgACABLwEAEKWEgIAAIQILIAILpAMCAX8BfiAAKAIIIAEgAhCMgYCAAEEAIQMCQAJAAkACQAJAAkACQCAB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QQEQ34GAgAAgB0F/aiEHIAItAOwBDQAgASACKQLcATcCACABQQhqIAJB3AFqQQhqKAIANgIADAALCyACIAM7ATogAkE6ahCsgoCAAAALIAJB8AFqJICAgIAAC6kEAwN/AX4DfyACKAIAIAEoAgBqIQMCQAJAIAAvAfoRIgQgAC8B8hFBf2pB//8DcUYNACAALwH4EUEBSw0BCyADIAEvAZwCQX9qQf//A3FBA3RqIgUpAwAiBkKAgICAgIADg0KAgICAgIADUg0AIAUgBkL///////98gzcDACAALwH6ESEECyADIARB//8DcUEDdGohBwJAIAMgAC8B+BEiBEEDdGoiCCkDAEKAgICAgIADg0KAgICAgIACUg0AAkAgAyAEQX9qQf//A3FBA3RqIgkpAwBCA4NCAVINACABIAkQ6oGAgAAgAS8BnAJBAWohBSACKAIAIAEoAgBqIQQCQANAIAVBf2oiBUUNASAEKQMAIQYgBEEIaiEEIAZCA4NCAVENAgwACwsgAiACKQMAQv////+/f4M3AwALIAkgCSkDAEKDgID8//98gzcDACAIIAgpAwBC////////fIM3AwALAkAgBykDACIGQoCAgICAgAODQoCAgICAgAFRDQAPCyADIAAvAfoRQQFqQf//A3FBA3RqIQACQCAGQgODQgFSDQAgASAHEOqBgIAAIAEvAZwCQQFqIQUgAigCACABKAIAaiEEAkADQCAFQX9qIgVFDQEgBCkDACEGIARBCGohBCAGQgODQgFRDQIMAAsLIAIgAikDAEL/////v3+DNwMACyAHIAcpAwBCg4CA/P//fIM3AwAgACAAKQMAQv///////3yDNwMAC5wMBAZ/AX4HfwF+I4CAgIAAQdAAayIGJICAgIAAIAMoAgAgACgCACIHaiIIIARBA3QiCWohCiABKAIAIQsCQCADKQMAIgxCgICAgMAAg1ANACAAQRxqIQ0gCCAJaiEOIAohCSAFIQ8DQAJAAkAgD0UNACAJKQMAQgODQgFSDQEgBiAAKAIoIAAoAgAiEGo2AgggBkEMaiAGQQhqIA4gEGsQoYGAgAAgBigCDCERIA0gECAQIAYoAhAiEigCAGogEigCBBCigYCAACAGQQhqIBEQo4GAgAAgCSAJKQMAQnyDNwMADAELAkACQCAFIAAvAZwCIglGDQAgCUEBaiEPIAMoAgAgACgCAGohCQJAA0AgD0F/aiIPRQ0BIAkpAwAhDCAJQQhqIQkgDEIDg0IBUQ0DDAALCyADIAMpAwBC/////79/gyIMNwMADAQLIAMgAykDAEL/////v3+DIgw3AwAMAwsgAykDACEMDAILIA5BCGohDiAJQQhqIQkgD0F/aiEPDAALCwJAIAxCgICAgIACg1ANACAAQZgBaiERIAggBEEDdGohDiAKIQkgBSEPA0ACQAJAIA9FDQAgCS0ABUEgcUUNASAGIAAoApQBIAAoAgAiEGo2AhggBkEcaiAGQRhqIA4gEGsQpIGAgAAgBi0AJEUNASARIBAgBigCIC8BABClgYCAACAGQRhqIAYoAhwQpoGAgAAgCSAJKQMAQv///////3eDNwMADAELAkACQCAFIAAvAZwCIglGDQAgCUEBaiEPIAMoAgAgACgCAGohCQJAA0AgD0F/aiIPRQ0BIAktAAUhDiAJQQhqIQkgDkEgcQ0DDAALCyADIAMpAwBC//////99gyIMNwMADAQLIAMgAykDAEL//////32DIgw3AwAMAwsgAykDACEMDAILIAlBCGohCSAOQQhqIQ4gD0F/aiEPDAALCwJAIAxCgICAgIABg1ANACAAQSxqIRAgCiEPIAUhCQNAAkACQAJAAkACQCAJRQ0AIA8pAwBCGoinIg5B//8DcQ0BDAQLIAUgAC8BnAIiCUcNAQwCCyAQIAAoAgAgDhCTgYCAAAwCCyAJQQFqIQ8gAygCACAAKAIAaiEJA0AgD0F/aiIPRQ0BIAkoAQIhDiAJQQhqIQkgDkGA+P8fcQ0EDAALCyADIAMpAwBC//////9+gzcDAAwCCyAPQQhqIQ8gCUF/aiEJDAALCyACQQN0IQ8gCyAHaiEJAkAgBUEDdCITRSIHDQAgCkEAIBP8CwALIAkgD2ohCwJAAkAgAS0ABEEccUUNACAIIARBA3RqIRAgCSACQQN0aiERIAohCSALIQ8gBSEOA0AgDkUNAiAJIA8pAwAiDDcDAAJAIAxCA4NCAVINACAJIAxCfIM3AwAgBiAAKAIoIAAoAgAiEmo2AiggBkEsaiAGQShqIBEgEmsQoYGAgAAgBiAGKAIwKQIANwM4IAZBKGogBigCLBCjgYCAACAGQShqIBAgEmsgBkE4ahChgoCAACAPIA8pAwBCfIM3AwAgCSAJKQMAQnyDQgGENwMAIAMgAykDAEKAgICAwACENwMAIA8pAwAhDAsCQCAMQoCAgICAgAiDUA0AIAkgCSkDAEL///////93gzcDACAGIAAoApQBIAAoAgAiEmo2AkAgBkHEAGogBkHAAGogESASaxCkgYCAACAGKAJILwEAIQ0gBkHAAGogBigCRBCmgYCAACAGQcAAaiAQIBJrIA0QooKAgAAgCSAJKQMAQoCAgICAgAiENwMAIAMgAykDAEKAgICAgAKENwMACyAQQQhqIRAgCUEIaiEJIBFBCGohESAPQQhqIQ8gDkF/aiEODAALCyAHDQAgCiALIBP8CgAACwJAIAMpAwAiDEKAgICAgAGDQgBSDQAgBUEBaiEJAkADQAJAIAlBf2oiCQ0AQgAhFAwCCyAKKAECIQ8gCkEIaiEKIA9BgPj/H3FFDQALQoCAgICAASEUCyADIBQgDIQ3AwALAkAgBw0AIAtBACAT/AsACwJAIAUgAC8BnAJHDQAgASABKQMAQv////+/fIM3AwALIAZB0ABqJICAgIAAC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCDhICAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMhCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQg4SAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCEhICAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMhCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQhISAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACw8AIAAoAghBABCvgoCAAAviAwEDfyOAgICAAEHQEGsiAiSAgICAAAJAAkACQAJAIAFB/wFxDgQAAgIBAgsgACgCGC8ByAEiAUEHcSEDIAFBA3YhBAJAIAFB/wNLDQAgACAEaiIBIANBwKfIgABqLQAAIAEtADxzOgA8DAMLIAQgACgCNGpBQGoiASADQcCnyIAAai0AACABLQAAczoAAAwCCyAAQTBqQQAQiYGAgAAMAQsgAiABOgAPIAJCgBA3ArAQIAJBsL/HgAA2AqgQIAIgAkEQajYCrBACQAJAIAJBqBBqIAJBD2oQsIKAgAAiAUH//wNxRQ0AIAJBqBBqQaDpyYAAQTsQqICAgAAgAi8BwBANAiACQZAQakEQaiACQagQakEQaikCADcDACACQZAQakEIaiIAIAJBqBBqQQhqKQIANwMAIAIgAikCqBA3A5AQAkAgACACQQ9qELCCgIAAQf//A3FFDQAgAkGQEGoQqYCAgAAMAwsgAkHEEGogAkGQEGoQqoCAgAAgAkGQEGoQqYCAgAAgAi8BzBANAiACKALIECEDIAIoAsQQIQAMAQsgAigCrBAhACACKAK0ECEDCyAAIAMQgICAgAAgAUH//wNxRQ0AQaDpyYAAIAAgAxC2gICAAAsgAkHQEGokgICAgAALNwEBfwJAIABByLHKgABBORCagICAACICQf//A3ENACAAQYy1yoAAIAEtAAAQr4SAgAAhAgsgAgsPACAAKAIIQQMQr4KAgAALOAEBfyAAKAIIIgIgAi8B7BFB/f8DcTsB7BECQCABQQVHDQAgACgCCCIAIAAvAewRQQJyOwHsEQsLQgEBfwJAIAAgASADELSCgIAAIgFB//8DcQ0AIAAgACgCBCIEIANqNgIEIANFDQAgACgCACAEaiACIAP8CgAACyABC2ABA38jgICAgABBEGsiAySAgICAACADIAAoAgQiBCAC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ADoAnREgAEEAOwGUESAAIANBAWo6AJwRDAILIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkACQCACQagoahC7goCAACIDQf//A3FFDQAgAkGoKGpBoOnJgABBLBCogICAACACLwHAKA0DIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIgcgAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAHELuCgIAAQf//A3FFDQAgAkGQKGoQqYCAgAAMBAsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNAyACKALIKCEJIAIoAsQoIQcMAQsgAigCrCghByACKAK0KCEJCyAHIAkQgICAgAAgA0H//wNxRQ0BQaDpyYAAIAcgCRC2gICAAAwBCyACQQI6ALABIANB/wFxIQcgAEHkEGohCSAAQZcRaiEKIAAvARAgAEESai0AAEEQdHIhAyAALQCbESELAkACQCABQf8BcUHtAEYNACADQf///wdxRQ0AIAIgAzsBxAEgAkHGAWogA0EQdjoAACACIAE6AMgBIAIgBzYCwAEgAiAJNgK8ASACIAs2ArgBIAIgCjYCtAEgAiACLQCwAToA4AEgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQCACQagoaiACQbQBahC8goCAACIDQf//A3ENACACKAKsKCEHIAIoArQoIQkMAgsgAkGoKGpBoOnJgABB1QAQqICAgAAgAi8BwCgNAiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiIHIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgByACQbQBahC8goCAAEH//wNxRQ0AIAJBkChqEKmAgIAADAMLIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDQIgAigCyCghCSACKALEKCEHDAELIAIgAzsB9AEgAkHkAWpBEmogA0EQdjoAACACIAE6APgBIAIgBzYC8AEgAiAJNgLsASACIAs2AugBIAIgCjYC5AEgAkEBOgCUAiACIAItALABOgCQAiACQeQBaiEIDAELIAcgCRCAgICAACADQf//A3FFDQBBoOnJgAAgByAJELaAgIAAC0H4sMeAACEDAkAgAC0AlhFBD3EgBEEPcSIHRg0AQZSyx4AAIQMCQAJAAkACQAJAAkAgB0F/ag4NAgMCAwMDAgMDAQMABgMLIABBFGoQpICAgAAMAgsgAC0AnRENAiAALQCcESEDDAMLIABBADsBECAAQQA6AJ0RIABBADsBlBEgAEEAOwCbESAAQRJqQQA6AAALQfiwx4AAIQMMAgsgACAALQCcEUEBdGogAC8BlBE7AeQQIAAgAC0AnBFBAWoiAzoAnBELIAJBBToAwAMgAiABOgDUAyACQQE6APQDIAJBBToA8AMgAiADQf8BcTYC0AMgAiAAQeQQajYCzAMgAiAALQCbETYCyAMgAiAAQZcRajYCxAMgAkHEA2ohAwsCQEE0RSIBDQAgAkH4A2ogBUE0/AoAAAsCQCABDQAgAkH4A2pBNGogCEE0/AoAAAsCQCABDQAgAkHgBGogA0E0/AoAAAsgACAEQQ9xOgCWESACQZAoakEIaiEMIAJBtBRqQRVqIQ0gAkG4BWpBFWohDiACQdwFakEVaiEPIAJB/AVqQRVqIRAgAkGgBmpBFWohESACQcQGakEVaiESIAJB5AZqQRVqIRMgAkH8BmpBFWohFCACQZQHakEVaiEVIAJBrAdqQRVqIRYgAkHEB2pBFWohFyACQeQHakEVaiEYIAJBhAhqQRVqIRkgAkGkCGpBFWohGiACQcQIakEVaiEbIAJB5AhqQRVqIRwgAkH8CGpBFWohHSACQZwJakEVaiEeIAJBvAlqQRVqIR8gAkHcCWpBFWohICACQfwJakEVaiEhIAJBnApqQRVqISIgAkG0CmpBFWohIyACQdQKakEVaiEkIAJB9ApqQRVqISUgAkGYC2pBFWohJiACQbgLakEVaiEnIAJBgAxqQRVqISggAkGYDGpBFWohKSACQewMakEVaiEqIAJBvAxqQRVqISsgAkHUDGpBFWohLCACQZgNakEVaiEtIAJBvA1qQRVqIS4gAkHUDWpBFWohLyACQbwOakEVaiEwIAJBhA5qQRVqITEgAkGkDmpBFWohMiACQcQPakEVaiEzIAJB3A5qQRVqITQgAkGsD2pBFWohNSACQZQPakEVaiE2IAJB/A5qQRVqITcgAkGEEWpBFWohOCACQewQakEVaiE5IAJB3A9qQRVqITogAkH0D2pBFWohOyACQYwQakEVaiE8IAJBpBBqQRVqIT0gAkG8EGpBFWohPiACQdQQakEVaiE/IAJBnBFqQRVqIUAgAkGgEmpBFWohQSACQYgSakEVaiFCIAJBuBFqQRVqIUMgAkHUEWpBFWohRCACQewRakEVaiFFIAJBuBJqQRVqIUYgAkHQEmpBFWohRyACQZgTakEVaiFIIAJBgBNqQRVqIUkgAkHoEmpBFWohSiACQbATakEVaiFLIAJB1BNqQRVqIUwgAkH0E2pBFWohTSACQZQUakEVaiFOIAJBjBdqQRhqIU8gAkGMF2pBFWohUCACQZgWakELaiFRQQAhAwNAIANBA0YNAQJAIAJB+ANqIANBNGxqIgEtADBFDQAgAS8BECABQRJqLQAAQRB0ciELIAFBFWohCiABLQAUIQkgAS0AEyFSIAEoAgwhByABKAIIIQUgASgCBCEIIAEoAgAhBAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0ALEEPcQ4LAAQBAgObAZsBmwGbAZsBmwEACyACIAQ7AZQFIAIgBEH///8AcUEQdjoAlgUgACACQZQFahCkgoCAACIEQf//A3ENnQEMmgELIAlBQGoOPlNRDg9QEBFPThIDBBUWDQ0XDQ0YGQ0NBR4NHw0NDQ0NTyAhBiMkTiUHDVBRCAlgDV9eCgtXDA0NDQ0NDQ1SDQsgBUEIdiEBAkAgBUH/AXEiB0FJag4mREtJSUlJNTRJSUZHSUNCSUlBSUlJSUA/PklJSUlJST08SUk7SZkBAAsCQCAHQYR/ag4DNjc4AAsgB0EwRg1EIAdBkn9qDgI5OEcLIAQOFSsplwEoMC8ulwGXAS2XAZcBlwExLCoqKpcBKiorCyAEwEEASA2TAQJAAkACQAJAAkACQCAEQf8AcQ4QnAGcAZwBBQWcAQWcAQABBAQEkgECAwULIAAQj4KAgAAMmwELIABBARCSgoCAAAyaAQsgAEHwtceAABD8gYCAAAyZAQsgAEH8tceAABD8gYCAAAyYAQsgABCUgoCAACEEDJUBCyACIAQ6ALcFIAJBtwVqELqCgIAADJYBC0HIsseAACEBIAgOAoQBDyULQciyx4AAIQEgCA4CggEPIwsgCA4CFBcVC0HQsseAACEBIAgOAmYbIAsgCEUNHgJAIAhBAUcNACAELQAAQT9GDR8LICYgCi8AADsAACACIAs7AagLIAJBqgtqIAtBEHY6AAAgJkECaiAKQQJqLQAAOgAAIAJB6AA6AKwLIAIgUjoAqwsgAiAHNgKkCyACIAU2AqALIAIgCDYCnAsgAiAENgKYCyACQZgLahC9goCAAAyRAQsgCEUNXAJAIAhBAUcNACAELQAAQT9GDV0LICcgCi8AADsAACACIAs7AcgLIAJBygtqIAtBEHY6AAAgJ0ECaiAKQQJqLQAAOgAAIAJB7AA6AMwLIAIgUjoAywsgAiAHNgLECyACIAU2AsALIAIgCDYCvAsgAiAENgK4CyACQbgLahC9goCAAAyQAQsgCA4CWFdaCyAIDgJSUVALIAgOAk5NTAsgCA4CSUhHCyANIAovAAA7AAAgAiALOwHEFCACQcYUaiALQRB2OgAAIA1BAmogCkECai0AADoAACACIAk6AMgUIAIgUjoAxxQgAiAHNgLAFCACIAU2ArwUIAIgCDYCuBQgAiAENgK0FCACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKCACQagoaiACQbQUahC+goCAACIBQf//A3FFDYYBIAJBqChqQaDpyYAAQS4QqICAgAAgAi8BwCgNiwEgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgAkGQKGpBCGogAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAMIAJBtBRqEL6CgIAAQf//A3FFDQAgAkGQKGoQqYCAgAAMjAELIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDYsBIAIoAsgoIQUgAigCxCghBAyHAQsgCEUNhAEgAiAINgLYBSACIAQ2AtQFIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkHUBWoQv4KAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDIQBCyACQagoakGg6cmAAEHFABCogICAACACLwHAKA2KASACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHUBWoQv4KAgABB//8DcUUNACACQZAoahCpgICAAAyLAQsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNigEgAigCyCghBSACKALEKCEEDIMBCyAIRQ2BASACIAg2AvgFIAIgBDYC9AUgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQCACQagoaiACQfQFahDAgoCAACIBQf//A3ENACACKAKsKCEEIAIoArQoIQUMgQELIAJBqChqQaDpyYAAQcUAEKiAgIAAIAIvAcAoDYkBIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQfQFahDAgoCAAEH//wNxRQ0AIAJBkChqEKmAgIAADIoBCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA2JASACKALIKCEFIAIoAsQoIQQMgAELIAhFDX0gAiAINgKcBiACIAQ2ApgGIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkGYBmoQwYKAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDH0LIAJBqChqQaDpyYAAQcUAEKiAgIAAIAIvAcAoDYgBIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQZgGahDBgoCAAEH//wNxRQ0AIAJBkChqEKmAgIAADIkBCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA2IASACKALIKCEFIAIoAsQoIQQMfAsgCEUNeiACIAg2AsAGIAIgBDYCvAYgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQCACQagoaiACQbwGahDCgoCAACIBQf//A3ENACACKAKsKCEEIAIoArQoIQUMegsgAkGoKGpBoOnJgABBxQAQqICAgAAgAi8BwCgNhwEgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgAkGQKGpBCGogAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAMIAJBvAZqEMKCgIAAQf//A3FFDQAgAkGQKGoQqYCAgAAMiAELIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDYcBIAIoAsgoIQUgAigCxCghBAx5CyAIRQ13IAIgCDYC4AYgAiAENgLcBiACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAIAJBqChqIAJB3AZqEMOCgIAAIgFB//8DcQ0AIAIoAqwoIQQgAigCtCghBQx3CyACQagoakGg6cmAAEHFABCogICAACACLwHAKA2GASACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHcBmoQw4KAgABB//8DcUUNACACQZAoahCpgICAAAyHAQsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNhgEgAigCyCghBSACKALEKCEEDHYLQcqyx4AAQcyyx4AAIAQtAABBP0YbIQEMdAtByrLHgABBzLLHgAAgBC0AAEE/RhshAQxyCyAIRQ1wIAIgCDYC4AcgAiAENgLcByACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAIAJBqChqIAJB3AdqEMSCgIAAIgFB//8DcQ0AIAIoAqwoIQQgAigCtCghBQxwCyACQagoakGg6cmAAEHFABCogICAACACLwHAKA2DASACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHcB2oQxIKAgABB//8DcUUNACACQZAoahCpgICAAAyEAQsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNgwEgAigCyCghBSACKALEKCEEDG8LIAhFDW0gAiAINgKACCACIAQ2AvwH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AkHEFWpBC2ogAUEQdjoAACACQcgAOgDMFSACIAg2AsgVIAIgBDYCxBUgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQAJAIAJBqChqIAJBxBVqEOKCgIAAQf//A3EiAQ0AIAIoAqwoIQQgAigCtCghBQwBCyACQagoakGg6cmAAEEtEKiAgIAAIAIvAcAoDVkgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgDCACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHEFWoQ4oKAgABB//8DcUUNACACQZAoahCpgICAAAxaCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1ZIAIoAsgoIQUgAigCxCghBAsgBCAFEICAgIAAIAFFDVhBoOnJgAAgBCAFELaAgIAADFgLIAAQ+IGAgAAMVwsCQCAIRQ0AIAIgATsAwRUgAkG4FWpBC2ogAUEQdjoAACACQcUAOgDAFSACIAg2ArwVIAIgBDYCuBUgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQAJAIAJBqChqIAJBuBVqEOOCgIAAQf//A3EiAQ0AIAIoAqwoIQQgAigCtCghBQwBCyACQagoakGg6cmAAEEvEKiAgIAAIAIvAcAoDVggAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgDCACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkG4FWoQ44KAgABB//8DcUUNACACQZAoahCpgICAAAxZCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1YIAIoAsgoIQUgAigCxCghBAsgBCAFEICAgIAAIAFFDVdBoOnJgAAgBCAFELaAgIAADFcLIAAQ9YGAgAAhBAwJCwJAIAhFDQAgAiABOwC1FSACQawVakELaiABQRB2OgAAIAJBxAA6ALQVIAIgCDYCsBUgAiAENgKsFSACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkGsFWoQ5IKAgABB//8DcSIBDQAgAigCrCghBCACKAK0KCEFDAELIAJBqChqQaDpyYAAQSsQqICAgAAgAi8BwCgNVyACQZAoakEQaiACQagoakEQaikCADcDACAM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DQAgBS8BAEFyag4KAgEDAQQBAQUGBwELIDggCi8AADsAACACIAs7AZQRIAJBlhFqIAtBEHY6AAAgOEECaiAKQQJqLQAAOgAAIAJB9AA6AJgRIAIgUjoAlxEgAkEANgKQESACIAU2AowRIAJBADYCiBEgAiAENgKEESACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKCACQagoaiACQYQRahD5goCAACIBQf//A3FFDQ8gAkGoKGpBoOnJgABBNRCogICAACACLwHAKA1TIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQYQRahD5goCAAEH//wNxRQ0AIAJBkChqEKmAgIAADFQLIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDVMgAigCyCghBSACKALEKCEEDBALIDkgCi8AADsAACACIAs7AfwQIAJB/hBqIAtBEHY6AAAgOUECaiAKQQJqLQAAOgAAIAJB9AA6AIARIAIgUjoA/xAgAiAHNgL4ECACIAU2AvQQIAJBADYC8BAgAiAENgLsECACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKCACQagoaiACQewQahD6goCAACIBQf//A3FFDQwgAkGoKGpBoOnJgABBwQAQqICAgAAgAi8BwCgNUiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHsEGoQ+oKAgABB//8DcUUNACACQZAoahCpgICAAAxTCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1SIAIoAsgoIQUgAigCxCghBAwNCyAHQQFGDVEgOiAKLwAAOwAAIAIgCzsB7A8gAkHuD2ogC0EQdjoAACA6QQJqIApBAmotAAA6AAAgAkH0ADoA8A8gAiBSOgDvDyACIAc2AugPIAIgBTYC5A8gAkEANgLgDyACIAQ2AtwPIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkHcD2oQ+4KAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAsLIAJBqChqQaDpyYAAQT0QqICAgAAgAi8BwCgNUSACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHcD2oQ+4KAgABB//8DcUUNACACQZAoahCpgICAAAxSCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1RIAIoAsgoIQUgAigCxCghBAwKCyAHQQFGDVAgOyAKLwAAOwAAIAIgCzsBhBAgAkGGEGogC0EQdjoAACA7QQJqIApBAmotAAA6AAAgAkH0ADoAiBAgAiBSOgCHECACIAc2AoAQIAIgBTYC/A8gAkEANgL4DyACIAQ2AvQPIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkH0D2oQ/IKAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAkLIAJBqChqQaDpyYAAQT0QqICAgAAgAi8BwCgNUCACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkH0D2oQ/IKAgABB//8DcUUNACACQZAoahCpgICAAAxRCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1QIAIoAsgoIQUgAigCxCghBAwICyAHQQFGDU8gPCAKLwAAOwAAIAIgCzsBnBAgAkGeEGogC0EQdjoAACA8QQJqIApBAmotAAA6AAAgAkH0ADoAoBAgAiBSOgCfECACIAc2ApgQIAIgBTYClBAgAkEANgKQECACIAQ2AowQIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkGMEGoQ/YKAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAcLIAJBqChqQaDpyYAAQT0QqICAgAAgAi8BwCgNTyACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGMEGoQ/YKAgABB//8DcUUNACACQZAoahCpgICAAAxQCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1PIAIoAsgoIQUgAigCxCghBAwGCyAHQQFGDU4gPSAKLwAAOwAAIAIgCzsBtBAgAkG2EGogC0EQdjoAACA9QQJqIApBAmotAAA6AAAgAkH0ADoAuBAgAiBSOgC3ECACIAc2ArAQIAIgBTYCrBAgAkEANgKoECACIAQ2AqQQIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkGkEGoQ/oKAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAULIAJBqChqQaDpyYAAQT0QqICAgAAgAi8BwCgNTiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGkEGoQ/oKAgABB//8DcUUNACACQZAoahCpgICAAAxPCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1OIAIoAsgoIQUgAigCxCghBAwECyAHQX5xQQJGDQEMAgsCQCAHQX5xQQJHDQAgBS8BAg4DTQBNAAsgPyAKLwAAOwAAIAIgCzsB5BAgAkHmEGogC0EQdjoAACA/QQJqIApBAmotAAA6AAAgAkH0ADoA6BAgAiBSOgDnECACIAc2AuAQIAIgBTYC3BAgAkEANgLYECACIAQ2AtQQIAJB1BBqEP+CgIAADEwLIAUvAQIOA0sASwALID4gCi8AADsAACACIAs7AcwQIAJBzhBqIAtBEHY6AAAgPkECaiAKQQJqLQAAOgAAIAJB9AA6ANAQIAIgUjoAzxAgAiAHNgLIECACIAU2AsQQIAJBADYCwBAgAiAENgK8ECACQbwQahD/goCAAAxKCyAEIAUQgICAgAAgAUH//wNxRQ1JQaDpyYAAIAQgBRC2gICAAAxJCyAEIAUQgICAgAAgAUH//wNxRQ1IQaDpyYAAIAQgBRC2gICAAAxICyAEIAUQgICAgAAgAUH//wNxRQ1HQaDpyYAAIAQgBRC2gICAAAxHCyAEIAUQgICAgAAgAUH//wNxRQ1GQaDpyYAAIAQgBRC2gICAAAxGCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDURBoOnJgAAgBCAFELaAgIAADEQLIAIoAqwoIQQgAigCtCghBQsgBCAFEICAgIAAIAFB//8DcUUNQkGg6cmAACAEIAUQtoCAgAAMQgsgBCAFEICAgIAAIAFB//8DcUUNQUGg6cmAACAEIAUQtoCAgAAMQQsgMyAKLwAAOwAAIAIgCzsB1A8gAkHWD2ogC0EQdjoAACAzQQJqIApBAmotAAA6AAAgAkHzADoA2A8gAiBSOgDXDyACIAc2AtAPIAIgBTYCzA8gAiAINgLIDyACIAQ2AsQPIAJBxA9qEICDgIAADEALAkACQAJAAkACQAJAIAQtAABBQmoOAgACAQtBgAIhASAHDgIEAwILIDUgCi8AADsAACACIAs7AbwPIAJBvg9qIAtBEHY6AAAgNUECaiAKQQJqLQAAOgAAIAJB8wA6AMAPIAIgUjoAvw8gAiAHNgK4DyACIAU2ArQPIAJBATYCsA8gAiAENgKsDyACQawPahD1goCAAAxDCwNAIAdFDUMgAkH2DmogBS8BACIBQQAQ0oKAgAACQAJAIAItAPgORQ0AIAAoAggiAUEMajEAACFWIAE1AgghVyABQQRqMQAAIVggATUCACFZAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIvAfYOIgRBf2oOGQE2AgMEBQYHCDY2CTY2NjY2NjY2NjY2NgoACwJAIARBmHhqDhEQNhESExQVFjY2NjY2NjYXGAALAkAgBEH1d2oODxkaNjYbNjY2NjYcNh0eHwALAkAgBEGWcGoOBiEiNjY2IwALAkAgBEFTag4DDDYNAAsCQCAEQb5/ag4EDjY2DwALQgEhBkL+/////x8hWgJAIARB/v99ag4DJjYlAAsgBEEoRg0KIARB1A9GDR8gBEGAEEYNIwJAIARBjIACRw0AQgQhBkL7/////x8hWgwmC0IIIQZC9/////8fIVoMJQtCECEGQu//////HyFaDCQLQt//////HyFaQiAhBgwjC0LAACEGQr//////HyFaDCILQoABIQZC//7///8fIVoMIQtCgAIhBkL//f///x8hWgwgC0KABCEGQv/7////HyFaDB8LQoAIIQZC//f///8fIVoMHgtCgBAhBkL/7////x8hWgwdC0KAICEGQv/f////HyFaDBwLQoDAACEGQv+/////HyFaDBsLQoCAASEGQv///v//HyFaDBoLQoCAAiEGQv///f//HyFaDBkLQoCABCEGQv//+///HyFaDBgLQoCACCEGQv//9///HyFaDBcLQoCAECEGQv//7///HyFaDBYLQoCAICEGQv//3///HyFaDBULQoCAwAAhBkL//7///x8hWgwUC0KAgIABIQZC/////v8fIVoMEwtCgICAAiEGQv////3/HyFaDBILQoCAgAQhBkL////7/x8hWgwRC0KAgIAIIQZC////9/8fIVoMEAtCgICAECEGQv///+//HyFaDA8LQoCAgCAhBkL////f/x8hWgwOC0KAgIDAACEGQv///7//HyFaDA0LQoCAgIABIQZC//////4fIVoMDAtCgICAgAIhBkL//////R8hWgwLC0KAgICABCEGQv/////7HyFaDAoLQoCAgIAIIQZC//////cfIVoMCQtCgICAgBAhBkL/////7x8hWgwIC0KAgICAICEGQv/////fHyFaDAcLQoCAgIDAACEGQv////+/HyFaDAYLQoCAgICAASEGQv//////HiFaDAULQoCAgICAAiEGQv//////HSFaDAQLQoCAgICABCEGQv//////GyFaDAMLQoCAgICACCEGQv//////FyFaDAILQoCAgICAECEGQv//////DyFaDAELQgIhBkL9/////x8hWgsgASAGIFkgWEIghoSDIFogVyBWQiCGhIOEIgY+AgggAUEMaiAGQiCIPAAADAELIAIgATsB+g4gAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQAJAIAJBqChqIAJB+g5qEIGDgIAAIgFB//8DcUUNACACQagoakGg6cmAAEEsEKiAgIAAIAIvAcAoDQIgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgAkGQKGpBCGogAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAMIAJB+g5qEIGDgIAAQf//A3FFDQAgAkGQKGoQqYCAgAAMAwsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNAiACKALIKCEIIAIoAsQoIQQMAQsgAigCrCghBCACKAK0KCEICyAEIAgQgICAgAAgAUH//wNxRQ0AQaDpyYAAIAQgCBC2gICAAAsgBUECaiEFIAdBf2ohBwwACwsgNiAKLwAAOwAA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BCAIELaAgIAADAELIAAgBCABEIyCgIAAIgRB//8DcQ1BCyAFQQJqIQUgB0F/aiEHDAALCwJAAkACQAJAIAcOAwABAgMLIABB9rLHgAAQtYKAgAAMPgsgAkEAOwH+DSACIAUvAQA7AfwNIAAgAkH8DWoQtYKAgAAMPQsgAiAFKAEANgGADiAAIAJBgA5qELWCgIAADDwLIDEgCi8AADsAACACIAs7AZQOIAJBlg5qIAtBEHY6AAAgMUECaiAKQQJqLQAAOgAAIAJB8gA6AJgOIAIgUjoAlw4gAiAHNgKQDiACIAU2AowOIAJBADYCiA4gAiAENgKEDiACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkGEDmoQhYOAgAAiAUH//wNxRQ0AIAJBqChqQaDpyYAAQS0QqICAgAAgAi8BwCgNPSACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGEDmoQhYOAgABB//8DcUUNACACQZAoahCpgICAAAw+CyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA09IAIoAsgoIQUgAigCxCghBAwBCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDTtBoOnJgAAgBCAFELaAgIAADDsLAkAgCEEBRg0AIAIgCDYC+A0gAiAENgL0DSACQfQNahCGg4CAAAw7CwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAQtAAAiAUFgag4DAAMBAgtCACEGQQEhASAHDgITAwQLQfCyx4AAIQEgBw4CCwgJCyABQT5GDU0LIAJBATYC8A0gAiAENgLsDSACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAIAJBqChqIAJB7A1qEIeDgIAAIgFB//8DcQ0AIAIoAqwoIQQgAigCtCghBQwSCyACQagoakGg6cmAAEHFABCogICAACACLwHAKA1MIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQewNahCHg4CAAEH//wNxRQ0AIAJBkChqEKmAgIAADE0LIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDUwgAigCyCghBSACKALEKCEEDBELQQIhAUKAICEGIAUvAQAiBA4HDQ4NDwMBAgQLIC4gCi8AADsAACACIAs7AcwNIAJBzg1qIAtBEHY6AAAgLkECaiAKQQJqLQAAOgAAIAJB8QA6ANANIAIgUjoAzw0gAiAHNgLIDSACIAU2AsQNIAJBATYCwA0gAiAENgK8DSACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKCACQagoaiACQbwNahCIg4CAACIBQf//A3FFDQogAkGoKGpBoOnJgABBNRCogICAACACLwHAKA1KIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQbwNahCIg4CAAEH//wNxRQ0AIAJBkChqEKmAgIAADEsLIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDUogAigCyCghBSACKALEKCEEDAsLQQAhAQwNC0EAIQELQgAhBgwLCyACIAQ7AboNIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoIAJBqChqIAJBug1qEImDgIAAIgFB//8DcUUNBCACQagoakGg6cmAAEEvEKiAgIAAIAIvAcAoDUYgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgAkGQKGpBCGogAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAMIAJBug1qEImDgIAAQf//A3FFDQAgAkGQKGoQqYCAgAAMRwsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNRiACKALIKCEFIAIoAsQoIQQMBQsgBS8BACIBQQNJDQELQfSyx4AAIQEMAQsgAUECdEHguMqAAGooAgAhAQsCQAJAAkACQAJAAkAgAS0AAUUNACAAKAIIIgUoAhghBCABLQAAQQNxDgMBAgMBCyAvIAovAAA7AAAgAiALOwHkDSACQeYNaiALQRB2OgAAIC9BAmogCkECai0AADoAACACQfEAOgDoDSACIFI6AOcNIAIgBzYC4A0gAiAFNgLcDSACQQE2AtgNIAIgBDYC1A0gAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCggAkGoKGogAkHUDWoQioOAgAAiAUH//wNxRQ0DIAJBqChqQaDpyYAAQTgQqICAgAAgAi8BwCgNRyACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHUDWoQioOAgABB//8DcUUNACACQZAoahCpgICAAAxICyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA1HIAIoAsgoIQUgAigCxCghBAwECyAEQQA6ANIBDEYLIARBAToA0gEgBSgCGEEBOgDhAgxFCyAEQQE6ANIBIAUoAhhBAjoA4QIMRAsgAigCrCghBCACKAK0KCEFCyAEIAUQgICAgAAgAUH//wNxRQ1CQaDpyYAAIAQgBRC2gICAAAxCCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDUBBoOnJgAAgBCAFELaAgIAADEALIAIoAqwoIQQgAigCtCghBQsgBCAFEICAgIAAIAFB//8DcUUNPkGg6cmAACAEIAUQtoCAgAAMPgtCACEGC0EBIQELIAAoAggiBCAENQIAQv/f//8PgyAGhD4CACAAKAIIKAIYIAE6ANABDDsLIAQgBRCAgICAACABQf//A3FFDTpBoOnJgAAgBCAFELaAgIAADDoLAkAgCEECRg0AIAIgCDYCtA0gAiAENgKwDSACQbANahCGg4CAAAw6CwJAIAQtAABBP0cNACAELQABQSRHDQAgB0EBRg06IC0gCi8AADsAACACIAs7AagNIAJBqg1qIAtBEHY6AAAgAkECNgKcDSAtQQJqIApBAmotAAA6AAAgAkHwADoArA0gAiBSOgCrDSACIAc2AqQNIAIgBTYCoA0gAiAENgKYDSACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkGYDWoQi4OAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAELIAJBqChqQaDpyYAAQSwQqICAgAAgAi8BwCgNOyACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGYDWoQi4OAgABB//8DcUUNACACQZAoahCpgICAAAw8CyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA07IAIoAsgoIQUgAigCxCghBAsgBCAFEICAgIAAIAFB//8DcUUNOkGg6cmAACAEIAUQtoCAgAAMOgsgAkECNgKUDSACIAQ2ApANIAJBkA1qEIaDgIAADDkLAkACQAJAAkACQAJAAkACQAJAAkACQCAIRQ0AIAQtAAAiAUE/Rw0FIAdBAUcNASAIQQFGDQMgLCAKLwAAOwAAIAIgCzsB5AwgAkHmDGogC0EQdjoAACAsQQJqIApBAmotAAA6AAAgAkHuADoA6AwgAiBSOgDnDCACQQE2AuAMIAIgBTYC3AwgAiAINgLYDCACIAQ2AtQMIAJB1AxqEL2CgIAADEMLIAdBAUYNAQsgKyAKLwAAOwAAIAIgCzsBzAwgAkHODGogC0EQdjoAACArQQJqIApBAmotAAA6AAAgAkHuADoA0AwgAiBSOgDPDCACIAc2AsgMIAIgBTYCxAwgAiAINgLADCACIAQ2ArwMIAJBvAxqEIyDgIAADEELAkACQCAFLwEAQXtqDgIAAQMLIAAoAgwgAEHupMCAAEEEELOCgIAAIQQMGQsgACgCCCIBKAIYIgUvAcoBIQQgBS8ByAEhBSABLQABQQFxDQMMBwsgBS8BAEHkB0YNFgsgKiAKLwAAOwAAIAIgCzsB/AwgAkH+DGogC0EQdjoAACAqQQJqIApBAmotAAA6AAAgAkHuADoAgA0gAiBSOgD/DCACQQE2AvgMIAIgBTYC9AwgAiAINgLwDCACIAQ2AuwMIAJB7AxqEIyDgIAADD4LAkAgCEEBRg0AIAIgCDYCjA0gAiAENgKIDSACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAIAJBqChqIAJBiA1qEI2DgIAAIgFB//8DcQ0AIAIoAqwoIQQgAigCtCghBQwFCyACQagoakGg6cmAAEHFABCogICAACACLwHAKA0+IAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQYgNahCNg4CAAEH//wNxRQ0AIAJBkChqEKmAgIAADD8LIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDT4gAigCyCghBSACKALEKCEEDAQLIAFBPkYNAiACIAE6AIcNIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkGHDWoQjoOAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAILIAJBqChqQaDpyYAAQTQQqICAgAAgAi8BwCgNPSACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGHDWoQjoOAgABB//8DcUUNACACQZAoahCpgICAAAw+CyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA09IAIoAsgoIQUgAigCxCghBAwBC0EAIARB//8DcSIEIAEvAfQRayIHIAcgBEsbIQRBACAFQf//A3EiBSABLwH4EWsiASABIAVLGyEFDAMLIAQgBRCAgICAACABQf//A3FFDTtBoOnJgAAgBCAFELaAgIAADDsLIAAoAggiASABLwHsEUH9/wNxOwHsEQw6CyAEIAUQgICAgAAgAUH//wNxRQ05QaDpyYAAIAQgBRC2gICAAAw5CyACQiA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoIAJBqChqQcinyIAAQQIQmoCAgABB//8DcQ0PIAJBqChqQYy1yoAAIARBAWoQj4OAgABB//8DcQ0PIAJBqChqQcqnyIAAQQEQmoCAgABB//8DcQ0PIAJBqChqQYy1yoAAIAVBAWoQj4OAgABB//8DcQ0PIAJBqChqQcunyIAAQQEQmoCAgABB//8DcQ0PIAAoAgwgACACKAKsKCACKAK0KBCzgoCAACEEDBALAkACQCAELQAAIgFBPkYNACACIAE6ALMMIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkAgAkGoKGogAkGzDGoQkIOAgAAiAUH//wNxDQAgAigCrCghBCACKAK0KCEFDAILIAJBqChqQaDpyYAAQTQQqICAgAAgAi8BwCgNOSACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkGzDGoQkIOAgABB//8DcUUNACACQZAoahCpgICAAAw6CyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA05IAIoAsgoIQUgAigCxCghBAwBCwJAIAdFDQBBACEIAkACQAJAAkACQAJAIAUvAQAiAQ4FAwABBAIEC0EBIQEMAgtBAiEBDAELQQMhAUEBIQgLAkAgB0ECTQ0AICkgCi8AADsAACACIAs7AagMIAJBqgxqIAtBEHY6AAAgKUECaiAKQQJqLQAAOgAAIAJB7QA6AKwMIAIgUjoAqwwgAiAHNgKkDCACIAU2AqAMIAJBATYCnAwgAiAENgKYDCACQZgMahCRg4CAAAw8CyAHQQJGIAhxRQ0BQQVBAyAFLwECQQJGGyEBDAELICggCi8AADsAACACIAs7AZAMIAJBkgxqIAtBEHY6AAAgKEECaiAKQQJqLQAAOgAAIAJB7QA6AJQMIAIgUjoAkwwgAiAHNgKMDCACIAU2AogMIAJBATYChAwgAiAENgKADCACQYAMahCRg4CAAAw6CyAAIAEQsoKAgAAMOQsgACgCCCIBIAEvAewRQf3/A3E7AewRDDgLIAQgBRCAgICAACABQf//A3FFDTdBoOnJgAAgBCAFELaAgIAADDcLIAIgCzsB4AsgAkHiC2ogC0EQdjoAACACQQA2AuQLIAIgBzYC3AsgAiAFNgLYCwNAIAJB6AtqIAJB2AtqENeAgIAAIAItAPwLRQ03IAIoAugLIgRBAUYNACAAKAIIKAIYIQECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAEDh8AIAECAwQFBgcICQoLDA0ODxAREhMUFRcWGBkbGh0cAAsgAUIANwOYASABQbABakEANgIAIAFBqAFqQgA3AwAgAUGgAWpCADcDAAwdCyABIAEvAbABQQFyOwGwAQwcCyABIAEvAbABQfr/A3E7AbABDBsLIAEgAS8BsAFBAnI7AbABDBoLIAEgAS8BsAFB/f8DcTsBsAEMGQsgASABLwGwAUEEcjsBsAEMGAsgASACLQDsC0EHcUEIdCABLwGwAUH/8QNxcjsBsAEMFwsgAUECOgCsASABIAIvAewLIgQ6AKgBIAEgBEEIdjoAqQEgASACQe4Lai0AADoAqgEMFgsgAUEBOgCsASABIAItAOwLOgCoAQwVCyABQgA3A6gBDBQLIAEgAS8BsAFBgAFyOwGwAQwTCyABIAEvAbABQf/+A3E7AbABDBILIAEgAS8BsAFBCHI7AbABDBELIAEgAS8BsAFB9/8DcTsBsAEMEAsgASABLwGwAUEQcjsBsAEMDwsgASABLwGwAUHv/wNxOwGwAQwOCyABIAEvAbABQSByOwGwAQwNCyABIAEvAbABQd//A3E7AbABDAwLIAEgAS8BsAFBwAByOwGwAQwLCyABIAEvAbABQb//A3E7AbABDAoLIAFBAjoAnAEgASACLwHsCyIEOgCYASABIARBCHY6AJkBIAEgAkHuC2otAAA6AJoBDAkLIAFBAjoApAEgASACLwHsCyIEOgCgASABIARBCHY6AKEBIAEgAkHuC2otAAA6AKIBDAgLIAFBAToAnAEgASACLQDsCzoAmAEMBwsgAUEBOgCkASABIAItAOwLOgCgAQwGCyABQgA3A5gBDAULIAFCADcDoAEMBAsgAUEBOgCcASABIAItAOwLOgCYAQwDCyABQQE6AKQBIAEgAi0A7As6AKABDAILIAFBAToAnAEgASACLQDsCzoAmAEMAQsgAUEBOgCkASABIAItAOwLOgCgAQsgARCSgYCAABoMAAsLAAsgAiAINgK4DCACIAQ2ArQMIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkACQCACQagoaiACQbQMahCSg4CAACIBQf//A3FFDQAgAkGoKGpBoOnJgABBxQAQqICAgAAgAi8BwCgNNiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkG0DGoQkoOAgABB//8DcUUNACACQZAoahCpgICAAAw3CyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA02IAIoAsgoIQUgAigCxCghBAwBCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDTRBoOnJgAAgBCAFELaAgIAADDQLA0AgB0UNNCACQdALaiAFLwEAIgEgCEUQ0oKAgAACQAJAIAItANILRQ0AIAIgAi8B0As7AdQLIAAgAkHUC2oQjoKAgAAiBEH//wNxDTkMAQsgAiABOwHWCyACQdYLahDTgoCAAAsgBUECaiEFIAdBf2ohBwwACwsgBCAFEICAgIAAIAFB//8DcUUNMkGg6cmAACAEIAUQtoCAgAAMMgsCQAJAAkAgBS8BACIBDgQAAgIBAgsgABCugoCAAAwzCyAAELGCgIAADDILIAIgAToAjwsgAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQAJAIAJBqChqIAJBjwtqEJODgIAAIgFB//8DcUUNACACQagoakGg6cmAAEErEKiAgIAAIAIvAcAoDTMgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgAkGQKGpBCGogAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAMIAJBjwtqEJODgIAAQf//A3FFDQAgAkGQKGoQqYCAgAAMNAsgAkHEKGogAkGQKGoQqoCAgAAgAkGQKGoQqYCAgAAgAi8BzCgNMyACKALIKCEFIAIoAsQoIQQMAQsgAigCrCghBCACKAK0KCEFCyAEIAUQgICAgAAgAUH//wNxRQ0xQaDpyYAAIAQgBRC2gICAAAwxCyAEIAUQgICAgAAgAUH//wNxRQ0wQaDpyYAAIAQgBRC2gICAAAwwCyAEIAUQgICAgAAgAUH//wNxRQ0vQaDpyYAAIAQgBRC2gICAAAwvC0EBIQECQAJAAkAgBw4CAQACCyAFLwEAIQELIAAoAggiBCAEKAIYIgQvAcoBQQFqQf//A3EgAUH//wNxaiIBQf//AyABQf//A0kbIAQvAcgBQQFqQf//A3EQ44GAgAAMLwsgJCAKLwAAOwAAIAIgCzsB5AogAkHmCmogC0EQdjoAACAkQQJqIApBAmotAAA6AAAgAkHlADoA6AogAiBSOgDnCiACIAc2AuAKIAIgBTYC3AogAkEANgLYCiACIAQ2AtQKIAJCgBA3ArAoIAJBsL/HgAA2AqgoIAIgAkGQGGo2AqwoAkACQCACQagoaiACQdQKahCUg4CAACIBQf//A3FFDQAgAkGoKGpBoOnJgABBKRCogICAACACLwHAKA0wIAJBkChqQRBqIAJBqChqQRBqKQIANwMAIAJBkChqQQhqIAJBqChqQQhqKQIANwMAIAIgAikCqCg3A5AoAkAgDCACQdQKahCUg4CAAEH//wNxRQ0AIAJBkChqEKmAgIAADDELIAJBxChqIAJBkChqEKqAgIAAIAJBkChqEKmAgIAAIAIvAcwoDTAgAigCyCghBSACKALEKCEEDAELIAIoAqwoIQQgAigCtCghBQsgBCAFEICAgIAAIAFB//8DcUUNLkGg6cmAACAEIAUQtoCAgAAMLgsgBCAFEICAgIAAIAFB//8DcUUNLUGg6cmAACAEIAUQtoCAgAAMLQtBASEBAkACQAJAIAcOAgEAAgsgBS8BACEBCyAAKAIIIgQgASAEKAIYLwHIAUEBakH//wNxEOOBgIAADC0LICMgCi8AADsAACACIAs7AcQKIAJBxgpqIAtBEHY6AAAgI0ECaiAKQQJqLQAAOgAAIAJB5AA6AMgKIAIgUjoAxwogAiAHNgLACiACIAU2ArwKIAJBADYCuAogAiAENgK0CiACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkG0CmoQlYOAgAAiAUH//wNxRQ0AIAJBqChqQaDpyYAAQSkQqICAgAAgAi8BwCgNLiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkG0CmoQlYOAgABB//8DcUUNACACQZAoahCpgICAAAwvCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA0uIAIoAsgoIQUgAigCxCghBAwBCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDSxBoOnJgAAgBCAFELaAgIAADCwLIAEtAAQNKyAiIAovAAA7AAAgAiALOwGsCiACQa4KaiALQRB2OgAAICJBAmogCkECai0AADoAACACQeMAOgCwCiACIFI6AK8KIAIgBzYCqAogAiAFNgKkCiACIAg2AqAKIAIgBDYCnAogAkKAEDcCsCggAkGwv8eAADYCqCggAiACQZAYajYCrCgCQAJAIAJBqChqIAJBnApqEJaDgIAAIgFB//8DcQ0AIAIoAqwoIQQgAigCtCghBQwBCyACQagoakGg6cmAAEE3EKiAgIAAIAIvAcAoDSwgAkGQKGpBEGogAkGoKGpBEGopAgA3AwAgAkGQKGpBCGogAkGoKGpBCGopAgA3AwAgAiACKQKoKDcDkCgCQCAMIAJBnApq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A3FFDRVBoOnJgAAgBCAFELaAgIAADBULQQEhAQJAAkACQCAHDgIBAAILIAUvAQAhAQsgACgCCCABEPOBgIAADBULIBggCi8AADsAACACIAs7AfQHIAJB9gdqIAtBEHY6AAAgGEECaiAKQQJqLQAAOgAAIAJBzQA6APgHIAIgUjoA9wcgAiAHNgLwByACIAU2AuwHIAJBADYC6AcgAiAENgLkByACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkHkB2oQoIOAgAAiAUH//wNxRQ0AIAJBqChqQaDpyYAAQSgQqICAgAAgAi8BwCgNFiACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHkB2oQoIOAgABB//8DcUUNACACQZAoahCpgICAAAwXCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA0WIAIoAsgoIQUgAigCxCghBAwBCyACKAKsKCEEIAIoArQoIQULIAQgBRCAgICAACABQf//A3FFDRRBoOnJgAAgBCAFELaAgIAADBQLIAQgBRCAgICAACABQf//A3FFDRNBoOnJgAAgBCAFELaAgIAADBMLQQEhAQJAAkACQCAHDgIBAAILIAUvAQAhAQsgACgCCCABEKmCgIAADBMLIBcgCi8AADsAACACIAs7AdQHIAJB1gdqIAtBEHY6AAAgF0ECaiAKQQJqLQAAOgAAIAJBzAA6ANgHIAIgUjoA1wcgAiAHNgLQByACIAU2AswHIAJBADYCyAcgAiAENgLEByACQoAQNwKwKCACQbC/x4AANgKoKCACIAJBkBhqNgKsKAJAAkAgAkGoKGogAkHEB2oQoYOAgAAiAUH//wNxRQ0AIAJBqChqQaDpyYAAQSgQqICAgAAgAi8BwCgNFCACQZAoakEQaiACQagoakEQaikCADcDACACQZAoakEIaiACQagoakEIaikCADcDACACIAIpAqgoNwOQKAJAIAwgAkHEB2oQoYOAgABB//8DcUUNACACQZAoahCpgICAAAwVCyACQcQoaiACQZAoahCqgICAACACQZAoahCpgICAACACLwHMKA0UIAIoAsgoIQUgAigCxCghBAwBCyACKAKs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gABBAhCagICAACEDCyACQcAAaiSAgICAACADC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCzg4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBLhCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQs4OAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACy4BAX8CQCAAQYuYyoAAQSsQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILPQEBfwJAIABBwvbJgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEGz98mAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQaH4yYAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILPQEBfwJAIABB4/jJgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEHW+cmAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQZr7yYAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILPQEBfwJAIABBgfzJgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEH3/MmAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQeX9yYAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILPQEBfwJAIABB1f7JgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEHL/8mAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQcCAyoAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILPQEBfwJAIABBuIHKgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEGggsqAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQZGDyoAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILPQEBfwJAIABBrYTKgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgs9AQF/AkAgAEGVhcqAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCz0BAX8CQCAAQayGyoAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILLgEBfwJAIABB14XKgABBLBCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgvoCwECfwJAIAFB//8DcSIDQQJHDQAgAkEBcUUNACAAQQE6AAIgAEGCgAI7AQAPCwJAIANBBEcNACACQQFxRQ0AIABBAToAAiAAQYSAAjsBAA8LAkAgAUH//wNxIgNBDEcNACACQQFxRQ0AIABBAToAAiAAQYyAAjsBAA8LAkAgA0EURw0AIAJBAXFFDQAgAEEBOgACIABBlIACOwEADwsCQCABQf//A3EiA0EBRw0AIAJBAXENACAAQQE6AAIgAEEBOwEADwsCQCADQQNHDQAgAkEBcQ0AIABBAToAAiAAQQM7AQAPCwJAIAFB//8DcSIDQQRGIAJBAXMiBHFBAUcNACAAQQE6AAIgAEGEgH5BBCACQQFxGzsBAA8LAkAgA0EFRw0AIAJBAXENACAAQQE6AAIgAEEFOwEADwsCQCABQf//A3EiA0EGRw0AIAJBAXENACAAQQE6AAIgAEEGOwEADwsCQCADQQdHDQAgAkEBcQ0AIABBAToAAiAAQQc7AQAPCwJAIAFB//8DcSIDQQhHDQAgAkEBcQ0AIABBAToAAiAAQQg7AQAPCwJAIANBCUcNACACQQFxDQAgAEEBOgACIABBCTsBAA8LAkAgAUH//wNxIgNBDEYgBHFBAUcNACAAQQE6AAIgAEGMgH5BDCACQQFxGzsBAA8LAkAgA0EZRw0AIAJBAXENACAAQQE6AAIgAEEZOwEADwsCQCABQf//A3EiA0EoRw0AIAJBAXENACAAQQE6AAIgAEEoOwEADwsCQCADQS1HDQAgAkEBcQ0AIABBAToAAiAAQS07AQAPCwJAIAFB//8DcSIDQS9HDQAgAkEBcQ0AIABBAToAAiAAQS87AQAPCwJAIANBwgBHDQAgAkEBcQ0AIABBAToAAiAAQcIAOwEADwsCQCABQf//A3EiA0HFAEcNACACQQFxDQAgAEEBOgACIABBxQA7AQAPCwJAIANB6AdHDQAgAkEBcQ0AIABBAToAAiAAQegHOwEADwsCQCABQf//A3EiA0HqB0cNACACQQFxDQAgAEEBOgACIABB6gc7AQAPCwJAIANB6wdHDQAgAkEBcQ0AIABBAToAAiAAQesHOwEADwsCQCABQf//A3EiA0HsB0cNACACQQFxDQAgAEEBOgACIABB7Ac7AQAPCwJAIANB7QdHDQAgAkEBcQ0AIABBAToAAiAAQe0HOwEADwsCQCABQf//A3EiA0HuB0cNACACQQFxDQAgAEEBOgACIABB7gc7AQAPCwJAIANB7wdHDQAgAkEBcQ0AIABBAToAAiAAQe8HOwEADwsCQCABQf//A3EiA0H3B0cNACACQQFxDQAgAEEBOgACIABB9wc7AQAPCwJAIANB+AdHDQAgAkEBcQ0AIABBAToAAiAAQfgHOwEADwsCQCABQf//A3EiA0GLCEcNACACQQFxDQAgAEEBOgACIABBiwg7AQAPCwJAIANBjAhHDQAgAkEBcQ0AIABBAToAAiAAQYwIOwEADwsCQCABQf//A3EiA0GPCEcNACACQQFxDQAgAEEBOgACIABBjwg7AQAPCwJAIANBlQhHDQAgAkEBcQ0AIABBAToAAiAAQZUIOwEADwsCQCABQf//A3EiA0GXCEcNACACQQFxDQAgAEEBOgACIABBlwg7AQAPCwJAIANBmAhHDQAgAkEBcQ0AIABBAToAAiAAQZgIOwEADwsCQCABQf//A3EiA0GZCEcNACACQQFxDQAgAEEBOgACIABBmQg7AQAPCwJAIANB1A9HDQAgAkEBcQ0AIABBAToAAiAAQdQPOwEADwsCQCABQf//A3EiA0HqD0cNACACQQFxDQAgAEEBOgACIABB6g87AQAPCwJAIANB6w9HDQAgAkEBcQ0AIABBAToAAiAAQesPOwEADwsCQCABQf//A3EiAUHvD0cNACACQQFxDQAgAEEBOgACIABB7w87AQAPCwJAIAFBgBBHDQAgAkEBcQ0AIABBAToAAiAAQYAQOwEADwsgAEEANgEAC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC0g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBJxCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQtIOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC+kBAgZ/AX5BACECA38CQAJAIAIgAU8iAw0AAkAgACACaiIELAAAIgVBAEgNAEEBIQUMAgsgBUH/AXFBzKfIgABqLQAAIgZB8QFGDQAgAiAGQQdxIgVqIAFLDQAgBEEBai0AACIHQoDBgoSJECAGQQF2QfgAca0iCIinQbABcUkNACAHQr///vz7ESAIiKdB/wFxSw0AAkACQCAFQX5qDgMDAAEDCyAEQQJqLAAAQb9/Sg0BQQMhBQwCCyAEQQJqLAAAQb9/Sg0AIARBA2osAABBQE4NAEEEIQUMAQsgAw8LIAUgAmohAgwACwsTACAAQbaYyoAAQcYAEJqAgIAACzQBAX8CQCAAQdSZyoAAQS0QmoCAgAAiAkH//wNxDQAgAEGMtcqAACABEKyEgIAAIQILIAILEgAgAEGjmcqAAEExEJqAgIAAC1ABA38CQAJAIAAgAkcNAEEBIQMMAQsDQCABRSEDIAFFDQEgAUF/aiEBIAItAAAhBCAALQAAIQUgAkEBaiECIABBAWohACAFIARGDQALCyADCzwBAX8CQCAAQfyYyoAAQScQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgvIAgEDfyOAgICAAEHAEGsiASSAgICAACABQoAQNwKgECABQbC/x4AANgKYECABIAE2ApwQAkACQAJAIAFBmBBqIAAQrIOAgAAiAkH//wNxDQAgASgCnBAhACABKAKkECEDDAELIAFBmBBqQaDpyYAAQSsQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAEKyDgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAsuAQF/AkAgAEHj8cmAAEE4EJqAgIAAIgJB//8DcQ0AIAAgARCmhICAACECCyACCy4BAX8CQCAAQavxyYAAQTgQmoCAgAAiAkH//wNxDQAgACABEKaEgIAAIQILIAILLgEBfwJAIABB8/DJgABBOBCagICAACICQf//A3ENACAAIAEQpoSAgAAhAgsgAgvIAgEDfyOAgICAAEHAEGsiASSAgICAACABQoAQNwKgECABQbC/x4AANgKYECABIAE2ApwQAkACQAJAIAFBmBBqIAAQqoOAgAAiAkH//wNxDQAgASgCnBAhACABKAKkECEDDAELIAFBmBBqQaDpyYAAQTQQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAEKqDgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAvIAgEDfyOAgICAAEHAEGsiASSAgICAACABQoAQNwKgECABQbC/x4AANgKYECABIAE2ApwQAkACQAJAIAFBmBBqIAAQqYOAgAAiAkH//wNxDQAgASgCnBAhACABKAKkECEDDAELIAFBmBBqQaDpyYAAQTQQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAEKmDgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAvIAgEDfyOAgICAAEHAEGsiASSAgICAACABQoAQNwKgECABQbC/x4AANgKYECABIAE2ApwQAkACQAJAIAFBmBBqIAAQq4OAgAAiAkH//wNxDQAgASgCnBAhACABKAKkECEDDAELIAFBmBBqQaDpyYAAQTAQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAEKuDgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAsuAQF/AkAgAEGH78mAAEEwEJqAgIAAIgJB//8DcQ0AIAAgARCmhICAACECCyACCy4BAX8CQCAAQd3uyYAAQSoQmoCAgAAiAkH//wNxDQAgACABEKaEgIAAIQILIAILLgEBfwJAIABBse7JgABBLBCagICAACICQf//A3ENACAAIAEQpoSAgAAhAgsgAgsuAQF/AkAgAEGJ7smAAEEoEJqAgIAAIgJB//8DcQ0AIAAgARCmhICAACECCyACCy4BAX8CQCAAQZfsyYAAQSIQmoCAgAAiAkH//wNxDQAgACABEKaEgIAAIQILIAILyAIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAEKeDgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEE0EKiAgIAAIAEvAbAQDQEgAUGAEGpBEGogAUGYEGpBEGopAgA3AwAgAUGAEGpBCGoiAyABQZgQakEIaikCADcDACABIAEpApgQNwOAEAJAIAMgABCng4CAAEH//wNxRQ0AIAFBgBBqEKmAgIAADAILIAFBtBBqIAFBgBBqEKqAgIAAIAFBgBBqEKmAgIAAIAEvAbwQDQEgASgCuBAhAyABKAK0ECEACyAAIAMQgICAgAAgAkH//wNxRQ0AQaDpyYAAIAAgAxC2gICAAAsgAUHAEGokgICAgAALyAIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAEKiDgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEEuEKiAgIAAIAEvAbAQDQEgAUGAEGpBEGogAUGYEGpBEGopAgA3AwAgAUGAEGpBCGoiAyABQZgQakEIaikCADcDACABIAEpApgQNwOAEAJAIAMgABCog4CAAEH//wNxRQ0AIAFBgBBqEKmAgIAADAILIAFBtBBqIAFBgBBqEKqAgIAAIAFBgBBqEKmAgIAAIAEvAbwQDQEgASgCuBAhAyABKAK0ECEACyAAIAMQgICAgAAgAkH//wNxRQ0AQaDpyYAAIAAgAxC2gICAAAsgAUHAEGokgICAgAALLgEBfwJAIABBxvDJgABBLRCagICAACICQf//A3ENACAAIAEQpoSAgAAhAgsgAgs9AQF/AkAgAEHJl8qAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCy4BAX8CQCAAQaOXyoAAQSYQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILPQEBfwJAIABB4ZbKgABBwgAQmoCAgAAiAkH//wNxDQAgACABKAIAIAEoAgRBjLXKgAAQoYSAgAAhAgsgAgsuAQF/AkAgAEG7lsqAAEEmEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCz0BAX8CQCAAQfmVyoAAQcIAEJqAgIAAIgJB//8DcQ0AIAAgASgCACABKAIEQYy1yoAAEKGEgIAAIQILIAILLgEBfwJAIABBy5XKgABBLhCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgs9AQF/AkAgAEGJlcqAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCvg4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBLxCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQr4OAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC9g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMBCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQvYOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACy4BAX8CQCAAQa2UyoAAQS8QmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABBh5TKgABBJhCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgsuAQF/AkAgAEHYk8qAAEEvEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC4g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBNRCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQuIOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACy4BAX8CQCAAQfGSyoAAQTQQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILyAIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAELyDgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEE2EKiAgIAAIAEvAbAQDQEgAUGAEGpBEGogAUGYEGpBEGopAgA3AwAgAUGAEGpBCGoiAyABQZgQakEIaikCADcDACABIAEpApgQNwOAEAJAIAMgABC8g4CAAEH//wNxRQ0AIAFBgBBqEKmAgIAADAILIAFBtBBqIAFBgBBqEKqAgIAAIAFBgBBqEKmAgIAAIAEvAbwQDQEgASgCuBAhAyABKAK0ECEACyAAIAMQgICAgAAgAkH//wNxRQ0AQaDpyYAAIAAgAxC2gICAAAsgAUHAEGokgICAgAALLwEBfwJAIABBr5LKgABBwgAQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB/ZHKgABBMhCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgsuAQF/AkAgAEG/kcqAAEE+EJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCy4BAX8CQCAAQZqPyoAAQToQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB1I/KgABBOhCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgsuAQF/AkAgAEGOkMqAAEE6EJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCy4BAX8CQCAAQciQyoAAQToQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILyQIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAELuDgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEHAABCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQu4OAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC8kCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC5g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBxQAQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQAkAgAyAAELmDgIAAQf//A3FFDQAgAUGAEGoQqYCAgAAMAgsgAUG0EGogAUGAEGoQqoCAgAAgAUGAEGoQqYCAgAAgAS8BvBANASABKAK4ECEDIAEoArQQIQALIAAgAxCAgICAACACQf//A3FFDQBBoOnJgAAgACADELaAgIAACyABQcAQaiSAgICAAAs3AQF/AkAgAEHAjsqAAEEqEJqAgIAAIgJB//8DcQ0AIABBjLXKgAAgAS8BABCPg4CAACECCyACC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC6g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMxCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQuoOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACy4BAX8CQCAAQZaOyoAAQSoQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILNwEBfwJAIABB9YzKgABBLRCagICAACICQf//A3ENACAAQYy1yoAAIAEvAQAQj4OAgAAhAgsgAgsuAQF/AkAgAEHLjMqAAEEqEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACC8kCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABC3g4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBxQAQqICAgAAgAS8BsBANASABQYAQakEQaiABQZgQakEQaikCADcDACABQYAQakEIaiIDIAFBmBBqQQhqKQIANwMAIAEgASkCmBA3A4AQ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gAAhAgsgAgsuAQF/AkAgAEH1+smAAEElEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCxg4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMBCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQsYOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAAC8gCAQN/I4CAgIAAQcAQayIBJICAgIAAIAFCgBA3AqAQIAFBsL/HgAA2ApgQIAEgATYCnBACQAJAAkAgAUGYEGogABCwg4CAACICQf//A3ENACABKAKcECEAIAEoAqQQIQMMAQsgAUGYEGpBoOnJgABBMxCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQsIOAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACy4BAX8CQCAAQaX5yYAAQTEQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILyAIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAEK6DgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEExEKiAgIAAIAEvAbAQDQEgAUGAEGpBEGogAUGYEGpBEGopAgA3AwAgAUGAEGpBCGoiAyABQZgQakEIaikCADcDACABIAEpApgQNwOAEAJAIAMgABCug4CAAEH//wNxRQ0AIAFBgBBqEKmAgIAADAILIAFBtBBqIAFBgBBqEKqAgIAAIAFBgBBqEKmAgIAAIAEvAbwQDQEgASgCuBAhAyABKAK0ECEACyAAIAMQgICAgAAgAkH//wNxRQ0AQaDpyYAAIAAgAxC2gICAAAsgAUHAEGokgICAgAALLgEBfwJAIABBhPfJgABBLxCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgu7AQECfwJAIABB6OvJgABBLxCagICAACICQf//A3ENACABKAIEIQMgASgCACEBIABB7OrAgABBAhCagICAACICQf//A3ENAANAAkACQCADRQ0AIAAgAS0AAEEKQQBBjLXKgAAQ5oOAgAAiAkH//wNxDQMgA0EBRg0BIABB8+rAgABBAhCagICAACICQf//A3FFDQEMAwsgAEGjksCAAEECEJqAgIAADwsgAUEBaiEBIANBf2ohAwwACwsgAgsuAQF/AkAgAEG57MmAAEErEJqAgIAAIgJB//8DcQ0AIAAgARCmhICAACECCyACCy4BAX8CQCAAQbfvyYAAQTEQmoCAgAAiAkH//wNxDQAgACABEKaEgIAAIQILIAILLgEBfwJAIABB6O/JgABBMRCagICAACICQf//A3ENACAAIAEQpoSAgAAhAgsgAgsuAQF/AkAgAEGZ8MmAAEEtEJqAgIAAIgJB//8DcQ0AIAAgARCmhICAACECCyACCy4BAX8CQCAAQZvzyYAAQSgQmoCAgAAiAkH//wNxDQAgACABEKaEgIAAIQILIAILNwEBfwJAIABBw/PJgABBMxCagICAACICQf//A3ENACAAQYy1yoAAIAEtAAAQqISAgAAhAgsgAgsuAQF/AkAgAEGU9smAAEEuEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCy4BAX8CQCAAQfX3yYAAQSwQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABBmPrJgABBMBCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgsuAQF/AkAgAEHI+smAAEEtEJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCy4BAX8CQCAAQZf/yYAAQTQQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB7obKgABBKxCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgs3AQF/AkAgAEGZh8qAAEElEJqAgIAAIgJB//8DcQ0AIABBjLXKgAAgAS8BABCPg4CAACECCyACCy4BAX8CQCAAQb6HyoAAQS0QmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB34jKgABBNxCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgs9AQF/AkAgAEGKisqAAEHCABCagICAACICQf//A3ENACAAIAEoAgAgASgCBEGMtcqAABChhICAACECCyACCy4BAX8CQCAAQaKNyoAAQTIQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLwEBfwJAIABB1I3KgABBwgAQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB6o7KgABBMBCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgsuAQF/AkAgAEGCkcqAAEE9EJqAgIAAIgJB//8DcQ0AIAAgARCuhICAACECCyACCy4BAX8CQCAAQaWTyoAAQTMQmoCAgAAiAkH//wNxDQAgACABEK6EgIAAIQILIAILLgEBfwJAIABB3JTKgABBLRCagICAACICQf//A3ENACAAIAEQroSAgAAhAgsgAgvdCQMCfwJ+CH8jgICAgABBIGsiAySAgICAAAJAIABFDQAgAEHAG2ohBEEAKQPotceAACIFQoCAgIDwH4MhBiAFpyEHIABB4ixqIQggAEHSG2ohCQNAIAJFDQEgAS0AACEKAkACQAJAAkACQCAALQDWLEEPcQ0AIApB+rLHgABqLQAAIQsgAC0A5CwiDEUNASAILQAAQRZ0IAAvAeAsQQZ0ciAKQT9xciENDAILIAQgChC5goCAACENDAILQf8BIAtBD3F2IApxIQ0LIAAgDTsB4CwgCCANQYCA/ABxQRB2OgAAIAAgDCALQQ9xIg5qQf8BcUH6tMeAAGotAAAiCzoA5CwCQAJAAkACQAJAAkACQAJAIAtFDQAgC0EMRg0BIANBADoABiADQQA7AQQMCQsg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IgU2AgAgAUGQA2pBEGogCCkDADcDACABQZADakEIaiAMKQMANwMAIAEgASkDuAM3A5ADIAFB4ANqQQhqIAEoApQDIAFBnANqIAVBAXEbIgVBCGooAgA2AgAgASAFKQIANwPgAyABQeADaiEIDAILIAFBkANqQRhqIAUoAgAiDTYCACABQZADakEQaiAIKQMANwMAIAFBkANqQQhqIAwpAwA3AwAgASABKQO4AyIJNwOQAyABQeADakEIaiAJpyABQZADaiANQQFxGyIIQQhqKAIANgIAIAEgCCkCADcD4AMgASABLwHKAzsBkAMgASABKAK8A0EGaiABQZADaiAFLQAAQQFxGy8BADsB5gMgAUHgA2ohCAwBCyABQZADakEYaiAFKAIAIg02AgAgAUGQA2pBEGogCCkDADcDACABQZADakEIaiAMKQMANwMAIAEgASkDuAM3A5ADIAFB4ANqQQhqIAEoApQDIAFBnANqIA1BAXEbIghBCGooAgA2AgAgASAIKQIANwPgAyABIAEvAb4DOwGQAyABIAEoArgDQQZqIAFBkANqIAUtAABBAXEbLwEAOwHmAyABQeADaiEICyAAQeQaaiEFIAFB+AFqQQhqIAhBCGooAgA2AgAgASAIKQIANwP4ASABQbgDakEYaiIIIARBGGopAgA3AwAgAUG4A2pBEGoiDCAEQRBqKQIANwMAIAFBuANqQQhqIg0gBEEIaikCADcDACABIAQpAgA3A7gDAkACQAJAAkACQCABQbgDaiAHEMCDgIAAQQNxDgQAAQIDAAsgAUGQA2pBGGogCCgCACIENgIAIAFBkANqQRBqIAwpAwA3AwAgAUGQA2pBCGogDSkDADcDACABIAEpA7gDNwOQAyABQeADakEIaiABKAKUAyABQZwDaiAEQQFxGyIEQQhqKAIANgIAIAEgBCkCADcD4AMgAUHgA2ohBAwDCyABQZADakEYaiAIKAIAIgQ2AgAgAUGQA2pBEGogDCkDADcDACABQZADakEIaiANKQMANwMAIAEgASkDuAMiCTcDkAMgAUHgA2pBCGogCacgAUGQA2ogBEEBcRsiBEEIaigCADYCACABIAQpAgA3A+ADIAFB4ANqIQQMAgsgAUGQA2pBGGogCCgCACIENgIAIAFBkANqQRBqIAwpAwA3AwAgAUGQA2pBCGogDSkDADcD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AkEIaiIHIABBCGoiCCkCADcDACACIAApAgA3AwAgAkHgAGpBGGoiCSAEKAIAIgo2AgAgAkHgAGpBEGoiCyAGKQIANwMAIAJB4ABqQQhqIgwgCCkCADcDACACIAApAgAiDTcDYEEBIQQgAkEgakEIaiANpyACQeAAaiAKQQFxGyIGQQhqKAIANgIAIAIgBikCADcDICACQTBqIAFBAiACQSBqEM2BgIAAIAIvATQhCCACKAIwIQYgCSADKAIAIgM2AgAgCyAFKQMANwMAIAwgBykDADcDACACIAIpAwA3A2AgAkHAAGpBCGogAigCZCACQewAaiADQQFxGyIDQQhqKAIANgIAIAIgAykCADcDQCACQdAAaiABQQIgAkHAAGoQzYGAgAAgAi8BVCEDIAIoAlAhAQJAAkACQAJAIAAtABxFDQACQCAGIAFNIgANACAIQf//A3EgA0H//wNxTw0ECwJAIAYgAUkiAQ0AIAhB//8DcSADQf//A3FLDQQLIAANASAIQf//A3EgA0H//wNxTw0BQQMhBAwDCyAGIAFPDQFBACEEDAILQX5BACAIQf//A3EgA0H//wNxSxtBACABGyEEDAELAkAgBiABTQ0AQQEhBAwBCyAIQf//A3EgA0H//wNxSyEECyACQYABaiSAgICAACAEC5sBAgJ/AX4jgICAgABBEGsiAySAgICAACABKAIEIQQgASgCACEBIAMgAkH/////A0s6AAwCQAJAIAJBgICAgARJDQBCgICAgBAhBQwBCwJAIAJBAnQiAg0AQvz///8PIQUMAQsgASACQQJBACAEKAIAEYCAgIAAgICAgAAiAkWtQiCGIAKthCEFCyAAIAU3AgAgA0EQaiSAgICAAAsSAAJAIAANAEEADwsgAC8BohsLEgACQCAADQBBAA8LIAAvAaAbCxIAAkAgAA0AQQAPCyAALwGMEgsSAAJAIAANAEEADwsgACgCiBILHwACQAJAIAANAEEAIQAMAQsgAC0AthIhAAsgAEEBcQsxAQF/AkAgAA0AQQAPCyAALwG4EiIBQRB0IAFBgP4DcXIgAEG6EmotAAByQf///wdxCzQBAX8CQCAADQBBzJmzBg8LIAAvAbwSIgFBEHQgAUGA/gNxciAAQb4Sai0AAHJB////B3ELhgEBA38jgICAgABBEGsiAiSAgICAAEEBIQMCQCAA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ARCxgICAAEEBcUUNAiAEQTBqIARBCGogARD7g4CAACAELwE0IgJFDQEgACACOwEkDAULIABBADsBJEEkRQ0EIAAgBEEIakEk/AoAAAwECyAEKAIwIgJBAToACCACQQI6AAAgAiAELQAvIgVBH3E6AAEMAQsgBEE4aiACIAUQ8oOAgAACQCAELwE8RQ0AIABBADsBJEEkRQ0DIAAgBEEIakEk/AoAAAwDCyAELwE4IQUgBC0AOiEGIARBwABqIARBCGogARD7g4CAAAJAIAQvAUQiAkUNACAAIAI7ASQMAwsgBCgCQCICIAUgBkEQdHIiBTsBACACQQA6AAggAkECOgAEIAJBAmogBUEQdjoAACACIAQtAC8iBUEfcToABQsgBUEBaiEGQXYhAgJAAkADQCACRQ0BIAJBqrXKgABqIQUgAkEBaiECIAZBH3EiByAFLQAAQR9xRw0ACyAEQQE6AEwgBCAHOgBLIARBywBqIQIMAQtBqOnJgAAhAgsgAi8AACICQYACTw0ACyAAQQA7ASRBJEUNACAAIARBCGpBJPwKAAALIARB0ABqJICAgIAAC90BAQF/I4CAgIAAQcAAayIEJICAgIAAAkBBJEUNACAEQRRqQaiUyYAAQST8CgAACyAEQQhqIAMQ+IOAgAACQAJAIAQoAghFDQAgAEEAOwEkQSRFDQEgAEGolMmAAEEk/AoAAAwBCyAEQThqIARBFGogARD7g4CAAAJAIAQvATwiA0UNACAEQRRqIAEQwoCAgAAgACADOwEkDAELIAQoAjgiA0ECOgAIIANBAjoAACAAQQA7ASQgAyACQR9xOgABQSRFDQAgACAEQRRqQST8CgAACyAEQcAAaiSAgICAAAtYAAJAIAMgAkkNACAAQgA3AgAPCyAEQf8BcSEEAkADQCACIANGDQECQCABIANqLQAAIARHDQAgAEEBOgAEIAAgAzYCAA8LIANBAWohAwwACwsgAEIANwIAC3kCAX8BfiOAgICAAEEQayIDJICAgIAAAkACQEEBDQBCgICAgBAhBAwBCwJAIAINAEL/////DyEEDAELIAEoAgAgAkEAQQAgASgCBCgCABGAgICAAICAgIAAIgJFrUIghiACrYQhBAsgACAENwIAIANBEGokgICAgAALewECfyOAgICAAEEgayIEJICAgIAAIAQgASkCADcDCCAEQRRqIARBCGogAxCIgYCAAAJAIAQvARwiBQ0AIAQoAhQhAQJAIAQoAhgiA0UNACABIAIgA/wKAAALIAAgAzYCBCAAIAE2AgALIAAgBTsBCCAEQSBqJICAgIAAC5oGAgd/A34jgICAgABBoAFrIgIkgICAgAACQCAAKAIEIgMNACAAKAIAIQMLIAEoAhAhBCABKAIMIQUgAS0ACCEGIAEoAgQhByABKAIAIQggAygCACEAIAJBOGpCADcDACACQgA3AzAgAkKsmuLTo9Lw+h83A1AgAkKsmuLTo9Lw+h83A0ggAkKsmuLTo9Lw+h83A0ACQEE4RQ0AIAJB2ABqQfjqyYAAQTj8CgAACyACIAZBAXEiAToAYCACQoGAgIAQNwNYIAIgAToAkAECQAJAIAFFDQAgAiAINgBhIAJChYCAgNAANwNYDAELIAJBMGogCCAAaiAHEJ+EgIAACyACQeAAaiEGIAJBMGogACAFaiAEEJ+EgIAAIAIpA0AhCSACKAJcIQACQAJAAkACQAJAAkAgAigCWCIFQRBLDQAgAEEDTQ0BIAI1AmBCIIYgBiAAQQF2QQxxIgFqNQIAhCEKIAYgAEF8aiIAajUAAEIghiAGIAAgAWtqNQAAhCELDAULIAIpA1AhCiACKQNIIQtBACEBIABBEEkNAUEAIQMgACEIDAILQgAhCyAADQJCACEKDAMLQRAhCAJAQRAgAGsiA0UNACACQZABaiAGIABqQSBqIAP8CgAACwJAIABFDQAgAkGQAWogA2ogBiAA/AoAAAsgAkGQAWohBgsgBiADaiEEIAggA2shAyALIAqFIAmFIQkCQANAIAFBEGoiACADTw0BIAJBIGogBCABaiIBQQhqKQAAIAmFQgAgASkAAELb0dCFmtrfgWeFQgAQxYSAgAAgAikDKCACKQMghSEJIAAhAQwACwsgBiAIaiIBQXhqKQAAIQsgAUFwaikAACEKDAELIAYgAEEBdmoxAABCCIYgAjEAYEIQhoQgBiAAakF/ajEAAIQhCgsgAkEQaiAKQtvR0IWa2t+BZ4VCACALIAmFQgAQxYSAgAAgAiACKQMYQtvR0IWa2t+BZ4VCACAFrSACKQMQhUKvyPXFx6yHu6B/hUIAEMWEgIAAIAIpAwAhCSACKQMIIQogAkGgAWokgICAgAAgCiAJhQsyAQF/AkAgAEH3r8qAAEHBABCagICAACICQf//A3ENACAAIAEvAQAQpYSAgAAhAgsgAgsxAQF/AkAgAEHosMqAAEEwEJqAgIAAIgJB//8DcQ0AIAAgAS8BABClhICAACECCyACCzEBAX8CQCAAQZixyoAAQTAQmoCAgAAiAkH//wNxDQAgACABLwEAEKWEgIAAIQILIAILMwEBfyAAQQhqIQBBACEBAkADQCAAKAIAIgBFDQEgASAAQXxqKAIAakF4aiEBDAALCyABC4IBAQF/I4CAgIAAQRBrIgMkgICAgAACQAJAIAJBe2pBfE8NACAAQSo2AQAMAQsgA0EMaiABIAJBEBDIgICAAAJAIAMvAQ4NACAAQQA7AQAgACADLwEMQf8BbCACQQJ0QeS7yoAAaigCAG46AAIMAQsgAEEqNgEACyADQRBqJICAgIAAC9siCgR/AX4CfwF+An8BfgJ/AXwBfgN/I4CAgIAAQYAHayIDJICAgIAAAkACQAJAAkACQAJAAkAgAkUNACACIAEtAAAiBEFVakH9AXFFIgVGDQAgASAFaiEGAkACQAJAAkACQAJAIAIgBWsiBUECSQ0AIAYtAABBMEcNACAGLQABIgJBv39qQf8BcUEaSUEFdCACckH/AXFB+ABHDQBCACEHIANCADcC7AYgAyAFQX5qNgLoBkECIQggAyAGQQJqNgLkBiADQgA3A0ggA0HkBmogA0HIAGoQiISAgAAgAygC7AYiAiADKALwBiIBayEJAkACQCACIAMoAugGTw0AIAMoAuQGIAJqLQAAQS5GDQELQgAhCiAJIQsMAgsgAyACQQFqIgI2AuwGIANB5AZqIANByABqEIiEgIAAIAEgAmsgAygC7AYiAiADKALwBiIBa2oiDCAJaiELQgAgDK1CAoZ9IQoMAQtCACEKIANCADcC7AYgAyAFNgLoBiADIAY2AuQGIANCADcDSCADQeQGaiADQcgAahCJhICAACADKALsBiIIIAMoAvAGIgJrIQkCQAJAAkAgCCADKALoBk8NACADKALkBiAIai0AAEEuRg0BC0IAIQcgCSELDAELIAMgCEEBaiIBNgLsBiADQeQGaiADQcgAahCJhICAACACIAFrIAMoAuwGIgggAygC8AYiAmtqIgEgCWohC0IAIAGtfSEHCwJAAkACQCALRQ0AQgAhDQJAIAggAygC6AZPDQAgAygC5AYgCGotAABB3wFxQcUARw0AIAMgCEEBajYC7AYgA0HYAGogA0HkBmoQioSAgAACQCADLQBgDQBCACEKDAILIAMpA1giDSAHfCEHIAMoAvAGIQIgAygC7AYhCAsCQCACRQ0AQQAhAiADKALoBiEBIAMoAuQGIQwDQCACIAFPDQECQCAMIAJqIg4tAABB3wBHDQBCACEKQQAhDyACRQ0FIAJBAWoiAiABRg0FIA5Bf2otAABBUGpB/wFxQQlLDQQgDCACai0AAEFQakH/AXFBCk8NBAsgAkEBaiECDAALCwJAAkAgC0ETSg0AIANBADoA9gYgAyAEQf8BcUEtRjoA+AYgA0H2BmohDCADQfgGaiEBIANB1gBqIQ4MAQsgA0IANwLsBiALQW1qIQwgAygC5AYhDkEBIQJBACEPA0ACQAJAIANB5AZqEIuEgIAAQQFxRQ0AAkAgDiACakF/ai0AACIBQd8ARg0AIAxBACABQVFqIgsgCyABSxtrIQwMAgsgAyAPQQFqIg82AvAGDAELAkAgDEEASiICRQ0AIANCADcC7AYgA0IANwNIIANB5AZqIANByABqEIyEgIAAAkAgAykDSEETEI2EgIAAWg0AIAMgAygC7AZBAWoiATYC7AYgASADKALwBmshCSADQeQGaiADQcgAahCMhICAAAsgDSAJrXwgAygC7AYgAygC8AZrrX0hBwsgAyACOgD2BiADIARB/wFxQS1GOgD4BiADQfYGaiEMIANB+AZqIQEgA0HWAGohDgwCCyADIAI2AuwGIAJBAWohAgwACwsgAykDSCEKQQAhAiAOQQA6AAAgAS0AACEBIAwtAAAhDAwEC0EAIQgLQQAhDwtBACECQQAhDEEAIQFCACEHDAQLAkAgCw0AQQAhAQwCC0IAIQ0CQAJAAkAgAiADKALoBk8NACADKALkBiACai0AAEHfAXFB0ABGDQELIAohBwwBCyADIAJBAWo2AuwGIANB2ABqIANB5AZqEIqEgIAAAkAgAy0AYA0AQQAhAUIAIQcMAwsgAykDWCINIAp8IQcgAygC8AYhASADKALsBiECCyACQQJqIQgCQCABRQ0AQQAhAiADKALoBiEMIAMoAuQGIQ4DQCACIAxPDQECQCAOIAJqIg8tAABB3wBHDQBBACEBQgAhCgJAIAJFDQAgAkEBaiICIAxGDQACQCAPQX9qLQAAEI6EgIAAQQFxRQ0AIA4gAmotAAAQjoSAgABBAXENAgtBACEBC0IAIQcMBQsgAkEBaiECDAALCwJAAkAgC0EQSg0AIANBADoA9gYgAyAEQf8BcUEtRjoA+AYgA0H2BmohDCADQfgGaiEBIANB1gBqIQ4MAQsgA0IANwLsBiALQXBqIQwgAygC5AYhDkEBIQJBACEPA0ACQAJAIANB5AZqEIuEgIAAQQFxRQ0AAkAgDiACakF/ai0AACIBQd8ARg0AIAxBACABQVFqIgsgCyABSxtrIQwMAgsgAyAPQQFqIg82AvAGDAELAkAgDEEASiICRQ0AIANCADcC7AYgA0IANwNIIANB5AZqIANByABqEI+EgIAAAkAgAykDSEEQEI2EgIAAWg0AIAMgAygC7AZBAWoiATYC7AYgASADKALwBmshCSADQeQGaiADQcgAahCPhICAAAsgCa0gAygC7AYgAygC8AZrrX1CAoYgDXwhBwsgAyACOgD2BiADIARB/wFxQS1GOgD4BiADQfYGaiEMIANB+AZqIQEgA0HWAGohDgwCCyADIAI2AuwGIAJBAWohAgwACwsgAykDSCEKQQEhAiAOQQE6AAAgAS0AACEBIAwtAAAhDAtBASEPDAILQgAhCgtBACEMQQAhAkEAIQ8LAkAgD0UNACAFIAhHDQAgAg0CIAdCWnxCRFQNBSAKQoCAgICAgIAQVg0FIAxBAXFFDQMMBQtBAyECAkACQCAGIAVB1KnAgABBAxCQhICAAEEBcUUNAEEIQQMgBkEDaiAFQX1qQa+SwIAAQQUQkISAgABBAXEbIQJEAAAAAAAA8P9EAAAAAAAA8H8gBEH/AXFBLUYbIRAMAQtEAAAAAAAA+H8hECAGIAVBmqTAgABBAxCQhICAAEEBcUUNAQsgBSACRg0FCyAAQSo2AQAMBQsCQCAKQgBSDQBEAAAAAAAAAIBEAAAAAAAAAAAgAUEBcRshEAwECyAHQjd8IQcCQANAIApCf3xC/v///////x9WDQEgB0J/fCEHIApCAYYhCgwACwsgCiAMrUIBg4QhCgJAA0ACQCAKQv////////8/Vg0AAkADQCAKQgJUDQEgB0J9fEL/d1UNASAKQgGIIApCAYOEIQogB0IBfCEHDAALCyAHQn98IREgCkICiCINQgGDIApCA4OEQgNRDQIMBAsgCkIBiCAKQgGDhCEKIAdCAXwhBwwACwtCgICAgICAgAggDUIBfCIKIApCgICAgICAgBBRIgIbIQ0gByARIAIbIREMAQsCQAJAIAdCFlUNACAHpyECIAq6IRACQCAHQgBZDQAgEEHYlMmAACACQQN0aysDAKMhEAwCCyACQQN0QdiUyYAAaisDACAQoiEQDAELIAMgCkIAIAenQQN0QaiVyYAAaikDAEIAEMWEgIAAIAMgAykDCEIAUiICOgBYIAINAiADKQMAIg1CgICAgICAgBBWDQIgDbpEktVNBs/wgESiIRALIBCaIBAgAUEBcRshEAwCCwJAQoF4IBEgDUKAgICAgICACFQbIgpC/wdXDQBEAAAAAAAA8P9EAAAAAAAA8H8gAUEBcRshEAwCCyAKQjSGQoCAgICAgID4P3xCgICAgICAgPj/AIMgDUL/////////B4OEIgpCgICAgICAgICAf4QgCiABQQFxG78hEAwBCyADQRhqIAcgChCRhICAAAJAIAMtAChFDQAgAygCICECIAMpAxghDQJAIAxBAXENACACrUI0hiANhL8iEJogECABQQFxGyEQDAILIANBMGogByAKQgF8EJGEgIAAIAMtAEBFDQAgDSADKQMwUg0AIAIgAygCOEcNACACrUI0hiANhL8iEJogECABQQFxGyEQDAELQQAhAgJAQYUGRQ0AIANB3ABqQQBBhQb8CwALIANBADYC8AYgAyAFNgLoBiADIAY2AuQGAkADQAJAIAUgAkcNACAFIQIMAgsCQCAGIAJqLQAAIgFB3wBGDQAgAUEwRw0CCyACQQFqIQIMAAsLIAMgAjYC7AYgA0HhAGohAUEAIQICQANAIANB9gZqIANB5AZqEJKEgIAAIAMtAPcGRQ0BAkAgAkH/BUsNACABIAJqIAMtAPYGOgAACyACQQFqIQIMAAsLIAMgAjYCWEEAIQ8CQAJAAkAgAygC7AYiDiADKALoBiIITw0AIAMoAuQGIhIgDmotAABBLkYNAQtBACEFIAIhAQwBCyADKALwBiETIA5BAWoiFCEMAkAgAg0AIAhBf2ohCyASQQFqIQkDQAJAIAsgDkcNACAIIQwMAgsgCSAOaiEFIA5BAWoiDCEOIAUtAABBMEYNAAsLIBQgE2shEyABIAJqIQkgEiAMaiELQQAhBQJAA0AgAiAFaiEBIAwgBWoiDkEIaiAISw0BIAFB9wVLDQEgCyAFaikAACIKQsaMmbLkyJGjxgB8IApC0J+//vz58+dPfCIKhEKAgYKEiJCgwIB/g0IAUg0BIAkgBWogCjcAACAFQQhqIQUMAAsLIAMgDjYC7AYCQANAIANB+AZqIANB5AZqEJKEgIAAIAMtAPkGRQ0BAkAgAUH/BUsNACADQdgAaiABakEJaiADLQD4BjoAAAsgAUEBaiEBDAALCyADIAE2AlggAyATIAMoAvAGIAMoAuwGIg5raiIFNgJcCwJAIAFFDQAgDiADKALwBkF/c2ohAkEAIQwCQANAAkACQCAGIAJqLQAAQVJqDgMBAwADCyAMQQFqIQwLIAJBf2oiAg0ACwsgAyABIAVqIgU2AlwgAyABIAxrIgI2AlhBgAYhDwJAIAJBgAZLDQAgAiEPDAELIANBgAY2AlggA0EBOgBgCwJAIA4gAygC6AYiAU8NACADKALkBiIMIA5qLQAAQd8BcUHFAEcNAEEBIQsgAyAOQQFqIgg2AuwGQQAhAkEAIQYCQCAIIAFPDQBBACEGAkACQCAMIAhqLQAAQVVqDgMAAgECC0EAIQsLIAMgDkECajYC7AYgCyEGCwJAA0AgA0HIAGogA0HkBmoQkoSAgAAgAy0ASUUNASACQQpsIAMtAEhqIAIgAkGAgARIGyECDAALCyADQQAgAmsgAiAGGyAFaiIFNgJcCyAPQRMgD0ETSxshASAPIQICQANAIAEgAkYNASADQdgAaiACakEJakEAOgAAIAJBAWohAgwACwtCACEHAkACQCAPRQ0AIAVBvH1IDQBCgICAgICAgPj/ACEKIAVBtQJKDQFBACEBA0ACQCAFQQBKDQAgA0HhAGohDANAAkACQAJAIAVBAEoNAAJAIAUNAEECIQIgDC0AACIGQQJJDQMgBkF7akH/AXFBBUkNAUEBIQIMAwtBACAFayICQRJNDQFBPCECDAILIAFBf2ohAgJAA0AgAkGBeEoNASADQdgAakGCeCACayIBQTwgAUE8SRsiARCThICAACABIAJqIQIMAAsLIAJB/wdKDQYgA0HYAGpBNRCUhICAAAJAIANB2ABqEJWEgIAAIg1C/////////w9YDQAgA0HYAGpBARCThICAACADQdgAahCVhICAACENIAJB/wdGDQcgAkEBaiECCyANQv////////8HgyEHQf4HQf8HIA1CgICAgICAgAhUGyACaq1CNIYhCgwGCyACQYjpyYAAai0AACECCyADQdgAaiACEJSEgIAAIAMoAlwiBUH/D0oNBCABIAJrIQEMAAsLQTwhAgJAIAVBEksNACAFQYjpyYAAai0AACECCyADQdgAaiACEJOEgIAAIAIgAWohASADKAJcIgVBgXBODQALC0IAIQoLIAogB4S/IhCaIBAgBEH/AXFBLUYbIRALAkACQCAQRAAAAAAAAAAAYw0AIBBEAAAAAAAA8D9kRQ0BCyAAQSo2AQAMAQsgAEEAOwEAIAAgEEQAAAAAAOBvQKL8AzoAAgsgA0GAB2okgICAgAALUAEBfyOAgICAAEEQayICJICAgIAAAkADQCACQQ5qIAAQsoSAgAAgAi0AD0UNASABIAEpAwBCBIYgAjEADnw3AwAMAAsLIAJBEGokgICAgAALgQICAn8BfiOAgICAAEEQayICJICAgIAAIAAoAgghAwJAA0AgA0EIaiAAKAIESw0BIAAoAgAgA2opAAAiBELGjJmy5MiRo8YAfCAEQtCfv/78+fPnT3wiBIRCgIGChIiQoMCAf4NCAFINASABIAEpAwBCgMLXL34gBEIKfiAEQgiIfCIEQhCIQv+BgIDwH4NCgYCAgIDiCX4gBEL/gYCA8B+DQuSAgICAyNAHfnxCIIh8NwMAIAAgACgCCEEIaiIDNgIIDAALCwJAA0AgAkEOaiAAEJKEgIAAIAItAA9FDQEgASABKQMAQgp+IAIxAA58NwMADAALCyACQRBqJICAgIAAC6UCAgV/AX4jgICAgABBMGsiAiSAgICAAEEAIQMCQCABKAIIIgQgASgCBCIFTw0AIAEoAgAgBGotAAAiBkEtRiEDAkAgBkFVag4DAAEAAQsgASAEQQFqIgQ2AggLAkACQAJAIAQgBU8NACABKAIAIARqLQAAQVBqQf8BcUEJSw0AQgAhBwNAIAJBDmogARCShICAACACLQAPRQ0CIAdCCn4gAjEADnwgByAHQoCAgIABUxshBwwACwsgAEIANwMAIABBCGpCADcDAAwBCwJAAkAgAw0AIAIgBzcDICACQSBqIQEMAQsgAkIAIAd9NwMQIAJBEGohAQsgAUEIaiIEQQE6AAAgACABKQMANwMAIABBCGogBCkDADcDAAsgAkEwaiSAgICAAAtJAQJ/QQAhAQJAIAAoAggiAiAAKAIETw0AIAAoAgAgAmotAABBUmoiAEH/AXFBMk8NAEKFgICAgICAASAArUL/AYOIpyEBCyABC2wCAX8CfiOAgICAAEEQayICJICAgIAAQRMQjYSAgAAhAyABKQMAIQQCQANAIAQgA1oNASACQQ5qIAAQkoSAgAAgAi0AD0UNASABIAEpAwBCCn4gAjEADnwiBDcDAAwACwsgAkEQaiSAgICAAAssAQF+IABBf2ohAEIBIQECQANAIABFDQEgAEF/aiEAIAFCCn4hAQwACwsgAQs5AQF/QQEhAQJAIABBUGpB/wFxQQpJDQAgAEGff2pB/wFxQQVNDQAgAEG/f2pB/wFxQQZJIQELIAELbAIBfwJ+I4CAgIAAQRBrIgIkgICAgABBEBCNhICAACEDIAEpAwAhBAJAA0AgBCADWg0BIAJBDmogABCyhICAACACLQAPRQ0BIAEgASkDAEIEhiACMQAOfCIENwMADAALCyACQRBqJICAgIAAC3UBAn9BACEEAkAgAyABSw0AA0AgA0UhBCADRQ0BIAItAAAhASAALQAAIQUgA0F/aiEDIABBAWohACACQQFqIQIgBSAFQb9/akH/AXFBGklBBXRyQf8BcSABIAFBv39qQf8BcUEaSUEFdHJB/wFxRg0ACwsgBAvCBAIDfwV+I4CAgIAAQSBrIgMkgICAgAACQAJAAkAgAlANACABQqp9WQ0BCyAAQQE6ABAgAEEANgIIIABCADcDAAwBCwJAIAFCtQJTDQAgAEEBOgAQIABB/w82AgggAEIANwMADAELIANBEGogAaciBEEEdEG4wsmAAGoiBSkDAEIAIAIgAnkiBoYiB0IAEMWEgIAAIAMpAxAhAgJAIAMpAxgiCEL/A4NC/wNSDQAgAyAFKQMIQgAgB0IAEMWEgIAAIAMpAwgiByACfCICIAdUrSAIfCEICwJAAkACQCACQn9SDQAgAUJIfEKtf1QNAQsgCCAIQj+IIglCCXwiCoghBwJAIARB6qQNbEEQdSAGp2sgCadqQT9qIgRBgnhODQACQCAEQcN3Tw0AIABBAToAECAAQQA2AgggAEIANwMADAQLIABBAToAECAAIAdBgnggBGutiCIBQgGDIAF8IgFC/////////w9WNgIIIAAgAUIBiDcDAAwDC0GACEH/ByAHQvz/////////AIMgByAHIAqGIAhRGyAHIAdCA4NCAVEbIAcgAUIEfEIcVBsgByACQgJUGyIBQgGDIAF8IgFC/////////x9WIgUbIARqIgRB/g9LDQEgAEEBOgAQIAAgBDYCCCAAQgAgAUIBiEL/////////9/8AgyAFGzcDAAwCCyAAQgA3AwAgAEEQakIANwMAIABBCGpCADcDAAwBCyAAQQE6ABAgAEH/DzYCCCAAQgA3AwALIANBIGokgICAgAALjAEBBH8gASgCCCICIAEoAgQiAyACIANLGyEEAkADQCAEIAJGDQECQCABKAIAIAJqLQAAIgNBUGoiBUH/AXFBCUsNACAAQQE6AAEgACAFOgAAIAEgAkEBajYCCA8LIANB/wFxQd8ARw0BIAEgAkEBaiICNgIIIAEgASgCDEEBajYCDAwACwsgAEEAOwAAC6UDCAF/AX4CfwF+AX8BfgF/AX4gAEEJaiECIAGtIQNBACEEIAFBP0shBUIAIQYCQAJAA0ACQCAFDQAgBiADiEIAUg0CCwJAIAQgACgCAE8NACAGQgp+IAAgBGpBCWoxAAB8IQYgBEEBaiEEDAELCyAGUA0BIAFBP0shBQNAAkAgBQ0AIAYgA4hCAFINAgsgBEEBaiEEIAZCCn4hBgwACwsgACAAKAIEIARrQQFqIgU2AgQCQCAFQYFwTg0AIABCADcCACAAQQhqQQA6AAAPC0J/Qn8gA4ZCf4UgAUE/SyIHGyEIIAIgBGohCUEAIQUCQANAAkAgBCAFaiAAKAIASQ0AIAFBP0shBwwCCyAJIAVqMQAAIQogAiAFakIAIAYgA4ggBxs8AAAgCiAGIAiDQgp+fCEGIAVBAWohBQwACwsDQCAFQYAGSSEEA0ACQAJAIAZQDQBCACAGIAOIIAcbIQogBiAIg0IKfiEGIARFDQEgAiAFaiAKPAAAIAVBAWohBQwDCyAAIAU2AgAgABCjhICAAAwDCyAKUA0AIABBAToACAwACwsLC7gDAgd/A34CQCAAKAIAIgJFDQAgAUEMbCIDQdCgyoAAai0AACEEIANBzKDKgABqKAIAIQUgA0HIoMqAAGooAgAhBkEAIQMCQANAIAUgA0YNAQJAIAIgA0cNACAEQX9qIQQMAgsgBiADaiEHIAAgA2ohCCADQQFqIQMgCEEJai0AACIIIActAABBUGoiB0H/AXFGDQALIAQgCCAHQf8BcUlrIQQLIABBCGoiAyAEQf8BcSIHaiEFIAGtIQkgAUHAAEkhCEIAIQoDQAJAIAINACAHIAJqQQhqIQIDQAJAAkAgClANACAKQgqAIgtCdn4gCnwhCgJAIAJBd2pBgAZPDQAgACACaiAKPAAADAILIApCAFENASADQQE6AAAMAQsgACAAKAIEIAdqNgIEIAAgACgCACAHaiICQYAGIAJBgAZJGzYCACAAEKOEgIAADAQLIAJBf2ohAiALIQoMAAsLIAMgAmoxAAAgCYZCACAIGyAKfCIKIApCCoAiCkJ2fnwhCwJAAkAgByACakF/akH/BUsNACAFIAJqIAs8AAAMAQsgC0IAUQ0AIANBAToAAAsgAkF/aiECDAALCwvHAQIBfgR/QgAhAQJAIAAoAgAiAkUNACAAKAIEIgNBf0wNAEJ/IQEgA0ESSw0AIABBCWohBEIAIQFBACEFAkADQCADIAVGDQEgAUIKfiEBAkAgBSACTw0AIAEgBCAFajEAAHwhAQsgBUEBaiEFDAALCyADIAJPDQACQAJAIAQgA2oiBC0AAEH/AXEiBUEFRw0AIANBAWogAkcNACAALQAIDQEgA0UNAiAEQX9qLQAAQQFxDQEMAgsgBUEFSQ0BCyABQgF8DwsgAQtBAQF/I4CAgIAAQRBrIgIkgICAgAAgAkEIakH06sCAAEEBQQAgARD+g4CAACAAIAIpAwg3AgAgAkEQaiSAgICAAAubAQIDfwF+I4CAgIAAQRBrIgMkgICAgAAgASgCBCEEIAEoAgAhBSADIAKtQgx+IgZCIIinIgFBAEc6AAwCQAJAIAFFDQBCgICAgBAhBgwBCwJAIAanIgENAEL8////DyEGDAELIAUgAUECQQAgBCgCABGAgICAAICAgIAAIgFFrUIghiABrYQhBgsgACAGNwIAIANBEGokgICAgAALMQEBfwJAIABBurPKgABBPBCagICAACICQf//A3ENACAAIAEvAQAQpYSAgAAhAgsgAgucAgEKfyOAgICAAEEQayIEJICAgIAAIAQgAkEfcToAD0EBIAJ0IQUCQAJAAkAgACgCCCICRQ0AIAUgAWohBiACQXxqIQIMAQtBACEHIABBACAFIAFqIgYQmoSAgAAiAkUNAQtBACAFayEIIAVBf2ohCQNAIAJBCGoiCiAJaiELA0ACQCAAKAIMIgUgC2ogCHEgBSAKamsgBWoiDCABaiIFIAIoAgAiB0F4aiINSw0AIAAgBTYCDCAKIAxqIQcMAwsCQCAAKAIAIAIgB0ECIAVBCGoiBUEAIAAoAgQoAgQRgoCAgACAgICAAEEBcUUNACACIAU2AgAMAQsLIAAgDSAGEJqEgIAAIgINAAtBACEHCyAEQRBqJICAgIAAIAcLYwACQCAAKAIAIAEgAmpBGGoiAkEBdiACaiIBQQJBACAAKAIEKAIAEYCAgIAAgICAgAAiAkUNACACQQA2AgQgAiABNgIAIAIgACgCCDYCBCAAQQA2AgwgACACQQRqNgIICyACC3kBA39BACEGAkAgACgCCCIHRQ0AAkAgB0F8aiIIIAAoAgwiB2pBCGogAiABakYNACAEIAJNIQYMAQsCQCAEIAJLDQAgACAEIAJrIAdqNgIMQQEPCyAIKAIAQXhqIAdrIAQgAmsiAkkNACAAIAcgAmo2AgxBAQ8LIAYLHAAgAUEAIAAgASACIAEgBCABEJuEgIAAQQFxGwswAQJ/AkAgACgCCCIFRQ0AIAUgACgCDCIGakEEaiACIAFqRw0AIAAgBiACazYCDAsL4wICCX8BfiAAQRJqLQAAIQEgAEEKai0AAEEQdCECIAAvAQghAyAALwEAIABBAmotAABBEHRyIQQgAC0AFCEFIAAtAAwhBkEAIQdBACEIAkACQAJAIAAtAAQiCQ4DAgABAgsgBEH/AXEhCAwBCyAEIQgLIAFBEHQhASAALwEQIQQgAyACciECAkACQAJAIAYOAwIAAQILIAJB/wFxIQcMAQsgAiEHCyAEIAFyIQIgAC8BGCEBQQAhAAJAAkACQCAFDgMCAAECCyACQf8BcSEADAELIAIhAAsgBq1CCIYgCa2EIAWtQhCGIAetQjCGIAitQv///weDQhiGhISEIACtQv///weDQgiGIAGtQv//A4NCIIaEIAdBEHatQv8Bg4SFIgpCIIggCoVC7arR2Z6/idG+f34iCkIdiCAKhULtqtHZnr+J0b5/fiIKQiCIIAqFQu2q0dmev4nRvn9+IgpCHYggCoUL7AQBBX8jgICAgABB8ABrIgMkgICAgAAgAEEwaiEEQQAhBQJAA0AgAiAFRg0BIAEgBWotAAAhBiAAIAAoAihBAWo2AigCQAJAIAAoAiwiB0EwRg0AIAQgB2ogBjoAACAAKAIsQQFqIQYMAQsgA0HQAGogACkDECAAKQM4hUIAIAApAzBC29HQhZra34FnhUIAEMWEgIAAIAAgBjoAMCAAIAMpA1ggAykDUIU3AxAgA0HAAGogACkDGCAAKQNIhUIAIAApA0BC442j5Inemt6Of4VCABDFhICAACAAIAMpA0ggAykDQIU3AxggA0EwaiAAKQMgIAApA1iFQgAgACkDUELDmd2px7nZzNgAhUIAEMWEgIAAIAAgAykDOCADKQMwhTcDIEEBIQYLIAAgBjYCLCAFQQFqIQUMAAsLIAAgACgCKEEEajYCKCADIAI2AmwCQAJAIAAoAiwiBUEsSw0AIAQgBWogAjYAACAFQQRqIQUMAQsCQEEwIAVrIgZFDQAgBCAFaiADQewAaiAG/AoAAAsgA0EgaiAAKQMQIAApAziFQgAgACkDMELb0dCFmtrfgWeFQgAQxYSAgAAgACADKQMoIAMpAyCFNwMQIANBEGogACkDGCAAKQNIhUIAIAApA0BC442j5Inemt6Of4VCABDFhICAACAAIAMpAxggAykDEIU3AxggAyAAKQMgIAApA1iFQgAgACkDUELDmd2px7nZzNgAhUIAEMWEgIAAIAAgAykDCCADKQMAhTcDICAFQVRqIgVFDQAgBCADQewAaiAGaiAF/AoAAAsgACAFNgIsIANB8ABqJICAgIAAC7sBAQR/I4CAgIAAQRBrIgUkgICAgAAgASgCBCEGIAEoAgAhBwJAAkAgBA0AAkAgA0UNACAHIAIgA0EAQQAgBigCDBGBgICAAICAgIAAC0EAIQggAiEBDAELQQAhAQJAAkAgA0UNAEEAIQhBAA0CQQAhASAHIAIgA0EAIARBACAGKAIIEYKAgIAAgICAgAAiAw0BC0EAIQgMAQsgAyEBIAQhCAsgACABNgIAIAAgCDYCBCAFQRBqJICAgIAAC9QBAQJ/AkACQCADKAIIIAIgAy0ADBsiBCACTQ0AQQAgBCACayIFIAUgBEsbIQQgAy0AESEFAkACQAJAIAMtABBBA3EOAwABAgALIAAgASACEJqAgIAAIgNB//8DcQ0DIAAgBSAEELCEgIAADwsgACAFIARBAXYQsISAgAAiA0H//wNxDQIgACABIAIQmoCAgAAiA0H//wNxDQIgACAFIARBAWpBAXYQsISAgAAPCyAAIAUgBBCwhICAACIDQf//A3ENAQsgACABIAIQmoCAgAAhAwsgAwuYAQIBfwJ+I4CAgIAAQSBrIgEkgICAgAAgAUEQaiAANQAAIgJCIIYgAoQiAkLb0dCFmtrfgWeFQgAgAkKsmuLTo9Lw+h+FQgAQxYSAgAAgASABKQMYQtvR0IWa2t+BZ4VCACABKQMQQqvI9cXHrIe7oH+FQgAQxYSAgAAgASkDACECIAEpAwghAyABQSBqJICAgIAAIAMgAoULOAEBfyAAKAIAQQhqIQECQANAIAFBCEYNASAAIAFqLQAADQEgACABQXdqNgIAIAFBf2ohAQwACwsLgwMBA38jgICAgABBEGsiAySAgICAAAJAAkAgAg0AIABBgICUATYBAAwBCyADQQA7AQICQCABLQAAQd8ARg0AIAEgAmpBf2otAABB3wBGDQADQAJAAkACQCACRQ0AIAEtAAAiBEHfAEcNAQwCCyAAQQA7AQIgACADLwECQf8DcTsBAAwECyADQQRqIARBChCzgICAAAJAIAMvAQQiBEUNACAAIAQ7AQIMBAsgAy0ABiEEAkACQCADLwECQf8DcSIFDQBBACEFDAELIANBCjsBCCADIAVBCmwiBUH/A3E7AQ4gAyAFQQl2IgVBAEc6AAwCQCAFRQ0AIABBGDsBAgwFCyADIAMvAQ5B/wNxIgU7AQILIAMgBEH/AXEiBDsBCiADIAUgBGoiBEH/A3EiBTsBDiADIAUgBEc6AAwCQCAFIARGDQAgAEEYOwECDAQLIAMgAy8BDkH/A3E7AQILIAFBAWohASACQX9qIQIMAAsLIABBgICUATYBAAsgA0EQaiSAgICAAAtZAQF/I4CAgIAAQRBrIgIkgICAgAAgAkEGNgIEIAJBy+rAgAA2AgAgAiABQf//A3FBA3RBwLXKgABqKQIANwIIIAAgAhCnhICAACEBIAJBEGokgICAgAAgAQt9AQN/IAEtAAghAiABKAIEIQMgASgCACEEAkAgAEH2tMqAAEEEEJqAgIAAIgFB//8DcQ0AIAAgBCADQYy1yoAAEKGEgIAAIgFB//8DcQ0AIABB+rTKgABBARCagICAACIBQf//A3ENACAAQYy1yoAAIAIQoICAgAAhAQsgAQv4AQIJfwF+I4CAgIAAQRBrIgIkgICAgAAgAUEEaiEDQQAhBEEAIQUDfwJAAkACQCAEQQFNDQBBACEGDAELIAEgBEEDdCIHaiIIIAgoAgQiCSAFazYCBCAIIAgoAgAiCiAFajYCACACQQhqIAAgCEECIARrQQEQuISAgAAgAikDCCILQiCIpyIGQf//A3FFDQEgCCAJNgIEIAggCjYCAAsgAkEQaiSAgICAACAGDwsgCCAJNgIEIAggCjYCACADIAdqIQggBSALp2ohBQN/IARBAkYNASAFIAgoAgAiCUkNASAIQQhqIQggBEEBaiEEIAUgCWshBQwACwsLFgAgACACQf8BcUEQQQAgARDmg4CAAAs3AQF/AkAgAEGCtcqAAEECEJqAgIAAIgJB//8DcQ0AIABBjLXKgAAgAS0AABCohICAACECCyACC5MBAQF/AkAgAEHs6sCAAEECEJqAgIAAIgNB//8DcQ0AA0ACQAJAIAJFDQAgAEGMtcqAACABLQAAEKuEgIAAIgNB//8DcUUNAQwDCyAAQaOSwIAAQQIQmoCAgAAPCwJAIAJBAUYNACAAQfPqwIAAQQIQmoCAgAAiA0H//wNxDQILIAFBAWohASACQX9qIQIMAAsLIAMLFgAgACACQf8BcUEKQQAgARDmg4CAAAu0KgEEfyOAgICAAEEQayIDJICAgIAAAkAgAEHS6sCAAEEEEJqAgIAAIgRB//8DcQ0AQQchBEGPsMCAACEFAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAgAOFRQAAQIDBAUGBwgJCgsMDQ4PEBESExQLQRMhBEGkrcCAACEFDBMLQRIhBEH7o8CAACEFDBILQQwhBEH5mcCAACEFDBELQQohBEHCr8CAACEFDBALQQwhBEGkmcCAACEFDA8LQQ4hBEH2r8CAACEFDA4LQRIhBEGinMCAACEFDA0LQQohBEHQrsCAACEFDAwLQQshBEGQrcCAACEFDAsLQQ8hBEGjo8CAACEFDAoLQRQhBEHtpcCAACEFDAkLQRkhBEHSo8CAACEFDAgLQQ8hBEGcmsCAACEFDAcLQQ0hBEHNr8CAACEFDAYLQQwhBEH0oMCAACEFDAULQRchBEGmlcCAACEFDAQLQRchBEHLrcCAACEFDAMLQRYhBEHimcCAACEFDAILQREhBEGSmcCAACEFDAELQQ8hBEGAosCAACEFCyAAIAUgBBCagICAACIEQf//A3ENACAAQe/qwIAAQQMQmoCAgAAiBEH//wNxDQACQCACKAIAIgQNACAAIAEQrYSAgAAiBEH//wNxDQEgAigCACEECwJAIARBAUcNACAAIAEgAigCBCACKAIIQQIQs4SAgAAiBEH//wNxDQEgAigCACEECwJAIARBAkcNACAAIAEgAigCBCACKAIIQQIQs4SAgAAiBEH//wNxDQEgAigCACEECwJAIARBA0cNACAAQaaSwIAAQQIQmoCAgAAiBEH//wNxDQEgAEHY6sCAAEECEJqAgIAAIgRB//8DcQ0BIABBl7DAgABBAxCagICAACIEQf//A3ENASAAQe/qwIAAQQMQmoCAgAAiBEH//wNxDQEgACABIAIoAgQgAigCCBC0hICAACIEQf//A3ENASAAQdfqwIAAQQMQmoCAgAAiBEH//wNxDQEgAEG9r8CAAEEEEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASACLQAMIQYgA0EBNgIEIANB2erAgAA2AgBBByEEQdyTwIAAIQUCQAJAAkACQCAGQQNxDgQDAAECAwtBDCEEQf2iwIAAIQUMAgtBCSEEQeSTwIAAIQUMAQtBBSEEQYubwIAAIQULIAMgBTYCCCADIAQ2AgwgACADEKeEgIAAIgRB//8DcQ0BIABB1+rAgABBAxCagICAACIEQf//A3ENASAAQceWwIAAQQYQmoCAgAAiBEH//wNxDQEgAEHv6sCAAEEDEJqAgIAAIgRB//8DcQ0BIAAgASACLQANELWEgIAAIgRB//8DcQ0BIABB1+rAgABBAxCagICAACIEQf//A3ENASAAQb+UwIAAQQsQmoCAgAAiBEH//wNxDQEgAEHv6sCAAEEDEJqAgIAAIgRB//8DcQ0BIAAgASACLQAOELWEgIAAIgRB//8DcQ0BIABB1+rAgABBAxCagICAACIEQf//A3ENASAAQZWcwIAAQQwQmoCAgAAiBEH//wNxDQEgAEHv6sCAAEEDEJqAgIAAIgRB//8DcQ0BIAAgASACLQAPELWEgIAAIgRB//8DcQ0BIABBo5LAgABBAhCagICAACIEQf//A3ENASACKAIAIQQLAkAgBEEERw0AIAAgARCthICAACIEQf//A3ENASACKAIAIQQLAkAgBEEFRw0AIABBppLAgABBAhCagICAACIEQf//A3ENASAAQdjqwIAAQQIQmoCAgAAiBEH//wNxDQEgAEGcrcCAAEEHEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASAAIAEgAigCBCACKAIIELSEgIAAIgRB//8DcQ0BIABBo5LAgABBAhCagICAACIEQf//A3ENASACKAIAIQQLAkAgBEEGRw0AIABBppLAgABBAhCagICAACIEQf//A3ENASAAQdjqwIAAQQIQmoCAgAAiBEH//wNxDQEgAEGcrsCAAEEJEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASAAIAEgAkEEahC2hICAACIEQf//A3ENASAAQaOSwIAAQQIQmoCAgAAiBEH//wNxDQEgAigCACEECwJAIARBB0cNACAAQaaSwIAAQQIQmoCAgAAiBEH//wNxDQEgAEHY6sCAAEECEJqAgIAAIgRB//8DcQ0BIABBva/AgABBBBCagICAACIEQf//A3ENASAAQe/qwIAAQQMQmoCAgAAiBEH//wNxDQEgACABIAItAAwQq4SAgAAiBEH//wNxDQEgAEHX6sCAAEEDEJqAgIAAIgRB//8DcQ0BIABBtrHAgABBBBCagICAACIEQf//A3ENASAAQe/qwIAAQQMQmoCAgAAiBEH//wNxDQEgACABIAIoAgQgAigCCEEBELOEgIAAIgRB//8DcQ0BIABBo5LAgABBAhCagICAACIEQf//A3ENASACKAIAIQQLAkAgBEEIRw0AIABBppLAgABBAhCagICAACIEQf//A3ENASAAQdjqwIAAQQIQmoCAgAAiBEH//wNxDQEgAEGGrMCAAEEFEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASAAIAEgAigCBCACKAIIQQEQs4SAgAAiBEH//wNxDQEgAEGjksCAAEECEJqAgIAAIgRB//8DcQ0BIAIoAgAhBAsCQCAEQQlHDQAgAEGmksCAAEECEJqAgIAAIgRB//8DcQ0BIABB2OrAgABBAhCagICAACIEQf//A3ENASAAQYaswIAAQQUQmoCAgAAiBEH//wNxDQEgAEHv6sCAAEEDEJqAgIAAIgRB//8DcQ0BIAAgASACKAIEIAIoAghBARCzhICAACIE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KAIEIAIoAghBARCzhICAACIEQf//A3ENASAAQdfqwIAAQQMQmoCAgAAiBEH//wNxDQEgAEHLlMCAAEEEEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASAAIAEgAigCDCACKAIQQQEQs4SAgAAiBEH//wNxDQEgAEGjksCAAEECEJqAgIAAIgRB//8DcQ0BIAIoAgAhBAsCQCAEQQ1HDQAgAEGmksCAAEECEJqAgIAAIgRB//8DcQ0BIABB2OrAgABBAhCagICAACIEQf//A3ENASAAQZiwwIAAQQIQmoCAgAAiBEH//wNxDQEgAEHv6sCAAEEDEJqAgIAAIgRB//8DcQ0BIAAgASACKAIEIAIoAggQtISAgAAiBEH//wNxDQEgAEHX6sCAAEEDEJqAgIAAIgRB//8DcQ0BIABBlKjAgABBAxCagICAACIEQf//A3ENASAAQe/qwIAAQQMQmoCAgAAiBEH//wNxDQEgACABIAIoAgwgAigCEEEBELOEgIAAIgRB//8DcQ0BIABBo5LAgABBAhCagICAACIEQf//A3ENASACKAIAIQQLAkAgBEEORw0AIAAgARCthICAACIEQf//A3ENASACKAIAIQQLAkAgBEEPRw0AIABBppLAgABBAhCagICAACIEQf//A3ENASAAQdjqwIAAQQIQmoCAgAAiBEH//wNxDQEgAEHinMCAAEELEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENASAAIAEgAi8BBBCPg4CAACIEQf//A3ENASAAQaOSwIAAQQIQmoCAgAAiBEH//wNxDQEgAigCACEECwJAIARBEEcNACAAIAEgAigCBCACKAIIQQIQs4SAgAAiBEH//wNxDQEgAigCACEECwJAIARBEUcNACAAQdLqwIAAQQQQmoCAgAAiBEH//wNxDQEgAEGGrMCAAEGim8CAACACLQAMG0EFEJqAgIAAIgRB//8DcQ0BIABB7+rAgABBAxCagICAACIEQf//A3ENAQJAAkAgAi0ADA0AIAAgARCthICAACIEQf//A3ENAyACLQAMRQ0BCyAAIAEgAigCBCACKAIIQQEQs4SAgAAiBEH//wNxDQILIABBo5LAgABBAhCagICAACIEQf//A3ENASACKAIAIQQLAkAgBEESRw0A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/wNxRQ0BDAMLIABBo5LAgABBAhCagICAAA8LAkAgA0EBRg0AIABB8+rAgABBAhCagICAACIFQf//A3ENAgsgAkEBaiECIANBf2ohAwwACwsgBQstAAJAIAJFDQAgACABIAIgA0EBELOEgIAADwsgAEGCpsCAAEEEIAEQoYSAgAALJwAgAEH+qsCAAEH/rMCAACACQQFxIgIbQQRBBSACGyABEKGEgIAACy8AAkAgAi0AAUUNACAAIAEgAi0AABCrhICAAA8LIABBgqbAgABBBCABEKGEgIAAC2UBAX8jgICAgABBEGsiAySAgICAACADQdnqwIAANgIAIANBATYCBCADQQNBAiACQQFxIgIbNgIMIANBp6bAgABB35nAgAAgAhs2AgggACADEKeEgIAAIQIgA0EQaiSAgICAACACC/wCAQd/I4CAgIAAQRBrIgUkgICAgAAgA0F/aiEGIAEoAgghByABKAIEIQhBACEJQQAhCgJAA0AgCiAGTw0BIAIoAgQgCWohCUEBIQoMAAsLAkACQAJAIAIgBkEDdGooAgQgBGwgCWoiCyABKAIMIgpqIAdLDQBBACEJAkADQCAJIAZPDQECQCACKAIEIglFDQAgCCAKaiACKAIAIAn8CgAACyABIAEoAgwgCWoiCjYCDEEBIQkMAAsLIAIgBkEDdGoiCSgCACECAkACQCAJKAIEIgkOAgMAAQsCQCAERQ0AIAggCmogAi0AACAE/AsACyABIAEoAgwgBGo2AgwMAgsDQCAERQ0CAkAgCUUNACAIIApqIAIgCfwKAAALIAEgASgCDCAJaiIKNgIMIARBf2ohBAwACwsgBUEIaiABIAIgAyAEIAEoAgAoAgARgYCAgACAgICAACAAIAUpAwg3AgAMAQsgACALNgIAIABBADsBBAsgBUEQaiSAgICAAAtgAQJ/QgFBICAAQX9qZ2siAK1C//8Dg4anIQECQCAAQf//A3FBAnRB8LzKgABqIgIoAgAiAEUNACACIAFBEHQgAGpBfGooAgA2AgAgAA8LQQAgAUAAIgBBEHQgAEF/RhsL4AEBAn8jgICAgABBEGsiBiSAgICAACAGIANBH3E6AA9BfyAEQQRqIgcgByAESRsiBEEBIAN0IgMgBCADSxshBAJAAkACQCACQQRqIgIgAyACIANLGyIDQX9qZyICQW9qQQxLDQAg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WzM7MTB+ABtbMjM7MTB+ABtbMTM7MTB+ABtbMjsxMH4AG1syMTsxMH4AG1syMDsxMH4AeyAuLi4gfQAuewBlbXB0eQBpbml0eQBjYXBhY2l0eQBIeXBlcmxpbmtTZXRPdXRPZk1lbW9yeQBTdHlsZVNldE91dE9mTWVtb3J5AFN0cmluZ3NPdXRPZk1lbW9yeQBIeXBlcmxpbmtNYXBPdXRPZk1lbW9yeQBHcmFwaGVtZU1hcE91dE9mTWVtb3J5AFN0cmluZ0FsbG9jT3V0T2ZNZW1vcnkAR3JhcGhlbWVBbGxvY091dE9mTWVtb3J5AHByaW1hcnkAc2Vjb25kYXJ5AGRuZC1jb3B5AG5vdGlmeQBzZW1hbnRpY19vcHRpb25fa2V5AGh5cGVybGlua19wYXJhbV9rZXkAa2l0dHlfY29sb3JfcHJvdG9jb2xfa2V5AHNwZWNpYWxfa2V5AGJvZHkAG095ABtPOXkAG084eQAbTzd5ABtPNnkAG08xNnkAG081eQAbTzE1eQAbTzR5ABtPMTR5ABtPM3kAG08xM3kAG08yeQAbTzEyeQAbTzExeQAbTzEweQBjb25lbXVfc2hvd19tZXNzYWdlX2JveABjb25lbXVfbWVzc2FnZV9ib3gAG094ABtPOXgAG084eAAbTzd4ABtPNngAG08xNngAG081eAAbTzE1eAAbTzR4ABtPMTR4ABtPM3gAG08xM3gAG08yeAAbTzEyeAAbTzExeAAbTzEweABxdWVzdGlvbl9hcnJvdwBzd2FsbG93AE92ZXJmbG93AHJlZHJhdwAbT3cAG085dwAbTzh3ABtPN3cAG082dwAbTzE2dwAbTzV3ABtPMTV3ABtPNHcAG08xNHcAG08zdwAbTzEzdwAbTzJ3ABtPMTJ3ABtPMTF3ABtPMTB3ABtPdgAbTzl2ABtPOHYAG083dgAbTzZ2ABtPMTZ2ABtPNXYAG08xNXYAG080dgAbTzE0dgAbTzN2ABtPMTN2ABtPMnYAG08xMnYAG08xMXYAG08xMHYAY29udGV4dC1tZW51ABtPdQAbTzl1ABtPOHUAG083dQAbTzZ1ABtPMTZ1ABtPNXUAG08xNXUAG080dQAbTzE0dQAbTzN1ABtPMTN1ABtPMnUAG08xMnUAG08xMXUAG08xMHUAY29uZW11X3RhYl90eHQAY3Vyc29yX3RleHQAdmVydGljYWwtdGV4dABJbnB1dE91dHB1dABjb25lbXVfd2FpdF9pbnB1dABlbmRfb2ZfaW5wdXQAZGNzX3B1dABhcGNfcHV0AHpvb20tb3V0AENvbm5lY3Rpb25UaW1lZE91dABsaXN0AGNvbmVtdV9wcm9ncmVzc19yZXBvcnQAcHJvbXB0X3N0YXJ0AHNlbWFudGljX29wdGlvbl9zdGFydABoeXBlcmxpbmtfc3RhcnQAc2VtYW50aWNfZXhpdF9jb2RlX3N0YXJ0AGFwY19zdGFydABzZW1hbnRpY19wcm9tcHQAcHJpbnQAY3VycmVudABwcmVhbGxvY19zZWdtZW50AGRlZmF1bHQAd2FpdAByaWdodABsZWZ0AE5vU3BhY2VMZWZ0AHJlc2V0AEludmFsaWRGb3JtYXQAG090ABtPOXQAG084dAAbTzd0ABtPNnQAG08xNnQAG081dAAbTzE1dAAbTzR0ABtPMTR0ABtPM3QAG08xM3QAG08ydAAbTzEydAAbTzExdAAbTzEwdAByZXF1ZXN0cwBjbGlja19ldmVudHMAY2xpcGJvYXJkX2NvbnRlbnRzAGR5bmFtaWNfc2VnbWVudHMAY3Jvc3MAcHJvZ3Jlc3MAaXRlbXMAcGFyYW1zAGR1cmF0aW9uX21zAGludGVybWVkaWF0ZXMAU3lzdGVtUmVzb3VyY2VzAGFsaWFzABtPcwAbTzlzABtPOHMAG083cwAbTzZzABtPMTZzABtPNXMAG08xNXMAG080cwAbTzE0cwAbTzNzABtPMTNzABtPMnMAG08xMnMAG08xMXMAG08xMHMAZmxldXIAbGVmdF9wdHIAdGVybWluYXRvcgBjdXJzb3IAZXJyb3IARGVjb2RlRXJyb3IAb3NjX2NvbG9yAGNyb3NzaGFpcgBJc0RpcgBwb2ludGVyAEludmFsaWRDaGFyYWN0ZXIAdG9wX3JpZ2h0X2Nvcm5lcgBib3R0b21fcmlnaHRfY29ybmVyAHRvcF9sZWZ0X2Nvcm5lcgBib3R0b21fbGVmdF9jb3JuZXIAQ29ubmVjdGlvblJlc2V0QnlQZWVyABtPcgAbTzlyABtPOHIAG083cgAbTzZyABtPMTZyABtPNXIAG08xNXIAG080cgAbTzE0cgAbTzNyABtPMTNyABtPMnIAG08xMnIAG08xMXIAG08xMHIAG09xABtPOXEAG084cQAbTzdxABtPNnEAG08xNnEAG081cQAbTzE1cQAbTzRxABtPMTRxABtPM3EAG08xM3EAG08ycQAbTzEycQAbTzExcQAbTzEwcQBkbmQtbm8tZHJvcABoZWxwAHBhcmFtc19zZXAAY29uZW11X3NsZWVwAHJpZ2h0X3VubGVzc19wZW5kaW5nX3dyYXAAG09wABtPOXAAG084cAAbTzdwABtPNnAAG08xNnAAG081cAAbTzE1cAAbTzRwABtPMTRwABtPM3AAG08xM3AAG08ycAAbTzEycAAbTzExcAAbTzEwcABEaXZpc2lvbkJ5WmVybwBjb25lbXVfZ3VpbWFjcm8AG09vABtPOW8AG084bwAbTzdvABtPNm8AG08xNm8AG081bwAbTzE1bwAbTzRvABtPMTRvABtPM28AG08xM28AG08ybwAbTzEybwAbTzExbwAbTzEwbwB0ZXJtaW5hbC5QYXJzZXIuQWN0aW9uAGNvbnRpbnVhdGlvbgBVdGY4RXhwZWN0ZWRDb250aW51YXRpb24AY29sb3Jfb3BlcmF0aW9uAE1pc3NpbmdPcGVyYXRpb24ATG9ja1Zpb2xhdGlvbgBzaG93X2Rlc2t0b3Bfbm90aWZpY2F0aW9uAHJ4dnRfZXh0ZW5zaW9uAGNoYW5nZV93aW5kb3dfaWNvbgB6b29tLWluAGxlbgBuYW4AG09uABtPOW4AG084bgAbTzduABtPNm4AG08xNm4AG081bgAbTzE1bgAbTzRuABtPMTRuABtPM24AG08xM24AG08ybgAbTzEybgAbTzExbgAbWzBuABtPMTBuAHh0ZXJtAEVuZE9mU3RyZWFtABtPbQAbTzltABtPOG0AG083bQAbTzZtABtPMTZtABtPNW0AG08xNW0AG080bQAbTzE0bQAbTzNtABtPMTNtABtPMm0AG08xMm0AG08xMW0AG08xMG0AY21kbGluZV91cmwAa2l0dHlfY29sb3JfcHJvdG9jb2wAbnVsbABhbGwtc2Nyb2xsAGNlbGwAdmlzdWFsX2JlbGwAYWxsAGJlbABmaW5hbABtYXNrAGRjc191bmhvb2sAZGNzX2hvb2sAZG5kLWxpbmsAV291bGRCbG9jawAbT2sAG085awAbTzhrABtPN2sAG082awAbTzE2awAbTzVrABtPMTVrABtPNGsAG08xNGsAG08zawAbTzEzawAbTzJrABtPMTJrABtPMTFrABtPMTBrABtPagAbTzlqABtPOGoAG083agAbTzZqABtPMTZqABtPNWoAG08xNWoAG080agAbTzE0agAbTzNqABtPMTNqABtPMmoAG08xMmoAG08xMWoAG08xMGoAaHlwZXJsaW5rX3VyaQBIeXBlcmxpbmtTZXROZWVkc1JlaGFzaABTdHlsZVNldE5lZWRzUmVoYXNoAGxlZnRfcHRyX3dhdGNoAGNzaV9kaXNwYXRjaABvc2NfZGlzcGF0Y2gAZXNjX2Rpc3BhdGNoAGFsbG9jYWJsZV9zdHJpbmcAU3RyZWFtaW5nAFV0ZjhPdmVybG9uZ0VuY29kaW5nAE5vdE9wZW5Gb3JSZWFkaW5nAGdyYWJiaW5nAEludmFsaWRFbnVtVGFnAGluZgBVdGY4RW5jb2Rlc1N1cnJvZ2F0ZUhhbGYAVXRmOENhbm5vdEVuY29kZVN1cnJvZ2F0ZUhhbGYAbmVzdy1yZXNpemUAcm93LXJlc2l6ZQBudy1yZXNpemUAZXctcmVzaXplAG5zLXJlc2l6ZQBuLXJlc2l6ZQBjb2wtcmVzaXplAG53c2UtcmVzaXplAG5lLXJlc2l6ZQByZW1vdmUAZG5kLW1vdmUAdHJ1ZQBjb25lbXVfcHJvZ3Jlc3NfcHJldmFsdWUAY29uZW11X3Byb2dyZXNzX3ZhbHVlAGNvbmVtdV9zbGVlcF92YWx1ZQBzZW1hbnRpY19vcHRpb25fdmFsdWUAaHlwZXJsaW5rX3BhcmFtX3ZhbHVlAGtpdHR5X2NvbG9yX3Byb3RvY29sX3ZhbHVlAFV0ZjhJbnZhbGlkU3RhcnRCeXRlAGV4ZWN1dGUAY29tcGxldGUAY29uZW11X3Byb2dyZXNzX3ByZXN0YXRlAGNvbmVtdV9wcm9ncmVzc19zdGF0ZQBhbHRlcm5hdGUAaW5kZXRlcm1pbmF0ZQBwYXVzZQBmYWxzZQBCcm9rZW5QaXBlAG1vdXNlX3NoYXBlAGNtZGxpbmUAY2hhbmdlX3dpbmRvd190aXRsZQBub3RpZmljYXRpb25fdGl0bGUAY29uZW11X2NoYW5nZV90YWJfdGl0bGUAY3Jvc3NlZF9jaXJjbGUAVW5zZWVrYWJs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c2NfMTYAb3NjXzExNgBvc2NfNQAyMjczNzM2NzU0NDMyMzIwNTk0Nzg3NTk3NjU2MjUAMTIzMjU5NTE2NDQwNzgzMDk0NTk1NTgyNTg4MzI1NDM1MzQ4Mzg2NDM4NTA1NDg1Nzg0ODQ0NDk1MzU2MDgyOTE2MjU5NzY1NjI1ADUyOTM5NTU5MjAzMzkzNzcxMTkxNzcwMTU2MjkyNDc3NjIyNjI4MjExOTc1MDk3NjU2MjUAODA3NzkzNTY2OTQ2MzE2MDg4NzQxNjEwMDUwODQ5NTczMDk5MTg1MzYzMzg5NTUxNjM5NTU2ODg0NzY1NjI1ADE0OTAxMTYxMTkzODQ3NjU2MjUAMTg4MDc5MDk2MTMxNTY2MDAxMjc0OTk3ODQ1OTU1NTU5MzA4NDUwOTg2NDg5MDgzNTM0MDAzNDQxNDAwMjczMDA0NTQ2NzYxNTEyNzU2MzQ3NjU2MjUAMzQ2OTQ0Njk1MTk1MzYxNDE4ODgyMzg0ODk2Mjc4MzgxMzQ3NjU2MjUAMzgxNDY5NzI2NTYyNQAyMDY3OTUxNTMxMzgyNTY5MTg3MTc4NTIxNzMwMTc0OTA3MTMzOTE0NTMwMjc3MjUyMTk3MjY1NjI1ADQ4MTQ4MjQ4NjA5NjgwODk2MzI2Mzk5NDQ4NTY0NjIzMTgyOTYzNDUyNTQxMjA1Mzg0NzA0ODgwOTk4NDY5ODg5MTYzOTcwOTQ3MjY1NjI1ADg4ODE3ODQxOTcwMDEyNTIzMjMzODkwNTMzNDQ3MjY1NjI1ADMxNTU0NDM2MjA4ODQwNDcyMjE2NDY5MTQyNjExMzExNDQ5MTg2OTI4MjU3NDA0MzYwOTIwMTkwODExMTU3MjI2NTYyNQA1ODIwNzY2MDkxMzQ2NzQwNzIyNjU2MjUAMTM1NTI1MjcxNTYwNjg4MDU0MjUwOTMxNjAwMTA4NzQyNzEzOTI4MjIyNjU2MjUANTA0ODcwOTc5MzQxNDQ3NTU1NDYzNTA2MjgxNzgwOTgzMTg2OTkwODUyMTE4NDY5Nzc0NzIzMDUyOTc4NTE1NjI1ADkzMTMyMjU3NDYxNTQ3ODUxNTYyNQAxMTc1NDk0MzUwODIyMjg3NTA3OTY4NzM2NTM3MjIyMjQ1Njc3ODE4NjY1NTU2NzcyMDg3NTIxNTA4NzUxNzA2Mjc4NDE3MjU5NDU0NzI3MTcyODUxNTYyNQAyMTY4NDA0MzQ0OTcxMDA4ODY4MDE0OTA1NjAxNzM5ODgzNDIyODUxNTYyNQAxNDIxMDg1NDcxNTIwMjAwMzcxNzQyMjQ4NTM1MTU2MjUANzcwMzcxOTc3NzU0ODk0MzQxMjIyMzkxMTc3MDMzOTcwOTI3NDE1MjQwNjU5Mjg2MTU1Mjc4MDk1OTc1NTE4MjI2NjIzNTM1MTU2MjUAMzMwODcyMjQ1MDIxMjExMDY5OTQ4NTYzNDc2ODI3OTg1MTQxNDI2MzI0ODQ0MzYwMzUxNTYyNQA2MTAzNTE1NjI1ADE5NzIxNTIyNjMwNTI1Mjk1MTM1MjkzMjE0MTMyMDY5NjU1NzQxODMwMTYwODc3NzI1NTc1MTE5MjU2OTczMjY2NjAxNTYyNQAzNjM3OTc4ODA3MDkxNzEyOTUxNjYwMTU2MjUAODQ3MDMyOTQ3MjU0MzAwMzM5MDY4MzIyNTAwNjc5NjQxOTYyMDUxMzkxNjAxNTYyNQAyMzg0MTg1NzkxMDE1NjI1ADEyOTI0Njk3MDcxMTQxMDU3NDE5ODY1NzYwODEzNTkzMTY5NTg2OTY1ODE0MjMyODI2MjMyOTEwMTU2MjUANTU1MTExNTEyMzEyNTc4MjcwMjExODE1ODM0MDQ1NDEwMTU2MjUAMzAwOTI2NTUzODEwNTA1NjAyMDM5OTk2NTUzNTI4ODk0ODkzNTIxNTc4MzgyNTMzNjU0NDA1NTA2MjQwNDM2ODA3Mjc0ODE4NDIwNDEwMTU2MjUAMTUyNTg3ODkwNjI1ADgyNzE4MDYxMjU1MzAyNzY3NDg3MTQwODY5MjA2OTk2Mjg1MzU2NTgxMjExMDkwMDg3ODkwNjI1ADE5MjU5Mjk5NDQzODcyMzU4NTMwNTU5Nzc5NDI1ODQ5MjczMTg1MzgxMDE2NDgyMTUzODgxOTUyMzk5Mzg3OTU1NjY1NTg4Mzc4OTA2MjUAMzU1MjcxMzY3ODgwMDUwMDkyOTM1NTYyMTMzNzg5MDYyNQAyMzI4MzA2NDM2NTM4Njk2Mjg5MDYyNQAxMjYyMTc3NDQ4MzUzNjE4ODg4NjU4NzY1NzA0NDUyNDU3OTY3NDc3MTMwMjk2MTc0NDM2ODA3NjMyNDQ2Mjg5MDYyNQA1NDIxMDEwODYyNDI3NTIyMTcwMDM3MjY0MDA0MzQ5NzA4NTU3MTI4OTA2MjUANTk2MDQ2NDQ3NzUzOTA2MjUAMzIzMTE3NDI2Nzc4NTI2NDM1NDk2NjQ0MDIwMzM5ODI5MjM5Njc0MTQ1MzU1ODIwNjU1ODIyNzUzOTA2MjUAMTM4Nzc3ODc4MDc4MTQ0NTY3NTUyOTUzOTU4NTExMzUyNTM5MDYyNQA3NTIzMTYzODQ1MjYyNjQwMDUwOTk5OTEzODM4MjIyMzcyMzM4MDM5NDU5NTYzMzQxMzYwMTM3NjU2MDEwOTIwMTgxODcwNDYwNTEwMjUzOTA2MjUANDkzMDM4MDY1NzYzMTMyMzc4MzgyMzMwMzUzMzAxNzQxMzkzNTQ1NzU0MDIxOTQzMTM5Mzc3OTgxNDI0MzMxNjY1MDM5MDYyNQA5MDk0OTQ3MDE3NzI5MjgyMzc5MTUwMzkwNjI1ADIxMTc1ODIzNjgxMzU3NTA4NDc2NzA4MDYyNTE2OTkxMDQ5MDUxMjg0NzkwMDM5MDYyNQAzMzg4MTMxNzg5MDE3MjAxMzU2MjczMjkwMDAyNzE4NTY3ODQ4MjA1NTY2NDA2MjUAMTQ1NTE5MTUyMjgzNjY4NTE4MDY2NDA2MjUANzg4ODYwOTA1MjIxMDExODA1NDExNzI4NTY1MjgyNzg2MjI5NjczMjA2NDM1MTA5MDIzMDA0NzcwMjc4OTMwNjY0MDYyNQAxMjAzNzA2MjE1MjQyMDIyNDA4MTU5OTg2MjE0MTE1NTc5NTc0MDg2MzEzNTMwMTM0NjE3NjIyMDI0OTYxNzQ3MjI5MDk5MjczNjgxNjQwNjI1ADIyMjA0NDYwNDkyNTAzMTMwODA4NDcyNjMzMzYxODE2NDA2MjUANTE2OTg3ODgyODQ1NjQyMjk2Nzk0NjMwNDMyNTQzNzI2NzgzNDc4NjMyNTY5MzEzMDQ5MzE2NDA2MjUAOTUzNjc0MzE2NDA2MjUANDcwMTk3NzQwMzI4OTE1MDAzMTg3NDk0NjE0ODg4ODk4MjcxMTI3NDY2MjIyNzA4ODM1MDA4NjAzNTAwNjgyNTExMzY2OTAzNzgxODkwODY5MTQwNjI1ADg2NzM2MTczNzk4ODQwMzU0NzIwNTk2MjI0MDY5NTk1MzM2OTE0MDYyNQAzNzI1MjkwMjk4NDYxOTE0MDYyNQAyMDE5NDgzOTE3MzY1NzkwMjIxODU0MDI1MTI3MTIzOTMyNzQ3OTYzNDA4NDczODc5MDk4ODkyMjExOTE0MDYyNQA1Njg0MzQxODg2MDgwODAxNDg2OTY4OTk0MTQwNjI1ADMwODE0ODc5MTEwMTk1NzczNjQ4ODk1NjQ3MDgxMzU4ODM3MDk2NjA5NjI2MzcxNDQ2MjExMTIzODM5MDIwNzI5MDY0OTQxNDA2MjUAMTMyMzQ4ODk4MDA4NDg0NDI3OTc5NDI1MzkwNzMxMTk0MDU2NTcwNTI5OTM3NzQ0MTQwNjI1ADI0NDE0MDYyNQAzODUxODU5ODg4Nzc0NDcxNzA2MTExOTU1ODg1MTY5ODU0NjM3MDc2MjAzMjk2NDMwNzc2MzkwNDc5ODc3NTkxMTMzMTE3Njc1NzgxMjUANzEwNTQyNzM1NzYwMTAwMTg1ODcxMTI0MjY3NTc4MTI1ADMwNTE3NTc4MTI1ADE2NTQzNjEyMjUxMDYwNTUzNDk3NDI4MTczODQxMzk5MjU3MDcxMzE2MjQyMjE4MDE3NTc4MTI1ADI1MjQzNTQ4OTY3MDcyMzc3NzczMTc1MzE0MDg5MDQ5MTU5MzQ5NTQyNjA1OTIzNDg4NzM2MTUyNjQ4OTI1NzgxMjUANDY1NjYxMjg3MzA3NzM5MjU3ODEyNQA1ODc3NDcxNzU0MTExNDM3NTM5ODQzNjgyNjg2MTExMjI4Mzg5MDkzMzI3NzgzODYwNDM3NjA3NTQzNzU4NTMxMzkyMDg2Mjk3MjczNjM1ODY0MjU3ODEyNQAxMDg0MjAyMTcyNDg1NTA0NDM0MDA3NDUyODAwODY5OTQxNzExNDI1NzgxMjUAMTE5MjA5Mjg5NTUwNzgxMjUANjQ2MjM0ODUzNTU3MDUyODcwOTkzMjg4MDQwNjc5NjU4NDc5MzQ4MjkwNzExNjQxMzExNjQ1NTA3ODEyNQAyNzc1NTU3NTYxNTYyODkxMzUxMDU5MDc5MTcwMjI3MDUwNzgxMjUAMTUwNDYzMjc2OTA1MjUyODAxMDE5OTk4Mjc2NzY0NDQ3NDQ2NzYwNzg5MTkxMjY2ODI3MjAyNzUzMTIwMjE4NDAzNjM3NDA5MjEwMjA1MDc4MTI1ADQyMzUxNjQ3MzYyNzE1MDE2OTUzNDE2MTI1MDMzOTgyMDk4MTAyNTY5NTgwMDc4MTI1ADE4MTg5ODk0MDM1NDU4NTY0NzU4MzAwNzgxMjUAOTg2MDc2MTMxNTI2MjY0NzU2NzY0NjYwNzA2NjAzNDgyNzg3MDkxNTA4MDQzODg2Mjc4NzU1OTYyODQ4NjYzMzMwMDc4MTI1ADExMzY4NjgzNzcyMTYxNjAyOTczOTM3OTg4MjgxMjUANjE2Mjk3NTgyMjAzOTE1NDcyOTc3OTEyOTQxNjI3MTc2NzQxOTMyMTkyNTI3NDI4OTI0MjIyNDc2NzgwNDE0NTgxMjk4ODI4MTI1ADI2NDY5Nzc5NjAxNjk2ODg1NTk1ODg1MDc4MTQ2MjM4ODExMzE0MTA1OTg3NTQ4ODI4MTI1ADE3MzQ3MjM0NzU5NzY4MDcwOTQ0MTE5MjQ0ODEzOTE5MDY3MzgyODEyNQA5NDAzOTU0ODA2NTc4MzAwMDYzNzQ5ODkyMjk3Nzc3OTY1NDIyNTQ5MzI0NDU0MTc2NzAwMTcyMDcwMDEzNjUwMjI3MzM4MDc1NjM3ODE3MzgyODEyNQA3NDUwNTgwNTk2OTIzODI4MTI1ADQwMzg5Njc4MzQ3MzE1ODA0NDM3MDgwNTAyNTQyNDc4NjU0OTU5MjY4MTY5NDc3NTgxOTc3ODQ0MjM4MjgxMjUAMTAzMzk3NTc2NTY5MTI4NDU5MzU4OTI2MDg2NTA4NzQ1MzU2Njk1NzI2NTEzODYyNjA5ODYzMjgxMjUAMTkwNzM0ODYzMjgxMjUAMjQwNzQxMjQzMDQ4NDA0NDgxNjMxOTk3MjQyODIzMTE1OTE0ODE3MjYyNzA2MDI2OTIzNTI0NDA0OTkyMzQ5NDQ1ODE5ODU0NzM2MzI4MTI1ADQ0NDA4OTIwOTg1MDA2MjYxNjE2OTQ1MjY2NzIzNjMyODEyNQAxNTc3NzIxODEwNDQyMDIzNjEwODIzNDU3MTMwNTY1NTcyNDU5MzQ2NDEyODcwMjE4MDQ2MDA5NTQwNTU3ODYxMzI4MTI1ADI5MTAzODMwNDU2NzMzNzAzNjEzMjgxMjUANjc3NjI2MzU3ODAzNDQwMjcxMjU0NjU4MDAwNTQzNzEzNTY5NjQxMTEzMjgxMjUAMjk4MDIzMjIzODc2OTUzMTI1ADE2MTU1ODcxMzM4OTI2MzIxNzc0ODMyMjAxMDE2OTkxNDYxOTgzNzA3MjY3NzkxMDMyNzkxMTM3Njk1MzEyNQA2OTM4ODkzOTAzOTA3MjI4Mzc3NjQ3Njk3OTI1NTY3NjI2OTUzMTI1ADM3NjE1ODE5MjI2MzEzMjAwMjU0OTk5NTY5MTkxMTExODYxNjkwMTk3Mjk3ODE2NzA2ODAwNjg4MjgwMDU0NjAwOTA5MzUyMzAyNTUxMjY5NTMxMjUANDU0NzQ3MzUwODg2NDY0MTE4OTU3NTE5NTMxMjUAMjQ2NTE5MDMyODgxNTY2MTg5MTkxMTY1MTc2NjUwODcwNjk2NzcyODc3MDEwOTcxNTY5Njg4OTkwNzEyMTY1ODMyNTE5NTMxMjUAMTA1ODc5MTE4NDA2Nzg3NTQyMzgzNTQwMzEyNTg0OTU1MjQ1MjU2NDIzOTUwMTk1MzEyNQAxNzc2MzU2ODM5NDAwMjUwNDY0Njc3ODEwNjY4OTQ1MzEyNQA5NjI5NjQ5NzIxOTM2MTc5MjY1Mjc5ODg5NzEyOTI0NjM2NTkyNjkwNTA4MjQxMDc2OTQwOTc2MTk5NjkzOTc3ODMyNzk0MTg5NDUzMTI1ADc2MjkzOTQ1MzEyNQA0MTM1OTAzMDYyNzY1MTM4Mzc0MzU3MDQzNDYwMzQ5ODE0MjY3ODI5MDYwNTU0NTA0Mzk0NTMxMjUAMjcxMDUwNTQzMTIxMzc2MTA4NTAxODYzMjAwMjE3NDg1NDI3ODU2NDQ1MzEyNQAxMTY0MTUzMjE4MjY5MzQ4MTQ0NTMxMjUANjMxMDg4NzI0MTc2ODA5NDQ0MzI5MzgyODUyMjI2MjI4OTgzNzM4NTY1MTQ4MDg3MjE4NDAzODE2MjIzMTQ0NTMxMjUAMTAwOTc0MTk1ODY4Mjg5NTExMDkyNzAxMjU2MzU2MTk2NjM3Mzk4MTcwNDIzNjkzOTU0OTQ0NjEwNTk1NzAzMTI1ADE4NjI2NDUxNDkyMzA5NTcwMzEyNQA0MzM2ODA4Njg5OTQyMDE3NzM2MDI5ODExMjAzNDc5NzY2ODQ1NzAzMTI1ADIzNTA5ODg3MDE2NDQ1NzUwMTU5Mzc0NzMwNzQ0NDQ0OTEzNTU2MzczMzExMTM1NDQxNzUwNDMwMTc1MDM0MTI1NTY4MzQ1MTg5MDk0NTQzNDU3MDMxMjUAMjg0MjE3MDk0MzA0MDQwMDc0MzQ4NDQ5NzA3MDMxMjUAMTU0MDc0Mzk1NTUwOTc4ODY4MjQ0NDc4MjM1NDA2Nzk0MTg1NDgzMDQ4MTMxODU3MjMxMDU1NjE5MTk1MTAzNjQ1MzI0NzA3MDMxMjUANjYxNzQ0NDkwMDQyNDIyMTM5ODk3MTI2OTUzNjU1OTcwMjgyODUyNjQ5Njg4NzIwNzAzMTI1ADEyMjA3MDMxMjUAMjU4NDkzOTQxNDIyODIxMTQ4Mzk3MzE1MjE2MjcxODYzMzkxNzM5MzE2Mjg0NjU2NTI0NjU4MjAzMTI1ADQ3NjgzNzE1ODIwMzEyNQAxMTEwMjIzMDI0NjI1MTU2NTQwNDIzNjMxNjY4MDkwODIwMzEyNQA2MDE4NTMxMDc2MjEwMTEyMDQwNzk5OTMxMDcwNTc3ODk3ODcwNDMxNTY3NjUwNjczMDg4MTEwMTI0ODA4NzM2MTQ1NDk2MzY4NDA4MjAzMTI1ADE2OTQwNjU4OTQ1MDg2MDA2NzgxMzY2NDUwMDEzNTkyODM5MjQxMDI3ODMyMDMxMjUAMzk0NDMwNDUyNjEwNTA1OTAyNzA1ODY0MjgyNjQxMzkzMTE0ODM2NjAzMjE3NTU0NTExNTAyMzg1MTM5NDY1MzMyMDMxMjUANzI3NTk1NzYxNDE4MzQyNTkwMzMyMDMxMjUAb3NjXzE1AG9zY18xMTUAb3NjXzEwNQBvc2NfNABvc2NfMTQAb3NjXzExNABvc2NfMTA0ADEzMwBvc2NfMTMAb3NjXzExMwA1MgAyMgBvc2NfMTIAb3NjXzExMgBoYW5kMQAyMQBvc2NfMTEAb3NjXzExMQBvc2NfMTAAb3NjXzExMABlcnJvci4ALnsgLgAsIC4AQGVudW1Gcm9tSW50KAAkJwB7IAAgPSAALCAAGxsAGw0AMjU1IDI1MCAyNTAJCXNub3cKMjQ4IDI0OCAyNTUJCWdob3N0IHdoaXRlCjI0OCAyNDggMjU1CQlHaG9zdFdoaXRlCjI0NSAyNDUgMjQ1CQl3aGl0ZSBzbW9rZQoyNDUgMjQ1IDI0NQkJV2hpdGVTbW9rZQoyMjAgMjIwIDIyMAkJZ2FpbnNib3JvCjI1NSAyNTAgMjQwCQlmbG9yYWwgd2hpdGUKMjU1IDI1MCAyNDAJCUZsb3JhbFdoaXRlCjI1MyAyNDUgMjMwCQlvbGQgbGFjZQoyNTMgMjQ1IDIzMAkJT2xkTGFjZQoyNTAgMjQwIDIzMAkJbGluZW4KMjUwIDIzNSAyMTUJCWFudGlxdWUgd2hpdGUKMjUwIDIzNSAyMTUJCUFudGlxdWVXaGl0ZQoyNTUgMjM5IDIxMwkJcGFwYXlhIHdoaXAKMjU1IDIzOSAyMTMJCVBhcGF5YVdoaXAKMjU1IDIzNSAyMDUJCWJsYW5jaGVkIGFsbW9uZAoyNTUgMjM1IDIwNQkJQmxhbmNoZWRBbG1vbmQKMjU1IDIyOCAxOTYJCWJpc3F1ZQoyNTUgMjE4IDE4NQkJcGVhY2ggcHVmZgoyNTUgMjE4IDE4NQkJUGVhY2hQdWZmCjI1NSAyMjIgMTczCQluYXZham8gd2hpdGUKMjU1IDIyMiAxNzMJCU5hdmFqb1doaXRlCjI1NSAyMjggMTgxCQltb2NjYXNpbgoyNTUgMjQ4IDIyMAkJY29ybnNpbGsKMjU1IDI1NSAyNDAJCWl2b3J5CjI1NSAyNTAgMjA1CQlsZW1vbiBjaGlmZm9uCjI1NSAyNTAgMjA1CQlMZW1vbkNoaWZmb24KMjU1IDI0NSAyMzgJCXNlYXNoZWxsCjI0MCAyNTUgMjQwCQlob25leWRldwoyNDUgMjU1IDI1MAkJbWludCBjcmVhbQoyNDUgMjU1IDI1MAkJTWludENyZWFtCjI0MCAyNTUgMjU1CQlhenVyZQoyNDAgMjQ4IDI1NQkJYWxpY2UgYmx1ZQoyNDAgMjQ4IDI1NQkJQWxpY2VCbHVlCjIzMCAyMzAgMjUwCQlsYXZlbmRlcgoyNTUgMjQwIDI0NQkJbGF2ZW5kZXIgYmx1c2gKMjU1IDI0MCAyNDUJCUxhdmVuZGVyQmx1c2gKMjU1IDIyOCAyMjUJCW1pc3R5IHJvc2UKMjU1IDIyOCAyMjUJCU1pc3R5Um9zZQoyNTUgMjU1IDI1NQkJd2hpdGUKICAwICAgMCAgIDAJCWJsYWNrCiA0NyAgNzkgIDc5CQlkYXJrIHNsYXRlIGdyYXkKIDQ3ICA3OSAgNzkJCURhcmtTbGF0ZUdyYXkKIDQ3ICA3OSAgNzkJCWRhcmsgc2xhdGUgZ3JleQogNDcgIDc5ICA3OQkJRGFya1NsYXRlR3JleQoxMDUgMTA1IDEwNQkJZGltIGdyYXkKMTA1IDEwNSAxMDUJCURpbUdyYXkKMTA1IDEwNSAxMDUJCWRpbSBncmV5CjEwNSAxMDUgMTA1CQlEaW1HcmV5CjExMiAxMjggMTQ0CQlzbGF0ZSBncmF5CjExMiAxMjggMTQ0CQlTbGF0ZUdyYXkKMTEyIDEyOCAxNDQJCXNsYXRlIGdyZXkKMTEyIDEyOCAxNDQJCVNsYXRlR3JleQoxMTkgMTM2IDE1MwkJbGlnaHQgc2xhdGUgZ3JheQoxMTkgMTM2IDE1MwkJTGlnaHRTbGF0ZUdyYXkKMTE5IDEzNiAxNTMJCWxpZ2h0IHNsYXRlIGdyZXkKMTE5IDEzNiAxNTMJCUxpZ2h0U2xhdGVHcmV5CjE5MCAxOTAgMTkwCQlncmF5CjE5MCAxOTAgMTkwCQlncmV5CjE5MCAxOTAgMTkwCQl4MTEgZ3JheQoxOTAgMTkwIDE5MAkJWDExR3JheQoxOTAgMTkwIDE5MAkJeDExIGdyZXkKMTkwIDE5MCAxOTAJCVgxMUdyZXkKMTI4IDEyOCAxMjgJCXdlYiBncmF5CjEyOCAxMjggMTI4CQlXZWJHcmF5CjEyOCAxMjggMTI4CQl3ZWIgZ3JleQoxMjggMTI4IDEyOAkJV2ViR3JleQoyMTEgMjExIDIxMQkJbGlnaHQgZ3JleQoyMTEgMjExIDIxMQkJTGlnaHRHcmV5CjIxMSAyMTEgMjExCQlsaWdodCBncmF5CjIxMSAyMTEgMjExCQlMaWdodEdyYXkKIDI1ICAyNSAxMTIJCW1pZG5pZ2h0IGJsdWUKIDI1ICAyNSAxMTIJCU1pZG5pZ2h0Qmx1ZQogIDAgICAwIDEyOAkJbmF2eQogIDAgICAwIDEyOAkJbmF2eSBibHVlCiAgMCAgIDAgMTI4CQlOYXZ5Qmx1ZQoxMDAgMTQ5IDIzNwkJY29ybmZsb3dlciBibHVlCjEwMCAxNDkgMjM3CQlDb3JuZmxvd2VyQmx1ZQogNzIgIDYxIDEzOQkJZGFyayBzbGF0ZSBibHVlCiA3MiAgNjEgMTM5CQlEYXJrU2xhdGVCbHVlCjEwNiAgOTAgMjA1CQlzbGF0ZSBibHVlCjEwNiAgOTAgMjA1CQlTbGF0ZUJsdWUKMTIzIDEwNCAyMzgJCW1lZGl1bSBzbGF0ZSBibHVlCjEyMyAxMDQgMjM4CQlNZWRpdW1TbGF0ZUJsdWUKMTMyIDExMiAyNTUJCWxpZ2h0IHNsYXRlIGJsdWUKMTMyIDExMiAyNTUJCUxpZ2h0U2xhdGVCbHVlCiAgMCAgIDAgMjA1CQltZWRpdW0gYmx1ZQogIDAgICAwIDIwNQkJTWVkaXVtQmx1ZQogNjUgMTA1IDIyNQkJcm95YWwgYmx1ZQogNjUgMTA1IDIyNQkJUm95YWxCbHVlCiAgMCAgIDAgMjU1CQlibHVlCiAzMCAxNDQgMjU1CQlkb2RnZXIgYmx1ZQogMzAgMTQ0IDI1NQkJRG9kZ2VyQmx1ZQogIDAgMTkxIDI1NQkJZGVlcCBza3kgYmx1ZQogIDAgMTkxIDI1NQkJRGVlcFNreUJsdWUKMTM1IDIwNiAyMzUJCXNreSBibHVlCjEzNSAyMDYgMjM1CQlTa3lCbHVlCjEzNSAyMDYgMjUwCQlsaWdodCBza3kgYmx1ZQoxMzUgMjA2IDI1MAkJTGlnaHRTa3lCbHVlCiA3MCAxMzAgMTgwCQlzdGVlbCBibHVlCiA3MCAxMzAgMTgwCQlTdGVlbEJsdWUKMTc2IDE5NiAyMjIJCWxpZ2h0IHN0ZWVsIGJsdWUKMTc2IDE5NiAyMjIJCUxpZ2h0U3RlZWxCbHVlCjE3MyAyMTYgMjMwCQlsaWdodCBibHVlCjE3MyAyMTYgMjMwCQlMaWdodEJsdWUKMTc2IDIyNCAyMzAJCXBvd2RlciBibHVlCjE3NiAyMjQgMjMwCQlQb3dkZXJCbHVlCjE3NSAyMzggMjM4CQlwYWxlIHR1cnF1b2lzZQoxNzUgMjM4IDIzOAkJUGFsZVR1cnF1b2lzZQogIDAgMjA2IDIwOQkJZGFyayB0dXJxdW9pc2UKICAwIDIwNiAyMDkJCURhcmtUdXJxdW9pc2UKIDcyIDIwOSAyMDQJCW1lZGl1bSB0dXJxdW9pc2UKIDcyIDIwOSAyMDQJCU1lZGl1bVR1cnF1b2lzZQogNjQgMjI0IDIwOAkJdHVycXVvaXNlCiAgMCAyNTUgMjU1CQljeWFuCiAgMCAyNTUgMjU1CQlhcXVhCjIyNCAyNTUgMjU1CQlsaWdodCBjeWFuCjIyNCAyNTUgMjU1CQlMaWdodEN5YW4KIDk1IDE1OCAxNjAJCWNhZGV0IGJsdWUKIDk1IDE1OCAxNjAJCUNhZGV0Qmx1ZQoxMDIgMjA1IDE3MAkJbWVkaXVtIGFxdWFtYXJpbmUKMTAyIDIwNSAxNzAJCU1lZGl1bUFxdWFtYXJpbmUKMTI3IDI1NSAyMTIJCWFxdWFtYXJpbmUKICAwIDEwMCAgIDAJCWRhcmsgZ3JlZW4KICAwIDEwMCAgIDAJCURhcmtHcmVlbgogODUgMTA3ICA0NwkJZGFyayBvbGl2ZSBncmVlbgogODUgMTA3ICA0NwkJRGFya09saXZlR3JlZW4KMTQzIDE4OCAxNDMJCWRhcmsgc2VhIGdyZWVuCjE0MyAxODggMTQzCQlEYXJrU2VhR3JlZW4KIDQ2IDEzOSAgODcJCXNlYSBncmVlbgogNDYgMTM5ICA4NwkJU2VhR3JlZW4KIDYwIDE3OSAxMTMJCW1lZGl1bSBzZWEgZ3JlZW4KIDYwIDE3OSAxMTMJCU1lZGl1bVNlYUdyZWVuCiAzMiAxNzggMTcwCQlsaWdodCBzZWEgZ3JlZW4KIDMyIDE3OCAxNzAJCUxpZ2h0U2VhR3JlZW4KMTUyIDI1MSAxNTIJCXBhbGUgZ3JlZW4KMTUyIDI1MSAxNTIJCVBhbGVHcmVlbgogIDAgMjU1IDEyNwkJc3ByaW5nIGdyZWVuCiAgMCAyNTUgMTI3CQlTcHJpbmdHcmVlbgoxMjQgMjUyICAgMAkJbGF3biBncmVlbgoxMjQgMjUyICAgMAkJTGF3bkdyZWVuCiAgMCAyNTUgICAwCQlncmVlbgogIDAgMjU1ICAgMAkJbGltZQogIDAgMjU1ICAgMAkJeDExIGdyZWVuCiAgMCAyNTUgICAwCQlYMTFHcmVlbgogIDAgMTI4ICAgMAkJd2ViIGdyZWVuCiAgMCAxMjggICAwCQlXZWJHcmVlbgoxMjcgMjU1ICAgMAkJY2hhcnRyZXVzZQogIDAgMjUwIDE1NAkJbWVkaXVtIHNwcmluZyBncmVlbgogIDAgMjUwIDE1NAkJTWVkaXVtU3ByaW5nR3JlZW4KMTczIDI1NSAgNDcJCWdyZWVuIHllbGxvdwoxNzMgMjU1ICA0NwkJR3JlZW5ZZWxsb3cKIDUwIDIwNSAgNTAJCWxpbWUgZ3JlZW4KIDUwIDIwNSAgNTAJCUxpbWVHcmVlbgoxNTQgMjA1ICA1MAkJeWVsbG93IGdyZWVuCjE1NCAyMDUgIDUwCQlZZWxsb3dHcmVlbgogMzQgMTM5ICAzNAkJZm9yZXN0IGdyZWVuCiAzNCAxMzkgIDM0CQlGb3Jlc3RHcmVlbgoxMDcgMTQyICAzNQkJb2xpdmUgZHJhYgoxMDcgMTQyICAzNQkJT2xpdmVEcmFiCjE4OSAxODMgMTA3CQlkYXJrIGtoYWtpCjE4OSAxODMgMTA3CQlEYXJrS2hha2kKMjQwIDIzMCAxNDAJCWtoYWtpCjIzOCAyMzIgMTcwCQlwYWxlIGdvbGRlbnJvZAoyMzggMjMyIDE3MAkJUGFsZUdvbGRlbnJvZAoyNTAgMjUwIDIxMAkJbGlnaHQgZ29sZGVucm9kIHllbGxvdwoyNTAgMjUwIDIxMAkJTGlnaHRHb2xkZW5yb2RZZWxsb3cKMjU1IDI1NSAyMjQJCWxpZ2h0IHllbGxvdwoyNTUgMjU1IDIyNAkJTGlnaHRZZWxsb3cKMjU1IDI1NSAgIDAJCXllbGxvdwoyNTUgMjE1ICAgMAkJZ29sZAoyMzggMjIxIDEzMAkJbGlnaHQgZ29sZGVucm9kCjIzOCAyMjEgMTMwCQlMaWdodEdvbGRlbnJvZAoyMTggMTY1ICAzMgkJZ29sZGVucm9kCjE4NCAxMzQgIDExCQlkYXJrIGdvbGRlbnJvZAoxODQgMTM0ICAxMQkJRGFya0dvbGRlbnJvZAoxODggMTQzIDE0MwkJcm9zeSBicm93bgoxODggMTQzIDE0MwkJUm9zeUJyb3duCjIwNSAgOTIgIDkyCQlpbmRpYW4gcmVkCjIwNSAgOTIgIDkyCQlJbmRpYW5SZWQKMTM5ICA2OSAgMTkJCXNhZGRsZSBicm93bgoxMzkgIDY5ICAxOQkJU2FkZGxlQnJvd24KMTYwICA4MiAgNDUJCXNpZW5uYQoyMDUgMTMzICA2MwkJcGVydQoyMjIgMTg0IDEzNQkJYnVybHl3b29kCjI0NSAyNDUgMjIwCQliZWlnZQoyNDUgMjIyIDE3OQkJd2hlYXQKMjQ0IDE2NCAgOTYJCXNhbmR5IGJyb3duCjI0NCAxNjQgIDk2CQlTYW5keUJyb3duCjIxMCAxODAgMTQwCQl0YW4KMjEwIDEwNSAgMzAJCWNob2NvbGF0ZQoxNzggIDM0ICAzNAkJZmlyZWJyaWNrCjE2NSAgNDIgIDQyCQlicm93bgoyMzMgMTUwIDEyMgkJZGFyayBzYWxtb24KMjMzIDE1MCAxMjIJCURhcmtTYWxtb24KMjUwIDEyOCAxMTQJCXNhbG1vbgoyNTUgMTYwIDEyMgkJbGlnaHQgc2FsbW9uCjI1NSAxNjAgMTIyCQlMaWdodFNhbG1vbgoyNTUgMTY1ICAgMAkJb3JhbmdlCjI1NSAxNDAgICAwCQlkYXJrIG9yYW5nZQoyNTUgMTQwICAgMAkJRGFya09yYW5nZQoyNTUgMTI3ICA4MAkJY29yYWwKMjQwIDEyOCAxMjgJCWxpZ2h0IGNvcmFsCjI0MCAxMjggMTI4CQlMaWdodENvcmFsCjI1NSAgOTkgIDcxCQl0b21hdG8KMjU1ICA2OSAgIDAJCW9yYW5nZSByZWQKMjU1ICA2OSAgIDAJCU9yYW5nZVJlZAoyNTUgICAwICAgMAkJcmVkCjI1NSAxMDUgMTgwCQlob3QgcGluawoyNTUgMTA1IDE4MAkJSG90UGluawoyNTUgIDIwIDE0NwkJZGVlcCBwaW5rCjI1NSAgMjAgMTQ3CQlEZWVwUGluawoyNTUgMTkyIDIwMwkJcGluawoyNTUgMTgyIDE5MwkJbGlnaHQgcGluawoyNTUgMTgyIDE5MwkJTGlnaHRQaW5rCjIxOSAxMTIgMTQ3CQlwYWxlIHZpb2xldCByZWQKMjE5IDExMiAxNDcJCVBhbGVWaW9sZXRSZWQKMTc2ICA0OCAgOTYJCW1hcm9vbgoxNzYgIDQ4ICA5NgkJeDExIG1hcm9vbgoxNzYgIDQ4ICA5NgkJWDExTWFyb29uCjEyOCAgIDAgICAwCQl3ZWIgbWFyb29uCjEyOCAgIDAgICAwCQlXZWJNYXJvb24KMTk5ICAyMSAxMzMJCW1lZGl1bSB2aW9sZXQgcmVkCjE5OSAgMjEgMTMzCQlNZWRpdW1WaW9sZXRSZWQKMjA4ICAzMiAxNDQJCXZpb2xldCByZWQKMjA4ICAzMiAxNDQJCVZpb2xldFJlZAoyNTUgICAwIDI1NQkJbWFnZW50YQoyNTUgICAwIDI1NQkJZnVjaHNpYQoyMzggMTMwIDIzOAkJdmlvbGV0CjIyMSAxNjAgMjIxCQlwbHVtCjIxOCAxMTIgMjE0CQlvcmNoaWQKMTg2ICA4NSAyMTEJCW1lZGl1bSBvcmNoaWQKMTg2ICA4NSAyMTEJCU1lZGl1bU9yY2hpZAoxNTMgIDUwIDIwNAkJZGFyayBvcmNoaWQKMTUzICA1MCAyMDQJCURhcmtPcmNoaWQKMTQ4ICAgMCAyMTEJCWRhcmsgdmlvbGV0CjE0OCAgIDAgMjExCQlEYXJrVmlvbGV0CjEzOCAgNDMgMjI2CQlibHVlIHZpb2xldAoxMzggIDQzIDIyNgkJQmx1ZVZpb2xldAoxNjAgIDMyIDI0MAkJcHVycGxlCjE2MCAgMzIgMjQwCQl4MTEgcHVycGxlCjE2MCAgMzIgMjQwCQlYMTFQdXJwbGUKMTI4ICAgMCAxMjgJCXdlYiBwdXJwbGUKMTI4ICAgMCAxMjgJCVdlYlB1cnBsZQoxNDcgMTEyIDIxOQkJbWVkaXVtIHB1cnBsZQoxNDcgMTEyIDIxOQkJTWVkaXVtUHVycGxlCjIxNiAxOTEgMjE2CQl0aGlzdGxlCjI1NSAyNTAgMjUwCQlzbm93MQoyMzggMjMzIDIzMwkJc25vdzIKMjA1IDIwMSAyMDEJCXNub3czCjEzOSAxMzcgMTM3CQlzbm93NAoyNTUgMjQ1IDIzOAkJc2Vhc2hlbGwxCjIzOCAyMjkgMjIyCQlzZWFzaGVsbDIKMjA1IDE5NyAxOTEJCXNlYXNoZWxsMwoxMzkgMTM0IDEzMAkJc2Vhc2hlbGw0CjI1NSAyMzkgMjE5CQlBbnRpcXVlV2hpdGUxCjIzOCAyMjMgMjA0CQlBbnRpcXVlV2hpdGUyCjIwNSAxOTIgMTc2CQlBbnRpcXVlV2hpdGUzCjEzOSAxMzEgMTIwCQlBbnRpcXVlV2hpdGU0CjI1NSAyMjggMTk2CQliaXNxdWUxCjIzOCAyMTMgMTgzCQliaXNxdWUyCjIwNSAxODMgMTU4CQliaXNxdWUzCjEzOSAxMjUgMTA3CQliaXNxdWU0CjI1NSAyMTggMTg1CQlQZWFjaFB1ZmYxCjIzOCAyMDMgMTczCQlQZWFjaFB1ZmYyCjIwNSAxNzUgMTQ5CQlQZWFjaFB1ZmYzCjEzOSAxMTkgMTAxCQlQZWFjaFB1ZmY0CjI1NSAyMjIgMTczCQlOYXZham9XaGl0ZTEKMjM4IDIwNyAxNjEJCU5hdmFqb1doaXRlMgoyMDUgMTc5IDEzOQkJTmF2YWpvV2hpdGUzCjEzOSAxMjEgIDk0CQlOYXZham9XaGl0ZTQKMjU1IDI1MCAyMDUJCUxlbW9uQ2hpZmZvbjEKMjM4IDIzMyAxOTEJCUxlbW9uQ2hpZmZvbjIKMjA1IDIwMSAxNjUJCUxlbW9uQ2hpZmZvbjMKMTM5IDEzNyAxMTIJCUxlbW9uQ2hpZmZvbjQKMjU1IDI0OCAyMjAJCWNvcm5zaWxrMQoyMzggMjMyIDIwNQkJY29ybnNpbGsyCjIwNSAyMDAgMTc3CQljb3Juc2lsazMKMTM5IDEzNiAxMjAJCWNvcm5zaWxrNAoyNTUgMjU1IDI0MAkJaXZvcnkxCjIzOCAyMzggMjI0CQlpdm9yeTIKMjA1IDIwNSAxOTMJCWl2b3J5MwoxMzkgMTM5IDEzMQkJaXZvcnk0CjI0MCAyNTUgMjQwCQlob25leWRldzEKMjI0IDIzOCAyMjQJCWhvbmV5ZGV3MgoxOTMgMjA1IDE5MwkJaG9uZXlkZXczCjEzMSAxMzkgMTMxCQlob25leWRldzQKMjU1IDI0MCAyNDUJCUxhdmVuZGVyQmx1c2gxCjIzOCAyMjQgMjI5CQlMYXZlbmRlckJsdXNoMgoyMDUgMTkzIDE5NwkJTGF2ZW5kZXJCbHVzaDMKMTM5IDEzMSAxMzQJCUxhdmVuZGVyQmx1c2g0CjI1NSAyMjggMjI1CQlNaXN0eVJvc2UxCjIzOCAyMTMgMjEwCQlNaXN0eVJvc2UyCjIwNSAxODMgMTgxCQlNaXN0eVJvc2UzCjEzOSAxMjUgMTIzCQlNaXN0eVJvc2U0CjI0MCAyNTUgMjU1CQlhenVyZTEKMjI0IDIzOCAyMzgJCWF6dXJlMgoxOTMgMjA1IDIwNQkJYXp1cmUzCjEzMSAxMzkgMTM5CQlhenVyZTQKMTMxIDExMSAyNTUJCVNsYXRlQmx1ZTEKMTIyIDEwMyAyMzgJCVNsYXRlQmx1ZTIKMTA1ICA4OSAyMDUJCVNsYXRlQmx1ZTMKIDcxICA2MCAxMzkJCVNsYXRlQmx1ZTQKIDcyIDExOCAyNTUJCVJveWFsQmx1ZTEKIDY3IDExMCAyMzgJCVJveWFsQmx1ZTIKIDU4ICA5NSAyMDUJCVJveWFsQmx1ZTMKIDM5ICA2NCAxMzkJCVJveWFsQmx1ZTQKICAwICAgMCAyNTUJCWJsdWUxCiAgMCAgIDAgMjM4CQlibHVlMgogIDAgICAwIDIwNQkJYmx1ZTMKICAwICAgMCAxMzkJCWJsdWU0CiAzMCAxNDQgMjU1CQlEb2RnZXJCbHVlMQogMjggMTM0IDIzOAkJRG9kZ2VyQmx1ZTIKIDI0IDExNiAyMDUJCURvZGdlckJsdWUzCiAxNiAgNzggMTM5CQlEb2RnZXJCbHVlNAogOTkgMTg0IDI1NQkJU3RlZWxCbHVlMQogOTIgMTcyIDIzOAkJU3RlZWxCbHVlMgogNzkgMTQ4IDIwNQkJU3RlZWxCbHVlMwogNTQgMTAwIDEzOQkJU3RlZWxCbHVlNAogIDAgMTkxIDI1NQkJRGVlcFNreUJsdWUxCiAgMCAxNzggMjM4CQlEZWVwU2t5Qmx1ZTIKICAwIDE1NCAyMDUJCURlZXBTa3lCbHVlMwogIDAgMTA0IDEzOQkJRGVlcFNreUJsdWU0CjEzNSAyMDYgMjU1CQlTa3lCbHVlMQoxMjYgMTkyIDIzOAkJU2t5Qmx1ZTIKMTA4IDE2NiAyMDUJCVNreUJsdWUzCiA3NCAxMTIgMTM5CQlTa3lCbHVlNAoxNzYgMjI2IDI1NQkJTGlnaHRTa3lCbHVlMQoxNjQgMjExIDIzOAkJTGlnaHRTa3lCbHVlMgoxNDEgMTgyIDIwNQkJTGlnaHRTa3lCbHVlMwogOTYgMTIzIDEzOQkJTGlnaHRTa3lCbHVlNAoxOTggMjI2IDI1NQkJU2xhdGVHcmF5MQoxODUgMjExIDIzOAkJU2xhdGVHcmF5MgoxNTkgMTgyIDIwNQkJU2xhdGVHcmF5MwoxMDggMTIzIDEzOQkJU2xhdGVHcmF5NAoyMDIgMjI1IDI1NQkJTGlnaHRTdGVlbEJsdWUxCjE4OCAyMTAgMjM4CQlMaWdodFN0ZWVsQmx1ZTIKMTYyIDE4MSAyMDUJCUxpZ2h0U3RlZWxCbHVlMwoxMTAgMTIzIDEzOQkJTGlnaHRTdGVlbEJsdWU0CjE5MSAyMzkgMjU1CQlMaWdodEJsdWUxCjE3OCAyMjMgMjM4CQlMaWdodEJsdWUyCjE1NCAxOTIgMjA1CQlMaWdodEJsdWUzCjEwNCAxMzEgMTM5CQlMaWdodEJsdWU0CjIyNCAyNTUgMjU1CQlMaWdodEN5YW4xCjIwOSAyMzggMjM4CQlMaWdodEN5YW4yCjE4MCAyMDUgMjA1CQlMaWdodEN5YW4zCjEyMiAxMzkgMTM5CQlMaWdodEN5YW40CjE4NyAyNTUgMjU1CQlQYWxlVHVycXVvaXNlMQoxNzQgMjM4IDIzOAkJUGFsZVR1cnF1b2lzZTIKMTUwIDIwNSAyMDUJCVBhbGVUdXJxdW9pc2UzCjEwMiAxMzkgMTM5CQlQYWxlVHVycXVvaXNlNAoxNTIgMjQ1IDI1NQkJQ2FkZXRCbHVlMQoxNDIgMjI5IDIzOAkJQ2FkZXRCbHVlMgoxMjIgMTk3IDIwNQkJQ2FkZXRCbHVlMwogODMgMTM0IDEzOQkJQ2FkZXRCbHVlNAogIDAgMjQ1IDI1NQkJdHVycXVvaXNlMQogIDAgMjI5IDIzOAkJdHVycXVvaXNlMgogIDAgMTk3IDIwNQkJdHVycXVvaXNlMwogIDAgMTM0IDEzOQkJdHVycXVvaXNlNAogIDAgMjU1IDI1NQkJY3lhbjEKICAwIDIzOCAyMzgJCWN5YW4yCiAgMCAyMDUgMjA1CQljeWFuMwogIDAgMTM5IDEzOQkJY3lhbjQKMTUxIDI1NSAyNTUJCURhcmtTbGF0ZUdyYXkxCjE0MSAyMzggMjM4CQlEYXJrU2xhdGVHcmF5MgoxMjEgMjA1IDIwNQkJRGFya1NsYXRlR3JheTMKIDgyIDEzOSAxMzkJCURhcmtTbGF0ZUdyYXk0CjEyNyAyNTUgMjEyCQlhcXVhbWFyaW5lMQoxMTggMjM4IDE5OAkJYXF1YW1hcmluZTIKMTAyIDIwNSAxNzAJCWFxdWFtYXJpbmUzCiA2OSAxMzkgMTE2CQlhcXVhbWFyaW5lNAoxOTMgMjU1IDE5MwkJRGFya1NlYUdyZWVuMQoxODAgMjM4IDE4MAkJRGFya1NlYUdyZWVuMgoxNTUgMjA1IDE1NQkJRGFya1NlYUdyZWVuMwoxMDUgMTM5IDEwNQkJRGFya1NlYUdyZWVuNAogODQgMjU1IDE1OQkJU2VhR3JlZW4xCiA3OCAyMzggMTQ4CQlTZWFHcmVlbjIKIDY3IDIwNSAxMjgJCVNlYUdyZWVuMwogNDYgMTM5ICA4NwkJU2VhR3JlZW40CjE1NCAyNTUgMTU0CQlQYWxlR3JlZW4xCjE0NCAyMzggMTQ0CQlQYWxlR3JlZW4yCjEyNCAyMDUgMTI0CQlQYWxlR3JlZW4zCiA4NCAxMzkgIDg0CQlQYWxlR3JlZW40CiAgMCAyNTUgMTI3CQlTcHJpbmdHcmVlbjEKICAwIDIzOCAxMTgJCVNwcmluZ0dyZWVuMgogIDAgMjA1IDEwMgkJU3ByaW5nR3JlZW4zCiAgMCAxMzkgIDY5CQlTcHJpbmdHcmVlbjQKICAwIDI1NSAgIDAJCWdyZWVuMQogIDAgMjM4ICAgMAkJZ3JlZW4yCiAgMCAyMDUgICAwCQlncmVlbjMKICAwIDEzOSAgIDAJCWdyZWVuNAoxMjcgMjU1ICAgMAkJY2hhcnRyZXVzZTEKMTE4IDIzOCAgIDAJCWNoYXJ0cmV1c2UyCjEwMiAyMDUgICAwCQljaGFydHJldXNlMwogNjkgMTM5ICAgMAkJY2hhcnRyZXVzZTQKMTkyIDI1NSAgNjIJCU9saXZlRHJhYjEKMTc5IDIzOCAgNTgJCU9saXZlRHJhYjIKMTU0IDIwNSAgNTAJCU9saXZlRHJhYjMKMTA1IDEzOSAgMzQJCU9saXZlRHJhYjQKMjAyIDI1NSAxMTIJCURhcmtPbGl2ZUdyZWVuMQoxODggMjM4IDEwNAkJRGFya09saXZlR3JlZW4yCjE2MiAyMDUgIDkwCQlEYXJrT2xpdmVHcmVlbjMKMTEwIDEzOSAgNjEJCURhcmtPbGl2ZUdyZWVuNAoyNTUgMjQ2IDE0MwkJa2hha2kxCjIzOCAyMzAgMTMzCQlraGFraTIKMjA1IDE5OCAxMTUJCWtoYWtpMwoxMzkgMTM0ICA3OAkJa2hha2k0CjI1NSAyMzYgMTM5CQlMaWdodEdvbGRlbnJvZDEKMjM4IDIyMCAxMzAJCUxpZ2h0R29sZGVucm9kMgoyMDUgMTkwIDExMgkJTGlnaHRHb2xkZW5yb2QzCjEzOSAxMjkgIDc2CQlMaWdodEdvbGRlbnJvZDQKMjU1IDI1NSAyMjQJCUxpZ2h0WWVsbG93MQoyMzggMjM4IDIwOQkJTGlnaHRZZWxsb3cyCjIwNSAyMDUgMTgwCQlMaWdodFllbGxvdzMKMTM5IDEzOSAxMjIJCUxpZ2h0WWVsbG93NAoyNTUgMjU1ICAgMAkJeWVsbG93MQoyMzggMjM4ICAgMAkJeWVsbG93MgoyMDUgMjA1ICAgMAkJeWVsbG93MwoxMzkgMTM5ICAgMAkJeWVsbG93NAoyNTUgMjE1ICAgMAkJZ29sZDEKMjM4IDIwMSAgIDAJCWdvbGQyCjIwNSAxNzMgICAwCQlnb2xkMwoxMzkgMTE3ICAgMAkJZ29sZDQKMjU1IDE5MyAgMzcJCWdvbGRlbnJvZDEKMjM4IDE4MCAgMzQJCWdvbGRlbnJvZDIKMjA1IDE1NSAgMjkJCWdvbGRlbnJvZDMKMTM5IDEwNSAgMjAJCWdvbGRlbnJvZDQKMjU1IDE4NSAgMTUJCURhcmtHb2xkZW5yb2QxCjIzOCAxNzMgIDE0CQlEYXJrR29sZGVucm9kMgoyMDUgMTQ5ICAxMgkJRGFya0dvbGRlbnJvZDMKMTM5IDEwMSAgIDgJCURhcmtHb2xkZW5yb2Q0CjI1NSAxOTMgMTkzCQlSb3N5QnJvd24xCjIzOCAxODAgMTgwCQlSb3N5QnJvd24yCjIwNSAxNTUgMTU1CQlSb3N5QnJvd24zCjEzOSAxMDUgMTA1CQlSb3N5QnJvd240CjI1NSAxMDYgMTA2CQlJbmRpYW5SZWQxCjIzOCAgOTkgIDk5CQlJbmRpYW5SZWQyCjIwNSAgODUgIDg1CQlJbmRpYW5SZWQzCjEzOSAgNTggIDU4CQlJbmRpYW5SZWQ0CjI1NSAxMzAgIDcxCQlzaWVubmExCjIzOCAxMjEgIDY2CQlzaWVubmEyCjIwNSAxMDQgIDU3CQlzaWVubmEzCjEzOSAgNzEgIDM4CQlzaWVubmE0CjI1NSAyMTEgMTU1CQlidXJseXdvb2QxCjIzOCAxOTcgMTQ1CQlidXJseXdvb2QyCjIwNSAxNzAgMTI1CQlidXJseXdvb2QzCjEzOSAxMTUgIDg1CQlidXJseXdvb2Q0CjI1NSAyMzEgMTg2CQl3aGVhdDEKMjM4IDIxNiAxNzQJCXdoZWF0MgoyMDUgMTg2IDE1MAkJd2hlYXQzCjEzOSAxMjYgMTAyCQl3aGVhdDQKMjU1IDE2NSAgNzkJCXRhbjEKMjM4IDE1NCAgNzMJCXRhbjIKMjA1IDEzMyAgNjMJCXRhbjMKMTM5ICA5MCAgNDMJCXRhbjQKMjU1IDEyNyAgMzYJCWNob2NvbGF0ZTEKMjM4IDExOCAgMzMJCWNob2NvbGF0ZTIKMjA1IDEwMiAgMjkJCWNob2NvbGF0ZTMKMTM5ICA2OSAgMTkJCWNob2NvbGF0ZTQKMjU1ICA0OCAgNDgJCWZpcmVicmljazEKMjM4ICA0NCAgNDQJCWZpcmVicmljazIKMjA1ICAzOCAgMzgJCWZpcmVicmljazMKMTM5ICAyNiAgMjYJCWZpcmVicmljazQKMjU1ICA2NCAgNjQJCWJyb3duMQoyMzggIDU5ICA1OQkJYnJvd24yCjIwNSAgNTEgIDUxCQlicm93bjMKMTM5ICAzNSAgMzUJCWJyb3duNAoyNTUgMTQwIDEwNQkJc2FsbW9uMQoyMzggMTMwICA5OAkJc2FsbW9uMgoyMDUgMTEyICA4NAkJc2FsbW9uMwoxMzkgIDc2ICA1NwkJc2FsbW9uNAoyNTUgMTYwIDEyMgkJTGlnaHRTYWxtb24xCjIzOCAxNDkgMTE0CQlMaWdodFNhbG1vbjIKMjA1IDEyOSAgOTgJCUxpZ2h0U2FsbW9uMwoxMzkgIDg3ICA2NgkJTGlnaHRTYWxtb240CjI1NSAxNjUgICAwCQlvcmFuZ2UxCjIzOCAxNTQgICAwCQlvcmFuZ2UyCjIwNSAxMzMgICAwCQlvcmFuZ2UzCjEzOSAgOTAgICAwCQlvcmFuZ2U0CjI1NSAxMjcgICAwCQlEYXJrT3JhbmdlMQoyMzggMTE4ICAgMAkJRGFya09yYW5nZTIKMjA1IDEwMiAgIDAJCURhcmtPcmFuZ2UzCjEzOSAgNjkgICAwCQlEYXJrT3JhbmdlNAoyNTUgMTE0ICA4NgkJY29yYWwxCjIzOCAxMDYgIDgwCQljb3JhbDIKMjA1ICA5MSAgNjkJCWNvcmFsMwoxMzkgIDYyICA0NwkJY29yYWw0CjI1NSAgOTkgIDcxCQl0b21hdG8xCjIzOCAgOTIgIDY2CQl0b21hdG8yCjIwNSAgNzkgIDU3CQl0b21hdG8zCjEzOSAgNTQgIDM4CQl0b21hdG80CjI1NSAgNjkgICAwCQlPcmFuZ2VSZWQxCjIzOCAgNjQgICAwCQlPcmFuZ2VSZWQyCjIwNSAgNTUgICAwCQlPcmFuZ2VSZWQzCjEzOSAgMzcgICAwCQlPcmFuZ2VSZWQ0CjI1NSAgIDAgICAwCQlyZWQxCjIzOCAgIDAgICAwCQlyZWQyCjIwNSAgIDAgICAwCQlyZWQzCjEzOSAgIDAgICAwCQlyZWQ0CjI1NSAgMjAgMTQ3CQlEZWVwUGluazEKMjM4ICAxOCAxMzcJCURlZXBQaW5rMgoyMDUgIDE2IDExOAkJRGVlcFBpbmszCjEzOSAgMTAgIDgwCQlEZWVwUGluazQKMjU1IDExMCAxODAJCUhvdFBpbmsxCjIzOCAxMDYgMTY3CQlIb3RQaW5rMgoyMDUgIDk2IDE0NAkJSG90UGluazMKMTM5ICA1OCAgOTgJCUhvdFBpbms0CjI1NSAxODEgMTk3CQlwaW5rMQoyMzggMTY5IDE4NAkJcGluazIKMjA1IDE0NSAxNTgJCXBpbmszCjEzOSAgOTkgMTA4CQlwaW5rNAoyNTUgMTc0IDE4NQkJTGlnaHRQaW5rMQoyMzggMTYyIDE3MwkJTGlnaHRQaW5rMgoyMDUgMTQwIDE0OQkJTGlnaHRQaW5rMwoxMzkgIDk1IDEwMQkJTGlnaHRQaW5rNAoyNTUgMTMwIDE3MQkJUGFsZVZpb2xldFJlZDEKMjM4IDEyMSAxNTkJCVBhbGVWaW9sZXRSZWQyCjIwNSAxMDQgMTM3CQlQYWxlVmlvbGV0UmVkMwoxMzkgIDcxICA5MwkJUGFsZVZpb2xldFJlZDQKMjU1ICA1MiAxNzkJCW1hcm9vbjEKMjM4ICA0OCAxNjcJCW1hcm9vbjIKMjA1ICA0MSAxNDQJCW1hcm9vbjMKMTM5ICAyOCAgOTgJCW1hcm9vbjQKMjU1ICA2MiAxNTAJCVZpb2xldFJlZDEKMjM4ICA1OCAxNDAJCVZpb2xldFJlZDIKMjA1ICA1MCAxMjAJCVZpb2xldFJlZDMKMTM5ICAzNCAgODIJCVZpb2xldFJlZDQKMjU1ICAgMCAyNTUJCW1hZ2VudGExCjIzOCAgIDAgMjM4CQltYWdlbnRhMgoyMDUgICAwIDIwNQkJbWFnZW50YTMKMTM5ICAgMCAxMzkJCW1hZ2VudGE0CjI1NSAxMzEgMjUwCQlvcmNoaWQxCjIzOCAxMjIgMjMzCQlvcmNoaWQyCjIwNSAxMDUgMjAxCQlvcmNoaWQzCjEzOSAgNzEgMTM3CQlvcmNoaWQ0CjI1NSAxODcgMjU1CQlwbHVtMQoyMzggMTc0IDIzOAkJcGx1bTIKMjA1IDE1MCAyMDUJCXBsdW0zCjEzOSAxMDIgMTM5CQlwbHVtNAoyMjQgMTAyIDI1NQkJTWVkaXVtT3JjaGlkMQoyMDkgIDk1IDIzOAkJTWVkaXVtT3JjaGlkMgoxODAgIDgyIDIwNQkJTWVkaXVtT3JjaGlkMwoxMjIgIDU1IDEzOQkJTWVkaXVtT3JjaGlkNAoxOTEgIDYyIDI1NQkJRGFya09yY2hpZDEKMTc4ICA1OCAyMzgJCURhcmtPcmNoaWQyCjE1NCAgNTAgMjA1CQlEYXJrT3JjaGlkMwoxMDQgIDM0IDEzOQkJRGFya09yY2hpZDQKMTU1ICA0OCAyNTUJCXB1cnBsZTEKMTQ1ICA0NCAyMzgJCXB1cnBsZTIKMTI1ICAzOCAyMDUJCXB1cnBsZTMKIDg1ICAyNiAxMzkJCXB1cnBsZTQKMTcxIDEzMCAyNTUJCU1lZGl1bVB1cnBsZTEKMTU5IDEyMSAyMzgJCU1lZGl1bVB1cnBsZTIKMTM3IDEwNCAyMDUJCU1lZGl1bVB1cnBsZTMKIDkzICA3MSAxMzkJCU1lZGl1bVB1cnBsZTQKMjU1IDIyNSAyNTUJCXRoaXN0bGUxCjIzOCAyMTAgMjM4CQl0aGlzdGxlMgoyMDUgMTgxIDIwNQkJdGhpc3RsZTMKMTM5IDEyMyAxMzkJCXRoaXN0bGU0CiAgMCAgIDAgICAwCQlncmF5MAogIDAgICAwICAgMAkJZ3JleTAKICAzICAgMyAgIDMJCWdyYXkxCiAgMyAgIDMgICAzCQlncmV5MQogIDUgICA1ICAgNQkJZ3JheTIKICA1ICAgNSAgIDUJCWdyZXkyCiAgOCAgIDggICA4CQlncmF5MwogIDggICA4ICAgOAkJZ3JleTMKIDEwICAxMCAgMTAJCWdyYXk0CiAxMCAgMTAgIDEwCQlncmV5NAogMTMgIDEzICAxMwkJZ3JheTUKIDEzICAxMyAgMTMJCWdyZXk1CiAxNSAgMTUgIDE1CQlncmF5NgogMTUgIDE1ICAxNQkJZ3JleTYKIDE4ICAxOCAgMTgJCWdyYXk3CiAxOCAgMTggIDE4CQlncmV5NwogMjAgIDIwICAyMAkJZ3JheTgKIDIwICAyMCAgMjAJCWdyZXk4CiAyMyAgMjMgIDIzCQlncmF5OQogMjMgIDIzICAyMwkJZ3JleTkKIDI2ICAyNiAgMjYJCWdyYXkxMAogMjYgIDI2ICAyNgkJZ3JleTEwCiAyOCAgMjggIDI4CQlncmF5MTEKIDI4ICAyOCAgMjgJCWdyZXkxMQogMzEgIDMxICAzMQkJZ3JheTEyCiAzMSAgMzEgIDMxCQlncmV5MTIKIDMzICAzMyAgMzMJCWdyYXkxMwogMzMgIDMzICAzMwkJZ3JleTEzCiAzNiAgMzYgIDM2CQlncmF5MTQKIDM2ICAzNiAgMzYJCWdyZXkxNAogMzggIDM4ICAzOAkJZ3JheTE1CiAzOCAgMzggIDM4CQlncmV5MTUKIDQxICA0MSAgNDEJCWdyYXkxNgogNDEgIDQxICA0MQkJZ3JleTE2CiA0MyAgNDMgIDQzCQlncmF5MTcKIDQzICA0MyAgNDMJCWdyZXkxNwogNDYgIDQ2ICA0NgkJZ3JheTE4CiA0NiAgNDYgIDQ2CQlncmV5MTgKIDQ4ICA0OCAgNDgJCWdyYXkxOQogNDggIDQ4ICA0OAkJZ3JleTE5CiA1MSAgNTEgIDUxCQlncmF5MjAKIDUxICA1MSAgNTEJCWdyZXkyMAogNTQgIDU0ICA1NAkJZ3JheTIxCiA1NCAgNTQgIDU0CQlncmV5MjEKIDU2ICA1NiAgNTYJCWdyYXkyMgogNTYgIDU2ICA1NgkJZ3JleTIyCiA1OSAgNTkgIDU5CQlncmF5MjMKIDU5ICA1OSAgNTkJCWdyZXkyMwogNjEgIDYxICA2MQkJZ3JheTI0CiA2MSAgNjEgIDYxCQlncmV5MjQKIDY0ICA2NCAgNjQJCWdyYXkyNQogNjQgIDY0ICA2NAkJZ3JleTI1CiA2NiAgNjYgIDY2CQlncmF5MjYKIDY2ICA2NiAgNjYJCWdyZXkyNgogNjkgIDY5ICA2OQkJZ3JheTI3CiA2OSAgNjkgIDY5CQlncmV5MjcKIDcxICA3MSAgNzEJCWdyYXkyOAogNzEgIDcxICA3MQkJZ3JleTI4CiA3NCAgNzQgIDc0CQlncmF5MjkKIDc0ICA3NCAgNzQJCWdyZXkyOQogNzcgIDc3ICA3NwkJZ3JheTMwCiA3NyAgNzcgIDc3CQlncmV5MzAKIDc5ICA3OSAgNzkJCWdyYXkzMQogNzkgIDc5ICA3OQkJZ3JleTMxCiA4MiAgODIgIDgyCQlncmF5MzIKIDgyICA4MiAgODIJCWdyZXkzMgogODQgIDg0ICA4NAkJZ3JheTMzCiA4NCAgODQgIDg0CQlncmV5MzMKIDg3ICA4NyAgODcJCWdyYXkzNAogODcgIDg3ICA4NwkJZ3JleTM0CiA4OSAgODkgIDg5CQlncmF5MzUKIDg5ICA4OSAgODkJCWdyZXkzNQogOTIgIDkyICA5MgkJZ3JheTM2CiA5MiAgOTIgIDkyCQlncmV5MzYKIDk0ICA5NCAgOTQJCWdyYXkzNwogOTQgIDk0ICA5NAkJZ3JleTM3CiA5NyAgOTcgIDk3CQlncmF5MzgKIDk3ICA5NyAgOTcJCWdyZXkzOAogOTkgIDk5ICA5OQkJZ3JheTM5CiA5OSAgOTkgIDk5CQlncmV5MzkKMTAyIDEwMiAxMDIJCWdyYXk0MAoxMDIgMTAyIDEwMgkJZ3JleTQwCjEwNSAxMDUgMTA1CQlncmF5NDEKMTA1IDEwNSAxMDUJCWdyZXk0MQoxMDcgMTA3IDEwNwkJZ3JheTQyCjEwNyAxMDcgMTA3CQlncmV5NDIKMTEwIDExMCAxMTAJCWdyYXk0MwoxMTAgMTEwIDExMAkJZ3JleTQzCjExMiAxMTIgMTEyCQlncmF5NDQKMTEyIDExMiAxMTIJCWdyZXk0NAoxMTUgMTE1IDExNQkJZ3JheTQ1CjExNSAxMTUgMTE1CQlncmV5NDUKMTE3IDExNyAxMTcJCWdyYXk0NgoxMTcgMTE3IDExNwkJZ3JleTQ2CjEyMCAxMjAgMTIwCQlncmF5NDcKMTIwIDEyMCAxMjAJCWdyZXk0NwoxMjIgMTIyIDEyMgkJZ3JheTQ4CjEyMiAxMjIgMTIyCQlncmV5NDgKMTI1IDEyNSAxMjUJCWdyYXk0OQoxMjUgMTI1IDEyNQkJZ3JleTQ5CjEyNyAxMjcgMTI3CQlncmF5NTAKMTI3IDEyNyAxMjcJCWdyZXk1MAoxMzAgMTMwIDEzMAkJZ3JheTUxCjEzMCAxMzAgMTMwCQlncmV5NTEKMTMzIDEzMyAxMzMJCWdyYXk1MgoxMzMgMTMzIDEzMwkJZ3JleTUyCjEzNSAxMzUgMTM1CQlncmF5NTMKMTM1IDEzNSAxMzUJCWdyZXk1MwoxMzggMTM4IDEzOAkJZ3JheTU0CjEzOCAxMzggMTM4CQlncmV5NTQKMTQwIDE0MCAxNDAJCWdyYXk1NQoxNDAgMTQwIDE0MAkJZ3JleTU1CjE0MyAxNDMgMTQzCQlncmF5NTYKMTQzIDE0MyAxNDMJCWdyZXk1NgoxNDUgMTQ1IDE0NQkJZ3JheTU3CjE0NSAxNDUgMTQ1CQlncmV5NTcKMTQ4IDE0OCAxNDgJCWdyYXk1OAoxNDggMTQ4IDE0OAkJZ3JleTU4CjE1MCAxNTAgMTUwCQlncmF5NTkKMTUwIDE1MCAxNTAJCWdyZXk1OQoxNTMgMTUzIDE1MwkJZ3JheTYwCjE1MyAxNTMgMTUzCQlncmV5NjAKMTU2IDE1NiAxNTYJCWdyYXk2MQoxNTYgMTU2IDE1NgkJZ3JleTYxCjE1OCAxNTggMTU4CQlncmF5NjIKMTU4IDE1OCAxNTgJCWdyZXk2MgoxNjEgMTYxIDE2MQkJZ3JheTYzCjE2MSAxNjEgMTYxCQlncmV5NjMKMTYzIDE2MyAxNjMJCWdyYXk2NAoxNjMgMTYzIDE2MwkJZ3JleTY0CjE2NiAxNjYgMTY2CQlncmF5NjUKMTY2IDE2NiAxNjYJCWdyZXk2NQoxNjggMTY4IDE2OAkJZ3JheTY2CjE2OCAxNjggMTY4CQlncmV5NjYKMTcxIDE3MSAxNzEJCWdyYXk2NwoxNzEgMTcxIDE3MQkJZ3JleTY3CjE3MyAxNzMgMTczCQlncmF5NjgKMTczIDE3MyAxNzMJCWdyZXk2OAoxNzYgMTc2IDE3NgkJZ3JheTY5CjE3NiAxNzYgMTc2CQlncmV5NjkKMTc5IDE3OSAxNzkJCWdyYXk3MAoxNzkgMTc5IDE3OQkJZ3JleTcwCjE4MSAxODEgMTgxCQlncmF5NzEKMTgxIDE4MSAxODEJCWdyZXk3MQoxODQgMTg0IDE4NAkJZ3JheTcyCjE4NCAxODQgMTg0CQlncmV5NzIKMTg2IDE4NiAxODYJCWdyYXk3MwoxODYgMTg2IDE4NgkJZ3JleTczCjE4OSAxODkgMTg5CQlncmF5NzQKMTg5IDE4OSAxODkJCWdyZXk3NAoxOTEgMTkxIDE5MQkJZ3JheTc1CjE5MSAxOTEgMTkxCQlncmV5NzUKMTk0IDE5NCAxOTQJCWdyYXk3NgoxOTQgMTk0IDE5NAkJZ3JleTc2CjE5NiAxOTYgMTk2CQlncmF5NzcKMTk2IDE5NiAxOTYJCWdyZXk3NwoxOTkgMTk5IDE5OQkJZ3JheTc4CjE5OSAxOTkgMTk5CQlncmV5NzgKMjAxIDIwMSAyMDEJCWdyYXk3OQoyMDEgMjAxIDIwMQkJZ3JleTc5CjIwNCAyMDQgMjA0CQlncmF5ODAKMjA0IDIwNCAyMDQJCWdyZXk4MAoyMDcgMjA3IDIwNwkJZ3JheTgxCjIwNyAyMDcgMjA3CQlncmV5ODEKMjA5IDIwOSAyMDkJCWdyYXk4MgoyMDkgMjA5IDIwOQkJZ3JleTgyCjIxMiAyMTIgMjEyCQlncmF5ODMKMjEyIDIxMiAyMTIJCWdyZXk4MwoyMTQgMjE0IDIxNAkJZ3JheTg0CjIxNCAyMTQgMjE0CQlncmV5ODQKMjE3IDIxNyAyMTcJCWdyYXk4NQoyMTcgMjE3IDIxNwkJZ3JleTg1CjIxOSAyMTkgMjE5CQlncmF5ODYKMjE5IDIxOSAyMTkJCWdyZXk4NgoyMjIgMjIyIDIyMgkJZ3JheTg3CjIyMiAyMjIgMjIyCQlncmV5ODcKMjI0IDIyNCAyMjQJCWdyYXk4OAoyMjQgMjI0IDIyNAkJZ3JleTg4CjIyNyAyMjcgMjI3CQlncmF5ODkKMjI3IDIyNyAyMjcJCWdyZXk4OQoyMjkgMjI5IDIyOQkJZ3JheTkwCjIyOSAyMjkgMjI5CQlncmV5OTAKMjMyIDIzMiAyMzIJCWdyYXk5MQoyMzIgMjMyIDIzMgkJZ3JleTkxCjIzNSAyMzUgMjM1CQlncmF5OTIKMjM1IDIzNSAyMzUJCWdyZXk5MgoyMzcgMjM3IDIzNwkJZ3JheTkzCjIzNyAyMzcgMjM3CQlncmV5OTMKMjQwIDI0MCAyNDAJCWdyYXk5NAoyNDAgMjQwIDI0MAkJZ3JleTk0CjI0MiAyNDIgMjQyCQlncmF5OTUKMjQyIDI0MiAyNDIJCWdyZXk5NQoyNDUgMjQ1IDI0NQkJZ3JheTk2CjI0NSAyNDUgMjQ1CQlncmV5OTYKMjQ3IDI0NyAyNDcJCWdyYXk5NwoyNDcgMjQ3IDI0NwkJZ3JleTk3CjI1MCAyNTAgMjUwCQlncmF5OTgKMjUwIDI1MCAyNTAJCWdyZXk5OAoyNTIgMjUyIDI1MgkJZ3JheTk5CjI1MiAyNTIgMjUyCQlncmV5OTkKMjU1IDI1NSAyNTUJCWdyYXkxMDAKMjU1IDI1NSAyNTUJCWdyZXkxMDAKMTY5IDE2OSAxNjkJCWRhcmsgZ3JleQoxNjkgMTY5IDE2OQkJRGFya0dyZXkKMTY5IDE2OSAxNjkJCWRhcmsgZ3JheQoxNjkgMTY5IDE2OQkJRGFya0dy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AAD/rwAA/9cAAP//AF8AAABfAF8AXwCHAF8ArwBfANcAXwD/AF9fAABfX18AX1+HAF9frwBfX9cAX1//AF+HAABfh18AX4eHAF+HrwBfh9cAX4f/AF+vAABfr18AX6+HAF+vrwBfr9cAX6//AF/XAABf118AX9eHAF/XrwBf19cAX9f/AF//AABf/18AX/+HAF//rwBf/9cAX///AIcAAACHAF8AhwCHAIcArwCHANcAhwD/AIdfAACHX18Ah1+HAIdfrwCHX9cAh1//AIeHAACHh18Ah4eHAIeHrwCHh9cAh4f/AIevAACHr18Ah6+HAIevrwCHr9cAh6//AIfXAACH118Ah9eHAIfXrwCH19cAh9f/AIf/AACH/18Ah/+HAIf/rwCH/9cAh///AK8AAACvAF8ArwCHAK8ArwCvANcArwD/AK9fAACvX18Ar1+HAK9frwCvX9cAr1//AK+HAACvh18Ar4eHAK+HrwCvh9cAr4f/AK+vAACvr18Ar6+HAK+vrwCvr9cAr6//AK/XAACv118Ar9eHAK/XrwCv19cAr9f/AK//AACv/18Ar/+HAK//rwCv/9cAr///ANcAAADXAF8A1wCHANcArwDXANcA1wD/ANdfAADXX18A11+HANdfrwDXX9cA11//ANeHAADXh18A14eHANeHrwDXh9cA14f/ANevAADXr18A16+HANevrwDXr9cA16//ANfXAADX118A19eHANfXrwDX19cA19f/ANf/AADX/18A1/+HANf/rwDX/9cA1///AP8AAAD/AF8A/wCHAP8ArwD/ANcA/wD/AP9fAAD/X18A/1+HAP9frwD/X9cA/1//AP+HAAD/h18A/4eHAP+HrwD/h9cA/4f/AP+vAAD/r18A/6+HAP+vrwD/r9cA/6//AP/XAAD/118A/9eHAP/XrwD/19cA/9f/AP//AAD//18A//+HAP//rwD//9cA////AAgICAASEhIAHBwcACYmJgAwMDAAOjo6AERERABOTk4AWFhYAGJiYgBsbGwAdnZ2AICAgACKiooAlJSUAJ6engCoqKgAsrKyALy8vADGxsYA0NDQANra2gDk5OQA7u7uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAEAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAABABEAAQABAAEAEgATABQAFQAWABcAGAABAAEAGQAaAAEAGwAcAB0AHgAfAAEAIAABACEAIgAjACQAJQAmACcAKAApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKgABACsAAQAsAC0ALgAvADAAMQAyADMANAA1ADYAMAAxADIAMwA0ADUANgAwADEAMgAzADQANQA2ADAAMQAyADMANAA1ADYAMAAxADIAMwA0ADUANgAwADEAMgAzADQANQA2ADAANwA4ADgAOAA4ADgAOAA4ADgAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQApACkAOQABAAEAOgA7AAEAPAA9AD4AAQABAAEAAQABAAEAPwABAAEAQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAAEATgBPAFAAUQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAUgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAUwABAAEAAQABAAEAAQABAAEAVABVAAEAVgABAFcAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApAFgAKQApACkAKQBZAFoAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAWwApAFwAXQABAAEAAQABAAEAAQABAAEAAQBeAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAF8AAQBgAGEAYgABAAEAAQABAAEAAQBjAAEAAQABAAEAAQBkAFUAZQABAGYAZwABAAEAaABpAAEAAQABAAEAAQABAGoAawBsAG0AbgBvAHAAcQByAHMAdAABAHUAdQB1AHYAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAdwApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQB3AAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAeAB5ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAgABAAEAAQABAAEAAQACAAEAAQABAAEAAQACAAIAAgACAAIAAgACAAIAAgACAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAMAAQABAAEAAQADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQAEAAEABAAEAAEABAAEAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABQAFAAUABQAFAAUAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQAAQAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAUAAQAEAAQABAAEAAQABAABAAEABAAEAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAFAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAABAAQABAAEAAQABAAEAAQABAAEAAEABAAEAAQAAQAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAUABQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAYABAABAAYABgAGAAQABAAEAAQABAAEAAQABAAGAAYABgAGAAQABgAGAAEABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAGAAYAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAHAAYABgAEAAQABAAEAAEAAQAGAAYAAQABAAYABgAEAAEAAQABAAEAAQABAAEAAQABAAcAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAQABAAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEABgAGAAYABAAEAAEAAQABAAEABAAEAAEAAQAEAAQABAABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAYABgAGAAQABAAEAAQABAABAAQABAAGAAEABgAGAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAEABAAGAAYAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAHAAQABgAEAAQABAAEAAEAAQAGAAYAAQABAAYABgAEAAEAAQABAAEAAQABAAEABAAEAAcAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABwAGAAQABgAGAAEAAQABAAYABgAGAAEABgAGAAYABAABAAEAAQABAAEAAQABAAEAAQAHAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAGAAYABgAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAQABAAEAAYABgAGAAYAAQAEAAQABAABAAQABAAEAAQAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAGAAYAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAGAAQABwAGAAcABgAGAAEABAAHAAcAAQAHAAcABAAEAAEAAQABAAEAAQABAAEABwAHAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABgAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEABwAGAAYABAAEAAQABAABAAYABgAGAAEABgAGAAYABAAFAAEAAQABAAEAAQABAAEAAQAHAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAYABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQAHAAYABgAEAAQABAABAAQAAQAGAAYABgAGAAYABgAGAAcAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAYABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAGAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAEAAEABAABAAEAAQABAAYABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAGAAQABAAEAAQABAABAAQABAABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAYABAAEAAQABAAEAAQAAQAEAAQABgAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAQABAABAAEAAQABAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAGAAQABAABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAHAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAcAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABgAEAAQABAAEAAQABAAEAAYABgAGAAYABgAGAAYABgAEAAYABgAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAAAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAYABgAGAAYABAAEAAYABgAGAAEAAQABAAEABgAGAAQABgAGAAYABgAGAAYABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAYABgAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABAAGAAQABAAEAAQABAAEAAQAAQAEAAEABAABAAEABAAEAAQABAAEAAQABAAEAAYABgAGAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAHAAQABAAEAAQABAAHAAQABwAGAAYABgAGAAQABwAHAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAAQABAAEAAQABgAGAAQABAAHAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAYABAAEAAYABgAGAAQABgAEAAQABAAHAAcAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAYABgAGAAYABgAGAAQABAAEAAQABAAEAAQABAAGAAYABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAABAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABgAEAAQABAAEAAQABAAEAAEAAQABAAEABAABAAEAAQABAAEAAQAEAAEAAQAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAQADAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAMAAwADAAMAAwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADQANAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADQANAA0ADQADAAMAAwANAAMAAwANAAEAAQABAAEAAwADAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMAAwABAAEAAQABAAEAAQABAAEAAQABAAMAAQABAAEAAQABAAEAAQABAAEAAwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAMAAwANAA0AAQADAAMAAwADAAMADwABAA8ADwAPAA8ADwAPAA8AAwAPAA8AAwAPAAEADQANAA8ADwADAA8ADwAPAA8AEAAPAA8AAwAPAAMAAwAPAA8AAwAPAA8ADwADAA8ADwAPAAMAAwARABEAEQARABEAEQARABEAAwADAAMADwAPAA8ADwAPAAMADwADAA8ADwAPAA8ADwANAA0ADQANAA0ADQANAA0ADQANAA0ADQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8AAwADAA8ADwADAA8AAwADAA8AAwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwADAA8ADwADAA0ADwAPAA8ADwAPAA8AAQABAAEAAQAOAA4ADgAOAA4ADgAPAA8AAwANAAMAAwADAAMADwADAA8AAwADAA8ADwAPAAMADQAPAA8ADwAPAA8AAwAPAA8ADQANAA8ADwAPAA8AAwADAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwANAA0ADwAPAA8ADwAPAA0ADQAPAA8AAwAPAA8ADwAPAA8ADQADAA8AAwAPAAMADQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8AAwANAA8ADwAPAA8ADwADAAMADQANAAMADQAPAAMAAwAQAA0ADwAPAA0ADwAPAA8ADwADAA8ADwANAAEAAQADAAMAEgASABAAEAAPAAMADwAPAAMAAQADAAEAAwABAAEAAQABAAEAAQADAAEAAQABAAMAAQABAAEAAQABAAEADQABAAEAAQABAAEAAQABAAEAAQABAAMAAwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAEAAQADAAEAAQABAAEADQABAA0AAQABAAEAAQANAA0ADQABAA0AAQABAAEAAQABAAEAAQABAAEAAQABAAMAAwAPAA8ADwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQANAA0ADQABAAEAAQABAAEAAQABAAEAAQADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQANAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQANAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAwADAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQANAA0AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADQABAAEAAQABAA0AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ABAAEAAQABAATABMADQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgANAA4AAQABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEABAAEAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADQAOAA0ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQAAQAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEABAABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAEAAQABgABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAYABwABAAEAAQABAAEAAQABAAEAAQABAAEAAQAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAAQABAAEABAAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAGAAYABAAEAAQABAAGAAYABAAEAAYABgAHAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAGAAYABAAEAAYABgAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEABAAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEABAAEAAQAAQABAAQABAABAAEAAQABAAEABAAEAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAEAAQABgAGAAEAAQABAAEAAQAGAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAEAAYABgAEAAYABgABAAYABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAUABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABQAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFAAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQAVABUAFQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAAQABAAEAAQALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAsACwALAAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAcABwAAAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAA4ADgAOAA4AAQABAAEAAQABAAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAEABAAEAAEAAQABAAEAAQAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABAAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAAYABgAEAAQABAAEAAYABgAEAAQAAQABAAUAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEABQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAYABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAGAAQABAAEAAQABAAEAAQABAAEAAYABwABAAUABQABAAEAAQABAAEABAAEAAQABAABAAYABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAYABAAEAAQABgAGAAQABwAEAAQAAQABAAEAAQABAAEABAABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABgAGAAYABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAGAAYAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQAAQAHAAYABAAGAAYABgAGAAEAAQAGAAYAAQABAAYABgAHAAEAAQABAAEAAQABAAEAAQABAAcAAQABAAEAAQABAAEAAQABAAEAAQAGAAYAAQABAAQABAAEAAQABAAEAAQAAQABAAEABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABwAGAAYABAAEAAQABAAEAAQAAQAHAAEAAQAHAAEABwAHAAcABgABAAYABgAEAAcABAAFAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAGAAQABAAEAAQABAAEAAQABAAGAAYABAAEAAQABgAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAcABgAGAAQABAAEAAQABAAEAAYABAAGAAYABwAGAAQABAAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAcABgAGAAQABAAEAAQAAQABAAYABgAGAAYABAAEAAYABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAGAAQABAAEAAQABAAEAAQABAAGAAYABAAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABgAEAAYABgAEAAQABAAEAAQABAAHAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABgAEAAEAAQAEAAQABAAEAAYABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAGAAYABAAEAAQABAAEAAQABAAEAAQABgAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAcABgAGAAYABgAGAAEABgAGAAEAAQAEAAQABwAEAAUABgAFAAYABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAAYABgAEAAQABAAEAAEAAQAEAAQABgAGAAYABgAEAAEAAQABAAYAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABgAFAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAQAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABgAGAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABgAEAAQABAAEAAQABAAEAAEABAAEAAQABAAEAAQABgAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAYABAAEAAQABAAEAAQABAAGAAQABAAGAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQAAQABAAEABAABAAQABAABAAQABAAEAAQABAAEAAQABQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAGAAYABgABAAQABAABAAYABgAEAAYABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAYABgABAAEAAQABAAEAAQABAAEAAQAEAAQABQAGAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAYABgAEAAQABAAEAAQAAQABAAEABgAGAAQABwAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABgAGAAYABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACgABAAEAAQAKAAoACgAKAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQAAQAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAEAAQABAAEAAQABAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAEAAEAAQABAAEAAQABAAEAAQABAAEAAQATABMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAA4AAQAOAA4ADgAOAA4ADgAOAAEADgAOAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA4ADgAOAAEAAQAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABwAHAAQABAAEAAEAAQABAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQAAQABAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAQABAAEAAQABAAEAAQABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAEABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQABAAEAAQAAQAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAQABAAQABAAEAAQABAAEAAQAAQAEAAQAAQAEAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAQABAAEAAQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAEAAQABAAEAAQABAAEAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEABAAEAAQABAAEAAQABAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8ADwAPAA8ADQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPABEADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAPAA8ADwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADwAPAA8ADwADAAMAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAwADAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQARAAEAAQARABEAEQARABEAEQARABEAEQARAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAOABEADQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA4ADgAOAA4ADgAOAA4ADgAOAA4ADQAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADQAOAA4AEQARABEAEQARAA0AEQARABEADgAPAA8ADwAPAA4ADgAOAA4ADgAOAA4ADgAOAA8ADwAPAA8ADwAPAA8AEQARAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwARABEAEQARABEAEQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPABEAEQARABEAEQARABEAEQARABEAEQARABEADQANAA0AEQARABEAEQARAA0AEQARABEAEQARABEADQARABEAEQARAAMADwAPAAMAAwADAAMAAwADAAMAAwADABEAEQARABEAEQARABEAEQARAAMAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARAA0AEQARABEAEQADABEAEQARABEAEQARABEAFwARABEAEQARABEAEQARABEAEQARABEAEQARAA0ADwAPAAMAAwAPAAMAAwADAA8ADwADAAMAEQARABEAEQARABEAEQANABEAEQARABEADQANAA0AEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQASABcAEgARAA0AFwARABEAEgAQABAAAwADABEAEQARABEAEQADAAMAAwADAAMAAwADAAMAAwADAAMAAwANABEAEQARABEAEQARABEAEQARABEAEQARAA0AEQARABEADwAPAAMAEQADAA8AAwARABEAEQAYABgAGAAYABgAEQARABEAEQARABEAEQARAA0AEQARABEAEQARABEAEQARABEAEQARABEADQARABEAEQARABEAEQARABEAEQANABEAEQARABEAEQARAA0AEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAAwARAAMAEgAXABEAEQASABIAEgASABcAFwAXABIAEgAXABcAEQARAA0AEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAFwAXABcAFwASABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwARABEAEQAXAA0AEQARABEAFwAXABcAEQAXABcAFwARABEAEQARABEAEQARABcAEQAXABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQANABEAEQARABEAEQARABcAEQARABEAEQARAA0AEQARAA0AEQARABEAEQARABEAEQANABEAEQARAA0AEQARABEAEQARABEAEQARABEAEQARAA0AEQARABEAEQARABEAEQARABEAEQARABEAEQARAA0AEQARABEAEQANABEAEQARABEADQANAA0AEQARABEADQANAA0ADQARABEAEQARABEAEQARABEAEQANABEADQANAA0AEQADAA8AEQARABEAEQARABEAEQARABEADQARABEAEQARAA0AEQARABEAEQANAA0AEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAAQABAAEAAQABAAEAAQABAA8ADwAPAAMAAwARABEAEQARAA8ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADwAPAA8ADwAPAA8ADwADAAMADwAPAAMAEAAQAAMAAwADAAMAFwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwADAA8ADwADAAMAAwADAA8ADwAQAA8ADwAPAA8AFwAXAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8AEQADAA8ADwADAA8ADwAPAA8ADwAPAA8ADwADAAMADwAPAA8ADwAPAA8ADwAPAA8AAwAPAA8ADwAPAA8AAwADAAMADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8AAwADAAMADwAPAA8ADwAPAA8ADwAPAAMAAwADAA8ADwADAA8AAwAPAA8ADwAPAAMADwAPAA8ADwAPAA8AAwAPAA8ADwADAA8ADwAPAA8ADwAPAAMAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEADQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABcAFwAXABEAEQARABcAFwAXABcAFwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQARABEAEQARABEAEQARAA0AEQARABEAEQARAA0AEQARABEADQARABEADQARABEAEQANABEAEQARABEAEQARABEAEQARABEAFwARABEAEQARABEAEQARABEAEQANABEAEQARABEADQARABcAFwAXABEAEQANAA0AEQANABEAEQARABcAEQARABEAEQARAA8ADwAPAA8ADwADABcAAwADAAMAEQARABEADwAPABEAEQARAA8ADwAPAA8AEQARABEAEQADAAMAAwADAAMAAwAPAA8ADwADAA8AEQARAA8ADwAPAAMADwAPAAMAEQARABEAEQARABEAEQARABEADwAPAA8AAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEADwAPAA8ADwAPAA8ADwAPAA8ADwAPABEAEQARABEAEQARABEAEQARABEAEQARAA8ADwAPAA8AEQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwABAAEAAQABAAEAAQABAAEAAQABAAEAAQAPAA8ADwAPAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAPAA8ADwAPAA8ADwAPAA8AAQABAAEAAQABAAEAAQABAAEAAQAPAA8ADwAPAA8ADwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA8ADwAPAA8ADwAPAA8ADwABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAEAAQABAAEAAQABAAEAAQABAAEAAQABABcAEQARABcAEQARABEAEQARABEAEQARABcAFwAXABcAFwAXABcAFwARABEAEQARABEAEQAXABEAEQARABEAEQARABEAEQARABcAFwAXABcAFwAXABcAFwAXABcAEQABABcAFwAXABEAEQARABEAEQARABEAAQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQAXABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAFwAXABEAFwAXABEAFwARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAFwAXABcAEQAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwARABEAEQARABEAEQARABEAEQARABEAEQARAA8ADwAPABEAEQARABEAEQARABEAEQARABEADwAPAA8ADwAPABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARABEAFwAXABcAEQAPAA8ADwAPAA8ADwAPABEAEQARABEAEQARABEAEQARABEAEQARABEAEQARAA8ADwARABEAEQARABEAEQARABEAEQARABEADwAPAA8ADwAPAA8AFwAXABcAFwAXABcAFwAXABcADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwABAAEADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBbRwZJR0GBAgMIG4CLXEuch4SFioyNgAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAowAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AH8AgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAoQCiAKMApAClAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAMYlkiUJJAwkDSQKJLAAsQAkJAskGCUQJQwlFCU8JbojuyMAJbwjvSMcJSQlNCUsJQIlZCJlIsADYCKjALcAfwCAAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAChAKIAowCkAKUApgCnAKgAqQCqAKsArACtAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8A0ADRANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8AAAAAAAAAAgAAAAEAAAAAAAAAAwAAAAEAAAAAAAAAAgAAAAAAAAAAAAAAAwAAAAAAAAABAAAAAQAAAAAAAAABAAAAAgAAAAAAAAABAAAAAwAAAAAAAABCAAADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEAAA0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAMBAwIDAwMEAwUDBgMHAQgBCQEKCAsBDAENCgADAQMCAwMDBAMFAwYDBwEIAQkBCggLAQwBDQoAAwEDAgMDAwQDBQMGAwcBCAEJAQoICwEMAQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAgQCBAQEBAQEBAYBCQQJBAkECggLAAwJDQoAAgIEAgQEBAQEBAQGAQkECQQJBAoICwAMCQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAgQCBAQEBAQEBAYBCQQJBAkECggLAAwJDQoAAgIEAgQEBAQEBAQGAQkECQQJBAoICwAMCQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAgQCBAQEBAQEBAYBCQQJBAkECggLAAwJDQoAAgIEAgQEBAQEBAQGAQkECQQJBAoICwAMCQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAgQCBAQEBAQEBAYBCQQJBAkECggLAAwJDQoAAgIEAgQEBAQEBAQGAQkECQQJBAoICwAMCQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAgQCBAQEBAQEBAYBCQQJBAkECggLAAwJDQoAAgIEAgQEBAQEBAQGAQkECQQJBAoICwAMCQ0KAAICBAIEBAQEBAQEBgEJBAkECQQKCAsADAkNCgACAAYABgUFBgAFBQYBCAUIBQsACggLAAwJDQoAAgAGAAYFBQYABQUGAQgFCAULAAoICwAMCQ0KAAIABgAGBQUGAAUFBgEIBQgFCwAKCAsADAkNCgACAAYABgUFBgAFBQYBCAUIBQsACggLAAwJDQoAAgAGAAYFBQYABQUGAQgFCAULAAoICwAMCQ0KAAIABgAGBQUGAAUFBgEIBQgFCwAKCAsADAkNCgACAAYABgUFBgAFBQYBCAUIBQsACggLAAwJDQoAAgAGAAYFBQYABQUGAQgFCAULAAoICwAMCQ0KAAIABgAGBQUGAAUFBgEIBQgFCwAKCAsADAkNCgACAAYABgUFBgAFBQYBCAUIBQsACggLAAwJDQoAAgAGAAYGAAYABQUGAQsACwALAAoICwAMCQ0KAAIABgAGBQUGAAUFBgEIBQgFCwAKCAsADAkNCgACAAYABgUEBgAGAAYBCAQLAAsACggLAAwJDQoAAgAGAAYFBAYABgAGAQgECwALAAoICwAMCQ0KAAIABgAGBQQGAAYABgEIBAsACwAKCAsADAkNCgACAAYABgUEBgAGAAYBCAQLAAsACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIHAAAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAg0AAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgMAAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACDAAABgAHAAcABwAACgAKAAoACggLAAwJDQoAAg0AAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAINAAAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgAGAAYABwAHAAcAAAoACgAKAAoICwAMCQ0KAAIABgAGAAcABwAHAAAKAAoACgAKCAsADAkNCgACAAYABgAHAAcABwAACgAKAAoACggLAAwJDQoAAgEBAgEDAQQBBQEGAQcBCAEJAQoBCwAMCQ0KAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwcABwAHAAcABwAHAAcABwAHAAcABwAHAAwJBwAAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAAMAAwADAAMAAwADAAMAAwADAAMAAwADDAkAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADDQANAA0ADQANAA0ADQANAA0ADQANAA0ADAkNAAADAAMAAwADAAMAAwADAAMAAwADAAMAAwwJAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMMCQADAwADAAMAAwADAAMAAwADAAMAAwADAAMADAkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwJAAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMCQwADQANAA0ADQANAA0ADQANAA0ADQANAA0ADAkNAA0ADQANAA0ADQANAA0ADQANAA0ADQANAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMCQ0AAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAkNAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwJDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAEAAAAAAQEBAAAAAAAAAAABAAAAAQAAAAEAAAACAAAAAQAAAAAAAAAAAAAAAAECAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQkJCQkJCQkJCQkJCQkJCQkHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCgMDAwMDAwMDAwMDAwQDAwsGBgYFCAgICAgICAgICAgADBgkPGBUDAwMMEgMDAwMDAwMDAwMDAwMAAwMDAwMAAwADAwMGAwMDAwMGAwYDAwMDAwMDAwMGAwMDAwMGAwMDAwMDAwYDAwMDAwMDAwMJAwkDAwMJAwMDAwMJAwkDAwMJAwMDAwMDAwMDAwAAP3/AAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQAAAAAAAAAAAAAAAAAAAAAAHR8hAMxmZgC1vWgA8MZ0AIGivgCylLsAir63AMXIxgBmZmYA1U5TALnKSgDnxUcAeqbaAMOX2ABwwLEA6urqAAAAAAAAAF8AAACHAAAArwAAANcAAAD/AABfAAAAX18AAF+HAABfrwAAX9cAAF//AACHAAAAh18AAIeHAACHrwAAh9cAAIf/AACvAAAAr18AAK+HAACvrwAAr9cAAK//AADXAAAA118AANeHAADXrwAA19cAANf/AAD/AAAA/18AAP+HAAD/rwAA/9cAAP//AF8AAABfAF8AXwCHAF8ArwBfANcAXwD/AF9fAABfX18AX1+HAF9frwBfX9cAX1//AF+HAABfh18AX4eHAF+HrwBfh9cAX4f/AF+vAABfr18AX6+HAF+vrwBfr9cAX6//AF/XAABf118AX9eHAF/XrwBf19cAX9f/AF//AABf/18AX/+HAF//rwBf/9cAX///AIcAAACHAF8AhwCHAIcArwCHANcAhwD/AIdfAACHX18Ah1+HAIdfrwCHX9cAh1//AIeHAACHh18Ah4eHAIeHrwCHh9cAh4f/AIevAACHr18Ah6+HAIevrwCHr9cAh6//AIfXAACH118Ah9eHAIfXrwCH19cAh9f/AIf/AACH/18Ah/+HAIf/rwCH/9cAh///AK8AAACvAF8ArwCHAK8ArwCvANcArwD/AK9fAACvX18Ar1+HAK9frwCvX9cAr1//AK+HAACvh18Ar4eHAK+HrwCvh9cAr4f/AK+vAACvr18Ar6+HAK+vrwCvr9cAr6//AK/XAACv118Ar9eHAK/XrwCv19cAr9f/AK//AACv/18Ar/+HAK//rwCv/9cAr///ANcAAADXAF8A1wCHANcArwDXANcA1wD/ANdfAADXX18A11+HANdfrwDXX9cA11//ANeHAADXh18A14eHANeHrwDXh9cA14f/ANevAADXr18A16+HANevrwDXr9cA16//ANfXAADX118A19eHANfXrwDX19cA19f/ANf/AADX/18A1/+HANf/rwDX/9cA1///AP8AAAD/AF8A/wCHAP8ArwD/ANcA/wD/AP9fAAD/X18A/1+HAP9frwD/X9cA/1//AP+HAAD/h18A/4eHAP+HrwD/h9cA/4f/AP+vAAD/r18A/6+HAP+vrwD/r9cA/6//AP/XAAD/118A/9eHAP/XrwD/19cA/9f/AP//AAD//18A//+HAP//rwD//9cA////AAgICAASEhIAHBwcACYmJgAwMDAAOjo6AERERABOTk4AWFhYAGJiYgBsbGwAdnZ2AICAgACKiooAlJSUAJ6engCoqKgAsrKyALy8vADGxsYA0NDQANra2gDk5OQA7u7uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAGAAAABwAAAAgAAAAJAAAABgAAAAoAAAALAAAAqqqqqgAAAAAAAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAANAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAZAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAABAwUHAQMFBwEDBQcBAwUHAQMFBwEDBQcAAgQGAQMFBwEDBQcBAwUHAQMFBwMDBwcDAwcHAQMFBwAAAAAAAAAAAQMFBwACBAYBAwUHAQMFBwEDBQcBAwUHAAIEBgEDBQcBAwUHAQMFBwEDBQcDAwcHAwMHBwEDBQcAAAAAAAAAAAEDBQcAAgQGAAIEBgEDBQcAAgQGAQMFBwACBAYBAwUHAQMFBwEDBQcBAwUHAwMHBwMDBwcBAwUHAAAAAAAAAAABAwUHAQMFBwACBAYAAgQGAAIEBgACBAYAAgQGAQMFBwEDBQcBAwUHAQMFBwMDBwcDAwcHAQMFBwAAAAAAAAAAAQMFBwACBAYBAwUHAQMFBwEDBQcBAwUHAAIEBgEDBQcBAwUHAQMFBwEDBQcDAwcHAwMHBwEDBQcAAAAAAAAAAAEDBQcAAgQGAQMFBwEDBQcBAwUHAQMFBwACBAYBAwUHAQMFBwEDBQcBAwUHAwMHBwMDBwcBAwUHAAAAAAAAAAABAwUHAQMFBwEDBQcBAwUHAQMFBwEDBQcAAgQGAQMFBwEDBQcBAwUHAQMFBwMDBwcDAwcHAQMFBwAAAAAAAAAAAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYCAgYGAgIGBgACBAYAAAAAAAAAAAACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAgIGBgICBgYAAgQGAAAAAAAAAAAAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgACBAYAAgQGAAIEBgICBgYCAgYGAAIEBgAAAAAAAAAAAQMFBwEDBQcBAwUHAQMFBwEDBQcBAwUHAAIEBgEDBQcBAwUHAQMFBwQGAQMDAwcHAwMHBwEDBQcAAAAAAAAAAAEDBQcBAwUHAQMFBwEDBQcBAwUHAQMFBwACBAYBAwUHAQAFBAEDBQcBAwUHAwMHBwMDBwcBAwUHAAAAAAAAAAABAwUHAQMFBwEDBQcBAwUHAQMFBwEDBQcAAgQGAQMFBwEABQQBAwUHAQMFBwMDBwcDAwcHAQMFBwAAAAAAAAAAAQMFBwEDBQcBAwUHAQMFBwEDBQcBAwUHAAIEBgEDBQcBAwUHAQMFBwEDBQcDAwcHAgIGBgEDBQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZBAQAAQAAACGDRAABAAAABITEAAEAAAAgQwQAAQAAADyCRAABAAAAHkVEAAEAAAAsRgQAAQAAAAFGBAABAAA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AAIAAADfChAABAAAAAYAAQACAAAA2goQAAQAAAAHAAEAAgAAANUKEAAEAAAACAABAAIAAAAhCxAABQAAAAkAAQACAAAAGwsQAAUAAAAMAAEAAgAAABULEAAFAAAADQABAAIAAAAKCxAABQAAAAoAAQACAAAA/woQAAUAAAALAAEAAgAAAPQKEAAFAAAADgABAAIAAADpChAABQAAAA8AAQACAAAAUAoQAAMAAAAAAAAAAgAAAI8KEAAEAAAAAQABAAIAAACEChAABAAAAAQAAQACAAAAeQoQAAQAAAAFAAEAAgAAAG4KEAAEAAAAAgABAAIAAABjChAABAAAAAMAAQACAAAAXgoQAAQAAAAGAAEAAgAAAFkKEAAEAAAABwABAAIAAABUChAABAAAAAgAAQACAAAAoAoQAAUAAAAJAAEAAgAAAJoKEAAFAAAADAABAAIAAACUChAABQAAAA0AAQACAAAAiQoQAAUAAAAKAAEAAgAAAH4KEAAFAAAACwABAAIAAABzChAABQAAAA4AAQACAAAAaAoQAAUAAAAPAAEAAgAAAF4TEAADAAAAAAAAAAIAAACdExAABAAAAAEAAQACAAAAkhMQAAQAAAAEAAEAAgAAAIcTEAAEAAAABQABAAIAAAB8ExAABAAAAAIAAQACAAAAcRMQAAQAAAADAAEAAgAAAGwTEAAEAAAABgABAAIAAABnExAABAAAAAcAAQACAAAAYhMQAAQAAAAIAAEAAgAAAK4TEAAFAAAACQABAAIAAACoExAABQAAAAwAAQACAAAAohMQAAUAAAANAAEAAgAAAJcTEAAFAAAACgABAAIAAACMExAABQAAAAsAAQACAAAAgRMQAAUAAAAOAAEAAgAAAHYTEAAFAAAADwABAAIAAAAeEhAAAwAAAAAAAAACAAAAXRIQAAQAAAABAAEAAgAAAFISEAAEAAAABAABAAIAAABHEhAABAAAAAUAAQACAAAAPBIQAAQAAAACAAEAAgAAADESEAAEAAAAAwABAAIAAAAsEhAABAAAAAYAAQACAAAAJxIQAAQAAAAHAAEAAgAAACISEAAEAAAACAABAAIAAABzEhAABQAAAAkAAQACAAAAaBIQAAUAAAAMAAEAAgAAAGISEAAFAAAADQABAAIAAABXEhAABQAAAAoAAQACAAAATBIQAAUAAAALAAEAAgAA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AAcAAAAGAAEAAAAAADgBEAAHAAAABwABAAAAAACDABAABwAAAAgAAQAAAAAA4QgQAAgAAAAJAAEAAAAAAGMIEAAIAAAADAABAAAAAADsBxAACAAAAA0AAQAAAAAAwAYQAAgAAAAKAAEAAAAAAIYFEAAIAAAACwABAAAAAACrBBAACAAAAA4AAQAAAAAAywMQAAgAAAAPAAEAAAAAAEwFEAAFAAAAAAABAAAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAoBYSAB0AAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAHAYEgARAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAqqqqqgAAAACqqqqqAAAAAIAZEgASAAAAqqqqqgAAAACqqqqqAAAAAKqqqqoAAAAAoBoSABAAAACgGxIAEQAAAKqqqqoAAAAAsBwSABEAAADAHRIAEAAAAMAeEgAQAAAAwB8SABAAAADAIBIAEQAAANAhEgARAAAA4CISABEAAADwIxIAEQAAAKqqqqoAAAAAACUSABAAAAAAJhIAEAAAAAAnEgAQAAAAACgSABAAAAAAKRIAEAAAAAAqEgAQAAAAACsSABAAAAAALBIAEAAAAAAtEgAQAAAAAC4SABAAAAAALxIAEAAA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OiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgbmV4dCBsaW5lIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCB0YWIgc2V0IGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCByZXZlcnNlIGluZGV4IGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBzaW5nbGUgc2hpZnQgMiBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgc2luZ2xlIHNoaWZ0IDMgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiB1bmltcGxlbWVudGVkIEVTQyBjYWxsYmFjazogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGZ1bGwgcmVzZXQgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGxvY2tpbmcgc2hpZnQgMSByaWdodCBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgbG9ja2luZyBzaGlmdCAyIHJpZ2h0IGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBsb2NraW5nIHNoaWZ0IDMgcmlnaHQgY29tbWFuZDogd2FybmluZyh0ZXJtaW5hbCk6IGN1cnNvciBjb3B5IGZhaWxlZCBlbnRlcmluZyBhbHQgc2NyZWVuIGVycj13YXJuaW5nKHRlcm1pbmFsKTogcmVzdG9yZSBjdXJzb3Igb24gc3dpdGNoIHNjcmVlbiBmYWlsZWQgdG89IGVycj13YXJuaW5nKHN0cmVhbSk6IHVuaW1wbGVtZW50ZWQgc2V0TW9kZTogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIEMwIGNoYXJhY3RlciwgaWdub3Jpbmc6IDB4d2FybmluZyh0ZXJtaW5hbCk6IHplcm8td2lkdGggY2hhcmFjdGVyIHdpdGggbm8gcHJpb3IgY2hhcmFjdGVyLCBpZ25vcmluZ3dhcm5pbmcodGVybWluYWwpOiBlcnJvciByZWFsbG9jYXRpbmcgZm9yIG1vcmUgaHlwZXJsaW5rIHNwYWNlLCBpZ25vcmluZyBoeXBlcmxpbmsgZXJyPXdhcm5pbmcocGFyc2VyKTogaW52YWxpZCBpbnRlcm1lZGlhdGVzIGNvdW50d2FybmluZyhwYXJzZXIpOiBDU0kgY29sb24gb3IgbWl4ZWQgc2VwYXJhdG9ycyBvbmx5IGFsbG93ZWQgZm9yICdtJyBjb21tYW5kLCBnb3Q6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBjdXJzb3IgZG93biBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIEIgd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgY3Vyc29yIHJpZ2h0IGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgQyB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBjdXJzb3IgdXAgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBFIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBGIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGhvcml6b250YWwgdGFiIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgSSB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBlcmFzZSBkaXNwbGF5IGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBlcmFzZSBsaW5lIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBJTCBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIEwgd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgREwgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBNIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGRlbGV0ZSBjaGFyYWN0ZXJzIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgUCB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBzY3JvbGwgdXAgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBTIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIHNjcm9sbCBkb3duIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgVCB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBjdXJzb3IgdGFidWxhdGlvbiBjb250cm9sOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIFcgd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgZXJhc2UgY2hhcmFjdGVycyBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIFggd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgaG9yaXpvbnRhbCB0YWIgYmFjayBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIFogd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgSFBSIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgYSB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBwcmludCByZXBlYXQgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBiIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGRldmljZSBhdHRyaWJ1dGVzIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBWUEEgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBkIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIFZQUiBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIGUgd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgdGFiIGNsZWFyIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogdW5rbm93biB0YWIgY2xlYXIgbW9kZTogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBnIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIHNldCBtb2RlIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogdW5pbXBsZW1lbnRlZCBtb2RlOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgc2V0TW9kaWZ5S2V5Rm9ybWF0OiB3YXJuaW5nKHN0cmVhbSk6IHVua25vd24gQ1NJIG0gd2l0aCBpbnRlcm1lZGlhdGU6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgbSB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBkZXZpY2Ugc3RhdHVzIHJlcG9ydCBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IHVua25vd24gQ1NJIG4gd2l0aCBpbnRlcm1lZGlhdGU6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgbiB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgcCB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBERUNSUU0gY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIGN1cnNvciBzdHlsZSB2YWx1ZTogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIHNldCBjdXJvciBzdHlsZSBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgc2V0IHByb3RlY3RlZCBtb2RlIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgcSB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBERUNTVEJNIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogdW5pbXBsZW1lbnRlZCByZXN0b3JlIG1vZGU6IHdhcm5pbmcoc3RyZWFtKTogdW5rbm93biBDU0kgcyB3aXRoIGludGVybWVkaWF0ZTogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBzIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIERFQ1NMUk0gY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiB1bmltcGxlbWVudGVkIHNhdmUgbW9kZTogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIFhUU0hJRlRFU0NBUEUgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyBDU0kgMTQgdCB3aXRoIGV4dHJhIHBhcmFtZXRlcnM6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgQ1NJIDE2IHQgd2l0aCBleHRyYSBwYXJhbWV0ZXJzOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIENTSSAxOCB0IHdpdGggZXh0cmEgcGFyYW1ldGVyczogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyBDU0kgMjEgdCB3aXRoIGV4dHJhIHBhcmFtZXRlcnM6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgQ1NJIDIyLzIzIHQgd2l0aCBleHRyYSBwYXJhbWV0ZXJzOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIENTSSB0IHdpdGggdW5pbXBsZW1lbnRlZCBwYXJhbWV0ZXI6IGVycm9yKHN0cmVhbSk6IGlnbm9yaW5nIENTSSB0IHdpdGggbm8gcGFyYW1ldGVyczogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSB0IHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIHB1c2hLaXR0eUtleWJvYXJkIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBzZXRLaXR0eUtleWJvYXJkIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgdTogd2FybmluZyhzdHJlYW0pOiBpbnZhbGlkIElDSCBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIEA6IHdhcm5pbmcoc3RyZWFtKTogdW5pbXBsZW1lbnRlZCBDU0kgY2FsbGJhY2s6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgQSB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBjdXJzb3IgbGVmdCBjb21tYW5kOiB3YXJuaW5nKHN0cmVhbSk6IGlnbm9yaW5nIHVuaW1wbGVtZW50ZWQgQ1NJIEQgd2l0aCBpbnRlcm1lZGlhdGVzOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgSFBBIGNvbW1hbmQ6IHdhcm5pbmcoc3RyZWFtKTogaWdub3JpbmcgdW5pbXBsZW1lbnRlZCBDU0kgRyB3aXRoIGludGVybWVkaWF0ZXM6IHdhcm5pbmcoc3RyZWFtKTogaW52YWxpZCBDVVAgY29tbWFuZDogd2FybmluZyhzdHJlYW0pOiBpZ25vcmluZyB1bmltcGxlbWVudGVkIENTSSBIIHdpdGggaW50ZXJtZWRpYXRlczogd2FybmluZyhzdHJlYW0pOiB1bmltcGxlbWVudGVkIENTSSBhY3Rpb246IHdhcm5pbmcoc3RyZWFtKTogY2hhbmdlIHRpdGxlIHJlcXVlc3Q6IGludmFsaWQgdXRmLTgsIGlnbm9yaW5nIHJlcXVlc3R3YXJuaW5nKHN0cmVhbSk6IHVua25vd24gY3Vyc29yIHNoYXBlOiB3YXJuaW5nKHN0cmVhbSk6IGludmFsaWQgT1NDLCBzaG91bGQgbmV2ZXIgaGFwcGVud2FybmluZyhzdHJlYW0pOiB1bmltcGxlbWVudGVkIE9TQyBjYWxsYmFjazogd2FybmluZyhvc2MpOiBPU0Mgc2VxdWVuY2UgdG9vIGxvbmcgKD4gKSwgaWdub3JpbmcuIHN0YXRlPXdhcm5pbmcob3NjKTogT1NDIDEwIHJlcXVpcmVzIGFuIGFsbG9jYXRvciwgYnV0IG5vbmUgd2FzIHByb3ZpZGVkd2FybmluZyhvc2MpOiBPU0MgMTA0IHJlcXVpcmVzIGFuIGFsbG9jYXRvciwgYnV0IG5vbmUgd2FzIHByb3ZpZGVkd2FybmluZyhvc2MpOiBPU0MgMTEgcmVxdWlyZXMgYW4gYWxsb2NhdG9yLCBidXQgbm9uZSB3YXMgcHJvdmlkZWR3YXJuaW5nKG9zYyk6IE9TQyAxMSByZXF1aXJlcyBhbiBhbGxvY2F0b3IsIGJ1dCBub25lIHdhcyBwcm92aWRlZHdhcm5pbmcob3NjKTogT1NDIDEyIHJlcXVpcmVzIGFuIGFsbG9jYXRvciwgYnV0IG5vbmUgd2FzIHByb3ZpZGVkd2FybmluZyhvc2MpOiBPU0MgMTMgcmVxdWlyZXMgYW4gYWxsb2NhdG9yLCBidXQgbm9uZSB3YXMgcHJvdmlkZWR3YXJuaW5nKG9zYyk6IE9TQyAxNCByZXF1aXJlcyBhbiBhbGxvY2F0b3IsIGJ1dCBub25lIHdhcyBwcm92aWRlZHdhcm5pbmcob3NjKTogT1NDIDE1IHJlcXVpcmVzIGFuIGFsbG9jYXRvciwgYnV0IG5vbmUgd2FzIHByb3ZpZGVkd2FybmluZyhvc2MpOiBPU0MgMTYgcmVxdWlyZXMgYW4gYWxsb2NhdG9yLCBidXQgbm9uZSB3YXMgcHJvdmlkZWR3YXJuaW5nKG9zYyk6IE9TQyAxNyByZXF1aXJlcyBhbiBhbGxvY2F0b3IsIGJ1dCBub25lIHdhcyBwcm92aWRlZHdhcm5pbmcob3NjKTogT1NDIDE4IHJlcXVpcmVzIGFuIGFsbG9jYXRvciwgYnV0IG5vbmUgd2FzIHByb3ZpZGVkd2FybmluZyhvc2MpOiBPU0MgMTkgcmVxdWlyZXMgYW4gYWxsb2NhdG9yLCBidXQgbm9uZSB3YXMgcHJvdmlkZWT2ehAAAAAAAAAAAADdNBAAAQAAAAEAAADFNBAAAgAAAAEAAADENBAAAwAAAAEAAABWKRAAAwAAAAIAAADDNBAABAAAAAIAAADHIxAABQAAAAIAAABTLBAABQAAAAMAAAB0JhAABgAAAAMAAACNMBAABwAAAAMAAACvHhAABwAAAAQAAADyLBAACAAAAAQAAABQKRAACQAAAAQAAABhMxAACgAAAAQAAABhIhAACgAAAAUAAADLKRAACwAAAAUAAADNIxAADAAAAAUAAAAJMRAADAAAAAYAAACMHxAADQAAAAYAAAAOLhAADgAAAAYAAADDJxAADgAAAAcAAACpMxAADwAAAAcAAAADIxAAEAAAAAcAAADzKhAAEQAAAAcAAAARJRAAEQAAAAgAAAAlLxAAEgAAAAgAAAD3HhAAEwAAAAgAAAB9LRAAEwAAAAkAAABVKBAAFAAAAAkAAAAgMhAAFQAAAAkAAAAcIRAAFQAAAAoAAABUKhAAFgAAAAoAAACGJBAAFwAAAAoAAAB/MRAAGAAAAAoAAACQIBAAGAAAAAsAAADbLhAAGQAAAAsAAACsJhAAGgAAAAsAAACtNBAAGgAAAAwAAAC1IhAAGwAAAAwAAADzKxAAHAAAAAwAAAAqJhAAHAAAAA0AAAD3LxAAHQAAAA0AAAAXHhAAHgAAAA0AAABZLBAAHwAAAA0AAACsKBAAHwAAAA4AAAC7MhAAIAAAAA4AAAC5IRAAIQAAAA4AAACpKRAAIQAAAA8AAABjJBAAIgAAAA8AAACVMBAAIwAAAA8AAAAmIBAAIwAAABAAAABvLhAAJAAAABAAAABhJxAAJQAAABAAAAC5MxAAJgAAABAAAABSIxAAJgAAABEAAABDKxAAJwAAABEAAABiJRAAKAAAABEAAAB4LxAAKAAAABIAAABiHxAAKQAAABIAAAD7LBAAKgAAABIAAAAqKBAAKgAAABMAAAA2MhAAKwAAABMAAACMIRAALAAAABMAAADFKhAALQAAABMAAADjJBAALQAAABQAAABQMRAALgAAABQAAACpIBAALwAAABQAAAD1LhAALwAAABUAAAB7JhAAMAAAABUAAAAzNBAAMQAAABUAAADRIhAAMQAAABYAAADAKxAAMgAAABYAAABHJhAAMwAAABYAAABgMBAANAAAABYAAACCHhAANAAAABcAAADFLBAANQAAABcAAAAZKRAANgAAABcAAAAqMxAANgAAABgAAAApIhAANwAAABgAAADXKRAAOAAAABgAAADaIxAAOAAAABkAAAAWMRAAOQAAABkAAACaHxAAOgAAABkAAADSLRAAOwAAABkAAACHJxAAOwAAABoAAABsMxAAPAAAABoAAAAUIxAAPQAAABoAAAAFKxAAPQAAABsAAAAjJRAAPgAAABsAAAA4LxAAPwAAABsAAAC3HhAAPwAAABwAAACRLRAAQAAAABwAAABqKBAAQQAAABwAAADdMRAAQgAAABwAAADZIBAAQgAAAB0AAAAQKhAAQwAAAB0AAACeJBAARAAAAB0AAACYMRAARAAAAB4AAABKIBAARQAAAB4AAACULhAARgAAAB4AAADHJhAARgAAAB8AAABlNBAARwAAAB8AAABsIhAASAAAAB8AAAAQLBAASAAAACAAAADgJRAASQAAACAAAAAVMBAASgAAACAAAAA2HhAASwAAACAAAAB5LBAASwAAACEAAADMKBAATAAAACEAAADcMhAATQAAACEAAADbIRAATQAAACIAAABaKRAATgAAACIAAAATJBAATwAAACIAAAC5MBAATwAAACMAAADVHxAAUAAAACMAAAAdLhAAUQAAACMAAAAOJxAAUgAAACMAAADgMxAAUgAAACQAAAB5IxAAUwAAACQAAABrKxAAVAAAACQAAACLJRAAVAAAACUAAAChLxAAVQAAACUAAAALHxAAVgAAACUAAAAmLRAAVgAAACYAAADSJxAAVwAAACYAAABiMhAAWAAAACYAAAAyIRAAWQAAACYAAABrKhAAWQAAACcAAAB3YXJuaW5nKG9zYyk6IHVua25vd24gcnh2dCBleHRlbnNpb246IHdhcm5pbmcob3NjKTogaW52YWxpZCBPU0MgY29tbWFuZDogAAAAAAAAAAEAAAACAAAABAAAAAkAAAATAAAAJgAAAEwAAACZAAAAMwEAAGYCAADMBAAAmQkAADMTAABmJgAAzEwAAJmZAAAzMwEAZmYCAMzMBACZmQkAMzMTAGZmJgDMzEwAmZmZADMzMwFmZmYCzMzMBP///w93YXJuaW5nKHNjcmVlbik6IChTY3JlZW4uYWRqdXN0Q2FwYWNpdHkpIEZhaWxlZCB0byBhZGQgY3Vyc29yIHN0eWxlIGJhY2sgdG8gcGFnZSwgZXJyPXdhcm5pbmcoc2NyZWVuKTogKFNjcmVlbi5hZGp1c3RDYXBhY2l0eSkgRmFpbGVkIHRvIGFkZCBjdXJzb3IgaHlwZXJsaW5rIGJhY2sgdG8gcGFnZSwgZXJyPWVycm9yKHBhZ2VfbGlzdCk6IGZhaWxlZCB0byByZWdyb3cgYWN0aXZlIGFyZWEgYWZ0ZXIgZXJhc2UgZXJyPXdhcm5pbmcodGVybWluYWwpOiBzY3JvbGwgY2xlYXIgZmFpbGVkLCBkb2luZyBhIG5vcm1hbCBjbGVhciBlcnI9ZXJyb3IodGVybWluYWwpOiB1bmltcGxlbWVudGVkIGVyYXNlIGxpbmUgbW9kZTogZXJyb3IodGVybWluYWwpOiBpbnNlcnRMaW5lcyB0cmFja1BpbiBlcnJvciBlcnI9ZXJyb3IodGVybWluYWwpOiBkZWxldGVMaW5lcyB0cmFja1BpbiBlcnJvciBlcnI9d2FybmluZyh0ZXJtaW5hbCk6IGludmFsaWQgb3IgdW5rbm93biB0YWIgY2xlYXIgc2V0dGluZzogd2FybmluZyhvc2MpOiB6ZXJvIGxlbmd0aCBrZXkgaW4ga2l0dHkgY29sb3IgcHJvdG9jb2x3YXJuaW5nKG9zYyk6IHVua25vd24ga2V5IGluIGtpdHR5IGNvbG9yIHByb3RvY29sOiB3YXJuaW5nKG9zYyk6IGV4Y2VlZGVkIGxpbWl0IGZvciBudW1iZXIgb2Yga2V5cyBpbiBraXR0eSBjb2xvciBwcm90b2NvbCwgaWdub3Jpbmd3YXJuaW5nKG9zYyk6IHVuYWJsZSB0byBhcHBlbmQga2l0dHkgY29sb3IgcHJvdG9jb2wgb3B0aW9uOiB3YXJuaW5nKG9zYyk6IGludmFsaWQgY29sb3IgZm9ybWF0IGluIGtpdHR5IGNvbG9yIHByb3RvY29sOiB3YXJuaW5nKG9zYyk6IGFsbG9jYXRpb24gZmFpbGVkIG9uIGFsbG9jYWJsZSBzdHJpbmcgdGVybWluYXRpb24AAQIDBEVTQyAgJycgKFUrKTB4RVNDIFsgAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAoLDA0ODxAREhPvv70AAAAAAAEAAAACAAAAAwAAAAQAAAAAAAAAAADQCRAACwAAAGQYEAALAAAAcBgQAAoAAAB/EhAACwAAADgYEAANAAAAhgwQAAsAAAB8DhAADwAAAC8PEAAFAAAAJxgQABAAAACFFhAACgAAAJYPEAAVAAAAygwQABIAAACqFBAAEQAAAFEYEAASAAAAUxMQAAoAAAB7GBAACAAAAIQYEAAMAAAAoxcQAA8AAADEERAADQAAAEYYEAAKAAAAkRgQABAAAACLFBAACQAAAPIWEAAKAAAAPgsQAAgAAADxEBAADgAAADgUEAALAAAAVgkQABMAAAAwFBAAEwAAAKwJEAAWAAAAPgkQABcAAAAYFBAAFwAAAH0JEAAXAAAAlQkQABYAAADDCRAAGAAAAMUUEAAOAAAAlg0QAAsAAAA9DxAAEAAAAGoJEAASAAAAWwkQAA4AAAA1FBAADgAAANQdEAALAAAAqA0QAA0AAAAPDxAACwAAALMREAAQAAAAihEQABgAAACVFBAAFAAAANgUEAAYAAAA/RYQABUAAAAMFhAAFAAAAPEUEAAdAAAAARcQABEAAABw2REActkRAHDZEQCiSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCkSBIApkgSAKhIEgCiSBIAqkgSAKxIEgCuSBIAsEgSAKRIEgCySBIAtEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAskgSAKJIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCgSBIAoEgSAKBIEgCsSBIArkgSALBIEgCkSBIAoEgSALZIEgC4SBIAukgSALxIEgC+SBIAwEgSAMJIEgDESBIAoEgSAMZIEgDISBIAykgSAKBIEgDMSBIAzkgSANBIEgDSSBIA1EgSANZIEgDYSBIA2kgSANxIEgDeSBIA4EgSAOJIEgDkSBIAoEgSAKBIEgCgSBIAsEgSAA8AAAD/AAAA/w8AAP//AAAIAAAAAAAAAAIAAAAEAAAA",self.location),s=[];if(t.protocol==="file:"){let r=t.pathname;r.match(/^\/[A-Za-z]:\//)&&(r=r.slice(1)),s.push(r)}s.push(t.href,"./ghostty-vt.wasm","/ghostty-vt.wasm");let n=null;for(const r of s)try{return await Er.loadFromPath(r)}catch(i){n=i instanceof Error?i:new Error(String(i))}throw n||new Error("Failed to load Ghostty WASM")}static async loadFromPath(e){let t;if(typeof Bun<"u"&&typeof Bun.file=="function")try{const r=Bun.file(e);await r.exists()&&(t=await r.arrayBuffer())}catch{}if(!t)try{const r=await(await LE(async()=>{const{readFile:i}=await import("./__vite-browser-external-2447137e-BIHI7g3E.js");return{readFile:i}},[])).readFile(e);t=r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength)}catch{}if(!t){const r=await fetch(e);if(!r.ok)throw new Error(`Failed to fetch WASM: ${r.status} ${r.statusText}`);if(t=await r.arrayBuffer(),t.byteLength===0)throw new Error(`WASM file is empty (0 bytes). Check path: ${e}`)}if(!t)throw new Error(`Could not load WASM from path: ${e}`);const s=await WebAssembly.compile(t),n=await WebAssembly.instantiate(s,{env:{log:(r,i)=>{const a=new Uint8Array(n.exports.memory.buffer,r,i);console.log("[ghostty-vt]",new TextDecoder().decode(a))}}});return new Er(n)}}class ch{constructor(e){this.encoder=0,this.exports=e;const t=this.exports.ghostty_wasm_alloc_opaque(),s=this.exports.ghostty_key_encoder_new(0,t);if(s!==0)throw new Error(`Failed to create key encoder: ${s}`);const n=new DataView(this.exports.memory.buffer);this.encoder=n.getUint32(t,!0),this.exports.ghostty_wasm_free_opaque(t)}setOption(e,t){const s=this.exports.ghostty_wasm_alloc_u8();new DataView(this.exports.memory.buffer).setUint8(s,typeof t=="boolean"?t?1:0:t),this.exports.ghostty_key_encoder_setopt(this.encoder,e,s),this.exports.ghostty_wasm_free_u8(s)}setKittyFlags(e){this.setOption(Wa.KITTY_KEYBOARD_FLAGS,e)}encode(e){const t=this.exports.ghostty_wasm_alloc_opaque(),s=this.exports.ghostty_key_event_new(0,t);if(s!==0)throw new Error(`Failed to create key event: ${s}`);const n=new DataView(this.exports.memory.buffer),r=n.getUint32(t,!0);if(this.exports.ghostty_wasm_free_opaque(t),this.exports.ghostty_key_event_set_action(r,e.action),this.exports.ghostty_key_event_set_key(r,e.key),this.exports.ghostty_key_event_set_mods(r,e.mods),e.utf8){const C=new TextEncoder().encode(e.utf8),c=this.exports.ghostty_wasm_alloc_u8_array(C.length);new Uint8Array(this.exports.memory.buffer).set(C,c),this.exports.ghostty_key_event_set_utf8(r,c,C.length),this.exports.ghostty_wasm_free_u8_array(c,C.length)}const i=32,a=this.exports.ghostty_wasm_alloc_u8_array(i),g=this.exports.ghostty_wasm_alloc_usize(),l=this.exports.ghostty_key_encoder_encode(this.encoder,r,a,i,g);if(l!==0)throw this.exports.ghostty_wasm_free_u8_array(a,i),this.exports.ghostty_wasm_free_usize(g),this.exports.ghostty_key_event_free(r),new Error(`Failed to encode key: ${l}`);const Q=n.getUint32(g,!0),I=new Uint8Array(this.exports.memory.buffer,a,Q).slice();return this.exports.ghostty_wasm_free_u8_array(a,i),this.exports.ghostty_wasm_free_usize(g),this.exports.ghostty_key_event_free(r),I}dispose(){this.encoder&&(this.exports.ghostty_key_encoder_free(this.encoder),this.encoder=0)}}const DB=class Oo{constructor(e,t,s=80,n=24,r){var i;if(this.viewportBufferPtr=0,this.viewportBufferSize=0,this.cellPool=[],this.graphemeBuffer=null,this.graphemeBufferPtr=0,this.exports=e,this.memory=t,this._cols=s,this._rows=n,r){const a=this.exports.ghostty_wasm_alloc_u8_array(ol);if(a===0)throw new Error("Failed to allocate config (out of memory)");try{const g=new DataView(this.memory.buffer);let l=a;g.setUint32(l,r.scrollbackLimit??1e4,!0),l+=4,g.setUint32(l,r.fgColor??0,!0),l+=4,g.setUint32(l,r.bgColor??0,!0),l+=4,g.setUint32(l,r.cursorColor??0,!0),l+=4;for(let Q=0;Q<16;Q++)g.setUint32(l,((i=r.palette)==null?void 0:i[Q])??0,!0),l+=4;this.handle=this.exports.ghostty_terminal_new_with_config(s,n,a)}finally{this.exports.ghostty_wasm_free_u8_array(a,ol)}}else this.handle=this.exports.ghostty_terminal_new(s,n);if(!this.handle)throw new Error("Failed to create terminal");this.initCellPool()}get cols(){return this._cols}get rows(){return this._rows}write(e){const t=typeof e=="string"?new TextEncoder().encode(e):e,s=this.exports.ghostty_wasm_alloc_u8_array(t.length);new Uint8Array(this.memory.buffer).set(t,s),this.exports.ghostty_terminal_write(this.handle,s,t.length),this.exports.ghostty_wasm_free_u8_array(s,t.length)}resize(e,t){e===this._cols&&t===this._rows||(this._cols=e,this._rows=t,this.exports.ghostty_terminal_resize(this.handle,e,t),this.invalidateBuffers(),this.initCellPool())}free(){this.viewportBufferPtr&&(this.exports.ghostty_wasm_free_u8_array(this.viewportBufferPtr,this.viewportBufferSize),this.viewportBufferPtr=0),this.exports.ghostty_terminal_free(this.handle)}update(){return this.exports.ghostty_render_state_update(this.handle)}getCursor(){return this.update(),{x:this.exports.ghostty_render_state_get_cursor_x(this.handle),y:this.exports.ghostty_render_state_get_cursor_y(this.handle),viewportX:this.exports.ghostty_render_state_get_cursor_x(this.handle),viewportY:this.exports.ghostty_render_state_get_cursor_y(this.handle),visible:this.exports.ghostty_render_state_get_cursor_visible(this.handle),blinking:!1,style:"block"}}getColors(){const e=this.exports.ghostty_render_state_get_bg_color(this.handle),t=this.exports.ghostty_render_state_get_fg_color(this.handle);return{background:{r:e>>16&255,g:e>>8&255,b:e&255},foreground:{r:t>>16&255,g:t>>8&255,b:t&255},cursor:null}}isRowDirty(e){return this.exports.ghostty_render_state_is_row_dirty(this.handle,e)}markClean(){this.exports.ghostty_render_state_mark_clean(this.handle)}getViewport(){const e=this._cols*this._rows,t=e*Oo.CELL_SIZE;return(!this.viewportBufferPtr||this.viewportBufferSize<t)&&(this.viewportBufferPtr&&this.exports.ghostty_wasm_free_u8_array(this.viewportBufferPtr,this.viewportBufferSize),this.viewportBufferPtr=this.exports.ghostty_wasm_alloc_u8_array(t),this.viewportBufferSize=t),this.exports.ghostty_render_state_get_viewport(this.handle,this.viewportBufferPtr,e)<0?this.cellPool:(this.parseCellsIntoPool(this.viewportBufferPtr,e),this.cellPool)}getLine(e){if(e<0||e>=this._rows)return null;this.update();const t=this.getViewport(),s=e*this._cols;return t.slice(s,s+this._cols).map(n=>({...n}))}isDirty(){return this.update()!==Xi.NONE}needsFullRedraw(){return this.update()===Xi.FULL}clearDirty(){this.markClean()}isAlternateScreen(){return!!this.exports.ghostty_terminal_is_alternate_screen(this.handle)}hasBracketedPaste(){return this.getMode(2004,!1)}hasFocusEvents(){return this.getMode(1004,!1)}hasMouseTracking(){return this.exports.ghostty_terminal_has_mouse_tracking(this.handle)!==0}getDimensions(){return{cols:this._cols,rows:this._rows}}getScrollbackLength(){return this.exports.ghostty_terminal_get_scrollback_length(this.handle)}getScrollbackLine(e){const t=this._cols*Oo.CELL_SIZE;(!this.viewportBufferPtr||this.viewportBufferSize<t)&&(this.viewportBufferPtr&&this.exports.ghostty_wasm_free_u8_array(this.viewportBufferPtr,this.viewportBufferSize),this.viewportBufferPtr=this.exports.ghostty_wasm_alloc_u8_array(t),this.viewportBufferSize=t),this.update();const s=this.exports.ghostty_terminal_get_scrollback_line(this.handle,e,this.viewportBufferPtr,this._cols);if(s<0)return null;const n=[],r=this.memory.buffer,i=new Uint8Array(r,this.viewportBufferPtr,s*Oo.CELL_SIZE),a=new DataView(r,this.viewportBufferPtr,s*Oo.CELL_SIZE);for(let g=0;g<s;g++){const l=g*Oo.CELL_SIZE;n.push({codepoint:a.getUint32(l,!0),fg_r:i[l+4],fg_g:i[l+5],fg_b:i[l+6],bg_r:i[l+7],bg_g:i[l+8],bg_b:i[l+9],flags:i[l+10],width:i[l+11],hyperlink_id:a.getUint16(l+12,!0),grapheme_len:i[l+14]})}return n}isRowWrapped(e){return this.exports.ghostty_terminal_is_row_wrapped(this.handle,e)!==0}getHyperlinkUri(e){return null}hasResponse(){return this.exports.ghostty_terminal_has_response(this.handle)}readResponse(){if(!this.hasResponse())return null;const e=256,t=this.exports.ghostty_wasm_alloc_u8_array(e);try{const s=this.exports.ghostty_terminal_read_response(this.handle,t,e);if(s<=0)return null;const n=new Uint8Array(this.memory.buffer,t,s);return new TextDecoder().decode(n.slice())}finally{this.exports.ghostty_wasm_free_u8_array(t,e)}}getMode(e,t=!1){return this.exports.ghostty_terminal_get_mode(this.handle,e,t)!==0}initCellPool(){const e=this._cols*this._rows;if(this.cellPool.length<e)for(let t=this.cellPool.length;t<e;t++)this.cellPool.push({codepoint:0,fg_r:204,fg_g:204,fg_b:204,bg_r:0,bg_g:0,bg_b:0,flags:0,width:1,hyperlink_id:0,grapheme_len:0})}parseCellsIntoPool(e,t){const s=this.memory.buffer,n=new Uint8Array(s,e,t*Oo.CELL_SIZE),r=new DataView(s,e,t*Oo.CELL_SIZE);for(let i=0;i<t;i++){const a=i*Oo.CELL_SIZE,g=this.cellPool[i];g.codepoint=r.getUint32(a,!0),g.fg_r=n[a+4],g.fg_g=n[a+5],g.fg_b=n[a+6],g.bg_r=n[a+7],g.bg_g=n[a+8],g.bg_b=n[a+9],g.flags=n[a+10],g.width=n[a+11],g.hyperlink_id=r.getUint16(a+12,!0),g.grapheme_len=n[a+14]}}getGrapheme(e,t){this.graphemeBuffer||(this.graphemeBufferPtr=this.exports.ghostty_wasm_alloc_u8_array(64),this.graphemeBuffer=new Uint32Array(this.memory.buffer,this.graphemeBufferPtr,16));const s=this.exports.ghostty_render_state_get_grapheme(this.handle,e,t,this.graphemeBufferPtr,16);if(s<0)return null;const n=new Uint32Array(this.memory.buffer,this.graphemeBufferPtr,s);return Array.from(n)}getGraphemeString(e,t){const s=this.getGrapheme(e,t);return!s||s.length===0?" ":String.fromCodePoint(...s)}getScrollbackGrapheme(e,t){this.graphemeBuffer||(this.graphemeBufferPtr=this.exports.ghostty_wasm_alloc_u8_array(64),this.graphemeBuffer=new Uint32Array(this.memory.buffer,this.graphemeBufferPtr,16));const s=this.exports.ghostty_terminal_get_scrollback_grapheme(this.handle,e,t,this.graphemeBufferPtr,16);if(s<0)return null;const n=new Uint32Array(this.memory.buffer,this.graphemeBufferPtr,s);return Array.from(n)}getScrollbackGraphemeString(e,t){const s=this.getScrollbackGrapheme(e,t);return!s||s.length===0?" ":String.fromCodePoint(...s)}invalidateBuffers(){this.viewportBufferPtr&&(this.exports.ghostty_wasm_free_u8_array(this.viewportBufferPtr,this.viewportBufferSize),this.viewportBufferPtr=0,this.viewportBufferSize=0)}};DB.CELL_SIZE=16;let Eh=DB;class Io{constructor(){this.listeners=[],this.event=e=>(this.listeners.push(e),{dispose:()=>{const t=this.listeners.indexOf(e);t>=0&&this.listeners.splice(t,1)}})}fire(e){for(const t of this.listeners)t(e)}dispose(){this.listeners=[]}}class Ch{constructor(e){this.bufferChangeEmitter=new Io,this.terminal=e}get active(){const e=this.terminal.wasmTerm;return e?e.isAlternateScreen()?this.alternate:this.normal:this.normal}get normal(){return this._normalBuffer||(this._normalBuffer=new sl(this.terminal,"normal")),this._normalBuffer}get alternate(){return this._alternateBuffer||(this._alternateBuffer=new sl(this.terminal,"alternate")),this._alternateBuffer}get onBufferChange(){return this.bufferChangeEmitter.event}_fireBufferChange(e){this.bufferChangeEmitter.fire(e)}}class sl{constructor(e,t){this.terminal=e,this.bufferType=t;const s={codepoint:0,fg_r:204,fg_g:204,fg_b:204,bg_r:0,bg_g:0,bg_b:0,flags:0,width:1,hyperlink_id:0,grapheme_len:0};this.nullCell=new $i(s,0)}get type(){return this.bufferType}get cursorX(){const e=this.getWasmTerm();return e?e.getCursor().x:0}get cursorY(){const e=this.getWasmTerm();return e?e.getCursor().y:0}get viewportY(){return 0}get baseY(){return 0}get length(){const e=this.getWasmTerm();return e?this.bufferType==="alternate"?e.rows:e.getScrollbackLength()+e.rows:0}getLine(e){const t=this.getWasmTerm();if(!t||e<0||e>=this.length)return;const s=t.getScrollbackLength();let n,r,i;if(this.bufferType==="normal"&&e<s){const a=e;n=t.getScrollbackLine(a),i=!1}else r=this.bufferType==="normal"?e-s:e,n=t.getLine(r),i=t.isRowWrapped(r);if(n)return new Ih(n,i,t.cols)}getNullCell(){return this.nullCell}getWasmTerm(){return this.terminal.wasmTerm}}class Ih{constructor(e,t,s){this.cells=e,this._isWrapped=t,this._length=s}get length(){return this._length}get isWrapped(){return this._isWrapped}getCell(e){if(!(e<0||e>=this._length))return e>=this.cells.length?new $i({codepoint:0,fg_r:204,fg_g:204,fg_b:204,bg_r:0,bg_g:0,bg_b:0,flags:0,width:1,hyperlink_id:0,grapheme_len:0},e):new $i(this.cells[e],e)}translateToString(e=!1,t=0,s=this._length){const n=Math.max(0,Math.min(t,this._length)),r=Math.max(n,Math.min(s,this._length));let i="";for(let a=n;a<r;a++){const g=this.getCell(a);if(g){const l=g.getChars();i+=l}}return e&&(i=i.trimEnd()),i}}class $i{constructor(e,t){this.cell=e,this.x=t}getChars(){const e=this.cell.codepoint;return e===0?"":e<0||e>1114111||e>=55296&&e<=57343?"�":String.fromCodePoint(e)}getCode(){return this.cell.codepoint}getWidth(){return this.cell.width}getFgColorMode(){return-1}getBgColorMode(){return-1}getFgColor(){return this.cell.fg_r<<16|this.cell.fg_g<<8|this.cell.fg_b}getBgColor(){return this.cell.bg_r<<16|this.cell.bg_g<<8|this.cell.bg_b}isBold(){return this.cell.flags&xt.BOLD?1:0}isItalic(){return this.cell.flags&xt.ITALIC?1:0}isUnderline(){return this.cell.flags&xt.UNDERLINE?1:0}isStrikethrough(){return this.cell.flags&xt.STRIKETHROUGH?1:0}isBlink(){return this.cell.flags&xt.BLINK?1:0}isInverse(){return this.cell.flags&xt.INVERSE?1:0}isInvisible(){return this.cell.flags&xt.INVISIBLE?1:0}isFaint(){return this.cell.flags&xt.FAINT?1:0}getHyperlinkId(){return this.cell.hyperlink_id}getCodepoint(){return this.cell.codepoint}isDim(){return(this.cell.flags&xt.FAINT)!==0}}const uh={KeyA:dA.A,KeyB:dA.B,KeyC:dA.C,KeyD:dA.D,KeyE:dA.E,KeyF:dA.F,KeyG:dA.G,KeyH:dA.H,KeyI:dA.I,KeyJ:dA.J,KeyK:dA.K,KeyL:dA.L,KeyM:dA.M,KeyN:dA.N,KeyO:dA.O,KeyP:dA.P,KeyQ:dA.Q,KeyR:dA.R,KeyS:dA.S,KeyT:dA.T,KeyU:dA.U,KeyV:dA.V,KeyW:dA.W,KeyX:dA.X,KeyY:dA.Y,KeyZ:dA.Z,Digit1:dA.ONE,Digit2:dA.TWO,Digit3:dA.THREE,Digit4:dA.FOUR,Digit5:dA.FIVE,Digit6:dA.SIX,Digit7:dA.SEVEN,Digit8:dA.EIGHT,Digit9:dA.NINE,Digit0:dA.ZERO,Enter:dA.ENTER,Escape:dA.ESCAPE,Backspace:dA.BACKSPACE,Tab:dA.TAB,Space:dA.SPACE,Minus:dA.MINUS,Equal:dA.EQUAL,BracketLeft:dA.BRACKET_LEFT,BracketRight:dA.BRACKET_RIGHT,Backslash:dA.BACKSLASH,Semicolon:dA.SEMICOLON,Quote:dA.QUOTE,Backquote:dA.GRAVE,Comma:dA.COMMA,Period:dA.PERIOD,Slash:dA.SLASH,CapsLock:dA.CAPS_LOCK,F1:dA.F1,F2:dA.F2,F3:dA.F3,F4:dA.F4,F5:dA.F5,F6:dA.F6,F7:dA.F7,F8:dA.F8,F9:dA.F9,F10:dA.F10,F11:dA.F11,F12:dA.F12,PrintScreen:dA.PRINT_SCREEN,ScrollLock:dA.SCROLL_LOCK,Pause:dA.PAUSE,Insert:dA.INSERT,Home:dA.HOME,PageUp:dA.PAGE_UP,Delete:dA.DELETE,End:dA.END,PageDown:dA.PAGE_DOWN,ArrowRight:dA.RIGHT,ArrowLeft:dA.LEFT,ArrowDown:dA.DOWN,ArrowUp:dA.UP,NumLock:dA.NUM_LOCK,NumpadDivide:dA.KP_DIVIDE,NumpadMultiply:dA.KP_MULTIPLY,NumpadSubtract:dA.KP_MINUS,NumpadAdd:dA.KP_PLUS,NumpadEnter:dA.KP_ENTER,Numpad1:dA.KP_1,Numpad2:dA.KP_2,Numpad3:dA.KP_3,Numpad4:dA.KP_4,Numpad5:dA.KP_5,Numpad6:dA.KP_6,Numpad7:dA.KP_7,Numpad8:dA.KP_8,Numpad9:dA.KP_9,Numpad0:dA.KP_0,NumpadDecimal:dA.KP_PERIOD,IntlBackslash:dA.INTL_BACKSLASH,ContextMenu:dA.CONTEXT_MENU,F13:dA.F13,F14:dA.F14,F15:dA.F15,F16:dA.F16,F17:dA.F17,F18:dA.F18,F19:dA.F19,F20:dA.F20,F21:dA.F21,F22:dA.F22,F23:dA.F23,F24:dA.F24};class dh{constructor(e,t,s,n,r,i,a){this.keydownListener=null,this.keypressListener=null,this.pasteListener=null,this.compositionStartListener=null,this.compositionUpdateListener=null,this.compositionEndListener=null,this.isComposing=!1,this.isDisposed=!1,this.encoder=e.createKeyEncoder(),this.container=t,this.onDataCallback=s,this.onBellCallback=n,this.onKeyCallback=r,this.customKeyEventHandler=i,this.getModeCallback=a,this.attach()}setCustomKeyEventHandler(e){this.customKeyEventHandler=e}attach(){typeof this.container.hasAttribute=="function"&&typeof this.container.setAttribute=="function"&&(this.container.hasAttribute("tabindex")||this.container.setAttribute("tabindex","0"),this.container.style&&(this.container.style.outline="none")),this.keydownListener=this.handleKeyDown.bind(this),this.container.addEventListener("keydown",this.keydownListener),this.pasteListener=this.handlePaste.bind(this),this.container.addEventListener("paste",this.pasteListener),this.compositionStartListener=this.handleCompositionStart.bind(this),this.container.addEventListener("compositionstart",this.compositionStartListener),this.compositionUpdateListener=this.handleCompositionUpdate.bind(this),this.container.addEventListener("compositionupdate",this.compositionUpdateListener),this.compositionEndListener=this.handleCompositionEnd.bind(this),this.container.addEventListener("compositionend",this.compositionEndListener)}mapKeyCode(e){return uh[e]??null}extractModifiers(e){let t=As.NONE;return e.shiftKey&&(t|=As.SHIFT),e.ctrlKey&&(t|=As.CTRL),e.altKey&&(t|=As.ALT),e.metaKey&&(t|=As.SUPER),t}isPrintableCharacter(e){return e.ctrlKey&&!e.altKey||e.altKey&&!e.ctrlKey||e.metaKey?!1:e.key.length===1}handleKeyDown(e){if(this.isDisposed||this.isComposing||e.isComposing||e.keyCode===229)return;if(this.onKeyCallback&&this.onKeyCallback({key:e.key,domEvent:e}),this.customKeyEventHandler&&this.customKeyEventHandler(e)){e.preventDefault();return}if((e.ctrlKey||e.metaKey)&&e.code==="KeyV"||e.metaKey&&e.code==="KeyC")return;if(this.isPrintableCharacter(e)){e.preventDefault(),this.onDataCallback(e.key);return}const t=this.mapKeyCode(e.code);if(t===null)return;const s=this.extractModifiers(e);if(s===As.NONE||s===As.SHIFT){let r=null;switch(t){case dA.ENTER:r="\r";break;case dA.TAB:r=" ";break;case dA.BACKSPACE:r="";break;case dA.ESCAPE:r="\x1B";break;case dA.HOME:r="\x1B[H";break;case dA.END:r="\x1B[F";break;case dA.INSERT:r="\x1B[2~";break;case dA.DELETE:r="\x1B[3~";break;case dA.PAGE_UP:r="\x1B[5~";break;case dA.PAGE_DOWN:r="\x1B[6~";break;case dA.F1:r="\x1BOP";break;case dA.F2:r="\x1BOQ";break;case dA.F3:r="\x1BOR";break;case dA.F4:r="\x1BOS";break;case dA.F5:r="\x1B[15~";break;case dA.F6:r="\x1B[17~";break;case dA.F7:r="\x1B[18~";break;case dA.F8:r="\x1B[19~";break;case dA.F9:r="\x1B[20~";break;case dA.F10:r="\x1B[21~";break;case dA.F11:r="\x1B[23~";break;case dA.F12:r="\x1B[24~";break}if(r!==null){e.preventDefault(),this.onDataCallback(r);return}}const n=xB.PRESS;try{if(this.getModeCallback){const g=this.getModeCallback(1);this.encoder.setOption(Wa.CURSOR_KEY_APPLICATION,g)}const r=e.key.length===1&&e.key.charCodeAt(0)<128?e.key.toLowerCase():void 0,i=this.encoder.encode({action:n,key:t,mods:s,utf8:r}),a=new TextDecoder().decode(i);e.preventDefault(),e.stopPropagation(),a.length>0&&this.onDataCallback(a)}catch(r){console.warn("Failed to encode key:",e.code,r)}}handlePaste(e){if(this.isDisposed)return;e.preventDefault(),e.stopPropagation();const t=e.clipboardData;if(!t){console.warn("No clipboard data available");return}const s=t.getData("text/plain");if(!s){console.warn("No text in clipboard");return}this.onDataCallback(s)}handleCompositionStart(e){this.isDisposed||(this.isComposing=!0)}handleCompositionUpdate(e){this.isDisposed}handleCompositionEnd(e){if(this.isDisposed)return;this.isComposing=!1;const t=e.data;if(t&&t.length>0&&this.onDataCallback(t),this.container&&this.container.childNodes)for(let s=this.container.childNodes.length-1;s>=0;s--){const n=this.container.childNodes[s];n.nodeType===3&&this.container.removeChild(n)}}dispose(){this.isDisposed||(this.keydownListener&&(this.container.removeEventListener("keydown",this.keydownListener),this.keydownListener=null),this.keypressListener&&(this.container.removeEventListener("keypress",this.keypressListener),this.keypressListener=null),this.pasteListener&&(this.container.removeEventListener("paste",this.pasteListener),this.pasteListener=null),this.compositionStartListener&&(this.container.removeEventListener("compositionstart",this.compositionStartListener),this.compositionStartListener=null),this.compositionUpdateListener&&(this.container.removeEventListener("compositionupdate",this.compositionUpdateListener),this.compositionUpdateListener=null),this.compositionEndListener&&(this.container.removeEventListener("compositionend",this.compositionEndListener),this.compositionEndListener=null),this.isDisposed=!0)}isActive(){return!this.isDisposed}}class hh{constructor(e){this.terminal=e,this.providers=[],this.linkCache=new Map,this.scannedRows=new Set}registerProvider(e){this.providers.push(e),this.invalidateCache()}async getLinkAt(e,t){const s=this.terminal.buffer.active.getLine(t);if(!s||e<0||e>=s.length)return;const n=s.getCell(e);if(!n)return;const r=n.getHyperlinkId();if(r>0){const i=`h${r}`;if(this.linkCache.has(i))return this.linkCache.get(i)}if(this.scannedRows.has(t)||await this.scanRow(t),r>0){const i=`h${r}`,a=this.linkCache.get(i);if(a)return a}for(const i of this.linkCache.values())if(this.isPositionInLink(e,t,i))return i}async scanRow(e){this.scannedRows.add(e);const t=[];for(const s of this.providers){const n=await new Promise(r=>{s.provideLinks(e,r)});n&&t.push(...n)}for(const s of t)this.cacheLink(s)}cacheLink(e){const{start:t}=e.range,s=this.terminal.buffer.active.getLine(t.y);if(s){const a=s.getCell(t.x);if(!a){const{start:l,end:Q}=e.range,I=`r${l.y}:${l.x}-${Q.x}`;this.linkCache.set(I,e);return}const g=a.getHyperlinkId();if(g>0){this.linkCache.set(`h${g}`,e);return}}const{start:n,end:r}=e.range,i=`r${n.y}:${n.x}-${r.x}`;this.linkCache.set(i,e)}isPositionInLink(e,t,s){const{start:n,end:r}=s.range;return t<n.y||t>r.y?!1:n.y===r.y?e>=n.x&&e<=r.x:t===n.y?e>=n.x:t===r.y?e<=r.x:!0}invalidateCache(){this.linkCache.clear(),this.scannedRows.clear()}invalidateRows(e,t){for(let n=e;n<=t;n++)this.scannedRows.delete(n);const s=[];for(const[n,r]of this.linkCache.entries()){const{start:i,end:a}=r.range;(i.y>=e&&i.y<=t||a.y>=e&&a.y<=t||i.y<e&&a.y>t)&&s.push(n)}for(const n of s)this.linkCache.delete(n)}dispose(){var e;this.linkCache.clear(),this.scannedRows.clear();for(const t of this.providers)(e=t.dispose)==null||e.call(t);this.providers=[]}}class fh{constructor(e){this.terminal=e}provideLinks(e,t){const s=[],n=new Set,r=this.terminal.buffer.active.getLine(e);if(!r){t(void 0);return}for(let i=0;i<r.length;i++){const a=r.getCell(i);if(!a)continue;const g=a.getHyperlinkId();if(g===0||n.has(g))continue;n.add(g);const l=this.findLinkRange(g,e,i);if(!this.terminal.wasmTerm)continue;const Q=this.terminal.wasmTerm.getHyperlinkUri(g);Q&&s.push({text:Q,range:l,activate:I=>{(I.ctrlKey||I.metaKey)&&window.open(Q,"_blank","noopener,noreferrer")}})}t(s.length>0?s:void 0)}findLinkRange(e,t,s){const n=this.terminal.buffer.active;let r=t,i=s;for(;i>0;){const Q=n.getLine(r);if(!Q)break;const I=Q.getCell(i-1);if(!I||I.getHyperlinkId()!==e)break;i--}if(i===0&&r>0){let Q=r-1;for(;Q>=0;){const I=n.getLine(Q);if(!I||I.length===0)break;const C=I.getCell(I.length-1);if(!C||C.getHyperlinkId()!==e)break;r=Q,i=0;for(let c=I.length-1;c>=0;c--){const u=I.getCell(c);if(!u||u.getHyperlinkId()!==e){i=c+1;break}}if(i===0)Q--;else break}}let a=t,g=s;const l=n.getLine(a);if(l){for(;g<l.length-1;){const Q=l.getCell(g+1);if(!Q||Q.getHyperlinkId()!==e)break;g++}if(g===l.length-1){let Q=a+1;const I=n.length;for(;Q<I;){const C=n.getLine(Q);if(!C||C.length===0)break;const c=C.getCell(0);if(!c||c.getHyperlinkId()!==e)break;a=Q,g=0;for(let u=0;u<C.length;u++){const p=C.getCell(u);if(!p)break;if(p.getHyperlinkId()!==e){g=u-1;break}g=u}if(g===C.length-1)Q++;else break}}}return{start:{x:i,y:r},end:{x:g,y:a}}}dispose(){}}const za=class Qr{constructor(e){this.terminal=e}provideLinks(e,t){const s=[],n=this.terminal.buffer.active.getLine(e);if(!n){t(void 0);return}const r=this.lineToText(n);Qr.URL_REGEX.lastIndex=0;let i=Qr.URL_REGEX.exec(r);for(;i!==null;){let a=i[0];const g=i.index;let l=i.index+a.length-1;const Q=a.replace(Qr.TRAILING_PUNCTUATION,"");Q.length<a.length&&(a=Q,l=g+a.length-1),a.length>8&&s.push({text:a,range:{start:{x:g,y:e},end:{x:l,y:e}},activate:I=>{(I.ctrlKey||I.metaKey)&&window.open(a,"_blank","noopener,noreferrer")}}),i=Qr.URL_REGEX.exec(r)}t(s.length>0?s:void 0)}lineToText(e){const t=[];for(let s=0;s<e.length;s++){const n=e.getCell(s);if(!n){t.push(" ");continue}const r=n.getCodepoint();r===0||r<32?t.push(" "):t.push(String.fromCodePoint(r))}return t.join("")}dispose(){}};za.URL_REGEX=/(?:https?:\/\/|mailto:|ftp:\/\/|ssh:\/\/|git:\/\/|tel:|magnet:|gemini:\/\/|gopher:\/\/|news:)[\w\-.~:\/?#@!$&*+,;=%]+/gi;za.TRAILING_PUNCTUATION=/[.,;!?)\]]+$/;let ph=za;const rl={foreground:"#d4d4d4",background:"#1e1e1e",cursor:"#ffffff",cursorAccent:"#1e1e1e",selectionBackground:"#d4d4d4",selectionForeground:"#1e1e1e",black:"#000000",red:"#cd3131",green:"#0dbc79",yellow:"#e5e510",blue:"#2472c8",magenta:"#bc3fbc",cyan:"#11a8cd",white:"#e5e5e5",brightBlack:"#666666",brightRed:"#f14c4c",brightGreen:"#23d18b",brightYellow:"#f5f543",brightBlue:"#3b8eea",brightMagenta:"#d670d6",brightCyan:"#29b8db",brightWhite:"#ffffff"};class mh{constructor(e,t={}){this.cursorVisible=!0,this.lastCursorPosition={x:0,y:0},this.lastViewportY=0,this.currentBuffer=null,this.currentSelectionCoords=null,this.hoveredHyperlinkId=0,this.previousHoveredHyperlinkId=0,this.hoveredLinkRange=null,this.previousHoveredLinkRange=null,this.canvas=e;const s=e.getContext("2d",{alpha:!0});if(!s)throw new Error("Failed to get 2D rendering context");this.ctx=s,this.fontSize=t.fontSize??15,this.fontFamily=t.fontFamily??"monospace",this.cursorStyle=t.cursorStyle??"block",this.cursorBlink=t.cursorBlink??!1,this.theme={...rl,...t.theme},this.devicePixelRatio=t.devicePixelRatio??window.devicePixelRatio??1,this.palette=[this.theme.black,this.theme.red,this.theme.green,this.theme.yellow,this.theme.blue,this.theme.magenta,this.theme.cyan,this.theme.white,this.theme.brightBlack,this.theme.brightRed,this.theme.brightGreen,this.theme.brightYellow,this.theme.brightBlue,this.theme.brightMagenta,this.theme.brightCyan,this.theme.brightWhite],this.metrics=this.measureFont(),this.cursorBlink&&this.startCursorBlink()}measureFont(){const e=document.createElement("canvas").getContext("2d");e.font=`${this.fontSize}px ${this.fontFamily}`;const t=e.measureText("M"),s=Math.ceil(t.width),n=t.actualBoundingBoxAscent||this.fontSize*.8,r=t.actualBoundingBoxDescent||this.fontSize*.2,i=Math.ceil(n+r)+2,a=Math.ceil(n)+1;return{width:s,height:i,baseline:a}}remeasureFont(){this.metrics=this.measureFont()}rgbToCSS(e,t,s){return`rgb(${e}, ${t}, ${s})`}resize(e,t){const s=e*this.metrics.width,n=t*this.metrics.height;this.canvas.style.width=`${s}px`,this.canvas.style.height=`${n}px`,this.canvas.width=s*this.devicePixelRatio,this.canvas.height=n*this.devicePixelRatio,this.ctx.scale(this.devicePixelRatio,this.devicePixelRatio),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left",this.ctx.fillStyle=this.theme.background,this.ctx.fillRect(0,0,s,n)}render(e,t=!1,s=0,n,r=1){var i;this.currentBuffer=e;const a=e.getCursor(),g=e.getDimensions(),l=n?n.getScrollbackLength():0;(i=e.needsFullRedraw)!=null&&i.call(e)&&(t=!0),(this.canvas.width!==g.cols*this.metrics.width*this.devicePixelRatio||this.canvas.height!==g.rows*this.metrics.height*this.devicePixelRatio)&&(this.resize(g.cols,g.rows),t=!0),s!==this.lastViewportY&&(t=!0,this.lastViewportY=s);const Q=a.x!==this.lastCursorPosition.x||a.y!==this.lastCursorPosition.y;if(Q||this.cursorBlink){if(!t&&!e.isRowDirty(a.y)){const k=e.getLine(a.y);k&&this.renderLine(k,a.y,g.cols)}if(Q&&this.lastCursorPosition.y!==a.y&&!t&&!e.isRowDirty(this.lastCursorPosition.y)){const k=e.getLine(this.lastCursorPosition.y);k&&this.renderLine(k,this.lastCursorPosition.y,g.cols)}}const I=this.selectionManager&&this.selectionManager.hasSelection(),C=new Set;if(this.currentSelectionCoords=I?this.selectionManager.getSelectionCoords():null,this.currentSelectionCoords){const k=this.currentSelectionCoords;for(let v=k.startRow;v<=k.endRow;v++)C.add(v)}if(this.selectionManager){const k=this.selectionManager.getDirtySelectionRows();if(k.size>0){for(const v of k)C.add(v);this.selectionManager.clearDirtySelectionRows()}}const c=new Set,u=this.hoveredHyperlinkId!==this.previousHoveredHyperlinkId,p=JSON.stringify(this.hoveredLinkRange)!==JSON.stringify(this.previousHoveredLinkRange);if(u){for(let k=0;k<g.rows;k++){let v=null;if(s>0)if(k<s&&n){const D=l-Math.floor(s)+k;v=n.getScrollbackLine(D)}else{const D=k-Math.floor(s);v=e.getLine(D)}else v=e.getLine(k);if(v){for(const D of v)if(D.hyperlink_id===this.hoveredHyperlinkId||D.hyperlink_id===this.previousHoveredHyperlinkId){c.add(k);break}}}this.previousHoveredHyperlinkId=this.hoveredHyperlinkId}if(p){if(this.previousHoveredLinkRange)for(let k=this.previousHoveredLinkRange.startY;k<=this.previousHoveredLinkRange.endY;k++)c.add(k);if(this.hoveredLinkRange)for(let k=this.hoveredLinkRange.startY;k<=this.hoveredLinkRange.endY;k++)c.add(k);this.previousHoveredLinkRange=this.hoveredLinkRange}const f=new Set;for(let k=0;k<g.rows;k++)(s>0||t||e.isRowDirty(k)||C.has(k)||c.has(k))&&(f.add(k),k>0&&f.add(k-1),k<g.rows-1&&f.add(k+1));for(let k=0;k<g.rows;k++){if(!f.has(k))continue;let v=null;if(s>0)if(k<s&&n){const D=l-Math.floor(s)+k;v=n.getScrollbackLine(D)}else{const D=s>0?k-Math.floor(s):k;v=e.getLine(D)}else v=e.getLine(k);v&&this.renderLine(v,k,g.cols)}s===0&&a.visible&&this.cursorVisible&&this.renderCursor(a.x,a.y),n&&r>0&&this.renderScrollbar(s,l,g.rows,r),this.lastCursorPosition={x:a.x,y:a.y},e.clearDirty()}renderLine(e,t,s){const n=t*this.metrics.height;this.ctx.fillStyle=this.theme.background,this.ctx.fillRect(0,n,s*this.metrics.width,this.metrics.height);for(let r=0;r<e.length;r++){const i=e[r];i.width!==0&&this.renderCellBackground(i,r,t)}for(let r=0;r<e.length;r++){const i=e[r];i.width!==0&&this.renderCellText(i,r,t)}}renderCellBackground(e,t,s){const n=t*this.metrics.width,r=s*this.metrics.height,i=this.metrics.width*e.width;if(this.isInSelection(t,s)){this.ctx.fillStyle=this.theme.selectionBackground,this.ctx.fillRect(n,r,i,this.metrics.height);return}let a=e.bg_r,g=e.bg_g,l=e.bg_b;e.flags&xt.INVERSE&&(a=e.fg_r,g=e.fg_g,l=e.fg_b),a===0&&g===0&&l===0||(this.ctx.fillStyle=this.rgbToCSS(a,g,l),this.ctx.fillRect(n,r,i,this.metrics.height))}renderCellText(e,t,s){var n;const r=t*this.metrics.width,i=s*this.metrics.height,a=this.metrics.width*e.width;if(e.flags&xt.INVISIBLE)return;const g=this.isInSelection(t,s);let l="";if(e.flags&xt.ITALIC&&(l+="italic "),e.flags&xt.BOLD&&(l+="bold "),this.ctx.font=`${l}${this.fontSize}px ${this.fontFamily}`,g)this.ctx.fillStyle=this.theme.selectionForeground;else{let c=e.fg_r,u=e.fg_g,p=e.fg_b;e.flags&xt.INVERSE&&(c=e.bg_r,u=e.bg_g,p=e.bg_b),this.ctx.fillStyle=this.rgbToCSS(c,u,p)}e.flags&xt.FAINT&&(this.ctx.globalAlpha=.5);const Q=r,I=i+this.metrics.baseline;let C;if(e.grapheme_len>0&&(n=this.currentBuffer)!=null&&n.getGraphemeString?C=this.currentBuffer.getGraphemeString(s,t):C=String.fromCodePoint(e.codepoint||32),this.ctx.fillText(C,Q,I),e.flags&xt.FAINT&&(this.ctx.globalAlpha=1),e.flags&xt.UNDERLINE){const c=i+this.metrics.baseline+2;this.ctx.strokeStyle=this.ctx.fillStyle,this.ctx.lineWidth=1,this.ctx.beginPath(),this.ctx.moveTo(r,c),this.ctx.lineTo(r+a,c),this.ctx.stroke()}if(e.flags&xt.STRIKETHROUGH){const c=i+this.metrics.height/2;this.ctx.strokeStyle=this.ctx.fillStyle,this.ctx.lineWidth=1,this.ctx.beginPath(),this.ctx.moveTo(r,c),this.ctx.lineTo(r+a,c),this.ctx.stroke()}if(e.hyperlink_id>0&&e.hyperlink_id===this.hoveredHyperlinkId){const c=i+this.metrics.baseline+2;this.ctx.strokeStyle="#4A90E2",this.ctx.lineWidth=1,this.ctx.beginPath(),this.ctx.moveTo(r,c),this.ctx.lineTo(r+a,c),this.ctx.stroke()}if(this.hoveredLinkRange){const c=this.hoveredLinkRange;if(s===c.startY&&t>=c.startX&&(s<c.endY||t<=c.endX)||s>c.startY&&s<c.endY||s===c.endY&&t<=c.endX&&(s>c.startY||t>=c.startX)){const u=i+this.metrics.baseline+2;this.ctx.strokeStyle="#4A90E2",this.ctx.lineWidth=1,this.ctx.beginPath(),this.ctx.moveTo(r,u),this.ctx.lineTo(r+a,u),this.ctx.stroke()}}}renderCursor(e,t){const s=e*this.metrics.width,n=t*this.metrics.height;switch(this.ctx.fillStyle=this.theme.cursor,this.cursorStyle){case"block":this.ctx.fillRect(s,n,this.metrics.width,this.metrics.height);break;case"underline":const r=Math.max(2,Math.floor(this.metrics.height*.15));this.ctx.fillRect(s,n+this.metrics.height-r,this.metrics.width,r);break;case"bar":const i=Math.max(2,Math.floor(this.metrics.width*.15));this.ctx.fillRect(s,n,i,this.metrics.height);break}}startCursorBlink(){this.cursorBlinkInterval=window.setInterval(()=>{this.cursorVisible=!this.cursorVisible},530)}stopCursorBlink(){this.cursorBlinkInterval!==void 0&&(clearInterval(this.cursorBlinkInterval),this.cursorBlinkInterval=void 0),this.cursorVisible=!0}setTheme(e){this.theme={...rl,...e},this.palette=[this.theme.black,this.theme.red,this.theme.green,this.theme.yellow,this.theme.blue,this.theme.magenta,this.theme.cyan,this.theme.white,this.theme.brightBlack,this.theme.brightRed,this.theme.brightGreen,this.theme.brightYellow,this.theme.brightBlue,this.theme.brightMagenta,this.theme.brightCyan,this.theme.brightWhite]}setFontSize(e){this.fontSize=e,this.metrics=this.measureFont()}setFontFamily(e){this.fontFamily=e,this.metrics=this.measureFont()}setCursorStyle(e){this.cursorStyle=e}setCursorBlink(e){e&&!this.cursorBlink?(this.cursorBlink=!0,this.startCursorBlink()):!e&&this.cursorBlink&&(this.cursorBlink=!1,this.stopCursorBlink())}renderScrollbar(e,t,s,n=1){const r=this.ctx,i=this.canvas.height/this.devicePixelRatio,a=this.canvas.width/this.devicePixelRatio,g=8,l=a-g-4,Q=4,I=i-Q*2;if(r.fillStyle=this.theme.background,r.fillRect(l-2,0,g+6,i),n<=0||t===0)return;const C=t+s,c=Math.max(20,s/C*I),u=e/t,p=Q+(I-c)*(1-u);r.fillStyle=`rgba(128, 128, 128, ${.1*n})`,r.fillRect(l,Q,g,I);const f=e>0?.5:.3;r.fillStyle=`rgba(128, 128, 128, ${f*n})`,r.fillRect(l,p,g,c)}getMetrics(){return{...this.metrics}}getCanvas(){return this.canvas}setSelectionManager(e){this.selectionManager=e}isInSelection(e,t){const s=this.currentSelectionCoords;if(!s)return!1;const{startCol:n,startRow:r,endCol:i,endRow:a}=s;return r===a?t===r&&e>=n&&e<=i:t===r?e>=n:t===a?e<=i:t>r&&t<a}setHoveredHyperlinkId(e){this.hoveredHyperlinkId=e}setHoveredLinkRange(e){this.hoveredLinkRange=e}get charWidth(){return this.metrics.width}get charHeight(){return this.metrics.height}clear(){this.ctx.fillStyle=this.theme.background,this.ctx.fillRect(0,0,this.canvas.width,this.canvas.height)}dispose(){this.stopCursorBlink()}}const qn=class gn{constructor(e,t,s,n){this.selectionStart=null,this.selectionEnd=null,this.isSelecting=!1,this.mouseDownTarget=null,this.dirtySelectionRows=new Set,this.selectionChangedEmitter=new Io,this.boundMouseUpHandler=null,this.boundContextMenuHandler=null,this.boundClickHandler=null,this.boundDocumentMouseMoveHandler=null,this.autoScrollInterval=null,this.autoScrollDirection=0,this.terminal=e,this.renderer=t,this.wasmTerm=s,this.textarea=n,this.attachEventListeners()}getViewportY(){const e=typeof this.terminal.getViewportY=="function"?this.terminal.getViewportY():this.terminal.viewportY||0;return Math.max(0,Math.floor(e))}viewportRowToAbsolute(e){const t=this.wasmTerm.getScrollbackLength(),s=this.getViewportY();return t+e-s}absoluteRowToViewport(e){const t=this.wasmTerm.getScrollbackLength(),s=this.getViewportY();return e-t+s}getSelection(){if(!this.selectionStart||!this.selectionEnd)return"";let{col:e,absoluteRow:t}=this.selectionStart,{col:s,absoluteRow:n}=this.selectionEnd;(t>n||t===n&&e>s)&&([e,s]=[s,e],[t,n]=[n,t]);const r=this.wasmTerm.getScrollbackLength();let i="";for(let a=t;a<=n;a++){let g=null;if(a<r)g=this.wasmTerm.getScrollbackLine(a);else{const c=a-r;g=this.wasmTerm.getLine(c)}if(!g)continue;let l=-1;const Q=a===t?e:0,I=a===n?s:g.length-1;let C="";for(let c=Q;c<=I;c++){const u=g[c];if(u&&u.codepoint!==0){let p;if(u.grapheme_len>0)if(a<r)p=this.wasmTerm.getScrollbackGraphemeString(a,c);else{const f=a-r;p=this.wasmTerm.getGraphemeString(f,c)}else p=String.fromCodePoint(u.codepoint);C+=p,p.trim()&&(l=C.length)}else C+=" "}l>=0?C=C.substring(0,l):C="",i+=C,a<n&&(i+=`
|
|
14
|
-
`)}return i}hasSelection(){return!this.selectionStart||!this.selectionEnd?!1:!(this.selectionStart.col===this.selectionEnd.col&&this.selectionStart.absoluteRow===this.selectionEnd.absoluteRow)}clearSelection(){if(!this.hasSelection())return;const e=this.normalizeSelection();if(e)for(let t=e.startRow;t<=e.endRow;t++)this.dirtySelectionRows.add(t);this.selectionStart=null,this.selectionEnd=null,this.isSelecting=!1,this.requestRender()}selectAll(){const e=this.wasmTerm.getDimensions(),t=this.getViewportY();this.selectionStart={col:0,absoluteRow:t},this.selectionEnd={col:e.cols-1,absoluteRow:t+e.rows-1},this.requestRender(),this.selectionChangedEmitter.fire()}select(e,t,s){const n=this.wasmTerm.getDimensions();t=Math.max(0,Math.min(t,n.rows-1)),e=Math.max(0,Math.min(e,n.cols-1));let r=t,i=e+s-1;for(;i>=n.cols;)i-=n.cols,r++;r=Math.min(r,n.rows-1);const a=this.getViewportY();this.selectionStart={col:e,absoluteRow:a+t},this.selectionEnd={col:i,absoluteRow:a+r},this.requestRender(),this.selectionChangedEmitter.fire()}selectLines(e,t){const s=this.wasmTerm.getDimensions();e=Math.max(0,Math.min(e,s.rows-1)),t=Math.max(0,Math.min(t,s.rows-1)),e>t&&([e,t]=[t,e]);const n=this.getViewportY();this.selectionStart={col:0,absoluteRow:n+e},this.selectionEnd={col:s.cols-1,absoluteRow:n+t},this.requestRender(),this.selectionChangedEmitter.fire()}getSelectionPosition(){const e=this.normalizeSelection();if(e)return{start:{x:e.startCol,y:e.startRow},end:{x:e.endCol,y:e.endRow}}}deselect(){this.clearSelection(),this.selectionChangedEmitter.fire()}focus(){const e=this.renderer.getCanvas();e.parentElement&&e.parentElement.focus()}getSelectionCoords(){return this.normalizeSelection()}getDirtySelectionRows(){return this.dirtySelectionRows}clearDirtySelectionRows(){this.dirtySelectionRows.clear()}get onSelectionChange(){return this.selectionChangedEmitter.event}dispose(){this.selectionChangedEmitter.dispose(),this.stopAutoScroll(),this.boundMouseUpHandler&&(document.removeEventListener("mouseup",this.boundMouseUpHandler),this.boundMouseUpHandler=null),this.boundDocumentMouseMoveHandler&&(document.removeEventListener("mousemove",this.boundDocumentMouseMoveHandler),this.boundDocumentMouseMoveHandler=null),this.boundContextMenuHandler&&(this.renderer.getCanvas().removeEventListener("contextmenu",this.boundContextMenuHandler),this.boundContextMenuHandler=null),this.boundClickHandler&&(document.removeEventListener("click",this.boundClickHandler),this.boundClickHandler=null)}attachEventListeners(){const e=this.renderer.getCanvas();e.addEventListener("mousedown",t=>{if(t.button===0){e.parentElement&&e.parentElement.focus();const s=this.pixelToCell(t.offsetX,t.offsetY);this.hasSelection()&&this.clearSelection();const n=this.viewportRowToAbsolute(s.row);this.selectionStart={col:s.col,absoluteRow:n},this.selectionEnd={col:s.col,absoluteRow:n},this.isSelecting=!0}}),e.addEventListener("mousemove",t=>{if(this.isSelecting){this.markCurrentSelectionDirty();const s=this.pixelToCell(t.offsetX,t.offsetY),n=this.viewportRowToAbsolute(s.row);this.selectionEnd={col:s.col,absoluteRow:n},this.requestRender(),this.updateAutoScroll(t.offsetY,e.clientHeight)}}),e.addEventListener("mouseleave",t=>{if(this.isSelecting){const s=e.getBoundingClientRect();t.clientY<s.top?this.startAutoScroll(-1):t.clientY>s.bottom&&this.startAutoScroll(1)}}),e.addEventListener("mouseenter",()=>{this.isSelecting&&this.stopAutoScroll()}),this.boundDocumentMouseMoveHandler=t=>{if(this.isSelecting){const s=e.getBoundingClientRect(),n=Math.max(s.left,Math.min(t.clientX,s.right)),r=Math.max(s.top,Math.min(t.clientY,s.bottom)),i=n-s.left,a=r-s.top;if((t.clientX<s.left||t.clientX>s.right||t.clientY<s.top||t.clientY>s.bottom)&&(t.clientY<s.top?this.startAutoScroll(-1):t.clientY>s.bottom?this.startAutoScroll(1):this.stopAutoScroll(),this.autoScrollDirection===0)){this.markCurrentSelectionDirty();const g=this.pixelToCell(i,a),l=this.viewportRowToAbsolute(g.row);this.selectionEnd={col:g.col,absoluteRow:l},this.requestRender()}}},document.addEventListener("mousemove",this.boundDocumentMouseMoveHandler),document.addEventListener("mousedown",t=>{this.mouseDownTarget=t.target}),this.boundMouseUpHandler=t=>{if(this.isSelecting){this.isSelecting=!1,this.stopAutoScroll();const s=this.getSelection();s&&(this.copyToClipboard(s),this.selectionChangedEmitter.fire())}},document.addEventListener("mouseup",this.boundMouseUpHandler),e.addEventListener("dblclick",t=>{const s=this.pixelToCell(t.offsetX,t.offsetY),n=this.getWordAtCell(s.col,s.row);if(n){const r=this.viewportRowToAbsolute(s.row);this.selectionStart={col:n.startCol,absoluteRow:r},this.selectionEnd={col:n.endCol,absoluteRow:r},this.requestRender();const i=this.getSelection();i&&(this.copyToClipboard(i),this.selectionChangedEmitter.fire())}}),this.boundContextMenuHandler=t=>{if(this.renderer.getCanvas().getBoundingClientRect(),this.textarea.style.position="fixed",this.textarea.style.left=`${t.clientX}px`,this.textarea.style.top=`${t.clientY}px`,this.textarea.style.width="1px",this.textarea.style.height="1px",this.textarea.style.zIndex="1000",this.textarea.style.opacity="0",this.textarea.style.pointerEvents="auto",this.hasSelection()){const s=this.getSelection();this.textarea.value=s,this.textarea.select(),this.textarea.setSelectionRange(0,s.length)}else this.textarea.value="";this.textarea.focus(),setTimeout(()=>{const s=()=>{this.textarea.style.pointerEvents="none",this.textarea.style.zIndex="-10",this.textarea.style.width="0",this.textarea.style.height="0",this.textarea.style.left="0",this.textarea.style.top="0",this.textarea.value="",document.removeEventListener("click",s),document.removeEventListener("contextmenu",s),this.textarea.removeEventListener("blur",s)};document.addEventListener("click",s,{once:!0}),document.addEventListener("contextmenu",s,{once:!0}),this.textarea.addEventListener("blur",s,{once:!0})},10)},e.addEventListener("contextmenu",this.boundContextMenuHandler),this.boundClickHandler=t=>{if(this.isSelecting||this.mouseDownTarget&&e.contains(this.mouseDownTarget))return;const s=t.target;e.contains(s)||this.hasSelection()&&this.clearSelection()},document.addEventListener("click",this.boundClickHandler)}markCurrentSelectionDirty(){const e=this.normalizeSelection();if(e)for(let t=e.startRow;t<=e.endRow;t++)this.dirtySelectionRows.add(t)}updateAutoScroll(e,t){const s=gn.AUTO_SCROLL_EDGE_SIZE;e<s?this.startAutoScroll(-1):e>t-s?this.startAutoScroll(1):this.stopAutoScroll()}startAutoScroll(e){this.autoScrollInterval!==null&&this.autoScrollDirection===e||(this.stopAutoScroll(),this.autoScrollDirection=e,this.autoScrollInterval=setInterval(()=>{if(!this.isSelecting){this.stopAutoScroll();return}const t=gn.AUTO_SCROLL_SPEED*this.autoScrollDirection;if(this.terminal.scrollLines(t),this.selectionEnd){const s=this.wasmTerm.getDimensions();if(this.autoScrollDirection<0){const n=this.viewportRowToAbsolute(0);n<this.selectionEnd.absoluteRow&&(this.selectionEnd={col:0,absoluteRow:n})}else{const n=this.viewportRowToAbsolute(s.rows-1);n>this.selectionEnd.absoluteRow&&(this.selectionEnd={col:s.cols-1,absoluteRow:n})}}this.requestRender()},gn.AUTO_SCROLL_INTERVAL))}stopAutoScroll(){this.autoScrollInterval!==null&&(clearInterval(this.autoScrollInterval),this.autoScrollInterval=null),this.autoScrollDirection=0}pixelToCell(e,t){const s=this.renderer.getMetrics(),n=Math.floor(e/s.width),r=Math.floor(t/s.height);return{col:Math.max(0,Math.min(n,this.terminal.cols-1)),row:Math.max(0,Math.min(r,this.terminal.rows-1))}}normalizeSelection(){if(!this.selectionStart||!this.selectionEnd)return null;let{col:e,absoluteRow:t}=this.selectionStart,{col:s,absoluteRow:n}=this.selectionEnd;(t>n||t===n&&e>s)&&([e,s]=[s,e],[t,n]=[n,t]);let r=this.absoluteRowToViewport(t),i=this.absoluteRowToViewport(n);const a=this.wasmTerm.getDimensions(),g=a.rows-1;return i<0||r>g?null:(r<0&&(r=0,e=0),i>g&&(i=g,s=a.cols-1),{startCol:e,startRow:r,endCol:s,endRow:i})}getWordAtCell(e,t){const s=this.wasmTerm.getLine(t);if(!s)return null;const n=a=>{if(!a||a.codepoint===0)return!1;const g=String.fromCodePoint(a.codepoint);return/[\w-]/.test(g)};if(!n(s[e]))return null;let r=e;for(;r>0&&n(s[r-1]);)r--;let i=e;for(;i<s.length-1&&n(s[i+1]);)i++;return{startCol:r,endCol:i}}async copyToClipboard(e){if(navigator.clipboard&&navigator.clipboard.writeText)try{await navigator.clipboard.writeText(e);return}catch{}const t=document.activeElement;try{const s=this.textarea;s.value=e,s.style.position="fixed",s.style.left="-9999px",s.style.top="0",s.style.width="1px",s.style.height="1px",s.style.opacity="0",s.focus(),s.select(),s.setSelectionRange(0,e.length);const n=document.execCommand("copy");t&&t.focus(),n||console.error("❌ execCommand copy failed")}catch(s){console.error("❌ Fallback copy failed:",s),t&&t.focus()}}requestRender(){}};qn.AUTO_SCROLL_EDGE_SIZE=30;qn.AUTO_SCROLL_SPEED=3;qn.AUTO_SCROLL_INTERVAL=50;let wh=qn;class xh{constructor(e={}){this.unicode={get activeVersion(){return"15.1"}},this.dataEmitter=new Io,this.resizeEmitter=new Io,this.bellEmitter=new Io,this.selectionChangeEmitter=new Io,this.keyEmitter=new Io,this.titleChangeEmitter=new Io,this.scrollEmitter=new Io,this.renderEmitter=new Io,this.cursorMoveEmitter=new Io,this.onData=this.dataEmitter.event,this.onResize=this.resizeEmitter.event,this.onBell=this.bellEmitter.event,this.onSelectionChange=this.selectionChangeEmitter.event,this.onKey=this.keyEmitter.event,this.onTitleChange=this.titleChangeEmitter.event,this.onScroll=this.scrollEmitter.event,this.onRender=this.renderEmitter.event,this.onCursorMove=this.cursorMoveEmitter.event,this.isOpen=!1,this.isDisposed=!1,this.addons=[],this.currentTitle="",this.viewportY=0,this.targetViewportY=0,this.lastCursorY=0,this.isDraggingScrollbar=!1,this.scrollbarDragStart=null,this.scrollbarDragStartViewportY=0,this.scrollbarVisible=!1,this.scrollbarOpacity=0,this.SCROLLBAR_HIDE_DELAY_MS=1500,this.SCROLLBAR_FADE_DURATION_MS=200,this.animateScroll=()=>{if(!this.wasmTerm||this.scrollAnimationStartTime===void 0)return;const s=this.options.smoothScrollDuration??100,n=this.targetViewportY-this.viewportY;if(Math.abs(n)<.01){this.viewportY=this.targetViewportY,this.scrollEmitter.fire(Math.floor(this.viewportY)),this.getScrollbackLength()>0&&this.showScrollbar(),this.scrollAnimationFrame=void 0,this.scrollAnimationStartTime=void 0,this.scrollAnimationStartY=void 0;return}const r=1-(1/(s/1e3*60))**2;this.viewportY+=n*r;const i=Math.floor(this.viewportY);this.scrollEmitter.fire(i),this.getScrollbackLength()>0&&this.showScrollbar(),this.scrollAnimationFrame=requestAnimationFrame(this.animateScroll)},this.handleMouseMove=s=>{if(!(!this.canvas||!this.renderer||!this.wasmTerm)){if(this.isDraggingScrollbar){this.processScrollbarDrag(s);return}if(this.linkDetector){if(this.mouseMoveThrottleTimeout){this.pendingMouseMove=s;return}this.processMouseMove(s),this.mouseMoveThrottleTimeout=window.setTimeout(()=>{if(this.mouseMoveThrottleTimeout=void 0,this.pendingMouseMove){const n=this.pendingMouseMove;this.pendingMouseMove=void 0,this.processMouseMove(n)}},16)}}},this.handleMouseLeave=()=>{var s,n;this.renderer&&this.wasmTerm&&((this.renderer.hoveredHyperlinkId||0)>0&&this.renderer.setHoveredHyperlinkId(0),this.renderer.setHoveredLinkRange(null)),this.currentHoveredLink&&((n=(s=this.currentHoveredLink).hover)==null||n.call(s,!1),this.currentHoveredLink=void 0,this.element&&(this.element.style.cursor="text"))},this.handleClick=async s=>{if(!this.canvas||!this.renderer||!this.linkDetector||!this.wasmTerm)return;const n=this.canvas.getBoundingClientRect(),r=Math.floor((s.clientX-n.left)/this.renderer.charWidth),i=Math.floor((s.clientY-n.top)/this.renderer.charHeight),a=this.wasmTerm.getScrollbackLength();let g;const l=this.getViewportY(),Q=Math.max(0,Math.floor(l));if(Q>0)if(i<Q)g=a-Q+i;else{const C=i-Q;g=a+C}else g=a+i;const I=await this.linkDetector.getLinkAt(r,g);I&&(I.activate(s),(s.ctrlKey||s.metaKey)&&s.preventDefault())},this.handleWheel=s=>{var n,r,i;if(s.preventDefault(),s.stopPropagation(),!(this.customWheelEventHandler&&this.customWheelEventHandler(s)))if(((n=this.wasmTerm)==null?void 0:n.isAlternateScreen())??!1){const a=s.deltaY>0?"down":"up",g=Math.min(Math.abs(Math.round(s.deltaY/33)),5);for(let l=0;l<g;l++)a==="up"?this.dataEmitter.fire("\x1B[A"):this.dataEmitter.fire("\x1B[B")}else{let a;if(s.deltaMode===WheelEvent.DOM_DELTA_PIXEL){const g=((i=(r=this.renderer)==null?void 0:r.getMetrics())==null?void 0:i.height)??20;a=s.deltaY/g}else s.deltaMode===WheelEvent.DOM_DELTA_LINE?a=s.deltaY:s.deltaMode===WheelEvent.DOM_DELTA_PAGE?a=s.deltaY*this.rows:a=s.deltaY/33;if(a!==0){const g=this.viewportY-a;this.smoothScrollTo(g)}}},this.handleMouseDown=s=>{if(!this.canvas||!this.renderer||!this.wasmTerm)return;const n=this.wasmTerm.getScrollbackLength();if(n===0)return;const r=this.canvas.getBoundingClientRect(),i=s.clientX-r.left,a=s.clientY-r.top,g=r.width,l=r.height,Q=8,I=g-Q-4,C=4;if(i>=I&&i<=I+Q){s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation();const c=l-C*2,u=this.rows,p=n+u,f=Math.max(20,u/p*c),k=this.viewportY/n,v=C+(c-f)*(1-k);if(a>=v&&a<=v+f)this.isDraggingScrollbar=!0,this.scrollbarDragStart=a,this.scrollbarDragStartViewportY=this.viewportY,this.canvas&&(this.canvas.style.userSelect="none",this.canvas.style.webkitUserSelect="none");else{const D=1-(a-C)/c,j=Math.round(D*n);this.scrollToLine(Math.max(0,Math.min(n,j)))}}},this.handleMouseUp=()=>{this.isDraggingScrollbar&&(this.isDraggingScrollbar=!1,this.scrollbarDragStart=null,this.canvas&&(this.canvas.style.userSelect="",this.canvas.style.webkitUserSelect=""),this.scrollbarVisible&&this.getScrollbackLength()>0&&this.showScrollbar())},this.ghostty=e.ghostty??Fh();const t={cols:e.cols??80,rows:e.rows??24,cursorBlink:e.cursorBlink??!1,cursorStyle:e.cursorStyle??"block",theme:e.theme??{},scrollback:e.scrollback??1e4,fontSize:e.fontSize??15,fontFamily:e.fontFamily??"monospace",allowTransparency:e.allowTransparency??!1,convertEol:e.convertEol??!1,disableStdin:e.disableStdin??!1,smoothScrollDuration:e.smoothScrollDuration??100};this.options=new Proxy(t,{set:(s,n,r)=>{const i=s[n];return s[n]=r,this.isOpen&&this.handleOptionChange(n,r,i),!0}}),this.cols=this.options.cols,this.rows=this.options.rows,this.buffer=new Ch(this)}handleOptionChange(e,t,s){if(t!==s)switch(e){case"disableStdin":break;case"cursorBlink":case"cursorStyle":this.renderer&&(this.renderer.setCursorStyle(this.options.cursorStyle),this.renderer.setCursorBlink(this.options.cursorBlink));break;case"theme":this.renderer&&console.warn("ghostty-web: theme changes after open() are not yet fully supported");break;case"fontSize":this.renderer&&(this.renderer.setFontSize(this.options.fontSize),this.handleFontChange());break;case"fontFamily":this.renderer&&(this.renderer.setFontFamily(this.options.fontFamily),this.handleFontChange());break;case"cols":case"rows":this.resize(this.options.cols,this.options.rows);break}}handleFontChange(){if(!this.renderer||!this.wasmTerm||!this.canvas)return;this.selectionManager&&this.selectionManager.clearSelection(),this.renderer.resize(this.cols,this.rows);const e=this.renderer.getMetrics();this.canvas.width=e.width*this.cols,this.canvas.height=e.height*this.rows,this.canvas.style.width=`${e.width*this.cols}px`,this.canvas.style.height=`${e.height*this.rows}px`,this.renderer.render(this.wasmTerm,!0,this.viewportY,this)}parseColorToHex(e){if(!e)return 0;if(e.startsWith("#")){let s=e.slice(1);s.length===3&&(s=s[0]+s[0]+s[1]+s[1]+s[2]+s[2]);const n=Number.parseInt(s,16);return Number.isNaN(n)?0:n}const t=e.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);if(t){const s=Number.parseInt(t[1],10),n=Number.parseInt(t[2],10),r=Number.parseInt(t[3],10);return s<<16|n<<8|r}return 0}buildWasmConfig(){const e=this.options.theme,t=this.options.scrollback;if(!e&&t===1e4)return;const s=[this.parseColorToHex(e?.black),this.parseColorToHex(e?.red),this.parseColorToHex(e?.green),this.parseColorToHex(e?.yellow),this.parseColorToHex(e?.blue),this.parseColorToHex(e?.magenta),this.parseColorToHex(e?.cyan),this.parseColorToHex(e?.white),this.parseColorToHex(e?.brightBlack),this.parseColorToHex(e?.brightRed),this.parseColorToHex(e?.brightGreen),this.parseColorToHex(e?.brightYellow),this.parseColorToHex(e?.brightBlue),this.parseColorToHex(e?.brightMagenta),this.parseColorToHex(e?.brightCyan),this.parseColorToHex(e?.brightWhite)];return{scrollbackLimit:t,fgColor:this.parseColorToHex(e?.foreground),bgColor:this.parseColorToHex(e?.background),cursorColor:this.parseColorToHex(e?.cursor),palette:s}}open(e){if(this.isOpen)throw new Error("Terminal is already open");if(this.isDisposed)throw new Error("Terminal has been disposed");this.element=e,this.isOpen=!0;try{e.hasAttribute("tabindex")||e.setAttribute("tabindex","0"),e.setAttribute("contenteditable","true"),e.addEventListener("beforeinput",n=>n.preventDefault()),e.setAttribute("role","textbox"),e.setAttribute("aria-label","Terminal input"),e.setAttribute("aria-multiline","true");const t=this.buildWasmConfig();this.wasmTerm=this.ghostty.createTerminal(this.cols,this.rows,t),this.canvas=document.createElement("canvas"),this.canvas.style.display="block",e.appendChild(this.canvas),this.textarea=document.createElement("textarea"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.setAttribute("tabindex","0"),this.textarea.setAttribute("aria-label","Terminal input"),this.textarea.style.position="absolute",this.textarea.style.left="0",this.textarea.style.top="0",this.textarea.style.width="1px",this.textarea.style.height="1px",this.textarea.style.padding="0",this.textarea.style.border="none",this.textarea.style.margin="0",this.textarea.style.opacity="0",this.textarea.style.clipPath="inset(50%)",this.textarea.style.overflow="hidden",this.textarea.style.whiteSpace="nowrap",this.textarea.style.resize="none",e.appendChild(this.textarea);const s=this.textarea;this.canvas.addEventListener("mousedown",n=>{n.preventDefault(),s.focus()}),this.canvas.addEventListener("touchend",n=>{n.preventDefault(),s.focus()}),this.renderer=new mh(this.canvas,{fontSize:this.options.fontSize,fontFamily:this.options.fontFamily,cursorStyle:this.options.cursorStyle,cursorBlink:this.options.cursorBlink,theme:this.options.theme}),this.renderer.resize(this.cols,this.rows),this.inputHandler=new dh(this.ghostty,e,n=>{this.options.disableStdin||this.dataEmitter.fire(n)},()=>{this.bellEmitter.fire()},n=>{this.keyEmitter.fire(n)},this.customKeyEventHandler,n=>{var r;return((r=this.wasmTerm)==null?void 0:r.getMode(n,!1))??!1}),this.selectionManager=new wh(this,this.renderer,this.wasmTerm,this.textarea),this.renderer.setSelectionManager(this.selectionManager),this.selectionManager.onSelectionChange(()=>{this.selectionChangeEmitter.fire()}),this.textarea.addEventListener("paste",n=>{var r;n.preventDefault(),n.stopPropagation();const i=(r=n.clipboardData)==null?void 0:r.getData("text");i&&this.paste(i)}),this.linkDetector=new hh(this),this.linkDetector.registerProvider(new fh(this)),this.linkDetector.registerProvider(new ph(this)),e.addEventListener("mousedown",this.handleMouseDown,{capture:!0}),e.addEventListener("mousemove",this.handleMouseMove),e.addEventListener("mouseleave",this.handleMouseLeave),e.addEventListener("click",this.handleClick),document.addEventListener("mouseup",this.handleMouseUp),e.addEventListener("wheel",this.handleWheel,{passive:!1,capture:!0}),this.renderer.render(this.wasmTerm,!0,this.viewportY,this,this.scrollbarOpacity),this.startRenderLoop(),this.focus()}catch(t){throw this.isOpen=!1,this.cleanupComponents(),new Error(`Failed to open terminal: ${t}`)}}write(e,t){this.assertOpen(),this.options.convertEol&&typeof e=="string"&&(e=e.replace(/\n/g,`\r
|
|
15
|
-
`)),this.writeInternal(e,t)}writeInternal(e,t){var s;this.wasmTerm.write(e),this.processTerminalResponses(),typeof e=="string"&&e.includes("\x07")?this.bellEmitter.fire():e instanceof Uint8Array&&e.includes(7)&&this.bellEmitter.fire(),(s=this.linkDetector)==null||s.invalidateCache(),this.viewportY!==0&&this.scrollToBottom(),typeof e=="string"&&e.includes("\x1B]")&&this.checkForTitleChange(e),t&&requestAnimationFrame(t)}writeln(e,t){if(typeof e=="string")this.write(e+`\r
|
|
16
|
-
`,t);else{const s=new Uint8Array(e.length+2);s.set(e),s[e.length]=13,s[e.length+1]=10,this.write(s,t)}}paste(e){this.assertOpen(),!this.options.disableStdin&&(this.wasmTerm.hasBracketedPaste()?this.dataEmitter.fire("\x1B[200~"+e+"\x1B[201~"):this.dataEmitter.fire(e))}input(e,t=!1){this.assertOpen(),!this.options.disableStdin&&(t?this.dataEmitter.fire(e):this.write(e))}resize(e,t){if(this.assertOpen(),e===this.cols&&t===this.rows)return;this.cols=e,this.rows=t,this.wasmTerm.resize(e,t),this.renderer.resize(e,t);const s=this.renderer.getMetrics();this.canvas.width=s.width*e,this.canvas.height=s.height*t,this.canvas.style.width=`${s.width*e}px`,this.canvas.style.height=`${s.height*t}px`,this.resizeEmitter.fire({cols:e,rows:t}),this.renderer.render(this.wasmTerm,!0,this.viewportY,this)}clear(){this.assertOpen(),this.wasmTerm.write("\x1B[2J\x1B[H")}reset(){this.assertOpen(),this.wasmTerm&&this.wasmTerm.free();const e=this.buildWasmConfig();this.wasmTerm=this.ghostty.createTerminal(this.cols,this.rows,e),this.renderer.clear(),this.currentTitle=""}focus(){this.isOpen&&this.element&&(this.element.focus(),setTimeout(()=>{var e;(e=this.element)==null||e.focus()},0))}blur(){this.isOpen&&this.element&&this.element.blur()}loadAddon(e){e.activate(this),this.addons.push(e)}getSelection(){var e;return((e=this.selectionManager)==null?void 0:e.getSelection())||""}hasSelection(){var e;return((e=this.selectionManager)==null?void 0:e.hasSelection())||!1}clearSelection(){var e;(e=this.selectionManager)==null||e.clearSelection()}selectAll(){var e;(e=this.selectionManager)==null||e.selectAll()}select(e,t,s){var n;(n=this.selectionManager)==null||n.select(e,t,s)}selectLines(e,t){var s;(s=this.selectionManager)==null||s.selectLines(e,t)}getViewportY(){return this.viewportY}getSelectionPosition(){var e;return(e=this.selectionManager)==null?void 0:e.getSelectionPosition()}attachCustomKeyEventHandler(e){this.customKeyEventHandler=e,this.inputHandler&&this.inputHandler.setCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this.customWheelEventHandler=e}registerLinkProvider(e){if(!this.linkDetector)throw new Error("Terminal must be opened before registering link providers");this.linkDetector.registerProvider(e)}scrollLines(e){if(!this.wasmTerm)throw new Error("Terminal not open");const t=this.getScrollbackLength(),s=Math.max(0,Math.min(t,this.viewportY-e));s!==this.viewportY&&(this.viewportY=s,this.scrollEmitter.fire(this.viewportY),t>0&&this.showScrollbar())}scrollPages(e){this.scrollLines(e*this.rows)}scrollToTop(){const e=this.getScrollbackLength();e>0&&this.viewportY!==e&&(this.viewportY=e,this.scrollEmitter.fire(this.viewportY),this.showScrollbar())}scrollToBottom(){this.viewportY!==0&&(this.viewportY=0,this.scrollEmitter.fire(this.viewportY),this.getScrollbackLength()>0&&this.showScrollbar())}scrollToLine(e){const t=this.getScrollbackLength(),s=Math.max(0,Math.min(t,e));s!==this.viewportY&&(this.viewportY=s,this.scrollEmitter.fire(this.viewportY),t>0&&this.showScrollbar())}smoothScrollTo(e){if(!this.wasmTerm)return;const t=this.getScrollbackLength(),s=Math.max(0,Math.min(t,e));if((this.options.smoothScrollDuration??100)===0){this.viewportY=s,this.targetViewportY=s,this.scrollEmitter.fire(Math.floor(this.viewportY)),t>0&&this.showScrollbar();return}this.targetViewportY=s,!this.scrollAnimationFrame&&(this.scrollAnimationStartTime=Date.now(),this.scrollAnimationStartY=this.viewportY,this.animateScroll())}dispose(){if(!this.isDisposed){this.isDisposed=!0,this.isOpen=!1,this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=void 0),this.scrollAnimationFrame&&(cancelAnimationFrame(this.scrollAnimationFrame),this.scrollAnimationFrame=void 0),this.mouseMoveThrottleTimeout&&(clearTimeout(this.mouseMoveThrottleTimeout),this.mouseMoveThrottleTimeout=void 0),this.pendingMouseMove=void 0;for(const e of this.addons)e.dispose();this.addons=[],this.cleanupComponents(),this.dataEmitter.dispose(),this.resizeEmitter.dispose(),this.bellEmitter.dispose(),this.selectionChangeEmitter.dispose(),this.keyEmitter.dispose(),this.titleChangeEmitter.dispose(),this.scrollEmitter.dispose(),this.renderEmitter.dispose(),this.cursorMoveEmitter.dispose()}}startRenderLoop(){const e=()=>{if(!this.isDisposed&&this.isOpen){this.renderer.render(this.wasmTerm,!1,this.viewportY,this,this.scrollbarOpacity);const t=this.wasmTerm.getCursor();t.y!==this.lastCursorY&&(this.lastCursorY=t.y,this.cursorMoveEmitter.fire()),this.animationFrameId=requestAnimationFrame(e)}};e()}getScrollbackLine(e){return this.wasmTerm?this.wasmTerm.getScrollbackLine(e):null}getScrollbackLength(){return this.wasmTerm?this.wasmTerm.getScrollbackLength():0}cleanupComponents(){this.selectionManager&&(this.selectionManager.dispose(),this.selectionManager=void 0),this.inputHandler&&(this.inputHandler.dispose(),this.inputHandler=void 0),this.renderer&&(this.renderer.dispose(),this.renderer=void 0),this.canvas&&this.canvas.parentNode&&(this.canvas.parentNode.removeChild(this.canvas),this.canvas=void 0),this.textarea&&this.textarea.parentNode&&(this.textarea.parentNode.removeChild(this.textarea),this.textarea=void 0),this.element&&(this.element.removeEventListener("wheel",this.handleWheel),this.element.removeEventListener("mousedown",this.handleMouseDown,{capture:!0}),this.element.removeEventListener("mousemove",this.handleMouseMove),this.element.removeEventListener("mouseleave",this.handleMouseLeave),this.element.removeEventListener("click",this.handleClick),this.element.removeAttribute("contenteditable"),this.element.removeAttribute("role"),this.element.removeAttribute("aria-label"),this.element.removeAttribute("aria-multiline")),this.isOpen&&typeof document<"u"&&document.removeEventListener("mouseup",this.handleMouseUp),this.scrollbarHideTimeout&&(window.clearTimeout(this.scrollbarHideTimeout),this.scrollbarHideTimeout=void 0),this.linkDetector&&(this.linkDetector.dispose(),this.linkDetector=void 0),this.wasmTerm&&(this.wasmTerm.free(),this.wasmTerm=void 0),this.ghostty=void 0,this.element=void 0,this.textarea=void 0}assertOpen(){if(this.isDisposed)throw new Error("Terminal has been disposed");if(!this.isOpen)throw new Error("Terminal must be opened before use. Call terminal.open(parent) first.")}processMouseMove(e){if(!this.canvas||!this.renderer||!this.linkDetector||!this.wasmTerm)return;const t=this.canvas.getBoundingClientRect(),s=Math.floor((e.clientX-t.left)/this.renderer.charWidth),n=Math.floor((e.clientY-t.top)/this.renderer.charHeight);let r=0,i=null;const a=this.getViewportY(),g=Math.max(0,Math.floor(a));if(g>0){const u=this.wasmTerm.getScrollbackLength();if(n<g){const p=u-g+n;i=this.wasmTerm.getScrollbackLine(p)}else{const p=n-g;i=this.wasmTerm.getLine(p)}}else i=this.wasmTerm.getLine(n);i&&s>=0&&s<i.length&&(r=i[s].hyperlink_id);const l=this.renderer.hoveredHyperlinkId||0;r!==l&&this.renderer.setHoveredHyperlinkId(r);const Q=this.wasmTerm.getScrollbackLength();let I;const C=this.getViewportY(),c=Math.max(0,Math.floor(C));if(c>0)if(n<c)I=Q-c+n;else{const u=n-c;I=Q+u}else I=Q+n;this.linkDetector.getLinkAt(s,I).then(u=>{var p,f,k,v;if(u!==this.currentHoveredLink&&((f=(p=this.currentHoveredLink)==null?void 0:p.hover)==null||f.call(p,!1),this.currentHoveredLink=u,(k=u?.hover)==null||k.call(u,!0),this.element&&(this.element.style.cursor=u?"pointer":"text"),this.renderer))if(u){const D=((v=this.wasmTerm)==null?void 0:v.getScrollbackLength())||0,j=this.getViewportY(),K=Math.max(0,Math.floor(j)),V=u.range.start.y-D+K,eA=u.range.end.y-D+K;V<this.rows&&eA>=0?this.renderer.setHoveredLinkRange({startX:u.range.start.x,startY:Math.max(0,V),endX:u.range.end.x,endY:Math.min(this.rows-1,eA)}):this.renderer.setHoveredLinkRange(null)}else this.renderer.setHoveredLinkRange(null)}).catch(u=>{console.warn("Link detection error:",u)})}processScrollbarDrag(e){if(!this.canvas||!this.renderer||!this.wasmTerm||this.scrollbarDragStart===null)return;const t=this.wasmTerm.getScrollbackLength();if(t===0)return;const s=this.canvas.getBoundingClientRect(),n=e.clientY-s.top-this.scrollbarDragStart,r=s.height-8,i=this.rows,a=t+i,g=Math.max(20,i/a*r),l=-n/(r-g),Q=Math.round(l*t),I=this.scrollbarDragStartViewportY+Q;this.scrollToLine(Math.max(0,Math.min(t,I)))}showScrollbar(){this.scrollbarHideTimeout&&(window.clearTimeout(this.scrollbarHideTimeout),this.scrollbarHideTimeout=void 0),this.scrollbarVisible?this.scrollbarOpacity=1:(this.scrollbarVisible=!0,this.scrollbarOpacity=0,this.fadeInScrollbar()),this.isDraggingScrollbar||(this.scrollbarHideTimeout=window.setTimeout(()=>{this.hideScrollbar()},this.SCROLLBAR_HIDE_DELAY_MS))}hideScrollbar(){this.scrollbarHideTimeout&&(window.clearTimeout(this.scrollbarHideTimeout),this.scrollbarHideTimeout=void 0),this.scrollbarVisible&&this.fadeOutScrollbar()}fadeInScrollbar(){const e=Date.now(),t=()=>{const s=Date.now()-e,n=Math.min(s/this.SCROLLBAR_FADE_DURATION_MS,1);this.scrollbarOpacity=n,this.renderer&&this.wasmTerm&&this.renderer.render(this.wasmTerm,!1,this.viewportY,this,this.scrollbarOpacity),n<1&&requestAnimationFrame(t)};t()}fadeOutScrollbar(){const e=Date.now(),t=this.scrollbarOpacity,s=()=>{const n=Date.now()-e,r=Math.min(n/this.SCROLLBAR_FADE_DURATION_MS,1);this.scrollbarOpacity=t*(1-r),this.renderer&&this.wasmTerm&&this.renderer.render(this.wasmTerm,!1,this.viewportY,this,this.scrollbarOpacity),r<1?requestAnimationFrame(s):(this.scrollbarVisible=!1,this.scrollbarOpacity=0,this.renderer&&this.wasmTerm&&this.renderer.render(this.wasmTerm,!1,this.viewportY,this,0))};s()}processTerminalResponses(){if(!this.wasmTerm)return;const e=this.wasmTerm.readResponse();e&&this.dataEmitter.fire(e)}checkForTitleChange(e){const t=/\x1b\]([012]);([^\x07\x1b]*?)(?:\x07|\x1b\\)/g;let s=null;for(;(s=t.exec(e))!==null;){const n=s[1],r=s[2];(n==="0"||n==="2")&&r!==this.currentTitle&&(this.currentTitle=r,this.titleChangeEmitter.fire(r))}}getMode(e,t=!1){return this.assertOpen(),this.wasmTerm.getMode(e,t)}hasBracketedPaste(){return this.assertOpen(),this.wasmTerm.hasBracketedPaste()}hasFocusEvents(){return this.assertOpen(),this.wasmTerm.hasFocusEvents()}hasMouseTracking(){return this.assertOpen(),this.wasmTerm.hasMouseTracking()}}const Dh=2,yh=1,Nh=15,kh=100;class Mh{constructor(){this._isResizing=!1}activate(e){this._terminal=e}dispose(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=void 0),this._resizeDebounceTimer&&(clearTimeout(this._resizeDebounceTimer),this._resizeDebounceTimer=void 0),this._lastCols=void 0,this._lastRows=void 0,this._terminal=void 0}fit(){if(this._isResizing)return;const e=this.proposeDimensions();if(!e||!this._terminal)return;const t=this._terminal,s=t.cols,n=t.rows;if(!(e.cols===this._lastCols&&e.rows===this._lastRows||e.cols===s&&e.rows===n)){this._lastCols=e.cols,this._lastRows=e.rows,this._isResizing=!0;try{t.resize&&typeof t.resize=="function"&&t.resize(e.cols,e.rows)}finally{setTimeout(()=>{this._isResizing=!1},50)}}}proposeDimensions(){var e;if(!((e=this._terminal)!=null&&e.element))return;const t=this._terminal.renderer;if(!t||typeof t.getMetrics!="function")return;const s=t.getMetrics();if(!s||s.width===0||s.height===0)return;const n=this._terminal.element;if(typeof n.clientWidth>"u")return;const r=window.getComputedStyle(n),i=Number.parseInt(r.getPropertyValue("padding-top"))||0,a=Number.parseInt(r.getPropertyValue("padding-bottom"))||0,g=Number.parseInt(r.getPropertyValue("padding-left"))||0,l=Number.parseInt(r.getPropertyValue("padding-right"))||0,Q=n.clientWidth,I=n.clientHeight;if(Q===0||I===0)return;const C=Q-g-l-Nh,c=I-i-a,u=Math.max(Dh,Math.floor(C/s.width)),p=Math.max(yh,Math.floor(c/s.height));return{cols:u,rows:p}}observeResize(){var e;(e=this._terminal)!=null&&e.element&&(this._resizeObserver||(this._resizeObserver=new ResizeObserver(t=>{this._isResizing||!t[0]||(this._resizeDebounceTimer&&clearTimeout(this._resizeDebounceTimer),this._resizeDebounceTimer=setTimeout(()=>{this.fit()},kh))}),this._resizeObserver.observe(this._terminal.element)))}}let hn=null;async function bh(){hn||(hn=await Er.load())}function Fh(){if(!hn)throw new Error(`ghostty-web not initialized. Call init() before creating Terminal instances.
|
|
17
|
-
Example:
|
|
18
|
-
import { init, Terminal } from "ghostty-web";
|
|
19
|
-
await init();
|
|
20
|
-
const term = new Terminal();
|
|
21
|
-
|
|
22
|
-
For tests, pass a Ghostty instance directly:
|
|
23
|
-
import { Ghostty, Terminal } from "ghostty-web";
|
|
24
|
-
const ghostty = await Ghostty.load();
|
|
25
|
-
const term = new Terminal({ ghostty });`);return hn}const Gh={};function yB(){const A=Gh?.VITE_API_BASE_URL;if(A)return A;if(typeof window<"u"){const e=window;if(e.OTTO_SERVER_URL)return e.OTTO_SERVER_URL;if(e.__OTTO_API_URL__)return e.__OTTO_API_URL__}return"http://localhost:9100"}function NB(){return yB()}const rs=yB(),vh='"JetBrainsMono NFM", monospace',Sh=1500,Uh=5,Rh=600;function Kh(){if(typeof document>"u")return"#121216";const A=document.createElement("div");A.style.display="none",A.className="bg-background",document.body.appendChild(A);const e=getComputedStyle(A).backgroundColor;document.body.removeChild(A);const t=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);if(t){const s=Number(t[1]),n=Number(t[2]),r=Number(t[3]);return`#${(1<<24|s<<16|n<<8|r).toString(16).slice(1)}`}return"#121216"}let nl=!1;async function Lh(){if(nl||typeof document>"u"||!("FontFace"in window))return;const e=[{file:"JetBrainsMonoNerdFontMono-Regular.woff2",weight:"400",style:"normal"},{file:"JetBrainsMonoNerdFontMono-Bold.woff2",weight:"700",style:"normal"},{file:"JetBrainsMonoNerdFontMono-Italic.woff2",weight:"400",style:"italic"},{file:"JetBrainsMonoNerdFontMono-BoldItalic.woff2",weight:"700",style:"italic"}].map(async t=>{try{const s=new URL(Object.assign({"../../assets/fonts/JetBrainsMonoNerdFontMono-Bold.woff2":fB,"../../assets/fonts/JetBrainsMonoNerdFontMono-BoldItalic.woff2":pB,"../../assets/fonts/JetBrainsMonoNerdFontMono-Italic.woff2":mB,"../../assets/fonts/JetBrainsMonoNerdFontMono-Regular.woff2":wB})[`../../assets/fonts/${t.file}`],import.meta.url).href,r=await new FontFace("JetBrainsMono NFM",`url("${s}") format("woff2")`,{weight:t.weight,style:t.style}).load();document.fonts.add(r)}catch{}});await Promise.allSettled(e),nl=!0}function Jh(){const A=MA.getConfig?.();return A&&typeof A.baseURL=="string"&&A.baseURL.length>0?A.baseURL:NB()}function jh(A){return A.replace(/^http/,"ws")}function Th({terminalId:A,isActive:e,onExit:t}){const s=x.useRef(null),n=x.useRef(null),r=x.useRef(null),i=x.useRef(null),a=x.useRef(0),g=x.useRef(null),[l,Q]=x.useState(!1),I=x.useRef(t);I.current=t;const C=x.useRef(null),c=x.useRef(!1),u=x.useRef("#121216"),p=x.useRef(!1),f=x.useRef(null),k=x.useCallback(()=>{if(r.current)try{r.current.fit()}catch{}},[]),v=x.useCallback((D,j)=>{i.current&&(i.current.close(),i.current=null);const V=`${jh(j)}/v1/terminals/${A}/ws`,eA=new WebSocket(V);i.current=eA;let X=!1;eA.onopen=()=>{a.current=0,D.cols&&D.rows&&eA.send(JSON.stringify({type:"resize",cols:D.cols,rows:D.rows}))},eA.onmessage=R=>{const W=typeof R.data=="string"?R.data:"";if(W.startsWith("{"))try{const L=JSON.parse(W);if(L.type==="exit"){D.write(`\r
|
|
26
|
-
\x1B[33m[Process exited with code ${L.exitCode}]\x1B[0m\r
|
|
27
|
-
`),I.current&&I.current(A);return}}catch{}const O=c.current?D.getViewportY():0;D.write(W),c.current&&O>0&&D.scrollToLine(O),X||(X=!0,setTimeout(()=>Q(!0),200))},eA.onerror=()=>{},eA.onclose=()=>{i.current===eA&&(i.current=null),!p.current&&a.current<Uh&&(a.current++,g.current=setTimeout(()=>{n.current&&!p.current&&v(n.current,j)},Sh))}},[A]);return x.useEffect(()=>{if(!s.current||!A)return;let D=!1;p.current=!1;let j=null,K=null,V=null;return Q(!1),a.current=0,i.current&&(i.current.close(),i.current=null),g.current&&(clearTimeout(g.current),g.current=null),(async()=>{if(await bh(),D||!s.current)return;await Lh(),await document.fonts.ready;const X=Kh();j=new xh({theme:{background:X,foreground:"#d4d4d4",cursor:"#ffffff",cursorAccent:"#000000",selectionBackground:"#264f78",black:"#000000",red:"#cd3131",green:"#0dbc79",yellow:"#e5e510",blue:"#2472c8",magenta:"#bc3fbc",cyan:"#11a8cd",white:"#e5e5e5",brightBlack:"#666666",brightRed:"#f14c4c",brightGreen:"#23d18b",brightYellow:"#f5f543",brightBlue:"#3b8eea",brightMagenta:"#d670d6",brightCyan:"#29b8db",brightWhite:"#e5e5e5"},fontSize:13,fontFamily:vh,cursorBlink:!0,convertEol:!0,scrollback:5e3}),K=new Mh,j.loadAddon(K),j.open(s.current),j.onData(()=>{n.current?.renderer&&(n.current.renderer.setCursorBlink(!1),C.current&&clearTimeout(C.current),C.current=setTimeout(()=>{n.current?.renderer&&document.activeElement&&s.current?.contains(document.activeElement)&&n.current.renderer.setCursorBlink(!0)},Rh))}),u.current=X;const R=()=>{n.current?.renderer&&(n.current.renderer.setCursorBlink(!0),n.current.renderer.setTheme({cursor:"#ffffff",cursorAccent:"#000000"}))},W=()=>{n.current?.renderer&&(n.current.renderer.setCursorBlink(!1),n.current.renderer.setTheme({cursor:u.current,cursorAccent:u.current}))};if(s.current.addEventListener("focusin",R),s.current.addEventListener("focusout",W),f.current={focusin:R,focusout:W},await new Promise(L=>{requestAnimationFrame(()=>{try{K?.fit()}catch{}L()})}),D)return;const O=Jh();v(j,O),j.onData(L=>{i.current?.readyState===WebSocket.OPEN&&i.current.send(L)}),j.onResize(({cols:L,rows:w})=>{i.current?.readyState===WebSocket.OPEN&&i.current.send(JSON.stringify({type:"resize",cols:L,rows:w}))}),j.onScroll(()=>{c.current=j.getViewportY()>0}),n.current=j,r.current=K,V=new ResizeObserver(()=>{requestAnimationFrame(()=>{if(r.current&&!D)try{r.current.fit()}catch{}})}),V.observe(s.current),setTimeout(()=>{D||Q(!0)},2e3)})().catch(X=>{console.error("[TerminalViewer] Failed to initialize:",X)}),()=>{D=!0,p.current=!0,s.current&&f.current&&(s.current.removeEventListener("focusin",f.current.focusin),s.current.removeEventListener("focusout",f.current.focusout),f.current=null),C.current&&(clearTimeout(C.current),C.current=null),g.current&&(clearTimeout(g.current),g.current=null),i.current&&(i.current.close(),i.current=null),V&&V.disconnect(),j&&j.dispose(),n.current=null,r.current=null}},[A,v]),x.useEffect(()=>{const D=n.current;D&&(e?(k(),D.focus()):(D.blur(),D.renderer&&(D.renderer.setCursorBlink(!1),D.renderer.setTheme({cursor:u.current,cursorAccent:u.current}))))},[e,k]),x.useEffect(()=>{k()},[k]),o.jsx("div",{className:"flex h-full flex-col overflow-hidden bg-background absolute inset-0",style:{visibility:e?"visible":"hidden"},"data-terminal-viewer":!0,children:o.jsxs("div",{className:"relative flex-1 min-h-0 overflow-hidden",children:[o.jsx("div",{ref:s,className:"absolute inset-0 bg-background"}),o.jsx("div",{className:"absolute inset-0 bg-background flex items-center justify-center pointer-events-none transition-opacity duration-300",style:{opacity:l?0:1},children:o.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[o.jsxs("svg",{className:"animate-spin h-4 w-4",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:[o.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),o.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),o.jsx("span",{className:"text-xs",children:"Loading terminal…"})]})})]})})}const il=150,Oh=.85,qh=x.memo(function(){const e=io(K=>K.isOpen),t=io(K=>K.panelHeight),s=io(K=>K.setPanelHeight),n=io(K=>K.activeTabId),r=io(K=>K.selectTab),i=io(K=>K.closePanel),a=io(K=>K.isMaximized),g=io(K=>K.toggleMaximize),l=io(K=>K.togglePanel),{data:Q}=hB(),I=lh(),C=Qh(),c=x.useRef(null),u=Q?.terminals??[],p=x.useRef(!1),f=x.useRef(u);f.current=u,x.useEffect(()=>{e&&f.current.length>0&&(!n||!f.current.find(K=>K.id===n))&&r(f.current[0].id)},[e,u.length,n,r]),x.useEffect(()=>{e&&Q&&u.length===0&&!p.current&&!I.isPending&&(p.current=!0,I.mutateAsync({command:"bash",purpose:"Manual shell"}).then(K=>{r(K.terminalId)}).catch(()=>{}).finally(()=>{p.current=!1}))},[e,Q,u.length,r]);const k=x.useCallback(async()=>{try{const K=await I.mutateAsync({command:"bash",purpose:"Manual shell"});r(K.terminalId)}catch{}},[I,r]),v=x.useCallback(async K=>{try{if(await C.mutateAsync(K),n===K){const V=f.current.filter(eA=>eA.id!==K);V.length>0?r(V[0].id):(r(null),i())}}catch{}},[C,n,r,i]);x.useEffect(()=>{const K=V=>{V.key==="`"&&V.ctrlKey&&(V.preventDefault(),l())};return window.addEventListener("keydown",K),()=>window.removeEventListener("keydown",K)},[l]);const D=x.useCallback(K=>{K.preventDefault(),c.current={startY:K.clientY,startHeight:t};const V=X=>{if(!c.current)return;const R=c.current.startY-X.clientY,W=c.current.startHeight+R,O=window.innerHeight*Oh;s(Math.min(Math.max(il,W),O))},eA=()=>{c.current=null,document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",eA),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",V),document.addEventListener("mouseup",eA),document.body.style.cursor="row-resize",document.body.style.userSelect="none"},[t,s]);if(!e)return null;const j=a?"100%":`${t}px`;return o.jsxs("div",{className:"border-t border-border bg-background flex flex-col shrink-0 relative",style:{height:j,minHeight:il},children:[!a&&o.jsx("div",{className:"h-2 w-full cursor-row-resize hover:bg-primary/30 active:bg-primary/50 transition-colors absolute -top-1 left-0 right-0 z-10",onMouseDown:D}),o.jsxs("div",{className:"h-9 border-b border-border flex items-center shrink-0",children:[o.jsxs("div",{className:"flex items-center gap-1.5 px-3 shrink-0 border-r border-border h-full",children:[o.jsx(oo,{className:"w-3.5 h-3.5 text-muted-foreground"}),o.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"Terminal"}),u.length>0&&o.jsxs("span",{className:"text-[10px] text-muted-foreground/70",children:["(",u.length,")"]})]}),o.jsx(Bh,{terminals:u,onNewTerminal:k,onKillTerminal:v,isCreating:I.isPending}),o.jsxs("div",{className:"ml-auto flex items-center gap-0.5 px-2 shrink-0",children:[o.jsx("button",{type:"button",className:"p-1 rounded text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",onClick:g,title:a?"Restore":"Maximize",children:a?o.jsx(va,{className:"w-3.5 h-3.5"}):o.jsx(FQ,{className:"w-3.5 h-3.5"})}),o.jsx("button",{type:"button",className:"p-1 rounded text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",onClick:i,title:"Close panel",children:o.jsx(qt,{className:"w-3.5 h-3.5"})})]})]}),o.jsxs("div",{className:"flex-1 min-h-0 overflow-hidden relative",children:[u.map(K=>o.jsx(Th,{terminalId:K.id,isActive:K.id===n,onExit:v},K.id)),u.length===0&&o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground",children:[o.jsx(oo,{className:"w-8 h-8 mb-2 opacity-40"}),o.jsx("div",{className:"text-xs",children:"No terminals running"})]})]})]})}),Yh=x.memo(function(){const e=io(r=>r.isOpen),t=io(r=>r.togglePanel),{data:s}=hB(),n=s?.count??0;return o.jsxs("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center ${e?"bg-muted border-r-2 border-primary":"hover:bg-muted/50"}`,title:"Terminals",children:[o.jsx(oo,{className:"w-5 h-5 text-muted-foreground mx-auto"}),n>0&&o.jsx("span",{className:"absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold",children:n>9?"9+":n})]})}),le=x.forwardRef(({className:A="",variant:e="primary",size:t="md",...s},n)=>{const r="inline-flex items-center justify-center rounded font-medium transition-colors focus-visible:outline-none disabled:opacity-50 disabled:cursor-not-allowed",i={primary:"bg-primary text-primary-foreground hover:bg-primary/90",secondary:"bg-muted text-foreground hover:bg-muted/80 border border-border",ghost:"text-muted-foreground hover:text-foreground hover:bg-muted/50"},a={sm:"px-3 py-1.5 text-sm",md:"px-4 py-2 text-sm",lg:"px-6 py-3 text-base",icon:"w-10 h-10 p-0"};return o.jsx("button",{ref:n,className:`${r} ${i[e]} ${a[t]} ${A}`,...s})});le.displayName="Button";const Hh=x.forwardRef(({className:A="",children:e,...t},s)=>o.jsx("div",{ref:s,className:`bg-card text-card-foreground border border-border rounded-lg ${A}`,...t,children:e}));Hh.displayName="Card";const ln=x.forwardRef(({className:A="",...e},t)=>o.jsx("input",{ref:t,className:`w-full px-3 py-2 bg-muted border border-border rounded text-foreground placeholder-muted-foreground outline-none ${A}`,...e}));ln.displayName="Input";const Yn=x.forwardRef(({className:A="",...e},t)=>o.jsx("textarea",{ref:t,className:`w-full px-3 py-2 bg-muted border border-border rounded text-foreground placeholder-muted-foreground outline-none resize-none ${A}`,...e}));Yn.displayName="Textarea";const Va=ht(A=>({isOpen:!1,title:"Confirm Action",message:"",confirmLabel:"Confirm",cancelLabel:"Cancel",variant:"default",onConfirm:()=>{},onCancel:void 0,openConfirmation:e=>A({isOpen:!0,title:e.title||"Confirm Action",message:e.message,confirmLabel:e.confirmLabel||"Confirm",cancelLabel:e.cancelLabel||"Cancel",variant:e.variant||"default",onConfirm:e.onConfirm,onCancel:e.onCancel}),closeConfirmation:()=>A({isOpen:!1,onConfirm:()=>{},onCancel:void 0})}));function Ph(){const{isOpen:A,title:e,message:t,confirmLabel:s,cancelLabel:n,variant:r,onConfirm:i,onCancel:a,closeConfirmation:g}=Va(),[l,Q]=x.useState(!1);x.useEffect(()=>{A||Q(!1)},[A]);const I=x.useCallback(async()=>{Q(!0);try{await i(),g()}catch(u){console.error("Confirmation action failed:",u),Q(!1)}},[i,g]),C=x.useCallback(()=>{a?.(),g()},[a,g]),c=u=>{u.target===u.currentTarget&&!l&&C()};return x.useEffect(()=>{const u=p=>{if(A&&!l){const f=p.target,k=f.tagName==="INPUT"||f.tagName==="TEXTAREA"||f.isContentEditable;(p.key==="Escape"||p.key==="q"&&!k)&&(p.preventDefault(),C()),p.key==="Enter"&&(p.preventDefault(),I())}};if(A)return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[A,l,I,C]),A?o.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:c,onKeyDown:u=>{const p=u.target,f=p.tagName==="INPUT"||p.tagName==="TEXTAREA"||p.isContentEditable;(u.key==="Escape"||u.key==="q"&&!f)&&!l&&(u.preventDefault(),C())},children:o.jsxs("div",{className:"bg-background border border-border rounded-lg shadow-lg max-w-md w-full mx-4",children:[o.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[r==="destructive"&&o.jsx(wo,{className:"w-5 h-5 text-destructive"}),o.jsx("h2",{className:"text-lg font-semibold",children:e})]}),o.jsx("button",{type:"button",onClick:C,disabled:l,className:"p-1 hover:bg-muted rounded transition-colors disabled:opacity-50","aria-label":"Close",children:o.jsx(ct,{className:"w-5 h-5"})})]}),o.jsx("div",{className:"p-4",children:o.jsx("p",{className:"text-muted-foreground",children:t})}),o.jsxs("div",{className:"flex items-center justify-end gap-3 p-4 border-t border-border",children:[o.jsx("button",{type:"button",onClick:C,disabled:l,className:"px-4 py-2 text-sm font-medium rounded transition-colors hover:bg-muted disabled:opacity-50",children:n}),o.jsx("button",{type:"button",onClick:I,disabled:l,className:`px-4 py-2 text-sm font-medium rounded transition-colors disabled:opacity-50 ${r==="destructive"?"bg-destructive text-destructive-foreground hover:bg-destructive/90":"bg-primary text-primary-foreground hover:bg-primary/90"}`,children:l?"Processing...":s})]})]})}):null}let Wh=0;const fo=ht(A=>({toasts:[],addToast:e=>{const t=`toast-${++Wh}`;return A(s=>({toasts:[...s.toasts,{...e,id:t}]})),t},removeToast:e=>A(t=>({toasts:t.toasts.filter(s=>s.id!==e)})),updateToast:(e,t)=>A(s=>({toasts:s.toasts.map(n=>n.id===e?{...n,...t}:n)})),clearToasts:()=>A({toasts:[]})}));function ue(A,e="default",t=4e3){const s=fo.getState().addToast({message:A,type:e,duration:t});return t>0&&setTimeout(()=>{fo.getState().removeToast(s)},t),s}ue.success=(A,e=4e3)=>ue(A,"success",e);ue.error=(A,e=5e3)=>ue(A,"error",e);ue.info=(A,e=4e3)=>ue(A,"default",e);ue.loading=A=>ue(A,"loading",0);ue.successWithAction=(A,e,t=6e3)=>{const s=fo.getState().addToast({message:A,type:"success",duration:t,action:e});return t>0&&setTimeout(()=>{fo.getState().removeToast(s)},t),s};function ho(A){window.self!==window.top?window.parent.postMessage({type:"otto-open-url",url:A},"*"):window.open(A,"_blank","noopener,noreferrer")}const zh={default:o.jsx(Dr,{className:"h-4 w-4"}),success:o.jsx(GQ,{className:"h-4 w-4 text-green-500"}),error:o.jsx(Sa,{className:"h-4 w-4 text-red-500"}),loading:o.jsx(Je,{className:"h-4 w-4 animate-spin"})};function Vh({toast:A}){const[e,t]=x.useState(!1),s=fo(r=>r.removeToast);x.useEffect(()=>{requestAnimationFrame(()=>t(!0))},[]);const n=()=>{t(!1),setTimeout(()=>s(A.id),150)};return o.jsxs("div",{className:`
|
|
28
|
-
flex items-center gap-3 px-4 py-3
|
|
29
|
-
bg-card border border-border rounded-lg shadow-lg
|
|
30
|
-
transition-all duration-150 ease-out cursor-pointer
|
|
31
|
-
hover:bg-accent/50
|
|
32
|
-
${e?"opacity-100 translate-y-0":"opacity-0 translate-y-2"}
|
|
33
|
-
`,onClick:n,role:"alert",children:[zh[A.type],o.jsx("span",{className:"text-sm text-foreground",children:A.message}),A.action&&o.jsxs("button",{type:"button",onClick:r=>{r.stopPropagation(),ho(A.action?.href)},className:"ml-auto flex items-center gap-1 text-xs text-primary hover:underline",children:[A.action.label,o.jsx(vt,{className:"h-3 w-3"})]})]})}function Zh(){const A=fo(e=>e.toasts);return A.length===0?null:o.jsx("div",{className:"fixed bottom-4 right-4 z-[9999] flex flex-col gap-2 max-w-sm",children:A.map(e=>o.jsx(Vh,{toast:e},e.id))})}const vr=ht(A=>({pendingApprovals:[],addPendingApproval:e=>A(t=>({pendingApprovals:[...t.pendingApprovals,e]})),removePendingApproval:e=>A(t=>({pendingApprovals:t.pendingApprovals.filter(s=>s.callId!==e)})),updatePendingApproval:(e,t)=>A(s=>({pendingApprovals:s.pendingApprovals.map(n=>n.callId===e?{...n,args:t}:n)})),clearPendingApprovals:()=>A({pendingApprovals:[]}),setPendingApprovals:e=>A({pendingApprovals:e})}));function _h(A,e){let t;try{t=A()}catch{return}return{getItem:n=>{var r;const i=g=>g===null?null:JSON.parse(g,void 0),a=(r=t.getItem(n))!=null?r:null;return a instanceof Promise?a.then(i):i(a)},setItem:(n,r)=>t.setItem(n,JSON.stringify(r,void 0)),removeItem:n=>t.removeItem(n)}}const Aa=A=>e=>{try{const t=A(e);return t instanceof Promise?t:{then(s){return Aa(s)(t)},catch(s){return this}}}catch(t){return{then(s){return this},catch(s){return Aa(s)(t)}}}},Xh=(A,e)=>(t,s,n)=>{let r={storage:_h(()=>window.localStorage),partialize:f=>f,version:0,merge:(f,k)=>({...k,...f}),...e},i=!1,a=0;const g=new Set,l=new Set;let Q=r.storage;if(!Q)return A((...f)=>{console.warn(`[zustand persist middleware] Unable to update item '${r.name}', the given storage is currently unavailable.`),t(...f)},s,n);const I=()=>{const f=r.partialize({...s()});return Q.setItem(r.name,{state:f,version:r.version})},C=n.setState;n.setState=(f,k)=>(C(f,k),I());const c=A((...f)=>(t(...f),I()),s,n);n.getInitialState=()=>c;let u;const p=()=>{var f,k;if(!Q)return;const v=++a;i=!1,g.forEach(j=>{var K;return j((K=s())!=null?K:c)});const D=((k=r.onRehydrateStorage)==null?void 0:k.call(r,(f=s())!=null?f:c))||void 0;return Aa(Q.getItem.bind(Q))(r.name).then(j=>{if(j)if(typeof j.version=="number"&&j.version!==r.version){if(r.migrate){const K=r.migrate(j.state,j.version);return K instanceof Promise?K.then(V=>[!0,V]):[!0,K]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,j.state];return[!1,void 0]}).then(j=>{var K;if(v!==a)return;const[V,eA]=j;if(u=r.merge(eA,(K=s())!=null?K:c),t(u,!0),V)return I()}).then(()=>{v===a&&(D?.(s(),void 0),u=s(),i=!0,l.forEach(j=>j(u)))}).catch(j=>{v===a&&D?.(void 0,j)})};return n.persist={setOptions:f=>{r={...r,...f},f.storage&&(Q=f.storage)},clearStorage:()=>{Q?.removeItem(r.name)},getOptions:()=>r,rehydrate:()=>p(),hasHydrated:()=>i,onHydrate:f=>(g.add(f),()=>{g.delete(f)}),onFinishHydration:f=>(l.add(f),()=>{l.delete(f)})},r.skipHydration||p(),u||c},kB=Xh,ss=ht()(kB((A,e)=>({widths:{},setWidth:(t,s)=>A(n=>({widths:{...n.widths,[t]:s}})),getWidth:(t,s)=>e().widths[t]??s}),{name:"panel-widths"})),_s=x.memo(function({panelKey:e,side:t,minWidth:s,maxWidth:n,defaultWidth:r,onWidthChange:i}){const a=x.useRef(null),g=x.useCallback(l=>{l.preventDefault();const Q=ss.getState().getWidth(e,r);a.current={startX:l.clientX,startWidth:Q};const I=c=>{if(!a.current)return;const u=c.clientX-a.current.startX,p=t==="right"?a.current.startWidth-u:a.current.startWidth+u,f=Math.min(Math.max(s,p),n);ss.getState().setWidth(e,f),i?.(f)},C=()=>{a.current=null,document.removeEventListener("mousemove",I),document.removeEventListener("mouseup",C),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",I),document.addEventListener("mouseup",C),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[e,t,s,n,r,i]);return o.jsx("div",{className:`w-1 h-full cursor-col-resize hover:bg-primary/30 active:bg-primary/50 transition-colors absolute top-0 bottom-0 z-10 ${t==="right"?"left-0":"right-0"}`,onMouseDown:g})});function ns(A){return Array.isArray?Array.isArray(A):bB(A)==="[object Array]"}function $h(A){if(typeof A=="string")return A;if(typeof A=="bigint")return A.toString();const e=A+"";return e=="0"&&1/A==-1/0?"-0":e}function ea(A){return A==null?"":$h(A)}function _t(A){return typeof A=="string"}function Qn(A){return typeof A=="number"}function A0(A){return A===!0||A===!1||e0(A)&&bB(A)=="[object Boolean]"}function MB(A){return typeof A=="object"}function e0(A){return MB(A)&&A!==null}function Ao(A){return A!=null}function Wr(A){return!A.trim().length}function bB(A){return A==null?A===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(A)}const t0="Incorrect 'index' type",o0=A=>`Invalid value for key ${A}`,s0=A=>`Pattern length exceeds max of ${A}.`,r0=A=>`Missing ${A} property in key`,n0=A=>`Property 'weight' in key '${A}' must be a positive integer`,al=Object.prototype.hasOwnProperty;class i0{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(s=>{const n=FB(s);this._keys.push(n),this._keyMap[n.id]=n,t+=n.weight}),this._keys.forEach(s=>{s.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function FB(A){let e=null,t=null,s=null,n=1,r=null;if(_t(A)||ns(A))s=A,e=gl(A),t=ta(A);else{if(!al.call(A,"name"))throw new Error(r0("name"));const i=A.name;if(s=i,al.call(A,"weight")&&(n=A.weight,n<=0))throw new Error(n0(i));e=gl(i),t=ta(i),r=A.getFn}return{path:e,id:t,weight:n,src:s,getFn:r}}function gl(A){return ns(A)?A:A.split(".")}function ta(A){return ns(A)?A.join("."):A}function a0(A,e){const t=[];let s=!1;const n=(r,i,a,g)=>{if(Ao(r))if(!i[a])t.push(g!==void 0?{v:r,i:g}:r);else{const l=i[a],Q=r[l];if(!Ao(Q))return;if(a===i.length-1&&(_t(Q)||Qn(Q)||A0(Q)||typeof Q=="bigint"))t.push(g!==void 0?{v:ea(Q),i:g}:ea(Q));else if(ns(Q)){s=!0;for(let I=0,C=Q.length;I<C;I+=1)n(Q[I],i,a+1,I)}else i.length&&n(Q,i,a+1,g)}};return n(A,_t(e)?e.split("."):e,0),s?t:t[0]}const g0={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},l0={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(A,e)=>A.score===e.score?A.idx<e.idx?-1:1:A.score<e.score?-1:1},Q0={location:0,threshold:.6,distance:100},B0={useExtendedSearch:!1,useTokenSearch:!1,getFn:a0,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},ge=Object.freeze({...l0,...g0,...Q0,...B0}),c0=/[^ ]+/g;function E0(A=1,e=3){const t=new Map,s=Math.pow(10,e);return{get(n){const r=n.match(c0).length;if(t.has(r))return t.get(r);const i=1/Math.pow(r,.5*A),a=parseFloat(Math.round(i*s)/s);return t.set(r,a),a},clear(){t.clear()}}}class Za{constructor({getFn:e=ge.getFn,fieldNormWeight:t=ge.fieldNormWeight}={}){this.norm=E0(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((t,s)=>{this._keysMap[t.id]=s})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,_t(this.docs[0])?this.docs.forEach((e,t)=>{this._addString(e,t)}):this.docs.forEach((e,t)=>{this._addObject(e,t)}),this.norm.clear())}add(e){const t=this.size();_t(e)?this._addString(e,t):this._addObject(e,t)}removeAt(e){this.records.splice(e,1);for(let t=e,s=this.size();t<s;t+=1)this.records[t].i-=1}removeAll(e){for(let t=e.length-1;t>=0;t-=1)this.records.splice(e[t],1);for(let t=0,s=this.records.length;t<s;t+=1)this.records[t].i=t}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_addString(e,t){if(!Ao(e)||Wr(e))return;const s={v:e,i:t,n:this.norm.get(e)};this.records.push(s)}_addObject(e,t){const s={i:t,$:{}};this.keys.forEach((n,r)=>{const i=n.getFn?n.getFn(e):this.getFn(e,n.path);if(Ao(i)){if(ns(i)){const a=[];for(let g=0,l=i.length;g<l;g+=1){const Q=i[g];if(Ao(Q)){if(_t(Q)){if(!Wr(Q)){const I={v:Q,i:g,n:this.norm.get(Q)};a.push(I)}}else if(Ao(Q.v)){const I=_t(Q.v)?Q.v:ea(Q.v);if(!Wr(I)){const C={v:I,i:Q.i,n:this.norm.get(I)};a.push(C)}}}}s.$[r]=a}else if(_t(i)&&!Wr(i)){const a={v:i,n:this.norm.get(i)};s.$[r]=a}}}),this.records.push(s)}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}}function GB(A,e,{getFn:t=ge.getFn,fieldNormWeight:s=ge.fieldNormWeight}={}){const n=new Za({getFn:t,fieldNormWeight:s});return n.setKeys(A.map(FB)),n.setSources(e),n.create(),n}function C0(A,{getFn:e=ge.getFn,fieldNormWeight:t=ge.fieldNormWeight}={}){const{keys:s,records:n}=A,r=new Za({getFn:e,fieldNormWeight:t});return r.setKeys(s),r.setIndexRecords(n),r}function I0(A=[],e=ge.minMatchCharLength){const t=[];let s=-1,n=-1,r=0;for(let i=A.length;r<i;r+=1){const a=A[r];a&&s===-1?s=r:!a&&s!==-1&&(n=r-1,n-s+1>=e&&t.push([s,n]),s=-1)}return A[r-1]&&r-s>=e&&t.push([s,r-1]),t}const Bs=32;function u0(A,e,t,{location:s=ge.location,distance:n=ge.distance,threshold:r=ge.threshold,findAllMatches:i=ge.findAllMatches,minMatchCharLength:a=ge.minMatchCharLength,includeMatches:g=ge.includeMatches,ignoreLocation:l=ge.ignoreLocation}={}){if(e.length>Bs)throw new Error(s0(Bs));const Q=e.length,I=A.length,C=Math.max(0,Math.min(s,I));let c=r,u=C;const p=(X,R)=>{const W=X/Q;if(l)return W;const O=Math.abs(C-R);return n?W+O/n:O?1:W},f=a>1||g,k=f?Array(I):[];let v;for(;(v=A.indexOf(e,u))>-1;){const X=p(0,v);if(c=Math.min(X,c),u=v+Q,f){let R=0;for(;R<Q;)k[v+R]=1,R+=1}}u=-1;let D=[],j=1,K=Q+I;const V=1<<Q-1;for(let X=0;X<Q;X+=1){let R=0,W=K;for(;R<W;)p(X,C+W)<=c?R=W:K=W,W=Math.floor((K-R)/2+R);K=W;let O=Math.max(1,C-W+1);const L=i?I:Math.min(C+W,I)+Q,w=Array(L+2);w[L+1]=(1<<X)-1;for(let d=L;d>=O;d-=1){const N=d-1,G=t[A[N]];if(f&&(k[N]=+!!G),w[d]=(w[d+1]<<1|1)&G,X&&(w[d]|=(D[d+1]|D[d])<<1|1|D[d+1]),w[d]&V&&(j=p(X,N),j<=c)){if(c=j,u=N,u<=C)break;O=Math.max(1,2*C-u)}}if(p(X+1,C)>c)break;D=w}const eA={isMatch:u>=0,score:Math.max(.001,j)};if(f){const X=I0(k,a);X.length?g&&(eA.indices=X):eA.isMatch=!1}return eA}function d0(A){const e={};for(let t=0,s=A.length;t<s;t+=1){const n=A.charAt(t);e[n]=(e[n]||0)|1<<s-t-1}return e}function _a(A){if(A.length<=1)return A;A.sort((t,s)=>t[0]-s[0]||t[1]-s[1]);const e=[A[0]];for(let t=1,s=A.length;t<s;t+=1){const n=e[e.length-1],r=A[t];r[0]<=n[1]+1?n[1]=Math.max(n[1],r[1]):e.push(r)}return e}const vB={ł:"l",Ł:"L",đ:"d",Đ:"D",ø:"o",Ø:"O",ħ:"h",Ħ:"H",ŧ:"t",Ŧ:"T",ı:"i",ß:"ss"},h0=new RegExp("["+Object.keys(vB).join("")+"]","g"),fr=String.prototype.normalize?A=>A.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"").replace(h0,e=>vB[e]):A=>A;class Xa{constructor(e,{location:t=ge.location,threshold:s=ge.threshold,distance:n=ge.distance,includeMatches:r=ge.includeMatches,findAllMatches:i=ge.findAllMatches,minMatchCharLength:a=ge.minMatchCharLength,isCaseSensitive:g=ge.isCaseSensitive,ignoreDiacritics:l=ge.ignoreDiacritics,ignoreLocation:Q=ge.ignoreLocation}={}){if(this.options={location:t,threshold:s,distance:n,includeMatches:r,findAllMatches:i,minMatchCharLength:a,isCaseSensitive:g,ignoreDiacritics:l,ignoreLocation:Q},e=g?e:e.toLowerCase(),e=l?fr(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;const I=(c,u)=>{this.chunks.push({pattern:c,alphabet:d0(c),startIndex:u})},C=this.pattern.length;if(C>Bs){let c=0;const u=C%Bs,p=C-u;for(;c<p;)I(this.pattern.substr(c,Bs),c),c+=Bs;if(u){const f=C-Bs;I(this.pattern.substr(f),f)}}else I(this.pattern,0)}searchIn(e){const{isCaseSensitive:t,ignoreDiacritics:s,includeMatches:n}=this.options;if(e=t?e:e.toLowerCase(),e=s?fr(e):e,this.pattern===e){const p={isMatch:!0,score:0};return n&&(p.indices=[[0,e.length-1]]),p}const{location:r,distance:i,threshold:a,findAllMatches:g,minMatchCharLength:l,ignoreLocation:Q}=this.options,I=[];let C=0,c=!1;this.chunks.forEach(({pattern:p,alphabet:f,startIndex:k})=>{const{isMatch:v,score:D,indices:j}=u0(e,p,f,{location:r+k,distance:i,threshold:a,findAllMatches:g,minMatchCharLength:l,includeMatches:n,ignoreLocation:Q});v&&(c=!0),C+=D,v&&j&&I.push(...j)});const u={isMatch:c,score:c?C/this.chunks.length:1};return c&&n&&(u.indices=_a(I)),u}}class is{constructor(e){this.pattern=e}static isMultiMatch(e){return ll(e,this.multiRegex)}static isSingleMatch(e){return ll(e,this.singleRegex)}search(e){return{isMatch:!1,score:1}}}function ll(A,e){const t=A.match(e);return t?t[1]:null}class f0 extends is{constructor(e){super(e)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(e){const t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}class p0 extends is{constructor(e){super(e)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(e){const s=e.indexOf(this.pattern)===-1;return{isMatch:s,score:s?0:1,indices:[0,e.length-1]}}}class m0 extends is{constructor(e){super(e)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(e){const t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}class w0 extends is{constructor(e){super(e)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(e){const t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}class x0 extends is{constructor(e){super(e)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(e){const t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}}class D0 extends is{constructor(e){super(e)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(e){const t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}class SB extends is{constructor(e,{location:t=ge.location,threshold:s=ge.threshold,distance:n=ge.distance,includeMatches:r=ge.includeMatches,findAllMatches:i=ge.findAllMatches,minMatchCharLength:a=ge.minMatchCharLength,isCaseSensitive:g=ge.isCaseSensitive,ignoreDiacritics:l=ge.ignoreDiacritics,ignoreLocation:Q=ge.ignoreLocation}={}){super(e),this._bitapSearch=new Xa(e,{location:t,threshold:s,distance:n,includeMatches:r,findAllMatches:i,minMatchCharLength:a,isCaseSensitive:g,ignoreDiacritics:l,ignoreLocation:Q})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class UB extends is{constructor(e){super(e)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(e){let t=0,s;const n=[],r=this.pattern.length;for(;(s=e.indexOf(this.pattern,t))>-1;)t=s+r,n.push([s,t-1]);const i=!!n.length;return{isMatch:i,score:i?0:1,indices:n}}}const oa=[f0,UB,m0,w0,D0,x0,p0,SB],Ql=oa.length,y0="\0",N0="|";function k0(A){const e=[],t=A.length;let s=0;for(;s<t;){for(;s<t&&A[s]===" ";)s++;if(s>=t)break;let n=s;for(;n<t&&A[n]!==" "&&A[n]!=='"';)n++;if(n<t&&A[n]==='"'){for(n++;n<t;){if(A[n]==='"'){const r=n+1;if(r>=t||A[r]===" "){n++;break}if(A[r]==="$"&&(r+1>=t||A[r+1]===" ")){n+=2;break}}n++}e.push(A.substring(s,n)),s=n}else{for(;n<t&&A[n]!==" ";)n++;e.push(A.substring(s,n)),s=n}}return e}function M0(A,e={}){return A.replace(/\\\|/g,y0).split(N0).map(s=>{const n=s.replace(/\u0000/g,"|"),r=k0(n.trim()).filter(a=>a&&!!a.trim()),i=[];for(let a=0,g=r.length;a<g;a+=1){const l=r[a];let Q=!1,I=-1;for(;!Q&&++I<Ql;){const C=oa[I],c=C.isMultiMatch(l);c&&(i.push(new C(c,e)),Q=!0)}if(!Q)for(I=-1;++I<Ql;){const C=oa[I],c=C.isSingleMatch(l);if(c){i.push(new C(c,e));break}}}return i})}const b0=new Set([SB.type,UB.type]);class F0{constructor(e,{isCaseSensitive:t=ge.isCaseSensitive,ignoreDiacritics:s=ge.ignoreDiacritics,includeMatches:n=ge.includeMatches,minMatchCharLength:r=ge.minMatchCharLength,ignoreLocation:i=ge.ignoreLocation,findAllMatches:a=ge.findAllMatches,location:g=ge.location,threshold:l=ge.threshold,distance:Q=ge.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:s,includeMatches:n,minMatchCharLength:r,findAllMatches:a,ignoreLocation:i,location:g,threshold:l,distance:Q},e=t?e:e.toLowerCase(),e=s?fr(e):e,this.pattern=e,this.query=M0(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){const t=this.query;if(!t)return{isMatch:!1,score:1};const{includeMatches:s,isCaseSensitive:n,ignoreDiacritics:r}=this.options;e=n?e:e.toLowerCase(),e=r?fr(e):e;let i=0;const a=[];let g=0,l=!1;for(let Q=0,I=t.length;Q<I;Q+=1){const C=t[Q];a.length=0,i=0,l=!1;for(let c=0,u=C.length;c<u;c+=1){const p=C[c],{isMatch:f,indices:k,score:v}=p.search(e);if(f){i+=1,g+=v;const D=p.constructor.type;D.startsWith("inverse")&&(l=!0),s&&(b0.has(D)?a.push(...k):a.push(k))}else{g=0,i=0,a.length=0,l=!1;break}}if(i){const c={isMatch:!0,score:g/i};return l&&(c.hasInverse=!0),s&&(c.indices=_a(a)),c}}return{isMatch:!1,score:1}}}const sa=[];function $a(...A){sa.push(...A)}function fn(A,e){for(let t=0,s=sa.length;t<s;t+=1){const n=sa[t];if(n.condition(A,e))return new n(A,e)}return new Xa(A,e)}const pn={AND:"$and",OR:"$or"},ra={PATH:"$path",PATTERN:"$val"},na=A=>!!(A[pn.AND]||A[pn.OR]),G0=A=>!!A[ra.PATH],v0=A=>!ns(A)&&MB(A)&&!na(A),Bl=A=>({[pn.AND]:Object.keys(A).map(e=>({[e]:A[e]}))});function RB(A,e,{auto:t=!0}={}){const s=n=>{if(_t(n)){const g={keyId:null,pattern:n};return t&&(g.searcher=fn(n,e)),g}const r=Object.keys(n),i=G0(n);if(!i&&r.length>1&&!na(n))return s(Bl(n));if(v0(n)){const g=i?n[ra.PATH]:r[0],l=i?n[ra.PATTERN]:n[g];if(!_t(l))throw new Error(o0(g));const Q={keyId:ta(g),pattern:l};return t&&(Q.searcher=fn(l,e)),Q}const a={children:[],operator:r[0]};return r.forEach(g=>{const l=n[g];ns(l)&&l.forEach(Q=>{a.children.push(s(Q))})}),a};return na(A)||(A=Bl(A)),s(A)}function ia(A,{ignoreFieldNorm:e=ge.ignoreFieldNorm}){let t=1;return A.forEach(({key:s,norm:n,score:r})=>{const i=s?s.weight:null;t*=Math.pow(r===0&&i?Number.EPSILON:r,(i||1)*(e?1:n))}),t}function S0(A,{ignoreFieldNorm:e=ge.ignoreFieldNorm}){A.forEach(t=>{t.score=ia(t.matches,{ignoreFieldNorm:e})})}class U0{constructor(e){this.limit=e,this.heap=[]}get size(){return this.heap.length}shouldInsert(e){return this.size<this.limit||e<this.heap[0].score}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):e.score<this.heap[0].score&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(e){return this.heap.sort(e)}_bubbleUp(e){const t=this.heap;for(;e>0;){const s=e-1>>1;if(t[e].score<=t[s].score)break;const n=t[e];t[e]=t[s],t[s]=n,e=s}}_sinkDown(e){const t=this.heap,s=t.length;let n=e;do{e=n;const r=2*e+1,i=2*e+2;if(r<s&&t[r].score>t[n].score&&(n=r),i<s&&t[i].score>t[n].score&&(n=i),n!==e){const a=t[e];t[e]=t[n],t[n]=a}}while(n!==e)}}function R0(A,e){const t=A.matches;e.matches=[],Ao(t)&&t.forEach(s=>{if(!Ao(s.indices)||!s.indices.length)return;const{indices:n,value:r}=s,i={indices:n,value:r};s.key&&(i.key=s.key.src),s.idx>-1&&(i.refIndex=s.idx),e.matches.push(i)})}function K0(A,e){e.score=A.score}function L0(A,e,{includeMatches:t=ge.includeMatches,includeScore:s=ge.includeScore}={}){const n=[];return t&&n.push(R0),s&&n.push(K0),A.map(r=>{const{idx:i}=r,a={item:e[i],refIndex:i};return n.length&&n.forEach(g=>{g(r,a)}),a})}const J0=/\b\w+\b/g;function aa({isCaseSensitive:A=!1,ignoreDiacritics:e=!1}={}){return{tokenize(t){return A||(t=t.toLowerCase()),e&&(t=fr(t)),t.match(J0)||[]}}}function j0(A,e,t){const s=new Map,n=new Map;let r=0;function i(a,g,l,Q){const I=t.tokenize(a);if(!I.length)return;r++;const C=new Map;for(const c of I)C.set(c,(C.get(c)||0)+1);for(const[c,u]of C){const p={docIdx:g,keyIdx:l,subIdx:Q,tf:u};let f=s.get(c);f||(f=[],s.set(c,f)),f.push(p),n.set(c,(n.get(c)||0)+1)}}for(const a of A){const{i:g,v:l,$:Q}=a;if(l!==void 0){i(l,g,-1,-1);continue}if(Q)for(let I=0;I<e;I++){const C=Q[I];if(C)if(Array.isArray(C))for(const c of C)i(c.v,g,I,c.i??-1);else i(C.v,g,I,-1)}}return{terms:s,fieldCount:r,df:n}}function T0(A,e,t,s){const{i:n,v:r,$:i}=e;function a(g,l,Q){const I=s.tokenize(g);if(!I.length)return;A.fieldCount++;const C=new Map;for(const c of I)C.set(c,(C.get(c)||0)+1);for(const[c,u]of C){const p={docIdx:n,keyIdx:l,subIdx:Q,tf:u};let f=A.terms.get(c);f||(f=[],A.terms.set(c,f)),f.push(p),A.df.set(c,(A.df.get(c)||0)+1)}}if(r!==void 0){a(r,-1,-1);return}if(i)for(let g=0;g<t;g++){const l=i[g];if(l)if(Array.isArray(l))for(const Q of l)a(Q.v,g,Q.i??-1);else a(l.v,g,-1)}}function cl(A,e){for(const[t,s]of A.terms){const n=s.filter(i=>i.docIdx!==e),r=s.length-n.length;r>0&&(A.fieldCount-=r,A.df.set(t,(A.df.get(t)||0)-r),n.length===0?(A.terms.delete(t),A.df.delete(t)):A.terms.set(t,n))}}class vo{constructor(e,t,s){this.options={...ge,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new i0(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,s),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;const t=this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options,s=fn(e,t);return this._lastQuery=e,this._lastSearcher=s,s}setCollection(e,t){if(this._docs=e,t&&!(t instanceof Za))throw new Error(t0);if(this._myIndex=t||GB(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){const s=aa({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});this._invertedIndex=j0(this._myIndex.records,this._myIndex.keys.length,s)}}add(e){if(Ao(e)&&(this._docs.push(e),this._myIndex.add(e),this._invertedIndex)){const t=this._myIndex.records[this._myIndex.records.length-1],s=aa({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});T0(this._invertedIndex,t,this._myIndex.keys.length,s)}}remove(e=()=>!1){const t=[],s=[];for(let n=0,r=this._docs.length;n<r;n+=1)e(this._docs[n],n)&&(t.push(this._docs[n]),s.push(n));if(s.length){if(this._invertedIndex)for(const n of s)cl(this._invertedIndex,n);for(let n=s.length-1;n>=0;n-=1)this._docs.splice(s[n],1);this._myIndex.removeAll(s)}return t}removeAt(e){this._invertedIndex&&cl(this._invertedIndex,e);const t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),t}getIndex(){return this._myIndex}search(e,t){const{limit:s=-1}=t||{},{includeMatches:n,includeScore:r,shouldSort:i,sortFn:a,ignoreFieldNorm:g}=this.options;if(_t(e)&&!e.trim()){let I=this._docs.map((C,c)=>({item:C,refIndex:c}));return Qn(s)&&s>-1&&(I=I.slice(0,s)),I}const l=Qn(s)&&s>0&&_t(e);let Q;if(l){const I=new U0(s);_t(this._docs[0])?this._searchStringList(e,{heap:I,ignoreFieldNorm:g}):this._searchObjectList(e,{heap:I,ignoreFieldNorm:g}),Q=I.extractSorted(a)}else Q=_t(e)?_t(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),S0(Q,{ignoreFieldNorm:g}),i&&Q.sort(a),Qn(s)&&s>-1&&(Q=Q.slice(0,s));return L0(Q,this._docs,{includeMatches:n,includeScore:r})}_searchStringList(e,{heap:t,ignoreFieldNorm:s}={}){const n=this._getSearcher(e),{records:r}=this._myIndex,i=t?null:[];return r.forEach(({v:a,i:g,n:l})=>{if(!Ao(a))return;const{isMatch:Q,score:I,indices:C}=n.searchIn(a);if(Q){const c={item:a,idx:g,matches:[{score:I,value:a,norm:l,indices:C}]};t?(c.score=ia(c.matches,{ignoreFieldNorm:s}),t.shouldInsert(c.score)&&t.insert(c)):i.push(c)}}),i}_searchLogical(e){const t=RB(e,this.options),s=(a,g,l)=>{if(!("children"in a)){const{keyId:c,searcher:u}=a;let p;return c===null?(p=[],this._myIndex.keys.forEach((f,k)=>{p.push(...this._findMatches({key:f,value:g[k],searcher:u}))})):p=this._findMatches({key:this._keyStore.get(c),value:this._myIndex.getValueForItemAtKeyId(g,c),searcher:u}),p&&p.length?[{idx:l,item:g,matches:p}]:[]}const{children:Q,operator:I}=a,C=[];for(let c=0,u=Q.length;c<u;c+=1){const p=Q[c],f=s(p,g,l);if(f.length)C.push(...f);else if(I===pn.AND)return[]}return C},n=this._myIndex.records,r=new Map,i=[];return n.forEach(({$:a,i:g})=>{if(Ao(a)){const l=s(t,a,g);l.length&&(r.has(g)||(r.set(g,{idx:g,item:a,matches:[]}),i.push(r.get(g))),l.forEach(({matches:Q})=>{r.get(g).matches.push(...Q)}))}}),i}_searchObjectList(e,{heap:t,ignoreFieldNorm:s}={}){const n=this._getSearcher(e),{keys:r,records:i}=this._myIndex,a=t?null:[];return i.forEach(({$:g,i:l})=>{if(!Ao(g))return;const Q=[];let I=!1,C=!1;if(r.forEach((c,u)=>{const p=this._findMatches({key:c,value:g[u],searcher:n});p.length?(Q.push(...p),p[0].hasInverse&&(C=!0)):I=!0}),!(C&&I)&&Q.length){const c={idx:l,item:g,matches:Q};t?(c.score=ia(c.matches,{ignoreFieldNorm:s}),t.shouldInsert(c.score)&&t.insert(c)):a.push(c)}}),a}_findMatches({key:e,value:t,searcher:s}){if(!Ao(t))return[];const n=[];if(ns(t))t.forEach(({v:r,i,n:a})=>{if(!Ao(r))return;const{isMatch:g,score:l,indices:Q,hasInverse:I}=s.searchIn(r);g&&n.push({score:l,key:e,value:r,idx:i,norm:a,indices:Q,hasInverse:I})});else{const{v:r,n:i}=t,{isMatch:a,score:g,indices:l,hasInverse:Q}=s.searchIn(r);a&&n.push({score:g,key:e,value:r,norm:i,indices:l,hasInverse:Q})}return n}}class O0{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=aa({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics});const s=this.analyzer.tokenize(e),n=t._invertedIndex,{df:r,fieldCount:i}=n;this.termSearchers=[],this.idfWeights=[];for(const a of s){this.termSearchers.push(new Xa(a,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));const g=r.get(a)||0,l=Math.log(1+(i-g+.5)/(g+.5));this.idfWeights.push(l)}}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};const t=[];let s=0,n=0,r=0;for(let g=0;g<this.termSearchers.length;g++){const l=this.termSearchers[g].searchIn(e),Q=this.idfWeights[g];n+=Q,l.isMatch&&(r++,s+=Q*(1-l.score),l.indices&&t.push(...l.indices))}if(r===0)return{isMatch:!1,score:1};const i=n>0?1-s/n:0,a={isMatch:!0,score:Math.max(.001,i)};return this.options.includeMatches&&t.length&&(a.indices=_a(t)),a}}vo.version="7.3.0";vo.createIndex=GB;vo.parseIndex=C0;vo.config=ge;vo.match=function(A,e,t){return fn(A,{...ge,...t}).searchIn(e)};vo.parseQuery=RB;$a(F0);$a(O0);vo.use=function(...A){A.forEach(e=>$a(e))};function q0(A){switch(A.split(".").pop()?.toLowerCase()){case"ts":case"tsx":case"js":case"jsx":case"mjs":case"cjs":case"py":case"rb":case"go":case"rs":case"java":case"c":case"cpp":case"h":case"hpp":return Sn;case"json":case"yaml":case"yml":case"toml":return $E;case"md":case"txt":case"log":return os;case"png":case"jpg":case"jpeg":case"gif":case"svg":case"webp":return Ua;case"css":case"scss":case"sass":case"less":return XE;case"html":case"xml":return _E;default:return ts}}function Y0(A,e){const t=e.get(A);return t?{added:{icon:go,label:"Added",className:"text-green-500"},modified:{icon:In,label:"Modified",className:"text-yellow-500"},untracked:{icon:go,label:"Untracked",className:"text-blue-500"}}[t]||{icon:In,label:"Modified",className:"text-yellow-500"}:null}function H0({files:A,changedFiles:e=[],query:t,selectedIndex:s,onSelect:n,onEnterSelect:r,onClose:i}){const a=x.useMemo(()=>new Map(e?.map(Q=>[Q.path,Q.status])||[]),[e]),g=x.useMemo(()=>new vo(A.map(Q=>({path:Q,filename:Q.split("/").pop()||Q,normalized:Q.replace(/[.\-_/]/g,"")})),{keys:[{name:"filename",weight:2},{name:"normalized",weight:1.5},{name:"path",weight:1}],threshold:.3,distance:200,ignoreLocation:!0,includeScore:!0}),[A]),l=x.useMemo(()=>{if(!t)return A.slice(0,20);const Q=t.replace(/[.\-_/]/g,""),I=g.search(Q);return I.sort((C,c)=>{const u=C.score??1,p=c.score??1;if(Math.abs(u-p)<.05){const k=a.has(C.item.path),v=a.has(c.item.path);if(k&&!v)return-1;if(!k&&v)return 1}return u-p}),I.slice(0,20).map(C=>C.item.path)},[g,t,A,a]);return x.useEffect(()=>{document.getElementById(`file-item-${s}`)?.scrollIntoView({block:"nearest"})},[s]),x.useEffect(()=>{r(l[s])},[l,s,r]),x.useEffect(()=>{const Q=I=>{I.target.closest("[data-file-mention-popup]")||i()};return document.addEventListener("mousedown",Q),()=>document.removeEventListener("mousedown",Q)},[i]),l.length===0?o.jsx("div",{"data-file-mention-popup":!0,className:"absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg z-50 p-3",children:o.jsx("span",{className:"text-muted-foreground text-sm",children:"No files found"})}):o.jsx("div",{"data-file-mention-popup":!0,className:"absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg max-h-[300px] overflow-y-auto z-50",children:l.map((Q,I)=>o.jsx("button",{type:"button",id:`file-item-${I}`,onMouseDown:C=>{C.preventDefault(),n(Q)},className:`w-full text-left px-3 py-2 hover:bg-accent ${I===s?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-center gap-2 w-full",children:[(()=>{const C=q0(Q);return o.jsx(C,{className:"w-4 h-4 flex-shrink-0 text-muted-foreground"})})(),o.jsx("span",{className:"font-mono text-sm flex-1 truncate",children:Q}),(()=>{const C=Y0(Q,a);return C&&o.jsx("span",{title:C.label,children:o.jsx(C.icon,{className:`w-3.5 h-3.5 flex-shrink-0 ${C.className}`})})})()]})},Q))})}function P0(){if(typeof window<"u"&&typeof window.fetch=="function")return"fetch"}function JA(A){if(!A)return"Unknown error";if(typeof A=="string")return A;if(A&&typeof A=="object"){const e=A;if(e.error&&typeof e.error=="object"){const t=e.error;if(typeof t.message=="string")return t.message}if(typeof e.error=="string")return e.error;if(typeof e.message=="string")return e.message;try{return JSON.stringify(A)}catch{return"Error occurred (unable to parse)"}}return"Unknown error"}function W0(){const e=window.OTTO_SERVER_URL||rs;MA.setConfig({baseURL:e,adapter:P0()})}W0();function Ag(){const A=window;return A.OTTO_SERVER_URL?A.OTTO_SERVER_URL:rs}function Qi(A){return{...A,title:A.title??null,createdAt:typeof A.createdAt=="string"?new Date(A.createdAt).getTime():A.createdAt,lastActiveAt:typeof A.lastActiveAt=="string"?new Date(A.lastActiveAt).getTime():A.lastActiveAt}}function z0(A){return{...A,createdAt:typeof A.createdAt=="string"?new Date(A.createdAt).getTime():A.createdAt,completedAt:A.completedAt?typeof A.completedAt=="string"?new Date(A.completedAt).getTime():A.completedAt:null}}const no={async getSessions(){return(await this.getSessionsPage({limit:200})).items},async getSessionsPage(A={}){const{limit:e=50,offset:t=0}=A,s=await Td({query:{limit:e,offset:t}});if(s.error)throw new Error(JA(s.error));const n=s.data;return{items:(n?.items??[]).map(r=>Qi(r)),hasMore:n?.hasMore??!1,nextOffset:n?.nextOffset??null}},async createSession(A){const e=await Od({body:A});if(e.error)throw new Error(JA(e.error));if(!e.data)throw new Error("No data returned from create session");return Qi(e.data)},async updateSession(A,e){const t=await vd({path:{sessionId:A},body:e});if(t.error)throw new Error(JA(t.error));return Qi(t.data)},async deleteSession(A){const e=await Gd({path:{sessionId:A}});if(e.error)throw new Error(JA(e.error));return e.data},async abortSession(A){const e=await tl({path:{sessionId:A}});if(e.error)throw new Error(JA(e.error));return e.data},async abortMessage(A,e){const t=await tl({path:{sessionId:A}});if(t.error)throw new Error("Failed to abort message");return t.data},async getQueueState(A){const e=await Sd({path:{sessionId:A}});if(e.error)throw new Error("Failed to get queue state");return e.data},async removeFromQueue(A,e){const t=await Ud({path:{sessionId:A,messageId:e}});if(t.error)throw new Error("Failed to remove from queue");return t.data},async getMessages(A){const e=await Nd({path:{id:A}});if(e.error)throw new Error(JA(e.error));return(e.data||[]).map(z0)},async sendMessage(A,e){const t=await kd({path:{id:A},body:e});if(t.error)throw new Error(JA(t.error));return t.data},getStreamUrl(A){return`${Ag()}/v1/sessions/${A}/stream`},async retryMessage(A,e){const t=await Rd({path:{sessionId:A,messageId:e}});if(t.error)throw new Error(JA(t.error));return t.data}},Rt={async initGitRepo(){const A=await rd();if(A.error)throw new Error(JA(A.error));return A.data?.data},async getGitStatus(){const A=await nd();if(A.error)throw new Error(JA(A.error));return A.data?.data},async getGitDiff(A,e=!1){const t=await el({query:{file:A,staged:e?"true":"false"}});if(t.error)throw new Error(JA(t.error));return t.data?.data},async getGitDiffFullFile(A,e=!1){const t=await el({query:{file:A,staged:e?"true":"false",fullFile:"true"}});if(t.error)throw new Error(JA(t.error));return t.data?.data},async generateCommitMessage(A){const e=await Qd({body:A?{sessionId:A}:{}});if(e.error)throw new Error(JA(e.error));return e.data?.data},async stageFiles(A){const e=await ad({body:{files:A}});if(e.error)throw new Error(JA(e.error));return e.data?.data},async unstageFiles(A){const e=await gd({body:{files:A}});if(e.error)throw new Error(JA(e.error));return e.data?.data},async restoreFiles(A){const e=await Ed({body:{files:A}});if(e.error)throw new Error(JA(e.error));return e.data?.data},async deleteFiles(A){const e=await Cd({body:{files:A}});if(e.error)throw new Error(JA(e.error));return e.data?.data},async commitChanges(A){const e=await ld({body:{message:A}});if(e.error)throw new Error(JA(e.error));return e.data?.data},async getGitBranch(){const A=await id();if(A.error)throw new Error(JA(A.error));return A.data?.data},async pushCommits(){const A=await Bd({body:{}});if(A.error)throw new Error(JA(A.error));return A.data?.data},async pullChanges(){const A=await cd({body:{}});if(A.error)throw new Error(JA(A.error));return A.data?.data},async getRemotes(){const A=await ud();if(A.error)throw new Error(JA(A.error));return A.data?.data?.remotes},async addRemote(A,e){const t=await dd({body:{name:A,url:e}});if(t.error)throw new Error(JA(t.error));return t.data?.data},async removeRemote(A){const e=await Id({body:{name:A}});if(e.error)throw new Error(JA(e.error));return e.data?.data}},as={async getConfig(){const A=await Vu();if(A.error)throw new Error(JA(A.error));return A.data},async getModels(A){const e=await Xu({path:{provider:A}});if(e.error)throw new Error(JA(e.error));return e.data},async getAllModels(){const A=await Ad();if(A.error)throw new Error(JA(A.error));return A.data},async discoverProviderModels(A){const e=await fetch(`${Ag()}/v1/config/providers/discover-models`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(A)}),t=await e.json();if(!e.ok)throw new Error(JA(t));return t},async updateProviderSettings(A,e){const t=await _u({path:{provider:A},body:e});if(t.error)throw new Error(JA(t.error));return t.data},async deleteProviderSettings(A){const e=await Zu({path:{provider:A}});if(e.error)throw new Error(JA(e.error));return e.data},async updateDefaults(A){const e=await $u({body:A});if(e.error)throw new Error(JA(e.error));return e.data}},ir={async listFiles(){const A=await ed();if(A.error)throw new Error(JA(A.error));return A.data},async searchFiles(A=""){const e=await td({query:{q:A}});if(e.error)throw new Error(JA(e.error));return e.data},async getFileTree(A="."){const e=await od({query:{path:A}});if(e.error)throw new Error(JA(e.error));return e.data},async readFileContent(A){const e=await sd({query:{path:A}});if(e.error)throw new Error(JA(e.error));return e.data},async getSessionFiles(A){const e=await jd({path:{sessionId:A}});if(e.error)throw new Error(JA(e.error));return e.data}},Gs={async createBranch(A,e){const t=await Pu({path:{sessionId:A},body:e});if(t.error)throw new Error(JA(t.error));return t.data},async listBranches(A){const e=await Wu({path:{sessionId:A}});if(e.error)throw new Error(JA(e.error));return e.data},async getParentSession(A){const e=await zu({path:{sessionId:A}});if(e.error)throw new Error(JA(e.error));return e.data},async getShareStatus(A){const e=await Kd({path:{sessionId:A}});return e.error?{shared:!1}:e.data},async shareSession(A){const e=await Ld({path:{sessionId:A}});if(e.error)throw new Error(JA(e.error));return e.data},async syncSession(A){const e=await Jd({path:{sessionId:A}});if(e.error)throw new Error(JA(e.error));return e.data}},El={async approveToolCall(A,e,t){const s=await bd({path:{id:A},body:{callId:e,approved:t,sessionId:A}});if(s.error)throw new Error("Failed to send tool approval");return s.data},async getPendingApprovals(A){const e=await Fd({path:{id:A}});return e.error?{ok:!1,pending:[]}:e.data}},Qo={async getOttoRouterBalance(){try{const A=await qd();return A.error?null:A.data}catch{return null}},async getOttoRouterWallet(){try{const A=await Yd();return A.error?{configured:!1}:A.data}catch{return{configured:!1}}},async getOttoRouterUsdcBalance(A="mainnet"){try{const e=await Hd({query:{network:A}});return e.error?null:e.data}catch{return null}},async getPolarTopupEstimate(A){try{const e=await Zd({query:{amount:A}});return e.error?null:e.data}catch{return null}},async createPolarCheckout(A,e){const t=await Pd({body:{amount:A,successUrl:e}});if(t.error)throw new Error(JA(t.error));return t.data},async selectTopupMethod(A,e){const t=await Wd({body:{sessionId:A,method:e}});if(t.error)throw new Error(JA(t.error));return t.data},async cancelTopup(A,e){const t=await zd({body:{sessionId:A,reason:e}});if(t.error)throw new Error(JA(t.error));return t.data},async getPendingTopup(A){try{const e=await Vd({query:{sessionId:A}});return e.error?{hasPending:!1}:e.data}catch{return{hasPending:!1}}},async getPolarTopupStatus(A){try{const e=await _d({query:{checkoutId:A}});return e.error?null:e.data}catch{return null}},async getRazorpayTopupEstimate(A){try{const e=await Xd({query:{amount:A}});return e.error?null:e.data}catch{return null}},async createRazorpayOrder(A){const e=await $d({body:{amount:A}});if(e.error)throw new Error(JA(e.error));return e.data},async verifyRazorpayPayment(A){const e=await Ah({body:A});if(e.error)throw new Error(JA(e.error));return e.data}},Ft={async getAuthStatus(){const A=await Fu();if(A.error)throw new Error(JA(A.error));return A.data},async setupOttoRouterWallet(){const A=await Gu();if(A.error)throw new Error(JA(A.error));return A.data},async importOttoRouterWallet(A){const e=await vu({body:{privateKey:A}});if(e.error)throw new Error(JA(e.error));return e.data},async exportOttoRouterWallet(){const A=await Su();if(A.error)throw new Error(JA(A.error));return A.data},async addProvider(A,e){const t=await Ru({path:{provider:A},body:{apiKey:e}});if(t.error)throw new Error(JA(t.error));return t.data},async removeProvider(A){const e=await Uu({path:{provider:A}});if(e.error)throw new Error(JA(e.error));return e.data},async completeOnboarding(){const A=await Hu();if(A.error)throw new Error(JA(A.error));return A.data},getOAuthStartUrl(A,e){const t=`${Ag()}/v1/auth/${A}/oauth/start`;return e?`${t}?mode=${e}`:t},async getOAuthUrl(A,e){const t=await Ku({path:{provider:A},body:{mode:e}});if(t.error)throw new Error(JA(t.error));return t.data},async exchangeOAuthCode(A,e,t){const s=await Lu({path:{provider:A},body:{code:e,sessionId:t}});if(s.error)throw new Error(JA(s.error));return s.data},async startCopilotDeviceFlow(){const A=await Ju();if(A.error)throw new Error(JA(A.error));return A.data},async pollCopilotDeviceFlow(A){const e=await ju({body:{sessionId:A}});if(e.error)throw new Error(JA(e.error));return e.data},async getCopilotAuthMethods(){const A=await Tu();if(A.error)throw new Error(JA(A.error));return A.data},async saveCopilotToken(A){const e=await Ou({body:{token:A}});if(e.error)throw new Error(JA(e.error));return e.data},async importCopilotTokenFromGh(){const A=await qu();if(A.error)throw new Error(JA(A.error));return A.data},async getCopilotDiagnostics(){const A=await Yu();if(A.error)throw new Error(JA(A.error));return A.data},async getProviderUsage(A){const e=await Md({path:{provider:A}});if(e.error)throw new Error(JA(e.error));return e.data}},vs={async listSkills(){const A=await oh();if(A.error)throw new Error(JA(A.error));return A.data},async getSkill(A){const e=await sh({path:{name:A}});if(e.error)throw new Error(JA(e.error));return e.data},async getSkillFiles(A){const e=await rh({path:{name:A}});if(e.error)throw new Error(JA(e.error));return e.data},async getSkillFileContent(A,e){const t=await nh({path:{name:A,filePath:e}});if(t.error)throw new Error(JA(t.error));return t.data},async getSkillsConfig(){const A=await eh();if(A.error)throw new Error(JA(A.error));return A.data},async updateSkillsConfig(A){const e=await th({body:A});if(e.error)throw new Error(JA(e.error));return e.data}};class V0{getSessions=no.getSessions;getSessionsPage=no.getSessionsPage;createSession=no.createSession;updateSession=no.updateSession;deleteSession=no.deleteSession;abortSession=no.abortSession;abortMessage=no.abortMessage;getQueueState=no.getQueueState;removeFromQueue=no.removeFromQueue;getMessages=no.getMessages;sendMessage=no.sendMessage;getStreamUrl=no.getStreamUrl;retryMessage=no.retryMessage;initGitRepo=Rt.initGitRepo;getGitStatus=Rt.getGitStatus;getGitDiff=Rt.getGitDiff;getGitDiffFullFile=Rt.getGitDiffFullFile;generateCommitMessage=Rt.generateCommitMessage;stageFiles=Rt.stageFiles;unstageFiles=Rt.unstageFiles;restoreFiles=Rt.restoreFiles;deleteFiles=Rt.deleteFiles;commitChanges=Rt.commitChanges;getGitBranch=Rt.getGitBranch;pushCommits=Rt.pushCommits;pullChanges=Rt.pullChanges;getRemotes=Rt.getRemotes;addRemote=Rt.addRemote;removeRemote=Rt.removeRemote;getConfig=as.getConfig;getModels=as.getModels;getAllModels=as.getAllModels;discoverProviderModels=as.discoverProviderModels;updateProviderSettings=as.updateProviderSettings;deleteProviderSettings=as.deleteProviderSettings;updateDefaults=as.updateDefaults;listFiles=ir.listFiles;searchFiles=ir.searchFiles;getFileTree=ir.getFileTree;readFileContent=ir.readFileContent;getSessionFiles=ir.getSessionFiles;createBranch=Gs.createBranch;listBranches=Gs.listBranches;getParentSession=Gs.getParentSession;getShareStatus=Gs.getShareStatus;shareSession=Gs.shareSession;syncSession=Gs.syncSession;approveToolCall=El.approveToolCall;getPendingApprovals=El.getPendingApprovals;getOttoRouterBalance=Qo.getOttoRouterBalance;getOttoRouterWallet=Qo.getOttoRouterWallet;getOttoRouterUsdcBalance=Qo.getOttoRouterUsdcBalance;getPolarTopupEstimate=Qo.getPolarTopupEstimate;createPolarCheckout=Qo.createPolarCheckout;selectTopupMethod=Qo.selectTopupMethod;cancelTopup=Qo.cancelTopup;getPendingTopup=Qo.getPendingTopup;getPolarTopupStatus=Qo.getPolarTopupStatus;getRazorpayTopupEstimate=Qo.getRazorpayTopupEstimate;createRazorpayOrder=Qo.createRazorpayOrder;verifyRazorpayPayment=Qo.verifyRazorpayPayment;getAuthStatus=Ft.getAuthStatus;setupOttoRouterWallet=Ft.setupOttoRouterWallet;importOttoRouterWallet=Ft.importOttoRouterWallet;exportOttoRouterWallet=Ft.exportOttoRouterWallet;addProvider=Ft.addProvider;removeProvider=Ft.removeProvider;completeOnboarding=Ft.completeOnboarding;getOAuthStartUrl=Ft.getOAuthStartUrl;getOAuthUrl=Ft.getOAuthUrl;exchangeOAuthCode=Ft.exchangeOAuthCode;startCopilotDeviceFlow=Ft.startCopilotDeviceFlow;pollCopilotDeviceFlow=Ft.pollCopilotDeviceFlow;getCopilotAuthMethods=Ft.getCopilotAuthMethods;saveCopilotToken=Ft.saveCopilotToken;importCopilotTokenFromGh=Ft.importCopilotTokenFromGh;getCopilotDiagnostics=Ft.getCopilotDiagnostics;getProviderUsage=Ft.getProviderUsage;listSkills=vs.listSkills;getSkill=vs.getSkill;getSkillFiles=vs.getSkillFiles;getSkillFileContent=vs.getSkillFileContent;getSkillsConfig=vs.getSkillsConfig;updateSkillsConfig=vs.updateSkillsConfig}const mA=new V0;function zo(){return gt({queryKey:["config"],queryFn:()=>mA.getConfig(),staleTime:3e4})}function Z0(A){return gt({queryKey:["models",A],queryFn:()=>A?mA.getModels(A):null,enabled:!!A})}function Xs(){return gt({queryKey:["models","all"],queryFn:()=>mA.getAllModels()})}function Sr(){const A=ke();return Ze({mutationFn:e=>mA.updateDefaults(e),onMutate:async e=>{await A.cancelQueries({queryKey:["config"]});const t=A.getQueryData(["config"]);if(t){const s=Object.fromEntries(Object.entries(e).filter(([n,r])=>n!=="scope"&&r!==void 0));A.setQueryData(["config"],{...t,defaults:{...t.defaults,...s}})}return{previousConfig:t}},onError:(e,t,s)=>{s?.previousConfig&&A.setQueryData(["config"],s.previousConfig)},onSuccess:()=>{A.invalidateQueries({queryKey:["config"]})}})}const KB="otto-preferences",Cr="IBM Plex Mono",Ls={vimMode:!1,compactThread:!0,fontFamily:Cr};function _0(A){const e=A.trim();return!e||e===Cr?`"${Cr}", monospace`:`"${e.replaceAll('"','\\"')}", "${Cr}", monospace`}function LB(A){typeof document>"u"||(document.documentElement.style.setProperty("--otto-font-family",_0(A)),document.documentElement.dataset.ottoFontFamily=A,window.self!==window.top&&window.parent.postMessage({type:"otto-font-family-changed",fontFamily:A},"*"))}function X0(){if(typeof window>"u")return Ls;try{const A=window.localStorage.getItem(KB);if(A){const e=JSON.parse(A);return{vimMode:typeof e.vimMode=="boolean"?e.vimMode:Ls.vimMode,compactThread:typeof e.compactThread=="boolean"?e.compactThread:Ls.compactThread,fontFamily:typeof e.fontFamily=="string"&&e.fontFamily.trim()?e.fontFamily.trim():Ls.fontFamily}}}catch(A){console.warn("Failed to load preferences",A)}return Ls}let Js=X0();LB(Js.fontFamily);const ga=new Set;function $0(){return Js}function Af(){return Ls}function ef(A){return ga.add(A),()=>ga.delete(A)}function tf(){for(const A of ga)A()}function of(A){if(Js={...Js,...A},A.fontFamily!==void 0&&LB(Js.fontFamily),typeof window<"u")try{window.localStorage.setItem(KB,JSON.stringify(Js))}catch(e){console.warn("Failed to persist preferences",e)}tf()}function $s(){const A=x.useSyncExternalStore(ef,$0,Af),{data:e}=zo(),t=Sr(),s=x.useCallback(r=>{const i={};r.vimMode!==void 0&&(i.vimMode=r.vimMode),r.compactThread!==void 0&&(i.compactThread=r.compactThread),r.fontFamily!==void 0&&(i.fontFamily=r.fontFamily.trim()||Cr),Object.keys(i).length>0&&of(i),r.fullWidthContent!==void 0&&r.fullWidthContent!==e?.defaults?.fullWidthContent&&t.mutate({fullWidthContent:r.fullWidthContent,scope:"global"})},[e?.defaults?.fullWidthContent,t]),n=x.useMemo(()=>({...A,fullWidthContent:e?.defaults?.fullWidthContent??!1}),[A,e?.defaults?.fullWidthContent]);return x.useMemo(()=>({preferences:n,updatePreferences:s}),[n,s])}function eg(A){const{data:e,isLoading:t,error:s}=gt({queryKey:["share-status",A],queryFn:()=>mA.getShareStatus(A),enabled:!!A,staleTime:3e4});return{data:e,isLoading:t,error:s}}const Hn=[{id:"models",label:"/models",description:"Open model selector",icon:eo},{id:"agents",label:"/agents",description:"Open agent selector",icon:oo},{id:"new",label:"/new",description:"Create new session",icon:go},{id:"stop",label:"/stop",description:"Stop current generation",icon:vQ},{id:"help",label:"/help",description:"Show keyboard shortcuts and help",icon:SQ},{id:"vim",label:"/vim",description:A=>A.vimModeEnabled?"Disable Vim mode":"Enable Vim mode",icon:AC},{id:"reasoning",label:"/reasoning",description:A=>A.reasoningEnabled?"Disable extended thinking":"Enable extended thinking",icon:Un},{id:"stage",label:"/stage",description:"Stage all changes (git add -A)",icon:ao},{id:"commit",label:"/commit",description:"Commit staged changes",icon:Ht},{id:"compact",label:"/compact",description:"Compact conversation to reduce context size",icon:va},{id:"init",label:"/init",description:"Generate AGENTS.md and .agents docs from the real repo structure",icon:os},{id:"branch",label:"/branch",description:"Branch session from last message",icon:eC},{id:"delete",label:"/delete",description:"Delete current session",icon:yr},{id:"share",label:"/share",description:"Share session publicly",icon:Ra},{id:"sync",label:"/sync",description:"Sync new messages to shared session",icon:Zt}];function JB(A,e){return typeof A.description=="function"?A.description(e):A.description}function sf(A){const e=A.trim().toLowerCase();if(e.startsWith("/"))return Hn.find(t=>t.label.toLowerCase()===e||`/${t.id}`.toLowerCase()===e)}function jB(A){return A==="compact"||A==="init"}function rf(A){return Hn.find(e=>e.id===A)?.label}function nf(A,e){const t=Hn.filter(r=>!(r.id==="share"&&e.isShared||r.id==="sync"&&!e.isShared));if(!A)return t;const s=A.toLowerCase(),n=[];for(const r of t){const i=JB(r,e),a=r.label.toLowerCase().includes(s),g=i.toLowerCase().includes(s);if(a||g){const l=a?10:5;n.push({...r,matchScore:l})}}return n.sort((r,i)=>{const a=i.matchScore-r.matchScore;return a!==0?a:r.label.localeCompare(i.label)})}function af({query:A,selectedIndex:e,onSelect:t,onEnterSelect:s,onClose:n,sessionId:r}){const{preferences:i}=$s(),{data:a}=zo(),{data:g}=eg(r),l=x.useMemo(()=>({vimModeEnabled:i.vimMode,reasoningEnabled:a?.defaults?.reasoningText??!0,isShared:g?.shared}),[i.vimMode,a?.defaults?.reasoningText,g?.shared]),Q=x.useMemo(()=>nf(A,l),[A,l]);return x.useEffect(()=>{document.getElementById(`command-item-${e}`)?.scrollIntoView({block:"nearest"})},[e]),x.useEffect(()=>{s(Q[e]?.id)},[Q,e,s]),x.useEffect(()=>{const I=C=>{C.target.closest("[data-command-popup]")||n()};return document.addEventListener("mousedown",I),()=>document.removeEventListener("mousedown",I)},[n]),Q.length===0?o.jsx("div",{"data-command-popup":!0,className:"absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg z-50 p-3",children:o.jsx("span",{className:"text-muted-foreground text-sm",children:"No commands found"})}):o.jsx("div",{"data-command-popup":!0,className:"absolute bottom-full left-0 right-0 mb-2 bg-card border border-border rounded-lg shadow-lg max-h-[300px] overflow-y-auto z-50",children:Q.map((I,C)=>{const c=I.icon;return o.jsx("button",{type:"button",id:`command-item-${C}`,onMouseDown:u=>{u.preventDefault(),t(I.id)},className:`w-full text-left px-3 py-2 hover:bg-accent ${C===e?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-center gap-3 w-full",children:[o.jsx(c,{className:"w-4 h-4 flex-shrink-0 text-primary"}),o.jsxs("div",{className:"flex-1 min-w-0",children:[o.jsx("div",{className:"font-mono text-sm font-medium text-foreground",children:I.label}),o.jsx("div",{className:"text-xs text-muted-foreground truncate",children:JB(I,l)})]})]})},I.id)})})}const gf={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl","2xl":"max-w-2xl"};function So({isOpen:A,onClose:e,title:t,children:s,showCloseButton:n=!0,closeOnBackdropClick:r=!0,closeOnEscape:i=!0,maxWidth:a="md",position:g="fixed"}){if(x.useEffect(()=>{if(!A||!i)return;const I=C=>{const c=C.target,u=c.tagName==="INPUT"||c.tagName==="TEXTAREA"||c.isContentEditable;(C.key==="Escape"||C.key==="q"&&!u)&&(C.preventDefault(),C.stopPropagation(),e())};return document.addEventListener("keydown",I),()=>document.removeEventListener("keydown",I)},[A,i,e]),x.useEffect(()=>{if(A)return document.body.style.overflow="hidden",()=>{document.body.style.overflow=""}},[A]),!A)return null;const l=I=>{r&&I.target===I.currentTarget&&e()},Q=g==="absolute"?"absolute":"fixed";return o.jsxs(o.Fragment,{children:[o.jsx("button",{type:"button","data-native-overlay-root":"true",className:`${Q} inset-0 bg-black/50 backdrop-blur-sm z-[9999] cursor-default`,onClick:l,onKeyDown:I=>{(I.key==="Enter"||I.key===" ")&&l(I)},"aria-label":"Close modal"}),o.jsx("div",{"data-native-overlay-root":"true",className:`${Q} top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-[9999] w-full ${gf[a]} max-h-[calc(100dvh-2rem)] px-4 flex`,children:o.jsxs("div",{className:"bg-background border border-border rounded-lg shadow-lg max-h-full w-full flex flex-col overflow-hidden",children:[(t||n)&&o.jsxs("div",{className:"flex flex-shrink-0 items-center justify-between p-4 border-b border-border",children:[t&&o.jsx("div",{className:"text-lg font-semibold text-foreground",children:t}),n&&o.jsx("button",{type:"button",onClick:e,className:"text-muted-foreground hover:text-foreground transition-colors ml-auto","aria-label":"Close",children:o.jsx(ct,{className:"h-5 w-5"})})]}),o.jsx("div",{className:"p-6 overflow-y-auto",children:s})]})})]})}const lf=[{keys:["Ctrl","H"],description:"Navigate to left sidebar (sessions)",category:"Navigation"},{keys:["Ctrl","L"],description:"Navigate to right sidebar (git)",category:"Navigation"},{keys:["Ctrl","/"],description:"Toggle left sidebar collapse/expand",category:"Navigation"},{keys:["Ctrl","\\"],description:"Toggle right sidebar collapse/expand",category:"Navigation"},{keys:["Ctrl","N"],description:"Create new session",category:"Navigation"},{keys:["ESC"],description:"Close sidebar and return to center",category:"Navigation"},{keys:["J"],description:"Navigate to next item (in focused list)",category:"List Navigation"},{keys:["K"],description:"Navigate to previous item (in focused list)",category:"List Navigation"},{keys:["Enter"],description:"Select focused item and return to input",category:"List Navigation"},{keys:["Space"],description:"Toggle stage/unstage for focused file (git panel)",category:"Git Operations"},{keys:["A"],description:"Stage all unstaged files",category:"Git Operations"},{keys:["U"],description:"Unstage all staged files",category:"Git Operations"},{keys:["C"],description:"Open commit modal (if files are staged)",category:"Git Operations"},{keys:["Tab"],description:"Toggle plan mode",category:"Chat"},{keys:["Enter"],description:"Send message",category:"Chat"},{keys:["Shift","Enter"],description:"New line in message",category:"Chat"},{keys:["@"],description:"Mention file (opens file picker)",category:"Chat"},{keys:["/"],description:"Slash command (opens command menu)",category:"Chat"}],Qf=[{keys:["i"],description:"Enter insert mode at cursor (vim mode)",category:"Vim Mode"},{keys:["a"],description:"Enter insert mode after cursor (vim mode)",category:"Vim Mode"},{keys:["I"],description:"Enter insert mode at line start (vim mode)",category:"Vim Mode"},{keys:["A"],description:"Enter insert mode at line end (vim mode)",category:"Vim Mode"},{keys:["o"],description:"New line below and enter insert mode (vim mode)",category:"Vim Mode"},{keys:["O"],description:"New line above and enter insert mode (vim mode)",category:"Vim Mode"},{keys:["ESC"],description:"Return to normal mode (vim mode)",category:"Vim Mode"},{keys:["Enter"],description:"Send message in normal mode (vim mode)",category:"Vim Mode"},{keys:["w"],description:"Jump to next word start (vim mode)",category:"Vim Mode"},{keys:["e"],description:"Jump to next word end (vim mode)",category:"Vim Mode"},{keys:["b"],description:"Jump to previous word start (vim mode)",category:"Vim Mode"},{keys:["x"],description:"Delete character under cursor (vim mode)",category:"Vim Mode"},{keys:["s"],description:"Delete character and enter insert mode (vim mode)",category:"Vim Mode"},{keys:["S"],description:"Delete line and enter insert mode (vim mode)",category:"Vim Mode"},{keys:["f","{char}"],description:"Find and jump to next character on line (vim mode)",category:"Vim Mode"},{keys:["d","d"],description:"Delete current line (vim mode)",category:"Vim Mode"},{keys:["0"],description:"Jump to line start (vim mode)",category:"Vim Mode"},{keys:["$"],description:"Jump to line end (vim mode)",category:"Vim Mode"}],Bf=[{command:"/models",description:"Open model selector"},{command:"/agents",description:"Open agent selector"},{command:"/new",description:"Create new session"},{command:"/help",description:"Show keyboard shortcuts and help (this modal)"},{command:"/compact",description:"Compact conversation to reduce context size"},{command:"/init",description:"Generate AGENTS.md and focused .agents docs for the repo"}];function cf(A){const e={};for(const t of A)e[t.category]||(e[t.category]=[]),e[t.category].push(t);return e}function Ef({isOpen:A,onClose:e}){const t=[...lf,...Qf],s=cf(t),n=x.useRef(null),r=x.useRef(null);return x.useEffect(()=>{A?(r.current=document.activeElement,r.current&&r.current.blur()):r.current&&(r.current.focus(),r.current=null)},[A]),x.useEffect(()=>{if(!A)return;const i=a=>{const g=a.target;if(!(g.tagName==="INPUT"||g.tagName==="TEXTAREA"||g.isContentEditable))if(a.key==="j"){a.preventDefault();const Q=n.current;Q&&Q.scrollBy({top:100,behavior:"smooth"})}else if(a.key==="k"){a.preventDefault();const Q=n.current;Q&&Q.scrollBy({top:-100,behavior:"smooth"})}else a.key==="Enter"&&(a.preventDefault(),e())};return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[A,e]),o.jsx(So,{isOpen:A,onClose:e,title:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(SQ,{className:"w-5 h-5"}),o.jsx("span",{children:"Keyboard Shortcuts & Help"})]}),maxWidth:"2xl",closeOnEscape:!0,closeOnBackdropClick:!0,children:o.jsxs("div",{ref:n,className:"space-y-6 max-h-[70vh] overflow-y-auto",children:[Object.entries(s).map(([i,a])=>o.jsxs("div",{children:[o.jsxs("h3",{className:"text-sm font-semibold text-foreground mb-3 flex items-center gap-2",children:[o.jsx(Fg,{className:"w-4 h-4"}),i]}),o.jsx("div",{className:"space-y-2",children:a.map((g,l)=>o.jsxs("div",{className:"flex items-center justify-between py-2 px-3 rounded-lg bg-accent/50 hover:bg-accent transition-colors",children:[o.jsx("span",{className:"text-sm text-foreground",children:g.description}),o.jsx("div",{className:"flex items-center gap-1",children:g.keys.map(Q=>o.jsxs("span",{className:"flex items-center gap-1",children:[o.jsx("kbd",{className:"px-2 py-1 text-xs font-mono bg-background border border-border rounded shadow-sm",children:Q}),g.keys.indexOf(Q)<g.keys.length-1&&o.jsx("span",{className:"text-muted-foreground",children:"+"})]},Q))})]},`${i}-${g.description}`))})]},i)),o.jsxs("div",{children:[o.jsxs("h3",{className:"text-sm font-semibold text-foreground mb-3 flex items-center gap-2",children:[o.jsx(Fg,{className:"w-4 h-4"}),"Slash Commands"]}),o.jsx("div",{className:"space-y-2",children:Bf.map((i,a)=>o.jsxs("div",{className:"flex items-center justify-between py-2 px-3 rounded-lg bg-accent/50 hover:bg-accent transition-colors",children:[o.jsx("span",{className:"text-sm text-foreground",children:i.description}),o.jsx("kbd",{className:"px-2 py-1 text-xs font-mono bg-background border border-border rounded shadow-sm",children:i.command})]},i.command))})]}),o.jsx("div",{className:"pt-4 border-t border-border",children:o.jsxs("p",{className:"text-xs text-muted-foreground",children:[o.jsx("strong",{children:"Tip:"})," Shortcuts are disabled when typing in input fields. Press ",o.jsx("kbd",{className:"text-xs",children:"ESC"})," to close popups and return focus to chat input."]})})]})})}const Cf=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
34
|
-
<path d="M26.9568 9.88184H22.1265L30.7753 31.7848H35.4917L26.9568 9.88184ZM13.028 9.88184L4.4917 31.7848H9.32203L11.2305 27.1793H20.2166L22.0126 31.6724H26.8444L18.0832 9.88184H13.028ZM12.5783 23.1361L15.4987 15.3853L18.5315 23.1361H12.5783Z" fill="currentColor"/>
|
|
35
|
-
</svg>`,If=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
36
|
-
<path d="M32.8377 17.282C33.2127 16.25 33.3072 15.218 33.2127 14.1875C33.1197 13.1571 32.7447 12.1251 32.2752 11.1876C31.4322 9.78209 30.2127 8.6571 28.8072 8.0001C27.3072 7.34461 25.7127 7.15711 24.1197 7.53211C23.3698 6.78212 22.5253 6.12512 21.5878 5.65713C20.6503 5.18913 19.5253 5.00013 18.4948 5.00013C16.8851 4.99074 15.3125 5.48246 13.9948 6.40712C12.6824 7.34311 11.7449 8.6571 11.2754 10.1571C10.1504 10.4376 9.21289 10.9071 8.27539 11.4696C7.4324 12.1251 6.77541 12.9696 6.21291 13.8126C5.36992 15.2195 5.08792 16.8125 5.27542 18.407C5.46399 19.9968 6.11605 21.496 7.1504 22.718C6.79608 23.7086 6.66795 24.7659 6.77541 25.8124C6.86991 26.8444 7.2449 27.8749 7.7129 28.8124C8.55739 30.2194 9.77538 31.3444 11.1824 31.9999C12.6824 32.6569 14.2753 32.8444 15.8698 32.4694C16.6198 33.2194 17.4628 33.8749 18.4003 34.3444C19.3378 34.8139 20.4628 34.9999 21.4948 34.9999C23.1043 35.0097 24.6769 34.5185 25.9947 33.5944C27.3072 32.6569 28.2447 31.3444 28.7127 29.8444C29.7719 29.6432 30.7682 29.1934 31.6197 28.5319C32.4627 27.8749 33.2127 27.1249 33.6822 26.1874C34.5251 24.7819 34.8071 23.1875 34.6196 21.5945C34.4322 20 33.8697 18.5015 32.8377 17.282ZM21.5878 33.0304C20.0878 33.0304 18.9628 32.5609 17.9323 31.7179C17.9323 31.7179 18.0253 31.6234 18.1198 31.6234L24.1197 28.1554C24.2862 28.0803 24.4196 27.9469 24.4947 27.7804C24.5698 27.636 24.6021 27.4731 24.5877 27.3109V18.875L27.1197 20.375V27.3124C27.1455 28.0547 27.0215 28.7945 26.755 29.4878C26.4885 30.181 26.085 30.8134 25.5687 31.3473C25.0523 31.8811 24.4337 32.3054 23.7497 32.5949C23.0658 32.8843 22.3305 33.0314 21.5878 33.0304ZM9.49488 27.8749C8.83789 26.7499 8.55739 25.4374 8.83789 24.125C8.83789 24.125 8.93239 24.2195 9.02539 24.2195L15.0253 27.6874C15.1693 27.7638 15.3325 27.7966 15.4948 27.7819C15.6823 27.7819 15.8698 27.7819 15.9628 27.6874L23.2753 23.4695V26.3749L17.1823 29.9374C16.5506 30.3042 15.8527 30.5427 15.1287 30.6393C14.4046 30.7358 13.6686 30.6884 12.9629 30.4999C11.4629 30.1249 10.2449 29.1874 9.49488 27.8749ZM7.9004 14.8445C8.56239 13.7234 9.58826 12.8627 10.8074 12.4056V19.532C10.8074 19.718 10.8074 19.907 10.9004 20C10.9755 20.1665 11.1089 20.2998 11.2754 20.375L18.5878 24.5944L16.0573 26.0944L10.0574 22.625C9.41842 22.2639 8.85742 21.7797 8.40684 21.2004C7.95627 20.6211 7.62506 19.9582 7.4324 19.25C7.05741 17.8445 7.1504 16.157 7.9004 14.8445ZM28.6197 19.625L21.3073 15.407L23.8377 13.9071L29.8377 17.375C30.7752 17.9375 31.5252 18.6875 31.9947 19.625C32.4642 20.5625 32.7447 21.5945 32.6502 22.7195C32.5603 23.7755 32.1699 24.7837 31.5252 25.6249C30.8697 26.4694 30.0252 27.1249 28.9947 27.4999V20.375C28.9947 20.1875 28.9947 20 28.9002 19.907C28.9002 19.907 28.8072 19.718 28.6197 19.625ZM31.1502 15.875C31.1502 15.875 31.0572 15.782 30.9627 15.782L24.9627 12.3126C24.7752 12.2196 24.6822 12.2196 24.4947 12.2196C24.3072 12.2196 24.1197 12.2196 24.0252 12.3126L16.7128 16.532V13.6251L22.8073 10.0626C23.7448 9.50009 24.7752 9.31259 25.9002 9.31259C26.9322 9.31259 27.9627 9.68759 28.9002 10.3446C29.7447 11.0001 30.4947 11.8446 30.8697 12.7821C31.2447 13.7196 31.3377 14.8445 31.1502 15.875ZM15.4003 21.125L12.8699 19.625V12.5946C12.8699 11.5626 13.1503 10.4376 13.7128 9.59459C14.2753 8.6571 15.1198 8.0001 16.0573 7.53211C17.0127 7.05249 18.0956 6.88812 19.1503 7.06261C20.1823 7.15711 21.2128 7.62511 22.0573 8.2821C22.0573 8.2821 21.9628 8.3751 21.8698 8.3751L15.8698 11.8446C15.7033 11.9197 15.57 12.0531 15.4948 12.2196C15.4003 12.4071 15.4003 12.5001 15.4003 12.6876V21.125ZM16.7128 18.125L19.9948 16.25L23.2753 18.125V21.875L19.9948 23.75L16.7128 21.875V18.125Z" fill="currentColor"/>
|
|
37
|
-
</svg>`,uf=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
38
|
-
<path d="M37 20.034C27.8809 20.5837 20.5808 27.8809 20.0326 37H19.966C19.4163 27.8809 12.1177 20.5837 3 20.034V19.9674C12.1191 19.4163 19.4163 12.1191 19.966 3H20.0326C20.5822 12.1191 27.8809 19.4163 37 19.9674V20.034Z" fill="currentColor"/>
|
|
39
|
-
</svg>`,la=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
40
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.1766 4.57738C12.7424 4.45248 13.3253 4.4821 13.8719 4.64802C14.3313 4.78771 14.7467 5.0176 15.1232 5.32158C15.7506 5.82452 16.2805 6.54484 16.6847 7.39778C17.0911 8.25589 17.3555 9.20672 17.4555 10.1602C18.7946 9.57485 20.2806 9.21797 21.8134 9.11449L21.9219 9.10819C23.7727 8.99312 25.6026 9.25154 27.1981 9.88772C27.4129 9.97483 27.6238 10.0679 27.8301 10.1665C27.9364 9.23136 28.196 8.30283 28.5958 7.46464C28.9999 6.60982 29.5307 5.89059 30.1561 5.38591C30.5055 5.09396 30.9329 4.86411 31.4086 4.71235C31.9551 4.54805 32.5357 4.5182 33.1014 4.64297C33.9545 4.83037 34.6868 5.24855 35.2633 5.85515C35.3459 5.94188 35.4243 6.03325 35.5005 6.12759V15.9511C35.3966 15.8807 35.2901 15.8126 35.18 15.748C33.9142 15.0017 32.2379 14.6416 30.117 14.7452C29.8396 14.7591 29.5632 14.7076 29.3236 14.5989C29.084 14.4902 28.8918 14.3286 28.7724 14.1347C28.1043 13.0417 27.1301 12.2596 25.9154 11.7747C24.7492 11.325 23.443 11.1355 22.1451 11.2285C19.4969 11.3914 17.161 12.5451 16.4653 13.9998C16.3668 14.2045 16.1901 14.3819 15.9582 14.5068C15.7263 14.6316 15.4499 14.6982 15.1673 14.6986C12.8978 14.7019 11.1405 15.1127 9.85572 15.854C8.74521 16.4951 7.98775 17.3916 7.58779 18.4649C7.22593 19.4754 7.17595 20.5375 7.44274 21.5654C7.68101 22.4825 8.14742 23.2424 8.68139 23.6517L8.69905 23.6631C9.14965 24.0034 9.24462 24.5344 8.92988 24.9534C8.16414 25.9759 7.59183 27.5 7.49823 28.9645C7.39192 30.6379 7.89443 32.0911 9.02827 33.1334L9.06232 33.1649C9.23327 33.3188 9.34304 33.5076 9.37893 33.7085C9.41476 33.9096 9.37497 34.1146 9.26414 34.2988C9.01373 34.7141 8.79967 35.1146 8.61959 35.4996H5.70206C5.88367 35.0312 6.10757 34.5494 6.37562 34.0555L6.40463 33.9973L6.38824 33.9785C5.81212 33.3209 5.38162 32.5935 5.11552 31.8266L5.10543 31.7951C4.78254 30.8384 4.65491 29.8484 4.72828 28.8612C4.82189 27.3653 5.31963 25.8324 6.05146 24.6028L6.07795 24.5599L6.0729 24.5573C5.4496 23.8702 4.98861 22.99 4.73333 22.0169L4.72198 21.9779C4.37027 20.6205 4.43825 19.2181 4.92001 17.8847C5.47739 16.3806 6.5735 15.0886 8.18819 14.1549C8.31563 14.0811 8.44921 14.0069 8.58301 13.9379C8.24476 11.4838 8.33005 9.45005 8.82141 7.90485C9.09153 7.05352 9.48977 6.34345 10.0172 5.78955C10.5916 5.18463 11.3236 4.76644 12.1766 4.57738ZM12.8767 6.64096C12.6303 6.7238 12.4193 6.8594 12.27 7.03199L12.2599 7.04208C11.9664 7.35278 11.7109 7.80949 11.5195 8.4094C11.1578 9.54695 11.0601 11.091 11.2558 12.9831C12.1706 12.7727 13.1684 12.641 14.2427 12.5933L14.2642 12.5908L14.3045 12.5353C14.4022 12.4008 14.5061 12.271 14.6186 12.143C14.8802 10.8758 14.6661 9.36166 14.0813 8.12559C13.7963 7.52741 13.4494 7.05655 13.1176 6.78855C13.0491 6.73286 12.972 6.68361 12.8893 6.64096L12.883 6.63719L12.8767 6.64096ZM32.3963 6.70403C32.3135 6.74667 32.2365 6.79719 32.1679 6.85288C31.8361 7.12084 31.4873 7.5929 31.2043 8.19118C30.5875 9.49635 30.3808 11.1109 30.7149 12.4193L30.8385 12.5782L30.8549 12.6009H30.9192C31.975 12.6011 33.0258 12.7194 34.0385 12.9503C34.2214 11.1026 34.1192 9.59119 33.7661 8.47499C33.5745 7.87507 33.3189 7.41836 33.0231 7.10767L33.0143 7.09758C32.8652 6.92452 32.6555 6.78729 32.4088 6.70403L32.4 6.70278L32.3963 6.70403Z" fill="currentColor"/>
|
|
41
|
-
<path d="M21.5208 22.8469C21.7175 22.8312 21.9155 22.876 22.0695 22.9718L22.5262 23.2555L22.9941 22.9692C23.1476 22.8755 23.343 22.8314 23.5378 22.8469C23.7324 22.8626 23.912 22.9364 24.0373 23.0525L24.046 23.0601C24.3009 23.3081 24.2473 23.6677 23.9262 23.8648L23.3057 24.2432V24.9761C23.3045 25.1391 23.2194 25.295 23.0698 25.41C22.92 25.5248 22.717 25.5894 22.5059 25.5891C22.2946 25.5895 22.0908 25.5249 21.9408 25.41C21.7912 25.295 21.706 25.1391 21.705 24.9761V24.2205L21.1285 23.8623C21.0527 23.8153 20.9899 23.7567 20.9432 23.6907C20.8964 23.6247 20.8663 23.5512 20.8561 23.4763C20.8459 23.4017 20.8551 23.3262 20.8826 23.2542C20.9103 23.182 20.9572 23.1146 21.0188 23.0562C21.1443 22.9384 21.3244 22.8627 21.5208 22.8469Z" fill="currentColor"/>
|
|
42
|
-
<path fill-rule="evenodd" clip-rule="evenodd" d="M22.6284 19.5913C24.6195 19.5913 26.4584 20.1055 27.8327 20.9965C29.1727 21.8626 29.9705 23.0264 29.9707 24.1853C29.9707 25.6448 29.1066 26.7822 27.5602 27.5089C26.2412 28.1253 24.4732 28.4247 22.4479 28.4247C20.3014 28.4247 18.4671 27.9996 17.1439 27.2188C15.8314 26.4461 15.0955 25.3604 15.0955 24.1853C15.0957 23.0232 15.9423 21.8558 17.3419 20.9864C18.763 20.1036 20.6394 19.5914 22.6284 19.5913ZM22.6284 21.0634C21.1527 21.0534 19.716 21.4302 18.5529 22.1317C17.5721 22.7399 17.0165 23.5056 17.0165 24.1877C17.0168 24.8911 17.4639 25.5495 18.3144 26.0508C19.2825 26.6211 20.7055 26.9526 22.4479 26.9526C24.1473 26.9526 25.581 26.7109 26.5575 26.2525C27.5425 25.7922 28.0472 25.1239 28.0472 24.1853C28.0469 23.4898 27.5235 22.7218 26.5941 22.1203C25.5644 21.4547 24.1684 21.0634 22.6284 21.0634Z" fill="currentColor"/>
|
|
43
|
-
<path d="M13.3142 19.8978C14.331 19.8978 15.1595 20.54 15.1595 21.3308C15.1599 21.7093 14.9655 22.0727 14.6197 22.3411C14.2735 22.6095 13.8033 22.7614 13.3129 22.7624C12.8231 22.7611 12.3531 22.6091 12.0074 22.3411C11.6621 22.0731 11.4676 21.7101 11.4675 21.332C11.4664 20.9532 11.6605 20.5891 12.0061 20.3204C12.3519 20.0516 12.8239 19.8994 13.3142 19.8978Z" fill="currentColor"/>
|
|
44
|
-
<path d="M31.8364 19.8978C32.8574 19.8978 33.683 20.54 33.683 21.3308C33.6834 21.7095 33.4892 22.0727 33.1431 22.3411C32.7968 22.6095 32.3267 22.7615 31.8364 22.7624C31.3466 22.7611 30.8779 22.6091 30.5321 22.3411C30.1866 22.0731 29.9923 21.7104 29.9922 21.332C29.991 20.9532 30.184 20.5891 30.5295 20.3204C30.8753 20.0516 31.3458 19.8992 31.8364 19.8978Z" fill="currentColor"/>
|
|
45
|
-
</svg>`,df=`<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
46
|
-
<path d="M3.10913 12.07C3.65512 12.07 5.76627 11.5988 6.85825 10.98C7.95023 10.3612 7.95023 10.3612 10.207 8.75965C13.0642 6.73196 15.0845 7.41088 18.3968 7.41088" fill="currentColor"/>
|
|
47
|
-
<path d="M3.10913 12.07C3.65512 12.07 5.76627 11.5988 6.85825 10.98C7.95023 10.3612 7.95023 10.3612 10.207 8.75965C13.0642 6.73196 15.0845 7.41088 18.3968 7.41088" stroke="currentColor" stroke-width="3.27593"/>
|
|
48
|
-
<path d="M21.6 7.43108L16.0037 10.6622V4.20001L21.6 7.43108Z" fill="currentColor" stroke="currentColor" stroke-width="0.0363992"/>
|
|
49
|
-
<path d="M3 12.072C3.54599 12.072 5.65714 12.5432 6.74912 13.162C7.8411 13.7808 7.8411 13.7808 10.0978 15.3823C12.9551 17.41 14.9753 16.7311 18.2877 16.7311" fill="currentColor"/>
|
|
50
|
-
<path d="M3 12.072C3.54599 12.072 5.65714 12.5432 6.74912 13.162C7.8411 13.7808 7.8411 13.7808 10.0978 15.3823C12.9551 17.41 14.9753 16.7311 18.2877 16.7311" stroke="currentColor" stroke-width="3.27593"/>
|
|
51
|
-
<path d="M21.4909 16.7109L15.8945 13.4798V19.942L21.4909 16.7109Z" fill="currentColor" stroke="currentColor" stroke-width="0.0363992"/>
|
|
52
|
-
</svg>`,hf=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
53
|
-
<path d="M20.056 4.50022C14.0839 4.44597 9.20616 9.15015 9.15036 15.0106C9.09611 20.8726 13.8855 25.6621 19.8576 25.7163H23.6085V21.7391H20.056C16.3252 21.7825 13.2671 18.8468 13.2237 15.1827C13.1787 11.5216 16.1702 8.52086 19.901 8.47746H20.056C23.7868 8.47746 26.8108 11.4457 26.8216 15.1083V24.8809C26.8216 28.5109 23.8085 31.4683 20.1211 31.5132C18.3617 31.5007 16.6759 30.8049 15.42 29.5726L12.551 32.3905C14.5529 34.3571 17.239 35.4715 20.0451 35.4998H20.1877C26.0823 35.413 30.8175 30.7212 30.85 24.9351V14.8603C30.7059 9.0928 25.9165 4.50022 20.056 4.50022Z" fill="currentColor"/>
|
|
54
|
-
</svg>`,ff=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
55
|
-
<path d="M35.6638 9.91965C35.3251 9.75432 35.1785 10.0703 34.9811 10.2316C34.9131 10.2836 34.8558 10.3516 34.7985 10.413C34.3025 10.9423 33.7238 11.289 32.9678 11.2476C31.8625 11.1863 30.9186 11.533 30.0839 12.3783C29.9066 11.3356 29.3173 10.7143 28.4213 10.3143C27.9519 10.1063 27.4773 9.89965 27.148 9.44766C26.9186 9.12633 26.856 8.76767 26.7413 8.41568C26.668 8.20235 26.5946 7.98502 26.3506 7.94902C26.084 7.90769 25.98 8.13035 25.876 8.31702C25.4587 9.07967 25.2973 9.91965 25.3133 10.7703C25.3493 12.6849 26.1573 14.2102 27.764 15.2942C27.9466 15.4182 27.9933 15.5435 27.9359 15.7249C27.8266 16.0982 27.696 16.4609 27.5813 16.8355C27.508 17.0742 27.3986 17.1248 27.1426 17.0222C26.2777 16.6504 25.4919 16.1164 24.828 15.4489C23.6854 14.3449 22.6534 13.1263 21.3654 12.1716C21.067 11.9511 20.7606 11.7416 20.4468 11.5436C19.1335 10.2676 20.6201 9.21967 20.9641 9.09567C21.3241 8.965 21.0881 8.51968 19.9254 8.52501C18.7628 8.53035 17.6988 8.91834 16.3428 9.43699C16.1413 9.51421 15.934 9.57529 15.7229 9.61966C14.4557 9.38091 13.1598 9.33506 11.8789 9.48366C9.36565 9.76365 7.35902 10.953 5.88305 12.9809C4.10975 15.4182 3.69243 18.1888 4.20308 21.0768C4.74041 24.122 6.29504 26.6433 8.683 28.6139C11.1603 30.6579 14.0122 31.6592 17.2668 31.4672C19.2428 31.3539 21.4441 31.0886 23.9254 28.9873C24.552 29.2993 25.208 29.4233 26.2986 29.5166C27.1386 29.5953 27.9466 29.4766 28.5719 29.3459C29.5519 29.1379 29.4839 28.23 29.1306 28.0646C26.2573 26.726 26.888 27.2713 26.3133 26.83C27.7746 25.102 29.9746 23.3074 30.8359 17.4928C30.9026 17.0302 30.8452 16.7395 30.8359 16.3662C30.8306 16.1395 30.8826 16.0502 31.1426 16.0249C31.8639 15.95 32.5637 15.7349 33.2025 15.3915C35.0638 14.3742 35.8158 12.7049 35.9931 10.7023C36.0198 10.3956 35.9878 10.081 35.6638 9.91965ZM19.4414 27.9433C16.6562 25.754 15.3055 25.0327 14.7482 25.0634C14.2256 25.0954 14.3202 25.6913 14.4349 26.0807C14.5549 26.4647 14.7109 26.7286 14.9295 27.066C15.0815 27.2886 15.1855 27.6206 14.7789 27.87C13.8816 28.4246 12.3229 27.6833 12.2496 27.6473C10.435 26.578 8.91632 25.1673 7.84834 23.2381C6.81637 21.3808 6.21638 19.3888 6.11771 17.2622C6.09105 16.7475 6.24171 16.5662 6.7537 16.4729C7.42583 16.3442 8.11451 16.3267 8.79233 16.4209C11.6349 16.8368 14.0536 18.1075 16.0828 20.1194C17.2402 21.2661 18.1161 22.6354 19.0188 23.974C19.9788 25.3953 21.0108 26.75 22.3254 27.8593C22.7894 28.2486 23.1587 28.5446 23.5134 28.7619C22.4441 28.8819 20.6601 28.9086 19.4414 27.9433ZM20.7748 19.3568C20.7745 19.2906 20.7904 19.2253 20.8211 19.1666C20.8517 19.1078 20.8962 19.0575 20.9507 19.0198C21.0052 18.9821 21.068 18.9583 21.1337 18.9503C21.1995 18.9424 21.2662 18.9505 21.3281 18.9741C21.407 19.0024 21.475 19.0546 21.5228 19.1235C21.5706 19.1923 21.5958 19.2743 21.5947 19.3581C21.5949 19.4123 21.5843 19.4659 21.5636 19.5159C21.5428 19.5659 21.5123 19.6113 21.4738 19.6494C21.4354 19.6875 21.3897 19.7176 21.3395 19.7378C21.2893 19.7581 21.2356 19.7682 21.1814 19.7675C21.1277 19.7676 21.0745 19.7571 21.0248 19.7365C20.9752 19.7158 20.9302 19.6855 20.8925 19.6473C20.8548 19.609 20.825 19.5636 20.805 19.5138C20.785 19.4639 20.7739 19.4105 20.7748 19.3568ZM24.9213 21.4848C24.6547 21.5928 24.3893 21.6861 24.1347 21.6981C23.7516 21.7114 23.3756 21.5918 23.0707 21.3594C22.7054 21.0528 22.4441 20.8821 22.3347 20.3488C22.297 20.0881 22.3042 19.823 22.3561 19.5648C22.4494 19.1288 22.3454 18.8488 22.0374 18.5955C21.7881 18.3875 21.4694 18.3302 21.1201 18.3302C21.0005 18.3232 20.8843 18.2875 20.7814 18.2262C20.6348 18.1542 20.5148 17.9728 20.6294 17.7488C20.6668 17.6768 20.8428 17.5008 20.8854 17.4688C21.3601 17.1995 21.9081 17.2875 22.4134 17.4902C22.8827 17.6822 23.2374 18.0342 23.748 18.5328C24.2694 19.1341 24.364 19.3008 24.6613 19.7515C24.896 20.1048 25.1093 20.4674 25.2547 20.8821C25.344 21.1421 25.2293 21.3541 24.9213 21.4848Z" fill="currentColor"/>
|
|
56
|
-
</svg>`,pf=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
57
|
-
<path d="M12.4579 15.6036L26.1529 35H20.0656L6.37059 15.6036H12.4579ZM12.4524 26.3764L15.4974 30.6909L12.4551 35H6.36377L12.4524 26.3764ZM33.6365 7.15727V35H28.647V14.2236L33.6365 7.15727ZM33.6365 5L20.0656 24.2205L17.0206 19.9073L27.5451 5H33.6365Z" fill="currentColor"/>
|
|
58
|
-
</svg>`,Cl=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
59
|
-
<path d="M20.1312 7.50002L17.4088 11.1913H5.81625L8.5375 7.50002H20.1325H20.1312ZM34.0675 28.81L31.3475 32.5H19.795L22.5125 28.81H34.0675ZM35 7.50002L16.58 32.5H5L23.42 7.50002H35Z" fill="currentColor"/>
|
|
60
|
-
</svg>`,mf=`<svg width="24" height="24" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
61
|
-
<path d="M55.0151 11H45.7732C42.9871 11 41.594 11 40.5458 11.7564C39.4977 12.5128 39.0587 13.8349 38.1807 16.479L28.4934 45.6545C26.899 50.4561 26.1019 52.8569 27.2993 54.5162C28.4967 56.1754 31.0264 56.1754 36.0858 56.1754H38.1307C41.9554 56.1754 43.8677 56.1754 45.0206 57.2527C45.2855 57.5002 45.5155 57.7825 45.7043 58.092C46.5262 59.4389 46.1395 61.3117 45.3662 65.0574C42.291 79.9519 40.7534 87.3991 43.0079 88.8933C43.4871 89.2109 44.0292 89.4215 44.5971 89.5107C47.2691 89.9303 51.1621 83.398 58.9481 70.3336L70.7118 50.5949C72.8831 46.9517 73.9687 45.13 73.6853 43.639C73.5201 42.7697 73.0712 41.9797 72.4091 41.3927C71.2734 40.386 69.1528 40.386 64.9115 40.386C61.2258 40.386 59.3829 40.386 58.2863 39.5068C57.6438 38.9916 57.176 38.2907 56.9467 37.4998C56.5553 36.1498 57.2621 34.4479 58.6757 31.044L62.4033 22.0683C64.4825 17.0618 65.5221 14.5585 64.3345 12.7793C63.1468 11 60.4362 11 55.0151 11Z" fill="currentColor"/>
|
|
62
|
-
</svg>`,wf=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
63
|
-
<path d="M6 32V12L13 22L20 12V32H17V20L13 26L9 20V32H6ZM22 32V12L29 22L36 12V32H33V20L29 26L25 20V32H22Z" fill="currentColor"/>
|
|
64
|
-
</svg>`,xf=`<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
65
|
-
<path opacity="0.2" d="M19.2002 17.4H8.40017V13.8H15.6002V10.2H19.2002V17.4ZM8.40017 13.8H4.80017V10.2H8.40017V13.8Z" fill="currentColor"/>
|
|
66
|
-
<path d="M8.40005 17.4H19.2001V21H4.80005V13.8H8.40005V17.4ZM15.6001 10.2V13.8H8.40005V10.2H15.6001ZM19.2001 10.2H15.6001V6.6H4.80005V3H19.2001V10.2Z" fill="currentColor"/>
|
|
67
|
-
</svg>`,Df=`<svg width="24" height="24" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg">
|
|
68
|
-
<path d="M35.3993 26.4544C34.2871 28.3855 27.8314 32.9425 20 32.9425C12.1686 32.9425 5.71288 28.3855 4.60075 26.4544C4.5427 26.3532 4.50826 26.2401 4.5 26.1237V22.418C4.51199 22.3209 4.53496 22.2256 4.56846 22.1338C5.04896 20.9261 6.30833 19.1733 7.93325 18.7031C8.14896 18.149 8.468 17.3404 8.76508 16.7437C8.71727 16.2776 8.69485 15.8094 8.69792 15.3409C8.69792 13.6217 9.06217 12.113 10.1601 10.9906C10.6729 10.4662 11.3097 10.0644 12.064 9.76091C13.871 8.29357 16.4453 7.05745 19.9716 7.05745C23.4978 7.05745 26.129 8.29357 27.936 9.76091C28.6903 10.0644 29.3271 10.4662 29.8399 10.9906C30.9378 12.113 31.3021 13.6217 31.3021 15.3409C31.3021 15.8162 31.284 16.2877 31.2349 16.7437C31.532 17.3404 31.851 18.149 32.0667 18.7031C33.6917 19.1733 34.951 20.9261 35.4315 22.1338C35.4677 22.2248 35.4908 22.3205 35.5 22.418V26.1237C35.4917 26.2401 35.4573 26.3532 35.3993 26.4544ZM20.2222 18.7147H19.7778C19.6422 18.945 19.4889 19.1644 19.3193 19.3709C18.3247 20.5941 16.8419 21.2981 14.7881 21.2981C12.56 21.2981 10.9273 20.8344 9.90304 19.6719C9.86495 19.6283 9.82833 19.5835 9.79325 19.5375L9.66667 19.6719V28.1775C11.5202 29.1837 15.4972 30.992 20 30.992C24.5028 30.992 28.4798 29.1837 30.3333 28.1775V19.6719L30.2067 19.5375C30.2067 19.5375 30.1641 19.5957 30.097 19.6719C29.0727 20.8344 27.44 21.2981 25.2119 21.2981C23.1581 21.2981 21.6753 20.5941 20.6807 19.3709C20.5111 19.1644 20.3578 18.945 20.2222 18.7147ZM23.2292 22.9127C23.9383 22.9127 24.5208 23.4952 24.5208 24.2043V26.7877C24.5208 27.4968 23.9383 28.0793 23.2292 28.0793C22.52 28.0793 21.9375 27.4968 21.9375 26.7877V24.2043C21.9375 23.4952 22.52 22.9127 23.2292 22.9127ZM16.7708 22.9127C17.48 22.9127 18.0625 23.4952 18.0625 24.2043V26.7877C18.0625 27.4968 17.48 28.0793 16.7708 28.0793C16.0617 28.0793 15.4792 27.4968 15.4792 26.7877V24.2043C15.4792 23.4952 16.0617 22.9127 16.7708 22.9127ZM21.0501 14.9237C21.2258 16.289 21.5707 17.3947 22.1842 18.149C22.7551 18.8517 23.649 19.3606 25.2119 19.3606C27.2437 19.3606 28.1724 18.9253 28.6438 18.3905C29.1398 17.8287 29.3646 16.9051 29.3646 15.3409C29.3646 13.8684 29.0507 12.9552 28.454 12.3455C27.8378 11.7152 26.7502 11.2321 24.8063 11.0216C22.8856 10.8136 21.975 11.1998 21.5345 11.7049C21.187 12.1014 20.97 12.7485 20.9688 13.7431V13.7702C20.9688 14.1121 20.9959 14.4966 21.0501 14.9237ZM18.9499 14.9237C19.0041 14.4966 19.0312 14.1117 19.0312 13.7689V13.7431C19.03 12.7485 18.813 12.1014 18.4655 11.7049C18.025 11.1998 17.1144 10.8136 15.1937 11.0216C13.2498 11.2321 12.1622 11.7152 11.546 12.3455C10.9493 12.9552 10.6354 13.8684 10.6354 15.3409C10.6354 16.9051 10.8615 17.8287 11.3562 18.3905C11.8276 18.9253 12.7563 19.3606 14.7881 19.3606C16.351 19.3606 17.2449 18.8517 17.8158 18.149C18.4293 17.3947 18.7742 16.289 18.9499 14.9237Z" fill="currentColor"/>
|
|
69
|
-
</svg>`,yf={anthropic:Cf,openai:If,google:uf,ollama:la,"ollama-cloud":la,openrouter:df,groq:hf,deepseek:ff,xai:pf,zai:Cl,"zai-coding":Cl,ottorouter:mf,minimax:wf,opencode:xf,copilot:Df},$t=x.memo(function({provider:e,className:t="",size:s=16}){const n=e.toLowerCase(),r=yf[n]??(n.includes("ollama")?la:void 0);return r?o.jsx("span",{className:`inline-flex items-center justify-center text-foreground/70 dark:text-foreground/80 ${t}`,style:{width:s,height:s},title:e,dangerouslySetInnerHTML:{__html:r.replace(/<svg/,`<svg width="${s}" height="${s}" style="width:${s}px;height:${s}px"`)}}):o.jsx("span",{className:`inline-flex items-center justify-center text-[10px] font-medium text-muted-foreground uppercase ${t}`,style:{width:s,height:s},title:e,children:e.slice(0,2)})});function TB(A={}){return gt({queryKey:["files",A.query??""],queryFn:async()=>await mA.searchFiles(A.query??""),enabled:A.enabled??!0,staleTime:1e4,refetchOnWindowFocus:!0,retry:1})}function Nf({enabled:A,onSend:e,textareaRef:t,setMessage:s}){const[n,r]=x.useState(A?"normal":"insert"),[i,a]=x.useState(""),g=x.useCallback((C,c)=>{for(;c<C.length&&/\S/.test(C[c]);)c++;for(;c<C.length&&/\s/.test(C[c]);)c++;return Math.min(c,C.length)},[]),l=x.useCallback((C,c)=>{for(c<C.length&&/\S/.test(C[c])&&c++;c<C.length&&/\s/.test(C[c]);)c++;for(;c<C.length&&/\S/.test(C[c]);)c++;return Math.max(0,c-1)},[]),Q=x.useCallback((C,c)=>{for(c=Math.max(0,c-1);c>0&&/\s/.test(C[c]);)c--;for(;c>0&&/\S/.test(C[c-1]);)c--;return c},[]),I=x.useCallback(C=>{const c=t.current;if(!c)return!1;const u=C.key;if(u==="i")return C.preventDefault(),r("insert"),!0;if(u==="a"){C.preventDefault(),r("insert");const p=c.selectionStart;return setTimeout(()=>{c.setSelectionRange(p+1,p+1)},0),!0}if(u==="I"){C.preventDefault(),r("insert");const f=c.value.lastIndexOf(`
|
|
70
|
-
`,c.selectionStart-1)+1;return setTimeout(()=>{c.setSelectionRange(f,f)},0),!0}if(u==="A"){C.preventDefault(),r("insert");const p=c.value;let f=p.indexOf(`
|
|
71
|
-
`,c.selectionStart);return f===-1&&(f=p.length),setTimeout(()=>{c.setSelectionRange(f,f)},0),!0}if(u==="0"){C.preventDefault();const f=c.value.lastIndexOf(`
|
|
72
|
-
`,c.selectionStart-1)+1;return c.setSelectionRange(f,f),!0}if(u==="$"){C.preventDefault();const p=c.value;let f=p.indexOf(`
|
|
73
|
-
`,c.selectionStart);return f===-1&&(f=p.length),c.setSelectionRange(f,f),!0}if(u==="o"){C.preventDefault(),r("insert");const p=c.value;let f=p.indexOf(`
|
|
74
|
-
`,c.selectionStart);f===-1&&(f=p.length);const k=`${p.slice(0,f)}
|
|
75
|
-
${p.slice(f)}`;return s(k),setTimeout(()=>{c.setSelectionRange(f+1,f+1)},0),!0}if(u==="O"){C.preventDefault(),r("insert");const p=c.value,f=p.lastIndexOf(`
|
|
76
|
-
`,c.selectionStart-1)+1,k=`${p.slice(0,f)}
|
|
77
|
-
${p.slice(f)}`;return s(k),setTimeout(()=>{c.setSelectionRange(f,f)},0),!0}if(i==="f"&&u.length===1&&u!=="Escape"){C.preventDefault();const p=c.value,f=p.slice(p.lastIndexOf(`
|
|
78
|
-
`,c.selectionStart-1)+1,p.indexOf(`
|
|
79
|
-
`,c.selectionStart)===-1?p.length:p.indexOf(`
|
|
80
|
-
`,c.selectionStart)),k=c.selectionStart-p.lastIndexOf(`
|
|
81
|
-
`,c.selectionStart-1)-1,v=f.indexOf(u,k+1);if(v!==-1){const D=p.lastIndexOf(`
|
|
82
|
-
`,c.selectionStart-1)+1+v;c.setSelectionRange(D,D)}return a(""),!0}if(u==="f")return C.preventDefault(),a("f"),setTimeout(()=>a(""),2e3),!0;if(u==="d"){if(i==="d"){C.preventDefault();const p=c.value,f=p.lastIndexOf(`
|
|
83
|
-
`,c.selectionStart-1)+1;let k=p.indexOf(`
|
|
84
|
-
`,c.selectionStart);k===-1?k=p.length:k+=1;const v=p.slice(0,f)+p.slice(k);return s(v),a(""),setTimeout(()=>{c.setSelectionRange(f,f)},0),!0}return C.preventDefault(),a("d"),setTimeout(()=>a(""),1e3),!0}if(u==="Enter")return C.preventDefault(),e(),!0;if(u==="Escape")return C.preventDefault(),!0;if(u==="w"){C.preventDefault();const p=c.value,f=g(p,c.selectionStart);return c.setSelectionRange(f,f),!0}if(u==="e"){C.preventDefault();const p=c.value,f=l(p,c.selectionStart);return c.setSelectionRange(f,f),!0}if(u==="b"){C.preventDefault();const p=c.value,f=Q(p,c.selectionStart);return c.setSelectionRange(f,f),!0}if(u==="x"){C.preventDefault();const p=c.value,f=c.selectionStart;if(f<p.length){const k=p.slice(0,f)+p.slice(f+1);s(k),setTimeout(()=>{c.setSelectionRange(f,f)},0)}return!0}if(u==="s"){C.preventDefault();const p=c.value,f=c.selectionStart;if(f<p.length){const k=p.slice(0,f)+p.slice(f+1);s(k),r("insert"),setTimeout(()=>{c.setSelectionRange(f,f)},0)}else r("insert");return!0}if(u==="S"){C.preventDefault();const p=c.value,f=p.lastIndexOf(`
|
|
85
|
-
`,c.selectionStart-1)+1;let k=p.indexOf(`
|
|
86
|
-
`,c.selectionStart);k===-1&&(k=p.length);const v=p.slice(0,f)+p.slice(k);return s(v),r("insert"),setTimeout(()=>{c.setSelectionRange(f,f)},0),!0}if(u==="h"){C.preventDefault();const p=c.selectionStart;return p>0&&c.setSelectionRange(p-1,p-1),!0}if(u==="l"){C.preventDefault();const p=c.selectionStart;return p<c.value.length&&c.setSelectionRange(p+1,p+1),!0}if(u==="j"){C.preventDefault();const p=c.value,f=c.selectionStart,k=p.lastIndexOf(`
|
|
87
|
-
`,f-1)+1,v=f-k,D=p.indexOf(`
|
|
88
|
-
`,f);if(D!==-1){const j=D+1;let K=p.indexOf(`
|
|
89
|
-
`,j);K===-1&&(K=p.length);const V=K-j,eA=j+Math.min(v,V);c.setSelectionRange(eA,eA)}return!0}if(u==="k"){C.preventDefault();const p=c.value,f=c.selectionStart,k=p.lastIndexOf(`
|
|
90
|
-
`,f-1)+1;if(k>0){const v=f-k,D=k-1,j=p.lastIndexOf(`
|
|
91
|
-
`,D-1)+1,K=D-j,V=j+Math.min(v,K);c.setSelectionRange(V,V)}return!0}return!1},[i,e,t,s,g,l,Q]);return{vimMode:n,setVimMode:r,handleVimNormalMode:I}}function kf(){const[A,e]=x.useState(!1),[t,s]=x.useState(""),[n,r]=x.useState(0),[i,a]=x.useState(),g=x.useCallback((I,C,c)=>{const u=C.current;if(!u)return;const p=u.value,f=u.selectionStart,v=p.slice(0,f).match(/(^|[\s])@(\S*)$/);if(!v)return;const D=f-v[0].length+v[1].length,j=`${p.slice(0,D)}@${I} ${p.slice(f)}`;c(j),e(!1),setTimeout(()=>{const K=D+I.length+2;u.setSelectionRange(K,K),u.focus()},0)},[]),l=x.useCallback(I=>{a(I)},[]),Q=x.useCallback((I,C)=>{const u=I.slice(0,C).match(/(^|[\s])@(\S*)$/);u?(e(!0),s(u[2]),r(0)):e(!1)},[]);return{showFileMention:A,mentionQuery:t,mentionSelectedIndex:n,currentFileToSelect:i,setShowFileMention:e,setMentionQuery:s,setMentionSelectedIndex:r,setCurrentFileToSelect:a,handleFileSelect:g,handleEnterSelect:l,checkForMention:Q}}function Mf({onCommand:A,onSendCommandMessage:e,updatePreferences:t,updateReasoningText:s,vimModeEnabled:n,reasoningEnabled:r,textareaRef:i,setMessage:a,setShowShortcutsModal:g,sessionId:l}){const[Q,I]=x.useState(!1),[C,c]=x.useState(""),[u,p]=x.useState(0),[f,k]=x.useState(),v=x.useCallback(async K=>{const V=()=>{a(""),I(!1),i.current&&(i.current.style.height="auto"),i.current?.focus()};if(K==="help"){g(!0),V();return}if(K==="vim"){t({vimMode:!n}),V();return}if(K==="reasoning"){s(!r),V();return}if(K==="stop"){if(l)try{await mA.abortSession(l)}catch(eA){console.error("Failed to stop generation:",eA)}V();return}if(jB(K)){const eA=rf(K);if(eA&&e){await e(eA),V();return}}A&&A(K),V()},[A,e,n,r,t,s,i,a,g,l]),D=x.useCallback(K=>{k(K)},[]),j=x.useCallback(K=>{K.startsWith("/")&&!K.includes(" ")?(I(!0),c(K.slice(1)),p(0)):I(!1)},[]);return{showCommandSuggestions:Q,commandQuery:C,commandSelectedIndex:u,currentCommandToSelect:f,setShowCommandSuggestions:I,setCommandQuery:c,setCommandSelectedIndex:p,setCurrentCommandToSelect:k,handleCommandSelect:v,handleCommandEnterSelect:D,checkForCommand:j}}function bf(A){return e=>{const{showFileMention:t,showCommandSuggestions:s,mentionSelectedIndex:n,commandSelectedIndex:r,currentFileToSelect:i,currentCommandToSelect:a,isPlanMode:g,vimModeEnabled:l,vimMode:Q,setMentionSelectedIndex:I,setCommandSelectedIndex:C,setShowFileMention:c,setShowCommandSuggestions:u,setIsPlanMode:p,setVimMode:f,handleFileSelect:k,handleCommandSelect:v,handleSend:D,handleVimNormalMode:j,onPlanModeToggle:K}=A;if(s){const V=Hn.length;e.key==="ArrowDown"||e.ctrlKey&&e.key==="j"?(e.preventDefault(),C((r+1)%V)):e.key==="ArrowUp"||e.ctrlKey&&e.key==="k"?(e.preventDefault(),C((r-1+V)%V)):e.key==="Enter"?(e.preventDefault(),a&&v(a)):e.key==="Escape"&&(e.preventDefault(),u(!1));return}if(t){e.key==="ArrowDown"||e.ctrlKey&&e.key==="j"?(e.preventDefault(),I((n+1)%20)):e.key==="ArrowUp"||e.ctrlKey&&e.key==="k"?(e.preventDefault(),I((n-1+20)%20)):e.key==="Enter"?(e.preventDefault(),i&&k(i)):e.key==="Escape"&&(e.preventDefault(),c(!1),l&&f("normal"));return}if(!(l&&Q==="normal"&&j(e))){if(l&&Q==="insert"&&e.key==="Escape"){e.preventDefault(),f("normal");return}if(e.key==="Tab"){e.preventDefault();const V=!g;p(V),K?.(V)}else e.key==="Enter"&&!e.shiftKey&&(!l||Q==="normal")&&(e.preventDefault(),D())}}}const Ne=ht(A=>({balance:null,usdcBalance:null,network:"mainnet",isPaymentPending:!1,lastPaymentAmount:null,walletAddress:null,isLoading:!1,isTopupModalOpen:!1,scope:null,payg:null,subscription:null,limits:null,setBalance:e=>A({balance:e}),setUsdcBalance:e=>A({usdcBalance:e}),setNetwork:e=>A({network:e}),setPaymentPending:e=>A({isPaymentPending:e}),setLastPaymentAmount:e=>A({lastPaymentAmount:e}),setWalletAddress:e=>A({walletAddress:e}),setLoading:e=>A({isLoading:e}),openTopupModal:()=>A({isTopupModalOpen:!0}),closeTopupModal:()=>A({isTopupModalOpen:!1}),setScope:e=>A({scope:e}),setPayg:e=>A({payg:e}),setSubscription:e=>A({subscription:e}),setLimits:e=>A({limits:e})}));function Ff(A){if(!A)return"";if(typeof A=="string")return A;try{const e=A,t=e.cmd??e.command;if(typeof t=="string")return t;const s=e.path??e.pattern??e.query;if(typeof s=="string")return s;const n=JSON.stringify(A,null,2);return n.length>120?`${n.slice(0,120)}...`:n}catch{return String(A)}}function Gf({approval:A,sessionId:e,isProcessing:t,onProcess:s}){const{removePendingApproval:n}=vr(),r=A.toolName.replace(/_/g," "),i=Ff(A.args),a=x.useCallback(async()=>{s(A.callId);try{await mA.approveToolCall(e,A.callId,!0),n(A.callId)}catch(l){console.error("Failed to approve:",l)}},[e,A.callId,n,s]),g=x.useCallback(async()=>{s(A.callId);try{await mA.approveToolCall(e,A.callId,!1),n(A.callId)}catch(l){console.error("Failed to reject:",l)}},[e,A.callId,n,s]);return o.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 min-w-0",children:[o.jsx(Ka,{className:"h-3.5 w-3.5 text-amber-500 flex-shrink-0"}),o.jsx("span",{className:"text-xs font-medium text-foreground truncate",children:r}),i&&o.jsx("code",{className:"text-[11px] font-mono text-muted-foreground bg-muted/50 px-1.5 py-0.5 rounded truncate max-w-[200px]",children:i}),o.jsxs("div",{className:"flex items-center gap-1.5 ml-auto flex-shrink-0",children:[o.jsxs("button",{type:"button",onClick:g,disabled:t,title:"Reject (N)",className:"flex items-center gap-1 px-2 py-1 text-[11px] font-medium rounded border border-border bg-background hover:bg-muted transition-colors disabled:opacity-50",children:[o.jsx(ct,{className:"w-3 h-3"}),o.jsx("span",{className:"hidden sm:inline",children:"Reject"}),o.jsx("kbd",{className:"ml-0.5 text-[9px] text-muted-foreground opacity-70",children:"N"})]}),o.jsxs("button",{type:"button",onClick:a,disabled:t,title:"Approve (Y)",className:"flex items-center gap-1 px-2 py-1 text-[11px] font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors disabled:opacity-50",children:[o.jsx(Ht,{className:"w-3 h-3"}),t?"...":"Approve",!t&&o.jsx("kbd",{className:"ml-0.5 text-[9px] opacity-70",children:"Y"})]})]})]})}const vf=x.memo(function({sessionId:e}){const{pendingApprovals:t,removePendingApproval:s}=vr(),[n,r]=x.useState(null),i=x.useCallback(async()=>{try{await Promise.all(t.map(g=>mA.approveToolCall(e,g.callId,!0)));for(const g of t)s(g.callId)}catch(g){console.error("Failed to approve all:",g)}},[e,t,s]),a=t.length>0;return o.jsx("div",{className:"grid transition-[grid-template-rows,opacity] duration-200 ease-out",style:{gridTemplateRows:a?"1fr":"0fr",opacity:a?1:0},children:o.jsx("div",{className:"overflow-hidden",children:o.jsxs("div",{className:"border border-amber-200 dark:border-amber-800 border-b-0 bg-amber-50/80 dark:bg-amber-950/30 rounded-t-xl overflow-hidden -mb-1 pb-2",children:[o.jsx("div",{className:"divide-y divide-amber-200/50 dark:divide-amber-800/50",children:t.map(g=>o.jsx(Gf,{approval:g,sessionId:e,isProcessing:n===g.callId,onProcess:r},g.callId))}),t.length>1&&o.jsxs("div",{className:"flex items-center justify-between gap-2 px-3 py-1.5 border-t border-amber-200 dark:border-amber-800 bg-amber-100/50 dark:bg-amber-900/20",children:[o.jsxs("span",{className:"text-[11px] text-amber-800 dark:text-amber-200",children:[t.length," tools waiting"]}),o.jsxs("button",{type:"button",onClick:i,title:"Approve All (A)",className:"flex items-center gap-1 px-2.5 py-1 text-[11px] font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors",children:[o.jsx(UQ,{className:"w-3 h-3"}),"Approve All",o.jsx("kbd",{className:"ml-0.5 text-[9px] opacity-70",children:"A"})]})]})]})})})}),OB=x.memo(x.forwardRef(function({onSend:e,onCommand:t,disabled:s,onConfigClick:n,onPlanModeToggle:r,isPlanMode:i,reasoningEnabled:a,sessionId:g,images:l=[],documents:Q=[],onFileRemove:I,isDragging:C=!1,onPaste:c,visionEnabled:u=!1,attachmentEnabled:p=!1,modelName:f,providerName:k,isCustomProvider:v=!1,authType:D,isFreeModel:j,researchContexts:K=[],onResearchContextRemove:V,onModelInfoClick:eA,agent:X,agents:R=[],onAgentChange:W},O){const[L,w]=x.useState(""),[B,d]=x.useState(i||!1),[N,G]=x.useState(!1),[J,Y]=x.useState(!1),T=x.useRef(null),b=x.useRef(null),{preferences:E,updatePreferences:h}=$s(),{data:S}=zo(),U=Sr(),_=Ne(XA=>XA.subscription),tA=k==="ottorouter",IA=x.useMemo(()=>tA&&_?.active?_.tierName??"GO":null,[tA,_]);x.useEffect(()=>{if(!J)return;const XA=ye=>{b.current&&!b.current.contains(ye.target)&&Y(!1)};return document.addEventListener("mousedown",XA),()=>document.removeEventListener("mousedown",XA)},[J]);const iA=x.useRef(()=>{}),{showFileMention:GA,mentionQuery:qA,mentionSelectedIndex:BA,currentFileToSelect:YA,setShowFileMention:_A,setMentionSelectedIndex:Ce,setCurrentFileToSelect:kA,handleFileSelect:VA,handleEnterSelect:me,checkForMention:He}=kf(),{data:we,isLoading:Re}=TB({enabled:GA,query:qA}),nt=we?.files||[],Ke=we?.changedFiles||[],{showCommandSuggestions:yA,commandQuery:de,commandSelectedIndex:HA,currentCommandToSelect:q,setShowCommandSuggestions:y,setCommandSelectedIndex:M,setCurrentCommandToSelect:Z,handleCommandSelect:AA,handleCommandEnterSelect:nA,checkForCommand:cA}=Mf({onCommand:t,onSendCommandMessage:e,updatePreferences:h,updateReasoningText:XA=>U.mutate({reasoningText:XA,scope:"global"}),vimModeEnabled:E.vimMode,reasoningEnabled:S?.defaults?.reasoningText??!0,textareaRef:T,setMessage:w,setShowShortcutsModal:G,sessionId:g}),{vimMode:zA,setVimMode:PA,handleVimNormalMode:ZA}=Nf({enabled:E.vimMode,onSend:()=>iA.current(),textareaRef:T,setMessage:w});x.useEffect(()=>{T.current?.focus()},[]),x.useEffect(()=>{i!==void 0&&d(i)},[i]),x.useImperativeHandle(O,()=>({focus:()=>{T.current?.focus()},setValue:XA=>{w(XA),T.current?.focus()}}));const Ge=x.useCallback(()=>{const XA=T.current;XA&&(XA.style.height="auto",XA.style.height=`${XA.scrollHeight}px`)},[]);x.useEffect(()=>{Ge()},[Ge,L]);const WA=x.useCallback(()=>{_A(!1),kA(void 0)},[_A,kA]),De=x.useCallback(()=>{y(!1),Z(void 0)},[y,Z]),Wt=x.useCallback(XA=>{VA(XA,T,w)},[VA]),Le=x.useCallback(()=>{const XA=L.trim();if(!XA||s)return;const ye=()=>{w(""),_A(!1),y(!1),kA(void 0),Z(void 0),T.current&&(T.current.style.height="auto"),E.vimMode&&PA("normal"),T.current?.focus()},he=sf(XA);if(he){if(jB(he.id)){e(he.label),ye();return}if(t){t(he.id),ye();return}}e(L),ye()},[L,s,t,e,E.vimMode,_A,y,kA,Z,PA]);x.useEffect(()=>{iA.current=Le},[Le]);const Pe=x.useCallback(XA=>{if(E.vimMode&&zA==="normal")return;const ye=XA.target.value;w(ye),cA(ye),ye.startsWith("/")&&!ye.includes(" ")?(_A(!1),kA(void 0)):(y(!1),Z(void 0),He(ye,XA.target.selectionStart))},[E.vimMode,zA,cA,_A,kA,y,Z,He]),Ro=x.useMemo(()=>bf({showFileMention:GA,showCommandSuggestions:yA,mentionSelectedIndex:BA,commandSelectedIndex:HA,currentFileToSelect:YA,currentCommandToSelect:q,isPlanMode:B,vimModeEnabled:E.vimMode,vimMode:zA,setMentionSelectedIndex:Ce,setCommandSelectedIndex:M,setShowFileMention:_A,setShowCommandSuggestions:y,setIsPlanMode:d,setVimMode:PA,handleFileSelect:Wt,handleCommandSelect:AA,handleSend:Le,handleVimNormalMode:ZA,onPlanModeToggle:r}),[GA,yA,BA,HA,YA,q,B,E.vimMode,zA,Ce,M,_A,y,PA,Wt,AA,Le,ZA,r]);x.useEffect(()=>{E.vimMode||PA("insert")},[E.vimMode,PA]);const Qe=x.useCallback(XA=>{c?.(XA)},[c]),ve=l.length>0,zt=Q.length>0,Oe=ve||zt,_e=E.fullWidthContent?"w-full pointer-events-auto relative":"max-w-3xl mx-auto pointer-events-auto relative";return o.jsxs(o.Fragment,{children:[C&&(()=>{const XA=u||p,ye=[...u?["Images"]:[],...p?["PDF"]:[],"Markdown","Text"].join(", ");return o.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm pointer-events-none",children:o.jsxs("div",{className:`flex flex-col items-center gap-4 p-8 rounded-2xl border-2 border-dashed ${XA?"bg-card border-primary/50":"bg-card border-muted-foreground/30"}`,children:[o.jsx("div",{className:`p-4 rounded-full ${XA?"bg-primary/10":"bg-muted"}`,children:o.jsx(ts,{className:`w-12 h-12 ${XA?"text-primary":"text-muted-foreground"}`})}),o.jsxs("div",{className:"text-center",children:[o.jsx("p",{className:"text-lg font-medium text-foreground",children:"Drop files here"}),o.jsxs("p",{className:"text-sm text-muted-foreground",children:[ye," up to 10MB"]})]})]})})})(),o.jsx("div",{className:"absolute bottom-0 left-0 right-0 pt-16 pb-5 md:pb-6 px-2 md:px-4 bg-gradient-to-t from-background via-background to-transparent pointer-events-none z-20 safe-area-inset-bottom",children:o.jsxs("div",{className:_e,children:[E.vimMode&&zA==="normal"&&o.jsx("div",{className:"absolute -top-6 right-0 px-2 py-0.5 text-xs font-mono font-semibold bg-amber-500/90 text-white rounded shadow-sm",children:"NORMAL"}),E.vimMode&&zA==="insert"&&o.jsx("div",{className:"absolute -top-6 right-0 px-2 py-0.5 text-xs font-mono font-semibold bg-green-500/90 text-white rounded shadow-sm",children:"INSERT"}),g&&o.jsx("div",{className:"pointer-events-auto w-3/4 mx-auto relative z-0",children:o.jsx(vf,{sessionId:g})}),o.jsxs("div",{className:`relative z-10 flex flex-col rounded-3xl p-1 transition-all touch-manipulation ${B?"bg-slate-100 dark:bg-slate-900/40 border border-slate-300 dark:border-slate-700 focus-within:border-slate-400 dark:focus-within:border-slate-600 focus-within:ring-1 focus-within:ring-slate-300 dark:focus-within:ring-slate-700":"bg-card border border-border focus-within:border-primary/60 focus-within:ring-1 focus-within:ring-primary/40"}`,children:[Oe&&o.jsxs("div",{className:"flex flex-wrap gap-2 px-3 pt-2 pb-1",children:[l.map(XA=>o.jsxs("div",{className:"relative group w-12 h-12 rounded-lg overflow-hidden bg-muted",children:[o.jsx("img",{src:XA.preview,alt:"Attachment",className:"w-full h-full object-cover"}),o.jsx("button",{type:"button",onClick:()=>I?.(XA.id),className:"absolute top-0 right-0 p-0.5 bg-black/60 rounded-bl-md opacity-0 group-hover:opacity-100 transition-opacity",children:o.jsx(ct,{className:"w-3 h-3 text-white"})})]},XA.id)),Q.map(XA=>o.jsxs("div",{className:"relative group flex items-center gap-2 px-3 py-2 rounded-lg bg-muted max-w-[200px]",children:[XA.type==="pdf"?o.jsx(ts,{className:"w-4 h-4 text-red-500 flex-shrink-0"}):o.jsx(os,{className:"w-4 h-4 text-blue-500 flex-shrink-0"}),o.jsx("span",{className:"text-xs truncate",children:XA.name}),o.jsx("button",{type:"button",onClick:()=>I?.(XA.id),className:"absolute top-0 right-0 p-0.5 bg-black/60 rounded-bl-md opacity-0 group-hover:opacity-100 transition-opacity",children:o.jsx(ct,{className:"w-3 h-3 text-white"})})]},XA.id))]}),K.length>0&&o.jsx("div",{className:"flex flex-wrap gap-2 px-3 pt-2 pb-1",children:K.map(XA=>o.jsxs("div",{className:"relative group flex items-center gap-2 px-3 py-2 rounded-lg bg-teal-500/10 border border-teal-500/30 max-w-[200px]",children:[o.jsx(dr,{className:"w-4 h-4 text-teal-500 flex-shrink-0"}),o.jsx("span",{className:"text-xs truncate text-teal-600 dark:text-teal-400",children:XA.label}),V&&o.jsx("button",{type:"button",onClick:()=>V(XA.id),className:"absolute top-0 right-0 p-0.5 bg-black/60 rounded-bl-md opacity-0 group-hover:opacity-100 transition-opacity",children:o.jsx(ct,{className:"w-3 h-3 text-white"})})]},XA.id))}),o.jsxs("div",{className:"flex items-end gap-1",children:[n&&o.jsx("button",{type:"button",onClick:n,className:"flex items-center justify-center w-10 h-10 rounded-full hover:bg-background/50 active:bg-background/70 transition-colors text-muted-foreground hover:text-foreground flex-shrink-0 touch-manipulation",children:o.jsx(tC,{className:"w-4 h-4"})}),o.jsx(Yn,{ref:T,value:L,onChange:Pe,onKeyDown:Ro,onPaste:Qe,placeholder:B?"Plan mode - Type a message...":"Type a message...",disabled:s,rows:1,className:`border-0 bg-transparent pl-1 pr-2 py-2 max-h-[200px] overflow-y-auto leading-normal resize-none scrollbar-hide text-base ${E.vimMode&&zA==="normal"?"caret-[6px]":""}`,style:{height:"2.5rem"}}),o.jsx("button",{type:"button",onClick:Le,disabled:s||!L.trim()&&!Oe,className:`flex items-center justify-center w-10 h-10 rounded-full transition-colors flex-shrink-0 touch-manipulation ${L.trim()||Oe?"bg-primary hover:bg-primary/90 active:bg-primary/80 text-primary-foreground":"bg-transparent text-muted-foreground"}`,children:o.jsx(RQ,{className:"w-4 h-4"})})]})]}),o.jsx("div",{className:`grid transition-[grid-template-rows] duration-200 ease-out ${a||u||f||k||D||X?"grid-rows-[1fr]":"grid-rows-[0fr]"}`,children:o.jsx("div",{className:J?"overflow-visible":"overflow-hidden",children:o.jsxs("div",{className:"grid grid-cols-[auto_1fr_auto] items-center mt-1 px-3",children:[o.jsxs("div",{className:"justify-self-start flex-shrink-0 relative",ref:b,children:[X&&R.length>0&&o.jsxs("button",{type:"button",onClick:()=>Y(!J),className:"text-[10px] text-muted-foreground flex items-center gap-1 transition-colors hover:text-foreground cursor-pointer",children:[o.jsx("span",{className:"uppercase font-medium",children:X}),o.jsx(oC,{className:`h-2.5 w-2.5 transition-transform ${J?"rotate-180":""}`})]}),J&&o.jsx("div",{className:"absolute bottom-full left-0 mb-1 min-w-[120px] bg-popover border border-border rounded-md shadow-lg overflow-hidden z-50",children:R.map(XA=>o.jsx("button",{type:"button",onClick:()=>{W?.(XA),Y(!1)},className:`w-full text-left px-3 py-1.5 text-xs transition-colors hover:bg-accent ${XA===X?"text-foreground font-medium bg-accent/50":"text-muted-foreground"}`,children:XA},XA))})]}),o.jsx("div",{className:"justify-self-center",children:(k||f||D)&&o.jsx("div",{className:"text-[10px] text-muted-foreground flex items-center gap-1 px-2 py-0.5",children:o.jsxs("button",{type:"button",onClick:eA,className:"flex items-center gap-1 transition-colors hover:text-foreground cursor-pointer",children:[k&&o.jsxs(o.Fragment,{children:[o.jsx($t,{provider:k,size:12,className:"opacity-70"}),o.jsx("span",{className:"opacity-40",children:"/"})]}),f&&o.jsx("span",{children:f}),v&&o.jsx("span",{className:"opacity-50",children:"(custom)"}),D&&D==="oauth"&&o.jsx("span",{className:"opacity-50",children:"(pro)"}),tA&&IA&&o.jsxs("span",{className:"opacity-50",children:["(",IA.toLowerCase(),")"]}),j&&o.jsx("span",{className:"opacity-50",children:"(free)"})]})})}),o.jsxs("div",{className:"justify-self-end flex-shrink-0 flex items-center gap-2",children:[a&&o.jsxs("span",{className:"text-[10px] text-indigo-600 dark:text-indigo-300 flex items-center gap-1 w-[52px] justify-center",children:[o.jsx(Un,{className:"h-3 w-3 flex-shrink-0"}),(S?.defaults?.reasoningLevel??"high").replace("xhigh","x-high")]}),u&&o.jsxs("span",{className:"text-[10px] text-emerald-600 dark:text-emerald-400 flex items-center gap-1",children:[o.jsx(Ua,{className:"h-3 w-3"}),"images"]})]})]})})}),GA&&!Re&&o.jsx(H0,{files:nt,changedFiles:Ke,query:qA,selectedIndex:BA,onSelect:Wt,onEnterSelect:me,onClose:WA}),yA&&o.jsx(af,{query:de,selectedIndex:HA,onSelect:AA,onEnterSelect:nA,onClose:De,sessionId:g}),o.jsx(Ef,{isOpen:N,onClose:()=>G(!1)})]})})]})})),Sf=50,po=["sessions","list"];function Uf(){return JE({queryKey:po,queryFn:({pageParam:A=0})=>mA.getSessionsPage({limit:Sf,offset:A}),getNextPageParam:A=>A.nextOffset??void 0,initialPageParam:0,staleTime:3e4,refetchInterval:3e4,refetchOnWindowFocus:!1})}function Pn(){const A=Uf();return{data:x.useMemo(()=>A.data?.pages?A.data.pages.flatMap(t=>t.items??[]):[],[A.data]),isLoading:A.isLoading,isError:A.isError,error:A.error,hasNextPage:A.hasNextPage,fetchNextPage:A.fetchNextPage,isFetchingNextPage:A.isFetchingNextPage}}function tg(A){const{data:e}=Pn();return e?.find(t=>t.id===A)}function Rf(){const A=ke();return Ze({mutationFn:e=>mA.createSession(e),onSuccess:e=>{A.setQueryData(po,t=>{if(!t)return t;const s=t.pages[0];return s?{...t,pages:[{...s,items:[e,...s.items]},...t.pages.slice(1)]}:t}),A.invalidateQueries({queryKey:po})}})}function og(A){const e=ke();return Ze({mutationFn:t=>mA.updateSession(A,t),onSuccess:async()=>{await e.invalidateQueries({queryKey:po}),await e.invalidateQueries({queryKey:["session",A]})}})}function Kf(){const A=ke();return Ze({mutationFn:e=>mA.deleteSession(e),onSuccess:()=>{A.invalidateQueries({queryKey:po})}})}function Qa(A,e={}){const{enabled:t=!0,staleTime:s=15e3}=e;return gt({queryKey:["messages",A],queryFn:()=>{if(!A)throw new Error("Session ID is required");return mA.getMessages(A)},enabled:!!A&&t,staleTime:s,refetchOnWindowFocus:!1})}function Lf(A){const e=ke();return Ze({mutationFn:t=>mA.sendMessage(A,t),onSuccess:()=>{e.invalidateQueries({queryKey:["messages",A]}),e.invalidateQueries({queryKey:po})}})}const Ve=ht(A=>({isExpanded:!1,skills:[],globalEnabled:!0,totalCount:0,enabledCount:0,selectedSkill:null,isViewerOpen:!1,viewingFile:null,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),pt.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),pt.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1}),setSkills:e=>A({skills:e}),setSkillsConfig:({skills:e,globalEnabled:t,totalCount:s,enabledCount:n})=>A({skills:e,globalEnabled:t,totalCount:s,enabledCount:n}),selectSkill:e=>A({selectedSkill:e,isViewerOpen:!1,viewingFile:null}),openViewer:e=>A({isViewerOpen:!0,viewingFile:e}),closeViewer:()=>A({isViewerOpen:!1,viewingFile:null})})),$e=ht(A=>({isExpanded:!1,servers:[],loading:new Set,authUrls:new Map,copilotDevice:null,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),pt.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),Ve.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),pt.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),Ve.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1}),setServers:e=>A({servers:e}),setLoading:(e,t)=>A(s=>{const n=new Set(s.loading);return t?n.add(e):n.delete(e),{loading:n}}),updateServer:(e,t)=>A(s=>({servers:s.servers.map(n=>n.name===e?{...n,...t}:n)})),setAuthUrl:(e,t)=>A(s=>{const n=new Map(s.authUrls);return t?n.set(e,t):n.delete(e),{authUrls:n}}),setCopilotDevice:e=>A({copilotDevice:e})})),At=ht(A=>({isExpanded:!1,selectedFile:null,isViewerOpen:!1,expandedDirs:new Set,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),pt.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),pt.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1,isViewerOpen:!1,selectedFile:null}),openFile:e=>A({selectedFile:e,isViewerOpen:!0}),closeViewer:()=>A({isViewerOpen:!1,selectedFile:null}),toggleDir:e=>A(t=>{const s=new Set(t.expandedDirs);return s.has(e)?s.delete(e):s.add(e),{expandedDirs:s}})})),je=ht(A=>({isExpanded:!1,status:"idle",url:null,qrCode:null,error:null,progress:null,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),Mt.getState().collapseSidebar(),pt.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),Mt.getState().collapseSidebar(),pt.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1}),setStatus:e=>A({status:e}),setUrl:e=>A({url:e}),setQrCode:e=>A({qrCode:e}),setError:e=>A({error:e}),setProgress:e=>A({progress:e}),reset:()=>A({status:"idle",url:null,qrCode:null,error:null,progress:null})})),Mt=ht(A=>({isExpanded:!1,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),pt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>A({isExpanded:!0}),collapseSidebar:()=>A({isExpanded:!1})})),pt=ht((A,e)=>({isExpanded:!1,activeResearchSessionId:null,parentSessionId:null,toggleSidebar:()=>{A(t=>{const s=!t.isExpanded;return s&&(Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar()),{isExpanded:s}})},expandSidebar:()=>{Te.getState().collapseSidebar(),tt.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1}),selectResearchSession:t=>A({activeResearchSessionId:t}),setParentSessionId:t=>{e().parentSessionId!==t&&A({parentSessionId:t,activeResearchSessionId:null})},reset:()=>A({activeResearchSessionId:null,parentSessionId:null})})),tt=ht(A=>({isExpanded:!1,selectedFile:null,allOperations:[],selectedOperationIndex:0,isDiffOpen:!1,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Te.getState().collapseSidebar(),pt.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Te.getState().collapseSidebar(),pt.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar(),A({isExpanded:!0})},collapseSidebar:()=>A({isExpanded:!1,isDiffOpen:!1,selectedFile:null,allOperations:[],selectedOperationIndex:0}),openDiff:(e,t)=>A({selectedFile:e,allOperations:t,selectedOperationIndex:t.length-1,isDiffOpen:!0,isExpanded:!0}),selectOperation:e=>A({selectedOperationIndex:e}),closeDiff:()=>A({isDiffOpen:!1,selectedFile:null,allOperations:[],selectedOperationIndex:0})})),Te=ht(A=>({isExpanded:!1,activeSessionId:null,selectedFile:null,selectedFileStaged:!1,isDiffOpen:!1,isCommitModalOpen:!1,commitSessionId:null,wasSessionListCollapsed:!1,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(tt.getState().collapseSidebar(),pt.getState().collapseSidebar(),Mt.getState().collapseSidebar(),je.getState().collapseSidebar(),At.getState().collapseSidebar(),$e.getState().collapseSidebar(),Ve.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>A({isExpanded:!0}),collapseSidebar:()=>A({isExpanded:!1,isDiffOpen:!1,selectedFile:null}),openDiff:(e,t)=>A({selectedFile:e,selectedFileStaged:t,isDiffOpen:!0,isExpanded:!0}),closeDiff:()=>A({isDiffOpen:!1,selectedFile:null}),switchFile:(e,t)=>A({selectedFile:e,selectedFileStaged:t}),openCommitModal:()=>A(e=>({isCommitModalOpen:!0,commitSessionId:e.activeSessionId})),openCommitModalForSession:e=>A({isCommitModalOpen:!0,commitSessionId:e}),closeCommitModal:()=>A({isCommitModalOpen:!1,commitSessionId:null}),setActiveSessionId:e=>A({activeSessionId:e}),setSessionListCollapsed:e=>A({wasSessionListCollapsed:e})}));function Wn(){const A=Te(e=>e.isExpanded);return gt({queryKey:["git","status"],queryFn:()=>mA.getGitStatus(),refetchInterval:A?5e3:!1,retry:1,staleTime:3e3})}function Jf(A,e=!1){return gt({queryKey:["git","diff",A,e],queryFn:()=>A?mA.getGitDiff(A,e):null,enabled:!!A,retry:1,refetchInterval:!1})}function jf(A){return Ze({mutationFn:()=>mA.generateCommitMessage(A??void 0)})}function zn(){const A=ke();return Ze({mutationFn:e=>mA.stageFiles(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]})}})}function sg(){const A=ke();return Ze({mutationFn:e=>mA.unstageFiles(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]})}})}function qB(){const A=ke();return Ze({mutationFn:e=>mA.restoreFiles(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]})}})}function YB(){const A=ke();return Ze({mutationFn:e=>mA.deleteFiles(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]})}})}function Tf(){const A=ke();return Ze({mutationFn:e=>mA.commitChanges(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]}),A.invalidateQueries({queryKey:["git","branch"]})}})}function Of(){const A=ke();return Ze({mutationFn:()=>mA.pushCommits(),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]}),A.invalidateQueries({queryKey:["git","branch"]})}})}function qf(){const A=ke();return Ze({mutationFn:()=>mA.pullChanges(),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]}),A.invalidateQueries({queryKey:["git","branch"]})}})}function Yf(){const A=ke();return Ze({mutationFn:()=>mA.initGitRepo(),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]}),A.invalidateQueries({queryKey:["git","branch"]})}})}function Hf(){const A=Te(e=>e.isExpanded);return gt({queryKey:["git","remotes"],queryFn:()=>mA.getRemotes(),enabled:A,retry:1,staleTime:1e4})}function Pf(){const A=ke();return Ze({mutationFn:({name:e,url:t})=>mA.addRemote(e,t),onSuccess:()=>{A.invalidateQueries({queryKey:["git","remotes"]}),A.invalidateQueries({queryKey:["git","status"]})}})}function Wf(){const A=ke();return Ze({mutationFn:e=>mA.removeRemote(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","remotes"]}),A.invalidateQueries({queryKey:["git","status"]})}})}const rg=["image/png","image/jpeg","image/gif","image/webp"],ng=["application/pdf"],HB=["text/plain","text/markdown","text/x-markdown","application/json","text/csv","text/xml","application/xml","text/yaml","text/x-yaml","application/x-yaml","text/html","text/css","text/javascript","application/javascript","application/typescript"],PB=[".txt",".md",".markdown",".json",".csv",".xml",".yaml",".yml",".html",".css",".js",".ts",".jsx",".tsx",".py",".rs",".go",".java",".c",".cpp",".h",".hpp",".rb",".php",".sh",".bash",".zsh",".toml",".ini",".cfg",".env",".log",".sql",".graphql",".svelte",".vue"],zf=[...rg,...ng,...HB];function Vf(){return`file-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}function Zf(A){if(rg.includes(A.type))return"image";if(ng.includes(A.type))return"pdf";if(HB.includes(A.type))return"text";const e=A.name.toLowerCase().slice(A.name.lastIndexOf("."));return PB.includes(e)?"text":null}function _f(A){if(zf.includes(A.type))return!0;const e=A.name.toLowerCase().slice(A.name.lastIndexOf("."));return PB.includes(e)}async function Il(A){return new Promise((e,t)=>{const s=new FileReader;s.onload=()=>{const r=s.result.split(",")[1];e(r)},s.onerror=t,s.readAsDataURL(A)})}async function Xf(A){return new Promise((e,t)=>{const s=new FileReader;s.onload=()=>e(s.result),s.onerror=t,s.readAsText(A)})}async function $f(A){return new Promise((e,t)=>{const s=new FileReader;s.onload=()=>e(s.result),s.onerror=t,s.readAsDataURL(A)})}function WB(A={}){const{maxFiles:e=10,maxSizeMB:t=10,pageWide:s=!0,supportsImages:n=!0,supportsFileAttachments:r=!0,onError:i}=A,[a,g]=x.useState([]),[l,Q]=x.useState(!1),[I,C]=x.useState(null),c=t*1024*1024,u=x.useCallback(R=>!n&&rg.includes(R.type)?"This model does not support image attachments":!r&&ng.includes(R.type)?"This model does not support PDF attachments":_f(R)?R.size>c?`File too large: ${(R.size/1024/1024).toFixed(1)}MB. Max: ${t}MB`:null:`Unsupported file type: ${R.name.slice(R.name.lastIndexOf("."))||R.type||"unknown"}`,[c,t,n,r]),p=x.useCallback(async R=>{C(null);const W=Array.from(R),O=e-a.length;if(O<=0){const B=`Maximum ${e} files allowed`;C(B),i?.(B);return}const L=W.slice(0,O),w=[];for(const B of L){const d=u(B);if(d){C(d),i?.(d);continue}const N=Zf(B);if(N)try{let G,J,Y,T=B.type;if(N==="image")[G,J]=await Promise.all([$f(B),Il(B)]);else if(N==="pdf")J=await Il(B),T="application/pdf";else if(Y=await Xf(B),J=Y,!T){const b=B.name.toLowerCase();T=b.endsWith(".md")||b.endsWith(".markdown")?"text/markdown":"text/plain"}w.push({id:Vf(),file:B,type:N,name:B.name,preview:G,data:J,mediaType:T,textContent:Y})}catch{const G=`Failed to process file: ${B.name}`;C(G),i?.(G)}}w.length>0&&g(B=>[...B,...w])},[a.length,e,u,i]),f=x.useCallback(R=>{g(W=>W.filter(O=>O.id!==R)),C(null)},[]),k=x.useCallback(()=>{g([]),C(null)},[]),v=x.useCallback(R=>{R.preventDefault(),R.stopPropagation(),R.dataTransfer.types.includes("Files")&&Q(!0)},[]),D=x.useCallback(R=>{R.preventDefault(),R.stopPropagation();const W=R.currentTarget.getBoundingClientRect(),O=R.clientX,L=R.clientY;(O<W.left||O>W.right||L<W.top||L>W.bottom)&&Q(!1)},[]),j=x.useCallback(R=>{R.preventDefault(),R.stopPropagation()},[]),K=x.useCallback(R=>{R.preventDefault(),R.stopPropagation(),Q(!1);const W=R.dataTransfer.files;W.length>0&&p(Array.from(W))},[p]),V=x.useCallback(R=>{const W=R.clipboardData?.items;if(!W)return;const O=[];for(const L of Array.from(W))if(L.kind==="file"){const w=L.getAsFile();w&&O.push(w)}O.length>0&&(R.preventDefault(),p(O))},[p]);x.useEffect(()=>{if(!s)return;let R=0;const W=B=>{B.preventDefault(),B.dataTransfer?.types.includes("Files")&&(R++,R===1&&Q(!0))},O=B=>{B.preventDefault(),R--,R===0&&Q(!1)},L=B=>{B.preventDefault()},w=B=>{B.preventDefault(),R=0,Q(!1);const d=B.dataTransfer?.files;d&&d.length>0&&p(Array.from(d))};return document.addEventListener("dragenter",W),document.addEventListener("dragleave",O),document.addEventListener("dragover",L),document.addEventListener("drop",w),()=>{document.removeEventListener("dragenter",W),document.removeEventListener("dragleave",O),document.removeEventListener("dragover",L),document.removeEventListener("drop",w)}},[s,p]);const eA=a.filter(R=>R.type==="image"),X=a.filter(R=>R.type==="pdf"||R.type==="text");return{files:a,images:eA,documents:X,isDragging:l,error:I,addFiles:p,removeFile:f,clearFiles:k,handleDragEnter:v,handleDragLeave:D,handleDragOver:j,handleDrop:K,handlePaste:V}}const Ba=ht((A,e)=>({pendingRestoreText:null,setPendingRestoreText:t=>A({pendingRestoreText:t}),consumeRestoreText:()=>{const t=e().pendingRestoreText;return A({pendingRestoreText:null}),t}})),Bn=ht((A,e)=>({pendingContexts:new Map,addContext:(t,s)=>{A(n=>{const r=new Map(n.pendingContexts),i=r.get(t)||[];return i.some(a=>a.id===s.id)||r.set(t,[...i,s]),{pendingContexts:r}})},removeContext:(t,s)=>{A(n=>{const r=new Map(n.pendingContexts),i=r.get(t)||[];return r.set(t,i.filter(a=>a.id!==s)),{pendingContexts:r}})},getContexts:t=>e().pendingContexts.get(t)||[],clearContexts:t=>{A(s=>{const n=new Map(s.pendingContexts);return n.delete(t),{pendingContexts:n}})},consumeContexts:t=>{const s=e().getContexts(t);return e().clearContexts(t),s}})),Ap=/<research-context\s+from="([^"]+)"\s+label="([^"]+)"[^>]*>([\s\S]*?)<\/research-context>/g;function ep(A){const e=[];let t=A;const s=new RegExp(Ap);let n=s.exec(A);for(;n!==null;){const[r,i,a,g]=n;e.push({id:i,from:i,label:a,content:g.trim()}),t=t.replace(r,""),n=s.exec(A)}return t=t.trim(),{researchContexts:e,cleanContent:t}}function tp(A){return A.length===0?"":A.map(e=>e.content).join(`
|
|
92
|
-
|
|
93
|
-
`)}const zB=x.forwardRef(function({provider:e,model:t,onChange:s,disabled:n=!1,dropdownMode:r="absolute"},i){const{data:a}=Xs(),{data:g,isLoading:l}=Z0(e),[Q,I]=x.useState(!1),[C,c]=x.useState(""),[u,p]=x.useState(0),[f,k]=x.useState({}),[v,D]=x.useState({}),[j,K]=x.useState({}),V=x.useRef(null),eA=x.useRef(null),X=x.useRef([]);x.useEffect(()=>{a&&k(T=>{const b={...T};for(const[E,h]of Object.entries(a))b[E]={...h,models:j[E]?T[E]?.models??h.models:h.models};return b})},[a,j]);const R=x.useMemo(()=>{const T=Object.keys(a??{});return!e||T.includes(e)?T:[e,...T]},[a,e]);x.useEffect(()=>{!e||!g||(k(T=>({...T,[e]:{...T[e]??{},label:g.label||e,models:g.models}})),K(T=>({...T,[e]:!0})))},[g,e]),x.useEffect(()=>{if(!(!Q||!R.length))for(const T of R)!(f[T]??a?.[T])?.dynamicModels||j[T]||v[T]||(D(E=>({...E,[T]:!0})),mA.getModels(T).then(E=>{k(h=>({...h,[T]:{...h[T]??a?.[T]??{},label:E.label||T,models:E.models,allowAnyModel:E.allowAnyModel,dynamicModels:!0}})),K(h=>({...h,[T]:!0}))}).catch(()=>{K(E=>({...E,[T]:!0}))}).finally(()=>{D(E=>({...E,[T]:!1}))}))},[a,R,j,Q,f,v]),x.useImperativeHandle(i,()=>({openAndFocus:()=>{I(!0)}}));const W=x.useMemo(()=>{const T=[];for(const[b,E]of Object.entries(f))for(const h of E.models)T.push({providerKey:b,providerLabel:E.label,modelId:h.id,modelLabel:h.label,toolCall:h.toolCall,reasoningText:h.reasoningText,contextWindow:h.contextWindow,maxOutputTokens:h.maxOutputTokens,available:h.available,unavailableReason:h.unavailableReason});return T},[f]),O=x.useMemo(()=>new vo(W,{keys:[{name:"modelLabel",weight:2},{name:"modelId",weight:1},{name:"providerLabel",weight:.5}],threshold:.3,ignoreLocation:!0,includeScore:!0,distance:100,minMatchCharLength:1}),[W]),L=x.useMemo(()=>{if(!C.trim())return f;const b=O.search(C).sort((h,S)=>{const U=h.score??1,_=S.score??1;if(Math.abs(U-_)<.001){const tA=h.item.modelLabel.toLowerCase(),IA=S.item.modelLabel.toLowerCase(),iA=C.toLowerCase(),GA=tA.indexOf(iA),qA=IA.indexOf(iA);if(GA>=0&&qA<0)return-1;if(qA>=0&&GA<0)return 1;if(GA>=0&&qA>=0)return GA-qA}return U-_}),E={};for(const h of b){const S=h.item;E[S.providerKey]||(E[S.providerKey]={label:S.providerLabel,models:[]}),E[S.providerKey].models.find(_=>_.id===S.modelId)||E[S.providerKey].models.push({id:S.modelId,label:S.modelLabel,toolCall:S.toolCall,reasoningText:S.reasoningText,contextWindow:S.contextWindow,maxOutputTokens:S.maxOutputTokens,available:S.available,unavailableReason:S.unavailableReason})}return E},[f,C,O]),w=x.useMemo(()=>{const T=[];for(const[b,E]of Object.entries(L))for(const h of E.models)T.push({providerKey:b,providerLabel:E.label,modelId:h.id,modelLabel:h.label,toolCall:h.toolCall,reasoningText:h.reasoningText,contextWindow:h.contextWindow,maxOutputTokens:h.maxOutputTokens,available:h.available,unavailableReason:h.unavailableReason});return T},[L]);x.useEffect(()=>{Q&&p(0)},[Q]),x.useEffect(()=>{Q&&u>=0&&u<X.current.length&&X.current[u]?.scrollIntoView({block:"nearest",behavior:"smooth"})},[u,Q]),x.useEffect(()=>{const T=E=>{V.current&&!V.current.contains(E.target)&&I(!1)},b=E=>{const h=E.target,S=h.tagName==="INPUT"||h.tagName==="TEXTAREA"||h.isContentEditable;(E.key==="Escape"||E.key==="q"&&!S)&&I(!1)};return Q&&(document.addEventListener("mousedown",T),document.addEventListener("keydown",b),setTimeout(()=>eA.current?.focus(),0)),()=>{document.removeEventListener("mousedown",T),document.removeEventListener("keydown",b)}},[Q]);const B=(T,b,E)=>{E!==!1&&(s(T,b),I(!1),c(""))},d=T=>{if(w.length!==0){if(T.key==="ArrowDown"||T.ctrlKey&&T.key==="j")T.preventDefault(),p(b=>b<w.length-1?b+1:0);else if(T.key==="ArrowUp"||T.ctrlKey&&T.key==="k")T.preventDefault(),p(b=>b>0?b-1:w.length-1);else if(T.key==="Enter"){T.preventDefault();const b=w[u];b&&b.available!==!1&&B(b.providerKey,b.modelId,b.available)}}},N=f[e]?.label||g?.label||e,G=f[e]?.models.find(T=>T.id===t)?.label||g?.models.find(T=>T.id===t)?.label||t,J=C.trim()?Object.keys(L):R,Y=r==="inline"?"relative":"absolute z-50";return o.jsxs("div",{ref:V,className:"relative w-full",children:[o.jsxs("button",{type:"button",onClick:()=>!n&&I(!Q),disabled:n,className:"w-full flex items-center justify-between px-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded-md hover:bg-[hsl(var(--accent))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))] disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[o.jsxs("span",{className:"flex items-center gap-2 text-sm truncate",children:[o.jsx("span",{className:"text-[hsl(var(--muted-foreground))]",children:N}),o.jsx("span",{className:"text-[hsl(var(--muted-foreground))]/50",children:"/"}),o.jsx("span",{className:"text-[hsl(var(--foreground))]",children:G})]}),o.jsx(qt,{className:`w-4 h-4 text-[hsl(var(--muted-foreground))] transition-transform ${Q?"rotate-180":""}`})]}),Q&&o.jsxs("div",{className:`${Y} mt-1 w-full bg-[hsl(var(--popover))] border border-[hsl(var(--border))] rounded-md shadow-lg max-h-80 overflow-hidden flex flex-col`,children:[o.jsx("div",{className:"p-2 border-b border-[hsl(var(--border))]",children:o.jsxs("div",{className:"relative",children:[o.jsx(Ds,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[hsl(var(--muted-foreground))]"}),o.jsx("input",{ref:eA,type:"text",value:C,onChange:T=>c(T.target.value),onKeyDown:d,placeholder:"Search providers and models...",className:"w-full pl-9 pr-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded text-sm text-[hsl(var(--foreground))] placeholder-[hsl(var(--muted-foreground))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))]"})]})}),o.jsx("div",{className:"overflow-y-auto",children:J.length===0?o.jsx("div",{className:"p-4 text-center text-[hsl(var(--muted-foreground))] text-sm",children:l?"Loading models...":"No models found"}):J.map(T=>{const b=L[T],E=v[T]||T===e&&l&&!b;return o.jsxs("div",{className:"border-b border-[hsl(var(--border))] last:border-0",children:[o.jsx("div",{className:"sticky top-0 px-3 py-2 text-xs font-semibold text-[hsl(var(--muted-foreground))] uppercase tracking-wider bg-[hsl(var(--muted))] z-10",children:b?.label||T}),o.jsx("div",{children:E?o.jsx("div",{className:"px-4 py-2 text-sm text-[hsl(var(--muted-foreground))]",children:"Loading models..."}):b?.models.length?b.models.map(h=>{const S=T===e&&h.id===t,U=w.findIndex(IA=>IA.providerKey===T&&IA.modelId===h.id),_=U===u,tA=h.available!==!1;return o.jsxs("button",{ref:IA=>{U>=0&&(X.current[U]=IA)},type:"button",disabled:!tA,title:h.unavailableReason,onClick:()=>B(T,h.id,h.available),onMouseEnter:()=>p(U),className:`w-full text-left px-4 py-2 text-sm flex items-center justify-between transition-colors ${_?"bg-[hsl(var(--accent))]":"hover:bg-[hsl(var(--accent))]"} ${S?"text-[hsl(var(--accent-foreground))] font-medium":"text-[hsl(var(--foreground))]"} ${tA?"":"opacity-60 cursor-not-allowed"}`,children:[o.jsx("span",{className:"truncate",children:h.label}),(!tA||h.toolCall||h.reasoningText)&&o.jsxs("div",{className:"flex gap-1 ml-2 flex-shrink-0",children:[!tA&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-red-600/20 text-red-400 rounded",children:"Unavailable"}),h.toolCall&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-green-600/20 text-green-400 rounded",children:"Tools"}),h.reasoningText&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-purple-600/20 text-purple-400 rounded",children:"Reasoning"})]})]},h.id)}):o.jsx("div",{className:"px-4 py-2 text-sm text-[hsl(var(--muted-foreground))]",children:"No models available"})})]},T)})})]})]})}),op=x.forwardRef(function({agent:e,agents:t,onChange:s,disabled:n=!1},r){const[i,a]=x.useState(!1),[g,l]=x.useState(""),[Q,I]=x.useState(0),C=x.useRef(null),c=x.useRef(null),u=x.useRef([]);x.useImperativeHandle(r,()=>({openAndFocus:()=>{a(!0)}}));const p=x.useMemo(()=>new vo(t,{threshold:.4,ignoreLocation:!0}),[t]),f=x.useMemo(()=>g.trim()?p.search(g).map(j=>j.item):t,[t,g,p]);x.useEffect(()=>{i&&I(0)},[i]),x.useEffect(()=>{i&&Q>=0&&Q<u.current.length&&u.current[Q]?.scrollIntoView({block:"nearest",behavior:"smooth"})},[Q,i]),x.useEffect(()=>{const D=K=>{C.current&&!C.current.contains(K.target)&&a(!1)},j=K=>{const V=K.target,eA=V.tagName==="INPUT"||V.tagName==="TEXTAREA"||V.isContentEditable;(K.key==="Escape"||K.key==="q"&&!eA)&&a(!1)};return i&&(document.addEventListener("mousedown",D),document.addEventListener("keydown",j),setTimeout(()=>c.current?.focus(),0)),()=>{document.removeEventListener("mousedown",D),document.removeEventListener("keydown",j)}},[i]);const k=D=>{s(D),a(!1),l("")},v=D=>{if(f.length!==0){if(D.key==="ArrowDown"||D.ctrlKey&&D.key==="j")D.preventDefault(),I(j=>j<f.length-1?j+1:0);else if(D.key==="ArrowUp"||D.ctrlKey&&D.key==="k")D.preventDefault(),I(j=>j>0?j-1:f.length-1);else if(D.key==="Enter"){D.preventDefault();const j=f[Q];j&&k(j)}}};return o.jsxs("div",{ref:C,className:"relative w-full",children:[o.jsxs("button",{type:"button",onClick:()=>!n&&a(!i),disabled:n,className:"w-full flex items-center justify-between px-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded-md hover:bg-[hsl(var(--accent))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))] disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[o.jsx("span",{className:"text-sm text-[hsl(var(--foreground))] truncate",children:e}),o.jsx(qt,{className:`w-4 h-4 text-[hsl(var(--muted-foreground))] transition-transform ${i?"rotate-180":""}`})]}),i&&o.jsxs("div",{className:"absolute z-50 mt-1 w-full bg-[hsl(var(--popover))] border border-[hsl(var(--border))] rounded-md shadow-lg max-h-80 overflow-hidden flex flex-col",children:[o.jsx("div",{className:"p-2 border-b border-[hsl(var(--border))]",children:o.jsxs("div",{className:"relative",children:[o.jsx(Ds,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[hsl(var(--muted-foreground))]"}),o.jsx("input",{ref:c,type:"text",value:g,onChange:D=>l(D.target.value),onKeyDown:v,placeholder:"Search agents...",className:"w-full pl-9 pr-3 py-2 bg-[hsl(var(--secondary))] border border-[hsl(var(--border))] rounded text-sm text-[hsl(var(--foreground))] placeholder-[hsl(var(--muted-foreground))] focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))]"})]})}),o.jsx("div",{className:"overflow-y-auto",children:f.length===0?o.jsx("div",{className:"p-4 text-center text-[hsl(var(--muted-foreground))] text-sm",children:"No agents found"}):f.map((D,j)=>{const K=D===e,V=j===Q;return o.jsx("button",{ref:eA=>{u.current[j]=eA},type:"button",onClick:()=>k(D),onMouseEnter:()=>I(j),className:`w-full text-left px-4 py-2 text-sm transition-colors ${V?"bg-[hsl(var(--accent))]":"hover:bg-[hsl(var(--accent))]"} ${K?"text-[hsl(var(--accent-foreground))] font-medium":"text-[hsl(var(--foreground))]"}`,children:o.jsx("span",{className:"truncate",children:D})},D)})})]})]})}),ul=[{value:"minimal",label:"Minimal"},{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"},{value:"max",label:"Max"},{value:"xhigh",label:"X-High"}];function sp({value:A,onChange:e,disabled:t}){const s=x.useRef(null),[n,r]=x.useState({left:0,width:0});return x.useLayoutEffect(()=>{if(!s.current)return;const i=ul.findIndex(l=>l.value===A),g=s.current.querySelectorAll("[data-tab]")[i];g&&r({left:g.offsetLeft,width:g.offsetWidth})},[A]),o.jsxs("div",{ref:s,className:`relative flex rounded-full bg-muted p-1 ${t?"opacity-40 pointer-events-none":""}`,children:[o.jsx("div",{className:"absolute top-1 bottom-1 rounded-full bg-foreground shadow-md",style:{left:n.left,width:n.width,transition:"left 200ms ease, width 200ms ease"}}),ul.map(i=>o.jsx("button",{"data-tab":!0,type:"button",onClick:()=>e(i.value),disabled:t,className:`relative z-10 flex-1 px-3 py-1.5 text-xs font-medium rounded-full transition-colors duration-200 ${A===i.value?"text-background":"text-muted-foreground hover:text-foreground"}`,children:i.label},i.value))]})}function VB({isOpen:A,onClose:e,initialFocus:t,chatInputRef:s,agent:n,provider:r,model:i,modelSupportsReasoning:a,onAgentChange:g,onProviderChange:l,onModelChange:Q,onModelSelectorChange:I,modalPosition:C="fixed"}){const{data:c,isLoading:u}=zo(),p=Sr(),f=c?.defaults?.reasoningText??!0,k=c?.defaults?.reasoningLevel??"high",v=x.useRef(null),D=x.useRef(null);x.useEffect(()=>{A&&t&&setTimeout(()=>{t==="agent"?v.current?.openAndFocus():t==="model"&&D.current?.openAndFocus()},100)},[A,t]);const j=()=>{e(),setTimeout(()=>{s?.current?.focus()},100)},K=(V,eA)=>{I?I(V,eA):(l(V),Q(eA))};return o.jsx(So,{isOpen:A,onClose:j,title:"Configuration",closeOnEscape:!0,closeOnBackdropClick:!0,maxWidth:"lg",position:C,children:u?o.jsx("div",{className:"text-center text-muted-foreground py-8",children:"Loading configuration..."}):c?o.jsxs("div",{className:"space-y-4",children:[a&&o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"flex items-center justify-between",children:[o.jsx("div",{className:"text-sm font-medium text-foreground",children:"Extended Thinking"}),o.jsx("button",{type:"button",role:"switch","aria-checked":f,onClick:()=>p.mutate({reasoningText:!f,scope:"global"}),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${f?"bg-primary":"bg-muted"}`,children:o.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full transition-transform ${f?"translate-x-6":"translate-x-1"} ${f?"bg-primary-foreground":"bg-foreground"}`})})]}),o.jsx(sp,{value:k,onChange:V=>p.mutate({reasoningLevel:V,scope:"global"}),disabled:!f})]}),o.jsxs("div",{children:[o.jsx("div",{className:"block text-sm font-medium text-foreground mb-2",children:"Agent"}),o.jsx(op,{ref:v,agent:n,agents:c.agents,onChange:g})]}),o.jsxs("div",{children:[o.jsx("div",{className:"block text-sm font-medium text-foreground mb-2",children:"Provider / Model"}),o.jsx(zB,{ref:D,provider:r,model:i,onChange:K,dropdownMode:"inline"})]})]}):null})}const rp=x.memo(x.forwardRef(function({sessionId:e,userContext:t,onNewSession:s,onDeleteSession:n,modalPosition:r},i){const a=tg(e),[g,l]=x.useState(""),[Q,I]=x.useState(""),[C,c]=x.useState(""),[u,p]=x.useState(!1),[f,k]=x.useState(null),[v,D]=x.useState(0),j=x.useRef(null),K=Lf(e),V=og(e),eA=Kf(),{data:X}=Xs(),{data:R}=zo(),{data:W}=Wn(),O=zn(),L=Te(yA=>yA.openCommitModalForSession),w=Te(yA=>yA.setActiveSessionId),B=ke(),d=X?.[Q]?.models?.find(yA=>yA.id===C)?.reasoningText,N=X?.[Q]?.models?.find(yA=>yA.id===C)?.vision,G=X?.[Q]?.models?.find(yA=>yA.id===C)?.attachment,J=X?.[Q]?.models?.find(yA=>yA.id===C)?.free,{images:Y,documents:T,isDragging:b,removeFile:E,clearFiles:h,handlePaste:S}=WB({supportsImages:!!N,supportsFileAttachments:!!G,onError:ue.error}),U=Bn(yA=>yA.pendingContexts),_=Bn(yA=>yA.removeContext),tA=Bn(yA=>yA.consumeContexts),IA=U.get(e)||[],iA=x.useMemo(()=>IA.map(yA=>({id:yA.id,label:yA.label})),[IA]),GA=x.useCallback(yA=>{_(e,yA)},[e,_]),qA=X?.[Q]?.authType,BA=X?.[Q]?.label?.includes("(custom)")??!1;x.useEffect(()=>{a&&(l(a.agent),I(a.provider),c(a.model))},[a]),x.useEffect(()=>(w(e),()=>w(null)),[e,w]),x.useEffect(()=>{D(yA=>yA+1)},[]);const YA=Ba(yA=>yA.pendingRestoreText),_A=Ba(yA=>yA.consumeRestoreText);x.useEffect(()=>{if(YA){const yA=_A();yA&&j.current?.setValue(yA)}},[YA,_A]),x.useImperativeHandle(i,()=>({focus:()=>{j.current?.focus()}}));const Ce=x.useCallback(async yA=>{try{const de=tA(e),HA=tp(de),q=HA?`${HA}
|
|
94
|
-
|
|
95
|
-
${yA}`:yA,y=Y.length>0?Y.map(Z=>({data:Z.data,mediaType:Z.mediaType})):void 0,M=T.length>0?T.map(Z=>({type:Z.type,name:Z.name,data:Z.data,mediaType:Z.mediaType,textContent:Z.textContent})):void 0;await K.mutateAsync({content:q,images:y,files:M,agent:g||void 0,provider:Q||void 0,model:C||void 0,userContext:t||void 0,reasoningText:d&&(R?.defaults?.reasoningText??!0),reasoningLevel:R?.defaults?.reasoningLevel??"high"}),h()}catch(de){console.error("Failed to send message:",de)}},[K,T,Y,h,g,Q,C,t,e,tA,R?.defaults?.reasoningLevel,R?.defaults?.reasoningText,d]),kA=x.useCallback(()=>{p(yA=>!yA)},[]),VA=x.useCallback(()=>{p(!1),k(null)},[]),me=x.useCallback(async yA=>{if(yA==="models")k("model"),p(!0);else if(yA==="agents")k("agent"),p(!0);else if(yA==="new")s?.();else if(yA==="stage"){const de=W?.unstaged?.map(y=>y.path)??[],HA=W?.untracked?.map(y=>y.path)??[],q=[...de,...HA];q.length>0&&O.mutate(q)}else if(yA==="commit")L(e);else if(yA==="compact")Ce("/compact");else if(yA==="init")Ce("/init");else if(yA==="delete")eA.mutate(e,{onSuccess:()=>{n?.()}});else if(yA==="share"){const de=ue.loading("Sharing session...");try{const HA=await mA.shareSession(e);HA.shared&&(ue.successWithAction(HA.message==="Already shared"?"Already shared":"Session shared!",{label:"Open",href:HA.url}),B.invalidateQueries({queryKey:["share-status",e]}))}catch(HA){ue.error(HA instanceof Error?HA.message:"Failed to share")}finally{fo.getState().removeToast(de)}}else if(yA==="sync"){const de=ue.loading("Syncing session...");try{const HA=await mA.syncSession(e);if(HA.synced){const q=HA.newMessages>0?`Synced ${HA.newMessages} new messages`:"Already synced";ue.successWithAction(q,{label:"Open",href:HA.url}),B.invalidateQueries({queryKey:["share-status",e]})}}catch(HA){ue.error(HA instanceof Error?HA.message:"Failed to sync")}finally{fo.getState().removeToast(de)}}},[s,W,O,L,Ce,eA,e,n,B]),He=x.useCallback(async yA=>{l(yA);try{await V.mutateAsync({agent:yA})}catch(de){console.error("Failed to update agent:",de)}},[V]),we=x.useCallback(async(yA,de)=>{I(yA),c(de);try{await V.mutateAsync({provider:yA,model:de})}catch(HA){console.error("Failed to update model:",HA)}},[V]),Re=x.useCallback(async yA=>{if(I(yA),C)try{await V.mutateAsync({provider:yA,model:C})}catch(de){console.error("Failed to update provider:",de)}},[C,V]),nt=x.useCallback(async yA=>{c(yA);try{await V.mutateAsync({provider:Q,model:yA})}catch(de){console.error("Failed to update model:",de)}},[Q,V]),Ke=x.useCallback(async yA=>{const de=yA?"plan":"build";l(de);try{await V.mutateAsync({agent:de})}catch(HA){console.error("Failed to switch agent:",HA)}},[V]);return o.jsxs(o.Fragment,{children:[o.jsx(VB,{isOpen:u,onClose:VA,initialFocus:f,chatInputRef:j,agent:g,provider:Q,model:C,modelSupportsReasoning:d,onAgentChange:He,onProviderChange:Re,onModelChange:nt,onModelSelectorChange:we,modalPosition:r}),o.jsx(OB,{ref:j,onSend:Ce,onCommand:me,disabled:K.isPending,onConfigClick:kA,onPlanModeToggle:Ke,isPlanMode:g==="plan",reasoningEnabled:d&&(R?.defaults?.reasoningText??!0),sessionId:e,images:Y,documents:T,onFileRemove:E,isDragging:b,onPaste:S,visionEnabled:N,attachmentEnabled:G,modelName:C,providerName:Q,isCustomProvider:BA,authType:qA,isFreeModel:J,researchContexts:iA,onResearchContextRemove:GA,onModelInfoClick:()=>{k("model"),p(!0)},agent:g,agents:R?.agents,onAgentChange:He},v)]})}));function np({sessionId:A,onStop:e,disabled:t}){const[s,n]=x.useState(!1),r=async()=>{if(!s){n(!0);try{await mA.abortSession(A),e?.()}catch(i){console.error("Failed to abort stream:",i)}finally{setTimeout(()=>n(!1),1e3)}}};return o.jsxs("button",{type:"button",onClick:r,disabled:t||s,className:"flex items-center gap-1.5 text-sm text-destructive hover:text-destructive/80 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",title:"Stop generation",children:[o.jsx(vQ,{className:"w-4 h-4"}),o.jsx("span",{className:"font-medium",children:s?"Stopping...":"Stop"})]})}const ip=x.memo(x.forwardRef(function({onSessionCreated:e,wordmark:t,compact:s,modalPosition:n},r){const{data:i}=zo(),{data:a}=Xs(),g=ke(),[l,Q]=x.useState(!1),[I,C]=x.useState(!1),c=x.useRef(null),[u,p]=x.useState(""),[f,k]=x.useState(""),[v,D]=x.useState(""),[j,K]=x.useState(!1),[V,eA]=x.useState(null),X=x.useRef(null),R=x.useRef(!1);x.useEffect(()=>{R.current||!i?.defaults||(R.current=!0,p(i.defaults.agent||"general"),k(i.defaults.provider||""),D(i.defaults.model||""))},[i]);const W=a?.[f]?.models?.find(BA=>BA.id===v)?.vision,O=a?.[f]?.models?.find(BA=>BA.id===v)?.attachment,L=a?.[f]?.models?.find(BA=>BA.id===v)?.reasoningText,w=a?.[f]?.models?.find(BA=>BA.id===v)?.free,B=a?.[f]?.authType,d=a?.[f]?.label?.includes("(custom)")??!1,{images:N,documents:G,isDragging:J,removeFile:Y,clearFiles:T,handlePaste:b}=WB({supportsImages:!!W,supportsFileAttachments:!!O,onError:ue.error});x.useImperativeHandle(r,()=>({focus:()=>{X.current?.focus()}})),x.useEffect(()=>{const BA=setTimeout(()=>{X.current?.focus()},100);return()=>clearTimeout(BA)},[]);const E=x.useCallback(BA=>{p(BA)},[]),h=x.useCallback(BA=>{p(BA?"plan":"build")},[]),S=x.useCallback(BA=>{k(BA)},[]),U=x.useCallback(BA=>{D(BA)},[]),_=x.useCallback((BA,YA)=>{k(BA),D(YA)},[]),tA=x.useCallback(()=>{K(BA=>!BA)},[]),IA=x.useCallback(()=>{K(!1),eA(null)},[]),iA=x.useCallback(BA=>{BA==="models"?(eA("model"),K(!0)):BA==="agents"&&(eA("agent"),K(!0))},[]),GA=x.useCallback(async BA=>{if(!(l||!BA.trim())){Q(!0);try{const YA=await mA.createSession({agent:u||"general",provider:f||void 0,model:v||void 0});g.invalidateQueries({queryKey:po});const _A=N.length>0?N.map(kA=>({data:kA.data,mediaType:kA.mediaType})):void 0,Ce=G.length>0?G.map(kA=>({type:kA.type,name:kA.name,data:kA.data,mediaType:kA.mediaType,textContent:kA.textContent})):void 0;await mA.sendMessage(YA.id,{content:BA,images:_A,files:Ce,agent:u||void 0,provider:f||void 0,model:v||void 0,reasoningText:L&&(i?.defaults?.reasoningText??!0),reasoningLevel:i?.defaults?.reasoningLevel??"high"}),T(),c.current=YA.id,C(!0),setTimeout(()=>{c.current&&e(c.current)},250)}catch(YA){ue.error(YA instanceof Error?YA.message:"Failed to create session"),Q(!1)}}},[l,i,u,f,v,N,G,T,e,g,L]),qA=x.useMemo(()=>o.jsx("svg",{width:s?60:80,height:s?24:32,viewBox:"0 0 748 303",fill:"currentColor",className:"text-muted-foreground/30","aria-label":"otto",role:"img",children:o.jsx("path",{d:"M192.877 257.682C192.877 263.287 191.783 268.551 189.596 273.473C187.545 278.395 184.674 282.701 180.982 286.393C177.428 289.947 173.189 292.818 168.268 295.006C163.482 297.057 158.287 298.082 152.682 298.082H44.1953C38.7266 298.082 33.5312 297.057 28.6094 295.006C23.6875 292.818 19.3809 289.947 15.6895 286.393C12.1348 282.701 9.26367 278.395 7.07617 273.473C5.02539 268.551 4 263.287 4 257.682V120.074C4 114.469 5.02539 109.205 7.07617 104.283C9.26367 99.3613 12.1348 95.123 15.6895 91.5684C19.3809 87.877 23.6875 85.0059 28.6094 82.9551C33.5312 80.7676 38.7266 79.6738 44.1953 79.6738H152.682C158.287 79.6738 163.482 80.7676 168.268 82.9551C173.189 85.0059 177.428 87.877 180.982 91.5684C184.674 95.123 187.545 99.3613 189.596 104.283C191.783 109.205 192.877 114.469 192.877 120.074V257.682ZM44.1953 120.074V257.682H152.682V120.074H44.1953ZM331.715 4V298.082H289.674V46.041H239.225V4H331.715ZM478.961 4V298.082H436.92V46.041H386.471V4H478.961ZM743.717 257.682C743.717 263.287 742.623 268.551 740.436 273.473C738.385 278.395 735.514 282.701 731.822 286.393C728.268 289.947 724.029 292.818 719.107 295.006C714.322 297.057 709.127 298.082 703.521 298.082H595.035C589.566 298.082 584.371 297.057 579.449 295.006C574.527 292.818 570.221 289.947 566.529 286.393C562.975 282.701 560.104 278.395 557.916 273.473C555.865 268.551 554.84 263.287 554.84 257.682V120.074C554.84 114.469 555.865 109.205 557.916 104.283C560.104 99.3613 562.975 95.123 566.529 91.5684C570.221 87.877 574.527 85.0059 579.449 82.9551C584.371 80.7676 589.566 79.6738 595.035 79.6738H703.521C709.127 79.6738 714.322 80.7676 719.107 82.9551C724.029 85.0059 728.268 87.877 731.822 91.5684C735.514 95.123 738.385 99.3613 740.436 104.283C742.623 109.205 743.717 114.469 743.717 120.074V257.682ZM595.035 120.074V257.682H703.521V120.074H595.035Z"})}),[s]);return o.jsxs("div",{className:`flex-1 flex flex-col items-center justify-center px-4 transition-opacity duration-250 ease-out ${I?"opacity-0 scale-[0.98]":"opacity-100 scale-100"}`,style:{transitionProperty:"opacity, transform"},children:[o.jsx(VB,{isOpen:j,onClose:IA,initialFocus:V,chatInputRef:X,agent:u,provider:f,model:v,modelSupportsReasoning:L,onAgentChange:E,onProviderChange:S,onModelChange:U,onModelSelectorChange:_,modalPosition:n}),o.jsxs("div",{className:`w-full ${s?"max-w-xl":"max-w-2xl"}`,children:[o.jsx("div",{className:"flex justify-center mb-6",children:t||qA}),o.jsx("div",{className:"relative min-h-[110px]",children:o.jsx(OB,{ref:X,onSend:GA,onCommand:iA,disabled:l,sessionId:void 0,images:N,documents:G,onFileRemove:Y,isDragging:J,onPaste:b,visionEnabled:W,attachmentEnabled:O,modelName:v,providerName:f,isCustomProvider:d,authType:B,isFreeModel:w,onConfigClick:tA,onModelInfoClick:()=>{eA("model"),K(!0)},reasoningEnabled:L&&(i?.defaults?.reasoningText??!0),agent:u,agents:i?.agents,onAgentChange:E,onPlanModeToggle:h,isPlanMode:u==="plan"})})]})]})}));function ap(A){const e=A.split(".").pop()?.toLowerCase();return{js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"text",svelte:"svelte"}[e||""]||"javascript"}function gp(A){const e=A.split(`
|
|
96
|
-
`),t=[];let s=0,n=0,r=!1,i="";for(const a of e){if(a.startsWith("*** Update File:")||a.startsWith("*** Add File:")){const l=a.match(/\*\*\* (?:Update|Add) File: (.+)/);l&&(i=l[1]),r=!0,n=1,s=1}if(a.startsWith("+++")||a.startsWith("*** Update File:")){const l=a.match(/\+\+\+ b\/(.+)/)||a.match(/\*\*\* Update File: (.+)/);l&&(i=l[1])}const g=a.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(g){s=Number.parseInt(g[1],10),n=Number.parseInt(g[2],10),r=!0,t.push({content:a,codeContent:a,type:"header"});continue}if(a.startsWith("@@")&&!a.match(/^@@ -\d+/)){r=!0,t.push({content:a,codeContent:a,type:"header"});continue}if(a.startsWith("***")||a.startsWith("diff ")||a.startsWith("index ")||a.startsWith("---")||a.startsWith("+++")){t.push({content:a,codeContent:a,type:"meta"});continue}r?a.startsWith("+")?t.push({content:a,codeContent:a.slice(1),type:"add",newLineNum:n++}):a.startsWith("-")?t.push({content:a,codeContent:a.slice(1),type:"remove",oldLineNum:s++}):a.startsWith(" ")||a===""?t.push({content:a,codeContent:a.startsWith(" ")?a.slice(1):a,type:"context",oldLineNum:s++,newLineNum:n++}):t.push({content:a,codeContent:a,type:"context"}):t.push({content:a,codeContent:a,type:"meta"})}return{lines:t,filePath:i}}function pr({patch:A}){const{lines:e,filePath:t}=gp(A),s=ap(t),n=document?.documentElement.classList.contains("dark")?Eo:Co;return o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 max-w-full",children:o.jsx("div",{className:"overflow-x-auto overflow-y-auto max-h-96 text-xs font-mono",children:e.map((r,i)=>{const a=`line-${i}-${r.content.slice(0,20)}`;if(r.type==="meta"||r.type==="header")return o.jsx("div",{className:`px-3 py-0.5 whitespace-pre-wrap break-all ${r.type==="header"?"text-muted-foreground/80 bg-muted/20":"text-muted-foreground/80"}`,children:r.content},a);let g="",l="";switch(r.type){case"add":g="text-emerald-700 dark:text-emerald-300",l="bg-emerald-500/10";break;case"remove":g="text-red-600 dark:text-red-300",l="bg-red-500/10";break;default:g="text-foreground/80"}let Q=r.content;return r.codeContent.trim()&&s!=="text"&&(Q=o.jsx(Yt,{language:s,style:n,customStyle:{margin:0,padding:0,background:"transparent",display:"inline",fontSize:"inherit",lineHeight:"inherit"},codeTagProps:{style:{fontFamily:"inherit",background:"transparent"}},PreTag:"span",children:r.codeContent}),r.type==="add"?Q=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"+"}),Q]}):r.type==="remove"?Q=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"-"}),Q]}):r.type==="context"&&(Q=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:" "}),Q]}))),o.jsxs("div",{className:`flex ${l}`,children:[o.jsx("div",{className:"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0",children:r.oldLineNum||""}),o.jsx("div",{className:"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0 border-r border-border/50",children:r.newLineNum||""}),o.jsx("div",{className:`px-3 py-0.5 flex-1 min-w-0 whitespace-pre-wrap break-all ${g}`,children:Q})]},a)})})})}function lp(A){const e=A.split(".").pop()?.toLowerCase();return{js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"text",svelte:"svelte"}[e||""]||"javascript"}function ZB(A){return A==="bash"?"shell":A}function Bi(A){return ZB(A)==="shell"}function Qp(A,e){if(!e)return null;const s={read:["path"],edit:["path"],multiedit:["path"],write:["path"],copy_into:["targetPath","sourcePath"],apply_patch:["path"],glob:["pattern"],grep:["query","pattern"],ripgrep:["query","pattern"],shell:["cmd","command"],bash:["cmd","command"],terminal:["command"],git_commit:["message"],git_diff:["file"],tree:["path"],ls:["path"],web_search:["query","url"],skill:["name"]}[A];if(!s){for(const[n,r]of Object.entries(e))if(typeof r=="string"&&r.length>0&&r.length<200)return{key:n,value:r};return null}for(const n of s){const r=e[n];if(typeof r=="string"&&r.length>0)return{key:n,value:r}}return null}function Bp(A){if(!A)return null;const e=A.cmd??A.command;return typeof e=="string"&&e.length>0?e:null}const cp=x.memo(function({toolName:e,args:t,pendingApproval:s,onApprove:n,onReject:r}){const[i,a]=x.useState(!1),g=ZB(e),l=g.replace(/_/g," "),Q=Qp(g,t),C=(Bi(g)?Bp(t):null)||Q?.value,c=typeof t?.path=="string"?t.path:"",u=lp(c),p=document?.documentElement.classList.contains("dark")?Eo:Co,f=()=>{a(!0),Promise.resolve(n(s.callId)).catch(()=>{a(!1)})},k=()=>{a(!0),Promise.resolve(r(s.callId)).catch(()=>{a(!1)})},v=()=>{if(e==="apply_patch"&&t?.patch)return o.jsx("div",{className:"ml-6 max-w-full overflow-hidden",children:o.jsx(pr,{patch:String(t.patch)})});if(e==="write"&&t?.content){const D=String(t.content);return o.jsx("div",{className:"ml-6 max-w-full overflow-hidden",children:o.jsx("div",{className:"bg-emerald-500/10 border border-emerald-500/30 rounded-lg overflow-hidden max-h-96",children:o.jsx("div",{className:"overflow-x-auto overflow-y-auto max-h-96 text-xs",children:o.jsx(Yt,{language:u,style:p,customStyle:{margin:0,padding:"0.75rem",background:"transparent",fontSize:"inherit"},showLineNumbers:!0,lineNumberStyle:{minWidth:"2.5em",paddingRight:"1em",color:"var(--muted-foreground)",opacity:.4,userSelect:"none"},children:D})})})})}if((e==="edit"||e==="multiedit"||e==="copy_into")&&(Q?.value||c)){const D=e==="copy_into"?`Lines ${String(t?.startLine??"?")}-${String(t?.endLine??"?")} from ${String(t?.sourcePath??"source")} will be copied into this file.`:e==="multiedit"?"Multiple exact replacements will be applied atomically.":"An exact text replacement will be applied to this file.";return o.jsx("div",{className:"ml-6 text-xs text-muted-foreground",children:D})}if(Bi(g)&&t?.cmd){const D=String(t.cmd);return o.jsx("div",{className:"ml-6 max-w-full overflow-hidden",children:o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden",children:o.jsx("div",{className:"overflow-x-auto text-xs",children:o.jsx(Yt,{language:"bash",style:p,customStyle:{margin:0,padding:"0.75rem",background:"transparent",fontSize:"inherit"},children:D})})})})}return null};return o.jsxs("div",{className:"flex flex-col gap-2 py-1",children:[o.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[o.jsx(Ka,{className:"h-4 w-4 text-amber-500 flex-shrink-0"}),o.jsx("span",{className:"font-medium text-foreground text-sm",children:l}),C&&!Bi(g)&&o.jsx("code",{className:"text-xs font-mono text-foreground/80 bg-muted/50 px-1.5 py-0.5 rounded truncate max-w-xs",children:C}),o.jsx("span",{className:"text-amber-600 dark:text-amber-400 font-medium text-sm",children:"requires approval"})]}),v(),o.jsxs("div",{className:"flex items-center gap-2 ml-6",children:[o.jsxs("button",{type:"button",onClick:k,disabled:i,title:"Reject (N or Esc)",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-border bg-background hover:bg-muted transition-colors disabled:opacity-50",children:[o.jsx(ct,{className:"w-3 h-3"}),"Reject",o.jsx("kbd",{className:"ml-1 text-[10px] text-muted-foreground opacity-70",children:"N"})]}),o.jsxs("button",{type:"button",onClick:f,disabled:i,title:"Approve (Y)",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors disabled:opacity-50",children:[o.jsx(Ht,{className:"w-3 h-3"}),i?"Approving...":"Approve",!i&&o.jsx("kbd",{className:"ml-1 text-[10px] opacity-70",children:"Y"})]})]})]})});function bt(A){return A?A>=1e3?`${(A/1e3).toFixed(1)}s`:`${A}ms`:""}function Ar(A){if(!A||typeof A!="object")return!1;const e=A;return e.ok===!1||"error"in e||e.success===!1}function er(A){if(!A||typeof A!="object")return null;const e=A,t=["error","stderr","message","detail","details","reason"];for(const s of t){const n=e[s];if(typeof n=="string"){const r=n.trim();if(r.length)return r}}return null}function Pt({error:A,stack:e,showStack:t=!1}){return o.jsx("div",{className:"mt-2 ml-5 p-3 bg-red-50 dark:bg-red-950/20 border border-red-200 dark:border-red-800 rounded text-sm",children:o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(wo,{className:"h-4 w-4 flex-shrink-0 text-red-600 dark:text-red-400 mt-0.5"}),o.jsxs("div",{className:"flex-1 space-y-2",children:[o.jsxs("div",{children:[o.jsx("div",{className:"font-medium text-red-600 dark:text-red-400",children:"Tool Error:"}),o.jsx("div",{className:"mt-1 text-red-900 dark:text-red-200 whitespace-pre-wrap",children:A})]}),t&&e&&o.jsxs("details",{className:"mt-2",children:[o.jsx("summary",{className:"cursor-pointer text-xs text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200",children:"View stack trace"}),o.jsx("pre",{className:"mt-2 p-2 bg-red-100/50 dark:bg-red-900/20 rounded text-xs overflow-x-auto text-red-800 dark:text-red-300",children:e})]})]})]})})}function Ep(A){const e=A.split(".").pop()?.toLowerCase();return{js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"text"}[e||""]||"text"}function Cp(A){if(!A)return;const e=A.match(/@(\d+)-(\d+)/);if(e)return Number.parseInt(e[1],10)}function Ip({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=A.args||{},a=typeof r=="object"&&"ok"in r&&r.ok===!1,g=a&&"error"in r&&typeof r.error=="string"?r.error:null,l=a&&"stack"in r&&typeof r.stack=="string"?r.stack:void 0,Q=String(r.path||i.path||""),I=String(r.content||""),C=r.lineRange,c=I.split(`
|
|
97
|
-
`),u=bt(e),p=Ep(Q),f=document?.documentElement.classList.contains("dark")?Eo:Co,k=Cp(C),v=C?`${Q}:${C.replace("@","")}`:Q,D=I.length>0||a;return o.jsxs("div",{className:"text-xs",children:[o.jsxs("button",{type:"button",onClick:()=>D&&s(),className:`flex items-center gap-2 transition-colors w-full min-w-0 ${a?"text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200":D?"text-blue-700 dark:text-blue-300 hover:text-blue-600 dark:hover:text-blue-200":"text-blue-700 dark:text-blue-300"}`,children:[D?t?o.jsx(at,{className:"h-3 w-3 flex-shrink-0 rotate-90 transition-transform"}):o.jsx(at,{className:"h-3 w-3 flex-shrink-0 transition-transform"}):o.jsx("div",{className:"w-3 flex-shrink-0"}),a&&o.jsx(wo,{className:"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400"}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:["read",a?" error":""]}),!n&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"}),o.jsx("span",{className:"text-foreground/70 min-w-0 flex-shrink overflow-hidden text-ellipsis whitespace-nowrap",dir:"rtl",title:v,children:`${v}`})]}),!a&&c.length>0&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0 whitespace-nowrap",children:["· ",c.length," lines · ",u]}),a&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",u]})]}),t&&a&&g&&o.jsx(Pt,{error:g,stack:l,showStack:!0}),t&&!a&&I&&o.jsx("div",{className:"mt-2 ml-5 bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 overflow-y-auto max-w-full",children:o.jsx("div",{className:"overflow-x-auto max-w-full",children:o.jsx(Yt,{language:p,style:f,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},showLineNumbers:!0,startingLineNumber:k,wrapLines:!0,wrapLongLines:!0,children:I})})})]})}function up({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=A.args||{},a=A.artifact,g=typeof r=="object"&&"ok"in r&&r.ok===!1,l=g&&"error"in r&&typeof r.error=="string"?r.error:null,Q=g&&"stack"in r&&typeof r.stack=="string"?r.stack:void 0,I=String(r.path||i.path||""),C=Number(r.bytes||0),c=a?.patch?String(a.patch):"",u=bt(e),p=c.length>0||g;return o.jsxs("div",{className:"text-xs",children:[o.jsxs("button",{type:"button",onClick:()=>p&&s(),className:`flex items-center gap-2 transition-colors min-w-0 w-full ${g?"text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200":p?"text-emerald-700 dark:text-emerald-300 hover:text-emerald-600 dark:hover:text-emerald-200":"text-emerald-700 dark:text-emerald-300"}`,children:[p?t?o.jsx(at,{className:"h-3 w-3 flex-shrink-0 rotate-90 transition-transform"}):o.jsx(at,{className:"h-3 w-3 flex-shrink-0 transition-transform"}):o.jsx("div",{className:"w-3 flex-shrink-0"}),g&&o.jsx(wo,{className:"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400"}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:["write",g?" error":""]}),!n&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"}),o.jsx("span",{className:"text-foreground/70 min-w-0 flex-shrink overflow-hidden text-ellipsis whitespace-nowrap",dir:"rtl",title:I,children:`${I}`})]}),!g&&C>0&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 whitespace-nowrap flex-shrink-0",children:["· ",C," bytes · ",u]}),g&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",u]})]}),t&&g&&l&&o.jsx(Pt,{error:l,stack:Q,showStack:!0}),t&&!g&&c&&o.jsx("div",{className:"mt-2 ml-5",children:o.jsx(pr,{patch:c})})]})}const dl={sm:"h-3 w-3",md:"h-4 w-4",lg:"h-5 w-5"},dp={sm:"p-1",md:"p-1.5",lg:"p-2"};function cn({text:A,className:e="",size:t="sm"}){const[s,n]=x.useState(!1),r=async i=>{i.stopPropagation();try{await navigator.clipboard.writeText(A),n(!0),setTimeout(()=>n(!1),2e3)}catch{}};return o.jsx("button",{type:"button",onClick:r,className:`${dp[t]} rounded hover:bg-muted/50 text-muted-foreground hover:text-foreground transition-colors ${e}`,title:"Copy",children:s?o.jsx(Ht,{className:`${dl[t]} text-emerald-500`}):o.jsx(fs,{className:dl[t]})})}function rt({title:A,icon:e,subtitle:t,copyText:s,variant:n="default",maxHeight:r="max-h-80",children:i}){const a=n==="error";return o.jsxs("div",{className:`bg-card/60 border rounded-lg overflow-hidden flex flex-col ${r} ${a?"border-red-500/50":"border-border"}`,children:[o.jsxs("div",{className:`flex items-center justify-between gap-2 text-xs px-3 py-1.5 border-b border-border sticky top-0 ${a?"text-red-600 dark:text-red-400 bg-red-500/10":"text-muted-foreground bg-muted/30"}`,children:[o.jsxs("div",{className:"flex items-center gap-2",children:[e,o.jsx("span",{children:A}),t&&o.jsx("span",{className:"text-muted-foreground/60",children:t})]}),s&&o.jsx(cn,{text:s})]}),o.jsx("div",{className:"overflow-auto flex-1",children:i})]})}function _B({images:A}){const[e,t]=x.useState(null);return A.length===0?null:o.jsx("div",{className:"flex flex-wrap gap-2 mt-2",children:A.map((s,n)=>{const r=`data:${s.mimeType};base64,${s.data}`,i=e===n;return o.jsx("div",{className:"relative",children:i?o.jsxs("div",{className:"relative",children:[o.jsx("button",{type:"button",onClick:()=>t(null),className:"absolute top-1 right-1 z-10 p-0.5 rounded bg-black/60 text-white hover:bg-black/80 transition-colors",children:o.jsx(ct,{className:"h-3 w-3"})}),o.jsx("img",{src:r,alt:`Tool result ${n+1}`,className:"max-w-full max-h-[32rem] rounded-lg border border-border object-contain"})]}):o.jsxs("button",{type:"button",onClick:()=>t(n),className:"group relative overflow-hidden rounded-lg border border-border hover:border-foreground/30 transition-colors",children:[o.jsx("img",{src:r,alt:`Tool result ${n+1}`,className:"w-48 h-32 object-cover"}),o.jsx("div",{className:"absolute inset-0 bg-black/0 group-hover:bg-black/10 transition-colors flex items-center justify-center",children:o.jsx(Ua,{className:"h-5 w-5 text-white opacity-0 group-hover:opacity-80 transition-opacity drop-shadow-lg"})})]})},`img-${n}-${s.mimeType}`)})})}const hp={default:{normal:"text-muted-foreground",hover:"hover:text-foreground",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},blue:{normal:"text-blue-700 dark:text-blue-300",hover:"hover:text-blue-600 dark:hover:text-blue-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},emerald:{normal:"text-emerald-700 dark:text-emerald-300",hover:"hover:text-emerald-600 dark:hover:text-emerald-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},purple:{normal:"text-purple-700 dark:text-purple-300",hover:"hover:text-purple-600 dark:hover:text-purple-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},cyan:{normal:"text-cyan-700 dark:text-cyan-300",hover:"hover:text-cyan-600 dark:hover:text-cyan-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},amber:{normal:"text-amber-700 dark:text-amber-300",hover:"hover:text-amber-600 dark:hover:text-amber-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"},red:{normal:"text-red-700 dark:text-red-300",hover:"hover:text-red-600 dark:hover:text-red-200",error:"text-red-700 dark:text-red-300",errorHover:"hover:text-red-600 dark:hover:text-red-200"}};function co({toolName:A,isExpanded:e,onToggle:t,isError:s=!1,colorVariant:n="default",canExpand:r=!0,children:i}){const a=hp[n],g=s?`${a.error} ${a.errorHover}`:`${a.normal} ${a.hover}`;return o.jsxs("button",{type:"button",onClick:()=>r&&t(),className:`flex items-center gap-2 transition-colors w-full min-w-0 ${g}`,children:[r?e?o.jsx(qt,{className:"h-3 w-3 flex-shrink-0"}):o.jsx(at,{className:"h-3 w-3 flex-shrink-0"}):o.jsx("div",{className:"w-3 flex-shrink-0"}),s&&o.jsx(wo,{className:"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400"}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:[A,s?" error":""]}),i]})}function pe(){return o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"})}function Ur({children:A,className:e=""}){return o.jsx("span",{className:`text-foreground/70 ${e}`,children:A})}function Ut({children:A,className:e=""}){return o.jsx("span",{className:`text-muted-foreground/80 flex-shrink-0 whitespace-nowrap ${e}`,children:A})}function tr({children:A}){return o.jsx("span",{className:"text-emerald-600 dark:text-emerald-400 flex-shrink-0",children:A})}function Rr({children:A}){return o.jsx("span",{className:"text-red-600 dark:text-red-400 flex-shrink-0",children:A})}function fp({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=A.args||{},a=typeof r=="object"&&"ok"in r&&r.ok===!1,g=a&&"error"in r&&typeof r.error=="string"?r.error:null,l=a&&"stack"in r&&typeof r.stack=="string"?r.stack:void 0,Q=String(r.stdout||""),I=String(r.stderr||""),C=Number(r.exitCode??0),c=String(i.cmd||""),u=i.cwd?String(i.cwd):void 0,p=bt(e),f=document?.documentElement.classList.contains("dark")?Eo:Co,k=Q.length>0||I.length>0,v=a||C!==0,D=I.length>0,j=Q+(Q&&I?`
|
|
98
|
-
`:"")+I;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"shell",isExpanded:t,onToggle:s,isError:v,colorVariant:"default",canExpand:!0,children:[!n&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsx("span",{className:"text-foreground/70 min-w-0 truncate font-mono text-[11px]",title:c,children:c})]}),!a&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),C===0?o.jsxs(tr,{children:["exit ",C]}):o.jsxs(Rr,{children:["exit ",C]}),o.jsx(pe,{}),o.jsx(Ut,{children:p})]}),a&&!n&&o.jsxs(Ut,{children:["· ",p]})]}),t&&a&&g&&o.jsx(Pt,{error:g,stack:l,showStack:!0}),t&&!a&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(rt,{title:"command",icon:o.jsx(oo,{className:"h-3 w-3"}),subtitle:u&&u!=="."?`in ${u}`:void 0,copyText:c,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:c})}),k&&(C===0?o.jsx(rt,{title:"output",copyText:j,maxHeight:"max-h-[30rem]",children:o.jsx(Yt,{language:"bash",style:f,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:j})}):o.jsxs(o.Fragment,{children:[Q&&o.jsx(rt,{title:"stdout",copyText:Q,maxHeight:"max-h-60",children:o.jsx(Yt,{language:"bash",style:f,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:Q})}),D&&o.jsx(rt,{title:"stderr",copyText:I,variant:"error",maxHeight:"max-h-60",children:o.jsx(Yt,{language:"bash",style:f,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:I})})]}))]})]})}function pp(A){if(!A||A.length<3)return null;const e=A[0],t=A[1],s=A.slice(3);if(e==="?"&&t==="?")return{status:"??",file:s,type:"untracked"};let n="unstaged";return e!==" "&&t!==" "?n="both":e!==" "&&(n="staged"),{status:`${e}${t}`,file:s,type:n}}function mp(A){return A==="??"?"?":A[0]==="A"||A[1]==="A"?"+":A[0]==="M"||A[1]==="M"?"~":A[0]==="D"||A[1]==="D"?"-":A[0]==="R"||A[1]==="R"?"→":A}function wp(A){switch(A){case"staged":return"text-emerald-600 dark:text-emerald-400";case"unstaged":return"text-amber-600 dark:text-amber-400";case"untracked":return"text-muted-foreground/60";case"both":return"text-blue-600 dark:text-blue-400"}}function xp({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=Ar(n),i=er(n),a=Number(n.staged||0),g=Number(n.unstaged||0),l=n.raw||[],Q=String(n.summary||""),I=bt(e),C=l.map(pp).filter(Boolean),c=a>0||g>0,u=C.length>0||r||!!Q;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"git status",isExpanded:t,onToggle:s,isError:r,colorVariant:"blue",canExpand:u,children:[o.jsx(pe,{}),c?o.jsxs(o.Fragment,{children:[a>0&&o.jsxs("span",{className:"text-emerald-600 dark:text-emerald-400 flex-shrink-0",children:[a," staged"]}),g>0&&o.jsxs("span",{className:"text-amber-600 dark:text-amber-400 flex-shrink-0",children:[g," unstaged"]})]}):o.jsx("span",{className:"text-muted-foreground/60 flex-shrink-0",children:"clean"}),o.jsx(pe,{}),o.jsx(Ut,{children:I})]}),t&&r&&i&&o.jsx(Pt,{error:i}),t&&!r&&(C.length>0||Q)&&o.jsx("div",{className:"mt-2 ml-5",children:C.length>0?o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 overflow-y-auto",children:o.jsx("div",{className:"divide-y divide-border/50",children:C.map((p,f)=>o.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 font-mono hover:bg-muted/20",children:[o.jsx("span",{className:`font-semibold w-6 flex-shrink-0 ${wp(p.type)}`,children:mp(p.status)}),o.jsx("span",{className:"text-foreground/80 break-all",children:p.file})]},`${p.file}-${f}`))})}):Q&&o.jsx("div",{className:"bg-card/60 border border-border rounded-lg p-3 text-muted-foreground",children:Q})})]})}function Dp({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=A.args||{},i=String(n.patch||n.diff||""),a=r.all||n.all,g=bt(e),l=Ar(n)||!!A.error,Q=er(n)||(typeof A.error=="string"?A.error:null),I=n&&typeof n=="object"&&"stack"in n?String(n.stack):void 0,C=i.split(`
|
|
99
|
-
`);let c=0,u=0,p=0;for(const k of C)k.startsWith("diff --git")?c+=1:k.startsWith("+")&&!k.startsWith("+++")?u+=1:k.startsWith("-")&&!k.startsWith("---")&&(p+=1);const f=c>0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"git diff",isExpanded:t,onToggle:s,isError:l,colorVariant:"purple",canExpand:!0,children:[a&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsx("span",{className:"text-muted-foreground/60",children:"(all)"})]}),o.jsx(pe,{}),f?o.jsxs(o.Fragment,{children:[o.jsxs(Ur,{children:[c," ",c===1?"file":"files"]}),u>0&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsxs(tr,{children:["+",u]})]}),p>0&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsxs(Rr,{children:["-",p]})]})]}):o.jsx("span",{className:"text-muted-foreground/60",children:"no changes"}),o.jsx(pe,{}),o.jsx(Ut,{children:g})]}),t&&l&&Q&&o.jsx(Pt,{error:Q,stack:I,showStack:!0}),t&&!l&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(rt,{title:"options",icon:o.jsx(ao,{className:"h-3 w-3"}),maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10",children:a?"git diff (all working tree)":"git diff (staged only)"})}),i&&o.jsx(pr,{patch:i}),!i&&o.jsx(rt,{title:"diff",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No changes to show"})})]})]})}function yp({contentJson:A,toolDurationMs:e}){const t=A.result||{},s=String(t.message||""),n=bt(e),r=document?.documentElement.classList.contains("dark")?Eo:Co;return o.jsxs("div",{className:"text-xs space-y-2",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("span",{className:"font-medium text-emerald-700 dark:text-emerald-300",children:"git commit"}),o.jsx("span",{className:"text-muted-foreground/70",children:"·"}),o.jsx("span",{className:"text-muted-foreground/80",children:n})]}),s&&o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden max-w-full",children:o.jsx("div",{className:"overflow-x-auto max-w-full",children:o.jsx(Yt,{language:"bash",style:r,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:s})})})]})}function hl({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,toolName:n}){const r=A.artifact,i=bt(e),a=(K,V)=>V<=1?`${K}`:`${K}-${K+V-1}`,g=K=>{const V=`-${a(K.oldStart,K.oldLines)}`,eA=`+${a(K.newStart,K.newLines)}`,X=[];K.additions>0&&X.push(`+${K.additions}`),K.deletions>0&&X.push(`-${K.deletions}`);const R=X.length>0?` (${X.join(", ")})`:"";return`${V} ${eA}${R}`},l=r?.summary||{},Q=Number(l.files||0),I=Number(l.additions||0),C=Number(l.deletions||0),c=r?.patch?String(r.patch):"",u=Array.isArray(A.result?.changes)?A.result?.changes:[],f=(n||A.name||"apply_patch").replace(/_/g," "),k=Q===1?u[0]?.filePath||(typeof A.result?.path=="string"?A.result.path:typeof A.args?.path=="string"?A.args.path:null):null,v=A.error||A.result&&"ok"in A.result&&A.result.ok===!1,D=typeof A.error=="string"?A.error:A.result&&"error"in A.result&&typeof A.result.error=="string"?A.result.error:null,j=A.result&&typeof A.result=="object"&&"stack"in A.result&&typeof A.result.stack=="string"?A.result.stack:void 0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs("button",{type:"button",onClick:s,className:`flex items-center gap-2 transition-colors w-full ${v?"text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200":"text-purple-700 dark:text-purple-300 hover:text-purple-600 dark:hover:text-purple-200"}`,children:[o.jsx(at,{className:`h-3 w-3 flex-shrink-0 transition-transform ${t?"rotate-90":""}`}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:[f,v?" error":""]}),o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"}),k?o.jsx("span",{className:"text-foreground/70 min-w-0 flex-shrink overflow-hidden text-ellipsis whitespace-nowrap",dir:"rtl",title:k,children:`${k}`}):o.jsxs("span",{className:"text-foreground/70 flex-shrink-0",children:[Q," ",Q===1?"file":"files"]}),o.jsxs("span",{className:"text-emerald-600 dark:text-emerald-400 flex-shrink-0",children:["+",I]}),o.jsxs("span",{className:"text-red-600 dark:text-red-400 flex-shrink-0",children:["-",C]}),o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",i]})]}),t&&v&&D&&o.jsxs("div",{children:[o.jsx(Pt,{error:D,stack:j,showStack:!0}),c&&o.jsx("div",{className:"mt-2 ml-5",children:o.jsxs("details",{children:[o.jsx("summary",{className:"cursor-pointer text-xs text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200",children:"Show patch that failed"}),o.jsx("div",{className:"mt-2",children:o.jsx(pr,{patch:c})})]})})]}),t&&!v&&u.length>0&&o.jsx("div",{className:"mt-2 ml-5 space-y-2",children:u.map(K=>o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"font-mono text-foreground/80",children:K.filePath}),o.jsx("div",{className:"flex flex-wrap gap-2",children:K.hunks.map((V,eA)=>o.jsx("span",{className:"rounded bg-muted px-2 py-0.5 text-[0.65rem] font-mono text-muted-foreground",children:g(V)},`apply-patch-${K.filePath}-hunk-${eA}`))})]},`apply-patch-${K.filePath}-${K.kind}`))}),t&&!v&&c&&o.jsx("div",{className:"mt-2 ml-5",children:o.jsx(pr,{patch:c})})]})}function Np({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=A.args||{},i=Ar(n),a=er(n),g=n&&typeof n=="object"&&"stack"in n?String(n.stack):void 0,l=n.entries||[],Q=bt(e),I=typeof r.path=="string"?r.path:".";return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"ls",isExpanded:t,onToggle:s,isError:i,colorVariant:"cyan",canExpand:!0,children:[I&&I!=="."&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsx("span",{className:"text-foreground/70 truncate min-w-0",title:I,children:I.length>30?`…${I.slice(-30)}`:I})]}),o.jsx(pe,{}),o.jsxs(Ur,{children:[l.length," ",l.length===1?"entry":"entries"]}),o.jsx(pe,{}),o.jsx(Ut,{children:Q})]}),t&&i&&a&&o.jsx(Pt,{error:a,stack:g,showStack:!0}),t&&!i&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(rt,{title:"path",icon:o.jsx(KQ,{className:"h-3 w-3"}),copyText:I,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:I})}),l.length>0&&o.jsx(rt,{title:"entries",copyText:l.map(C=>C.name||"").join(`
|
|
100
|
-
`),maxHeight:"max-h-80",children:o.jsx("div",{className:"divide-y divide-border/50",children:l.map((C,c)=>{const u=C,p=u.type==="dir"||u.isDirectory;return o.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-1 font-mono text-foreground/80 hover:bg-muted/20",children:[p?o.jsx(LQ,{className:"h-3 w-3 text-blue-500 flex-shrink-0"}):o.jsx(ts,{className:"h-3 w-3 text-muted-foreground flex-shrink-0"}),o.jsx("span",{className:"truncate",children:u.name})]},`${u.name}-${c}`)})})}),l.length===0&&o.jsx(rt,{title:"entries",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"Directory is empty"})})]})]})}function kp({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=A.args||{},i=Ar(n),a=er(n),g=n&&typeof n=="object"&&"stack"in n?String(n.stack):void 0,l=String(n.tree||""),Q=l.split(`
|
|
101
|
-
`).filter(p=>p.length>0).length,I=bt(e),C=document?.documentElement.classList.contains("dark")?Eo:Co,c=typeof r.path=="string"?r.path:".",u=typeof r.depth=="number"?r.depth:void 0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"tree",isExpanded:t,onToggle:s,isError:i,colorVariant:"cyan",canExpand:!0,children:[c&&c!=="."&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsx("span",{className:"text-foreground/70 truncate min-w-0",title:c,children:c.length>30?`…${c.slice(-30)}`:c})]}),o.jsx(pe,{}),o.jsxs(Ur,{children:[Q," ",Q===1?"item":"items"]}),o.jsx(pe,{}),o.jsx(Ut,{children:I})]}),t&&i&&a&&o.jsx(Pt,{error:a,stack:g,showStack:!0}),t&&!i&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(rt,{title:"path",icon:o.jsx(hr,{className:"h-3 w-3"}),subtitle:u?`depth: ${u}`:void 0,copyText:c,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:c})}),l&&o.jsx(rt,{title:"tree",copyText:l,maxHeight:"max-h-80",children:o.jsx("div",{className:"overflow-x-auto max-w-full",children:o.jsx(Yt,{language:"bash",style:C,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:l})})}),!l&&o.jsx(rt,{title:"tree",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No tree output"})})]})]})}function Mp({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=A.args||{},a=r.matches||[],g=r.files||[],l=bt(e),Q=Ar(r)||!!A.error,I=er(r)||(typeof A.error=="string"?A.error:null),C=r&&typeof r=="object"&&"stack"in r?String(r.stack):void 0,c=a.length>0?a.length:g.length,u=a.length>0?a.length===1?"match":"matches":g.length===1?"file":"files",p=typeof i.pattern=="string"?i.pattern:typeof i.query=="string"?i.query:typeof i.filePattern=="string"?i.filePattern:"",f=(()=>{if(typeof i.path=="string"&&i.path!==".")return i.path})();return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"search",isExpanded:t,onToggle:s,isError:Q,colorVariant:"amber",canExpand:!0,children:[p&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsxs("span",{className:"font-mono text-foreground/90 text-[11px] truncate min-w-0",title:p,children:['"',p.length>30?`${p.slice(0,30)}…`:p,'"']})]}),!n&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsxs(Ur,{children:[c," ",u]}),o.jsx(pe,{}),o.jsx(Ut,{children:l})]})]}),t&&Q&&I&&o.jsx(Pt,{error:I,stack:C,showStack:!0}),t&&!Q&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(rt,{title:"query",icon:o.jsx(Ds,{className:"h-3 w-3"}),subtitle:f,copyText:p,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:p||"(empty)"})}),a.length>0&&o.jsx(rt,{title:"results",copyText:a.map(k=>{const v=k;return`${v.file}:${v.line}: ${v.text}`}).join(`
|
|
102
|
-
`),maxHeight:"max-h-80",children:o.jsx("div",{className:"divide-y divide-border/50",children:a.map((k,v)=>{const D=k;return o.jsxs("div",{className:"px-3 py-1.5 font-mono hover:bg-muted/20",children:[o.jsxs("div",{className:"text-blue-600 dark:text-blue-400 truncate",children:[D.file,":",D.line]}),o.jsx("div",{className:"text-foreground/80 truncate",children:D.text})]},`${D.file}-${D.line}-${v}`)})})}),g.length>0&&a.length===0&&o.jsx(rt,{title:"files",copyText:g.map(String).join(`
|
|
103
|
-
`),maxHeight:"max-h-80",children:o.jsx("div",{className:"divide-y divide-border/50",children:g.map(k=>o.jsx("div",{className:"px-3 py-1 font-mono text-foreground/80 truncate hover:bg-muted/20",children:String(k)},String(k)))})}),c===0&&o.jsx(rt,{title:"results",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No results found"})})]})]})}function bp({toolDurationMs:A}){const e=bt(A);return o.jsx("div",{className:"text-xs",children:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("span",{className:"font-medium text-emerald-700 dark:text-emerald-300",children:"Done"}),e&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/70",children:"·"}),o.jsx("span",{className:"text-muted-foreground/80",children:e})]})]})})}function Fp({toolName:A,contentJson:e,toolDurationMs:t,isExpanded:s,onToggle:n,compact:r}){const i=e.result,a=bt(t),g=Array.isArray(i?.images)?i.images:[],l=g.length>0,Q=i&&(Object.keys(i).length>0||l),I=document?.documentElement.classList.contains("dark")?Eo:Co,C=e.error||i&&typeof i=="object"&&"ok"in i&&i.ok===!1,c=typeof e.error=="string"?e.error:i&&typeof i=="object"&&"error"in i&&typeof i.error=="string"?i.error:null,u=i&&typeof i=="object"&&"stack"in i&&typeof i.stack=="string"?i.stack:void 0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs("button",{type:"button",onClick:n,className:`flex items-center gap-2 transition-colors w-full ${C?"text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200":"text-foreground hover:text-foreground/80"}`,children:[o.jsx(at,{className:`h-3 w-3 flex-shrink-0 transition-transform ${s?"rotate-90":""}`}),C&&o.jsx(wo,{className:"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400"}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:[A,C?" error":""]}),!r&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"}),o.jsx("span",{className:"text-muted-foreground/80 flex-shrink-0",children:a})]})]}),s&&C&&c&&o.jsx(Pt,{error:c,stack:u,showStack:!0}),s&&!C&&Q&&o.jsxs("div",{className:"mt-2 ml-5",children:[l&&o.jsx(_B,{images:g}),!l&&o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 overflow-y-auto max-w-full",children:o.jsx("div",{className:"overflow-x-auto max-w-full",children:o.jsx(Yt,{language:"json",style:I,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:JSON.stringify(i,null,2)})})})]})]})}function Gp({contentJson:A,toolDurationMs:e}){return o.jsx("div",{className:"text-xs",children:o.jsxs("div",{className:"text-muted-foreground",children:[o.jsxs("div",{children:["Tool: ",A.name]}),o.jsxs("div",{children:["Duration: ",e,"ms"]}),o.jsx("pre",{className:"mt-2 text-[10px] bg-card border border-border p-2 rounded overflow-x-auto",children:JSON.stringify(A,null,2)})]})})}function vp({contentJson:A}){const e=A.result||{},t=e.items||[],s=e.note;return o.jsx("div",{className:"text-xs",children:o.jsxs("div",{className:"bg-blue-500/10 border border-blue-500/30 dark:bg-blue-500/5 dark:border-blue-500/20 rounded-lg p-3 space-y-2",children:[s&&o.jsx("div",{className:"text-blue-700 dark:text-blue-300 text-sm font-medium mb-3",children:s}),o.jsx("div",{className:"space-y-1.5",children:t.map((n,r)=>o.jsxs("div",{className:"flex items-start gap-2",children:[n.status==="completed"&&o.jsx(sC,{className:"h-4 w-4 text-emerald-600 dark:text-emerald-300 flex-shrink-0 mt-0.5"}),n.status==="in_progress"&&o.jsx(JQ,{className:"h-4 w-4 text-blue-700 dark:text-blue-300 flex-shrink-0 mt-0.5 animate-pulse"}),n.status==="pending"&&o.jsx(rC,{className:"h-4 w-4 text-muted-foreground flex-shrink-0 mt-0.5"}),n.status==="cancelled"&&o.jsx(Sa,{className:"h-4 w-4 text-muted-foreground/50 flex-shrink-0 mt-0.5"}),o.jsx("span",{className:`text-sm ${n.status==="completed"?"text-muted-foreground line-through":n.status==="in_progress"?"text-foreground":n.status==="cancelled"?"text-muted-foreground/50 line-through":"text-muted-foreground/80"}`,children:n.step})]},`${n.step}-${r}`))})]})})}function Sp({contentJson:A}){const e=A.result||{},t=String(e.message||"Processing..."),s=e.stage?String(e.stage):void 0,n=e.pct?Number(e.pct):void 0;return o.jsxs("div",{className:"flex items-center gap-2 text-sm text-violet-700 dark:text-violet-300 animate-pulse",children:[s&&o.jsxs("span",{className:"text-muted-foreground/80",children:["[",s,"]"]}),o.jsx("span",{children:t}),n!==void 0&&o.jsxs("span",{className:"text-muted-foreground/80",children:["(",n,"%)"]})]})}function Up({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=A.args||{},i=bt(e),a=Ar(n)||!!A.error,g=er(n)||(typeof A.error=="string"?A.error:null),l=n&&typeof n=="object"&&"stack"in n?String(n.stack):void 0,Q="results"in n,I=n.results||[],C=n,c=typeof r.query=="string"?r.query:void 0,u=typeof r.url=="string"?r.url:C.url;if(Q)return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"web search",isExpanded:t,onToggle:s,isError:a,colorVariant:"purple",canExpand:!0,children:[c&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsxs("span",{className:"font-mono text-foreground/90 text-[11px] truncate min-w-0",title:c,children:['"',c.length>25?`${c.slice(0,25)}…`:c,'"']})]}),o.jsx(pe,{}),o.jsxs(Ur,{children:[I.length," ",I.length===1?"result":"results"]}),o.jsx(pe,{}),o.jsx(Ut,{children:i})]}),t&&a&&g&&o.jsx(Pt,{error:g,stack:l,showStack:!0}),t&&!a&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(rt,{title:"query",icon:o.jsx(Wo,{className:"h-3 w-3"}),copyText:c,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:c||"(empty)"})}),I.length>0&&o.jsx(rt,{title:"results",copyText:I.map(f=>`${f.title}
|
|
104
|
-
${f.url}`).join(`
|
|
105
|
-
|
|
106
|
-
`),maxHeight:"max-h-80",children:o.jsx("div",{className:"divide-y divide-border/50",children:I.map((f,k)=>o.jsxs("div",{className:"px-3 py-2 hover:bg-muted/20",children:[o.jsxs("a",{href:f.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 text-blue-600 dark:text-blue-400 hover:underline font-medium",children:[f.title,o.jsx(vt,{className:"h-3 w-3 flex-shrink-0"})]}),o.jsx("p",{className:"text-muted-foreground text-xs mt-0.5",children:f.snippet}),o.jsx("p",{className:"text-xs text-muted-foreground/60 truncate mt-0.5",children:f.url})]},`${f.url}-${k}`))})}),I.length===0&&o.jsx(rt,{title:"results",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No results found"})})]})]});const p=u&&u.length>50?`${u.slice(0,50)}...`:u;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"web fetch",isExpanded:t,onToggle:s,isError:a,colorVariant:"purple",canExpand:!0,children:[p&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsx("span",{className:"text-foreground/70 truncate min-w-0",title:u,children:p})]}),o.jsx(pe,{}),o.jsx(Ut,{children:i})]}),t&&a&&g&&o.jsx(Pt,{error:g,stack:l,showStack:!0}),t&&!a&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(rt,{title:"url",icon:o.jsx(nC,{className:"h-3 w-3"}),copyText:u,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:o.jsx("a",{href:u,target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 dark:text-blue-400 hover:underline",children:u})})}),C.content&&o.jsx(rt,{title:"content",copyText:C.content,maxHeight:"max-h-80",children:o.jsx("div",{className:"px-3 py-2 text-xs text-foreground/80 whitespace-pre-wrap break-words",children:C.content})}),!C.content&&o.jsx(rt,{title:"content",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No content returned"})})]})]})}function Rp({contentJson:A,debug:e,sessionId:t,onRetry:s,onCompact:n}){const[r,i]=x.useState(!1),a=A.type==="balance_low"||A.errorType==="balance_low",g=A.type==="context_length_exceeded"||A.errorType==="context_length_exceeded";A.isRetryable;let l,Q,I,C=!1;A.error&&typeof A.error=="object"?(l=A.error,l.message&&typeof l.message=="string"&&(Q=l.message),l.type&&typeof l.type=="string"&&(I=l.type)):A.details&&typeof A.details=="object"?(l=A.details,A.message&&typeof A.message=="string"&&(Q=A.message),A.type&&typeof A.type=="string"&&(I=A.type),A.isAborted===!0&&(C=!0)):(A.message&&typeof A.message=="string"&&(Q=A.message),A.type&&typeof A.type=="string"&&(I=A.type),A.isAborted===!0&&(C=!0),l=A);let c;if(l?.responseBody&&typeof l.responseBody=="string")try{const K=JSON.parse(l.responseBody);K.error&&typeof K.error=="object"&&(c={type:typeof K.error.type=="string"?K.error.type:void 0,message:typeof K.error.message=="string"?K.error.message:void 0,code:typeof K.error.code=="string"?K.error.code:void 0})}catch{}const u=String(l?.url??"").includes("githubcopilot.com")||String(Q??"").toLowerCase().includes("copilot model"),p=String(c?.message??Q??"").toLowerCase(),f=u&&(c?.code==="model_not_supported"||p.includes("model is not supported")||p.includes("not available for this account/organization token"));if(c?.message?.toLowerCase().includes("not accessible via the /chat/completions")&&String(l?.url??"").includes("githubcopilot.com")){const K=l?.requestBodyValues?.model;return o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"font-medium text-amber-600 dark:text-amber-400",children:"Model requires Responses API"}),o.jsx("p",{className:"text-sm text-foreground",children:K?o.jsxs(o.Fragment,{children:[o.jsx("code",{className:"px-1 py-0.5 bg-muted rounded text-xs",children:String(K)})," ","must be sent through the Responses API. If this persists, refresh auth and retry."]}):"This model must be sent through the Responses API. If this persists, refresh auth and retry."}),o.jsx("p",{className:"text-xs text-muted-foreground",children:"Codex models (gpt-5.1-codex, gpt-5.2-codex, etc.) require the Responses API. Try a chat-compatible model like gpt-5, claude-sonnet-4, or gpt-4.1."})]}),s&&o.jsx("div",{className:"pt-1",children:o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",children:[o.jsx(Zt,{className:"w-3 h-3"}),"Retry"]})})]})}if(f){const K=l?.requestBodyValues?.model;return o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"font-medium text-amber-600 dark:text-amber-400",children:"Model not available"}),o.jsx("p",{className:"text-sm text-foreground",children:K?o.jsxs(o.Fragment,{children:[o.jsx("code",{className:"px-1 py-0.5 bg-muted rounded text-xs",children:String(K)})," ","is not available for the current Copilot token."]}):"The requested model is not available for the current Copilot token."}),o.jsx("p",{className:"text-xs text-muted-foreground",children:"Your org may restrict third-party OAuth apps, so OAuth and GH tokens can see different model entitlements."}),o.jsxs("p",{className:"text-xs text-muted-foreground",children:["Check model settings at"," ",o.jsx("a",{href:"https://github.com/settings/copilot",target:"_blank",rel:"noopener noreferrer",className:"underline hover:text-foreground transition-colors",onClick:V=>{V.preventDefault(),ho("https://github.com/settings/copilot")},children:"github.com/settings/copilot"}),", then reconnect Copilot with OAuth or token mode."]})]}),s&&o.jsx("div",{className:"pt-1",children:o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",children:[o.jsx(Zt,{className:"w-3 h-3"}),"Retry"]})})]})}if(a)return o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Dr,{className:"h-4 w-4 text-amber-500"}),o.jsx("span",{className:"font-medium text-foreground",children:"Balance too low"})]}),o.jsx("p",{className:"text-sm text-muted-foreground",children:"Top up in the modal, then retry your request."}),s&&o.jsx("div",{className:"pt-1",children:o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",children:[o.jsx(Zt,{className:"w-3 h-3"}),"Retry"]})})]});if(g)return o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Gg,{className:"h-4 w-4 text-amber-500"}),o.jsx("span",{className:"font-medium text-foreground",children:"Context window exceeded"})]}),o.jsx("p",{className:"text-sm text-muted-foreground",children:"The conversation is too long for the model. Compact to reduce context size, then retry."}),o.jsxs("div",{className:"flex items-center gap-2 pt-1",children:[n&&o.jsxs("button",{type:"button",onClick:n,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",children:[o.jsx(Gg,{className:"w-3 h-3"}),"Compact"]}),s&&o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-border text-foreground hover:bg-muted transition-colors",children:[o.jsx(Zt,{className:"w-3 h-3"}),"Retry"]})]})]});const v=K=>{if(K==null)return o.jsx("span",{className:"text-muted-foreground",children:"null"});if(typeof K=="boolean")return o.jsx("span",{className:"text-amber-600 dark:text-amber-400",children:String(K)});if(typeof K=="number")return o.jsx("span",{className:"text-blue-600 dark:text-blue-400",children:K});if(typeof K=="string"){if(K.startsWith("{")||K.startsWith("["))try{const V=JSON.parse(K);return o.jsx("pre",{className:"mt-1 p-2 bg-muted/50 rounded text-xs overflow-x-auto",children:o.jsx("code",{children:JSON.stringify(V,null,2)})})}catch{}return o.jsx("span",{className:"text-foreground",children:K})}return typeof K=="object"?o.jsx("pre",{className:"mt-1 p-2 bg-muted/50 rounded text-xs overflow-x-auto",children:o.jsx("code",{children:JSON.stringify(K,null,2)})}):o.jsx("span",{className:"text-foreground",children:String(K)})},D=["name","statusCode","url","model","isRetryable","cause"],j=new Set;return o.jsxs("div",{className:"space-y-2 text-sm",children:[C&&o.jsx("div",{className:"text-amber-600 dark:text-amber-400 font-medium",children:"Request aborted"}),c?.message&&o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"font-medium text-red-600 dark:text-red-400",children:"API Error:"}),o.jsx("div",{className:"text-foreground",children:c.message}),c.type&&o.jsxs("div",{className:"text-xs text-muted-foreground",children:["Type: ",c.type]})]}),!c?.message&&Q&&o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"font-medium text-red-600 dark:text-red-400",children:"Error:"}),o.jsx("div",{className:"text-foreground",children:Q}),I&&o.jsxs("div",{className:"text-xs text-muted-foreground",children:["Type: ",I]})]}),s&&o.jsx("div",{className:"pt-2",children:o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-primary text-primary-foreground hover:bg-primary/90 transition-colors",children:[o.jsx(Zt,{className:"w-3 h-3"}),"Retry"]})}),l&&o.jsx("div",{className:"space-y-1.5",children:D.map(K=>{const V=l[K];return V==null?null:(j.add(K),o.jsxs("div",{className:"flex gap-2",children:[o.jsxs("span",{className:"font-medium text-muted-foreground min-w-[100px]",children:[K,":"]}),v(V)]},K))})}),l&&o.jsxs("div",{className:"mt-3 border-t border-border pt-2",children:[o.jsxs("button",{type:"button",onClick:()=>i(!r),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[r?o.jsx(qt,{className:"h-3 w-3"}):o.jsx(at,{className:"h-3 w-3"}),r?"Hide":"View"," Raw Error Details"]}),r&&o.jsx("div",{className:"mt-2",children:o.jsx("pre",{className:"p-3 bg-muted/50 rounded text-xs overflow-x-auto max-h-96 overflow-y-auto",children:o.jsx("code",{children:JSON.stringify(l,null,2)})})})]}),e&&o.jsxs("details",{className:"mt-4 text-xs",children:[o.jsx("summary",{className:"cursor-pointer text-muted-foreground",children:"Debug Info"}),o.jsx("pre",{className:"mt-2 p-2 bg-muted/30 rounded overflow-x-auto",children:o.jsx("code",{children:JSON.stringify({contentJson:A,errorDetails:l,apiError:c},null,2)})})]})]})}function XB(A){return A?new Date(A).toLocaleDateString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function ci({session:A,onNavigate:e,compact:t}){return t?o.jsxs("button",{type:"button",onClick:()=>e?.(A.id),disabled:!e,className:"w-full text-left py-1 px-2 rounded text-xs hover:bg-muted/50 transition-colors flex items-center justify-between gap-2",children:[o.jsx("span",{className:"truncate text-foreground",children:A.title||"Untitled"}),e&&o.jsx(vt,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"})]}):o.jsxs("button",{type:"button",onClick:()=>e?.(A.id),disabled:!e,className:"w-full text-left p-2 rounded-md border border-border hover:bg-muted/50 transition-colors group",children:[o.jsxs("div",{className:"flex items-center justify-between gap-2",children:[o.jsx("span",{className:"font-medium text-sm truncate text-foreground",children:A.title||"Untitled"}),e&&o.jsx(vt,{className:"w-3 h-3 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity flex-shrink-0"})]}),o.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground mt-1",children:[A.agent&&o.jsx("span",{className:"text-violet-600 dark:text-violet-400",children:A.agent}),A.agent&&A.provider&&o.jsx("span",{children:"·"}),A.provider&&o.jsx("span",{children:A.provider}),A.messageCount!==void 0&&o.jsxs(o.Fragment,{children:[o.jsx("span",{children:"·"}),o.jsxs("span",{children:[A.messageCount," msgs"]})]}),A.createdAt&&o.jsxs(o.Fragment,{children:[o.jsx("span",{children:"·"}),o.jsx("span",{children:XB(A.createdAt)})]})]})]})}function fl({message:A,onNavigate:e,compact:t}){const s="sessionId"in A?A.sessionId:"",n="sessionTitle"in A?A.sessionTitle:null,r="content"in A?A.content:"contentPreview"in A?A.contentPreview:"matchedContent"in A?A.matchedContent:"";return t?o.jsxs("button",{type:"button",onClick:()=>e?.(s),disabled:!e||!s,className:"w-full text-left py-1 px-2 rounded text-xs hover:bg-muted/50 transition-colors flex items-center justify-between gap-2",children:[o.jsx("span",{className:"truncate text-foreground/80",children:r?.slice(0,50)||n||s.slice(0,8)}),e&&s&&o.jsx(vt,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"})]}):o.jsxs("button",{type:"button",onClick:()=>e?.(s),disabled:!e||!s,className:"w-full text-left p-2 rounded-md border border-border hover:bg-muted/50 transition-colors group",children:[o.jsxs("div",{className:"flex items-center justify-between gap-2",children:[o.jsx("span",{className:"text-xs text-muted-foreground",children:n||s.slice(0,8)}),e&&s&&o.jsx(vt,{className:"w-3 h-3 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity flex-shrink-0"})]}),r&&o.jsx("div",{className:"text-xs text-foreground/80 mt-1 line-clamp-2",children:r}),o.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground mt-1",children:[A.role&&o.jsx("span",{className:"capitalize",children:A.role}),A.createdAt&&o.jsxs(o.Fragment,{children:[o.jsx("span",{children:"·"}),o.jsx("span",{children:XB(A.createdAt)})]})]})]})}function pl({args:A,toolName:e}){const t=(i,a)=>a==null||typeof a=="boolean"&&!a||Array.isArray(a)&&a.length===0?null:o.jsxs("span",{className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded bg-muted text-muted-foreground",children:[o.jsxs("span",{className:"opacity-60",children:[i,":"]}),o.jsx("span",{className:"text-foreground/80",children:typeof a=="string"?a:JSON.stringify(a)})]},i),r=({query_sessions:["agent","sessionType","startDate","endDate"],query_messages:["sessionId","role","search","toolName"],search_history:["query"],get_session_context:["sessionId","includeMessages"],get_parent_session:["includeMessages"]}[e]||Object.keys(A).slice(0,3)).filter(i=>A[i]!==void 0&&A[i]!==null).map(i=>t(i,A[i])).filter(Boolean);return r.length===0?null:o.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap text-xs mb-2 pb-2 border-b border-border",children:[o.jsx(aC,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}),r]})}function Kp({toolName:A,contentJson:e,toolDurationMs:t,isExpanded:s,onToggle:n,onNavigateToSession:r,compact:i}){const a=e.result||{},g=e.args||{},l=typeof a=="object"&&"ok"in a&&a.ok===!1,Q=l&&"error"in a&&typeof a.error=="string"?a.error:null,I=bt(t);if(A==="present_action"){const u=a.links||[],p=a.summary,f=a.title;return u.length===0&&!p?null:o.jsxs("div",{className:"mt-2 mb-1",children:[f&&o.jsx("div",{className:"text-sm font-medium text-foreground mb-1.5",children:f}),p&&o.jsxs("div",{className:"text-xs text-muted-foreground mb-2 flex items-center gap-1.5",children:[o.jsx(iC,{className:"w-3.5 h-3.5 text-teal-500"}),o.jsx("span",{children:p})]}),u.length>0&&o.jsx("div",{className:"space-y-1.5",children:u.map(k=>o.jsxs("button",{type:"button",onClick:()=>r?.(k.sessionId),disabled:!r,className:"w-full text-left px-3 py-2 rounded-lg border border-teal-500/30 bg-teal-500/5 hover:bg-teal-500/10 transition-colors group flex items-center justify-between gap-2",children:[o.jsxs("div",{children:[o.jsx("div",{className:"font-medium text-sm text-foreground",children:k.title}),k.description&&o.jsx("div",{className:"text-xs text-muted-foreground mt-0.5",children:k.description})]}),r&&o.jsx(vt,{className:"w-4 h-4 text-teal-600 dark:text-teal-400 opacity-60 group-hover:opacity-100 transition-opacity flex-shrink-0"})]},k.sessionId))})]})}const C=()=>{switch(A){case"query_sessions":{const u=a.sessions||[],p=a.total;return`${u.length} session${u.length!==1?"s":""}${p?` of ${p}`:""}`}case"query_messages":{const u=a.messages||[];return`${u.length} message${u.length!==1?"s":""}`}case"search_history":{const u=g.query,p=a.results||[],f=u?`"${u.slice(0,20)}${u.length>20?"…":""}"`:"";return`${p.length} result${p.length!==1?"s":""}${f?` for ${f}`:""}`}case"get_session_context":return a.session?.title||g.sessionId?.slice(0,8)||"session";case"get_parent_session":return a.parentSession?.title||"parent session";default:return A}},c=()=>{const u=Object.keys(g).length>0&&!i;switch(A){case"query_sessions":{const p=a.sessions||[];return o.jsxs("div",{className:i?"p-1":"p-2",children:[u&&o.jsx(pl,{args:g,toolName:A}),p.length===0?o.jsx("div",{className:"text-xs text-muted-foreground",children:"No sessions found"}):o.jsxs("div",{className:i?"space-y-0.5":"space-y-2",children:[p.slice(0,i?5:10).map(f=>o.jsx(ci,{session:f,onNavigate:r,compact:i},f.id)),p.length>(i?5:10)&&o.jsxs("div",{className:"text-xs text-muted-foreground text-center",children:["+",p.length-(i?5:10)," more"]})]})]})}case"query_messages":{const p=a.messages||[];return o.jsxs("div",{className:i?"p-1":"p-2",children:[u&&o.jsx(pl,{args:g,toolName:A}),p.length===0?o.jsx("div",{className:"text-xs text-muted-foreground",children:"No messages found"}):o.jsxs("div",{className:i?"space-y-0.5":"space-y-2",children:[p.slice(0,i?5:10).map(f=>o.jsx(fl,{message:f,onNavigate:r,compact:i},f.id)),p.length>(i?5:10)&&o.jsxs("div",{className:"text-xs text-muted-foreground text-center",children:["+",p.length-(i?5:10)," more"]})]})]})}case"search_history":{const p=a.results||[],f=g.query;return o.jsxs("div",{className:i?"p-1":"p-2",children:[f&&!i&&o.jsxs("div",{className:"flex items-center gap-1.5 text-xs mb-2 pb-2 border-b border-border",children:[o.jsx(Ds,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}),o.jsx("span",{className:"text-muted-foreground",children:"Query:"}),o.jsxs("span",{className:"text-foreground font-medium",children:['"',f,'"']})]}),p.length===0?o.jsx("div",{className:"text-xs text-muted-foreground",children:"No results found"}):o.jsxs("div",{className:i?"space-y-0.5":"space-y-2",children:[p.slice(0,i?5:10).map((k,v)=>o.jsx(fl,{message:k,onNavigate:r,compact:i},`${k.sessionId}-${k.messageId}-${v}`)),p.length>(i?5:10)&&o.jsxs("div",{className:"text-xs text-muted-foreground text-center",children:["+",p.length-(i?5:10)," more"]})]})]})}case"get_session_context":case"get_parent_session":{const p=A==="get_parent_session"?a.parentSession:a.session,f=a.stats,k=a.messages;return p?i?o.jsx("div",{className:"p-1",children:o.jsx(ci,{session:p,onNavigate:r,compact:!0})}):o.jsxs("div",{className:"p-2 space-y-3",children:[o.jsx(ci,{session:p,onNavigate:r}),f&&o.jsxs("div",{className:"flex gap-4 text-xs text-muted-foreground",children:[f.totalMessages!==void 0&&o.jsxs("span",{children:[f.totalMessages," messages"]}),f.totalToolCalls!==void 0&&o.jsxs("span",{children:[f.totalToolCalls," tool calls"]})]}),k&&k.length>0&&o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"text-xs font-medium text-muted-foreground",children:"Recent messages:"}),o.jsx("div",{className:"space-y-1 max-h-48 overflow-y-auto",children:k.slice(0,5).map(v=>o.jsxs("div",{className:"text-xs p-1.5 rounded bg-muted/30",children:[o.jsxs("span",{className:"font-medium capitalize text-foreground/70",children:[v.role,":"," "]}),o.jsx("span",{className:"text-foreground/60 line-clamp-2",children:v.content})]},v.id))})]})]}):o.jsx("div",{className:`text-xs text-muted-foreground ${i?"p-1":"p-2"}`,children:"Session not found"})}default:return o.jsx("pre",{className:"text-xs p-2 overflow-auto max-h-48",children:JSON.stringify(a,null,2)})}};return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:A,isExpanded:s,onToggle:n,isError:l,colorVariant:"default",canExpand:!0,children:[!i&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsx("span",{className:"text-foreground/70 min-w-0 truncate",children:C()})]}),!l&&!i&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsx(tr,{children:"Done"}),o.jsx(pe,{}),o.jsx(Ut,{children:I})]}),l&&!i&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsx(Rr,{children:"Error"}),o.jsxs(Ut,{children:["· ",I]})]})]}),s&&l&&Q&&o.jsx(Pt,{error:Q}),s&&!l&&o.jsx("div",{className:i?"mt-1 ml-3":"mt-2 ml-5",children:i?o.jsx("div",{className:"border border-border rounded-md overflow-hidden max-h-48 overflow-y-auto",children:c()}):o.jsx(rt,{title:"results",maxHeight:"max-h-96",children:c()})})]})}const Lp='"JetBrainsMono NFM", monospace';let ml=!1,zr=null;function Jp(){return ml?Promise.resolve():zr||(zr=jp().then(()=>{ml=!0}),zr)}async function jp(){if(typeof document>"u"||!("FontFace"in window))return;const e=[{file:"JetBrainsMonoNerdFontMono-Regular.woff2",weight:"400",style:"normal"},{file:"JetBrainsMonoNerdFontMono-Bold.woff2",weight:"700",style:"normal"},{file:"JetBrainsMonoNerdFontMono-Italic.woff2",weight:"400",style:"italic"},{file:"JetBrainsMonoNerdFontMono-BoldItalic.woff2",weight:"700",style:"italic"}].map(async t=>{try{const s=new URL(Object.assign({"../assets/fonts/JetBrainsMonoNerdFontMono-Bold.woff2":fB,"../assets/fonts/JetBrainsMonoNerdFontMono-BoldItalic.woff2":pB,"../assets/fonts/JetBrainsMonoNerdFontMono-Italic.woff2":mB,"../assets/fonts/JetBrainsMonoNerdFontMono-Regular.woff2":wB})[`../assets/fonts/${t.file}`],import.meta.url).href,r=await new FontFace("JetBrainsMono NFM",`url("${s}") format("woff2")`,{weight:t.weight,style:t.style}).load();document.fonts.add(r)}catch{}});await Promise.allSettled(e)}const Tp=/[\x1B\x9B][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nq-uy=><~]/g,Op=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g;function qp(A){return A.replace(Tp,"").replace(Op,"").replace(/\\n/g,`
|
|
107
|
-
`).replace(/\r\n/g,`
|
|
108
|
-
`).replace(/\r/g,`
|
|
109
|
-
`)}function Yp({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const[,r]=x.useState(!1);x.useEffect(()=>{Jp().then(()=>r(!0))},[]);const i=A.result||{},a=A.args||{},g=String(a.operation||a.command||""),l=typeof i=="object"&&"ok"in i&&i.ok===!1,Q=l&&"error"in i&&typeof i.error=="string"?i.error:null,I=l&&"stack"in i&&typeof i.stack=="string"?i.stack:void 0,C=bt(e),c=String(i.terminalId||a.terminalId||""),u=c.length>12?`${c.slice(0,12)}…`:c,p=String(i.purpose||a.purpose||""),f=String(i.command||a.command||""),k=()=>{const X=i.pid?`PID ${i.pid}`:"";return o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-1 text-xs",children:[f&&o.jsxs("div",{className:"flex items-center gap-2 text-foreground/70",children:[o.jsx(oo,{className:"h-3 w-3"}),o.jsx("code",{className:"font-mono",children:f})]}),p&&o.jsx("div",{className:"text-muted-foreground/70",children:p}),o.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground/60",children:[u&&o.jsx("span",{className:"font-mono",children:u}),X&&o.jsxs(o.Fragment,{children:[o.jsx("span",{children:"·"}),o.jsx("span",{children:X})]})]})]})},v=()=>{const X=String(i.text||i.output||""),R=qp(X),W=String(i.status||""),O=i.exitCode,L=typeof i.lines=="number"?i.lines:0;return o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground/70",children:[u&&o.jsx("span",{className:"font-mono",children:u}),o.jsx("span",{children:"·"}),o.jsxs("span",{children:[L," lines"]}),o.jsx("span",{children:"·"}),o.jsxs("span",{className:W==="running"?"text-emerald-600 dark:text-emerald-400":"",children:[W,W==="exited"&&O!==void 0?` (${O})`:""]})]}),R.trim()&&o.jsx(rt,{title:"output",copyText:R,maxHeight:"max-h-[30rem]",children:o.jsx("pre",{className:"px-3 py-2 text-xs text-foreground/85 whitespace-pre-wrap break-words overflow-x-auto",style:{fontFamily:Lp},children:R})})]})},D=()=>{const X=Array.isArray(i.terminals)?i.terminals:[],R=typeof i.count=="number"?i.count:X.length;return o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-1 text-xs",children:[o.jsxs("div",{className:"text-muted-foreground/70",children:[R," terminal",R!==1?"s":""]}),X.slice(0,8).map((W,O)=>o.jsxs("div",{className:"flex items-center gap-2 text-foreground/70 font-mono",children:[o.jsx("span",{className:`h-2 w-2 rounded-full ${W.status==="running"?"bg-emerald-500":"bg-muted-foreground/40"}`}),o.jsx("span",{className:"truncate max-w-[100px]",children:String(W.id||"").slice(0,12)}),o.jsx("span",{className:"text-muted-foreground/60 truncate",children:String(W.purpose||"")})]},String(W.id||O)))]})},j=()=>{const X=String(a.input||"");return X?o.jsx("div",{className:"mt-2 ml-5 text-xs",children:o.jsx("code",{className:"font-mono text-foreground/70 whitespace-pre-wrap",children:X})}):null},V=`terminal ${g||"terminal"}`,eA=!l&&(g==="start"||g==="read"||g==="list"||g==="write"&&(a.input||i.message));return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:V,isExpanded:t,onToggle:s,isError:!!l,colorVariant:"amber",canExpand:!!eA||!!l,children:[!n&&u&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsx("span",{className:"text-foreground/70 font-mono text-[11px]",children:u})]}),!n&&p&&!u&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsx("span",{className:"text-foreground/70 text-[11px] truncate max-w-xs",children:p})]}),!l&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsx(tr,{children:"ok"}),o.jsx(pe,{}),o.jsx(Ut,{children:C})]}),l&&!n&&o.jsxs(Ut,{children:["· ",C]})]}),t&&l&&Q&&o.jsx(Pt,{error:Q,stack:I,showStack:!0}),t&&!l&&g==="start"&&k(),t&&!l&&g==="read"&&v(),t&&!l&&g==="list"&&D(),t&&!l&&g==="write"&&j()]})}function Hp(A){const e=A.indexOf("__");return e===-1?{server:"",tool:A}:{server:A.slice(0,e),tool:A.slice(e+2)}}function Pp(A){return A.includes("__")}function Wp({toolName:A,contentJson:e,toolDurationMs:t,isExpanded:s,onToggle:n,compact:r}){const{server:i,tool:a}=Hp(A),g=e.result||{},l=e.args||{},Q=bt(t),I=document?.documentElement.classList.contains("dark")?Eo:Co,C=typeof g=="object"&&"ok"in g&&g.ok===!1,c=C&&"error"in g&&typeof g.error=="string"?g.error:typeof e.error=="string"?e.error:null,u=C&&"stack"in g&&typeof g.stack=="string"?g.stack:void 0,p=typeof g.result=="string"?g.result:g.result&&typeof g.result=="object"?JSON.stringify(g.result,null,2):null,f=Array.isArray(g.images)?g.images:[],k=f.length>0,v=!C&&(p||Object.keys(g).length>0||k),D=p||JSON.stringify(g,null,2),j=D.startsWith("{")||D.startsWith("["),K=Object.entries(l).slice(0,3).map(([eA,X])=>{const R=typeof X=="string"?X.length>30?`${X.slice(0,27)}…`:X:JSON.stringify(X);return`${eA}=${R}`}).join(" "),V=i?`${i} › ${a}`:a;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:V,isExpanded:s,onToggle:n,isError:!!C,colorVariant:"purple",canExpand:!!v||!!C||k,children:[!r&&K&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsx("span",{className:"text-foreground/60 truncate max-w-xs font-mono text-[11px]",children:K})]}),!C&&!r&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsx(tr,{children:"ok"}),o.jsx(pe,{}),o.jsx(Ut,{children:Q})]}),C&&!r&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsx(Rr,{children:"error"}),o.jsx(pe,{}),o.jsx(Ut,{children:Q})]})]}),s&&C&&c&&o.jsx(Pt,{error:c,stack:u,showStack:!0}),s&&!C&&v&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[k&&o.jsx(_B,{images:f}),D&&!k&&o.jsx(rt,{title:"result",icon:o.jsx(Nr,{className:"h-3 w-3"}),copyText:D,maxHeight:"max-h-[30rem]",children:o.jsx(Yt,{language:j?"json":"text",style:I,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:D})})]})]})}function zp({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=A.args||{},a=bt(e),g=Array.isArray(i.tools)?i.tools:[],l=Array.isArray(r.loaded)?r.loaded:[],Q=Array.isArray(r.notFound)?r.notFound:[],I=r.ok===!1,C=l.length>0||Q.length>0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(co,{toolName:"load_mcp_tools",isExpanded:t,onToggle:s,isError:I,colorVariant:"purple",canExpand:C,children:[!n&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsxs("span",{className:"text-foreground/60 font-mono text-[11px]",children:[g.length," tool",g.length!==1?"s":""]})]}),!I&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsxs(tr,{children:[l.length," loaded"]}),o.jsx(pe,{}),o.jsx(Ut,{children:a})]}),I&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(pe,{}),o.jsx(Rr,{children:"error"}),o.jsx(pe,{}),o.jsx(Ut,{children:a})]})]}),t&&C&&o.jsxs("div",{className:"mt-1.5 ml-5 flex flex-col gap-1",children:[l.map(c=>o.jsxs("div",{className:"flex items-center gap-1.5 text-[11px]",children:[o.jsx(Ht,{className:"h-3 w-3 text-green-500"}),o.jsx(Nr,{className:"h-3 w-3 text-purple-400"}),o.jsx("span",{className:"font-mono text-foreground/70",children:c})]},c)),Q.map(c=>o.jsxs("div",{className:"flex items-center gap-1.5 text-[11px]",children:[o.jsx(ct,{className:"h-3 w-3 text-red-400"}),o.jsx("span",{className:"font-mono text-foreground/40 line-through",children:c})]},c))]})]})}function Vp({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=bt(e),a=typeof r=="object"&&"ok"in r&&r.ok===!1,g=a&&"error"in r&&typeof r.error=="string"?r.error:null,l=r.name,Q=r.description,I=r.content,C=r.scope,c=r.availableFiles,u=r.securityNotices,p=Q?.startsWith("Sub-file:"),f=c?.length??0,k=u?.length??0,v=!!I||a;return o.jsxs("div",{className:"text-xs",children:[o.jsxs("button",{type:"button",onClick:()=>v&&s(),className:`flex items-center gap-2 transition-colors w-full min-w-0 ${a?"text-red-700 dark:text-red-300 hover:text-red-600 dark:hover:text-red-200":v?"text-violet-700 dark:text-violet-300 hover:text-violet-600 dark:hover:text-violet-200":"text-violet-700 dark:text-violet-300"}`,children:[v?o.jsx(at,{className:`h-3 w-3 flex-shrink-0 transition-transform ${t?"rotate-90":""}`}):o.jsx("div",{className:"w-3 flex-shrink-0"}),a&&o.jsx(wo,{className:"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400"}),p?o.jsx(os,{className:"h-3 w-3 flex-shrink-0"}):o.jsx(jQ,{className:"h-3 w-3 flex-shrink-0"}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:["skill",a?" error":""]}),l&&!n&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"}),o.jsx("span",{className:"text-foreground/70 truncate",children:p?Q?.replace("Sub-file: ",""):l})]}),C&&!n&&!p&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",C]}),f>0&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",f," file",f!==1?"s":""]}),k>0&&!n&&o.jsxs("span",{className:"text-amber-600 dark:text-amber-400 flex-shrink-0 flex items-center gap-0.5",children:["· ",o.jsx(vg,{className:"h-3 w-3 inline"})," ",k]}),i&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",i]})]}),t&&a&&g&&o.jsx(Pt,{error:g}),t&&!a&&o.jsxs("div",{className:"mt-2 ml-5 space-y-2",children:[k>0&&u&&o.jsxs("div",{className:"bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800 rounded-lg p-2.5 space-y-1",children:[o.jsxs("div",{className:"flex items-center gap-1.5 text-amber-700 dark:text-amber-300 font-medium text-[11px]",children:[o.jsx(vg,{className:"h-3 w-3"}),"Security Notice",k>1?"s":""]}),u.map((D,j)=>o.jsxs("div",{className:"text-amber-600 dark:text-amber-400 text-[11px] leading-snug",children:[o.jsx("span",{className:"font-mono bg-amber-100 dark:bg-amber-900/40 rounded px-1 py-0.5",children:D.type})," ",D.description]},`${D.type}-${D.line??j}`))]}),Q&&!p&&o.jsx("p",{className:"text-muted-foreground italic",children:Q}),I&&o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden max-h-96 overflow-y-auto max-w-full",children:o.jsx("div",{className:"p-3 whitespace-pre-wrap font-mono text-xs leading-relaxed",children:I})}),f>0&&c&&o.jsxs("details",{className:"group",children:[o.jsxs("summary",{className:"text-muted-foreground cursor-pointer hover:text-foreground/80 text-[11px] select-none",children:[f," available sub-file",f!==1?"s":""]}),o.jsx("div",{className:"mt-1.5 bg-card/40 border border-border rounded-lg p-2 space-y-0.5 max-h-48 overflow-y-auto",children:c.map(D=>o.jsxs("div",{className:"flex items-center justify-between gap-2 font-mono text-[11px]",children:[o.jsx("span",{className:"text-foreground/80 truncate",children:D.relativePath}),o.jsx("span",{className:"text-muted-foreground/60 flex-shrink-0 tabular-nums",children:Zp(D.size)})]},D.relativePath))})]})]})]})}function Zp(A){if(A<1024)return`${A}B`;const e=A/1024;return e<1024?`${e.toFixed(1)}KB`:`${(e/1024).toFixed(1)}MB`}function _p({part:A}){const[e,t]=x.useState(!0),s=x.useRef(null),n=x.useRef(!1);let r="";const i=A.contentJson||A.content;return i&&typeof i=="object"&&"text"in i?r=String(i.text):typeof i=="string"&&(r=i),x.useEffect(()=>{s.current&&e&&!A.completedAt&&!n.current&&(s.current.scrollTop=s.current.scrollHeight)},[r,e,A.completedAt]),!r||!r.trim()?null:o.jsxs("div",{className:"w-full",children:[o.jsxs("button",{type:"button",onClick:()=>t(!e),className:"flex items-center gap-2 text-xs text-muted-foreground hover:text-foreground transition-colors w-full",children:[e?o.jsx(qt,{className:"h-3 w-3 flex-shrink-0"}):o.jsx(at,{className:"h-3 w-3 flex-shrink-0"}),o.jsx("span",{className:"font-medium",children:"Reasoning"}),!A.completedAt&&o.jsx("span",{className:"text-muted-foreground/60 animate-pulse",children:"thinking..."})]}),e&&o.jsx("div",{ref:s,className:"mt-2 p-3 bg-muted/30 rounded-md border border-border max-h-48 overflow-y-auto",role:"log",onMouseEnter:()=>{n.current=!0},onMouseLeave:()=>{n.current=!1},children:o.jsx("div",{className:"text-sm text-muted-foreground whitespace-pre-wrap font-mono",children:r})})]})}const Xp={Read:"read",Edit:"edit",MultiEdit:"multiedit",Write:"write",CopyInto:"copy_into",Ls:"ls",Tree:"tree",Cd:"cd",Pwd:"pwd",Glob:"glob",Grep:"ripgrep",Shell:"shell",Bash:"shell",bash:"shell",Terminal:"terminal",GitStatus:"git_status",GitDiff:"git_diff",GitCommit:"git_commit",ApplyPatch:"apply_patch",UpdateTodos:"update_todos",UpdatePlan:"update_todos",ProgressUpdate:"progress_update",Finish:"finish",WebSearch:"websearch",LoadMcpTools:"load_mcp_tools",Skill:"skill"};function $p(A){return Xp[A]??A}const Am=new Set(["shell","edit","multiedit","write","copy_into","apply_patch","terminal"]);function ca({toolName:A,contentJson:e,toolDurationMs:t,debug:s,onNavigateToSession:n,compact:r,sessionId:i,onRetry:a,onCompact:g}){const[l,Q]=x.useState(!1),I=$p(A),C=r&&!Am.has(I),u={contentJson:e,toolDurationMs:t??void 0,isExpanded:l,onToggle:()=>Q(!l),compact:C};if(s)return o.jsx(Gp,{...u,toolName:A});switch(I){case"read":return o.jsx(Ip,{...u});case"edit":case"multiedit":case"copy_into":return o.jsx(hl,{...u,toolName:I});case"write":return o.jsx(up,{...u});case"shell":return o.jsx(fp,{...u});case"git_status":return o.jsx(xp,{...u});case"git_diff":return o.jsx(Dp,{...u});case"git_commit":return o.jsx(yp,{...u});case"apply_patch":return o.jsx(hl,{...u});case"terminal":return o.jsx(Yp,{...u});case"ls":return o.jsx(Np,{...u});case"tree":return o.jsx(kp,{...u});case"ripgrep":case"grep":case"glob":return o.jsx(Mp,{...u});case"websearch":return o.jsx(Up,{...u});case"finish":return o.jsx(bp,{...u});case"update_todos":case"update_plan":return o.jsx(vp,{...u});case"progress_update":return o.jsx(Sp,{...u});case"load_mcp_tools":return o.jsx(zp,{...u,toolName:A});case"skill":return o.jsx(Vp,{...u});case"error":return o.jsx(Rp,{...u,sessionId:i,onRetry:a,onCompact:g});case"query_sessions":case"query_messages":case"search_history":case"get_session_context":case"get_parent_session":case"present_action":return o.jsx(Kp,{toolName:A,...u,onNavigateToSession:n});default:return Pp(I)?o.jsx(Wp,{...u,toolName:A}):o.jsx(Fp,{...u,toolName:A})}}function Ea(A){const e=A.contentJson;if(e&&typeof e=="object")return e;try{if(A.content){const t=JSON.parse(A.content);if(t&&typeof t=="object"&&!Array.isArray(t))return t}}catch{}return null}function em(A){const e=Ea(A);if(!e)return;const t=e.args;if(t&&typeof t=="object"&&!Array.isArray(t))return t}function tm(A){if(!A)return null;const e=["cmd","command","script","input"];for(const t of e){const s=A[t];if(typeof s=="string"&&s.trim().length>0)return s.trim()}return null}function om(A){return A.match(/^\*\*\*\s+(?:Update|Add|Delete|Replace in):\s+(.+)$/m)?.[1]?.trim()||null}function $B(A){return A==="bash"?"shell":A}function Ca(A){return $B(A)==="shell"}function sm(A,e){if(!e)return null;const t=[{key:"path",match:!0},{key:"file",match:!0},{key:"target",match:!0},{key:"cwd",match:!0},{key:"query",match:!0},{key:"pattern",match:!0},{key:"glob",match:!0},{key:"dir",match:!0}];for(const{key:s}of t){const n=e[s];if(typeof n=="string"&&n.trim().length>0)return{key:s,value:n.trim()}}if(Ca(A)){const s=e.command;if(typeof s=="string"&&s.trim().length>0)return{key:"command",value:s.trim()}}if(A==="apply_patch"){const s=e.patch;if(typeof s=="string"&&s.trim().length>0){const n=om(s);if(n)return{key:"patch",value:n}}}return null}function rm(A,e){if(!A)return null;const t=[];for(const[n,r]of Object.entries(A))if(!(e&&n===e)){if(typeof r=="string"||typeof r=="number"){const i=`${n}=${String(r)}`;t.push(i)}if(t.length>=3)break}if(!t.length)return null;const s=t.join(" ");return s.length>120?`${s.slice(0,117)}…`:s}const wl=x.memo(function({part:e,showLine:t,isLastToolCall:s,isLastProgressUpdate:n,onNavigateToSession:r,compact:i,pendingApproval:a,onApprove:g,onReject:l,sessionId:Q,onRetry:I,onCompact:C}){if(e.type==="tool_call"&&((e.toolName||"")==="progress_update"||!s&&!a)||e.type==="tool_result"&&e.toolName==="progress_update"&&!n)return null;if(e.type==="text"){const D=e.contentJson||e.content;let j="";if(D&&typeof D=="object"&&"text"in D?j=String(D.text):typeof D=="string"&&(j=D),!j||!j.trim())return null}if(e.type==="reasoning"){const D=e.contentJson||e.content;let j="";if(D&&typeof D=="object"&&"text"in D?j=String(D.text):typeof D=="string"&&(j=D),!j||!j.trim())return null}const c=e.type==="tool_call"||e.type==="tool_result",u=["flex-1","min-w-0","max-w-full"];c||e.type==="reasoning"?u.push(i?"pt-0.5":"pt-1"):e.type==="error"?u.push("pt-0.5"):e.type==="text"?(u.push("pt-0"),u.push("-mt-0.5")):u.push("pt-0");const p=u.join(" "),f=()=>{if(e.type==="reasoning")return o.jsx(Un,{className:"h-4 w-4 text-indigo-600 dark:text-indigo-300"});if(e.type==="tool_call")return o.jsx(Je,{className:"h-4 w-4 text-amber-600 dark:text-amber-300 animate-spin"});if(e.type==="error")return Ea(e)?.isAborted===!0?o.jsx(gC,{className:"h-4 w-4 text-amber-600 dark:text-amber-400"}):o.jsx(wo,{className:"h-4 w-4 text-red-600 dark:text-red-400"});if(e.type==="tool_result"){const D=e.toolName||"";return D==="read"?o.jsx(os,{className:"h-4 w-4 text-blue-600 dark:text-blue-300"}):D==="write"||D==="copy_into"?o.jsx(Fo,{className:"h-4 w-4 text-emerald-600 dark:text-emerald-300"}):D==="ls"?o.jsx(lC,{className:"h-4 w-4 text-cyan-600 dark:text-cyan-300"}):D==="tree"?o.jsx(hr,{className:"h-4 w-4 text-cyan-600 dark:text-cyan-300"}):Ca(D)?o.jsx(oo,{className:"h-4 w-4 text-muted-foreground"}):D==="ripgrep"||D==="grep"||D==="glob"?o.jsx(Ds,{className:"h-4 w-4 text-amber-600 dark:text-amber-300"}):D==="apply_patch"?o.jsx(Pi,{className:"h-4 w-4 text-purple-600 dark:text-purple-300"}):D==="git_status"?o.jsx(ao,{className:"h-4 w-4 text-blue-600 dark:text-blue-300"}):D==="git_diff"?o.jsx(Pi,{className:"h-4 w-4 text-purple-600 dark:text-purple-300"}):D==="git_commit"?o.jsx(un,{className:"h-4 w-4 text-emerald-600 dark:text-emerald-300"}):D==="finish"?o.jsx(Ht,{className:"h-4 w-4 text-emerald-600 dark:text-emerald-300"}):D==="query_sessions"||D==="query_messages"||D==="search_history"||D==="get_session_context"||D==="get_parent_session"?o.jsx(QC,{className:"h-4 w-4 text-teal-600 dark:text-teal-300"}):D==="terminal"?o.jsx(oo,{className:"h-4 w-4 text-amber-600 dark:text-amber-300"}):D==="skill"?o.jsx(jQ,{className:"h-4 w-4 text-violet-600 dark:text-violet-300"}):D.includes("__")?o.jsx(Nr,{className:"h-4 w-4 text-purple-600 dark:text-purple-300"}):o.jsx(oo,{className:"h-4 w-4 text-muted-foreground"})}return o.jsx(eo,{className:"h-4 w-4 text-violet-600 dark:text-violet-300"})},k=()=>{const D=e.toolName||"";let j;try{e.contentJson&&typeof e.contentJson=="object"?j=e.contentJson:typeof e.content=="string"?j=JSON.parse(e.content):j={}}catch{j={result:e.content}}return o.jsx(ca,{toolName:D,contentJson:j,toolDurationMs:e.toolDurationMs,debug:!1,onNavigateToSession:r,compact:i})},v=()=>{if(e.type==="reasoning")return o.jsx(_p,{part:e});if(e.type==="text"){let D="";const j=e.contentJson||e.content;return j&&typeof j=="object"&&"text"in j?D=String(j.text):typeof j=="string"?D=j:j&&(D=JSON.stringify(j,null,2)),o.jsxs("div",{className:"relative group",children:[o.jsx("div",{className:"absolute -top-1 right-0 opacity-0 group-hover:opacity-100 transition-opacity z-10",children:o.jsx(cn,{text:D,className:"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm",size:"md"})}),o.jsx("div",{className:"text-base text-foreground leading-relaxed markdown-content max-w-full overflow-x-auto",children:o.jsx(Ta,{remarkPlugins:[Oa],components:{a:({href:K,children:V,...eA})=>o.jsx("a",{href:K,target:"_blank",rel:"noopener noreferrer",onClick:X=>{window.self!==window.top&&K&&(X.preventDefault(),window.parent.postMessage({type:"otto-open-url",url:K},"*"))},...eA,children:V}),pre:({children:K,...V})=>{const eA=(()=>{if(!K)return"";const X=Array.isArray(K)?K[0]:K;if(X&&typeof X=="object"&&"props"in X){const R=X.props;if(typeof R.children=="string")return R.children}return""})();return o.jsxs("div",{className:"relative group/code my-3",children:[o.jsx("div",{className:"absolute top-2 right-2 opacity-0 group-hover/code:opacity-100 transition-opacity z-10",children:o.jsx(cn,{text:eA,className:"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm",size:"sm"})}),o.jsx("pre",{...V,className:"overflow-x-auto",children:K})]})},table:({children:K,...V})=>o.jsx("div",{className:"overflow-x-auto max-w-full min-w-0 my-3",children:o.jsx("table",{...V,children:K})})},children:D})}),D.length>500&&o.jsx("div",{className:"absolute -bottom-1 right-0 opacity-0 group-hover:opacity-100 transition-opacity z-10",children:o.jsx(cn,{text:D,className:"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm",size:"md"})})]})}if(e.type==="error"){let D;try{e.contentJson&&typeof e.contentJson=="object"?D=e.contentJson:typeof e.content=="string"?D=JSON.parse(e.content):D={}}catch{D={message:e.content||"Unknown error"}}return o.jsx(ca,{toolName:"error",contentJson:D,toolDurationMs:e.toolDurationMs,debug:!1,compact:i,sessionId:Q,onRetry:I,onCompact:C})}if(e.type==="tool_call"){const D=Ea(e),j=e.toolName||(typeof D?.name=="string"?D.name:"tool"),K=$B(j),V=K.includes("__")?K.replace("__"," › "):K.replace(/_/g," "),eA=em(e),X=a?.args,R=eA||X,W=sm(K,R),O=rm(R,W?.key),L=Ca(K)?tm(R):null,w=[];if(L?w.push({key:"cmd",node:o.jsx("code",{className:"font-mono text-foreground/90 truncate max-w-xs",children:L})}):W&&w.push({key:"primary",node:o.jsx("code",{className:"font-mono text-foreground/85 truncate max-w-xs",children:W.value})}),O&&w.push({key:"args",node:o.jsx("span",{className:"text-muted-foreground/80 truncate max-w-xs",children:O})}),a&&a.callId===e.toolCallId&&g&&l)return o.jsx(cp,{toolName:j,args:R,pendingApproval:a,onApprove:g,onReject:l});w.length===0&&w.push({key:"running",node:o.jsx("span",{className:"text-muted-foreground/75",children:"running…"})});const d=["flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-foreground/80 max-w-full"];return e.ephemeral&&d.push("animate-pulse"),o.jsxs("div",{className:d.join(" "),children:[o.jsx("span",{className:"font-medium text-foreground",children:V}),w.map(N=>o.jsxs(x.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/65",children:"·"}),N.node]},N.key))]})}return e.type==="tool_result"?k():null};return o.jsxs("div",{className:"flex gap-3 pb-2 relative max-w-full overflow-hidden",children:[o.jsxs("div",{className:"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5",children:[o.jsx("div",{className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background",children:f()}),t&&o.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0",style:{top:"1.25rem",bottom:"-0.5rem"}})]}),o.jsx("div",{className:p,children:v()})]})},(A,e)=>A.part.id===e.part.id&&A.part.content===e.part.content&&A.part.ephemeral===e.part.ephemeral&&A.part.completedAt===e.part.completedAt&&A.showLine===e.showLine&&A.isLastToolCall===e.isLastToolCall&&A.isLastProgressUpdate===e.isLastProgressUpdate&&A.compact===e.compact&&A.onNavigateToSession===e.onNavigateToSession&&A.pendingApproval?.callId===e.pendingApproval?.callId&&A.onApprove===e.onApprove&&A.onReject===e.onReject),Ac=new Set(["read","ls","tree","ripgrep","grep","glob","websearch","skill","query_sessions","query_messages","search_history","get_session_context","get_parent_session"]);function ig(A){if(A.contentJson&&typeof A.contentJson=="object")return A.contentJson;try{if(A.content){const e=JSON.parse(A.content);if(e&&typeof e=="object"&&!Array.isArray(e))return e}}catch{}return null}function nm(A){const t=ig(A)?.args;return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function im(A){const t=ig(A)?.result;return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function gs(A,e=56){return A.length>e?`${A.slice(0,e-1)}…`:A}function am(A){const t=ig(A)?.text;return typeof t=="string"&&t.trim()?t.trim():typeof A.content=="string"?A.content.trim():""}function gm(A){return A.split(`
|
|
110
|
-
`).map(t=>t.trim()).find(Boolean)||A.trim()}function lm(A){return A.replace(/^Reasoning:\s*/i,"").replace(/^[-*+]\s+/,"").replace(/\[(.*?)\]\((.*?)\)/g,"$1").replace(/[*_`#>~]+/g,"").replace(/\s+/g," ").trim()}function yo(A,...e){for(const t of e){const s=A[t];if(typeof s=="string"&&s.trim())return s.trim()}}function Qm(A){return A.type==="reasoning"?!0:A.type!=="tool_call"&&A.type!=="tool_result"?!1:!!(A.toolName&&Ac.has(A.toolName))}function Bm(A){if(A.type==="reasoning"){const s=am(A),n=lm(gm(s));return{id:A.id,label:n?gs(n):"Thinking through the approach",toolName:"reasoning",fullText:s||void 0,startedAt:A.startedAt,completedAt:A.completedAt}}if(!A.toolName||!Ac.has(A.toolName))return null;const e=nm(A),t=im(A);if(A.toolName==="read"){const s=yo(t,"path")||yo(e,"path");return{id:A.id,toolName:A.toolName,path:s,label:s?`Reading ${gs(s)}`:"Reading file contents",startedAt:A.startedAt,completedAt:A.completedAt}}if(A.toolName==="ls"||A.toolName==="tree"){const s=yo(e,"path")||yo(t,"path");return{id:A.id,toolName:A.toolName,path:s,label:s?`Scanning ${gs(s)}`:"Scanning the project",startedAt:A.startedAt,completedAt:A.completedAt}}if(A.toolName==="ripgrep"||A.toolName==="grep"||A.toolName==="glob"){const s=yo(e,"query","pattern","filePattern")||yo(t,"query","pattern");return{id:A.id,toolName:A.toolName,query:s,label:s?`Searching for ${gs(s,42)}`:"Searching code",startedAt:A.startedAt,completedAt:A.completedAt}}if(A.toolName==="websearch"){const s=yo(e,"query"),n=yo(e,"url")||yo(t,"url");return{id:A.id,toolName:A.toolName,query:s,url:n,label:s?`Researching ${gs(s,42)}`:n?`Reviewing ${gs(n,42)}`:"Researching references",startedAt:A.startedAt,completedAt:A.completedAt}}if(A.toolName==="skill"){const s=yo(e,"name");return{id:A.id,toolName:A.toolName,label:s?`Loading skill ${gs(s,36)}`:"Loading a skill",startedAt:A.startedAt,completedAt:A.completedAt}}return{id:A.id,toolName:A.toolName,label:"Reviewing prior context",startedAt:A.startedAt,completedAt:A.completedAt}}function cm(A){const e=new Map;for(const s of A)s.type==="tool_result"&&s.toolCallId&&e.set(s.toolCallId,s);const t=[];for(const s of A){if(s.type==="tool_call"&&s.toolCallId&&e.has(s.toolCallId))continue;const n=Bm(s);n&&t.push(n)}return t}function Em(A){const e=new Set;for(const t of A)t.path&&e.add(t.path);return e}function Cm(A){let e=null,t=null;for(const s of A){const n=s.startedAt??null,r=s.completedAt??s.startedAt??null;n!==null&&(e===null||n<e)&&(e=n),r!==null&&(t===null||r>t)&&(t=r)}return e!==null&&t!==null&&t>e?t-e:null}function Im(A){const e=Math.round(A/1e3);if(e<60)return`${e}s`;const t=Math.floor(e/60),s=e%60;return s>0?`${t}m ${s}s`:`${t}m`}function um(A){const e=Em(A);let t=0,s=0,n=0,r=0,i=0;for(const c of A)switch(c.toolName){case"reasoning":r+=1;break;case"read":break;case"ls":case"tree":s+=1;break;case"ripgrep":case"grep":case"glob":t+=1;break;case"websearch":n+=1;break;case"skill":case"query_sessions":case"query_messages":case"search_history":case"get_session_context":case"get_parent_session":i+=1;break}const a=e.size>0||s>0,g=Cm(A),l=g!==null?Im(g):null,Q=r>0&&e.size===0&&t===0&&s===0&&n===0&&i===0,I=Q?l?`Thought for ${l}`:"Thought through the approach":n>0?a||t>0?"Researched and reviewed the project":"Researched references":i>0&&t>0?"Reviewed context and searched code":a&&t>0?"Reviewed files and searched code":s>0?"Explored project structure":e.size>0?"Reviewed project files":i>0?"Reviewed prior context":"Thought through the approach",C=[];return!Q&&l&&C.push(l),e.size>0&&C.push(`${e.size} ${e.size===1?"file":"files"}`),t>0&&C.push(`${t} ${t===1?"search":"searches"}`),s>0&&e.size===0&&C.push(`${s} ${s===1?"scan":"scans"}`),n>0&&C.push(`${n} ${n===1?"web lookup":"web lookups"}`),i>0&&I!=="Reviewed prior context"&&C.push("prior context"),r>0&&!Q&&C.push("reasoning"),C.length===0&&r===0&&C.push(`${A.length} ${A.length===1?"step":"steps"}`),{title:I,details:C}}const No=320,ko="cubic-bezier(0.25, 1, 0.5, 1)",xl=140;function dm({entries:A,titleOverride:e,showLine:t,collapsed:s}){const n=s&&A.length>0,[r,i]=x.useState(n),[a,g]=x.useState(n),l=x.useRef(null),Q=x.useRef(null),I=x.useRef(null),C=x.useRef(!1),c=x.useRef(A.length),[u,p]=x.useState(0),f=x.useMemo(()=>um(A),[A]),v=[e||f.title,...f.details].join(" · "),D=A.some(V=>V.toolName==="reasoning"),j=A.length>0?A[A.length-1]:null;x.useEffect(()=>{if(!s&&!a){i(!1);return}if(!a&&s&&g(!0),r||A.length===0)return;const V=window.setTimeout(()=>i(!0),500);return()=>window.clearTimeout(V)},[s,r,a,A.length]),x.useLayoutEffect(()=>{if(r)return;const V=l.current;if(!V)return;const eA=()=>{const R=Math.min(V.scrollHeight,xl);p(W=>W===R?W:R)};eA();const X=new ResizeObserver(()=>eA());return X.observe(V),()=>X.disconnect()},[r]),x.useEffect(()=>()=>{I.current!==null&&window.cancelAnimationFrame(I.current)},[]),x.useEffect(()=>{if(r||C.current)return;const V=Q.current;if(!V)return;const eA=l.current?.scrollHeight??0,X=eA>u+1,R=X?Math.max(0,eA-u):0;if(I.current!==null&&(window.cancelAnimationFrame(I.current),I.current=null),!X){V.scrollTop=0;return}const W=V.scrollTop,O=R-W;if(O<=1){V.scrollTop=R;return}const L=performance.now(),w=Math.min(360,Math.max(180,O*.9)),B=d=>{const N=Math.min(1,(d-L)/w),G=1-(1-N)**3;if(V.scrollTop=W+O*G,N<1&&!C.current){I.current=window.requestAnimationFrame(B);return}I.current=null};I.current=window.requestAnimationFrame(B)},[A.length,j?.fullText,r,u]),x.useEffect(()=>{c.current=A.length},[A.length]);const K=!r;return o.jsxs("div",{className:"flex gap-3 pb-2 relative max-w-full overflow-hidden",children:[o.jsxs("div",{className:"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5",children:[o.jsx("div",{className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background",children:D?o.jsx(Un,{className:"h-4 w-4 text-indigo-600 dark:text-indigo-300"}):o.jsx(Ds,{className:"h-4 w-4 text-amber-600 dark:text-amber-300"})}),t&&o.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0",style:{top:"1.25rem",bottom:"-0.5rem"}})]}),o.jsx("div",{className:"flex-1 min-w-0 pt-0.5",children:o.jsxs("div",{className:"relative rounded-lg overflow-hidden",style:{border:K?"1px solid hsl(var(--border) / 0.6)":"1px solid transparent",background:K?"hsl(var(--muted) / 0.2)":"transparent",padding:K?"8px 12px":"0px 0px",transition:`border ${No}ms ${ko}, background ${No}ms ${ko}, padding ${No}ms ${ko}`},children:[o.jsxs("div",{style:{overflow:"hidden",opacity:K?1:0,maxHeight:K?`${xl+28}px`:"0px",transition:`opacity ${No}ms ${ko}, max-height ${No}ms ${ko}`},children:[o.jsx("div",{className:"text-[11px] font-medium uppercase tracking-[0.18em] text-muted-foreground/70 mb-1",children:"Exploring"}),o.jsx("div",{ref:Q,className:"overflow-y-auto",style:{height:`${u}px`,transition:`height ${No}ms ${ko}`,maskImage:"linear-gradient(to bottom, transparent 0px, black 20px)",WebkitMaskImage:"linear-gradient(to bottom, transparent 0px, black 20px)"},role:"log",onMouseEnter:()=>{C.current=!0},onMouseLeave:()=>{C.current=!1},children:o.jsx("div",{ref:l,className:"pt-2.5",children:A.map((V,eA)=>{const X=eA===A.length-1,R=eA>=c.current;return V.toolName==="reasoning"&&V.fullText&&V.fullText.trim()?o.jsx("div",{className:"px-1 py-0.5",style:{animation:R?`ottoEntryIn ${No}ms ${ko} both`:void 0},children:o.jsx("p",{className:`text-[11px] leading-relaxed font-mono whitespace-pre-wrap ${X?"text-foreground/80":"text-muted-foreground/60"}`,children:V.fullText})},V.id):o.jsx("div",{className:`flex items-center px-1 text-xs leading-5 h-7 ${X?"text-foreground":"text-muted-foreground/70"}`,style:{animation:R?`ottoEntryIn ${No}ms ${ko} both`:void 0},children:o.jsx("span",{className:"block min-w-0 truncate",children:V.label})},V.id)})})})]}),o.jsx("div",{className:"flex items-center text-xs",style:{opacity:r?1:0,height:r?"20px":"0px",overflow:"hidden",transition:`opacity ${No}ms ${ko}, height ${No}ms ${ko}`},children:o.jsx("span",{className:"block min-w-0 truncate leading-5 text-foreground",title:v,children:v})})]})}),o.jsx("style",{children:"@keyframes ottoEntryIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }"})]})}const Lo=320,Jo="cubic-bezier(0.25, 1, 0.5, 1)",Dl=140;function ag(A){if(A.contentJson&&typeof A.contentJson=="object")return A.contentJson;try{if(A.content){const e=JSON.parse(A.content);if(e&&typeof e=="object"&&!Array.isArray(e))return e}}catch{}return{}}function hm(A){const e=ag(A);return typeof e._streamedInput=="string"?e._streamedInput:""}function fm(A){const e=ag(A);return typeof e._streamedOutput=="string"?e._streamedOutput:""}function pm(A){const t=ag(A)?.args;if(t&&typeof t=="object"&&!Array.isArray(t))return t}function mm(A){return A.match(/^\*\*\*\s+(?:Update|Add|Delete|Replace in):\s+(.+)$/m)?.[1]?.trim()||null}const wm={shell:{Icon:oo,color:"text-muted-foreground",label:"Running"},bash:{Icon:oo,color:"text-muted-foreground",label:"Running"},write:{Icon:Fo,color:"text-emerald-600 dark:text-emerald-300",label:"Writing"},apply_patch:{Icon:Pi,color:"text-purple-600 dark:text-purple-300",label:"Patching"},edit:{Icon:Fo,color:"text-purple-600 dark:text-purple-300",label:"Editing"},multiedit:{Icon:Fo,color:"text-purple-600 dark:text-purple-300",label:"Editing"},copy_into:{Icon:Fo,color:"text-purple-600 dark:text-purple-300",label:"Copying"},terminal:{Icon:oo,color:"text-amber-600 dark:text-amber-300",label:"Terminal"}};function ec(A){return A==="bash"?"shell":A}function Kr(A){return ec(A)==="shell"}function xm(A,e){if(!e)return"";if(Kr(A)){const t=String(e.cmd||"");return t.length>80?`${t.slice(0,77)}…`:t}if(A==="write"||A==="edit"||A==="multiedit")return String(e.path||"");if(A==="copy_into")return String(e.targetPath||"");if(A==="apply_patch"){const t=String(e.patch||"");return mm(t)||""}return""}function Dm(A,e){if(Kr(A)){const t=Yo(e,"cmd");if(t)return t.length>80?`${t.slice(0,77)}…`:t}if(A==="write")return Yo(e,"path")||Yo(e,"filePath");if(A==="edit"||A==="multiedit")return Yo(e,"path");if(A==="copy_into")return Yo(e,"targetPath");if(A==="apply_patch"){const t=e.match(/\*\*\*\s+(?:Update|Add|Delete|Replace in):\s+(.+?)(?:\\n|")/);return t?t[1].trim():""}return""}function ym(A){try{if(A.contentJson&&typeof A.contentJson=="object")return A.contentJson;if(typeof A.content=="string")return JSON.parse(A.content)}catch{}return{}}function Nm({part:A,showLine:e}){const t=x.useRef(null),s=x.useRef(null),n=x.useRef(null),r=x.useRef(!1),i=x.useRef(0),[a,g]=x.useState(0),l=ec(A.toolName||""),Q=A.type==="tool_result",I=wm[l]||{Icon:oo,color:"text-muted-foreground",label:l.replace(/_/g," ")},[C,c]=x.useState(()=>Q),[u,p]=x.useState(()=>Q),f=pm(A),k=hm(A),v=fm(A),D=xm(l,f)||Dm(l,k),j=km(l,k),K=Kr(l)?v||j||(f?yl(l,f):""):f?yl(l,f):j,V=K.trim().length>0;x.useEffect(()=>{if(!Q&&!u){c(!1);return}if(!u&&Q&&p(!0),C||!Q)return;const R=window.setTimeout(()=>c(!0),500);return()=>window.clearTimeout(R)},[Q,C,u]),x.useLayoutEffect(()=>{if(!V){g(0);return}const R=t.current;if(!R||R.textContent!==K)return;const W=Math.min(R.scrollHeight,Dl-12);g(O=>O===W?O:W)},[K,V]),x.useEffect(()=>()=>{n.current!==null&&window.cancelAnimationFrame(n.current)},[]),x.useEffect(()=>{const R=s.current;if(!R||r.current)return;const W=K.length,O=t.current?.scrollHeight??0,L=O>a+1,w=L?Math.max(0,O-a):0;if(n.current!==null&&(window.cancelAnimationFrame(n.current),n.current=null),!L){R.scrollTop=0,i.current=W;return}if(W<=i.current){R.scrollTop=w,i.current=W;return}const B=R.scrollTop,d=w-B;if(d<=1){R.scrollTop=w,i.current=W;return}const N=performance.now(),G=Math.min(360,Math.max(180,d*.9)),J=Y=>{const T=Math.min(1,(Y-N)/G),b=1-(1-T)**3;if(R.scrollTop=B+d*b,T<1&&!r.current){n.current=window.requestAnimationFrame(J);return}n.current=null};n.current=window.requestAnimationFrame(J),i.current=W},[K,a]);const eA=!C,X=Q?ym(A):null;return o.jsxs("div",{className:"flex gap-3 pb-2 relative max-w-full overflow-hidden",children:[o.jsxs("div",{className:"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5",children:[o.jsx("div",{className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-background",children:o.jsx(I.Icon,{className:`h-4 w-4 ${I.color}`})}),e&&o.jsx("div",{className:"absolute left-1/2 -translate-x-1/2 w-[2px] bg-border z-0",style:{top:"1.25rem",bottom:"-0.5rem"}})]}),o.jsx("div",{className:"flex-1 min-w-0 pt-0.5",children:o.jsxs("div",{className:"relative rounded-lg overflow-hidden",style:{border:eA?"1px solid hsl(var(--border) / 0.6)":"1px solid transparent",background:eA?"hsl(var(--muted) / 0.2)":"transparent",padding:eA?"8px 12px":"0px 0px",transition:`border ${Lo}ms ${Jo}, background ${Lo}ms ${Jo}, padding ${Lo}ms ${Jo}`},children:[o.jsxs("div",{style:{overflow:"hidden",opacity:eA?1:0,maxHeight:eA?`${Dl+28}px`:"0px",transition:`opacity ${Lo}ms ${Jo}, max-height ${Lo}ms ${Jo}`},children:[o.jsxs("div",{className:"flex items-center gap-2 text-[11px] font-medium uppercase tracking-[0.18em] text-muted-foreground/70",children:[o.jsx(Je,{className:"h-3 w-3 animate-spin flex-shrink-0"}),o.jsx("span",{className:"flex-shrink-0",children:I.label}),D&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/40 flex-shrink-0",children:"·"}),o.jsx("span",{className:"truncate text-foreground/60 lowercase tracking-normal font-normal font-mono",children:D})]}),!f&&!j&&!v&&o.jsx("span",{className:"text-muted-foreground/50 animate-pulse lowercase tracking-normal font-normal",children:"generating…"})]}),o.jsx("div",{style:{overflow:"hidden",opacity:V?1:0,height:V?`${a+6}px`:"0px",transition:`opacity ${Lo}ms ${Jo}, height ${Lo}ms ${Jo}`},children:K&&o.jsx("div",{className:"pt-1.5",children:o.jsx("section",{ref:s,className:"overflow-y-auto","aria-label":`${I.label} content`,style:{height:`${a}px`,maskImage:"linear-gradient(to bottom, transparent 0px, black 20px)",WebkitMaskImage:"linear-gradient(to bottom, transparent 0px, black 20px)"},onMouseEnter:()=>{r.current=!0},onMouseLeave:()=>{r.current=!1},children:o.jsx("pre",{ref:t,className:"px-1 pt-2.5 pb-1 text-[11px] leading-relaxed text-foreground/60 font-mono whitespace-pre-wrap break-all",children:K})})})})]}),o.jsx("div",{className:"min-w-0 text-xs",style:{opacity:C?1:0,maxHeight:C?"1200px":"0px",overflow:"hidden",transition:`opacity ${Lo}ms ${Jo}, max-height ${Lo}ms ${Jo}`},children:X?o.jsx("div",{className:"min-w-0",children:o.jsx(ca,{toolName:l,contentJson:X,toolDurationMs:A.toolDurationMs??void 0,debug:!1,compact:!1})}):o.jsx("div",{className:"flex min-w-0 items-center",children:o.jsx("span",{className:"block min-w-0 truncate leading-5 text-foreground",title:D||I.label,children:D?`${I.label} · ${D}`:I.label})})})]})})]})}function yl(A,e){return Kr(A)?String(e.cmd||""):A==="write"?String(e.content||""):A==="apply_patch"?String(e.patch||""):A==="edit"?String(e.oldString||""):""}function Yo(A,e){const s=new RegExp(`"${e}"\\s*:\\s*"`).exec(A);if(!s)return"";const n=s.index+s[0].length;let r="",i=n;for(;i<A.length;)if(A[i]==="\\"&&i+1<A.length){const a=A[i+1];a==="n"?r+=`
|
|
111
|
-
`:a==="t"?r+=" ":a==='"'?r+='"':a==="\\"?r+="\\":r+=a,i+=2}else{if(A[i]==='"')break;r+=A[i],i+=1}return r}function km(A,e){return e?Kr(A)?Yo(e,"cmd"):A==="write"?Yo(e,"content"):A==="apply_patch"?Yo(e,"patch"):A==="edit"?Yo(e,"oldString"):"":""}const Ei={currentMessageId:null,queuedMessages:[],queueLength:0};function Mm(A){const{data:e}=gt({queryKey:["queueState",A],queryFn:()=>Ei,enabled:!!A,initialData:Ei,staleTime:1/0});return e??Ei}function tc(A,e){const t=Mm(A);if(!A||!t)return{isQueued:!1,isRunning:!1,position:null};if(t.currentMessageId===e)return{isQueued:!1,isRunning:!0,position:null};const s=t.queuedMessages.find(n=>n.messageId===e);return s?{isQueued:!0,isRunning:!1,position:s.position}:{isQueued:!1,isRunning:!1,position:null}}function bm(A){const e=ke();return Ze({mutationFn:t=>{if(!A)throw new Error("No session ID");return mA.createBranch(A,t)},onSuccess:()=>{e.invalidateQueries({queryKey:po}),A&&e.invalidateQueries({queryKey:["branches",A]})}})}function oc(A){return gt({queryKey:["parentSession",A],queryFn:()=>{if(!A)throw new Error("No session ID");return mA.getParentSession(A)},enabled:!!A})}function Fm({isOpen:A,onClose:e,sessionId:t,message:s,onBranchCreated:n}){const r=tg(t),i=bm(t),[a,g]=x.useState(""),[l,Q]=x.useState(!0),I=x.useId(),C=x.useId(),c=s.parts?.find(f=>f.type==="text")?.content||"",u=(()=>{try{return JSON.parse(c)?.text?.slice(0,100)||""}catch{return c.slice(0,100)}})(),p=async f=>{f.preventDefault();try{const k=await i.mutateAsync({fromMessageId:s.id,title:a.trim()||void 0,provider:l?r?.provider:void 0,model:l?r?.model:void 0,agent:l?r?.agent:void 0});e(),n&&k.session&&n(k.session.id)}catch(k){console.error("Failed to create branch:",k)}};return o.jsx(So,{isOpen:A,onClose:e,title:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(ao,{className:"h-5 w-5 text-primary"}),o.jsx("span",{children:"Branch Session"})]}),maxWidth:"md",children:o.jsxs("form",{onSubmit:p,className:"space-y-4",children:[o.jsxs("div",{className:"text-sm text-muted-foreground",children:[o.jsx("p",{children:"Creating branch from message:"}),o.jsxs("p",{className:"mt-1 p-2 bg-muted/50 rounded text-foreground italic truncate",children:['"',u,'..."']})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:I,className:"block text-sm font-medium text-foreground",children:"Branch Title (optional)"}),o.jsx("input",{id:I,type:"text",value:a,onChange:f=>g(f.target.value),placeholder:`Branch of ${r?.title||"Untitled"}`,className:"w-full px-3 py-2 bg-background border border-border rounded-md text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/50"})]}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("input",{id:C,type:"checkbox",checked:l,onChange:f=>Q(f.target.checked),className:"h-4 w-4 rounded border-border text-primary focus:ring-primary/50"}),o.jsx("label",{htmlFor:C,className:"text-sm text-foreground",children:"Use same provider/model/agent as parent"})]}),r&&o.jsx("div",{className:"text-xs text-muted-foreground bg-muted/30 rounded p-2",children:o.jsxs("div",{className:"flex gap-4",children:[o.jsxs("span",{children:[o.jsx("strong",{children:"Provider:"})," ",r.provider]}),o.jsxs("span",{children:[o.jsx("strong",{children:"Model:"})," ",r.model]}),o.jsxs("span",{children:[o.jsx("strong",{children:"Agent:"})," ",r.agent]})]})}),o.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[o.jsx("button",{type:"button",onClick:e,className:"px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors",children:"Cancel"}),o.jsx("button",{type:"submit",disabled:i.isPending,className:"px-4 py-2 text-sm bg-primary text-primary-foreground rounded-md hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-2",children:i.isPending?o.jsxs(o.Fragment,{children:[o.jsx(Je,{className:"h-4 w-4 animate-spin"}),"Creating..."]}):o.jsxs(o.Fragment,{children:[o.jsx(ao,{className:"h-4 w-4"}),"Create Branch"]})})]}),i.isError&&o.jsx("p",{className:"text-sm text-red-500",children:i.error?.message||"Failed to create branch"})]})})}const Nl=["Generating...","Cooking up something...","Thinking...","Processing...","Working on it...","Crafting response...","Brewing magic...","Computing..."];function Gm(A){const e=A.split("").reduce((t,s)=>t+s.charCodeAt(0),0);return Nl[e%Nl.length]}const sc=x.memo(function({sessionId:e,message:t,showHeader:s,hasNextAssistantMessage:n,onBranchCreated:r,compact:i,showBranchButton:a=!0,onNavigateToSession:g,onRetry:l,onCompact:Q}){const{isQueued:I}=tc(e,t.id),[C,c]=x.useState(!1),[u,p]=x.useState(!1),[f,k]=x.useState(!1),{pendingApprovals:v,removePendingApproval:D}=vr(),j=x.useCallback(async E=>{if(e)try{await mA.approveToolCall(e,E,!0),D(E)}catch(h){console.error("Failed to approve tool call:",h)}},[e,D]),K=x.useCallback(async E=>{if(e)try{await mA.approveToolCall(e,E,!1),D(E)}catch(h){console.error("Failed to reject tool call:",h)}},[e,D]),V=x.useMemo(()=>v.filter(E=>E.messageId===t.id),[v,t.id]),eA=x.useCallback(async()=>{if(e)try{await Promise.all(V.map(E=>mA.approveToolCall(e,E.callId,!0)));for(const E of V)D(E.callId)}catch(E){console.error("Failed to approve all tool calls:",E)}},[e,V,D]),X=x.useMemo(()=>[...t.parts||[]].sort((h,S)=>{const U=(h.index??0)-(S.index??0);if(U!==0)return U;const _=(h.stepIndex??0)-(S.stepIndex??0);return _!==0?_:(h.startedAt??0)-(S.startedAt??0)}),[t.parts]),R=X.some(E=>E.toolName==="finish"),W=X.reduce((E,h,S)=>h.type==="tool_result"&&h.toolName==="progress_update"?S:E,-1),O=W>=0?X[W]:null,L=new Set(X.filter(E=>E.ephemeral&&["shell","bash","edit","multiedit","write","copy_into","apply_patch","terminal"].includes(E.toolName||"")).map(E=>E.toolCallId).filter(E=>!!E)),w=x.useMemo(()=>{const E=[];let h=[],S=-1,U;const _=tA=>{if(h.length===0){tA&&(U=tA);return}const IA=cm(h);if(IA.length>0)E.push({kind:"group",id:`compact-${h[0].id}`,entries:IA,titleOverride:U});else for(const[iA,GA]of h.entries())E.push({kind:"part",index:S+iA,part:GA});h=[],S=-1,U=tA};for(const[tA,IA]of X.entries()){if((IA.type==="tool_result"||IA.type==="tool_call")&&IA.toolName==="progress_update"){let GA;const qA=IA.contentJson&&typeof IA.contentJson=="object"?IA.contentJson:null;if(qA){const BA=qA.args??qA.result;if(BA&&typeof BA=="object"){const YA=BA.message;typeof YA=="string"&&YA.trim()&&(GA=YA.trim())}}GA&&_(GA);continue}if(i&&Qm(IA)){h.length===0&&(S=tA),h.push(IA);continue}_(),E.push({kind:"part",index:tA,part:IA})}return _(),E},[X,i]),B=w.length>0,d=X.findIndex(E=>!(E.type==="tool_result"&&E.toolName==="progress_update")),N=t.status==="pending"&&!R&&!!O,G=t.status==="pending"&&!R&&!O&&!I,J=E=>E?new Date(E).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):"",Y=t.status==="complete",T=x.useCallback(()=>{const E=X.filter(h=>h.type==="text").map(h=>{try{return JSON.parse(h.content||"{}")?.text||""}catch{return h.content||""}}).join(`
|
|
112
|
-
`);navigator.clipboard.writeText(E),k(!0),setTimeout(()=>k(!1),2e3)},[X]),b=x.useCallback(()=>{p(!0)},[]);return I?null:o.jsxs("div",{className:"relative group",onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),children:[s&&o.jsxs("div",{className:"pb-2 flex items-center justify-between",children:[o.jsxs("div",{className:"inline-flex items-center bg-violet-500/10 border border-violet-500/30 dark:bg-violet-500/5 dark:border-violet-500/20 rounded-full pr-3 md:pr-4 flex-shrink min-w-0",children:[o.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-violet-500/50 bg-violet-500/20 dark:bg-violet-500/10",children:o.jsx(eo,{className:"h-3.5 w-3.5 text-violet-700 dark:text-violet-300"})}),o.jsxs("div",{className:"flex items-center gap-x-1.5 md:gap-x-2 text-xs md:text-sm text-muted-foreground pl-2 md:pl-3 min-w-0",children:[t.agent&&o.jsx("span",{className:"font-medium text-violet-700 dark:text-violet-300 whitespace-nowrap",title:t.agent,children:t.agent}),t.provider&&o.jsxs(o.Fragment,{children:[t.agent&&o.jsx("span",{className:"text-muted-foreground/50",children:"·"}),o.jsx($t,{provider:t.provider,size:14,className:"opacity-70"})]}),t.model&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"hidden md:inline text-muted-foreground/50",children:"·"}),o.jsx("span",{className:"hidden md:inline text-muted-foreground whitespace-nowrap",title:t.model,children:t.model})]}),t.createdAt&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground/50",children:"·"}),o.jsx("span",{className:"text-muted-foreground whitespace-nowrap",children:J(t.createdAt)})]})]})]}),C&&Y&&e&&a&&o.jsx("button",{type:"button",onClick:b,className:"ml-4 p-1.5 text-muted-foreground hover:text-primary transition-colors flex-shrink-0",title:"Branch from this message",children:o.jsx(ao,{className:"h-4 w-4"})})]}),o.jsxs("div",{className:"relative ml-1",children:[w.map((E,h)=>{const S=h<w.length-1||n||N;if(E.kind==="group")return o.jsx(dm,{entries:E.entries,titleOverride:E.titleOverride,showLine:S,collapsed:t.status!=="pending"||h<w.length-1},E.id);const{part:U,index:_}=E,tA=_===X.length-1;if(U.ephemeral&&(U.type==="tool_call"||U.type==="tool_result")&&["shell","bash","edit","multiedit","write","copy_into","apply_patch","terminal"].includes(U.toolName||""))return o.jsx(Nm,{part:U,showLine:S},U.id);const iA=U.type==="tool_call"&&U.toolCallId?v.find(YA=>YA.callId===U.toolCallId)??null:null;if(U.type==="tool_result"&&U.toolCallId&&L.has(U.toolCallId))return null;const GA=U.type==="tool_result"&&U.toolName==="finish",qA=S&&!GA,BA=U.type==="tool_call"&&tA;return o.jsx(wl,{part:U,showLine:qA,isFirstPart:_===d&&!s,isLastToolCall:BA,onNavigateToSession:g,compact:i,pendingApproval:iA,onApprove:j,onReject:K,sessionId:e,onRetry:l,onCompact:Q},U.id)}),V.length>1&&o.jsxs("div",{className:"flex items-center gap-3 py-2 px-3 my-2 bg-amber-50 dark:bg-amber-950/30 border border-amber-200 dark:border-amber-800 rounded-lg",children:[o.jsx(Ka,{className:"h-4 w-4 text-amber-600 dark:text-amber-400 flex-shrink-0"}),o.jsxs("span",{className:"text-sm text-amber-800 dark:text-amber-200 flex-1",children:[V.length," tools waiting for approval"]}),o.jsxs("button",{type:"button",onClick:eA,title:"Approve All (A)",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-amber-600 text-white hover:bg-amber-700 transition-colors",children:[o.jsx(UQ,{className:"w-3.5 h-3.5"}),"Approve All",o.jsx("kbd",{className:"ml-1 text-[10px] opacity-70",children:"A"})]})]}),N&&O&&o.jsx(wl,{part:O,showLine:n,isFirstPart:!B&&!s,isLastProgressUpdate:!0,compact:i},O.id),G&&o.jsxs("div",{className:"flex gap-3 pb-2 relative",children:[o.jsx("div",{className:"flex-shrink-0 w-6 flex items-start justify-center relative pt-0.5",children:o.jsx("div",{className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-full relative bg-card text-violet-700 dark:bg-background dark:text-violet-300",children:o.jsx(eo,{className:"h-4 w-4"})})}),o.jsx("div",{className:"flex-1 pt-0.5",children:o.jsx("div",{className:"text-base text-foreground animate-pulse",children:Gm(t.id)})})]})]}),Y&&e&&o.jsx("div",{className:"grid ml-7 transition-[grid-template-rows] duration-200 ease-out",style:{gridTemplateRows:C?"1fr":"0fr"},children:o.jsx("div",{className:"overflow-hidden",children:o.jsxs("div",{className:"flex gap-2 mt-2",children:[a&&o.jsxs("button",{type:"button",onClick:b,className:"flex items-center gap-1.5 px-2 py-1 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 rounded transition-colors",children:[o.jsx(ao,{className:"h-3 w-3"}),"Branch"]}),o.jsx("button",{type:"button",onClick:T,className:"flex items-center gap-1.5 px-2 py-1 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 rounded transition-colors",children:f?o.jsxs(o.Fragment,{children:[o.jsx(Ht,{className:"h-3 w-3 text-green-500"}),"Copied"]}):o.jsxs(o.Fragment,{children:[o.jsx(fs,{className:"h-3 w-3"}),"Copy"]})})]})})}),u&&e&&o.jsx(Fm,{isOpen:u,onClose:()=>p(!1),sessionId:e,message:t,onBranchCreated:r})]})},(A,e)=>{const t=A.message.parts||[],s=e.message.parts||[];if(t.length!==s.length)return!1;for(let n=0;n<t.length;n++){const r=t[n],i=s[n];if(r.id!==i.id||r.index!==i.index||r.stepIndex!==i.stepIndex||r.type!==i.type||r.content!==i.content||r.toolName!==i.toolName||r.toolCallId!==i.toolCallId||r.ephemeral!==i.ephemeral||r.completedAt!==i.completedAt||r.startedAt!==i.startedAt)return!1}return A.message.id===e.message.id&&A.message.status===e.message.status&&A.message.completedAt===e.message.completedAt&&A.showHeader===e.showHeader&&A.hasNextAssistantMessage===e.hasNextAssistantMessage&&A.isLastMessage===e.isLastMessage&&A.sessionId===e.sessionId&&A.compact===e.compact&&A.onNavigateToSession===e.onNavigateToSession}),rc=x.memo(function({sessionId:e,message:t,nextAssistantMessageId:s}){const[n,r]=x.useState(null),i=t.parts||[],a=ke(),{isQueued:g,position:l}=tc(e,s??""),Q=Ba(O=>O.setPendingRestoreText),I=i.filter(O=>O.type==="text"),C=i.filter(O=>O.type==="image"),c=i.filter(O=>O.type==="file"),u=I[0];let p="";if(u){const O=u.contentJson||u.content;O&&typeof O=="object"&&"text"in O?p=String(O.text):typeof O=="string"?p=O:O&&(p=JSON.stringify(O,null,2))}const{researchContexts:f,cleanContent:k}=ep(p),v=[];for(const O of C)try{const L=O.contentJson||JSON.parse(O.content||"{}");if(L&&typeof L=="object"&&"data"in L){const w=L,B=`data:${w.mediaType};base64,${w.data}`;v.push({id:O.id,src:B})}}catch{}const D=[];for(const O of c)try{const L=O.contentJson||JSON.parse(O.content||"{}");if(L&&typeof L=="object"&&"type"in L){const w=L;if(w.type==="image"&&w.data){const B=`data:${w.mediaType};base64,${w.data}`;v.push({id:O.id,src:B})}else D.push({id:O.id,type:w.type,name:w.name})}}catch{}const j=O=>O?new Date(O).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):"",K=k.trim().length>0,V=v.length>0,eA=D.length>0,X=f.length>0;if(!K&&!V&&!eA&&!X)return null;const R=async()=>{if(!(!e||!s)){Q(k);try{await mA.removeFromQueue(e,s),a.invalidateQueries({queryKey:["messages",e]})}catch(O){console.error("Failed to cancel queued message:",O)}}},W=async()=>{if(!(!e||!s))try{await mA.removeFromQueue(e,s),a.invalidateQueries({queryKey:["messages",e]})}catch(O){console.error("Failed to delete queued message:",O)}};return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"relative pb-8 pt-6",children:o.jsxs("div",{className:"flex gap-3 md:gap-4 justify-end",children:[o.jsxs("div",{className:"flex flex-col items-end min-w-0 flex-1 max-w-[calc(100%-3rem)] md:max-w-2xl",children:[o.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground pb-2 justify-end",children:[o.jsx("span",{className:"font-medium text-emerald-700 dark:text-emerald-300",children:"You"}),t.createdAt&&o.jsx("span",{children:"·"}),t.createdAt&&o.jsx("span",{children:j(t.createdAt)}),g&&o.jsxs(o.Fragment,{children:[o.jsx("span",{children:"·"}),o.jsxs("span",{className:"inline-flex items-center gap-1 text-amber-600 dark:text-amber-400",children:[o.jsx(La,{className:"h-3 w-3"}),"Queued",l!==null&&l>0?` #${l+1}`:""]})]})]}),o.jsxs("div",{className:"inline-block max-w-full text-sm text-foreground leading-relaxed bg-emerald-500/5 border border-emerald-500/20 rounded-xl px-4 py-3 [word-break:break-word] overflow-hidden",children:[V&&o.jsx("div",{className:"flex flex-wrap gap-2 mb-2",children:v.map(O=>o.jsx("button",{type:"button",onClick:()=>r(O.src),className:"w-16 h-16 rounded-lg overflow-hidden bg-muted hover:ring-2 hover:ring-primary/50 transition-all",children:o.jsx("img",{src:O.src,alt:"Attachment",className:"w-full h-full object-cover"})},O.id))}),eA&&o.jsx("div",{className:"flex flex-wrap gap-2 mb-2",children:D.map(O=>o.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-muted/50 border border-border",children:[O.type==="pdf"?o.jsx(ts,{className:"w-4 h-4 text-red-500 flex-shrink-0"}):o.jsx(os,{className:"w-4 h-4 text-blue-500 flex-shrink-0"}),o.jsx("span",{className:"text-xs truncate max-w-[150px]",children:O.name})]},O.id))}),X&&o.jsx("div",{className:"flex flex-wrap gap-2 mb-2",children:f.map(O=>o.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-teal-500/10 border border-teal-500/30",children:[o.jsx(dr,{className:"w-4 h-4 text-teal-500 flex-shrink-0"}),o.jsx("span",{className:"text-xs text-teal-600 dark:text-teal-400",children:O.label})]},O.id))}),K&&o.jsx("div",{className:"prose prose-invert prose-sm [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 [&_*]:[word-break:break-word] [&_*]:overflow-wrap-anywhere whitespace-pre-wrap",children:o.jsx(Ta,{remarkPlugins:[Oa],components:{a:({href:O,children:L,...w})=>o.jsx("a",{href:O,target:"_blank",rel:"noopener noreferrer",onClick:B=>{window.self!==window.top&&O&&(B.preventDefault(),window.parent.postMessage({type:"otto-open-url",url:O},"*"))},...w,children:L})},children:k.replace(/\n/g,`
|
|
113
|
-
`)})})]}),g&&o.jsxs("div",{className:"flex items-center gap-2 mt-2",children:[o.jsxs("button",{type:"button",onClick:R,className:"inline-flex items-center gap-1.5 px-2.5 py-1 text-xs rounded-md bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground transition-colors",title:"Cancel and restore to input",children:[o.jsx(TQ,{className:"h-3 w-3"}),"Cancel"]}),o.jsxs("button",{type:"button",onClick:W,className:"inline-flex items-center gap-1.5 px-2.5 py-1 text-xs rounded-md bg-destructive/10 hover:bg-destructive/20 text-destructive transition-colors",title:"Delete from queue",children:[o.jsx(yr,{className:"h-3 w-3"}),"Delete"]})]})]}),o.jsx("div",{className:"flex-shrink-0 w-8 flex items-start justify-center",children:o.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full border-2 border-emerald-500/50 bg-emerald-500/20 dark:bg-emerald-500/10 relative bg-background",children:o.jsx(Ga,{className:"h-4 w-4 text-emerald-700 dark:text-emerald-300"})})})]})}),n&&o.jsxs("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/80 p-4",onClick:()=>r(null),onKeyDown:O=>O.key==="Escape"&&r(null),tabIndex:-1,children:[o.jsx("button",{type:"button",onClick:()=>r(null),className:"absolute top-4 right-4 p-2 rounded-full bg-white/10 hover:bg-white/20 transition-colors",children:o.jsx(ct,{className:"w-6 h-6 text-white"})}),o.jsx("img",{src:n,alt:"Expanded attachment",className:"max-w-full max-h-full object-contain rounded-lg",onClick:O=>O.stopPropagation(),onKeyDown:O=>O.key==="Enter"&&O.stopPropagation()})]})]})},(A,e)=>{const t=A.message.parts?.[0],s=e.message.parts?.[0];return A.message.id===e.message.id&&t?.content===s?.content&&t?.contentJson===s?.contentJson&&A.message.createdAt===e.message.createdAt&&A.message.parts?.length===e.message.parts?.length&&A.sessionId===e.sessionId&&A.nextAssistantMessageId===e.nextAssistantMessageId}),vm={openai:{id:"openai",models:[{id:"chatgpt-image-latest",ownedBy:"openai",label:"chatgpt-image-latest",modalities:{input:["text","image"],output:["text","image"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!1,releaseDate:"2025-12-16",lastUpdated:"2025-12-16",openWeights:!1,limit:{context:0,output:0}},{id:"gpt-3.5-turbo",ownedBy:"openai",label:"GPT-3.5-turbo",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2021-09-01",releaseDate:"2023-03-01",lastUpdated:"2023-11-06",openWeights:!1,cost:{input:.5,output:1.5,cacheRead:1.25},limit:{context:16385,output:4096}},{id:"gpt-4",ownedBy:"openai",label:"GPT-4",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-11",releaseDate:"2023-11-06",lastUpdated:"2024-04-09",openWeights:!1,cost:{input:30,output:60},limit:{context:8192,output:8192}},{id:"gpt-4-turbo",ownedBy:"openai",label:"GPT-4 Turbo",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-12",releaseDate:"2023-11-06",lastUpdated:"2024-04-09",openWeights:!1,cost:{input:10,output:30},limit:{context:128e3,output:4096}},{id:"gpt-4.1",ownedBy:"openai",label:"GPT-4.1",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:2,output:8,cacheRead:.5},limit:{context:1047576,output:32768}},{id:"gpt-4.1-mini",ownedBy:"openai",label:"GPT-4.1 mini",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:.4,output:1.6,cacheRead:.1},limit:{context:1047576,output:32768}},{id:"gpt-4.1-nano",ownedBy:"openai",label:"GPT-4.1 nano",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.03},limit:{context:1047576,output:32768}},{id:"gpt-4o",ownedBy:"openai",label:"GPT-4o",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-05-13",lastUpdated:"2024-08-06",openWeights:!1,cost:{input:2.5,output:10,cacheRead:1.25},limit:{context:128e3,output:16384}},{id:"gpt-4o-2024-05-13",ownedBy:"openai",label:"GPT-4o (2024-05-13)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-05-13",lastUpdated:"2024-05-13",openWeights:!1,cost:{input:5,output:15},limit:{context:128e3,output:4096}},{id:"gpt-4o-2024-08-06",ownedBy:"openai",label:"GPT-4o (2024-08-06)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-08-06",lastUpdated:"2024-08-06",openWeights:!1,cost:{input:2.5,output:10,cacheRead:1.25},limit:{context:128e3,output:16384}},{id:"gpt-4o-2024-11-20",ownedBy:"openai",label:"GPT-4o (2024-11-20)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-11-20",lastUpdated:"2024-11-20",openWeights:!1,cost:{input:2.5,output:10,cacheRead:1.25},limit:{context:128e3,output:16384}},{id:"gpt-4o-mini",ownedBy:"openai",label:"GPT-4o mini",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-07-18",lastUpdated:"2024-07-18",openWeights:!1,cost:{input:.15,output:.6,cacheRead:.08},limit:{context:128e3,output:16384}},{id:"gpt-5",ownedBy:"openai",label:"GPT-5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"gpt-5-chat-latest",ownedBy:"openai",label:"GPT-5 Chat (latest)",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:1.25,output:10},limit:{context:4e5,output:128e3}},{id:"gpt-5-codex",ownedBy:"openai",label:"GPT-5-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-09-15",lastUpdated:"2025-09-15",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"gpt-5-mini",ownedBy:"openai",label:"GPT-5 Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:.25,output:2,cacheRead:.025},limit:{context:4e5,output:128e3}},{id:"gpt-5-nano",ownedBy:"openai",label:"GPT-5 Nano",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:.05,output:.4,cacheRead:.005},limit:{context:4e5,output:128e3}},{id:"gpt-5-pro",ownedBy:"openai",label:"GPT-5 Pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-10-06",lastUpdated:"2025-10-06",openWeights:!1,cost:{input:15,output:120},limit:{context:4e5,output:272e3}},{id:"gpt-5.1",ownedBy:"openai",label:"GPT-5.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.13},limit:{context:4e5,output:128e3}},{id:"gpt-5.1-chat-latest",ownedBy:"openai",label:"GPT-5.1 Chat",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:128e3,output:16384}},{id:"gpt-5.1-codex",ownedBy:"openai",label:"GPT-5.1 Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"gpt-5.1-codex-max",ownedBy:"openai",label:"GPT-5.1 Codex Max",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"gpt-5.1-codex-mini",ownedBy:"openai",label:"GPT-5.1 Codex mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:.25,output:2,cacheRead:.025},limit:{context:4e5,output:128e3}},{id:"gpt-5.2",ownedBy:"openai",label:"GPT-5.2",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"gpt-5.2-chat-latest",ownedBy:"openai",label:"GPT-5.2 Chat",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:128e3,output:16384}},{id:"gpt-5.2-codex",ownedBy:"openai",label:"GPT-5.2 Codex",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"gpt-5.2-pro",ownedBy:"openai",label:"GPT-5.2 Pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:21,output:168},limit:{context:4e5,output:128e3}},{id:"gpt-5.3-chat-latest",ownedBy:"openai",label:"GPT-5.3 Chat (latest)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-03-03",lastUpdated:"2026-03-03",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:128e3,output:16384}},{id:"gpt-5.3-codex",ownedBy:"openai",label:"GPT-5.3 Codex",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-05",lastUpdated:"2026-02-05",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"gpt-5.3-codex-spark",ownedBy:"openai",label:"GPT-5.3 Codex Spark",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-05",lastUpdated:"2026-02-05",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:128e3,output:32e3}},{id:"gpt-5.4",ownedBy:"openai",label:"GPT-5.4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:2.5,output:15,cacheRead:.25},limit:{context:105e4,output:128e3}},{id:"gpt-5.4-mini",ownedBy:"openai",label:"GPT-5.4 mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:.75,output:4.5,cacheRead:.075},limit:{context:4e5,output:128e3}},{id:"gpt-5.4-nano",ownedBy:"openai",label:"GPT-5.4 nano",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:.2,output:1.25,cacheRead:.02},limit:{context:4e5,output:128e3}},{id:"gpt-5.4-pro",ownedBy:"openai",label:"GPT-5.4 Pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:30,output:180},limit:{context:105e4,output:128e3}},{id:"gpt-5.5",ownedBy:"openai",label:"GPT-5.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-12-01",releaseDate:"2026-04-23",lastUpdated:"2026-04-23",openWeights:!1,cost:{input:5,output:30,cacheRead:.5},limit:{context:105e4,output:13e4}},{id:"gpt-image-1",ownedBy:"openai",label:"gpt-image-1",modalities:{input:["text","image"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!1,releaseDate:"2025-04-24",lastUpdated:"2025-04-24",openWeights:!1,limit:{context:0,output:0}},{id:"gpt-image-1-mini",ownedBy:"openai",label:"gpt-image-1-mini",modalities:{input:["text","image"],output:["text","image"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!1,releaseDate:"2025-09-26",lastUpdated:"2025-09-26",openWeights:!1,limit:{context:0,output:0}},{id:"gpt-image-1.5",ownedBy:"openai",label:"gpt-image-1.5",modalities:{input:["text","image"],output:["text","image"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!1,releaseDate:"2025-11-25",lastUpdated:"2025-11-25",openWeights:!1,limit:{context:0,output:0}},{id:"o1",ownedBy:"openai",label:"o1",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2023-09",releaseDate:"2024-12-05",lastUpdated:"2024-12-05",openWeights:!1,cost:{input:15,output:60,cacheRead:7.5},limit:{context:2e5,output:1e5}},{id:"o1-mini",ownedBy:"openai",label:"o1-mini",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2023-09",releaseDate:"2024-09-12",lastUpdated:"2024-09-12",openWeights:!1,cost:{input:1.1,output:4.4,cacheRead:.55},limit:{context:128e3,output:65536}},{id:"o1-preview",ownedBy:"openai",label:"o1-preview",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2023-09",releaseDate:"2024-09-12",lastUpdated:"2024-09-12",openWeights:!1,cost:{input:15,output:60,cacheRead:7.5},limit:{context:128e3,output:32768}},{id:"o1-pro",ownedBy:"openai",label:"o1-pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2023-09",releaseDate:"2025-03-19",lastUpdated:"2025-03-19",openWeights:!1,cost:{input:150,output:600},limit:{context:2e5,output:1e5}},{id:"o3",ownedBy:"openai",label:"o3",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05",releaseDate:"2025-04-16",lastUpdated:"2025-04-16",openWeights:!1,cost:{input:2,output:8,cacheRead:.5},limit:{context:2e5,output:1e5}},{id:"o3-deep-research",ownedBy:"openai",label:"o3-deep-research",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05",releaseDate:"2024-06-26",lastUpdated:"2024-06-26",openWeights:!1,cost:{input:10,output:40,cacheRead:2.5},limit:{context:2e5,output:1e5}},{id:"o3-mini",ownedBy:"openai",label:"o3-mini",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2024-05",releaseDate:"2024-12-20",lastUpdated:"2025-01-29",openWeights:!1,cost:{input:1.1,output:4.4,cacheRead:.55},limit:{context:2e5,output:1e5}},{id:"o3-pro",ownedBy:"openai",label:"o3-pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05",releaseDate:"2025-06-10",lastUpdated:"2025-06-10",openWeights:!1,cost:{input:20,output:80},limit:{context:2e5,output:1e5}},{id:"o4-mini",ownedBy:"openai",label:"o4-mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05",releaseDate:"2025-04-16",lastUpdated:"2025-04-16",openWeights:!1,cost:{input:1.1,output:4.4,cacheRead:.28},limit:{context:2e5,output:1e5}},{id:"o4-mini-deep-research",ownedBy:"openai",label:"o4-mini-deep-research",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05",releaseDate:"2024-06-26",lastUpdated:"2024-06-26",openWeights:!1,cost:{input:2,output:8,cacheRead:.5},limit:{context:2e5,output:1e5}},{id:"text-embedding-3-large",ownedBy:"openai",label:"text-embedding-3-large",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2024-01",releaseDate:"2024-01-25",lastUpdated:"2024-01-25",openWeights:!1,cost:{input:.13,output:0},limit:{context:8191,output:3072}},{id:"text-embedding-3-small",ownedBy:"openai",label:"text-embedding-3-small",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2024-01",releaseDate:"2024-01-25",lastUpdated:"2024-01-25",openWeights:!1,cost:{input:.02,output:0},limit:{context:8191,output:1536}},{id:"text-embedding-ada-002",ownedBy:"openai",label:"text-embedding-ada-002",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2022-12",releaseDate:"2022-12-15",lastUpdated:"2022-12-15",openWeights:!1,cost:{input:.1,output:0},limit:{context:8192,output:1536}}],label:"OpenAI",env:["OPENAI_API_KEY"],npm:"@ai-sdk/openai",doc:"https://platform.openai.com/docs/models"},anthropic:{id:"anthropic",models:[{id:"claude-3-5-haiku-20241022",ownedBy:"anthropic",label:"Claude Haiku 3.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-07-31",releaseDate:"2024-10-22",lastUpdated:"2024-10-22",openWeights:!1,cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},limit:{context:2e5,output:8192}},{id:"claude-3-5-haiku-latest",ownedBy:"anthropic",label:"Claude Haiku 3.5 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-07-31",releaseDate:"2024-10-22",lastUpdated:"2024-10-22",openWeights:!1,cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},limit:{context:2e5,output:8192}},{id:"claude-3-5-sonnet-20240620",ownedBy:"anthropic",label:"Claude Sonnet 3.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04-30",releaseDate:"2024-06-20",lastUpdated:"2024-06-20",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:8192}},{id:"claude-3-5-sonnet-20241022",ownedBy:"anthropic",label:"Claude Sonnet 3.5 v2",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04-30",releaseDate:"2024-10-22",lastUpdated:"2024-10-22",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:8192}},{id:"claude-3-7-sonnet-20250219",ownedBy:"anthropic",label:"Claude Sonnet 3.7",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-31",releaseDate:"2025-02-19",lastUpdated:"2025-02-19",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"claude-3-haiku-20240307",ownedBy:"anthropic",label:"Claude Haiku 3",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-08-31",releaseDate:"2024-03-13",lastUpdated:"2024-03-13",openWeights:!1,cost:{input:.25,output:1.25,cacheRead:.03,cacheWrite:.3},limit:{context:2e5,output:4096}},{id:"claude-3-opus-20240229",ownedBy:"anthropic",label:"Claude Opus 3",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-08-31",releaseDate:"2024-02-29",lastUpdated:"2024-02-29",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:4096}},{id:"claude-3-sonnet-20240229",ownedBy:"anthropic",label:"Claude Sonnet 3",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-08-31",releaseDate:"2024-03-04",lastUpdated:"2024-03-04",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:.3},limit:{context:2e5,output:4096}},{id:"claude-haiku-4-5",ownedBy:"anthropic",label:"Claude Haiku 4.5 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",releaseDate:"2025-10-15",lastUpdated:"2025-10-15",openWeights:!1,cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},limit:{context:2e5,output:64e3}},{id:"claude-haiku-4-5-20251001",ownedBy:"anthropic",label:"Claude Haiku 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",releaseDate:"2025-10-15",lastUpdated:"2025-10-15",openWeights:!1,cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},limit:{context:2e5,output:64e3}},{id:"claude-opus-4-0",ownedBy:"anthropic",label:"Claude Opus 4 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"claude-opus-4-1",ownedBy:"anthropic",label:"Claude Opus 4.1 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"claude-opus-4-1-20250805",ownedBy:"anthropic",label:"Claude Opus 4.1",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"claude-opus-4-20250514",ownedBy:"anthropic",label:"Claude Opus 4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"claude-opus-4-5",ownedBy:"anthropic",label:"Claude Opus 4.5 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-11-24",lastUpdated:"2025-11-24",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:2e5,output:64e3}},{id:"claude-opus-4-5-20251101",ownedBy:"anthropic",label:"Claude Opus 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-11-01",lastUpdated:"2025-11-01",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:2e5,output:64e3}},{id:"claude-opus-4-6",ownedBy:"anthropic",label:"Claude Opus 4.6",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-05-31",releaseDate:"2026-02-05",lastUpdated:"2026-03-13",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:1e6,output:128e3}},{id:"claude-opus-4-7",ownedBy:"anthropic",label:"Claude Opus 4.7",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2026-01-31",releaseDate:"2026-04-16",lastUpdated:"2026-04-16",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:1e6,output:128e3}},{id:"claude-sonnet-4-0",ownedBy:"anthropic",label:"Claude Sonnet 4 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"claude-sonnet-4-20250514",ownedBy:"anthropic",label:"Claude Sonnet 4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"claude-sonnet-4-5",ownedBy:"anthropic",label:"Claude Sonnet 4.5 (latest)",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",releaseDate:"2025-09-29",lastUpdated:"2025-09-29",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"claude-sonnet-4-5-20250929",ownedBy:"anthropic",label:"Claude Sonnet 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",releaseDate:"2025-09-29",lastUpdated:"2025-09-29",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"claude-sonnet-4-6",ownedBy:"anthropic",label:"Claude Sonnet 4.6",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-02-17",lastUpdated:"2026-03-13",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:64e3}}],label:"Anthropic",env:["ANTHROPIC_API_KEY"],npm:"@ai-sdk/anthropic",doc:"https://docs.anthropic.com/en/docs/about-claude/models"},google:{id:"google",models:[{id:"gemini-1.5-flash",ownedBy:"google",label:"Gemini 1.5 Flash",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2024-05-14",lastUpdated:"2024-05-14",openWeights:!1,cost:{input:.075,output:.3,cacheRead:.01875},limit:{context:1e6,output:8192}},{id:"gemini-1.5-flash-8b",ownedBy:"google",label:"Gemini 1.5 Flash-8B",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2024-10-03",lastUpdated:"2024-10-03",openWeights:!1,cost:{input:.0375,output:.15,cacheRead:.01},limit:{context:1e6,output:8192}},{id:"gemini-1.5-pro",ownedBy:"google",label:"Gemini 1.5 Pro",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2024-02-15",lastUpdated:"2024-02-15",openWeights:!1,cost:{input:1.25,output:5,cacheRead:.3125},limit:{context:1e6,output:8192}},{id:"gemini-2.0-flash",ownedBy:"google",label:"Gemini 2.0 Flash",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2024-12-11",lastUpdated:"2024-12-11",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:8192}},{id:"gemini-2.0-flash-lite",ownedBy:"google",label:"Gemini 2.0 Flash Lite",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2024-12-11",lastUpdated:"2024-12-11",openWeights:!1,cost:{input:.075,output:.3},limit:{context:1048576,output:8192}},{id:"gemini-2.5-flash",ownedBy:"google",label:"Gemini 2.5 Flash",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-03-20",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:.3,output:2.5,cacheRead:.03},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-image",ownedBy:"google",label:"Gemini 2.5 Flash Image",modalities:{input:["text","image"],output:["text","image"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-06",releaseDate:"2025-08-26",lastUpdated:"2025-08-26",openWeights:!1,cost:{input:.3,output:30,cacheRead:.075},limit:{context:32768,output:32768}},{id:"gemini-2.5-flash-image-preview",ownedBy:"google",label:"Gemini 2.5 Flash Image (Preview)",modalities:{input:["text","image"],output:["text","image"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-06",releaseDate:"2025-08-26",lastUpdated:"2025-08-26",openWeights:!1,cost:{input:.3,output:30,cacheRead:.075},limit:{context:32768,output:32768}},{id:"gemini-2.5-flash-lite",ownedBy:"google",label:"Gemini 2.5 Flash Lite",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-06-17",lastUpdated:"2025-06-17",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-lite-preview-06-17",ownedBy:"google",label:"Gemini 2.5 Flash Lite Preview 06-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-06-17",lastUpdated:"2025-06-17",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-lite-preview-09-2025",ownedBy:"google",label:"Gemini 2.5 Flash Lite Preview 09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-preview-04-17",ownedBy:"google",label:"Gemini 2.5 Flash Preview 04-17",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-04-17",lastUpdated:"2025-04-17",openWeights:!1,cost:{input:.15,output:.6,cacheRead:.0375},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-preview-05-20",ownedBy:"google",label:"Gemini 2.5 Flash Preview 05-20",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-05-20",lastUpdated:"2025-05-20",openWeights:!1,cost:{input:.15,output:.6,cacheRead:.0375},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-preview-09-2025",ownedBy:"google",label:"Gemini 2.5 Flash Preview 09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.3,output:2.5,cacheRead:.075},limit:{context:1048576,output:65536}},{id:"gemini-2.5-flash-preview-tts",ownedBy:"google",label:"Gemini 2.5 Flash Preview TTS",modalities:{input:["text"],output:["audio"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2025-01",releaseDate:"2025-05-01",lastUpdated:"2025-05-01",openWeights:!1,cost:{input:.5,output:10},limit:{context:8e3,output:16e3}},{id:"gemini-2.5-pro",ownedBy:"google",label:"Gemini 2.5 Pro",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-03-20",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:1048576,output:65536}},{id:"gemini-2.5-pro-preview-05-06",ownedBy:"google",label:"Gemini 2.5 Pro Preview 05-06",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-05-06",lastUpdated:"2025-05-06",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.31},limit:{context:1048576,output:65536}},{id:"gemini-2.5-pro-preview-06-05",ownedBy:"google",label:"Gemini 2.5 Pro Preview 06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-06-05",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.31},limit:{context:1048576,output:65536}},{id:"gemini-2.5-pro-preview-tts",ownedBy:"google",label:"Gemini 2.5 Pro Preview TTS",modalities:{input:["text"],output:["audio"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2025-01",releaseDate:"2025-05-01",lastUpdated:"2025-05-01",openWeights:!1,cost:{input:1,output:20},limit:{context:8e3,output:16e3}},{id:"gemini-3-flash-preview",ownedBy:"google",label:"Gemini 3 Flash Preview",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-17",lastUpdated:"2025-12-17",openWeights:!1,cost:{input:.5,output:3,cacheRead:.05},limit:{context:1048576,output:65536}},{id:"gemini-3-pro-preview",ownedBy:"google",label:"Gemini 3 Pro Preview",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-11-18",lastUpdated:"2025-11-18",openWeights:!1,cost:{input:2,output:12,cacheRead:.2},limit:{context:1e6,output:64e3}},{id:"gemini-3.1-flash-image-preview",ownedBy:"google",label:"Gemini 3.1 Flash Image (Preview)",modalities:{input:["text","image","pdf"],output:["text","image"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-26",lastUpdated:"2026-02-26",openWeights:!1,cost:{input:.25,output:60},limit:{context:131072,output:32768}},{id:"gemini-3.1-flash-lite-preview",ownedBy:"google",label:"Gemini 3.1 Flash Lite Preview",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-03-03",lastUpdated:"2026-03-03",openWeights:!1,cost:{input:.25,output:1.5,cacheRead:.025,cacheWrite:1},limit:{context:1048576,output:65536}},{id:"gemini-3.1-pro-preview",ownedBy:"google",label:"Gemini 3.1 Pro Preview",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:2,output:12,cacheRead:.2},limit:{context:1048576,output:65536}},{id:"gemini-3.1-pro-preview-customtools",ownedBy:"google",label:"Gemini 3.1 Pro Preview Custom Tools",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:2,output:12,cacheRead:.2},limit:{context:1048576,output:65536}},{id:"gemini-embedding-001",ownedBy:"google",label:"Gemini Embedding 001",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!1,knowledge:"2025-05",releaseDate:"2025-05-20",lastUpdated:"2025-05-20",openWeights:!1,cost:{input:.15,output:0},limit:{context:2048,output:3072}},{id:"gemini-flash-latest",ownedBy:"google",label:"Gemini Flash Latest",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.3,output:2.5,cacheRead:.075},limit:{context:1048576,output:65536}},{id:"gemini-flash-lite-latest",ownedBy:"google",label:"Gemini Flash-Lite Latest",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"gemini-live-2.5-flash",ownedBy:"google",label:"Gemini Live 2.5 Flash",modalities:{input:["text","image","audio","video"],output:["text","audio"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-01",lastUpdated:"2025-09-01",openWeights:!1,cost:{input:.5,output:2},limit:{context:128e3,output:8e3}},{id:"gemini-live-2.5-flash-preview-native-audio",ownedBy:"google",label:"Gemini Live 2.5 Flash Preview Native Audio",modalities:{input:["text","audio","video"],output:["text","audio"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-01",releaseDate:"2025-06-17",lastUpdated:"2025-09-18",openWeights:!1,cost:{input:.5,output:2},limit:{context:131072,output:65536}},{id:"gemma-3-12b-it",ownedBy:"google",label:"Gemma 3 12B",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-13",lastUpdated:"2025-03-13",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"gemma-3-27b-it",ownedBy:"google",label:"Gemma 3 27B",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-12",lastUpdated:"2025-03-12",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:8192}},{id:"gemma-3-4b-it",ownedBy:"google",label:"Gemma 3 4B",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-13",lastUpdated:"2025-03-13",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"gemma-3n-e2b-it",ownedBy:"google",label:"Gemma 3n 2B",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-07-09",lastUpdated:"2025-07-09",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:2e3}},{id:"gemma-3n-e4b-it",ownedBy:"google",label:"Gemma 3n 4B",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-05-20",lastUpdated:"2025-05-20",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:2e3}},{id:"gemma-4-26b-a4b-it",ownedBy:"google",label:"Gemma 4 26B",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-04-02",lastUpdated:"2026-04-02",openWeights:!0,limit:{context:256e3,output:8192}},{id:"gemma-4-31b-it",ownedBy:"google",label:"Gemma 4 31B",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-04-02",lastUpdated:"2026-04-02",openWeights:!0,limit:{context:256e3,output:8192}}],label:"Google",env:["GOOGLE_GENERATIVE_AI_API_KEY","GEMINI_API_KEY"],npm:"@ai-sdk/google",doc:"https://ai.google.dev/gemini-api/docs/pricing"},openrouter:{id:"openrouter",models:[{id:"anthropic/claude-3.5-haiku",ownedBy:"anthropic",label:"Claude Haiku 3.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-07-31",releaseDate:"2024-10-22",lastUpdated:"2024-10-22",openWeights:!1,cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},limit:{context:2e5,output:8192}},{id:"anthropic/claude-3.7-sonnet",ownedBy:"anthropic",label:"Claude Sonnet 3.7",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-01",releaseDate:"2025-02-19",lastUpdated:"2025-02-19",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:128e3}},{id:"anthropic/claude-haiku-4.5",ownedBy:"anthropic",label:"Claude Haiku 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",releaseDate:"2025-10-15",lastUpdated:"2025-10-15",openWeights:!1,cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},limit:{context:2e5,output:64e3}},{id:"anthropic/claude-opus-4",ownedBy:"anthropic",label:"Claude Opus 4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"anthropic/claude-opus-4.1",ownedBy:"anthropic",label:"Claude Opus 4.1",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3}},{id:"anthropic/claude-opus-4.5",ownedBy:"anthropic",label:"Claude Opus 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-05-30",releaseDate:"2025-11-24",lastUpdated:"2025-11-24",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:2e5,output:32e3}},{id:"anthropic/claude-opus-4.6",ownedBy:"anthropic",label:"Claude Opus 4.6",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-05-31",releaseDate:"2026-02-05",lastUpdated:"2026-02-05",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:1e6,output:128e3}},{id:"anthropic/claude-opus-4.7",ownedBy:"anthropic",label:"Claude Opus 4.7",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2026-01-31",releaseDate:"2026-04-16",lastUpdated:"2026-04-16",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:1e6,output:128e3}},{id:"anthropic/claude-sonnet-4",ownedBy:"anthropic",label:"Claude Sonnet 4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:2e5,output:64e3}},{id:"anthropic/claude-sonnet-4.5",ownedBy:"anthropic",label:"Claude Sonnet 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",releaseDate:"2025-09-29",lastUpdated:"2025-09-29",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:64e3}},{id:"anthropic/claude-sonnet-4.6",ownedBy:"anthropic",label:"Claude Sonnet 4.6",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-02-17",lastUpdated:"2026-02-17",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:128e3}},{id:"arcee-ai/trinity-large-preview:free",label:"Trinity Large Preview",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-01-28",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"arcee-ai/trinity-large-thinking",label:"Trinity Large Thinking",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-04-01",lastUpdated:"2026-04-03",openWeights:!0,cost:{input:.22,output:.85},limit:{context:262144,output:8e4}},{id:"black-forest-labs/flux.2-flex",label:"FLUX.2 Flex",modalities:{input:["image","text"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-11-25",lastUpdated:"2026-01-31",openWeights:!1,cost:{input:0,output:0},limit:{context:67344,output:67344}},{id:"black-forest-labs/flux.2-klein-4b",label:"FLUX.2 Klein 4B",modalities:{input:["image","text"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-01-14",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:40960,output:40960}},{id:"black-forest-labs/flux.2-max",label:"FLUX.2 Max",modalities:{input:["image","text"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-12-16",lastUpdated:"2026-01-31",openWeights:!1,cost:{input:0,output:0},limit:{context:46864,output:46864}},{id:"black-forest-labs/flux.2-pro",label:"FLUX.2 Pro",modalities:{input:["image","text"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-11-25",lastUpdated:"2026-01-31",openWeights:!1,cost:{input:0,output:0},limit:{context:46864,output:46864}},{id:"bytedance-seed/seedream-4.5",label:"Seedream 4.5",modalities:{input:["image","text"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-12-23",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:4096,output:4096}},{id:"cognitivecomputations/dolphin-mistral-24b-venice-edition:free",label:"Uncensored (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-07-09",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:32768}},{id:"deepseek/deepseek-chat-v3-0324",label:"DeepSeek V3 0324",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-24",lastUpdated:"2025-03-24",openWeights:!0,cost:{input:0,output:0},limit:{context:16384,output:8192}},{id:"deepseek/deepseek-chat-v3.1",label:"DeepSeek-V3.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-07",releaseDate:"2025-08-21",lastUpdated:"2025-08-21",openWeights:!0,cost:{input:.2,output:.8},limit:{context:163840,output:163840}},{id:"deepseek/deepseek-r1",label:"DeepSeek: R1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-07",releaseDate:"2025-01-20",lastUpdated:"2025-01-20",openWeights:!0,cost:{input:.7,output:2.5},limit:{context:64e3,output:16e3}},{id:"deepseek/deepseek-r1-distill-llama-70b",label:"DeepSeek R1 Distill Llama 70B",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-01-23",lastUpdated:"2025-01-23",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:8192}},{id:"deepseek/deepseek-v3.1-terminus",label:"DeepSeek V3.1 Terminus",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-07",releaseDate:"2025-09-22",lastUpdated:"2025-09-22",openWeights:!0,cost:{input:.27,output:1},limit:{context:131072,output:65536}},{id:"deepseek/deepseek-v3.1-terminus:exacto",label:"DeepSeek V3.1 Terminus (exacto)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-07",releaseDate:"2025-09-22",lastUpdated:"2025-09-22",openWeights:!0,cost:{input:.27,output:1},limit:{context:131072,output:65536}},{id:"deepseek/deepseek-v3.2",label:"DeepSeek V3.2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-07",releaseDate:"2025-12-01",lastUpdated:"2025-12-01",openWeights:!0,cost:{input:.28,output:.4},limit:{context:163840,output:65536}},{id:"deepseek/deepseek-v3.2-speciale",label:"DeepSeek V3.2 Speciale",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-07",releaseDate:"2025-12-01",lastUpdated:"2025-12-01",openWeights:!0,cost:{input:.27,output:.41},limit:{context:163840,output:65536}},{id:"deepseek/deepseek-v4-flash",label:"DeepSeek V4 Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2026-04-24",lastUpdated:"2026-04-24",openWeights:!0,cost:{input:.14,output:.28,cacheRead:.028},limit:{context:1048576,output:393216}},{id:"deepseek/deepseek-v4-pro",label:"DeepSeek V4 Pro",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2026-04-24",lastUpdated:"2026-04-24",openWeights:!0,cost:{input:1.74,output:3.48,cacheRead:.145},limit:{context:1048576,output:393216}},{id:"google/gemini-2.0-flash-001",ownedBy:"google",label:"Gemini 2.0 Flash",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2024-12-11",lastUpdated:"2024-12-11",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:8192}},{id:"google/gemini-2.5-flash",ownedBy:"google",label:"Gemini 2.5 Flash",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-07-17",lastUpdated:"2025-07-17",openWeights:!1,cost:{input:.3,output:2.5,cacheRead:.0375},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-flash-lite",ownedBy:"google",label:"Gemini 2.5 Flash Lite",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-06-17",lastUpdated:"2025-06-17",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-flash-lite-preview-09-2025",ownedBy:"google",label:"Gemini 2.5 Flash Lite Preview 09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.1,output:.4,cacheRead:.025},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-flash-preview-09-2025",ownedBy:"google",label:"Gemini 2.5 Flash Preview 09-25",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-09-25",lastUpdated:"2025-09-25",openWeights:!1,cost:{input:.3,output:2.5,cacheRead:.031},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-pro",ownedBy:"google",label:"Gemini 2.5 Pro",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-03-20",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-pro-preview-05-06",ownedBy:"google",label:"Gemini 2.5 Pro Preview 05-06",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-05-06",lastUpdated:"2025-05-06",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.31},limit:{context:1048576,output:65536}},{id:"google/gemini-2.5-pro-preview-06-05",ownedBy:"google",label:"Gemini 2.5 Pro Preview 06-05",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-06-05",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.31},limit:{context:1048576,output:65536}},{id:"google/gemini-3-flash-preview",ownedBy:"google",label:"Gemini 3 Flash Preview",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-17",lastUpdated:"2025-12-17",openWeights:!1,cost:{input:.5,output:3,cacheRead:.05},limit:{context:1048576,output:65536}},{id:"google/gemini-3-pro-preview",ownedBy:"google",label:"Gemini 3 Pro Preview",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-11-18",lastUpdated:"2025-11",openWeights:!1,cost:{input:2,output:12},limit:{context:105e4,output:66e3}},{id:"google/gemini-3.1-flash-lite-preview",ownedBy:"google",label:"Gemini 3.1 Flash Lite Preview",modalities:{input:["text","image","video","pdf","audio"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-03-03",lastUpdated:"2026-03-03",openWeights:!1,cost:{input:.25,output:1.5,cacheRead:.025,cacheWrite:.083},limit:{context:1048576,output:65536}},{id:"google/gemini-3.1-pro-preview",ownedBy:"google",label:"Gemini 3.1 Pro Preview",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:2,output:12},limit:{context:1048576,output:65536}},{id:"google/gemini-3.1-pro-preview-customtools",ownedBy:"google",label:"Gemini 3.1 Pro Preview Custom Tools",modalities:{input:["text","image","audio","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:2,output:12},limit:{context:1048576,output:65536}},{id:"google/gemma-2-9b-it",ownedBy:"google",label:"Gemma 2 9B",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-06",releaseDate:"2024-06-28",lastUpdated:"2024-06-28",openWeights:!0,cost:{input:.03,output:.09},limit:{context:8192,output:8192}},{id:"google/gemma-3-12b-it",ownedBy:"google",label:"Gemma 3 12B",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-13",lastUpdated:"2025-03-13",openWeights:!0,cost:{input:.03,output:.1},limit:{context:131072,output:131072}},{id:"google/gemma-3-12b-it:free",ownedBy:"google",label:"Gemma 3 12B (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-13",lastUpdated:"2025-03-13",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"google/gemma-3-27b-it",ownedBy:"google",label:"Gemma 3 27B",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-12",lastUpdated:"2025-03-12",openWeights:!0,cost:{input:.04,output:.15},limit:{context:96e3,output:96e3}},{id:"google/gemma-3-27b-it:free",ownedBy:"google",label:"Gemma 3 27B (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-12",lastUpdated:"2025-03-12",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:8192}},{id:"google/gemma-3-4b-it",ownedBy:"google",label:"Gemma 3 4B",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-13",lastUpdated:"2025-03-13",openWeights:!0,cost:{input:.01703,output:.06815},limit:{context:96e3,output:96e3}},{id:"google/gemma-3-4b-it:free",ownedBy:"google",label:"Gemma 3 4B (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-13",lastUpdated:"2025-03-13",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"google/gemma-3n-e2b-it:free",ownedBy:"google",label:"Gemma 3n 2B (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2025-07-09",lastUpdated:"2025-07-09",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:2e3}},{id:"google/gemma-3n-e4b-it",ownedBy:"google",label:"Gemma 3n 4B",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2025-05-20",lastUpdated:"2025-05-20",openWeights:!0,cost:{input:.02,output:.04},limit:{context:32768,output:32768}},{id:"google/gemma-3n-e4b-it:free",ownedBy:"google",label:"Gemma 3n 4B (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2025-05-20",lastUpdated:"2025-05-20",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:2e3}},{id:"google/gemma-4-26b-a4b-it",ownedBy:"google",label:"Gemma 4 26B A4B",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-04-03",lastUpdated:"2026-04-03",openWeights:!0,cost:{input:.13,output:.4},limit:{context:262144,output:262144}},{id:"google/gemma-4-26b-a4b-it:free",ownedBy:"google",label:"Gemma 4 26B A4B (free)",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-04-03",lastUpdated:"2026-04-03",openWeights:!0,cost:{input:0,output:0},limit:{context:262144,output:32768}},{id:"google/gemma-4-31b-it",ownedBy:"google",label:"Gemma 4 31B",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-04-02",lastUpdated:"2026-04-02",openWeights:!0,cost:{input:.14,output:.4},limit:{context:262144,output:262144}},{id:"google/gemma-4-31b-it:free",ownedBy:"google",label:"Gemma 4 31B (free)",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-04-02",lastUpdated:"2026-04-02",openWeights:!0,cost:{input:0,output:0},limit:{context:262144,output:32768}},{id:"inception/mercury-2",label:"Mercury 2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-04",lastUpdated:"2026-03-04",openWeights:!1,cost:{input:.25,output:.75,cacheRead:.025},limit:{context:128e3,output:5e4}},{id:"inception/mercury-edit-2",label:"Mercury Edit 2",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-30",lastUpdated:"2026-03-30",openWeights:!1,cost:{input:.25,output:.75,cacheRead:.025},limit:{context:128e3,output:8192}},{id:"liquid/lfm-2.5-1.2b-instruct:free",label:"LFM2.5-1.2B-Instruct (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-01-20",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:32768}},{id:"liquid/lfm-2.5-1.2b-thinking:free",label:"LFM2.5-1.2B-Thinking (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-01-20",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:32768}},{id:"meta-llama/llama-3.2-11b-vision-instruct",label:"Llama 3.2 11B Vision Instruct",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-12",releaseDate:"2024-09-25",lastUpdated:"2024-09-25",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:8192}},{id:"meta-llama/llama-3.2-3b-instruct:free",label:"Llama 3.2 3B Instruct (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-12",releaseDate:"2024-09-25",lastUpdated:"2024-09-25",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"meta-llama/llama-3.3-70b-instruct:free",label:"Llama 3.3 70B Instruct (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-12",releaseDate:"2024-12-06",lastUpdated:"2024-12-06",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"minimax/minimax-01",ownedBy:"minimax",label:"MiniMax-01",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2025-01-15",lastUpdated:"2025-01-15",openWeights:!0,cost:{input:.2,output:1.1},limit:{context:1e6,output:1e6}},{id:"minimax/minimax-m1",ownedBy:"minimax",label:"MiniMax M1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-06-17",lastUpdated:"2025-06-17",openWeights:!0,cost:{input:.4,output:2.2},limit:{context:1e6,output:4e4}},{id:"minimax/minimax-m2",ownedBy:"minimax",label:"MiniMax M2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-10-23",lastUpdated:"2025-10-23",openWeights:!0,cost:{input:.28,output:1.15,cacheRead:.28,cacheWrite:1.15},limit:{context:196600,output:118e3}},{id:"minimax/minimax-m2.1",ownedBy:"minimax",label:"MiniMax M2.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-12-23",lastUpdated:"2025-12-23",openWeights:!0,cost:{input:.3,output:1.2},limit:{context:204800,output:131072}},{id:"minimax/minimax-m2.5",ownedBy:"minimax",label:"MiniMax M2.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.03},limit:{context:204800,output:131072}},{id:"minimax/minimax-m2.5:free",ownedBy:"minimax",label:"MiniMax M2.5 (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,cost:{input:0,output:0},limit:{context:204800,output:131072}},{id:"minimax/minimax-m2.7",ownedBy:"minimax",label:"MiniMax M2.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.375},limit:{context:204800,output:131072}},{id:"mistralai/codestral-2508",label:"Codestral 2508",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2025-08-01",lastUpdated:"2025-08-01",openWeights:!0,cost:{input:.3,output:.9},limit:{context:256e3,output:256e3}},{id:"mistralai/devstral-2512",label:"Devstral 2 2512",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-12",releaseDate:"2025-09-12",lastUpdated:"2025-09-12",openWeights:!0,cost:{input:.15,output:.6},limit:{context:262144,output:262144}},{id:"mistralai/devstral-medium-2507",label:"Devstral Medium",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2025-07-10",lastUpdated:"2025-07-10",openWeights:!0,cost:{input:.4,output:2},limit:{context:131072,output:131072}},{id:"mistralai/devstral-small-2505",label:"Devstral Small",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2025-05-07",lastUpdated:"2025-05-07",openWeights:!0,cost:{input:.06,output:.12},limit:{context:128e3,output:128e3}},{id:"mistralai/devstral-small-2507",label:"Devstral Small 1.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-05",releaseDate:"2025-07-10",lastUpdated:"2025-07-10",openWeights:!0,cost:{input:.1,output:.3},limit:{context:131072,output:131072}},{id:"mistralai/mistral-medium-3",label:"Mistral Medium 3",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-05",releaseDate:"2025-05-07",lastUpdated:"2025-05-07",openWeights:!1,cost:{input:.4,output:2},limit:{context:131072,output:131072}},{id:"mistralai/mistral-medium-3.1",label:"Mistral Medium 3.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-05",releaseDate:"2025-08-12",lastUpdated:"2025-08-12",openWeights:!1,cost:{input:.4,output:2},limit:{context:262144,output:262144}},{id:"mistralai/mistral-small-2603",label:"Mistral Small 4",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-06",releaseDate:"2026-03-16",lastUpdated:"2026-03-16",openWeights:!0,cost:{input:.15,output:.6},limit:{context:262144,output:262144}},{id:"mistralai/mistral-small-3.1-24b-instruct",label:"Mistral Small 3.1 24B Instruct",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-03-17",lastUpdated:"2025-03-17",openWeights:!0,cost:{input:0,output:0},limit:{context:128e3,output:8192}},{id:"mistralai/mistral-small-3.2-24b-instruct",label:"Mistral Small 3.2 24B Instruct",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-06-20",lastUpdated:"2025-06-20",openWeights:!0,cost:{input:0,output:0},limit:{context:96e3,output:8192}},{id:"moonshotai/kimi-k2",ownedBy:"moonshot",label:"Kimi K2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-07-11",lastUpdated:"2025-07-11",openWeights:!0,cost:{input:.55,output:2.2},limit:{context:131072,output:32768}},{id:"moonshotai/kimi-k2-0905",ownedBy:"moonshot",label:"Kimi K2 Instruct 0905",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:.6,output:2.5},limit:{context:262144,output:16384}},{id:"moonshotai/kimi-k2-0905:exacto",ownedBy:"moonshot",label:"Kimi K2 Instruct 0905 (exacto)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:.6,output:2.5},limit:{context:262144,output:16384}},{id:"moonshotai/kimi-k2-thinking",ownedBy:"moonshot",label:"Kimi K2 Thinking",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-08",releaseDate:"2025-11-06",lastUpdated:"2025-11-06",openWeights:!0,cost:{input:.6,output:2.5,cacheRead:.15},limit:{context:262144,output:262144}},{id:"moonshotai/kimi-k2.5",ownedBy:"moonshot",label:"Kimi K2.5",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-01-27",lastUpdated:"2026-01-27",openWeights:!0,cost:{input:.6,output:3,cacheRead:.1},limit:{context:262144,output:262144}},{id:"moonshotai/kimi-k2.6",ownedBy:"moonshot",label:"Kimi K2.6",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-04-20",lastUpdated:"2026-04-20",openWeights:!0,cost:{input:.95,output:4,cacheRead:.16},limit:{context:262144,output:262144}},{id:"nousresearch/hermes-3-llama-3.1-405b:free",label:"Hermes 3 405B Instruct (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2023-12",releaseDate:"2024-08-16",lastUpdated:"2024-08-16",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}},{id:"nousresearch/hermes-4-405b",label:"Hermes 4 405B",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2023-12",releaseDate:"2025-08-25",lastUpdated:"2025-08-25",openWeights:!0,cost:{input:1,output:3},limit:{context:131072,output:131072}},{id:"nousresearch/hermes-4-70b",label:"Hermes 4 70B",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2023-12",releaseDate:"2025-08-25",lastUpdated:"2025-08-25",openWeights:!0,cost:{input:.13,output:.4},limit:{context:131072,output:131072}},{id:"nvidia/nemotron-3-nano-30b-a3b:free",label:"Nemotron 3 Nano 30B A3B (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-11",releaseDate:"2025-12-14",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:256e3,output:256e3}},{id:"nvidia/nemotron-3-super-120b-a12b",label:"Nemotron 3 Super",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-04",releaseDate:"2026-03-11",lastUpdated:"2026-03-11",openWeights:!0,cost:{input:.1,output:.5},limit:{context:262144,output:262144}},{id:"nvidia/nemotron-3-super-120b-a12b:free",label:"Nemotron 3 Super (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-04",releaseDate:"2026-03-11",lastUpdated:"2026-03-11",openWeights:!0,cost:{input:0,output:0},limit:{context:262144,output:262144}},{id:"nvidia/nemotron-nano-12b-v2-vl:free",label:"Nemotron Nano 12B 2 VL (free)",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-11",releaseDate:"2025-10-28",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},{id:"nvidia/nemotron-nano-9b-v2",label:"nvidia-nemotron-nano-9b-v2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-09",releaseDate:"2025-08-18",lastUpdated:"2025-08-18",openWeights:!0,cost:{input:.04,output:.16},limit:{context:131072,output:131072}},{id:"nvidia/nemotron-nano-9b-v2:free",label:"Nemotron Nano 9B V2 (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-09",releaseDate:"2025-09-05",lastUpdated:"2025-08-18",openWeights:!0,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},{id:"openai/gpt-4.1",ownedBy:"openai",label:"GPT-4.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:2,output:8,cacheRead:.5},limit:{context:1047576,output:32768}},{id:"openai/gpt-4.1-mini",ownedBy:"openai",label:"GPT-4.1 Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:.4,output:1.6,cacheRead:.1},limit:{context:1047576,output:32768}},{id:"openai/gpt-4o-mini",ownedBy:"openai",label:"GPT-4o-mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2024-07-18",lastUpdated:"2024-07-18",openWeights:!1,cost:{input:.15,output:.6,cacheRead:.08},limit:{context:128e3,output:16384}},{id:"openai/gpt-5",ownedBy:"openai",label:"GPT-5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-01",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:1.25,output:10},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-chat",ownedBy:"openai",label:"GPT-5 Chat (latest)",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:1.25,output:10},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-codex",ownedBy:"openai",label:"GPT-5 Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-01",releaseDate:"2025-09-15",lastUpdated:"2025-09-15",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-image",ownedBy:"openai",label:"GPT-5 Image",modalities:{input:["text","image","pdf"],output:["text","image"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-01",releaseDate:"2025-10-14",lastUpdated:"2025-10-14",openWeights:!1,cost:{input:5,output:10,cacheRead:1.25},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-mini",ownedBy:"openai",label:"GPT-5 Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-01",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:.25,output:2},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-nano",ownedBy:"openai",label:"GPT-5 Nano",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10-01",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:.05,output:.4},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5-pro",ownedBy:"openai",label:"GPT-5 Pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-10-06",lastUpdated:"2025-10-06",openWeights:!1,cost:{input:15,output:120},limit:{context:4e5,output:272e3}},{id:"openai/gpt-5.1",ownedBy:"openai",label:"GPT-5.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.1-chat",ownedBy:"openai",label:"GPT-5.1 Chat",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:128e3,output:16384}},{id:"openai/gpt-5.1-codex",ownedBy:"openai",label:"GPT-5.1-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.1-codex-max",ownedBy:"openai",label:"GPT-5.1-Codex-Max",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.1,output:9,cacheRead:.11},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.1-codex-mini",ownedBy:"openai",label:"GPT-5.1-Codex-Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:.25,output:2,cacheRead:.025},limit:{context:4e5,output:1e5}},{id:"openai/gpt-5.2",ownedBy:"openai",label:"GPT-5.2",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.2-chat",ownedBy:"openai",label:"GPT-5.2 Chat",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:128e3,output:16384}},{id:"openai/gpt-5.2-codex",ownedBy:"openai",label:"GPT-5.2-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-01-14",lastUpdated:"2026-01-14",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.2-pro",ownedBy:"openai",label:"GPT-5.2 Pro",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:21,output:168},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.3-codex",ownedBy:"openai",label:"GPT-5.3-Codex",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-24",lastUpdated:"2026-02-24",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.4",ownedBy:"openai",label:"GPT-5.4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:2.5,output:15,cacheRead:.25},limit:{context:105e4,output:128e3}},{id:"openai/gpt-5.4-mini",ownedBy:"openai",label:"GPT-5.4 Mini",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:.75,output:4.5,cacheRead:.075},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.4-nano",ownedBy:"openai",label:"GPT-5.4 Nano",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:.2,output:1.25,cacheRead:.02},limit:{context:4e5,output:128e3}},{id:"openai/gpt-5.4-pro",ownedBy:"openai",label:"GPT-5.4 Pro",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:30,output:180,cacheRead:30},limit:{context:105e4,output:128e3}},{id:"openai/gpt-oss-120b",ownedBy:"openai",label:"GPT OSS 120B",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!0,cost:{input:.072,output:.28},limit:{context:131072,output:32768}},{id:"openai/gpt-oss-120b:exacto",ownedBy:"openai",label:"GPT OSS 120B (exacto)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!0,cost:{input:.05,output:.24},limit:{context:131072,output:32768}},{id:"openai/gpt-oss-120b:free",ownedBy:"openai",label:"gpt-oss-120b (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:32768}},{id:"openai/gpt-oss-20b",ownedBy:"openai",label:"GPT OSS 20B",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!0,cost:{input:.05,output:.2},limit:{context:131072,output:32768}},{id:"openai/gpt-oss-20b:free",ownedBy:"openai",label:"gpt-oss-20b (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-08-05",lastUpdated:"2026-01-31",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:32768}},{id:"openai/gpt-oss-safeguard-20b",ownedBy:"openai",label:"GPT OSS Safeguard 20B",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-10-29",lastUpdated:"2025-10-29",openWeights:!1,cost:{input:.075,output:.3},limit:{context:131072,output:65536}},{id:"openai/o4-mini",ownedBy:"openai",label:"o4 Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2025-04-16",lastUpdated:"2025-04-16",openWeights:!1,cost:{input:1.1,output:4.4,cacheRead:.28},limit:{context:2e5,output:1e5}},{id:"openrouter/elephant-alpha",label:"Elephant (free)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-04-13",lastUpdated:"2026-04-13",openWeights:!1,cost:{input:0,output:0},limit:{context:262144,output:32768}},{id:"openrouter/free",label:"Free Models Router",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-02-01",lastUpdated:"2026-02-01",openWeights:!1,cost:{input:0,output:0},limit:{context:2e5,output:8e3}},{id:"prime-intellect/intellect-3",ownedBy:"zai",label:"Intellect 3",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-01-15",lastUpdated:"2025-01-15",openWeights:!0,cost:{input:.2,output:1.1},limit:{context:131072,output:8192}},{id:"qwen/qwen-2.5-coder-32b-instruct",label:"Qwen2.5 Coder 32B Instruct",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2024-11-11",lastUpdated:"2024-11-11",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"qwen/qwen2.5-vl-72b-instruct",label:"Qwen2.5 VL 72B Instruct",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-02-01",lastUpdated:"2025-02-01",openWeights:!0,cost:{input:0,output:0},limit:{context:32768,output:8192}},{id:"qwen/qwen3-235b-a22b-07-25",label:"Qwen3 235B A22B Instruct 2507",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-04-28",lastUpdated:"2025-07-21",openWeights:!0,cost:{input:.15,output:.85},limit:{context:262144,output:131072}},{id:"qwen/qwen3-235b-a22b-thinking-2507",label:"Qwen3 235B A22B Thinking 2507",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-25",lastUpdated:"2025-07-25",openWeights:!0,cost:{input:.078,output:.312},limit:{context:262144,output:81920}},{id:"qwen/qwen3-30b-a3b-instruct-2507",label:"Qwen3 30B A3B Instruct 2507",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-29",lastUpdated:"2025-07-29",openWeights:!0,cost:{input:.2,output:.8},limit:{context:262e3,output:262e3}},{id:"qwen/qwen3-30b-a3b-thinking-2507",label:"Qwen3 30B A3B Thinking 2507",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-29",lastUpdated:"2025-07-29",openWeights:!0,cost:{input:.2,output:.8},limit:{context:262e3,output:262e3}},{id:"qwen/qwen3-coder",label:"Qwen3 Coder",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-23",lastUpdated:"2025-07-23",openWeights:!0,cost:{input:.3,output:1.2},limit:{context:262144,output:66536}},{id:"qwen/qwen3-coder-30b-a3b-instruct",label:"Qwen3 Coder 30B A3B Instruct",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-31",lastUpdated:"2025-07-31",openWeights:!0,cost:{input:.07,output:.27},limit:{context:16e4,output:65536}},{id:"qwen/qwen3-coder-flash",label:"Qwen3 Coder Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-23",lastUpdated:"2025-07-23",openWeights:!1,cost:{input:.3,output:1.5},limit:{context:128e3,output:66536}},{id:"qwen/qwen3-coder:exacto",label:"Qwen3 Coder (exacto)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-23",lastUpdated:"2025-07-23",openWeights:!0,cost:{input:.38,output:1.53},limit:{context:131072,output:32768}},{id:"qwen/qwen3-max",label:"Qwen3 Max",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!1,cost:{input:1.2,output:6},limit:{context:262144,output:32768}},{id:"qwen/qwen3-next-80b-a3b-instruct",label:"Qwen3 Next 80B A3B Instruct",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-09-11",lastUpdated:"2025-09-11",openWeights:!0,cost:{input:.14,output:1.4},limit:{context:262144,output:262144}},{id:"qwen/qwen3-next-80b-a3b-thinking",label:"Qwen3 Next 80B A3B Thinking",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-09-11",lastUpdated:"2025-09-11",openWeights:!0,cost:{input:.14,output:1.4},limit:{context:262144,output:262144}},{id:"qwen/qwen3.5-397b-a17b",label:"Qwen3.5 397B A17B",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2026-02-16",lastUpdated:"2026-02-16",openWeights:!0,cost:{input:.6,output:3.6},limit:{context:262144,output:65536}},{id:"qwen/qwen3.5-flash-02-23",label:"Qwen: Qwen3.5-Flash",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-02-25",lastUpdated:"2026-02-25",openWeights:!1,cost:{input:.065,output:.26},limit:{context:1e6,output:65536}},{id:"qwen/qwen3.5-plus-02-15",label:"Qwen3.5 Plus 2026-02-15",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2026-02-16",lastUpdated:"2026-02-16",openWeights:!1,cost:{input:.4,output:2.4},limit:{context:1e6,output:65536}},{id:"qwen/qwen3.6-plus",label:"Qwen3.6 Plus",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2026-04-02",lastUpdated:"2026-04-02",openWeights:!1,cost:{input:.325,output:1.95},limit:{context:1e6,output:65536}},{id:"sourceful/riverflow-v2-fast-preview",label:"Riverflow V2 Fast Preview",modalities:{input:["text","image"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-12-08",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:8192}},{id:"sourceful/riverflow-v2-max-preview",label:"Riverflow V2 Max Preview",modalities:{input:["text","image"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-12-08",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:8192}},{id:"sourceful/riverflow-v2-standard-preview",label:"Riverflow V2 Standard Preview",modalities:{input:["text","image"],output:["image"]},toolCall:!1,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2025-12-08",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:8192,output:8192}},{id:"stepfun/step-3.5-flash",label:"Step 3.5 Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2026-01-29",lastUpdated:"2026-01-29",openWeights:!0,cost:{input:.1,output:.3,cacheRead:.02},limit:{context:256e3,output:256e3}},{id:"x-ai/grok-3",ownedBy:"xai",label:"Grok 3",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-02-17",lastUpdated:"2025-02-17",openWeights:!1,cost:{input:3,output:15,cacheRead:.75,cacheWrite:15},limit:{context:131072,output:8192}},{id:"x-ai/grok-3-beta",ownedBy:"xai",label:"Grok 3 Beta",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-02-17",lastUpdated:"2025-02-17",openWeights:!1,cost:{input:3,output:15,cacheRead:.75,cacheWrite:15},limit:{context:131072,output:8192}},{id:"x-ai/grok-3-mini",ownedBy:"xai",label:"Grok 3 Mini",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-02-17",lastUpdated:"2025-02-17",openWeights:!1,cost:{input:.3,output:.5,cacheRead:.075,cacheWrite:.5},limit:{context:131072,output:8192}},{id:"x-ai/grok-3-mini-beta",ownedBy:"xai",label:"Grok 3 Mini Beta",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-02-17",lastUpdated:"2025-02-17",openWeights:!1,cost:{input:.3,output:.5,cacheRead:.075,cacheWrite:.5},limit:{context:131072,output:8192}},{id:"x-ai/grok-4",ownedBy:"xai",label:"Grok 4",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-07",releaseDate:"2025-07-09",lastUpdated:"2025-07-09",openWeights:!1,cost:{input:3,output:15,cacheRead:.75,cacheWrite:15},limit:{context:256e3,output:64e3}},{id:"x-ai/grok-4-fast",ownedBy:"xai",label:"Grok 4 Fast",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-08-19",lastUpdated:"2025-08-19",openWeights:!1,cost:{input:.2,output:.5,cacheRead:.05,cacheWrite:.05},limit:{context:2e6,output:3e4}},{id:"x-ai/grok-4.1-fast",ownedBy:"xai",label:"Grok 4.1 Fast",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-11",releaseDate:"2025-11-19",lastUpdated:"2025-11-19",openWeights:!1,cost:{input:.2,output:.5,cacheRead:.05,cacheWrite:.05},limit:{context:2e6,output:3e4}},{id:"x-ai/grok-4.20-beta",ownedBy:"xai",label:"Grok 4.20 Beta",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-03-12",lastUpdated:"2026-03-12",openWeights:!1,cost:{input:2,output:6,cacheRead:.2},limit:{context:2e6,output:3e4}},{id:"x-ai/grok-4.20-multi-agent-beta",ownedBy:"xai",label:"Grok 4.20 Multi - Agent Beta",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-03-12",lastUpdated:"2026-03-12",openWeights:!1,cost:{input:2,output:6,cacheRead:.2},limit:{context:2e6,output:3e4}},{id:"x-ai/grok-code-fast-1",ownedBy:"xai",label:"Grok Code Fast 1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-08",releaseDate:"2025-08-26",lastUpdated:"2025-08-26",openWeights:!1,cost:{input:.2,output:1.5,cacheRead:.02},limit:{context:256e3,output:1e4}},{id:"xiaomi/mimo-v2-flash",label:"MiMo-V2-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-12",releaseDate:"2025-12-14",lastUpdated:"2025-12-14",openWeights:!0,cost:{input:.1,output:.3,cacheRead:.01},limit:{context:262144,output:65536}},{id:"xiaomi/mimo-v2-omni",label:"MiMo-V2-Omni",modalities:{input:["text","image","video","audio"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:.4,output:2,cacheRead:.08},limit:{context:262144,output:65536}},{id:"xiaomi/mimo-v2-pro",label:"MiMo-V2-Pro",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:1,output:3,cacheRead:.2},limit:{context:1048576,output:65536}},{id:"z-ai/glm-4.5",ownedBy:"zai",label:"GLM 4.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:.6,output:2.2},limit:{context:128e3,output:96e3}},{id:"z-ai/glm-4.5-air",ownedBy:"zai",label:"GLM 4.5 Air",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:.2,output:1.1},limit:{context:128e3,output:96e3}},{id:"z-ai/glm-4.5-air:free",ownedBy:"zai",label:"GLM 4.5 Air (free)",modalities:{input:["text"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:0,output:0},limit:{context:128e3,output:96e3}},{id:"z-ai/glm-4.5v",ownedBy:"zai",label:"GLM 4.5V",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2025-08-11",lastUpdated:"2025-08-11",openWeights:!0,cost:{input:.6,output:1.8},limit:{context:64e3,output:16384}},{id:"z-ai/glm-4.6",ownedBy:"zai",label:"GLM 4.6",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-09",releaseDate:"2025-09-30",lastUpdated:"2025-09-30",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.11},limit:{context:2e5,output:128e3}},{id:"z-ai/glm-4.6:exacto",ownedBy:"zai",label:"GLM 4.6 (exacto)",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-09",releaseDate:"2025-09-30",lastUpdated:"2025-09-30",openWeights:!0,cost:{input:.6,output:1.9,cacheRead:.11},limit:{context:2e5,output:128e3}},{id:"z-ai/glm-4.7",ownedBy:"zai",label:"GLM-4.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-22",lastUpdated:"2025-12-22",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.11},limit:{context:204800,output:131072}},{id:"z-ai/glm-4.7-flash",ownedBy:"zai",label:"GLM-4.7-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-01-19",lastUpdated:"2026-01-19",openWeights:!0,cost:{input:.07,output:.4},limit:{context:2e5,output:65535}},{id:"z-ai/glm-5",ownedBy:"zai",label:"GLM-5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,cost:{input:1,output:3.2,cacheRead:.2},limit:{context:202752,output:131e3}},{id:"z-ai/glm-5-turbo",ownedBy:"zai",label:"GLM-5-Turbo",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-16",lastUpdated:"2026-03-16",openWeights:!1,cost:{input:.96,output:3.2,cacheRead:.192,cacheWrite:0},limit:{context:202752,output:131072}},{id:"z-ai/glm-5.1",ownedBy:"zai",label:"GLM-5.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-04-07",lastUpdated:"2026-04-07",openWeights:!0,cost:{input:1.4,output:4.4,cacheRead:.26},limit:{context:202752,output:131072}}],label:"OpenRouter",env:["OPENROUTER_API_KEY"],npm:"@openrouter/ai-sdk-provider",api:"https://openrouter.ai/api/v1",doc:"https://openrouter.ai/models"},opencode:{id:"opencode",models:[{id:"big-pickle",label:"Big Pickle",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2025-10-17",lastUpdated:"2025-10-17",openWeights:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:2e5,output:128e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-3-5-haiku",ownedBy:"anthropic",label:"Claude Haiku 3.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-07-31",releaseDate:"2024-10-22",lastUpdated:"2024-10-22",openWeights:!1,cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},limit:{context:2e5,output:8192},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-haiku-4-5",ownedBy:"anthropic",label:"Claude Haiku 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",releaseDate:"2025-10-15",lastUpdated:"2025-10-15",openWeights:!1,cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},limit:{context:2e5,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-opus-4-1",ownedBy:"anthropic",label:"Claude Opus 4.1",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!1,cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},limit:{context:2e5,output:32e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-opus-4-5",ownedBy:"anthropic",label:"Claude Opus 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-11-24",lastUpdated:"2025-11-24",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:2e5,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-opus-4-6",ownedBy:"anthropic",label:"Claude Opus 4.6",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-05-31",releaseDate:"2026-02-05",lastUpdated:"2026-03-13",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:1e6,output:128e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-opus-4-7",ownedBy:"anthropic",label:"Claude Opus 4.7",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2026-01-31",releaseDate:"2026-04-16",lastUpdated:"2026-04-16",openWeights:!1,cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},limit:{context:1e6,output:128e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-sonnet-4",ownedBy:"anthropic",label:"Claude Sonnet 4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-sonnet-4-5",ownedBy:"anthropic",label:"Claude Sonnet 4.5",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",releaseDate:"2025-09-29",lastUpdated:"2025-09-29",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"claude-sonnet-4-6",ownedBy:"anthropic",label:"Claude Sonnet 4.6",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-02-17",lastUpdated:"2026-02-17",openWeights:!1,cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},limit:{context:1e6,output:64e3},provider:{npm:"@ai-sdk/anthropic"}},{id:"gemini-3-flash",ownedBy:"google",label:"Gemini 3 Flash",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-17",lastUpdated:"2025-12-17",openWeights:!1,cost:{input:.5,output:3,cacheRead:.05},limit:{context:1048576,output:65536},provider:{npm:"@ai-sdk/google"}},{id:"gemini-3-pro",ownedBy:"google",label:"Gemini 3 Pro",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-11-18",lastUpdated:"2025-11-18",openWeights:!1,cost:{input:2,output:12,cacheRead:.2},limit:{context:1048576,output:65536},provider:{npm:"@ai-sdk/google"}},{id:"gemini-3.1-pro",ownedBy:"google",label:"Gemini 3.1 Pro Preview",modalities:{input:["text","image","video","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:2,output:12,cacheRead:.2},limit:{context:1048576,output:65536},provider:{npm:"@ai-sdk/google"}},{id:"glm-4.6",ownedBy:"zai",label:"GLM-4.6",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-09-30",lastUpdated:"2025-09-30",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.1},limit:{context:204800,output:131072}},{id:"glm-4.7",ownedBy:"zai",label:"GLM-4.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-22",lastUpdated:"2025-12-22",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.1},limit:{context:204800,output:131072}},{id:"glm-4.7-free",ownedBy:"zai",label:"GLM-4.7 Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-22",lastUpdated:"2025-12-22",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:204800,output:131072}},{id:"glm-5",ownedBy:"zai",label:"GLM-5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-02-11",lastUpdated:"2026-02-11",openWeights:!0,cost:{input:1,output:3.2,cacheRead:.2},limit:{context:204800,output:131072}},{id:"glm-5-free",ownedBy:"zai",label:"GLM-5 Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-02-11",lastUpdated:"2026-02-11",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:204800,output:131072}},{id:"glm-5.1",ownedBy:"zai",label:"GLM-5.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-04-07",lastUpdated:"2026-04-07",openWeights:!0,cost:{input:1.4,output:4.4,cacheRead:.26},limit:{context:204800,output:131072}},{id:"gpt-5",ownedBy:"openai",label:"GPT-5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:1.07,output:8.5,cacheRead:.107},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5-codex",ownedBy:"openai",label:"GPT-5 Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-09-15",lastUpdated:"2025-09-15",openWeights:!1,cost:{input:1.07,output:8.5,cacheRead:.107},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5-nano",ownedBy:"openai",label:"GPT-5 Nano",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-05-30",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:0,output:0,cacheRead:0},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.1",ownedBy:"openai",label:"GPT-5.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.07,output:8.5,cacheRead:.107},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.1-codex",ownedBy:"openai",label:"GPT-5.1 Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.07,output:8.5,cacheRead:.107},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.1-codex-max",ownedBy:"openai",label:"GPT-5.1 Codex Max",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:1.25,output:10,cacheRead:.125},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.1-codex-mini",ownedBy:"openai",label:"GPT-5.1 Codex Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:.25,output:2,cacheRead:.025},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.2",ownedBy:"openai",label:"GPT-5.2",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.2-codex",ownedBy:"openai",label:"GPT-5.2 Codex",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-01-14",lastUpdated:"2026-01-14",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.3-codex",ownedBy:"openai",label:"GPT-5.3 Codex",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-24",lastUpdated:"2026-02-24",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.3-codex-spark",ownedBy:"openai",label:"GPT-5.3 Codex Spark",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!1,cost:{input:1.75,output:14,cacheRead:.175},limit:{context:128e3,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.4",ownedBy:"openai",label:"GPT-5.4",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:2.5,output:15,cacheRead:.25},limit:{context:105e4,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.4-mini",ownedBy:"openai",label:"GPT-5.4 Mini",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:.75,output:4.5,cacheRead:.075},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.4-nano",ownedBy:"openai",label:"GPT-5.4 Nano",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:.2,output:1.25,cacheRead:.02},limit:{context:4e5,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"gpt-5.4-pro",ownedBy:"openai",label:"GPT-5.4 Pro",modalities:{input:["text","image","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:30,output:180,cacheRead:30},limit:{context:105e4,output:128e3},provider:{npm:"@ai-sdk/openai"}},{id:"grok-code",ownedBy:"xai",label:"Grok Code Fast 1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2025-08-20",lastUpdated:"2025-08-20",openWeights:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:256e3,output:256e3}},{id:"hy3-preview-free",label:"Hy3 preview Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-04-20",lastUpdated:"2026-04-20",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:256e3,output:64e3}},{id:"kimi-k2",ownedBy:"moonshot",label:"Kimi K2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:.4,output:2.5,cacheRead:.4},limit:{context:262144,output:262144}},{id:"kimi-k2-thinking",ownedBy:"moonshot",label:"Kimi K2 Thinking",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:.4,output:2.5,cacheRead:.4},limit:{context:262144,output:262144}},{id:"kimi-k2.5",ownedBy:"moonshot",label:"Kimi K2.5",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2026-01-27",lastUpdated:"2026-01-27",openWeights:!0,cost:{input:.6,output:3,cacheRead:.08},limit:{context:262144,output:65536}},{id:"kimi-k2.5-free",ownedBy:"moonshot",label:"Kimi K2.5 Free",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2026-01-27",lastUpdated:"2026-01-27",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:262144,output:262144}},{id:"kimi-k2.6",ownedBy:"moonshot",label:"Kimi K2.6",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2026-04-21",lastUpdated:"2026-04-21",openWeights:!0,cost:{input:.95,output:4,cacheRead:.16},limit:{context:262144,output:65536}},{id:"ling-2.6-flash-free",label:"Ling 2.6 Flash Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-04-21",lastUpdated:"2026-04-21",openWeights:!0,cost:{input:0,output:0},limit:{context:262100,output:32800}},{id:"mimo-v2-flash-free",label:"MiMo V2 Flash Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-12",releaseDate:"2025-12-16",lastUpdated:"2025-12-16",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:262144,output:65536}},{id:"mimo-v2-omni-free",label:"MiMo V2 Omni Free",modalities:{input:["text","image","audio","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-12",releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:262144,output:64e3}},{id:"mimo-v2-pro-free",label:"MiMo V2 Pro Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-12",releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:1048576,output:64e3}},{id:"minimax-m2.1",ownedBy:"minimax",label:"MiniMax M2.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-23",lastUpdated:"2025-12-23",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.1},limit:{context:204800,output:131072}},{id:"minimax-m2.1-free",ownedBy:"minimax",label:"MiniMax M2.1 Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-23",lastUpdated:"2025-12-23",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:204800,output:131072},provider:{npm:"@ai-sdk/anthropic"}},{id:"minimax-m2.5",ownedBy:"minimax",label:"MiniMax M2.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.06},limit:{context:204800,output:131072}},{id:"minimax-m2.5-free",ownedBy:"minimax",label:"MiniMax M2.5 Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:204800,output:131072},provider:{npm:"@ai-sdk/anthropic"}},{id:"minimax-m2.7",ownedBy:"minimax",label:"MiniMax M2.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-01",releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.06},limit:{context:204800,output:131072}},{id:"nemotron-3-super-free",label:"Nemotron 3 Super Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2026-02",releaseDate:"2026-03-11",lastUpdated:"2026-03-11",openWeights:!0,cost:{input:0,output:0,cacheRead:0},limit:{context:204800,output:128e3}},{id:"qwen3-coder",label:"Qwen3 Coder",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-23",lastUpdated:"2025-07-23",openWeights:!0,cost:{input:.45,output:1.8},limit:{context:262144,output:65536}},{id:"qwen3.5-plus",label:"Qwen3.5 Plus",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2026-02-16",lastUpdated:"2026-02-16",openWeights:!1,cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25},limit:{context:262144,output:65536},provider:{npm:"@ai-sdk/anthropic"}},{id:"qwen3.6-plus",label:"Qwen3.6 Plus",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2026-04-02",lastUpdated:"2026-04-02",openWeights:!1,cost:{input:.5,output:3,cacheRead:.05,cacheWrite:.625},limit:{context:262144,output:65536},provider:{npm:"@ai-sdk/anthropic"}},{id:"qwen3.6-plus-free",label:"Qwen3.6 Plus Free",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-12",releaseDate:"2026-03-30",lastUpdated:"2026-03-30",openWeights:!1,cost:{input:0,output:0,cacheRead:0},limit:{context:1048576,output:64e3}},{id:"trinity-large-preview-free",label:"Trinity Large Preview",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2025-06",releaseDate:"2026-01-28",lastUpdated:"2026-01-28",openWeights:!0,cost:{input:0,output:0},limit:{context:131072,output:131072}}],label:"OpenCode Zen",env:["OPENCODE_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://opencode.ai/zen/v1",doc:"https://opencode.ai/docs/zen"},zai:{id:"zai",models:[{id:"glm-4.5",ownedBy:"zai",label:"GLM-4.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5-air",ownedBy:"zai",label:"GLM-4.5-Air",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:.2,output:1.1,cacheRead:.03,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5-flash",ownedBy:"zai",label:"GLM-4.5-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5v",ownedBy:"zai",label:"GLM-4.5V",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2025-08-11",lastUpdated:"2025-08-11",openWeights:!0,cost:{input:.6,output:1.8},limit:{context:64e3,output:16384}},{id:"glm-4.6",ownedBy:"zai",label:"GLM-4.6",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-09-30",lastUpdated:"2025-09-30",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-4.6v",ownedBy:"zai",label:"GLM-4.6V",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-08",lastUpdated:"2025-12-08",openWeights:!0,cost:{input:.3,output:.9},limit:{context:128e3,output:32768}},{id:"glm-4.7",ownedBy:"zai",label:"GLM-4.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-22",lastUpdated:"2025-12-22",openWeights:!0,cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-4.7-flash",ownedBy:"zai",label:"GLM-4.7-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-01-19",lastUpdated:"2026-01-19",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-4.7-flashx",ownedBy:"zai",label:"GLM-4.7-FlashX",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-01-19",lastUpdated:"2026-01-19",openWeights:!0,cost:{input:.07,output:.4,cacheRead:.01,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-5",ownedBy:"zai",label:"GLM-5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-11",lastUpdated:"2026-02-11",openWeights:!0,cost:{input:1,output:3.2,cacheRead:.2,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-5-turbo",ownedBy:"zai",label:"GLM-5-Turbo",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-16",lastUpdated:"2026-03-16",openWeights:!1,cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-5.1",ownedBy:"zai",label:"GLM-5.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-27",lastUpdated:"2026-03-27",openWeights:!1,cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-5v-turbo",ownedBy:"zai",label:"glm-5v-turbo",modalities:{input:["text","image","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-04-01",lastUpdated:"2026-04-01",openWeights:!1,cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},limit:{context:2e5,output:131072}}],label:"Z.AI",env:["ZHIPU_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.z.ai/api/paas/v4",doc:"https://docs.z.ai/guides/overview/pricing"},"zai-coding":{id:"zai-coding",models:[{id:"glm-4.5",ownedBy:"zai",label:"GLM-4.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5-air",ownedBy:"zai",label:"GLM-4.5-Air",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5-flash",ownedBy:"zai",label:"GLM-4.5-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-07-28",lastUpdated:"2025-07-28",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:131072,output:98304}},{id:"glm-4.5v",ownedBy:"zai",label:"GLM-4.5V",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2025-08-11",lastUpdated:"2025-08-11",openWeights:!0,cost:{input:0,output:0},limit:{context:64e3,output:16384}},{id:"glm-4.6",ownedBy:"zai",label:"GLM-4.6",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-09-30",lastUpdated:"2025-09-30",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-4.6v",ownedBy:"zai",label:"GLM-4.6V",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-08",lastUpdated:"2025-12-08",openWeights:!0,cost:{input:0,output:0},limit:{context:128e3,output:32768}},{id:"glm-4.7",ownedBy:"zai",label:"GLM-4.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2025-12-22",lastUpdated:"2025-12-22",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-4.7-flash",ownedBy:"zai",label:"GLM-4.7-Flash",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-01-19",lastUpdated:"2026-01-19",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-4.7-flashx",ownedBy:"zai",label:"GLM-4.7-FlashX",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-04",releaseDate:"2026-01-19",lastUpdated:"2026-01-19",openWeights:!0,cost:{input:.07,output:.4,cacheRead:.01,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-5",ownedBy:"zai",label:"GLM-5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-11",lastUpdated:"2026-02-11",openWeights:!0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:204800,output:131072}},{id:"glm-5-turbo",ownedBy:"zai",label:"GLM-5-Turbo",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-16",lastUpdated:"2026-03-16",openWeights:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-5.1",ownedBy:"zai",label:"GLM-5.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-27",lastUpdated:"2026-03-27",openWeights:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:2e5,output:131072}},{id:"glm-5v-turbo",ownedBy:"zai",label:"glm-5v-turbo",modalities:{input:["text","image","video","pdf"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,releaseDate:"2026-04-01",lastUpdated:"2026-04-01",openWeights:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},limit:{context:2e5,output:131072}}],label:"Z.AI Coding Plan",env:["ZHIPU_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.z.ai/api/coding/paas/v4",doc:"https://docs.z.ai/devpack/overview"},moonshot:{id:"moonshot",models:[{id:"kimi-k2-0711-preview",ownedBy:"moonshot",label:"Kimi K2 0711",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-07-14",lastUpdated:"2025-07-14",openWeights:!0,cost:{input:.6,output:2.5,cacheRead:.15},limit:{context:131072,output:16384}},{id:"kimi-k2-0905-preview",ownedBy:"moonshot",label:"Kimi K2 0905",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:.6,output:2.5,cacheRead:.15},limit:{context:262144,output:262144}},{id:"kimi-k2-thinking",ownedBy:"moonshot",label:"Kimi K2 Thinking",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-08",releaseDate:"2025-11-06",lastUpdated:"2025-11-06",openWeights:!0,cost:{input:.6,output:2.5,cacheRead:.15},limit:{context:262144,output:262144}},{id:"kimi-k2-thinking-turbo",ownedBy:"moonshot",label:"Kimi K2 Thinking Turbo",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2024-08",releaseDate:"2025-11-06",lastUpdated:"2025-11-06",openWeights:!0,cost:{input:1.15,output:8,cacheRead:.15},limit:{context:262144,output:262144}},{id:"kimi-k2-turbo-preview",ownedBy:"moonshot",label:"Kimi K2 Turbo",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,temperature:!0,knowledge:"2024-10",releaseDate:"2025-09-05",lastUpdated:"2025-09-05",openWeights:!0,cost:{input:2.4,output:10,cacheRead:.6},limit:{context:262144,output:262144}},{id:"kimi-k2.5",ownedBy:"moonshot",label:"Kimi K2.5",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-01",releaseDate:"2026-01",lastUpdated:"2026-01",openWeights:!0,cost:{input:.6,output:3,cacheRead:.1},limit:{context:262144,output:262144}},{id:"kimi-k2.6",ownedBy:"moonshot",label:"Kimi K2.6",modalities:{input:["text","image","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-04-21",lastUpdated:"2026-04-21",openWeights:!0,cost:{input:.95,output:4,cacheRead:.16},limit:{context:262144,output:262144}}],label:"Moonshot AI",env:["MOONSHOT_API_KEY"],npm:"@ai-sdk/openai-compatible",api:"https://api.moonshot.ai/v1",doc:"https://platform.moonshot.ai/docs/api/chat"},minimax:{id:"minimax",models:[{id:"MiniMax-M2",ownedBy:"minimax",label:"MiniMax-M2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-10-27",lastUpdated:"2025-10-27",openWeights:!0,cost:{input:.3,output:1.2},limit:{context:196608,output:128e3}},{id:"MiniMax-M2.1",ownedBy:"minimax",label:"MiniMax-M2.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2025-12-23",lastUpdated:"2025-12-23",openWeights:!0,cost:{input:.3,output:1.2},limit:{context:204800,output:131072}},{id:"MiniMax-M2.5",ownedBy:"minimax",label:"MiniMax-M2.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:.375},limit:{context:204800,output:131072}},{id:"MiniMax-M2.5-highspeed",ownedBy:"minimax",label:"MiniMax-M2.5-highspeed",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-02-13",lastUpdated:"2026-02-13",openWeights:!0,cost:{input:.6,output:2.4,cacheRead:.06,cacheWrite:.375},limit:{context:204800,output:131072}},{id:"MiniMax-M2.7",ownedBy:"minimax",label:"MiniMax-M2.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.375},limit:{context:204800,output:131072}},{id:"MiniMax-M2.7-highspeed",ownedBy:"minimax",label:"MiniMax-M2.7-highspeed",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,cost:{input:.6,output:2.4,cacheRead:.06,cacheWrite:.375},limit:{context:204800,output:131072}}],label:"MiniMax (minimax.io)",env:["MINIMAX_API_KEY"],npm:"@ai-sdk/anthropic",api:"https://api.minimax.io/anthropic/v1",doc:"https://platform.minimax.io/docs/guides/quickstart"},copilot:{id:"copilot",models:[{id:"claude-haiku-4.5",ownedBy:"anthropic",label:"Claude Haiku 4.5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",releaseDate:"2025-10-15",lastUpdated:"2025-10-15",openWeights:!1,cost:{input:0,output:0},limit:{context:144e3,output:32e3}},{id:"claude-opus-4.5",ownedBy:"anthropic",label:"Claude Opus 4.5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-11-24",lastUpdated:"2025-08-01",openWeights:!1,cost:{input:0,output:0},limit:{context:16e4,output:32e3}},{id:"claude-opus-4.6",ownedBy:"anthropic",label:"Claude Opus 4.6",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-05-31",releaseDate:"2026-02-05",lastUpdated:"2026-02-05",openWeights:!1,cost:{input:0,output:0},limit:{context:144e3,output:64e3}},{id:"claude-opus-4.7",ownedBy:"anthropic",label:"Claude Opus 4.7",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2026-01-31",releaseDate:"2026-04-16",lastUpdated:"2026-04-16",openWeights:!1,cost:{input:0,output:0},limit:{context:144e3,output:64e3}},{id:"claude-opus-41",ownedBy:"anthropic",label:"Claude Opus 4.1",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-08-05",lastUpdated:"2025-08-05",openWeights:!1,cost:{input:0,output:0},limit:{context:8e4,output:16e3}},{id:"claude-sonnet-4",ownedBy:"anthropic",label:"Claude Sonnet 4",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-05-22",lastUpdated:"2025-05-22",openWeights:!1,cost:{input:0,output:0},limit:{context:216e3,output:16e3}},{id:"claude-sonnet-4.5",ownedBy:"anthropic",label:"Claude Sonnet 4.5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",releaseDate:"2025-09-29",lastUpdated:"2025-09-29",openWeights:!1,cost:{input:0,output:0},limit:{context:144e3,output:32e3}},{id:"claude-sonnet-4.6",ownedBy:"anthropic",label:"Claude Sonnet 4.6",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",releaseDate:"2026-02-17",lastUpdated:"2026-02-17",openWeights:!1,cost:{input:0,output:0},limit:{context:2e5,output:32e3}},{id:"gemini-2.5-pro",ownedBy:"google",label:"Gemini 2.5 Pro",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-03-20",lastUpdated:"2025-06-05",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},{id:"gemini-3-flash-preview",ownedBy:"google",label:"Gemini 3 Flash",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-12-17",lastUpdated:"2025-12-17",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},{id:"gemini-3-pro-preview",ownedBy:"google",label:"Gemini 3 Pro Preview",modalities:{input:["text","image","audio","video"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2025-11-18",lastUpdated:"2025-11-18",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},{id:"gemini-3.1-pro-preview",ownedBy:"google",label:"Gemini 3.1 Pro Preview",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2025-01",releaseDate:"2026-02-19",lastUpdated:"2026-02-19",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}},{id:"gpt-4.1",ownedBy:"openai",label:"GPT-4.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2024-04",releaseDate:"2025-04-14",lastUpdated:"2025-04-14",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:16384}},{id:"gpt-4o",ownedBy:"openai",label:"GPT-4o",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,temperature:!0,knowledge:"2023-09",releaseDate:"2024-05-13",lastUpdated:"2024-05-13",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:4096}},{id:"gpt-5",ownedBy:"openai",label:"GPT-5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-10",releaseDate:"2025-08-07",lastUpdated:"2025-08-07",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:128e3}},{id:"gpt-5-mini",ownedBy:"openai",label:"GPT-5-mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!0,knowledge:"2024-06",releaseDate:"2025-08-13",lastUpdated:"2025-08-13",openWeights:!1,cost:{input:0,output:0},limit:{context:264e3,output:64e3}},{id:"gpt-5.1",ownedBy:"openai",label:"GPT-5.1",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:0,output:0},limit:{context:264e3,output:64e3}},{id:"gpt-5.1-codex",ownedBy:"openai",label:"GPT-5.1-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"gpt-5.1-codex-max",ownedBy:"openai",label:"GPT-5.1-Codex-max",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-12-04",lastUpdated:"2025-12-04",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"gpt-5.1-codex-mini",ownedBy:"openai",label:"GPT-5.1-Codex-mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2024-09-30",releaseDate:"2025-11-13",lastUpdated:"2025-11-13",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"gpt-5.2",ownedBy:"openai",label:"GPT-5.2",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:0,output:0},limit:{context:264e3,output:64e3}},{id:"gpt-5.2-codex",ownedBy:"openai",label:"GPT-5.2-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-08-31",releaseDate:"2025-12-11",lastUpdated:"2025-12-11",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"gpt-5.3-codex",ownedBy:"openai",label:"GPT-5.3-Codex",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-02-24",lastUpdated:"2026-02-24",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"gpt-5.4",ownedBy:"openai",label:"GPT-5.4",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-05",lastUpdated:"2026-03-05",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"gpt-5.4-mini",ownedBy:"openai",label:"GPT-5.4 Mini",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",releaseDate:"2026-03-17",lastUpdated:"2026-03-17",openWeights:!1,cost:{input:0,output:0},limit:{context:4e5,output:128e3}},{id:"grok-code-fast-1",ownedBy:"xai",label:"Grok Code Fast 1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,temperature:!0,knowledge:"2025-08",releaseDate:"2025-08-27",lastUpdated:"2025-08-27",openWeights:!1,cost:{input:0,output:0},limit:{context:128e3,output:64e3}}],label:"GitHub Copilot",env:["GITHUB_TOKEN"],npm:"@ai-sdk/openai-compatible",api:"https://api.githubcopilot.com",doc:"https://docs.github.com/en/copilot"},"ollama-cloud":{id:"ollama-cloud",models:[{id:"cogito-2.1:671b",label:"cogito-2.1:671b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-11-19",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:163840,output:32e3}},{id:"deepseek-v3.1:671b",label:"deepseek-v3.1:671b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-08-21",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:163840,output:163840}},{id:"deepseek-v3.2",label:"deepseek-v3.2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-06-15",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:163840,output:65536}},{id:"devstral-2:123b",label:"devstral-2:123b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,releaseDate:"2025-12-09",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:262144}},{id:"devstral-small-2:24b",label:"devstral-small-2:24b",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,releaseDate:"2025-12-09",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:262144}},{id:"gemini-3-flash-preview",ownedBy:"google",label:"gemini-3-flash-preview",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,knowledge:"2025-01",releaseDate:"2025-12-17",lastUpdated:"2026-04-08",openWeights:!0,limit:{context:1048576,output:65536}},{id:"gemma3:12b",label:"gemma3:12b",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,releaseDate:"2024-12-01",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:131072,output:131072}},{id:"gemma3:27b",label:"gemma3:27b",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,releaseDate:"2025-07-27",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:131072,output:131072}},{id:"gemma3:4b",label:"gemma3:4b",modalities:{input:["text","image"],output:["text"]},toolCall:!1,reasoningText:!1,attachment:!0,releaseDate:"2024-12-01",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:131072,output:131072}},{id:"gemma4:31b",label:"gemma4:31b",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,knowledge:"2025-01",releaseDate:"2026-04-02",lastUpdated:"2026-04-08",openWeights:!0,limit:{context:262144,output:262144}},{id:"glm-4.6",ownedBy:"zai",label:"glm-4.6",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-09-29",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:202752,output:131072}},{id:"glm-4.7",ownedBy:"zai",label:"glm-4.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-12-22",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:202752,output:131072}},{id:"glm-5",ownedBy:"zai",label:"glm-5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2026-02-11",lastUpdated:"2026-02-11",openWeights:!0,limit:{context:202752,output:131072}},{id:"glm-5.1",ownedBy:"zai",label:"glm-5.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2026-03-27",lastUpdated:"2026-04-07",openWeights:!0,limit:{context:202752,output:131072}},{id:"gpt-oss:120b",ownedBy:"openai",label:"gpt-oss:120b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-08-05",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:131072,output:32768}},{id:"gpt-oss:20b",ownedBy:"openai",label:"gpt-oss:20b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-08-05",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:131072,output:32768}},{id:"kimi-k2-thinking",ownedBy:"moonshot",label:"kimi-k2-thinking",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,knowledge:"2024-08",releaseDate:"2025-11-06",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:262144}},{id:"kimi-k2:1t",ownedBy:"moonshot",label:"kimi-k2:1t",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,knowledge:"2024-10",releaseDate:"2025-07-11",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:262144}},{id:"kimi-k2.5",ownedBy:"moonshot",label:"kimi-k2.5",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,releaseDate:"2026-01-27",lastUpdated:"2026-01-27",openWeights:!0,limit:{context:262144,output:262144}},{id:"kimi-k2.6:cloud",ownedBy:"moonshot",label:"kimi-k2.6:cloud",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,releaseDate:"2026-04-20",lastUpdated:"2026-04-20",openWeights:!0,limit:{context:262144,output:262144}},{id:"minimax-m2",ownedBy:"minimax",label:"minimax-m2",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,releaseDate:"2025-10-23",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:204800,output:128e3}},{id:"minimax-m2.1",ownedBy:"minimax",label:"minimax-m2.1",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-12-23",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:204800,output:131072}},{id:"minimax-m2.5",ownedBy:"minimax",label:"minimax-m2.5",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,knowledge:"2025-01",releaseDate:"2026-02-12",lastUpdated:"2026-02-12",openWeights:!0,limit:{context:204800,output:131072}},{id:"minimax-m2.7",ownedBy:"minimax",label:"minimax-m2.7",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2026-03-18",lastUpdated:"2026-03-18",openWeights:!0,limit:{context:204800,output:131072}},{id:"ministral-3:14b",label:"ministral-3:14b",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,releaseDate:"2024-12-01",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:128e3}},{id:"ministral-3:3b",label:"ministral-3:3b",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,releaseDate:"2024-10-22",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:128e3}},{id:"ministral-3:8b",label:"ministral-3:8b",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,releaseDate:"2024-12-01",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:128e3}},{id:"mistral-large-3:675b",label:"mistral-large-3:675b",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,releaseDate:"2025-12-02",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:262144}},{id:"nemotron-3-nano:30b",label:"nemotron-3-nano:30b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-12-15",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:1048576,output:131072}},{id:"nemotron-3-super",label:"nemotron-3-super",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2026-03-11",lastUpdated:"2026-03-12",openWeights:!0,limit:{context:262144,output:65536}},{id:"qwen3-coder-next",label:"qwen3-coder-next",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,releaseDate:"2026-02-02",lastUpdated:"2026-02-08",openWeights:!0,limit:{context:262144,output:65536}},{id:"qwen3-coder:480b",label:"qwen3-coder:480b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,releaseDate:"2025-07-22",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:65536}},{id:"qwen3-next:80b",label:"qwen3-next:80b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!1,releaseDate:"2025-09-15",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:32768}},{id:"qwen3-vl:235b",label:"qwen3-vl:235b",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,releaseDate:"2025-09-22",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:32768}},{id:"qwen3-vl:235b-instruct",label:"qwen3-vl:235b-instruct",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!0,releaseDate:"2025-09-22",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:262144,output:131072}},{id:"qwen3.5:397b",label:"qwen3.5:397b",modalities:{input:["text","image"],output:["text"]},toolCall:!0,reasoningText:!0,attachment:!0,releaseDate:"2026-02-15",lastUpdated:"2026-02-17",openWeights:!0,limit:{context:262144,output:81920}},{id:"rnj-1:8b",label:"rnj-1:8b",modalities:{input:["text"],output:["text"]},toolCall:!0,reasoningText:!1,attachment:!1,releaseDate:"2025-12-06",lastUpdated:"2026-01-19",openWeights:!0,limit:{context:32768,output:4096}}],label:"Ollama Cloud",env:["OLLAMA_API_KEY"],npm:"ai-sdk-ollama",api:"https://ollama.com",doc:"https://docs.ollama.com/cloud"}};var Ci={},ar={},kl;function Sm(){if(kl)return ar;kl=1,ar.byteLength=a,ar.toByteArray=l,ar.fromByteArray=C;for(var A=[],e=[],t=typeof Uint8Array<"u"?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,r=s.length;n<r;++n)A[n]=s[n],e[s.charCodeAt(n)]=n;e[45]=62,e[95]=63;function i(c){var u=c.length;if(u%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var p=c.indexOf("=");p===-1&&(p=u);var f=p===u?0:4-p%4;return[p,f]}function a(c){var u=i(c),p=u[0],f=u[1];return(p+f)*3/4-f}function g(c,u,p){return(u+p)*3/4-p}function l(c){var u,p=i(c),f=p[0],k=p[1],v=new t(g(c,f,k)),D=0,j=k>0?f-4:f,K;for(K=0;K<j;K+=4)u=e[c.charCodeAt(K)]<<18|e[c.charCodeAt(K+1)]<<12|e[c.charCodeAt(K+2)]<<6|e[c.charCodeAt(K+3)],v[D++]=u>>16&255,v[D++]=u>>8&255,v[D++]=u&255;return k===2&&(u=e[c.charCodeAt(K)]<<2|e[c.charCodeAt(K+1)]>>4,v[D++]=u&255),k===1&&(u=e[c.charCodeAt(K)]<<10|e[c.charCodeAt(K+1)]<<4|e[c.charCodeAt(K+2)]>>2,v[D++]=u>>8&255,v[D++]=u&255),v}function Q(c){return A[c>>18&63]+A[c>>12&63]+A[c>>6&63]+A[c&63]}function I(c,u,p){for(var f,k=[],v=u;v<p;v+=3)f=(c[v]<<16&16711680)+(c[v+1]<<8&65280)+(c[v+2]&255),k.push(Q(f));return k.join("")}function C(c){for(var u,p=c.length,f=p%3,k=[],v=16383,D=0,j=p-f;D<j;D+=v)k.push(I(c,D,D+v>j?j:D+v));return f===1?(u=c[p-1],k.push(A[u>>2]+A[u<<4&63]+"==")):f===2&&(u=(c[p-2]<<8)+c[p-1],k.push(A[u>>10]+A[u>>4&63]+A[u<<2&63]+"=")),k.join("")}return ar}var Vr={};var Ml;function Um(){return Ml||(Ml=1,Vr.read=function(A,e,t,s,n){var r,i,a=n*8-s-1,g=(1<<a)-1,l=g>>1,Q=-7,I=t?n-1:0,C=t?-1:1,c=A[e+I];for(I+=C,r=c&(1<<-Q)-1,c>>=-Q,Q+=a;Q>0;r=r*256+A[e+I],I+=C,Q-=8);for(i=r&(1<<-Q)-1,r>>=-Q,Q+=s;Q>0;i=i*256+A[e+I],I+=C,Q-=8);if(r===0)r=1-l;else{if(r===g)return i?NaN:(c?-1:1)*(1/0);i=i+Math.pow(2,s),r=r-l}return(c?-1:1)*i*Math.pow(2,r-s)},Vr.write=function(A,e,t,s,n,r){var i,a,g,l=r*8-n-1,Q=(1<<l)-1,I=Q>>1,C=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,c=s?0:r-1,u=s?1:-1,p=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,i=Q):(i=Math.floor(Math.log(e)/Math.LN2),e*(g=Math.pow(2,-i))<1&&(i--,g*=2),i+I>=1?e+=C/g:e+=C*Math.pow(2,1-I),e*g>=2&&(i++,g/=2),i+I>=Q?(a=0,i=Q):i+I>=1?(a=(e*g-1)*Math.pow(2,n),i=i+I):(a=e*Math.pow(2,I-1)*Math.pow(2,n),i=0));n>=8;A[t+c]=a&255,c+=u,a/=256,n-=8);for(i=i<<n|a,l+=n;l>0;A[t+c]=i&255,c+=u,i/=256,l-=8);A[t+c-u]|=p*128}),Vr}var bl;function gg(){return bl||(bl=1,(function(A){const e=Sm(),t=Um(),s=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;A.Buffer=a,A.SlowBuffer=v,A.INSPECT_MAX_BYTES=50;const n=2147483647;A.kMaxLength=n,a.TYPED_ARRAY_SUPPORT=r(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function r(){try{const q=new Uint8Array(1),y={foo:function(){return 42}};return Object.setPrototypeOf(y,Uint8Array.prototype),Object.setPrototypeOf(q,y),q.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function i(q){if(q>n)throw new RangeError('The value "'+q+'" is invalid for option "size"');const y=new Uint8Array(q);return Object.setPrototypeOf(y,a.prototype),y}function a(q,y,M){if(typeof q=="number"){if(typeof y=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return I(q)}return g(q,y,M)}a.poolSize=8192;function g(q,y,M){if(typeof q=="string")return C(q,y);if(ArrayBuffer.isView(q))return u(q);if(q==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof q);if(nt(q,ArrayBuffer)||q&&nt(q.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(nt(q,SharedArrayBuffer)||q&&nt(q.buffer,SharedArrayBuffer)))return p(q,y,M);if(typeof q=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const Z=q.valueOf&&q.valueOf();if(Z!=null&&Z!==q)return a.from(Z,y,M);const AA=f(q);if(AA)return AA;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof q[Symbol.toPrimitive]=="function")return a.from(q[Symbol.toPrimitive]("string"),y,M);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof q)}a.from=function(q,y,M){return g(q,y,M)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function l(q){if(typeof q!="number")throw new TypeError('"size" argument must be of type number');if(q<0)throw new RangeError('The value "'+q+'" is invalid for option "size"')}function Q(q,y,M){return l(q),q<=0?i(q):y!==void 0?typeof M=="string"?i(q).fill(y,M):i(q).fill(y):i(q)}a.alloc=function(q,y,M){return Q(q,y,M)};function I(q){return l(q),i(q<0?0:k(q)|0)}a.allocUnsafe=function(q){return I(q)},a.allocUnsafeSlow=function(q){return I(q)};function C(q,y){if((typeof y!="string"||y==="")&&(y="utf8"),!a.isEncoding(y))throw new TypeError("Unknown encoding: "+y);const M=D(q,y)|0;let Z=i(M);const AA=Z.write(q,y);return AA!==M&&(Z=Z.slice(0,AA)),Z}function c(q){const y=q.length<0?0:k(q.length)|0,M=i(y);for(let Z=0;Z<y;Z+=1)M[Z]=q[Z]&255;return M}function u(q){if(nt(q,Uint8Array)){const y=new Uint8Array(q);return p(y.buffer,y.byteOffset,y.byteLength)}return c(q)}function p(q,y,M){if(y<0||q.byteLength<y)throw new RangeError('"offset" is outside of buffer bounds');if(q.byteLength<y+(M||0))throw new RangeError('"length" is outside of buffer bounds');let Z;return y===void 0&&M===void 0?Z=new Uint8Array(q):M===void 0?Z=new Uint8Array(q,y):Z=new Uint8Array(q,y,M),Object.setPrototypeOf(Z,a.prototype),Z}function f(q){if(a.isBuffer(q)){const y=k(q.length)|0,M=i(y);return M.length===0||q.copy(M,0,0,y),M}if(q.length!==void 0)return typeof q.length!="number"||Ke(q.length)?i(0):c(q);if(q.type==="Buffer"&&Array.isArray(q.data))return c(q.data)}function k(q){if(q>=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return q|0}function v(q){return+q!=q&&(q=0),a.alloc(+q)}a.isBuffer=function(y){return y!=null&&y._isBuffer===!0&&y!==a.prototype},a.compare=function(y,M){if(nt(y,Uint8Array)&&(y=a.from(y,y.offset,y.byteLength)),nt(M,Uint8Array)&&(M=a.from(M,M.offset,M.byteLength)),!a.isBuffer(y)||!a.isBuffer(M))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(y===M)return 0;let Z=y.length,AA=M.length;for(let nA=0,cA=Math.min(Z,AA);nA<cA;++nA)if(y[nA]!==M[nA]){Z=y[nA],AA=M[nA];break}return Z<AA?-1:AA<Z?1:0},a.isEncoding=function(y){switch(String(y).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(y,M){if(!Array.isArray(y))throw new TypeError('"list" argument must be an Array of Buffers');if(y.length===0)return a.alloc(0);let Z;if(M===void 0)for(M=0,Z=0;Z<y.length;++Z)M+=y[Z].length;const AA=a.allocUnsafe(M);let nA=0;for(Z=0;Z<y.length;++Z){let cA=y[Z];if(nt(cA,Uint8Array))nA+cA.length>AA.length?(a.isBuffer(cA)||(cA=a.from(cA)),cA.copy(AA,nA)):Uint8Array.prototype.set.call(AA,cA,nA);else if(a.isBuffer(cA))cA.copy(AA,nA);else throw new TypeError('"list" argument must be an Array of Buffers');nA+=cA.length}return AA};function D(q,y){if(a.isBuffer(q))return q.length;if(ArrayBuffer.isView(q)||nt(q,ArrayBuffer))return q.byteLength;if(typeof q!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof q);const M=q.length,Z=arguments.length>2&&arguments[2]===!0;if(!Z&&M===0)return 0;let AA=!1;for(;;)switch(y){case"ascii":case"latin1":case"binary":return M;case"utf8":case"utf-8":return VA(q).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M*2;case"hex":return M>>>1;case"base64":return we(q).length;default:if(AA)return Z?-1:VA(q).length;y=(""+y).toLowerCase(),AA=!0}}a.byteLength=D;function j(q,y,M){let Z=!1;if((y===void 0||y<0)&&(y=0),y>this.length||((M===void 0||M>this.length)&&(M=this.length),M<=0)||(M>>>=0,y>>>=0,M<=y))return"";for(q||(q="utf8");;)switch(q){case"hex":return Y(this,y,M);case"utf8":case"utf-8":return B(this,y,M);case"ascii":return G(this,y,M);case"latin1":case"binary":return J(this,y,M);case"base64":return w(this,y,M);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,y,M);default:if(Z)throw new TypeError("Unknown encoding: "+q);q=(q+"").toLowerCase(),Z=!0}}a.prototype._isBuffer=!0;function K(q,y,M){const Z=q[y];q[y]=q[M],q[M]=Z}a.prototype.swap16=function(){const y=this.length;if(y%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let M=0;M<y;M+=2)K(this,M,M+1);return this},a.prototype.swap32=function(){const y=this.length;if(y%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let M=0;M<y;M+=4)K(this,M,M+3),K(this,M+1,M+2);return this},a.prototype.swap64=function(){const y=this.length;if(y%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let M=0;M<y;M+=8)K(this,M,M+7),K(this,M+1,M+6),K(this,M+2,M+5),K(this,M+3,M+4);return this},a.prototype.toString=function(){const y=this.length;return y===0?"":arguments.length===0?B(this,0,y):j.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(y){if(!a.isBuffer(y))throw new TypeError("Argument must be a Buffer");return this===y?!0:a.compare(this,y)===0},a.prototype.inspect=function(){let y="";const M=A.INSPECT_MAX_BYTES;return y=this.toString("hex",0,M).replace(/(.{2})/g,"$1 ").trim(),this.length>M&&(y+=" ... "),"<Buffer "+y+">"},s&&(a.prototype[s]=a.prototype.inspect),a.prototype.compare=function(y,M,Z,AA,nA){if(nt(y,Uint8Array)&&(y=a.from(y,y.offset,y.byteLength)),!a.isBuffer(y))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof y);if(M===void 0&&(M=0),Z===void 0&&(Z=y?y.length:0),AA===void 0&&(AA=0),nA===void 0&&(nA=this.length),M<0||Z>y.length||AA<0||nA>this.length)throw new RangeError("out of range index");if(AA>=nA&&M>=Z)return 0;if(AA>=nA)return-1;if(M>=Z)return 1;if(M>>>=0,Z>>>=0,AA>>>=0,nA>>>=0,this===y)return 0;let cA=nA-AA,zA=Z-M;const PA=Math.min(cA,zA),ZA=this.slice(AA,nA),Ge=y.slice(M,Z);for(let WA=0;WA<PA;++WA)if(ZA[WA]!==Ge[WA]){cA=ZA[WA],zA=Ge[WA];break}return cA<zA?-1:zA<cA?1:0};function V(q,y,M,Z,AA){if(q.length===0)return-1;if(typeof M=="string"?(Z=M,M=0):M>2147483647?M=2147483647:M<-2147483648&&(M=-2147483648),M=+M,Ke(M)&&(M=AA?0:q.length-1),M<0&&(M=q.length+M),M>=q.length){if(AA)return-1;M=q.length-1}else if(M<0)if(AA)M=0;else return-1;if(typeof y=="string"&&(y=a.from(y,Z)),a.isBuffer(y))return y.length===0?-1:eA(q,y,M,Z,AA);if(typeof y=="number")return y=y&255,typeof Uint8Array.prototype.indexOf=="function"?AA?Uint8Array.prototype.indexOf.call(q,y,M):Uint8Array.prototype.lastIndexOf.call(q,y,M):eA(q,[y],M,Z,AA);throw new TypeError("val must be string, number or Buffer")}function eA(q,y,M,Z,AA){let nA=1,cA=q.length,zA=y.length;if(Z!==void 0&&(Z=String(Z).toLowerCase(),Z==="ucs2"||Z==="ucs-2"||Z==="utf16le"||Z==="utf-16le")){if(q.length<2||y.length<2)return-1;nA=2,cA/=2,zA/=2,M/=2}function PA(Ge,WA){return nA===1?Ge[WA]:Ge.readUInt16BE(WA*nA)}let ZA;if(AA){let Ge=-1;for(ZA=M;ZA<cA;ZA++)if(PA(q,ZA)===PA(y,Ge===-1?0:ZA-Ge)){if(Ge===-1&&(Ge=ZA),ZA-Ge+1===zA)return Ge*nA}else Ge!==-1&&(ZA-=ZA-Ge),Ge=-1}else for(M+zA>cA&&(M=cA-zA),ZA=M;ZA>=0;ZA--){let Ge=!0;for(let WA=0;WA<zA;WA++)if(PA(q,ZA+WA)!==PA(y,WA)){Ge=!1;break}if(Ge)return ZA}return-1}a.prototype.includes=function(y,M,Z){return this.indexOf(y,M,Z)!==-1},a.prototype.indexOf=function(y,M,Z){return V(this,y,M,Z,!0)},a.prototype.lastIndexOf=function(y,M,Z){return V(this,y,M,Z,!1)};function X(q,y,M,Z){M=Number(M)||0;const AA=q.length-M;Z?(Z=Number(Z),Z>AA&&(Z=AA)):Z=AA;const nA=y.length;Z>nA/2&&(Z=nA/2);let cA;for(cA=0;cA<Z;++cA){const zA=parseInt(y.substr(cA*2,2),16);if(Ke(zA))return cA;q[M+cA]=zA}return cA}function R(q,y,M,Z){return Re(VA(y,q.length-M),q,M,Z)}function W(q,y,M,Z){return Re(me(y),q,M,Z)}function O(q,y,M,Z){return Re(we(y),q,M,Z)}function L(q,y,M,Z){return Re(He(y,q.length-M),q,M,Z)}a.prototype.write=function(y,M,Z,AA){if(M===void 0)AA="utf8",Z=this.length,M=0;else if(Z===void 0&&typeof M=="string")AA=M,Z=this.length,M=0;else if(isFinite(M))M=M>>>0,isFinite(Z)?(Z=Z>>>0,AA===void 0&&(AA="utf8")):(AA=Z,Z=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const nA=this.length-M;if((Z===void 0||Z>nA)&&(Z=nA),y.length>0&&(Z<0||M<0)||M>this.length)throw new RangeError("Attempt to write outside buffer bounds");AA||(AA="utf8");let cA=!1;for(;;)switch(AA){case"hex":return X(this,y,M,Z);case"utf8":case"utf-8":return R(this,y,M,Z);case"ascii":case"latin1":case"binary":return W(this,y,M,Z);case"base64":return O(this,y,M,Z);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,y,M,Z);default:if(cA)throw new TypeError("Unknown encoding: "+AA);AA=(""+AA).toLowerCase(),cA=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function w(q,y,M){return y===0&&M===q.length?e.fromByteArray(q):e.fromByteArray(q.slice(y,M))}function B(q,y,M){M=Math.min(q.length,M);const Z=[];let AA=y;for(;AA<M;){const nA=q[AA];let cA=null,zA=nA>239?4:nA>223?3:nA>191?2:1;if(AA+zA<=M){let PA,ZA,Ge,WA;switch(zA){case 1:nA<128&&(cA=nA);break;case 2:PA=q[AA+1],(PA&192)===128&&(WA=(nA&31)<<6|PA&63,WA>127&&(cA=WA));break;case 3:PA=q[AA+1],ZA=q[AA+2],(PA&192)===128&&(ZA&192)===128&&(WA=(nA&15)<<12|(PA&63)<<6|ZA&63,WA>2047&&(WA<55296||WA>57343)&&(cA=WA));break;case 4:PA=q[AA+1],ZA=q[AA+2],Ge=q[AA+3],(PA&192)===128&&(ZA&192)===128&&(Ge&192)===128&&(WA=(nA&15)<<18|(PA&63)<<12|(ZA&63)<<6|Ge&63,WA>65535&&WA<1114112&&(cA=WA))}}cA===null?(cA=65533,zA=1):cA>65535&&(cA-=65536,Z.push(cA>>>10&1023|55296),cA=56320|cA&1023),Z.push(cA),AA+=zA}return N(Z)}const d=4096;function N(q){const y=q.length;if(y<=d)return String.fromCharCode.apply(String,q);let M="",Z=0;for(;Z<y;)M+=String.fromCharCode.apply(String,q.slice(Z,Z+=d));return M}function G(q,y,M){let Z="";M=Math.min(q.length,M);for(let AA=y;AA<M;++AA)Z+=String.fromCharCode(q[AA]&127);return Z}function J(q,y,M){let Z="";M=Math.min(q.length,M);for(let AA=y;AA<M;++AA)Z+=String.fromCharCode(q[AA]);return Z}function Y(q,y,M){const Z=q.length;(!y||y<0)&&(y=0),(!M||M<0||M>Z)&&(M=Z);let AA="";for(let nA=y;nA<M;++nA)AA+=yA[q[nA]];return AA}function T(q,y,M){const Z=q.slice(y,M);let AA="";for(let nA=0;nA<Z.length-1;nA+=2)AA+=String.fromCharCode(Z[nA]+Z[nA+1]*256);return AA}a.prototype.slice=function(y,M){const Z=this.length;y=~~y,M=M===void 0?Z:~~M,y<0?(y+=Z,y<0&&(y=0)):y>Z&&(y=Z),M<0?(M+=Z,M<0&&(M=0)):M>Z&&(M=Z),M<y&&(M=y);const AA=this.subarray(y,M);return Object.setPrototypeOf(AA,a.prototype),AA};function b(q,y,M){if(q%1!==0||q<0)throw new RangeError("offset is not uint");if(q+y>M)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(y,M,Z){y=y>>>0,M=M>>>0,Z||b(y,M,this.length);let AA=this[y],nA=1,cA=0;for(;++cA<M&&(nA*=256);)AA+=this[y+cA]*nA;return AA},a.prototype.readUintBE=a.prototype.readUIntBE=function(y,M,Z){y=y>>>0,M=M>>>0,Z||b(y,M,this.length);let AA=this[y+--M],nA=1;for(;M>0&&(nA*=256);)AA+=this[y+--M]*nA;return AA},a.prototype.readUint8=a.prototype.readUInt8=function(y,M){return y=y>>>0,M||b(y,1,this.length),this[y]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(y,M){return y=y>>>0,M||b(y,2,this.length),this[y]|this[y+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(y,M){return y=y>>>0,M||b(y,2,this.length),this[y]<<8|this[y+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(y,M){return y=y>>>0,M||b(y,4,this.length),(this[y]|this[y+1]<<8|this[y+2]<<16)+this[y+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(y,M){return y=y>>>0,M||b(y,4,this.length),this[y]*16777216+(this[y+1]<<16|this[y+2]<<8|this[y+3])},a.prototype.readBigUInt64LE=de(function(y){y=y>>>0,YA(y,"offset");const M=this[y],Z=this[y+7];(M===void 0||Z===void 0)&&_A(y,this.length-8);const AA=M+this[++y]*2**8+this[++y]*2**16+this[++y]*2**24,nA=this[++y]+this[++y]*2**8+this[++y]*2**16+Z*2**24;return BigInt(AA)+(BigInt(nA)<<BigInt(32))}),a.prototype.readBigUInt64BE=de(function(y){y=y>>>0,YA(y,"offset");const M=this[y],Z=this[y+7];(M===void 0||Z===void 0)&&_A(y,this.length-8);const AA=M*2**24+this[++y]*2**16+this[++y]*2**8+this[++y],nA=this[++y]*2**24+this[++y]*2**16+this[++y]*2**8+Z;return(BigInt(AA)<<BigInt(32))+BigInt(nA)}),a.prototype.readIntLE=function(y,M,Z){y=y>>>0,M=M>>>0,Z||b(y,M,this.length);let AA=this[y],nA=1,cA=0;for(;++cA<M&&(nA*=256);)AA+=this[y+cA]*nA;return nA*=128,AA>=nA&&(AA-=Math.pow(2,8*M)),AA},a.prototype.readIntBE=function(y,M,Z){y=y>>>0,M=M>>>0,Z||b(y,M,this.length);let AA=M,nA=1,cA=this[y+--AA];for(;AA>0&&(nA*=256);)cA+=this[y+--AA]*nA;return nA*=128,cA>=nA&&(cA-=Math.pow(2,8*M)),cA},a.prototype.readInt8=function(y,M){return y=y>>>0,M||b(y,1,this.length),this[y]&128?(255-this[y]+1)*-1:this[y]},a.prototype.readInt16LE=function(y,M){y=y>>>0,M||b(y,2,this.length);const Z=this[y]|this[y+1]<<8;return Z&32768?Z|4294901760:Z},a.prototype.readInt16BE=function(y,M){y=y>>>0,M||b(y,2,this.length);const Z=this[y+1]|this[y]<<8;return Z&32768?Z|4294901760:Z},a.prototype.readInt32LE=function(y,M){return y=y>>>0,M||b(y,4,this.length),this[y]|this[y+1]<<8|this[y+2]<<16|this[y+3]<<24},a.prototype.readInt32BE=function(y,M){return y=y>>>0,M||b(y,4,this.length),this[y]<<24|this[y+1]<<16|this[y+2]<<8|this[y+3]},a.prototype.readBigInt64LE=de(function(y){y=y>>>0,YA(y,"offset");const M=this[y],Z=this[y+7];(M===void 0||Z===void 0)&&_A(y,this.length-8);const AA=this[y+4]+this[y+5]*2**8+this[y+6]*2**16+(Z<<24);return(BigInt(AA)<<BigInt(32))+BigInt(M+this[++y]*2**8+this[++y]*2**16+this[++y]*2**24)}),a.prototype.readBigInt64BE=de(function(y){y=y>>>0,YA(y,"offset");const M=this[y],Z=this[y+7];(M===void 0||Z===void 0)&&_A(y,this.length-8);const AA=(M<<24)+this[++y]*2**16+this[++y]*2**8+this[++y];return(BigInt(AA)<<BigInt(32))+BigInt(this[++y]*2**24+this[++y]*2**16+this[++y]*2**8+Z)}),a.prototype.readFloatLE=function(y,M){return y=y>>>0,M||b(y,4,this.length),t.read(this,y,!0,23,4)},a.prototype.readFloatBE=function(y,M){return y=y>>>0,M||b(y,4,this.length),t.read(this,y,!1,23,4)},a.prototype.readDoubleLE=function(y,M){return y=y>>>0,M||b(y,8,this.length),t.read(this,y,!0,52,8)},a.prototype.readDoubleBE=function(y,M){return y=y>>>0,M||b(y,8,this.length),t.read(this,y,!1,52,8)};function E(q,y,M,Z,AA,nA){if(!a.isBuffer(q))throw new TypeError('"buffer" argument must be a Buffer instance');if(y>AA||y<nA)throw new RangeError('"value" argument is out of bounds');if(M+Z>q.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(y,M,Z,AA){if(y=+y,M=M>>>0,Z=Z>>>0,!AA){const zA=Math.pow(2,8*Z)-1;E(this,y,M,Z,zA,0)}let nA=1,cA=0;for(this[M]=y&255;++cA<Z&&(nA*=256);)this[M+cA]=y/nA&255;return M+Z},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(y,M,Z,AA){if(y=+y,M=M>>>0,Z=Z>>>0,!AA){const zA=Math.pow(2,8*Z)-1;E(this,y,M,Z,zA,0)}let nA=Z-1,cA=1;for(this[M+nA]=y&255;--nA>=0&&(cA*=256);)this[M+nA]=y/cA&255;return M+Z},a.prototype.writeUint8=a.prototype.writeUInt8=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,1,255,0),this[M]=y&255,M+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,2,65535,0),this[M]=y&255,this[M+1]=y>>>8,M+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,2,65535,0),this[M]=y>>>8,this[M+1]=y&255,M+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,4,4294967295,0),this[M+3]=y>>>24,this[M+2]=y>>>16,this[M+1]=y>>>8,this[M]=y&255,M+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,4,4294967295,0),this[M]=y>>>24,this[M+1]=y>>>16,this[M+2]=y>>>8,this[M+3]=y&255,M+4};function h(q,y,M,Z,AA){BA(y,Z,AA,q,M,7);let nA=Number(y&BigInt(4294967295));q[M++]=nA,nA=nA>>8,q[M++]=nA,nA=nA>>8,q[M++]=nA,nA=nA>>8,q[M++]=nA;let cA=Number(y>>BigInt(32)&BigInt(4294967295));return q[M++]=cA,cA=cA>>8,q[M++]=cA,cA=cA>>8,q[M++]=cA,cA=cA>>8,q[M++]=cA,M}function S(q,y,M,Z,AA){BA(y,Z,AA,q,M,7);let nA=Number(y&BigInt(4294967295));q[M+7]=nA,nA=nA>>8,q[M+6]=nA,nA=nA>>8,q[M+5]=nA,nA=nA>>8,q[M+4]=nA;let cA=Number(y>>BigInt(32)&BigInt(4294967295));return q[M+3]=cA,cA=cA>>8,q[M+2]=cA,cA=cA>>8,q[M+1]=cA,cA=cA>>8,q[M]=cA,M+8}a.prototype.writeBigUInt64LE=de(function(y,M=0){return h(this,y,M,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=de(function(y,M=0){return S(this,y,M,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(y,M,Z,AA){if(y=+y,M=M>>>0,!AA){const PA=Math.pow(2,8*Z-1);E(this,y,M,Z,PA-1,-PA)}let nA=0,cA=1,zA=0;for(this[M]=y&255;++nA<Z&&(cA*=256);)y<0&&zA===0&&this[M+nA-1]!==0&&(zA=1),this[M+nA]=(y/cA>>0)-zA&255;return M+Z},a.prototype.writeIntBE=function(y,M,Z,AA){if(y=+y,M=M>>>0,!AA){const PA=Math.pow(2,8*Z-1);E(this,y,M,Z,PA-1,-PA)}let nA=Z-1,cA=1,zA=0;for(this[M+nA]=y&255;--nA>=0&&(cA*=256);)y<0&&zA===0&&this[M+nA+1]!==0&&(zA=1),this[M+nA]=(y/cA>>0)-zA&255;return M+Z},a.prototype.writeInt8=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,1,127,-128),y<0&&(y=255+y+1),this[M]=y&255,M+1},a.prototype.writeInt16LE=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,2,32767,-32768),this[M]=y&255,this[M+1]=y>>>8,M+2},a.prototype.writeInt16BE=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,2,32767,-32768),this[M]=y>>>8,this[M+1]=y&255,M+2},a.prototype.writeInt32LE=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,4,2147483647,-2147483648),this[M]=y&255,this[M+1]=y>>>8,this[M+2]=y>>>16,this[M+3]=y>>>24,M+4},a.prototype.writeInt32BE=function(y,M,Z){return y=+y,M=M>>>0,Z||E(this,y,M,4,2147483647,-2147483648),y<0&&(y=4294967295+y+1),this[M]=y>>>24,this[M+1]=y>>>16,this[M+2]=y>>>8,this[M+3]=y&255,M+4},a.prototype.writeBigInt64LE=de(function(y,M=0){return h(this,y,M,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=de(function(y,M=0){return S(this,y,M,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function U(q,y,M,Z,AA,nA){if(M+Z>q.length)throw new RangeError("Index out of range");if(M<0)throw new RangeError("Index out of range")}function _(q,y,M,Z,AA){return y=+y,M=M>>>0,AA||U(q,y,M,4),t.write(q,y,M,Z,23,4),M+4}a.prototype.writeFloatLE=function(y,M,Z){return _(this,y,M,!0,Z)},a.prototype.writeFloatBE=function(y,M,Z){return _(this,y,M,!1,Z)};function tA(q,y,M,Z,AA){return y=+y,M=M>>>0,AA||U(q,y,M,8),t.write(q,y,M,Z,52,8),M+8}a.prototype.writeDoubleLE=function(y,M,Z){return tA(this,y,M,!0,Z)},a.prototype.writeDoubleBE=function(y,M,Z){return tA(this,y,M,!1,Z)},a.prototype.copy=function(y,M,Z,AA){if(!a.isBuffer(y))throw new TypeError("argument should be a Buffer");if(Z||(Z=0),!AA&&AA!==0&&(AA=this.length),M>=y.length&&(M=y.length),M||(M=0),AA>0&&AA<Z&&(AA=Z),AA===Z||y.length===0||this.length===0)return 0;if(M<0)throw new RangeError("targetStart out of bounds");if(Z<0||Z>=this.length)throw new RangeError("Index out of range");if(AA<0)throw new RangeError("sourceEnd out of bounds");AA>this.length&&(AA=this.length),y.length-M<AA-Z&&(AA=y.length-M+Z);const nA=AA-Z;return this===y&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(M,Z,AA):Uint8Array.prototype.set.call(y,this.subarray(Z,AA),M),nA},a.prototype.fill=function(y,M,Z,AA){if(typeof y=="string"){if(typeof M=="string"?(AA=M,M=0,Z=this.length):typeof Z=="string"&&(AA=Z,Z=this.length),AA!==void 0&&typeof AA!="string")throw new TypeError("encoding must be a string");if(typeof AA=="string"&&!a.isEncoding(AA))throw new TypeError("Unknown encoding: "+AA);if(y.length===1){const cA=y.charCodeAt(0);(AA==="utf8"&&cA<128||AA==="latin1")&&(y=cA)}}else typeof y=="number"?y=y&255:typeof y=="boolean"&&(y=Number(y));if(M<0||this.length<M||this.length<Z)throw new RangeError("Out of range index");if(Z<=M)return this;M=M>>>0,Z=Z===void 0?this.length:Z>>>0,y||(y=0);let nA;if(typeof y=="number")for(nA=M;nA<Z;++nA)this[nA]=y;else{const cA=a.isBuffer(y)?y:a.from(y,AA),zA=cA.length;if(zA===0)throw new TypeError('The value "'+y+'" is invalid for argument "value"');for(nA=0;nA<Z-M;++nA)this[nA+M]=cA[nA%zA]}return this};const IA={};function iA(q,y,M){IA[q]=class extends M{constructor(){super(),Object.defineProperty(this,"message",{value:y.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${q}]`,this.stack,delete this.name}get code(){return q}set code(AA){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:AA,writable:!0})}toString(){return`${this.name} [${q}]: ${this.message}`}}}iA("ERR_BUFFER_OUT_OF_BOUNDS",function(q){return q?`${q} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),iA("ERR_INVALID_ARG_TYPE",function(q,y){return`The "${q}" argument must be of type number. Received type ${typeof y}`},TypeError),iA("ERR_OUT_OF_RANGE",function(q,y,M){let Z=`The value of "${q}" is out of range.`,AA=M;return Number.isInteger(M)&&Math.abs(M)>2**32?AA=GA(String(M)):typeof M=="bigint"&&(AA=String(M),(M>BigInt(2)**BigInt(32)||M<-(BigInt(2)**BigInt(32)))&&(AA=GA(AA)),AA+="n"),Z+=` It must be ${y}. Received ${AA}`,Z},RangeError);function GA(q){let y="",M=q.length;const Z=q[0]==="-"?1:0;for(;M>=Z+4;M-=3)y=`_${q.slice(M-3,M)}${y}`;return`${q.slice(0,M)}${y}`}function qA(q,y,M){YA(y,"offset"),(q[y]===void 0||q[y+M]===void 0)&&_A(y,q.length-(M+1))}function BA(q,y,M,Z,AA,nA){if(q>M||q<y){const cA=typeof y=="bigint"?"n":"";let zA;throw y===0||y===BigInt(0)?zA=`>= 0${cA} and < 2${cA} ** ${(nA+1)*8}${cA}`:zA=`>= -(2${cA} ** ${(nA+1)*8-1}${cA}) and < 2 ** ${(nA+1)*8-1}${cA}`,new IA.ERR_OUT_OF_RANGE("value",zA,q)}qA(Z,AA,nA)}function YA(q,y){if(typeof q!="number")throw new IA.ERR_INVALID_ARG_TYPE(y,"number",q)}function _A(q,y,M){throw Math.floor(q)!==q?(YA(q,M),new IA.ERR_OUT_OF_RANGE("offset","an integer",q)):y<0?new IA.ERR_BUFFER_OUT_OF_BOUNDS:new IA.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${y}`,q)}const Ce=/[^+/0-9A-Za-z-_]/g;function kA(q){if(q=q.split("=")[0],q=q.trim().replace(Ce,""),q.length<2)return"";for(;q.length%4!==0;)q=q+"=";return q}function VA(q,y){y=y||1/0;let M;const Z=q.length;let AA=null;const nA=[];for(let cA=0;cA<Z;++cA){if(M=q.charCodeAt(cA),M>55295&&M<57344){if(!AA){if(M>56319){(y-=3)>-1&&nA.push(239,191,189);continue}else if(cA+1===Z){(y-=3)>-1&&nA.push(239,191,189);continue}AA=M;continue}if(M<56320){(y-=3)>-1&&nA.push(239,191,189),AA=M;continue}M=(AA-55296<<10|M-56320)+65536}else AA&&(y-=3)>-1&&nA.push(239,191,189);if(AA=null,M<128){if((y-=1)<0)break;nA.push(M)}else if(M<2048){if((y-=2)<0)break;nA.push(M>>6|192,M&63|128)}else if(M<65536){if((y-=3)<0)break;nA.push(M>>12|224,M>>6&63|128,M&63|128)}else if(M<1114112){if((y-=4)<0)break;nA.push(M>>18|240,M>>12&63|128,M>>6&63|128,M&63|128)}else throw new Error("Invalid code point")}return nA}function me(q){const y=[];for(let M=0;M<q.length;++M)y.push(q.charCodeAt(M)&255);return y}function He(q,y){let M,Z,AA;const nA=[];for(let cA=0;cA<q.length&&!((y-=2)<0);++cA)M=q.charCodeAt(cA),Z=M>>8,AA=M%256,nA.push(AA),nA.push(Z);return nA}function we(q){return e.toByteArray(kA(q))}function Re(q,y,M,Z){let AA;for(AA=0;AA<Z&&!(AA+M>=y.length||AA>=q.length);++AA)y[AA+M]=q[AA];return AA}function nt(q,y){return q instanceof y||q!=null&&q.constructor!=null&&q.constructor.name!=null&&q.constructor.name===y.name}function Ke(q){return q!==q}const yA=(function(){const q="0123456789abcdef",y=new Array(256);for(let M=0;M<16;++M){const Z=M*16;for(let AA=0;AA<16;++AA)y[Z+AA]=q[M]+q[AA]}return y})();function de(q){return typeof BigInt>"u"?HA:q}function HA(){throw new Error("BigInt not supported")}})(Ci)),Ci}var Dt=gg();const Ss=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Lr(A){return A instanceof Uint8Array||ArrayBuffer.isView(A)&&A.constructor.name==="Uint8Array"}function Ia(A){if(!Number.isSafeInteger(A)||A<0)throw new Error("positive integer expected, got "+A)}function ys(A,...e){if(!Lr(A))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(A.length))throw new Error("Uint8Array expected of length "+e+", got length="+A.length)}function nc(A){if(typeof A!="function"||typeof A.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Ia(A.outputLen),Ia(A.blockLen)}function mn(A,e=!0){if(A.destroyed)throw new Error("Hash instance has been destroyed");if(e&&A.finished)throw new Error("Hash#digest() has already been called")}function Rm(A,e){ys(A);const t=e.outputLen;if(A.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}function Ps(...A){for(let e=0;e<A.length;e++)A[e].fill(0)}function Ii(A){return new DataView(A.buffer,A.byteOffset,A.byteLength)}function Mo(A,e){return A<<32-e|A>>>e}const ic=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Km=Array.from({length:256},(A,e)=>e.toString(16).padStart(2,"0"));function hs(A){if(ys(A),ic)return A.toHex();let e="";for(let t=0;t<A.length;t++)e+=Km[A[t]];return e}const jo={_0:48,_9:57,A:65,F:70,a:97,f:102};function Fl(A){if(A>=jo._0&&A<=jo._9)return A-jo._0;if(A>=jo.A&&A<=jo.F)return A-(jo.A-10);if(A>=jo.a&&A<=jo.f)return A-(jo.a-10)}function wn(A){if(typeof A!="string")throw new Error("hex string expected, got "+typeof A);if(ic)return Uint8Array.fromHex(A);const e=A.length,t=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const s=new Uint8Array(t);for(let n=0,r=0;n<t;n++,r+=2){const i=Fl(A.charCodeAt(r)),a=Fl(A.charCodeAt(r+1));if(i===void 0||a===void 0){const g=A[r]+A[r+1];throw new Error('hex string expected, got non-hex character "'+g+'" at index '+r)}s[n]=i*16+a}return s}function Lm(A){if(typeof A!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(A))}function lg(A){return typeof A=="string"&&(A=Lm(A)),ys(A),A}function bo(...A){let e=0;for(let s=0;s<A.length;s++){const n=A[s];ys(n),e+=n.length}const t=new Uint8Array(e);for(let s=0,n=0;s<A.length;s++){const r=A[s];t.set(r,n),n+=r.length}return t}class ac{}function gc(A){const e=s=>A().update(lg(s)).digest(),t=A();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>A(),e}function Qg(A=32){if(Ss&&typeof Ss.getRandomValues=="function")return Ss.getRandomValues(new Uint8Array(A));if(Ss&&typeof Ss.randomBytes=="function")return Uint8Array.from(Ss.randomBytes(A));throw new Error("crypto.getRandomValues must be defined")}function Jm(A,e,t,s){if(typeof A.setBigUint64=="function")return A.setBigUint64(e,t,s);const n=BigInt(32),r=BigInt(4294967295),i=Number(t>>n&r),a=Number(t&r),g=s?4:0,l=s?0:4;A.setUint32(e+g,i,s),A.setUint32(e+l,a,s)}function jm(A,e,t){return A&e^~A&t}function Tm(A,e,t){return A&e^A&t^e&t}class lc extends ac{constructor(e,t,s,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=s,this.isLE=n,this.buffer=new Uint8Array(e),this.view=Ii(this.buffer)}update(e){mn(this),e=lg(e),ys(e);const{view:t,buffer:s,blockLen:n}=this,r=e.length;for(let i=0;i<r;){const a=Math.min(n-this.pos,r-i);if(a===n){const g=Ii(e);for(;n<=r-i;i+=n)this.process(g,i);continue}s.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===n&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){mn(this),Rm(e,this),this.finished=!0;const{buffer:t,view:s,blockLen:n,isLE:r}=this;let{pos:i}=this;t[i++]=128,Ps(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(s,0),i=0);for(let I=i;I<n;I++)t[I]=0;Jm(s,n-8,BigInt(this.length*8),r),this.process(s,0);const a=Ii(e),g=this.outputLen;if(g%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=g/4,Q=this.get();if(l>Q.length)throw new Error("_sha2: outputLen bigger than state");for(let I=0;I<l;I++)a.setUint32(4*I,Q[I],r)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const s=e.slice(0,t);return this.destroy(),s}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:s,length:n,finished:r,destroyed:i,pos:a}=this;return e.destroyed=i,e.finished=r,e.length=n,e.pos=a,n%t&&e.buffer.set(s),e}clone(){return this._cloneInto()}}const Vo=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Kt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),Zr=BigInt(2**32-1),Gl=BigInt(32);function Om(A,e=!1){return e?{h:Number(A&Zr),l:Number(A>>Gl&Zr)}:{h:Number(A>>Gl&Zr)|0,l:Number(A&Zr)|0}}function qm(A,e=!1){const t=A.length;let s=new Uint32Array(t),n=new Uint32Array(t);for(let r=0;r<t;r++){const{h:i,l:a}=Om(A[r],e);[s[r],n[r]]=[i,a]}return[s,n]}const vl=(A,e,t)=>A>>>t,Sl=(A,e,t)=>A<<32-t|e>>>t,Us=(A,e,t)=>A>>>t|e<<32-t,Rs=(A,e,t)=>A<<32-t|e>>>t,_r=(A,e,t)=>A<<64-t|e>>>t-32,Xr=(A,e,t)=>A>>>t-32|e<<64-t;function To(A,e,t,s){const n=(e>>>0)+(s>>>0);return{h:A+t+(n/2**32|0)|0,l:n|0}}const Ym=(A,e,t)=>(A>>>0)+(e>>>0)+(t>>>0),Hm=(A,e,t,s)=>e+t+s+(A/2**32|0)|0,Pm=(A,e,t,s)=>(A>>>0)+(e>>>0)+(t>>>0)+(s>>>0),Wm=(A,e,t,s,n)=>e+t+s+n+(A/2**32|0)|0,zm=(A,e,t,s,n)=>(A>>>0)+(e>>>0)+(t>>>0)+(s>>>0)+(n>>>0),Vm=(A,e,t,s,n,r)=>e+t+s+n+r+(A/2**32|0)|0,Zm=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Zo=new Uint32Array(64);class _m extends lc{constructor(e=32){super(64,e,8,!1),this.A=Vo[0]|0,this.B=Vo[1]|0,this.C=Vo[2]|0,this.D=Vo[3]|0,this.E=Vo[4]|0,this.F=Vo[5]|0,this.G=Vo[6]|0,this.H=Vo[7]|0}get(){const{A:e,B:t,C:s,D:n,E:r,F:i,G:a,H:g}=this;return[e,t,s,n,r,i,a,g]}set(e,t,s,n,r,i,a,g){this.A=e|0,this.B=t|0,this.C=s|0,this.D=n|0,this.E=r|0,this.F=i|0,this.G=a|0,this.H=g|0}process(e,t){for(let I=0;I<16;I++,t+=4)Zo[I]=e.getUint32(t,!1);for(let I=16;I<64;I++){const C=Zo[I-15],c=Zo[I-2],u=Mo(C,7)^Mo(C,18)^C>>>3,p=Mo(c,17)^Mo(c,19)^c>>>10;Zo[I]=p+Zo[I-7]+u+Zo[I-16]|0}let{A:s,B:n,C:r,D:i,E:a,F:g,G:l,H:Q}=this;for(let I=0;I<64;I++){const C=Mo(a,6)^Mo(a,11)^Mo(a,25),c=Q+C+jm(a,g,l)+Zm[I]+Zo[I]|0,p=(Mo(s,2)^Mo(s,13)^Mo(s,22))+Tm(s,n,r)|0;Q=l,l=g,g=a,a=i+c|0,i=r,r=n,n=s,s=c+p|0}s=s+this.A|0,n=n+this.B|0,r=r+this.C|0,i=i+this.D|0,a=a+this.E|0,g=g+this.F|0,l=l+this.G|0,Q=Q+this.H|0,this.set(s,n,r,i,a,g,l,Q)}roundClean(){Ps(Zo)}destroy(){this.set(0,0,0,0,0,0,0,0),Ps(this.buffer)}}const Qc=qm(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(A=>BigInt(A))),Xm=Qc[0],$m=Qc[1],_o=new Uint32Array(80),Xo=new Uint32Array(80);class Aw extends lc{constructor(e=64){super(128,e,16,!1),this.Ah=Kt[0]|0,this.Al=Kt[1]|0,this.Bh=Kt[2]|0,this.Bl=Kt[3]|0,this.Ch=Kt[4]|0,this.Cl=Kt[5]|0,this.Dh=Kt[6]|0,this.Dl=Kt[7]|0,this.Eh=Kt[8]|0,this.El=Kt[9]|0,this.Fh=Kt[10]|0,this.Fl=Kt[11]|0,this.Gh=Kt[12]|0,this.Gl=Kt[13]|0,this.Hh=Kt[14]|0,this.Hl=Kt[15]|0}get(){const{Ah:e,Al:t,Bh:s,Bl:n,Ch:r,Cl:i,Dh:a,Dl:g,Eh:l,El:Q,Fh:I,Fl:C,Gh:c,Gl:u,Hh:p,Hl:f}=this;return[e,t,s,n,r,i,a,g,l,Q,I,C,c,u,p,f]}set(e,t,s,n,r,i,a,g,l,Q,I,C,c,u,p,f){this.Ah=e|0,this.Al=t|0,this.Bh=s|0,this.Bl=n|0,this.Ch=r|0,this.Cl=i|0,this.Dh=a|0,this.Dl=g|0,this.Eh=l|0,this.El=Q|0,this.Fh=I|0,this.Fl=C|0,this.Gh=c|0,this.Gl=u|0,this.Hh=p|0,this.Hl=f|0}process(e,t){for(let D=0;D<16;D++,t+=4)_o[D]=e.getUint32(t),Xo[D]=e.getUint32(t+=4);for(let D=16;D<80;D++){const j=_o[D-15]|0,K=Xo[D-15]|0,V=Us(j,K,1)^Us(j,K,8)^vl(j,K,7),eA=Rs(j,K,1)^Rs(j,K,8)^Sl(j,K,7),X=_o[D-2]|0,R=Xo[D-2]|0,W=Us(X,R,19)^_r(X,R,61)^vl(X,R,6),O=Rs(X,R,19)^Xr(X,R,61)^Sl(X,R,6),L=Pm(eA,O,Xo[D-7],Xo[D-16]),w=Wm(L,V,W,_o[D-7],_o[D-16]);_o[D]=w|0,Xo[D]=L|0}let{Ah:s,Al:n,Bh:r,Bl:i,Ch:a,Cl:g,Dh:l,Dl:Q,Eh:I,El:C,Fh:c,Fl:u,Gh:p,Gl:f,Hh:k,Hl:v}=this;for(let D=0;D<80;D++){const j=Us(I,C,14)^Us(I,C,18)^_r(I,C,41),K=Rs(I,C,14)^Rs(I,C,18)^Xr(I,C,41),V=I&c^~I&p,eA=C&u^~C&f,X=zm(v,K,eA,$m[D],Xo[D]),R=Vm(X,k,j,V,Xm[D],_o[D]),W=X|0,O=Us(s,n,28)^_r(s,n,34)^_r(s,n,39),L=Rs(s,n,28)^Xr(s,n,34)^Xr(s,n,39),w=s&r^s&a^r&a,B=n&i^n&g^i&g;k=p|0,v=f|0,p=c|0,f=u|0,c=I|0,u=C|0,{h:I,l:C}=To(l|0,Q|0,R|0,W|0),l=a|0,Q=g|0,a=r|0,g=i|0,r=s|0,i=n|0;const d=Ym(W,L,B);s=Hm(d,R,O,w),n=d|0}({h:s,l:n}=To(this.Ah|0,this.Al|0,s|0,n|0)),{h:r,l:i}=To(this.Bh|0,this.Bl|0,r|0,i|0),{h:a,l:g}=To(this.Ch|0,this.Cl|0,a|0,g|0),{h:l,l:Q}=To(this.Dh|0,this.Dl|0,l|0,Q|0),{h:I,l:C}=To(this.Eh|0,this.El|0,I|0,C|0),{h:c,l:u}=To(this.Fh|0,this.Fl|0,c|0,u|0),{h:p,l:f}=To(this.Gh|0,this.Gl|0,p|0,f|0),{h:k,l:v}=To(this.Hh|0,this.Hl|0,k|0,v|0),this.set(s,n,r,i,a,g,l,Q,I,C,c,u,p,f,k,v)}roundClean(){Ps(_o,Xo)}destroy(){Ps(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const Bc=gc(()=>new _m),ew=gc(()=>new Aw);const Bg=BigInt(0),ua=BigInt(1);function ms(A,e=""){if(typeof A!="boolean"){const t=e&&`"${e}"`;throw new Error(t+"expected boolean, got type="+typeof A)}return A}function uo(A,e,t=""){const s=Lr(A),n=A?.length,r=e!==void 0;if(!s||r&&n!==e){const i=t&&`"${t}" `,a=r?` of length ${e}`:"",g=s?`length=${n}`:`type=${typeof A}`;throw new Error(i+"expected Uint8Array"+a+", got "+g)}return A}function $r(A){const e=A.toString(16);return e.length&1?"0"+e:e}function cc(A){if(typeof A!="string")throw new Error("hex string expected, got "+typeof A);return A===""?Bg:BigInt("0x"+A)}function Vn(A){return cc(hs(A))}function mr(A){return ys(A),cc(hs(Uint8Array.from(A).reverse()))}function cg(A,e){return wn(A.toString(16).padStart(e*2,"0"))}function Ec(A,e){return cg(A,e).reverse()}function ut(A,e,t){let s;if(typeof e=="string")try{s=wn(e)}catch(r){throw new Error(A+" must be hex string or Uint8Array, cause: "+r)}else if(Lr(e))s=Uint8Array.from(e);else throw new Error(A+" must be hex string or Uint8Array");const n=s.length;if(typeof t=="number"&&n!==t)throw new Error(A+" of length "+t+" expected, got "+n);return s}function Ul(A){return Uint8Array.from(A)}const ui=A=>typeof A=="bigint"&&Bg<=A;function tw(A,e,t){return ui(A)&&ui(e)&&ui(t)&&e<=A&&A<t}function da(A,e,t,s){if(!tw(e,t,s))throw new Error("expected valid "+A+": "+t+" <= n < "+s+", got "+e)}function Cc(A){let e;for(e=0;A>Bg;A>>=ua,e+=1);return e}const Jr=A=>(ua<<BigInt(A))-ua;function ow(A,e,t){if(typeof A!="number"||A<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");const s=c=>new Uint8Array(c),n=c=>Uint8Array.of(c);let r=s(A),i=s(A),a=0;const g=()=>{r.fill(1),i.fill(0),a=0},l=(...c)=>t(i,r,...c),Q=(c=s(0))=>{i=l(n(0),c),r=l(),c.length!==0&&(i=l(n(1),c),r=l())},I=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let c=0;const u=[];for(;c<e;){r=l();const p=r.slice();u.push(p),c+=r.length}return bo(...u)};return(c,u)=>{g(),Q(c);let p;for(;!(p=u(I()));)Q();return g(),p}}function jr(A,e,t={}){if(!A||typeof A!="object")throw new Error("expected valid options object");function s(n,r,i){const a=A[n];if(i&&a===void 0)return;const g=typeof a;if(g!==r||a===null)throw new Error(`param "${n}" is invalid: expected ${r}, got ${g}`)}Object.entries(e).forEach(([n,r])=>s(n,r,!1)),Object.entries(t).forEach(([n,r])=>s(n,r,!0))}function xn(A){const e=new WeakMap;return(t,...s)=>{const n=e.get(t);if(n!==void 0)return n;const r=A(t,...s);return e.set(t,r),r}}const to=BigInt(0),St=BigInt(1),Cs=BigInt(2),Ic=BigInt(3),uc=BigInt(4),dc=BigInt(5),sw=BigInt(7),hc=BigInt(8),rw=BigInt(9),fc=BigInt(16);function wt(A,e){const t=A%e;return t>=to?t:e+t}function It(A,e,t){let s=A;for(;e-- >to;)s*=s,s%=t;return s}function Rl(A,e){if(A===to)throw new Error("invert: expected non-zero number");if(e<=to)throw new Error("invert: expected positive modulus, got "+e);let t=wt(A,e),s=e,n=to,r=St;for(;t!==to;){const a=s/t,g=s%t,l=n-r*a;s=t,t=g,n=r,r=l}if(s!==St)throw new Error("invert: does not exist");return wt(n,e)}function Eg(A,e,t){if(!A.eql(A.sqr(e),t))throw new Error("Cannot find square root")}function pc(A,e){const t=(A.ORDER+St)/uc,s=A.pow(e,t);return Eg(A,s,e),s}function nw(A,e){const t=(A.ORDER-dc)/hc,s=A.mul(e,Cs),n=A.pow(s,t),r=A.mul(e,n),i=A.mul(A.mul(r,Cs),n),a=A.mul(r,A.sub(i,A.ONE));return Eg(A,a,e),a}function iw(A){const e=Ns(A),t=mc(A),s=t(e,e.neg(e.ONE)),n=t(e,s),r=t(e,e.neg(s)),i=(A+sw)/fc;return(a,g)=>{let l=a.pow(g,i),Q=a.mul(l,s);const I=a.mul(l,n),C=a.mul(l,r),c=a.eql(a.sqr(Q),g),u=a.eql(a.sqr(I),g);l=a.cmov(l,Q,c),Q=a.cmov(C,I,u);const p=a.eql(a.sqr(Q),g),f=a.cmov(l,Q,p);return Eg(a,f,g),f}}function mc(A){if(A<Ic)throw new Error("sqrt is not defined for small field");let e=A-St,t=0;for(;e%Cs===to;)e/=Cs,t++;let s=Cs;const n=Ns(A);for(;Kl(n,s)===1;)if(s++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(t===1)return pc;let r=n.pow(s,e);const i=(e+St)/Cs;return function(g,l){if(g.is0(l))return l;if(Kl(g,l)!==1)throw new Error("Cannot find square root");let Q=t,I=g.mul(g.ONE,r),C=g.pow(l,e),c=g.pow(l,i);for(;!g.eql(C,g.ONE);){if(g.is0(C))return g.ZERO;let u=1,p=g.sqr(C);for(;!g.eql(p,g.ONE);)if(u++,p=g.sqr(p),u===Q)throw new Error("Cannot find square root");const f=St<<BigInt(Q-u-1),k=g.pow(I,f);Q=u,I=g.sqr(k),C=g.mul(C,I),c=g.mul(c,k)}return c}}function aw(A){return A%uc===Ic?pc:A%hc===dc?nw:A%fc===rw?iw(A):mc(A)}const gw=(A,e)=>(wt(A,e)&St)===St,lw=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Qw(A){const e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},t=lw.reduce((s,n)=>(s[n]="function",s),e);return jr(A,t),A}function Bw(A,e,t){if(t<to)throw new Error("invalid exponent, negatives unsupported");if(t===to)return A.ONE;if(t===St)return e;let s=A.ONE,n=e;for(;t>to;)t&St&&(s=A.mul(s,n)),n=A.sqr(n),t>>=St;return s}function wc(A,e,t=!1){const s=new Array(e.length).fill(t?A.ZERO:void 0),n=e.reduce((i,a,g)=>A.is0(a)?i:(s[g]=i,A.mul(i,a)),A.ONE),r=A.inv(n);return e.reduceRight((i,a,g)=>A.is0(a)?i:(s[g]=A.mul(i,s[g]),A.mul(i,a)),r),s}function Kl(A,e){const t=(A.ORDER-St)/Cs,s=A.pow(e,t),n=A.eql(s,A.ONE),r=A.eql(s,A.ZERO),i=A.eql(s,A.neg(A.ONE));if(!n&&!r&&!i)throw new Error("invalid Legendre symbol result");return n?1:r?0:-1}function xc(A,e){e!==void 0&&Ia(e);const t=e!==void 0?e:A.toString(2).length,s=Math.ceil(t/8);return{nBitLength:t,nByteLength:s}}function Ns(A,e,t=!1,s={}){if(A<=to)throw new Error("invalid field: expected ORDER > 0, got "+A);let n,r,i=!1,a;if(typeof e=="object"&&e!=null){if(s.sqrt||t)throw new Error("cannot specify opts in two arguments");const C=e;C.BITS&&(n=C.BITS),C.sqrt&&(r=C.sqrt),typeof C.isLE=="boolean"&&(t=C.isLE),typeof C.modFromBytes=="boolean"&&(i=C.modFromBytes),a=C.allowedLengths}else typeof e=="number"&&(n=e),s.sqrt&&(r=s.sqrt);const{nBitLength:g,nByteLength:l}=xc(A,n);if(l>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let Q;const I=Object.freeze({ORDER:A,isLE:t,BITS:g,BYTES:l,MASK:Jr(g),ZERO:to,ONE:St,allowedLengths:a,create:C=>wt(C,A),isValid:C=>{if(typeof C!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof C);return to<=C&&C<A},is0:C=>C===to,isValidNot0:C=>!I.is0(C)&&I.isValid(C),isOdd:C=>(C&St)===St,neg:C=>wt(-C,A),eql:(C,c)=>C===c,sqr:C=>wt(C*C,A),add:(C,c)=>wt(C+c,A),sub:(C,c)=>wt(C-c,A),mul:(C,c)=>wt(C*c,A),pow:(C,c)=>Bw(I,C,c),div:(C,c)=>wt(C*Rl(c,A),A),sqrN:C=>C*C,addN:(C,c)=>C+c,subN:(C,c)=>C-c,mulN:(C,c)=>C*c,inv:C=>Rl(C,A),sqrt:r||(C=>(Q||(Q=aw(A)),Q(I,C))),toBytes:C=>t?Ec(C,l):cg(C,l),fromBytes:(C,c=!0)=>{if(a){if(!a.includes(C.length)||C.length>l)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+C.length);const p=new Uint8Array(l);p.set(C,t?0:p.length-C.length),C=p}if(C.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+C.length);let u=t?mr(C):Vn(C);if(i&&(u=wt(u,A)),!c&&!I.isValid(u))throw new Error("invalid field element: outside of range 0..ORDER");return u},invertBatch:C=>wc(I,C),cmov:(C,c,u)=>u?c:C});return Object.freeze(I)}function Dc(A){if(typeof A!="bigint")throw new Error("field order must be bigint");const e=A.toString(2).length;return Math.ceil(e/8)}function yc(A){const e=Dc(A);return e+Math.ceil(e/2)}function cw(A,e,t=!1){const s=A.length,n=Dc(e),r=yc(e);if(s<16||s<r||s>1024)throw new Error("expected "+r+"-1024 bytes of input, got "+s);const i=t?mr(A):Vn(A),a=wt(i,e-St)+St;return t?Ec(a,n):cg(a,n)}const Ws=BigInt(0),Is=BigInt(1);function Dn(A,e){const t=e.negate();return A?t:e}function us(A,e){const t=wc(A.Fp,e.map(s=>s.Z));return e.map((s,n)=>A.fromAffine(s.toAffine(t[n])))}function Nc(A,e){if(!Number.isSafeInteger(A)||A<=0||A>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+A)}function di(A,e){Nc(A,e);const t=Math.ceil(e/A)+1,s=2**(A-1),n=2**A,r=Jr(A),i=BigInt(A);return{windows:t,windowSize:s,mask:r,maxNumber:n,shiftBy:i}}function Ll(A,e,t){const{windowSize:s,mask:n,maxNumber:r,shiftBy:i}=t;let a=Number(A&n),g=A>>i;a>s&&(a-=r,g+=Is);const l=e*s,Q=l+Math.abs(a)-1,I=a===0,C=a<0,c=e%2!==0;return{nextN:g,offset:Q,isZero:I,isNeg:C,isNegF:c,offsetF:l}}function Ew(A,e){if(!Array.isArray(A))throw new Error("array expected");A.forEach((t,s)=>{if(!(t instanceof e))throw new Error("invalid point at index "+s)})}function Cw(A,e){if(!Array.isArray(A))throw new Error("array of scalars expected");A.forEach((t,s)=>{if(!e.isValid(t))throw new Error("invalid scalar at index "+s)})}const hi=new WeakMap,kc=new WeakMap;function fi(A){return kc.get(A)||1}function Jl(A){if(A!==Ws)throw new Error("invalid wNAF")}class Mc{constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,s=this.ZERO){let n=e;for(;t>Ws;)t&Is&&(s=s.add(n)),n=n.double(),t>>=Is;return s}precomputeWindow(e,t){const{windows:s,windowSize:n}=di(t,this.bits),r=[];let i=e,a=i;for(let g=0;g<s;g++){a=i,r.push(a);for(let l=1;l<n;l++)a=a.add(i),r.push(a);i=a.double()}return r}wNAF(e,t,s){if(!this.Fn.isValid(s))throw new Error("invalid scalar");let n=this.ZERO,r=this.BASE;const i=di(e,this.bits);for(let a=0;a<i.windows;a++){const{nextN:g,offset:l,isZero:Q,isNeg:I,isNegF:C,offsetF:c}=Ll(s,a,i);s=g,Q?r=r.add(Dn(C,t[c])):n=n.add(Dn(I,t[l]))}return Jl(s),{p:n,f:r}}wNAFUnsafe(e,t,s,n=this.ZERO){const r=di(e,this.bits);for(let i=0;i<r.windows&&s!==Ws;i++){const{nextN:a,offset:g,isZero:l,isNeg:Q}=Ll(s,i,r);if(s=a,!l){const I=t[g];n=n.add(Q?I.negate():I)}}return Jl(s),n}getPrecomputes(e,t,s){let n=hi.get(t);return n||(n=this.precomputeWindow(t,e),e!==1&&(typeof s=="function"&&(n=s(n)),hi.set(t,n))),n}cached(e,t,s){const n=fi(e);return this.wNAF(n,this.getPrecomputes(n,e,s),t)}unsafe(e,t,s,n){const r=fi(e);return r===1?this._unsafeLadder(e,t,n):this.wNAFUnsafe(r,this.getPrecomputes(r,e,s),t,n)}createCache(e,t){Nc(t,this.bits),kc.set(e,t),hi.delete(e)}hasCache(e){return fi(e)!==1}}function Iw(A,e,t,s){let n=e,r=A.ZERO,i=A.ZERO;for(;t>Ws||s>Ws;)t&Is&&(r=r.add(n)),s&Is&&(i=i.add(n)),n=n.double(),t>>=Is,s>>=Is;return{p1:r,p2:i}}function bc(A,e,t,s){Ew(t,A),Cw(s,e);const n=t.length,r=s.length;if(n!==r)throw new Error("arrays of points and scalars must have equal length");const i=A.ZERO,a=Cc(BigInt(n));let g=1;a>12?g=a-3:a>4?g=a-2:a>0&&(g=2);const l=Jr(g),Q=new Array(Number(l)+1).fill(i),I=Math.floor((e.BITS-1)/g)*g;let C=i;for(let c=I;c>=0;c-=g){Q.fill(i);for(let p=0;p<r;p++){const f=s[p],k=Number(f>>BigInt(c)&l);Q[k]=Q[k].add(t[p])}let u=i;for(let p=Q.length-1,f=i;p>0;p--)f=f.add(Q[p]),u=u.add(f);if(C=C.add(u),c!==0)for(let p=0;p<g;p++)C=C.double()}return C}function jl(A,e,t){if(e){if(e.ORDER!==A)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Qw(e),e}else return Ns(A,{isLE:t})}function Fc(A,e,t={},s){if(s===void 0&&(s=A==="edwards"),!e||typeof e!="object")throw new Error(`expected valid ${A} CURVE object`);for(const g of["p","n","h"]){const l=e[g];if(!(typeof l=="bigint"&&l>Ws))throw new Error(`CURVE.${g} must be positive bigint`)}const n=jl(e.p,t.Fp,s),r=jl(e.n,t.Fn,s),a=["Gx","Gy","a",A==="weierstrass"?"b":"d"];for(const g of a)if(!n.isValid(e[g]))throw new Error(`CURVE.${g} must be valid field element of CURVE.Fp`);return e=Object.freeze(Object.assign({},e)),{CURVE:e,Fp:n,Fn:r}}const $o=BigInt(0),Nt=BigInt(1),pi=BigInt(2),uw=BigInt(8);function dw(A,e,t,s){const n=A.sqr(t),r=A.sqr(s),i=A.add(A.mul(e.a,n),r),a=A.add(A.ONE,A.mul(e.d,A.mul(n,r)));return A.eql(i,a)}function hw(A,e={}){const t=Fc("edwards",A,e,e.FpFnLE),{Fp:s,Fn:n}=t;let r=t.CURVE;const{h:i}=r;jr(e,{},{uvRatio:"function"});const a=pi<<BigInt(n.BYTES*8)-Nt,g=f=>s.create(f),l=e.uvRatio||((f,k)=>{try{return{isValid:!0,value:s.sqrt(s.div(f,k))}}catch{return{isValid:!1,value:$o}}});if(!dw(s,r,r.Gx,r.Gy))throw new Error("bad curve params: generator point");function Q(f,k,v=!1){const D=v?Nt:$o;return da("coordinate "+f,k,D,a),k}function I(f){if(!(f instanceof u))throw new Error("ExtendedPoint expected")}const C=xn((f,k)=>{const{X:v,Y:D,Z:j}=f,K=f.is0();k==null&&(k=K?uw:s.inv(j));const V=g(v*k),eA=g(D*k),X=s.mul(j,k);if(K)return{x:$o,y:Nt};if(X!==Nt)throw new Error("invZ was invalid");return{x:V,y:eA}}),c=xn(f=>{const{a:k,d:v}=r;if(f.is0())throw new Error("bad point: ZERO");const{X:D,Y:j,Z:K,T:V}=f,eA=g(D*D),X=g(j*j),R=g(K*K),W=g(R*R),O=g(eA*k),L=g(R*g(O+X)),w=g(W+g(v*g(eA*X)));if(L!==w)throw new Error("bad point: equation left != right (1)");const B=g(D*j),d=g(K*V);if(B!==d)throw new Error("bad point: equation left != right (2)");return!0});class u{constructor(k,v,D,j){this.X=Q("x",k),this.Y=Q("y",v),this.Z=Q("z",D,!0),this.T=Q("t",j),Object.freeze(this)}static CURVE(){return r}static fromAffine(k){if(k instanceof u)throw new Error("extended point not allowed");const{x:v,y:D}=k||{};return Q("x",v),Q("y",D),new u(v,D,Nt,g(v*D))}static fromBytes(k,v=!1){const D=s.BYTES,{a:j,d:K}=r;k=Ul(uo(k,D,"point")),ms(v,"zip215");const V=Ul(k),eA=k[D-1];V[D-1]=eA&-129;const X=mr(V),R=v?a:s.ORDER;da("point.y",X,$o,R);const W=g(X*X),O=g(W-Nt),L=g(K*W-j);let{isValid:w,value:B}=l(O,L);if(!w)throw new Error("bad point: invalid y coordinate");const d=(B&Nt)===Nt,N=(eA&128)!==0;if(!v&&B===$o&&N)throw new Error("bad point: x=0 and x_0=1");return N!==d&&(B=g(-B)),u.fromAffine({x:B,y:X})}static fromHex(k,v=!1){return u.fromBytes(ut("point",k),v)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(k=8,v=!0){return p.createCache(this,k),v||this.multiply(pi),this}assertValidity(){c(this)}equals(k){I(k);const{X:v,Y:D,Z:j}=this,{X:K,Y:V,Z:eA}=k,X=g(v*eA),R=g(K*j),W=g(D*eA),O=g(V*j);return X===R&&W===O}is0(){return this.equals(u.ZERO)}negate(){return new u(g(-this.X),this.Y,this.Z,g(-this.T))}double(){const{a:k}=r,{X:v,Y:D,Z:j}=this,K=g(v*v),V=g(D*D),eA=g(pi*g(j*j)),X=g(k*K),R=v+D,W=g(g(R*R)-K-V),O=X+V,L=O-eA,w=X-V,B=g(W*L),d=g(O*w),N=g(W*w),G=g(L*O);return new u(B,d,G,N)}add(k){I(k);const{a:v,d:D}=r,{X:j,Y:K,Z:V,T:eA}=this,{X,Y:R,Z:W,T:O}=k,L=g(j*X),w=g(K*R),B=g(eA*D*O),d=g(V*W),N=g((j+K)*(X+R)-L-w),G=d-B,J=d+B,Y=g(w-v*L),T=g(N*G),b=g(J*Y),E=g(N*Y),h=g(G*J);return new u(T,b,h,E)}subtract(k){return this.add(k.negate())}multiply(k){if(!n.isValidNot0(k))throw new Error("invalid scalar: expected 1 <= sc < curve.n");const{p:v,f:D}=p.cached(this,k,j=>us(u,j));return us(u,[v,D])[0]}multiplyUnsafe(k,v=u.ZERO){if(!n.isValid(k))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return k===$o?u.ZERO:this.is0()||k===Nt?this:p.unsafe(this,k,D=>us(u,D),v)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return p.unsafe(this,r.n).is0()}toAffine(k){return C(this,k)}clearCofactor(){return i===Nt?this:this.multiplyUnsafe(i)}toBytes(){const{x:k,y:v}=this.toAffine(),D=s.toBytes(v);return D[D.length-1]|=k&Nt?128:0,D}toHex(){return hs(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(k){return us(u,k)}static msm(k,v){return bc(u,n,k,v)}_setWindowSize(k){this.precompute(k)}toRawBytes(){return this.toBytes()}}u.BASE=new u(r.Gx,r.Gy,Nt,g(r.Gx*r.Gy)),u.ZERO=new u($o,Nt,Nt,$o),u.Fp=s,u.Fn=n;const p=new Mc(u,n.BITS);return u.BASE.precompute(8),u}function fw(A,e,t={}){if(typeof e!="function")throw new Error('"hash" function param is required');jr(t,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});const{prehash:s}=t,{BASE:n,Fp:r,Fn:i}=A,a=t.randomBytes||Qg,g=t.adjustScalarBytes||(R=>R),l=t.domain||((R,W,O)=>{if(ms(O,"phflag"),W.length||O)throw new Error("Contexts/pre-hash are not supported");return R});function Q(R){return i.create(mr(R))}function I(R){const W=D.secretKey;R=ut("private key",R,W);const O=ut("hashed private key",e(R),2*W),L=g(O.slice(0,W)),w=O.slice(W,2*W),B=Q(L);return{head:L,prefix:w,scalar:B}}function C(R){const{head:W,prefix:O,scalar:L}=I(R),w=n.multiply(L),B=w.toBytes();return{head:W,prefix:O,scalar:L,point:w,pointBytes:B}}function c(R){return C(R).pointBytes}function u(R=Uint8Array.of(),...W){const O=bo(...W);return Q(e(l(O,ut("context",R),!!s)))}function p(R,W,O={}){R=ut("message",R),s&&(R=s(R));const{prefix:L,scalar:w,pointBytes:B}=C(W),d=u(O.context,L,R),N=n.multiply(d).toBytes(),G=u(O.context,N,B,R),J=i.create(d+G*w);if(!i.isValid(J))throw new Error("sign failed: invalid s");const Y=bo(N,i.toBytes(J));return uo(Y,D.signature,"result")}const f={zip215:!0};function k(R,W,O,L=f){const{context:w,zip215:B}=L,d=D.signature;R=ut("signature",R,d),W=ut("message",W),O=ut("publicKey",O,D.publicKey),B!==void 0&&ms(B,"zip215"),s&&(W=s(W));const N=d/2,G=R.subarray(0,N),J=mr(R.subarray(N,d));let Y,T,b;try{Y=A.fromBytes(O,B),T=A.fromBytes(G,B),b=n.multiplyUnsafe(J)}catch{return!1}if(!B&&Y.isSmallOrder())return!1;const E=u(w,T.toBytes(),Y.toBytes(),W);return T.add(Y.multiplyUnsafe(E)).subtract(b).clearCofactor().is0()}const v=r.BYTES,D={secretKey:v,publicKey:v,signature:2*v,seed:v};function j(R=a(D.seed)){return uo(R,D.seed,"seed")}function K(R){const W=X.randomSecretKey(R);return{secretKey:W,publicKey:c(W)}}function V(R){return Lr(R)&&R.length===i.BYTES}function eA(R,W){try{return!!A.fromBytes(R,W)}catch{return!1}}const X={getExtendedPublicKey:C,randomSecretKey:j,isValidSecretKey:V,isValidPublicKey:eA,toMontgomery(R){const{y:W}=A.fromBytes(R),O=D.publicKey,L=O===32;if(!L&&O!==57)throw new Error("only defined for 25519 and 448");const w=L?r.div(Nt+W,Nt-W):r.div(W-Nt,W+Nt);return r.toBytes(w)},toMontgomerySecret(R){const W=D.secretKey;uo(R,W);const O=e(R.subarray(0,W));return g(O).subarray(0,W)},randomPrivateKey:j,precompute(R=8,W=A.BASE){return W.precompute(R,!1)}};return Object.freeze({keygen:K,getPublicKey:c,sign:p,verify:k,utils:X,Point:A,lengths:D})}function pw(A){const e={a:A.a,d:A.d,p:A.Fp.ORDER,n:A.n,h:A.h,Gx:A.Gx,Gy:A.Gy},t=A.Fp,s=Ns(e.n,A.nBitLength,!0),n={Fp:t,Fn:s,uvRatio:A.uvRatio},r={randomBytes:A.randomBytes,adjustScalarBytes:A.adjustScalarBytes,domain:A.domain,prehash:A.prehash,mapToCurve:A.mapToCurve};return{CURVE:e,curveOpts:n,hash:A.hash,eddsaOpts:r}}function mw(A,e){const t=e.Point;return Object.assign({},e,{ExtendedPoint:t,CURVE:A,nBitLength:t.Fn.BITS,nByteLength:t.Fn.BYTES})}function ww(A){const{CURVE:e,curveOpts:t,hash:s,eddsaOpts:n}=pw(A),r=hw(e,t),i=fw(r,s,n);return mw(A,i)}const xw=BigInt(1),Tl=BigInt(2);BigInt(3);const Dw=BigInt(5),yw=BigInt(8),Cg=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Gc={p:Cg,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:yw,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Nw(A){const e=BigInt(10),t=BigInt(20),s=BigInt(40),n=BigInt(80),r=Cg,a=A*A%r*A%r,g=It(a,Tl,r)*a%r,l=It(g,xw,r)*A%r,Q=It(l,Dw,r)*l%r,I=It(Q,e,r)*Q%r,C=It(I,t,r)*I%r,c=It(C,s,r)*C%r,u=It(c,n,r)*c%r,p=It(u,n,r)*c%r,f=It(p,e,r)*Q%r;return{pow_p_5_8:It(f,Tl,r)*A%r,b2:a}}function kw(A){return A[0]&=248,A[31]&=127,A[31]|=64,A}const Ol=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Mw(A,e){const t=Cg,s=wt(e*e*e,t),n=wt(s*s*e,t),r=Nw(A*n).pow_p_5_8;let i=wt(A*s*r,t);const a=wt(e*i*i,t),g=i,l=wt(i*Ol,t),Q=a===A,I=a===wt(-A,t),C=a===wt(-A*Ol,t);return Q&&(i=g),(I||C)&&(i=l),gw(i,t)&&(i=wt(-i,t)),{isValid:Q||I,value:i}}const bw=Ns(Gc.p,{isLE:!0}),Fw={...Gc,Fp:bw,hash:ew,adjustScalarBytes:kw,uvRatio:Mw},Zn=ww(Fw);var En={exports:{}};const Gw={},vw=Object.freeze(Object.defineProperty({__proto__:null,default:Gw},Symbol.toStringTag,{value:"Module"})),vc=ba(vw);var Sw=En.exports,ql;function Sc(){return ql||(ql=1,(function(A){(function(e,t){function s(w,B){if(!w)throw new Error(B||"Assertion failed")}function n(w,B){w.super_=B;var d=function(){};d.prototype=B.prototype,w.prototype=new d,w.prototype.constructor=w}function r(w,B,d){if(r.isBN(w))return w;this.negative=0,this.words=null,this.length=0,this.red=null,w!==null&&((B==="le"||B==="be")&&(d=B,B=10),this._init(w||0,B||10,d||"be"))}typeof e=="object"?e.exports=r:t.BN=r,r.BN=r,r.wordSize=26;var i;try{typeof window<"u"&&typeof window.Buffer<"u"?i=window.Buffer:i=vc.Buffer}catch{}r.isBN=function(B){return B instanceof r?!0:B!==null&&typeof B=="object"&&B.constructor.wordSize===r.wordSize&&Array.isArray(B.words)},r.max=function(B,d){return B.cmp(d)>0?B:d},r.min=function(B,d){return B.cmp(d)<0?B:d},r.prototype._init=function(B,d,N){if(typeof B=="number")return this._initNumber(B,d,N);if(typeof B=="object")return this._initArray(B,d,N);d==="hex"&&(d=16),s(d===(d|0)&&d>=2&&d<=36),B=B.toString().replace(/\s+/g,"");var G=0;B[0]==="-"&&(G++,this.negative=1),G<B.length&&(d===16?this._parseHex(B,G,N):(this._parseBase(B,d,G),N==="le"&&this._initArray(this.toArray(),d,N)))},r.prototype._initNumber=function(B,d,N){B<0&&(this.negative=1,B=-B),B<67108864?(this.words=[B&67108863],this.length=1):B<4503599627370496?(this.words=[B&67108863,B/67108864&67108863],this.length=2):(s(B<9007199254740992),this.words=[B&67108863,B/67108864&67108863,1],this.length=3),N==="le"&&this._initArray(this.toArray(),d,N)},r.prototype._initArray=function(B,d,N){if(s(typeof B.length=="number"),B.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(B.length/3),this.words=new Array(this.length);for(var G=0;G<this.length;G++)this.words[G]=0;var J,Y,T=0;if(N==="be")for(G=B.length-1,J=0;G>=0;G-=3)Y=B[G]|B[G-1]<<8|B[G-2]<<16,this.words[J]|=Y<<T&67108863,this.words[J+1]=Y>>>26-T&67108863,T+=24,T>=26&&(T-=26,J++);else if(N==="le")for(G=0,J=0;G<B.length;G+=3)Y=B[G]|B[G+1]<<8|B[G+2]<<16,this.words[J]|=Y<<T&67108863,this.words[J+1]=Y>>>26-T&67108863,T+=24,T>=26&&(T-=26,J++);return this._strip()};function a(w,B){var d=w.charCodeAt(B);if(d>=48&&d<=57)return d-48;if(d>=65&&d<=70)return d-55;if(d>=97&&d<=102)return d-87;s(!1,"Invalid character in "+w)}function g(w,B,d){var N=a(w,d);return d-1>=B&&(N|=a(w,d-1)<<4),N}r.prototype._parseHex=function(B,d,N){this.length=Math.ceil((B.length-d)/6),this.words=new Array(this.length);for(var G=0;G<this.length;G++)this.words[G]=0;var J=0,Y=0,T;if(N==="be")for(G=B.length-1;G>=d;G-=2)T=g(B,d,G)<<J,this.words[Y]|=T&67108863,J>=18?(J-=18,Y+=1,this.words[Y]|=T>>>26):J+=8;else{var b=B.length-d;for(G=b%2===0?d+1:d;G<B.length;G+=2)T=g(B,d,G)<<J,this.words[Y]|=T&67108863,J>=18?(J-=18,Y+=1,this.words[Y]|=T>>>26):J+=8}this._strip()};function l(w,B,d,N){for(var G=0,J=0,Y=Math.min(w.length,d),T=B;T<Y;T++){var b=w.charCodeAt(T)-48;G*=N,b>=49?J=b-49+10:b>=17?J=b-17+10:J=b,s(b>=0&&J<N,"Invalid character"),G+=J}return G}r.prototype._parseBase=function(B,d,N){this.words=[0],this.length=1;for(var G=0,J=1;J<=67108863;J*=d)G++;G--,J=J/d|0;for(var Y=B.length-N,T=Y%G,b=Math.min(Y,Y-T)+N,E=0,h=N;h<b;h+=G)E=l(B,h,h+G,d),this.imuln(J),this.words[0]+E<67108864?this.words[0]+=E:this._iaddn(E);if(T!==0){var S=1;for(E=l(B,h,B.length,d),h=0;h<T;h++)S*=d;this.imuln(S),this.words[0]+E<67108864?this.words[0]+=E:this._iaddn(E)}this._strip()},r.prototype.copy=function(B){B.words=new Array(this.length);for(var d=0;d<this.length;d++)B.words[d]=this.words[d];B.length=this.length,B.negative=this.negative,B.red=this.red};function Q(w,B){w.words=B.words,w.length=B.length,w.negative=B.negative,w.red=B.red}if(r.prototype._move=function(B){Q(B,this)},r.prototype.clone=function(){var B=new r(null);return this.copy(B),B},r.prototype._expand=function(B){for(;this.length<B;)this.words[this.length++]=0;return this},r.prototype._strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},r.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{r.prototype[Symbol.for("nodejs.util.inspect.custom")]=I}catch{r.prototype.inspect=I}else r.prototype.inspect=I;function I(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var C=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],u=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];r.prototype.toString=function(B,d){B=B||10,d=d|0||1;var N;if(B===16||B==="hex"){N="";for(var G=0,J=0,Y=0;Y<this.length;Y++){var T=this.words[Y],b=((T<<G|J)&16777215).toString(16);J=T>>>24-G&16777215,G+=2,G>=26&&(G-=26,Y--),J!==0||Y!==this.length-1?N=C[6-b.length]+b+N:N=b+N}for(J!==0&&(N=J.toString(16)+N);N.length%d!==0;)N="0"+N;return this.negative!==0&&(N="-"+N),N}if(B===(B|0)&&B>=2&&B<=36){var E=c[B],h=u[B];N="";var S=this.clone();for(S.negative=0;!S.isZero();){var U=S.modrn(h).toString(B);S=S.idivn(h),S.isZero()?N=U+N:N=C[E-U.length]+U+N}for(this.isZero()&&(N="0"+N);N.length%d!==0;)N="0"+N;return this.negative!==0&&(N="-"+N),N}s(!1,"Base should be between 2 and 36")},r.prototype.toNumber=function(){var B=this.words[0];return this.length===2?B+=this.words[1]*67108864:this.length===3&&this.words[2]===1?B+=4503599627370496+this.words[1]*67108864:this.length>2&&s(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-B:B},r.prototype.toJSON=function(){return this.toString(16,2)},i&&(r.prototype.toBuffer=function(B,d){return this.toArrayLike(i,B,d)}),r.prototype.toArray=function(B,d){return this.toArrayLike(Array,B,d)};var p=function(B,d){return B.allocUnsafe?B.allocUnsafe(d):new B(d)};r.prototype.toArrayLike=function(B,d,N){this._strip();var G=this.byteLength(),J=N||Math.max(1,G);s(G<=J,"byte array longer than desired length"),s(J>0,"Requested array length <= 0");var Y=p(B,J),T=d==="le"?"LE":"BE";return this["_toArrayLike"+T](Y,G),Y},r.prototype._toArrayLikeLE=function(B,d){for(var N=0,G=0,J=0,Y=0;J<this.length;J++){var T=this.words[J]<<Y|G;B[N++]=T&255,N<B.length&&(B[N++]=T>>8&255),N<B.length&&(B[N++]=T>>16&255),Y===6?(N<B.length&&(B[N++]=T>>24&255),G=0,Y=0):(G=T>>>24,Y+=2)}if(N<B.length)for(B[N++]=G;N<B.length;)B[N++]=0},r.prototype._toArrayLikeBE=function(B,d){for(var N=B.length-1,G=0,J=0,Y=0;J<this.length;J++){var T=this.words[J]<<Y|G;B[N--]=T&255,N>=0&&(B[N--]=T>>8&255),N>=0&&(B[N--]=T>>16&255),Y===6?(N>=0&&(B[N--]=T>>24&255),G=0,Y=0):(G=T>>>24,Y+=2)}if(N>=0)for(B[N--]=G;N>=0;)B[N--]=0},Math.clz32?r.prototype._countBits=function(B){return 32-Math.clz32(B)}:r.prototype._countBits=function(B){var d=B,N=0;return d>=4096&&(N+=13,d>>>=13),d>=64&&(N+=7,d>>>=7),d>=8&&(N+=4,d>>>=4),d>=2&&(N+=2,d>>>=2),N+d},r.prototype._zeroBits=function(B){if(B===0)return 26;var d=B,N=0;return(d&8191)===0&&(N+=13,d>>>=13),(d&127)===0&&(N+=7,d>>>=7),(d&15)===0&&(N+=4,d>>>=4),(d&3)===0&&(N+=2,d>>>=2),(d&1)===0&&N++,N},r.prototype.bitLength=function(){var B=this.words[this.length-1],d=this._countBits(B);return(this.length-1)*26+d};function f(w){for(var B=new Array(w.bitLength()),d=0;d<B.length;d++){var N=d/26|0,G=d%26;B[d]=w.words[N]>>>G&1}return B}r.prototype.zeroBits=function(){if(this.isZero())return 0;for(var B=0,d=0;d<this.length;d++){var N=this._zeroBits(this.words[d]);if(B+=N,N!==26)break}return B},r.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},r.prototype.toTwos=function(B){return this.negative!==0?this.abs().inotn(B).iaddn(1):this.clone()},r.prototype.fromTwos=function(B){return this.testn(B-1)?this.notn(B).iaddn(1).ineg():this.clone()},r.prototype.isNeg=function(){return this.negative!==0},r.prototype.neg=function(){return this.clone().ineg()},r.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},r.prototype.iuor=function(B){for(;this.length<B.length;)this.words[this.length++]=0;for(var d=0;d<B.length;d++)this.words[d]=this.words[d]|B.words[d];return this._strip()},r.prototype.ior=function(B){return s((this.negative|B.negative)===0),this.iuor(B)},r.prototype.or=function(B){return this.length>B.length?this.clone().ior(B):B.clone().ior(this)},r.prototype.uor=function(B){return this.length>B.length?this.clone().iuor(B):B.clone().iuor(this)},r.prototype.iuand=function(B){var d;this.length>B.length?d=B:d=this;for(var N=0;N<d.length;N++)this.words[N]=this.words[N]&B.words[N];return this.length=d.length,this._strip()},r.prototype.iand=function(B){return s((this.negative|B.negative)===0),this.iuand(B)},r.prototype.and=function(B){return this.length>B.length?this.clone().iand(B):B.clone().iand(this)},r.prototype.uand=function(B){return this.length>B.length?this.clone().iuand(B):B.clone().iuand(this)},r.prototype.iuxor=function(B){var d,N;this.length>B.length?(d=this,N=B):(d=B,N=this);for(var G=0;G<N.length;G++)this.words[G]=d.words[G]^N.words[G];if(this!==d)for(;G<d.length;G++)this.words[G]=d.words[G];return this.length=d.length,this._strip()},r.prototype.ixor=function(B){return s((this.negative|B.negative)===0),this.iuxor(B)},r.prototype.xor=function(B){return this.length>B.length?this.clone().ixor(B):B.clone().ixor(this)},r.prototype.uxor=function(B){return this.length>B.length?this.clone().iuxor(B):B.clone().iuxor(this)},r.prototype.inotn=function(B){s(typeof B=="number"&&B>=0);var d=Math.ceil(B/26)|0,N=B%26;this._expand(d),N>0&&d--;for(var G=0;G<d;G++)this.words[G]=~this.words[G]&67108863;return N>0&&(this.words[G]=~this.words[G]&67108863>>26-N),this._strip()},r.prototype.notn=function(B){return this.clone().inotn(B)},r.prototype.setn=function(B,d){s(typeof B=="number"&&B>=0);var N=B/26|0,G=B%26;return this._expand(N+1),d?this.words[N]=this.words[N]|1<<G:this.words[N]=this.words[N]&~(1<<G),this._strip()},r.prototype.iadd=function(B){var d;if(this.negative!==0&&B.negative===0)return this.negative=0,d=this.isub(B),this.negative^=1,this._normSign();if(this.negative===0&&B.negative!==0)return B.negative=0,d=this.isub(B),B.negative=1,d._normSign();var N,G;this.length>B.length?(N=this,G=B):(N=B,G=this);for(var J=0,Y=0;Y<G.length;Y++)d=(N.words[Y]|0)+(G.words[Y]|0)+J,this.words[Y]=d&67108863,J=d>>>26;for(;J!==0&&Y<N.length;Y++)d=(N.words[Y]|0)+J,this.words[Y]=d&67108863,J=d>>>26;if(this.length=N.length,J!==0)this.words[this.length]=J,this.length++;else if(N!==this)for(;Y<N.length;Y++)this.words[Y]=N.words[Y];return this},r.prototype.add=function(B){var d;return B.negative!==0&&this.negative===0?(B.negative=0,d=this.sub(B),B.negative^=1,d):B.negative===0&&this.negative!==0?(this.negative=0,d=B.sub(this),this.negative=1,d):this.length>B.length?this.clone().iadd(B):B.clone().iadd(this)},r.prototype.isub=function(B){if(B.negative!==0){B.negative=0;var d=this.iadd(B);return B.negative=1,d._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(B),this.negative=1,this._normSign();var N=this.cmp(B);if(N===0)return this.negative=0,this.length=1,this.words[0]=0,this;var G,J;N>0?(G=this,J=B):(G=B,J=this);for(var Y=0,T=0;T<J.length;T++)d=(G.words[T]|0)-(J.words[T]|0)+Y,Y=d>>26,this.words[T]=d&67108863;for(;Y!==0&&T<G.length;T++)d=(G.words[T]|0)+Y,Y=d>>26,this.words[T]=d&67108863;if(Y===0&&T<G.length&&G!==this)for(;T<G.length;T++)this.words[T]=G.words[T];return this.length=Math.max(this.length,T),G!==this&&(this.negative=1),this._strip()},r.prototype.sub=function(B){return this.clone().isub(B)};function k(w,B,d){d.negative=B.negative^w.negative;var N=w.length+B.length|0;d.length=N,N=N-1|0;var G=w.words[0]|0,J=B.words[0]|0,Y=G*J,T=Y&67108863,b=Y/67108864|0;d.words[0]=T;for(var E=1;E<N;E++){for(var h=b>>>26,S=b&67108863,U=Math.min(E,B.length-1),_=Math.max(0,E-w.length+1);_<=U;_++){var tA=E-_|0;G=w.words[tA]|0,J=B.words[_]|0,Y=G*J+S,h+=Y/67108864|0,S=Y&67108863}d.words[E]=S|0,b=h|0}return b!==0?d.words[E]=b|0:d.length--,d._strip()}var v=function(B,d,N){var G=B.words,J=d.words,Y=N.words,T=0,b,E,h,S=G[0]|0,U=S&8191,_=S>>>13,tA=G[1]|0,IA=tA&8191,iA=tA>>>13,GA=G[2]|0,qA=GA&8191,BA=GA>>>13,YA=G[3]|0,_A=YA&8191,Ce=YA>>>13,kA=G[4]|0,VA=kA&8191,me=kA>>>13,He=G[5]|0,we=He&8191,Re=He>>>13,nt=G[6]|0,Ke=nt&8191,yA=nt>>>13,de=G[7]|0,HA=de&8191,q=de>>>13,y=G[8]|0,M=y&8191,Z=y>>>13,AA=G[9]|0,nA=AA&8191,cA=AA>>>13,zA=J[0]|0,PA=zA&8191,ZA=zA>>>13,Ge=J[1]|0,WA=Ge&8191,De=Ge>>>13,Wt=J[2]|0,Le=Wt&8191,Pe=Wt>>>13,Ro=J[3]|0,Qe=Ro&8191,ve=Ro>>>13,zt=J[4]|0,Oe=zt&8191,_e=zt>>>13,XA=J[5]|0,ye=XA&8191,he=XA>>>13,Ko=J[6]|0,F=Ko&8191,H=Ko>>>13,P=J[7]|0,m=P&8191,z=P>>>13,sA=J[8]|0,oA=sA&8191,uA=sA>>>13,DA=J[9]|0,bA=DA&8191,xA=DA>>>13;N.negative=B.negative^d.negative,N.length=19,b=Math.imul(U,PA),E=Math.imul(U,ZA),E=E+Math.imul(_,PA)|0,h=Math.imul(_,ZA);var Ee=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,b=Math.imul(IA,PA),E=Math.imul(IA,ZA),E=E+Math.imul(iA,PA)|0,h=Math.imul(iA,ZA),b=b+Math.imul(U,WA)|0,E=E+Math.imul(U,De)|0,E=E+Math.imul(_,WA)|0,h=h+Math.imul(_,De)|0;var UA=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+(UA>>>26)|0,UA&=67108863,b=Math.imul(qA,PA),E=Math.imul(qA,ZA),E=E+Math.imul(BA,PA)|0,h=Math.imul(BA,ZA),b=b+Math.imul(IA,WA)|0,E=E+Math.imul(IA,De)|0,E=E+Math.imul(iA,WA)|0,h=h+Math.imul(iA,De)|0,b=b+Math.imul(U,Le)|0,E=E+Math.imul(U,Pe)|0,E=E+Math.imul(_,Le)|0,h=h+Math.imul(_,Pe)|0;var $A=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+($A>>>26)|0,$A&=67108863,b=Math.imul(_A,PA),E=Math.imul(_A,ZA),E=E+Math.imul(Ce,PA)|0,h=Math.imul(Ce,ZA),b=b+Math.imul(qA,WA)|0,E=E+Math.imul(qA,De)|0,E=E+Math.imul(BA,WA)|0,h=h+Math.imul(BA,De)|0,b=b+Math.imul(IA,Le)|0,E=E+Math.imul(IA,Pe)|0,E=E+Math.imul(iA,Le)|0,h=h+Math.imul(iA,Pe)|0,b=b+Math.imul(U,Qe)|0,E=E+Math.imul(U,ve)|0,E=E+Math.imul(_,Qe)|0,h=h+Math.imul(_,ve)|0;var re=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+(re>>>26)|0,re&=67108863,b=Math.imul(VA,PA),E=Math.imul(VA,ZA),E=E+Math.imul(me,PA)|0,h=Math.imul(me,ZA),b=b+Math.imul(_A,WA)|0,E=E+Math.imul(_A,De)|0,E=E+Math.imul(Ce,WA)|0,h=h+Math.imul(Ce,De)|0,b=b+Math.imul(qA,Le)|0,E=E+Math.imul(qA,Pe)|0,E=E+Math.imul(BA,Le)|0,h=h+Math.imul(BA,Pe)|0,b=b+Math.imul(IA,Qe)|0,E=E+Math.imul(IA,ve)|0,E=E+Math.imul(iA,Qe)|0,h=h+Math.imul(iA,ve)|0,b=b+Math.imul(U,Oe)|0,E=E+Math.imul(U,_e)|0,E=E+Math.imul(_,Oe)|0,h=h+Math.imul(_,_e)|0;var ae=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+(ae>>>26)|0,ae&=67108863,b=Math.imul(we,PA),E=Math.imul(we,ZA),E=E+Math.imul(Re,PA)|0,h=Math.imul(Re,ZA),b=b+Math.imul(VA,WA)|0,E=E+Math.imul(VA,De)|0,E=E+Math.imul(me,WA)|0,h=h+Math.imul(me,De)|0,b=b+Math.imul(_A,Le)|0,E=E+Math.imul(_A,Pe)|0,E=E+Math.imul(Ce,Le)|0,h=h+Math.imul(Ce,Pe)|0,b=b+Math.imul(qA,Qe)|0,E=E+Math.imul(qA,ve)|0,E=E+Math.imul(BA,Qe)|0,h=h+Math.imul(BA,ve)|0,b=b+Math.imul(IA,Oe)|0,E=E+Math.imul(IA,_e)|0,E=E+Math.imul(iA,Oe)|0,h=h+Math.imul(iA,_e)|0,b=b+Math.imul(U,ye)|0,E=E+Math.imul(U,he)|0,E=E+Math.imul(_,ye)|0,h=h+Math.imul(_,he)|0;var ie=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+(ie>>>26)|0,ie&=67108863,b=Math.imul(Ke,PA),E=Math.imul(Ke,ZA),E=E+Math.imul(yA,PA)|0,h=Math.imul(yA,ZA),b=b+Math.imul(we,WA)|0,E=E+Math.imul(we,De)|0,E=E+Math.imul(Re,WA)|0,h=h+Math.imul(Re,De)|0,b=b+Math.imul(VA,Le)|0,E=E+Math.imul(VA,Pe)|0,E=E+Math.imul(me,Le)|0,h=h+Math.imul(me,Pe)|0,b=b+Math.imul(_A,Qe)|0,E=E+Math.imul(_A,ve)|0,E=E+Math.imul(Ce,Qe)|0,h=h+Math.imul(Ce,ve)|0,b=b+Math.imul(qA,Oe)|0,E=E+Math.imul(qA,_e)|0,E=E+Math.imul(BA,Oe)|0,h=h+Math.imul(BA,_e)|0,b=b+Math.imul(IA,ye)|0,E=E+Math.imul(IA,he)|0,E=E+Math.imul(iA,ye)|0,h=h+Math.imul(iA,he)|0,b=b+Math.imul(U,F)|0,E=E+Math.imul(U,H)|0,E=E+Math.imul(_,F)|0,h=h+Math.imul(_,H)|0;var oe=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+(oe>>>26)|0,oe&=67108863,b=Math.imul(HA,PA),E=Math.imul(HA,ZA),E=E+Math.imul(q,PA)|0,h=Math.imul(q,ZA),b=b+Math.imul(Ke,WA)|0,E=E+Math.imul(Ke,De)|0,E=E+Math.imul(yA,WA)|0,h=h+Math.imul(yA,De)|0,b=b+Math.imul(we,Le)|0,E=E+Math.imul(we,Pe)|0,E=E+Math.imul(Re,Le)|0,h=h+Math.imul(Re,Pe)|0,b=b+Math.imul(VA,Qe)|0,E=E+Math.imul(VA,ve)|0,E=E+Math.imul(me,Qe)|0,h=h+Math.imul(me,ve)|0,b=b+Math.imul(_A,Oe)|0,E=E+Math.imul(_A,_e)|0,E=E+Math.imul(Ce,Oe)|0,h=h+Math.imul(Ce,_e)|0,b=b+Math.imul(qA,ye)|0,E=E+Math.imul(qA,he)|0,E=E+Math.imul(BA,ye)|0,h=h+Math.imul(BA,he)|0,b=b+Math.imul(IA,F)|0,E=E+Math.imul(IA,H)|0,E=E+Math.imul(iA,F)|0,h=h+Math.imul(iA,H)|0,b=b+Math.imul(U,m)|0,E=E+Math.imul(U,z)|0,E=E+Math.imul(_,m)|0,h=h+Math.imul(_,z)|0;var se=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+(se>>>26)|0,se&=67108863,b=Math.imul(M,PA),E=Math.imul(M,ZA),E=E+Math.imul(Z,PA)|0,h=Math.imul(Z,ZA),b=b+Math.imul(HA,WA)|0,E=E+Math.imul(HA,De)|0,E=E+Math.imul(q,WA)|0,h=h+Math.imul(q,De)|0,b=b+Math.imul(Ke,Le)|0,E=E+Math.imul(Ke,Pe)|0,E=E+Math.imul(yA,Le)|0,h=h+Math.imul(yA,Pe)|0,b=b+Math.imul(we,Qe)|0,E=E+Math.imul(we,ve)|0,E=E+Math.imul(Re,Qe)|0,h=h+Math.imul(Re,ve)|0,b=b+Math.imul(VA,Oe)|0,E=E+Math.imul(VA,_e)|0,E=E+Math.imul(me,Oe)|0,h=h+Math.imul(me,_e)|0,b=b+Math.imul(_A,ye)|0,E=E+Math.imul(_A,he)|0,E=E+Math.imul(Ce,ye)|0,h=h+Math.imul(Ce,he)|0,b=b+Math.imul(qA,F)|0,E=E+Math.imul(qA,H)|0,E=E+Math.imul(BA,F)|0,h=h+Math.imul(BA,H)|0,b=b+Math.imul(IA,m)|0,E=E+Math.imul(IA,z)|0,E=E+Math.imul(iA,m)|0,h=h+Math.imul(iA,z)|0,b=b+Math.imul(U,oA)|0,E=E+Math.imul(U,uA)|0,E=E+Math.imul(_,oA)|0,h=h+Math.imul(_,uA)|0;var Ae=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,b=Math.imul(nA,PA),E=Math.imul(nA,ZA),E=E+Math.imul(cA,PA)|0,h=Math.imul(cA,ZA),b=b+Math.imul(M,WA)|0,E=E+Math.imul(M,De)|0,E=E+Math.imul(Z,WA)|0,h=h+Math.imul(Z,De)|0,b=b+Math.imul(HA,Le)|0,E=E+Math.imul(HA,Pe)|0,E=E+Math.imul(q,Le)|0,h=h+Math.imul(q,Pe)|0,b=b+Math.imul(Ke,Qe)|0,E=E+Math.imul(Ke,ve)|0,E=E+Math.imul(yA,Qe)|0,h=h+Math.imul(yA,ve)|0,b=b+Math.imul(we,Oe)|0,E=E+Math.imul(we,_e)|0,E=E+Math.imul(Re,Oe)|0,h=h+Math.imul(Re,_e)|0,b=b+Math.imul(VA,ye)|0,E=E+Math.imul(VA,he)|0,E=E+Math.imul(me,ye)|0,h=h+Math.imul(me,he)|0,b=b+Math.imul(_A,F)|0,E=E+Math.imul(_A,H)|0,E=E+Math.imul(Ce,F)|0,h=h+Math.imul(Ce,H)|0,b=b+Math.imul(qA,m)|0,E=E+Math.imul(qA,z)|0,E=E+Math.imul(BA,m)|0,h=h+Math.imul(BA,z)|0,b=b+Math.imul(IA,oA)|0,E=E+Math.imul(IA,uA)|0,E=E+Math.imul(iA,oA)|0,h=h+Math.imul(iA,uA)|0,b=b+Math.imul(U,bA)|0,E=E+Math.imul(U,xA)|0,E=E+Math.imul(_,bA)|0,h=h+Math.imul(_,xA)|0;var RA=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+(RA>>>26)|0,RA&=67108863,b=Math.imul(nA,WA),E=Math.imul(nA,De),E=E+Math.imul(cA,WA)|0,h=Math.imul(cA,De),b=b+Math.imul(M,Le)|0,E=E+Math.imul(M,Pe)|0,E=E+Math.imul(Z,Le)|0,h=h+Math.imul(Z,Pe)|0,b=b+Math.imul(HA,Qe)|0,E=E+Math.imul(HA,ve)|0,E=E+Math.imul(q,Qe)|0,h=h+Math.imul(q,ve)|0,b=b+Math.imul(Ke,Oe)|0,E=E+Math.imul(Ke,_e)|0,E=E+Math.imul(yA,Oe)|0,h=h+Math.imul(yA,_e)|0,b=b+Math.imul(we,ye)|0,E=E+Math.imul(we,he)|0,E=E+Math.imul(Re,ye)|0,h=h+Math.imul(Re,he)|0,b=b+Math.imul(VA,F)|0,E=E+Math.imul(VA,H)|0,E=E+Math.imul(me,F)|0,h=h+Math.imul(me,H)|0,b=b+Math.imul(_A,m)|0,E=E+Math.imul(_A,z)|0,E=E+Math.imul(Ce,m)|0,h=h+Math.imul(Ce,z)|0,b=b+Math.imul(qA,oA)|0,E=E+Math.imul(qA,uA)|0,E=E+Math.imul(BA,oA)|0,h=h+Math.imul(BA,uA)|0,b=b+Math.imul(IA,bA)|0,E=E+Math.imul(IA,xA)|0,E=E+Math.imul(iA,bA)|0,h=h+Math.imul(iA,xA)|0;var OA=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+(OA>>>26)|0,OA&=67108863,b=Math.imul(nA,Le),E=Math.imul(nA,Pe),E=E+Math.imul(cA,Le)|0,h=Math.imul(cA,Pe),b=b+Math.imul(M,Qe)|0,E=E+Math.imul(M,ve)|0,E=E+Math.imul(Z,Qe)|0,h=h+Math.imul(Z,ve)|0,b=b+Math.imul(HA,Oe)|0,E=E+Math.imul(HA,_e)|0,E=E+Math.imul(q,Oe)|0,h=h+Math.imul(q,_e)|0,b=b+Math.imul(Ke,ye)|0,E=E+Math.imul(Ke,he)|0,E=E+Math.imul(yA,ye)|0,h=h+Math.imul(yA,he)|0,b=b+Math.imul(we,F)|0,E=E+Math.imul(we,H)|0,E=E+Math.imul(Re,F)|0,h=h+Math.imul(Re,H)|0,b=b+Math.imul(VA,m)|0,E=E+Math.imul(VA,z)|0,E=E+Math.imul(me,m)|0,h=h+Math.imul(me,z)|0,b=b+Math.imul(_A,oA)|0,E=E+Math.imul(_A,uA)|0,E=E+Math.imul(Ce,oA)|0,h=h+Math.imul(Ce,uA)|0,b=b+Math.imul(qA,bA)|0,E=E+Math.imul(qA,xA)|0,E=E+Math.imul(BA,bA)|0,h=h+Math.imul(BA,xA)|0;var SA=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+(SA>>>26)|0,SA&=67108863,b=Math.imul(nA,Qe),E=Math.imul(nA,ve),E=E+Math.imul(cA,Qe)|0,h=Math.imul(cA,ve),b=b+Math.imul(M,Oe)|0,E=E+Math.imul(M,_e)|0,E=E+Math.imul(Z,Oe)|0,h=h+Math.imul(Z,_e)|0,b=b+Math.imul(HA,ye)|0,E=E+Math.imul(HA,he)|0,E=E+Math.imul(q,ye)|0,h=h+Math.imul(q,he)|0,b=b+Math.imul(Ke,F)|0,E=E+Math.imul(Ke,H)|0,E=E+Math.imul(yA,F)|0,h=h+Math.imul(yA,H)|0,b=b+Math.imul(we,m)|0,E=E+Math.imul(we,z)|0,E=E+Math.imul(Re,m)|0,h=h+Math.imul(Re,z)|0,b=b+Math.imul(VA,oA)|0,E=E+Math.imul(VA,uA)|0,E=E+Math.imul(me,oA)|0,h=h+Math.imul(me,uA)|0,b=b+Math.imul(_A,bA)|0,E=E+Math.imul(_A,xA)|0,E=E+Math.imul(Ce,bA)|0,h=h+Math.imul(Ce,xA)|0;var KA=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+(KA>>>26)|0,KA&=67108863,b=Math.imul(nA,Oe),E=Math.imul(nA,_e),E=E+Math.imul(cA,Oe)|0,h=Math.imul(cA,_e),b=b+Math.imul(M,ye)|0,E=E+Math.imul(M,he)|0,E=E+Math.imul(Z,ye)|0,h=h+Math.imul(Z,he)|0,b=b+Math.imul(HA,F)|0,E=E+Math.imul(HA,H)|0,E=E+Math.imul(q,F)|0,h=h+Math.imul(q,H)|0,b=b+Math.imul(Ke,m)|0,E=E+Math.imul(Ke,z)|0,E=E+Math.imul(yA,m)|0,h=h+Math.imul(yA,z)|0,b=b+Math.imul(we,oA)|0,E=E+Math.imul(we,uA)|0,E=E+Math.imul(Re,oA)|0,h=h+Math.imul(Re,uA)|0,b=b+Math.imul(VA,bA)|0,E=E+Math.imul(VA,xA)|0,E=E+Math.imul(me,bA)|0,h=h+Math.imul(me,xA)|0;var LA=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+(LA>>>26)|0,LA&=67108863,b=Math.imul(nA,ye),E=Math.imul(nA,he),E=E+Math.imul(cA,ye)|0,h=Math.imul(cA,he),b=b+Math.imul(M,F)|0,E=E+Math.imul(M,H)|0,E=E+Math.imul(Z,F)|0,h=h+Math.imul(Z,H)|0,b=b+Math.imul(HA,m)|0,E=E+Math.imul(HA,z)|0,E=E+Math.imul(q,m)|0,h=h+Math.imul(q,z)|0,b=b+Math.imul(Ke,oA)|0,E=E+Math.imul(Ke,uA)|0,E=E+Math.imul(yA,oA)|0,h=h+Math.imul(yA,uA)|0,b=b+Math.imul(we,bA)|0,E=E+Math.imul(we,xA)|0,E=E+Math.imul(Re,bA)|0,h=h+Math.imul(Re,xA)|0;var vA=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+(vA>>>26)|0,vA&=67108863,b=Math.imul(nA,F),E=Math.imul(nA,H),E=E+Math.imul(cA,F)|0,h=Math.imul(cA,H),b=b+Math.imul(M,m)|0,E=E+Math.imul(M,z)|0,E=E+Math.imul(Z,m)|0,h=h+Math.imul(Z,z)|0,b=b+Math.imul(HA,oA)|0,E=E+Math.imul(HA,uA)|0,E=E+Math.imul(q,oA)|0,h=h+Math.imul(q,uA)|0,b=b+Math.imul(Ke,bA)|0,E=E+Math.imul(Ke,xA)|0,E=E+Math.imul(yA,bA)|0,h=h+Math.imul(yA,xA)|0;var EA=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+(EA>>>26)|0,EA&=67108863,b=Math.imul(nA,m),E=Math.imul(nA,z),E=E+Math.imul(cA,m)|0,h=Math.imul(cA,z),b=b+Math.imul(M,oA)|0,E=E+Math.imul(M,uA)|0,E=E+Math.imul(Z,oA)|0,h=h+Math.imul(Z,uA)|0,b=b+Math.imul(HA,bA)|0,E=E+Math.imul(HA,xA)|0,E=E+Math.imul(q,bA)|0,h=h+Math.imul(q,xA)|0;var CA=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+(CA>>>26)|0,CA&=67108863,b=Math.imul(nA,oA),E=Math.imul(nA,uA),E=E+Math.imul(cA,oA)|0,h=Math.imul(cA,uA),b=b+Math.imul(M,bA)|0,E=E+Math.imul(M,xA)|0,E=E+Math.imul(Z,bA)|0,h=h+Math.imul(Z,xA)|0;var pA=(T+b|0)+((E&8191)<<13)|0;T=(h+(E>>>13)|0)+(pA>>>26)|0,pA&=67108863,b=Math.imul(nA,bA),E=Math.imul(nA,xA),E=E+Math.imul(cA,bA)|0,h=Math.imul(cA,xA);var hA=(T+b|0)+((E&8191)<<13)|0;return T=(h+(E>>>13)|0)+(hA>>>26)|0,hA&=67108863,Y[0]=Ee,Y[1]=UA,Y[2]=$A,Y[3]=re,Y[4]=ae,Y[5]=ie,Y[6]=oe,Y[7]=se,Y[8]=Ae,Y[9]=RA,Y[10]=OA,Y[11]=SA,Y[12]=KA,Y[13]=LA,Y[14]=vA,Y[15]=EA,Y[16]=CA,Y[17]=pA,Y[18]=hA,T!==0&&(Y[19]=T,N.length++),N};Math.imul||(v=k);function D(w,B,d){d.negative=B.negative^w.negative,d.length=w.length+B.length;for(var N=0,G=0,J=0;J<d.length-1;J++){var Y=G;G=0;for(var T=N&67108863,b=Math.min(J,B.length-1),E=Math.max(0,J-w.length+1);E<=b;E++){var h=J-E,S=w.words[h]|0,U=B.words[E]|0,_=S*U,tA=_&67108863;Y=Y+(_/67108864|0)|0,tA=tA+T|0,T=tA&67108863,Y=Y+(tA>>>26)|0,G+=Y>>>26,Y&=67108863}d.words[J]=T,N=Y,Y=G}return N!==0?d.words[J]=N:d.length--,d._strip()}function j(w,B,d){return D(w,B,d)}r.prototype.mulTo=function(B,d){var N,G=this.length+B.length;return this.length===10&&B.length===10?N=v(this,B,d):G<63?N=k(this,B,d):G<1024?N=D(this,B,d):N=j(this,B,d),N},r.prototype.mul=function(B){var d=new r(null);return d.words=new Array(this.length+B.length),this.mulTo(B,d)},r.prototype.mulf=function(B){var d=new r(null);return d.words=new Array(this.length+B.length),j(this,B,d)},r.prototype.imul=function(B){return this.clone().mulTo(B,this)},r.prototype.imuln=function(B){var d=B<0;d&&(B=-B),s(typeof B=="number"),s(B<67108864);for(var N=0,G=0;G<this.length;G++){var J=(this.words[G]|0)*B,Y=(J&67108863)+(N&67108863);N>>=26,N+=J/67108864|0,N+=Y>>>26,this.words[G]=Y&67108863}return N!==0&&(this.words[G]=N,this.length++),this.length=B===0?1:this.length,d?this.ineg():this},r.prototype.muln=function(B){return this.clone().imuln(B)},r.prototype.sqr=function(){return this.mul(this)},r.prototype.isqr=function(){return this.imul(this.clone())},r.prototype.pow=function(B){var d=f(B);if(d.length===0)return new r(1);for(var N=this,G=0;G<d.length&&d[G]===0;G++,N=N.sqr());if(++G<d.length)for(var J=N.sqr();G<d.length;G++,J=J.sqr())d[G]!==0&&(N=N.mul(J));return N},r.prototype.iushln=function(B){s(typeof B=="number"&&B>=0);var d=B%26,N=(B-d)/26,G=67108863>>>26-d<<26-d,J;if(d!==0){var Y=0;for(J=0;J<this.length;J++){var T=this.words[J]&G,b=(this.words[J]|0)-T<<d;this.words[J]=b|Y,Y=T>>>26-d}Y&&(this.words[J]=Y,this.length++)}if(N!==0){for(J=this.length-1;J>=0;J--)this.words[J+N]=this.words[J];for(J=0;J<N;J++)this.words[J]=0;this.length+=N}return this._strip()},r.prototype.ishln=function(B){return s(this.negative===0),this.iushln(B)},r.prototype.iushrn=function(B,d,N){s(typeof B=="number"&&B>=0);var G;d?G=(d-d%26)/26:G=0;var J=B%26,Y=Math.min((B-J)/26,this.length),T=67108863^67108863>>>J<<J,b=N;if(G-=Y,G=Math.max(0,G),b){for(var E=0;E<Y;E++)b.words[E]=this.words[E];b.length=Y}if(Y!==0)if(this.length>Y)for(this.length-=Y,E=0;E<this.length;E++)this.words[E]=this.words[E+Y];else this.words[0]=0,this.length=1;var h=0;for(E=this.length-1;E>=0&&(h!==0||E>=G);E--){var S=this.words[E]|0;this.words[E]=h<<26-J|S>>>J,h=S&T}return b&&h!==0&&(b.words[b.length++]=h),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},r.prototype.ishrn=function(B,d,N){return s(this.negative===0),this.iushrn(B,d,N)},r.prototype.shln=function(B){return this.clone().ishln(B)},r.prototype.ushln=function(B){return this.clone().iushln(B)},r.prototype.shrn=function(B){return this.clone().ishrn(B)},r.prototype.ushrn=function(B){return this.clone().iushrn(B)},r.prototype.testn=function(B){s(typeof B=="number"&&B>=0);var d=B%26,N=(B-d)/26,G=1<<d;if(this.length<=N)return!1;var J=this.words[N];return!!(J&G)},r.prototype.imaskn=function(B){s(typeof B=="number"&&B>=0);var d=B%26,N=(B-d)/26;if(s(this.negative===0,"imaskn works only with positive numbers"),this.length<=N)return this;if(d!==0&&N++,this.length=Math.min(N,this.length),d!==0){var G=67108863^67108863>>>d<<d;this.words[this.length-1]&=G}return this.length===0&&(this.words[0]=0,this.length=1),this._strip()},r.prototype.maskn=function(B){return this.clone().imaskn(B)},r.prototype.iaddn=function(B){return s(typeof B=="number"),s(B<67108864),B<0?this.isubn(-B):this.negative!==0?this.length===1&&(this.words[0]|0)<=B?(this.words[0]=B-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(B),this.negative=1,this):this._iaddn(B)},r.prototype._iaddn=function(B){this.words[0]+=B;for(var d=0;d<this.length&&this.words[d]>=67108864;d++)this.words[d]-=67108864,d===this.length-1?this.words[d+1]=1:this.words[d+1]++;return this.length=Math.max(this.length,d+1),this},r.prototype.isubn=function(B){if(s(typeof B=="number"),s(B<67108864),B<0)return this.iaddn(-B);if(this.negative!==0)return this.negative=0,this.iaddn(B),this.negative=1,this;if(this.words[0]-=B,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var d=0;d<this.length&&this.words[d]<0;d++)this.words[d]+=67108864,this.words[d+1]-=1;return this._strip()},r.prototype.addn=function(B){return this.clone().iaddn(B)},r.prototype.subn=function(B){return this.clone().isubn(B)},r.prototype.iabs=function(){return this.negative=0,this},r.prototype.abs=function(){return this.clone().iabs()},r.prototype._ishlnsubmul=function(B,d,N){var G=B.length+N,J;this._expand(G);var Y,T=0;for(J=0;J<B.length;J++){Y=(this.words[J+N]|0)+T;var b=(B.words[J]|0)*d;Y-=b&67108863,T=(Y>>26)-(b/67108864|0),this.words[J+N]=Y&67108863}for(;J<this.length-N;J++)Y=(this.words[J+N]|0)+T,T=Y>>26,this.words[J+N]=Y&67108863;if(T===0)return this._strip();for(s(T===-1),T=0,J=0;J<this.length;J++)Y=-(this.words[J]|0)+T,T=Y>>26,this.words[J]=Y&67108863;return this.negative=1,this._strip()},r.prototype._wordDiv=function(B,d){var N=this.length-B.length,G=this.clone(),J=B,Y=J.words[J.length-1]|0,T=this._countBits(Y);N=26-T,N!==0&&(J=J.ushln(N),G.iushln(N),Y=J.words[J.length-1]|0);var b=G.length-J.length,E;if(d!=="mod"){E=new r(null),E.length=b+1,E.words=new Array(E.length);for(var h=0;h<E.length;h++)E.words[h]=0}var S=G.clone()._ishlnsubmul(J,1,b);S.negative===0&&(G=S,E&&(E.words[b]=1));for(var U=b-1;U>=0;U--){var _=(G.words[J.length+U]|0)*67108864+(G.words[J.length+U-1]|0);for(_=Math.min(_/Y|0,67108863),G._ishlnsubmul(J,_,U);G.negative!==0;)_--,G.negative=0,G._ishlnsubmul(J,1,U),G.isZero()||(G.negative^=1);E&&(E.words[U]=_)}return E&&E._strip(),G._strip(),d!=="div"&&N!==0&&G.iushrn(N),{div:E||null,mod:G}},r.prototype.divmod=function(B,d,N){if(s(!B.isZero()),this.isZero())return{div:new r(0),mod:new r(0)};var G,J,Y;return this.negative!==0&&B.negative===0?(Y=this.neg().divmod(B,d),d!=="mod"&&(G=Y.div.neg()),d!=="div"&&(J=Y.mod.neg(),N&&J.negative!==0&&J.iadd(B)),{div:G,mod:J}):this.negative===0&&B.negative!==0?(Y=this.divmod(B.neg(),d),d!=="mod"&&(G=Y.div.neg()),{div:G,mod:Y.mod}):(this.negative&B.negative)!==0?(Y=this.neg().divmod(B.neg(),d),d!=="div"&&(J=Y.mod.neg(),N&&J.negative!==0&&J.isub(B)),{div:Y.div,mod:J}):B.length>this.length||this.cmp(B)<0?{div:new r(0),mod:this}:B.length===1?d==="div"?{div:this.divn(B.words[0]),mod:null}:d==="mod"?{div:null,mod:new r(this.modrn(B.words[0]))}:{div:this.divn(B.words[0]),mod:new r(this.modrn(B.words[0]))}:this._wordDiv(B,d)},r.prototype.div=function(B){return this.divmod(B,"div",!1).div},r.prototype.mod=function(B){return this.divmod(B,"mod",!1).mod},r.prototype.umod=function(B){return this.divmod(B,"mod",!0).mod},r.prototype.divRound=function(B){var d=this.divmod(B);if(d.mod.isZero())return d.div;var N=d.div.negative!==0?d.mod.isub(B):d.mod,G=B.ushrn(1),J=B.andln(1),Y=N.cmp(G);return Y<0||J===1&&Y===0?d.div:d.div.negative!==0?d.div.isubn(1):d.div.iaddn(1)},r.prototype.modrn=function(B){var d=B<0;d&&(B=-B),s(B<=67108863);for(var N=(1<<26)%B,G=0,J=this.length-1;J>=0;J--)G=(N*G+(this.words[J]|0))%B;return d?-G:G},r.prototype.modn=function(B){return this.modrn(B)},r.prototype.idivn=function(B){var d=B<0;d&&(B=-B),s(B<=67108863);for(var N=0,G=this.length-1;G>=0;G--){var J=(this.words[G]|0)+N*67108864;this.words[G]=J/B|0,N=J%B}return this._strip(),d?this.ineg():this},r.prototype.divn=function(B){return this.clone().idivn(B)},r.prototype.egcd=function(B){s(B.negative===0),s(!B.isZero());var d=this,N=B.clone();d.negative!==0?d=d.umod(B):d=d.clone();for(var G=new r(1),J=new r(0),Y=new r(0),T=new r(1),b=0;d.isEven()&&N.isEven();)d.iushrn(1),N.iushrn(1),++b;for(var E=N.clone(),h=d.clone();!d.isZero();){for(var S=0,U=1;(d.words[0]&U)===0&&S<26;++S,U<<=1);if(S>0)for(d.iushrn(S);S-- >0;)(G.isOdd()||J.isOdd())&&(G.iadd(E),J.isub(h)),G.iushrn(1),J.iushrn(1);for(var _=0,tA=1;(N.words[0]&tA)===0&&_<26;++_,tA<<=1);if(_>0)for(N.iushrn(_);_-- >0;)(Y.isOdd()||T.isOdd())&&(Y.iadd(E),T.isub(h)),Y.iushrn(1),T.iushrn(1);d.cmp(N)>=0?(d.isub(N),G.isub(Y),J.isub(T)):(N.isub(d),Y.isub(G),T.isub(J))}return{a:Y,b:T,gcd:N.iushln(b)}},r.prototype._invmp=function(B){s(B.negative===0),s(!B.isZero());var d=this,N=B.clone();d.negative!==0?d=d.umod(B):d=d.clone();for(var G=new r(1),J=new r(0),Y=N.clone();d.cmpn(1)>0&&N.cmpn(1)>0;){for(var T=0,b=1;(d.words[0]&b)===0&&T<26;++T,b<<=1);if(T>0)for(d.iushrn(T);T-- >0;)G.isOdd()&&G.iadd(Y),G.iushrn(1);for(var E=0,h=1;(N.words[0]&h)===0&&E<26;++E,h<<=1);if(E>0)for(N.iushrn(E);E-- >0;)J.isOdd()&&J.iadd(Y),J.iushrn(1);d.cmp(N)>=0?(d.isub(N),G.isub(J)):(N.isub(d),J.isub(G))}var S;return d.cmpn(1)===0?S=G:S=J,S.cmpn(0)<0&&S.iadd(B),S},r.prototype.gcd=function(B){if(this.isZero())return B.abs();if(B.isZero())return this.abs();var d=this.clone(),N=B.clone();d.negative=0,N.negative=0;for(var G=0;d.isEven()&&N.isEven();G++)d.iushrn(1),N.iushrn(1);do{for(;d.isEven();)d.iushrn(1);for(;N.isEven();)N.iushrn(1);var J=d.cmp(N);if(J<0){var Y=d;d=N,N=Y}else if(J===0||N.cmpn(1)===0)break;d.isub(N)}while(!0);return N.iushln(G)},r.prototype.invm=function(B){return this.egcd(B).a.umod(B)},r.prototype.isEven=function(){return(this.words[0]&1)===0},r.prototype.isOdd=function(){return(this.words[0]&1)===1},r.prototype.andln=function(B){return this.words[0]&B},r.prototype.bincn=function(B){s(typeof B=="number");var d=B%26,N=(B-d)/26,G=1<<d;if(this.length<=N)return this._expand(N+1),this.words[N]|=G,this;for(var J=G,Y=N;J!==0&&Y<this.length;Y++){var T=this.words[Y]|0;T+=J,J=T>>>26,T&=67108863,this.words[Y]=T}return J!==0&&(this.words[Y]=J,this.length++),this},r.prototype.isZero=function(){return this.length===1&&this.words[0]===0},r.prototype.cmpn=function(B){var d=B<0;if(this.negative!==0&&!d)return-1;if(this.negative===0&&d)return 1;this._strip();var N;if(this.length>1)N=1;else{d&&(B=-B),s(B<=67108863,"Number is too big");var G=this.words[0]|0;N=G===B?0:G<B?-1:1}return this.negative!==0?-N|0:N},r.prototype.cmp=function(B){if(this.negative!==0&&B.negative===0)return-1;if(this.negative===0&&B.negative!==0)return 1;var d=this.ucmp(B);return this.negative!==0?-d|0:d},r.prototype.ucmp=function(B){if(this.length>B.length)return 1;if(this.length<B.length)return-1;for(var d=0,N=this.length-1;N>=0;N--){var G=this.words[N]|0,J=B.words[N]|0;if(G!==J){G<J?d=-1:G>J&&(d=1);break}}return d},r.prototype.gtn=function(B){return this.cmpn(B)===1},r.prototype.gt=function(B){return this.cmp(B)===1},r.prototype.gten=function(B){return this.cmpn(B)>=0},r.prototype.gte=function(B){return this.cmp(B)>=0},r.prototype.ltn=function(B){return this.cmpn(B)===-1},r.prototype.lt=function(B){return this.cmp(B)===-1},r.prototype.lten=function(B){return this.cmpn(B)<=0},r.prototype.lte=function(B){return this.cmp(B)<=0},r.prototype.eqn=function(B){return this.cmpn(B)===0},r.prototype.eq=function(B){return this.cmp(B)===0},r.red=function(B){return new O(B)},r.prototype.toRed=function(B){return s(!this.red,"Already a number in reduction context"),s(this.negative===0,"red works only with positives"),B.convertTo(this)._forceRed(B)},r.prototype.fromRed=function(){return s(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},r.prototype._forceRed=function(B){return this.red=B,this},r.prototype.forceRed=function(B){return s(!this.red,"Already a number in reduction context"),this._forceRed(B)},r.prototype.redAdd=function(B){return s(this.red,"redAdd works only with red numbers"),this.red.add(this,B)},r.prototype.redIAdd=function(B){return s(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,B)},r.prototype.redSub=function(B){return s(this.red,"redSub works only with red numbers"),this.red.sub(this,B)},r.prototype.redISub=function(B){return s(this.red,"redISub works only with red numbers"),this.red.isub(this,B)},r.prototype.redShl=function(B){return s(this.red,"redShl works only with red numbers"),this.red.shl(this,B)},r.prototype.redMul=function(B){return s(this.red,"redMul works only with red numbers"),this.red._verify2(this,B),this.red.mul(this,B)},r.prototype.redIMul=function(B){return s(this.red,"redMul works only with red numbers"),this.red._verify2(this,B),this.red.imul(this,B)},r.prototype.redSqr=function(){return s(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},r.prototype.redISqr=function(){return s(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},r.prototype.redSqrt=function(){return s(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},r.prototype.redInvm=function(){return s(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},r.prototype.redNeg=function(){return s(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},r.prototype.redPow=function(B){return s(this.red&&!B.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,B)};var K={k256:null,p224:null,p192:null,p25519:null};function V(w,B){this.name=w,this.p=new r(B,16),this.n=this.p.bitLength(),this.k=new r(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}V.prototype._tmp=function(){var B=new r(null);return B.words=new Array(Math.ceil(this.n/13)),B},V.prototype.ireduce=function(B){var d=B,N;do this.split(d,this.tmp),d=this.imulK(d),d=d.iadd(this.tmp),N=d.bitLength();while(N>this.n);var G=N<this.n?-1:d.ucmp(this.p);return G===0?(d.words[0]=0,d.length=1):G>0?d.isub(this.p):d.strip!==void 0?d.strip():d._strip(),d},V.prototype.split=function(B,d){B.iushrn(this.n,0,d)},V.prototype.imulK=function(B){return B.imul(this.k)};function eA(){V.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(eA,V),eA.prototype.split=function(B,d){for(var N=4194303,G=Math.min(B.length,9),J=0;J<G;J++)d.words[J]=B.words[J];if(d.length=G,B.length<=9){B.words[0]=0,B.length=1;return}var Y=B.words[9];for(d.words[d.length++]=Y&N,J=10;J<B.length;J++){var T=B.words[J]|0;B.words[J-10]=(T&N)<<4|Y>>>22,Y=T}Y>>>=22,B.words[J-10]=Y,Y===0&&B.length>10?B.length-=10:B.length-=9},eA.prototype.imulK=function(B){B.words[B.length]=0,B.words[B.length+1]=0,B.length+=2;for(var d=0,N=0;N<B.length;N++){var G=B.words[N]|0;d+=G*977,B.words[N]=d&67108863,d=G*64+(d/67108864|0)}return B.words[B.length-1]===0&&(B.length--,B.words[B.length-1]===0&&B.length--),B};function X(){V.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}n(X,V);function R(){V.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}n(R,V);function W(){V.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}n(W,V),W.prototype.imulK=function(B){for(var d=0,N=0;N<B.length;N++){var G=(B.words[N]|0)*19+d,J=G&67108863;G>>>=26,B.words[N]=J,d=G}return d!==0&&(B.words[B.length++]=d),B},r._prime=function(B){if(K[B])return K[B];var d;if(B==="k256")d=new eA;else if(B==="p224")d=new X;else if(B==="p192")d=new R;else if(B==="p25519")d=new W;else throw new Error("Unknown prime "+B);return K[B]=d,d};function O(w){if(typeof w=="string"){var B=r._prime(w);this.m=B.p,this.prime=B}else s(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}O.prototype._verify1=function(B){s(B.negative===0,"red works only with positives"),s(B.red,"red works only with red numbers")},O.prototype._verify2=function(B,d){s((B.negative|d.negative)===0,"red works only with positives"),s(B.red&&B.red===d.red,"red works only with red numbers")},O.prototype.imod=function(B){return this.prime?this.prime.ireduce(B)._forceRed(this):(Q(B,B.umod(this.m)._forceRed(this)),B)},O.prototype.neg=function(B){return B.isZero()?B.clone():this.m.sub(B)._forceRed(this)},O.prototype.add=function(B,d){this._verify2(B,d);var N=B.add(d);return N.cmp(this.m)>=0&&N.isub(this.m),N._forceRed(this)},O.prototype.iadd=function(B,d){this._verify2(B,d);var N=B.iadd(d);return N.cmp(this.m)>=0&&N.isub(this.m),N},O.prototype.sub=function(B,d){this._verify2(B,d);var N=B.sub(d);return N.cmpn(0)<0&&N.iadd(this.m),N._forceRed(this)},O.prototype.isub=function(B,d){this._verify2(B,d);var N=B.isub(d);return N.cmpn(0)<0&&N.iadd(this.m),N},O.prototype.shl=function(B,d){return this._verify1(B),this.imod(B.ushln(d))},O.prototype.imul=function(B,d){return this._verify2(B,d),this.imod(B.imul(d))},O.prototype.mul=function(B,d){return this._verify2(B,d),this.imod(B.mul(d))},O.prototype.isqr=function(B){return this.imul(B,B.clone())},O.prototype.sqr=function(B){return this.mul(B,B)},O.prototype.sqrt=function(B){if(B.isZero())return B.clone();var d=this.m.andln(3);if(s(d%2===1),d===3){var N=this.m.add(new r(1)).iushrn(2);return this.pow(B,N)}for(var G=this.m.subn(1),J=0;!G.isZero()&&G.andln(1)===0;)J++,G.iushrn(1);s(!G.isZero());var Y=new r(1).toRed(this),T=Y.redNeg(),b=this.m.subn(1).iushrn(1),E=this.m.bitLength();for(E=new r(2*E*E).toRed(this);this.pow(E,b).cmp(T)!==0;)E.redIAdd(T);for(var h=this.pow(E,G),S=this.pow(B,G.addn(1).iushrn(1)),U=this.pow(B,G),_=J;U.cmp(Y)!==0;){for(var tA=U,IA=0;tA.cmp(Y)!==0;IA++)tA=tA.redSqr();s(IA<_);var iA=this.pow(h,new r(1).iushln(_-IA-1));S=S.redMul(iA),h=iA.redSqr(),U=U.redMul(h),_=IA}return S},O.prototype.invm=function(B){var d=B._invmp(this.m);return d.negative!==0?(d.negative=0,this.imod(d).redNeg()):this.imod(d)},O.prototype.pow=function(B,d){if(d.isZero())return new r(1).toRed(this);if(d.cmpn(1)===0)return B.clone();var N=4,G=new Array(1<<N);G[0]=new r(1).toRed(this),G[1]=B;for(var J=2;J<G.length;J++)G[J]=this.mul(G[J-1],B);var Y=G[0],T=0,b=0,E=d.bitLength()%26;for(E===0&&(E=26),J=d.length-1;J>=0;J--){for(var h=d.words[J],S=E-1;S>=0;S--){var U=h>>S&1;if(Y!==G[0]&&(Y=this.sqr(Y)),U===0&&T===0){b=0;continue}T<<=1,T|=U,b++,!(b!==N&&(J!==0||S!==0))&&(Y=this.mul(Y,G[T]),b=0,T=0)}E=26}return Y},O.prototype.convertTo=function(B){var d=B.umod(this.m);return d===B?d.clone():d},O.prototype.convertFrom=function(B){var d=B.clone();return d.red=null,d},r.mont=function(B){return new L(B)};function L(w){O.call(this,w),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new r(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}n(L,O),L.prototype.convertTo=function(B){return this.imod(B.ushln(this.shift))},L.prototype.convertFrom=function(B){var d=this.imod(B.mul(this.rinv));return d.red=null,d},L.prototype.imul=function(B,d){if(B.isZero()||d.isZero())return B.words[0]=0,B.length=1,B;var N=B.imul(d),G=N.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),J=N.isub(G).iushrn(this.shift),Y=J;return J.cmp(this.m)>=0?Y=J.isub(this.m):J.cmpn(0)<0&&(Y=J.iadd(this.m)),Y._forceRed(this)},L.prototype.mul=function(B,d){if(B.isZero()||d.isZero())return new r(0)._forceRed(this);var N=B.mul(d),G=N.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),J=N.isub(G).iushrn(this.shift),Y=J;return J.cmp(this.m)>=0?Y=J.isub(this.m):J.cmpn(0)<0&&(Y=J.iadd(this.m)),Y._forceRed(this)},L.prototype.invm=function(B){var d=this.imod(B._invmp(this.m).mul(this.r2));return d._forceRed(this)}})(A,Sw)})(En)),En.exports}var Uw=Sc();const Yl=bQ(Uw);var An={exports:{}};var Hl;function Uc(){return Hl||(Hl=1,(function(A,e){var t=gg(),s=t.Buffer;function n(i,a){for(var g in i)a[g]=i[g]}s.from&&s.alloc&&s.allocUnsafe&&s.allocUnsafeSlow?A.exports=t:(n(t,e),e.Buffer=r);function r(i,a,g){return s(i,a,g)}r.prototype=Object.create(s.prototype),n(s,r),r.from=function(i,a,g){if(typeof i=="number")throw new TypeError("Argument must not be a number");return s(i,a,g)},r.alloc=function(i,a,g){if(typeof i!="number")throw new TypeError("Argument must be a number");var l=s(i);return a!==void 0?typeof g=="string"?l.fill(a,g):l.fill(a):l.fill(0),l},r.allocUnsafe=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return s(i)},r.allocUnsafeSlow=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return t.SlowBuffer(i)}})(An,An.exports)),An.exports}var mi,Pl;function Rw(){if(Pl)return mi;Pl=1;var A=Uc().Buffer;function e(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var s=new Uint8Array(256),n=0;n<s.length;n++)s[n]=255;for(var r=0;r<t.length;r++){var i=t.charAt(r),a=i.charCodeAt(0);if(s[a]!==255)throw new TypeError(i+" is ambiguous");s[a]=r}var g=t.length,l=t.charAt(0),Q=Math.log(g)/Math.log(256),I=Math.log(256)/Math.log(g);function C(p){if((Array.isArray(p)||p instanceof Uint8Array)&&(p=A.from(p)),!A.isBuffer(p))throw new TypeError("Expected Buffer");if(p.length===0)return"";for(var f=0,k=0,v=0,D=p.length;v!==D&&p[v]===0;)v++,f++;for(var j=(D-v)*I+1>>>0,K=new Uint8Array(j);v!==D;){for(var V=p[v],eA=0,X=j-1;(V!==0||eA<k)&&X!==-1;X--,eA++)V+=256*K[X]>>>0,K[X]=V%g>>>0,V=V/g>>>0;if(V!==0)throw new Error("Non-zero carry");k=eA,v++}for(var R=j-k;R!==j&&K[R]===0;)R++;for(var W=l.repeat(f);R<j;++R)W+=t.charAt(K[R]);return W}function c(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return A.alloc(0);for(var f=0,k=0,v=0;p[f]===l;)k++,f++;for(var D=(p.length-f)*Q+1>>>0,j=new Uint8Array(D);f<p.length;){var K=p.charCodeAt(f);if(K>255)return;var V=s[K];if(V===255)return;for(var eA=0,X=D-1;(V!==0||eA<v)&&X!==-1;X--,eA++)V+=g*j[X]>>>0,j[X]=V%256>>>0,V=V/256>>>0;if(V!==0)throw new Error("Non-zero carry");v=eA,f++}for(var R=D-v;R!==D&&j[R]===0;)R++;var W=A.allocUnsafe(k+(D-R));W.fill(0,0,k);for(var O=k;R!==D;)W[O++]=j[R++];return W}function u(p){var f=c(p);if(f)return f;throw new Error("Non-base"+g+" character")}return{encode:C,decodeUnsafe:c,decode:u}}return mi=e,mi}var wi,Wl;function Kw(){if(Wl)return wi;Wl=1;var A=Rw(),e="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";return wi=A(e),wi}var Lw=Kw();const zl=bQ(Lw),Vl=Bc;var Xe={},xi,Zl;function Jw(){if(Zl)return xi;Zl=1;var A=Uc().Buffer;function e(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var s=new Uint8Array(256),n=0;n<s.length;n++)s[n]=255;for(var r=0;r<t.length;r++){var i=t.charAt(r),a=i.charCodeAt(0);if(s[a]!==255)throw new TypeError(i+" is ambiguous");s[a]=r}var g=t.length,l=t.charAt(0),Q=Math.log(g)/Math.log(256),I=Math.log(256)/Math.log(g);function C(p){if((Array.isArray(p)||p instanceof Uint8Array)&&(p=A.from(p)),!A.isBuffer(p))throw new TypeError("Expected Buffer");if(p.length===0)return"";for(var f=0,k=0,v=0,D=p.length;v!==D&&p[v]===0;)v++,f++;for(var j=(D-v)*I+1>>>0,K=new Uint8Array(j);v!==D;){for(var V=p[v],eA=0,X=j-1;(V!==0||eA<k)&&X!==-1;X--,eA++)V+=256*K[X]>>>0,K[X]=V%g>>>0,V=V/g>>>0;if(V!==0)throw new Error("Non-zero carry");k=eA,v++}for(var R=j-k;R!==j&&K[R]===0;)R++;for(var W=l.repeat(f);R<j;++R)W+=t.charAt(K[R]);return W}function c(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return A.alloc(0);for(var f=0,k=0,v=0;p[f]===l;)k++,f++;for(var D=(p.length-f)*Q+1>>>0,j=new Uint8Array(D);f<p.length;){var K=p.charCodeAt(f);if(K>255)return;var V=s[K];if(V===255)return;for(var eA=0,X=D-1;(V!==0||eA<v)&&X!==-1;X--,eA++)V+=g*j[X]>>>0,j[X]=V%256>>>0,V=V/256>>>0;if(V!==0)throw new Error("Non-zero carry");v=eA,f++}for(var R=D-v;R!==D&&j[R]===0;)R++;var W=A.allocUnsafe(k+(D-R));W.fill(0,0,k);for(var O=k;R!==D;)W[O++]=j[R++];return W}function u(p){var f=c(p);if(f)return f;throw new Error("Non-base"+g+" character")}return{encode:C,decodeUnsafe:c,decode:u}}return xi=e,xi}var Di,_l;function jw(){if(_l)return Di;_l=1;var A=Jw(),e="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";return Di=A(e),Di}function Ho(A,e,t){return e<=A&&A<=t}function _n(A){if(A===void 0)return{};if(A===Object(A))return A;throw TypeError("Could not convert argument to dictionary")}function Tw(A){for(var e=String(A),t=e.length,s=0,n=[];s<t;){var r=e.charCodeAt(s);if(r<55296||r>57343)n.push(r);else if(56320<=r&&r<=57343)n.push(65533);else if(55296<=r&&r<=56319)if(s===t-1)n.push(65533);else{var i=A.charCodeAt(s+1);if(56320<=i&&i<=57343){var a=r&1023,g=i&1023;n.push(65536+(a<<10)+g),s+=1}else n.push(65533)}s+=1}return n}function Ow(A){for(var e="",t=0;t<A.length;++t){var s=A[t];s<=65535?e+=String.fromCharCode(s):(s-=65536,e+=String.fromCharCode((s>>10)+55296,(s&1023)+56320))}return e}var yn=-1;function Ig(A){this.tokens=[].slice.call(A)}Ig.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():yn},prepend:function(A){if(Array.isArray(A))for(var e=A;e.length;)this.tokens.unshift(e.pop());else this.tokens.unshift(A)},push:function(A){if(Array.isArray(A))for(var e=A;e.length;)this.tokens.push(e.shift());else this.tokens.push(A)}};var zs=-1;function yi(A,e){if(A)throw TypeError("Decoder error");return e||65533}var Nn="utf-8";function kn(A,e){if(!(this instanceof kn))return new kn(A,e);if(A=A!==void 0?String(A).toLowerCase():Nn,A!==Nn)throw new Error("Encoding not supported. Only utf-8 is supported");e=_n(e),this._streaming=!1,this._BOMseen=!1,this._decoder=null,this._fatal=!!e.fatal,this._ignoreBOM=!!e.ignoreBOM,Object.defineProperty(this,"encoding",{value:"utf-8"}),Object.defineProperty(this,"fatal",{value:this._fatal}),Object.defineProperty(this,"ignoreBOM",{value:this._ignoreBOM})}kn.prototype={decode:function(e,t){var s;typeof e=="object"&&e instanceof ArrayBuffer?s=new Uint8Array(e):typeof e=="object"&&"buffer"in e&&e.buffer instanceof ArrayBuffer?s=new Uint8Array(e.buffer,e.byteOffset,e.byteLength):s=new Uint8Array(0),t=_n(t),this._streaming||(this._decoder=new qw({fatal:this._fatal}),this._BOMseen=!1),this._streaming=!!t.stream;for(var n=new Ig(s),r=[],i;!n.endOfStream()&&(i=this._decoder.handler(n,n.read()),i!==zs);)i!==null&&(Array.isArray(i)?r.push.apply(r,i):r.push(i));if(!this._streaming){do{if(i=this._decoder.handler(n,n.read()),i===zs)break;i!==null&&(Array.isArray(i)?r.push.apply(r,i):r.push(i))}while(!n.endOfStream());this._decoder=null}return r.length&&["utf-8"].indexOf(this.encoding)!==-1&&!this._ignoreBOM&&!this._BOMseen&&(r[0]===65279?(this._BOMseen=!0,r.shift()):this._BOMseen=!0),Ow(r)}};function Mn(A,e){if(!(this instanceof Mn))return new Mn(A,e);if(A=A!==void 0?String(A).toLowerCase():Nn,A!==Nn)throw new Error("Encoding not supported. Only utf-8 is supported");e=_n(e),this._streaming=!1,this._encoder=null,this._options={fatal:!!e.fatal},Object.defineProperty(this,"encoding",{value:"utf-8"})}Mn.prototype={encode:function(e,t){e=e?String(e):"",t=_n(t),this._streaming||(this._encoder=new Yw(this._options)),this._streaming=!!t.stream;for(var s=[],n=new Ig(Tw(e)),r;!n.endOfStream()&&(r=this._encoder.handler(n,n.read()),r!==zs);)Array.isArray(r)?s.push.apply(s,r):s.push(r);if(!this._streaming){for(;r=this._encoder.handler(n,n.read()),r!==zs;)Array.isArray(r)?s.push.apply(s,r):s.push(r);this._encoder=null}return new Uint8Array(s)}};function qw(A){var e=A.fatal,t=0,s=0,n=0,r=128,i=191;this.handler=function(a,g){if(g===yn&&n!==0)return n=0,yi(e);if(g===yn)return zs;if(n===0){if(Ho(g,0,127))return g;if(Ho(g,194,223))n=1,t=g-192;else if(Ho(g,224,239))g===224&&(r=160),g===237&&(i=159),n=2,t=g-224;else if(Ho(g,240,244))g===240&&(r=144),g===244&&(i=143),n=3,t=g-240;else return yi(e);return t=t<<6*n,null}if(!Ho(g,r,i))return t=n=s=0,r=128,i=191,a.prepend(g),yi(e);if(r=128,i=191,s+=1,t+=g-128<<6*(n-s),s!==n)return null;var l=t;return t=n=s=0,l}}function Yw(A){A.fatal,this.handler=function(e,t){if(t===yn)return zs;if(Ho(t,0,127))return t;var s,n;Ho(t,128,2047)?(s=1,n=192):Ho(t,2048,65535)?(s=2,n=224):Ho(t,65536,1114111)&&(s=3,n=240);for(var r=[(t>>6*s)+n];s>0;){var i=t>>6*(s-1);r.push(128|i&63),s-=1}return r}}const Hw=Object.freeze(Object.defineProperty({__proto__:null,TextDecoder:kn,TextEncoder:Mn},Symbol.toStringTag,{value:"Module"})),Pw=ba(Hw);var Xl;function Ww(){if(Xl)return Xe;Xl=1;var A=Xe&&Xe.__createBinding||(Object.create?(function(R,W,O,L){L===void 0&&(L=O),Object.defineProperty(R,L,{enumerable:!0,get:function(){return W[O]}})}):(function(R,W,O,L){L===void 0&&(L=O),R[L]=W[O]})),e=Xe&&Xe.__setModuleDefault||(Object.create?(function(R,W){Object.defineProperty(R,"default",{enumerable:!0,value:W})}):function(R,W){R.default=W}),t=Xe&&Xe.__decorate||function(R,W,O,L){var w=arguments.length,B=w<3?W:L===null?L=Object.getOwnPropertyDescriptor(W,O):L,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")B=Reflect.decorate(R,W,O,L);else for(var N=R.length-1;N>=0;N--)(d=R[N])&&(B=(w<3?d(B):w>3?d(W,O,B):d(W,O))||B);return w>3&&B&&Object.defineProperty(W,O,B),B},s=Xe&&Xe.__importStar||function(R){if(R&&R.__esModule)return R;var W={};if(R!=null)for(var O in R)O!=="default"&&Object.hasOwnProperty.call(R,O)&&A(W,R,O);return e(W,R),W},n=Xe&&Xe.__importDefault||function(R){return R&&R.__esModule?R:{default:R}};Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.deserializeUnchecked=Xe.deserialize=Xe.serialize=Xe.BinaryReader=Xe.BinaryWriter=Xe.BorshError=Xe.baseDecode=Xe.baseEncode=void 0;const r=n(Sc()),i=n(jw()),a=s(Pw),g=typeof TextDecoder!="function"?a.TextDecoder:TextDecoder,l=new g("utf-8",{fatal:!0});function Q(R){return typeof R=="string"&&(R=Buffer.from(R,"utf8")),i.default.encode(Buffer.from(R))}Xe.baseEncode=Q;function I(R){return Buffer.from(i.default.decode(R))}Xe.baseDecode=I;const C=1024;class c extends Error{constructor(W){super(W),this.fieldPath=[],this.originalMessage=W}addToFieldPath(W){this.fieldPath.splice(0,0,W),this.message=this.originalMessage+": "+this.fieldPath.join(".")}}Xe.BorshError=c;class u{constructor(){this.buf=Buffer.alloc(C),this.length=0}maybeResize(){this.buf.length<16+this.length&&(this.buf=Buffer.concat([this.buf,Buffer.alloc(C)]))}writeU8(W){this.maybeResize(),this.buf.writeUInt8(W,this.length),this.length+=1}writeU16(W){this.maybeResize(),this.buf.writeUInt16LE(W,this.length),this.length+=2}writeU32(W){this.maybeResize(),this.buf.writeUInt32LE(W,this.length),this.length+=4}writeU64(W){this.maybeResize(),this.writeBuffer(Buffer.from(new r.default(W).toArray("le",8)))}writeU128(W){this.maybeResize(),this.writeBuffer(Buffer.from(new r.default(W).toArray("le",16)))}writeU256(W){this.maybeResize(),this.writeBuffer(Buffer.from(new r.default(W).toArray("le",32)))}writeU512(W){this.maybeResize(),this.writeBuffer(Buffer.from(new r.default(W).toArray("le",64)))}writeBuffer(W){this.buf=Buffer.concat([Buffer.from(this.buf.subarray(0,this.length)),W,Buffer.alloc(C)]),this.length+=W.length}writeString(W){this.maybeResize();const O=Buffer.from(W,"utf8");this.writeU32(O.length),this.writeBuffer(O)}writeFixedArray(W){this.writeBuffer(Buffer.from(W))}writeArray(W,O){this.maybeResize(),this.writeU32(W.length);for(const L of W)this.maybeResize(),O(L)}toArray(){return this.buf.subarray(0,this.length)}}Xe.BinaryWriter=u;function p(R,W,O){const L=O.value;O.value=function(...w){try{return L.apply(this,w)}catch(B){if(B instanceof RangeError){const d=B.code;if(["ERR_BUFFER_OUT_OF_BOUNDS","ERR_OUT_OF_RANGE"].indexOf(d)>=0)throw new c("Reached the end of buffer when deserializing")}throw B}}}class f{constructor(W){this.buf=W,this.offset=0}readU8(){const W=this.buf.readUInt8(this.offset);return this.offset+=1,W}readU16(){const W=this.buf.readUInt16LE(this.offset);return this.offset+=2,W}readU32(){const W=this.buf.readUInt32LE(this.offset);return this.offset+=4,W}readU64(){const W=this.readBuffer(8);return new r.default(W,"le")}readU128(){const W=this.readBuffer(16);return new r.default(W,"le")}readU256(){const W=this.readBuffer(32);return new r.default(W,"le")}readU512(){const W=this.readBuffer(64);return new r.default(W,"le")}readBuffer(W){if(this.offset+W>this.buf.length)throw new c(`Expected buffer length ${W} isn't within bounds`);const O=this.buf.slice(this.offset,this.offset+W);return this.offset+=W,O}readString(){const W=this.readU32(),O=this.readBuffer(W);try{return l.decode(O)}catch(L){throw new c(`Error decoding UTF-8 string: ${L}`)}}readFixedArray(W){return new Uint8Array(this.readBuffer(W))}readArray(W){const O=this.readU32(),L=Array();for(let w=0;w<O;++w)L.push(W());return L}}t([p],f.prototype,"readU8",null),t([p],f.prototype,"readU16",null),t([p],f.prototype,"readU32",null),t([p],f.prototype,"readU64",null),t([p],f.prototype,"readU128",null),t([p],f.prototype,"readU256",null),t([p],f.prototype,"readU512",null),t([p],f.prototype,"readString",null),t([p],f.prototype,"readFixedArray",null),t([p],f.prototype,"readArray",null),Xe.BinaryReader=f;function k(R){return R.charAt(0).toUpperCase()+R.slice(1)}function v(R,W,O,L,w){try{if(typeof L=="string")w[`write${k(L)}`](O);else if(L instanceof Array)if(typeof L[0]=="number"){if(O.length!==L[0])throw new c(`Expecting byte array of length ${L[0]}, but got ${O.length} bytes`);w.writeFixedArray(O)}else if(L.length===2&&typeof L[1]=="number"){if(O.length!==L[1])throw new c(`Expecting byte array of length ${L[1]}, but got ${O.length} bytes`);for(let B=0;B<L[1];B++)v(R,null,O[B],L[0],w)}else w.writeArray(O,B=>{v(R,W,B,L[0],w)});else if(L.kind!==void 0)switch(L.kind){case"option":{O==null?w.writeU8(0):(w.writeU8(1),v(R,W,O,L.type,w));break}case"map":{w.writeU32(O.size),O.forEach((B,d)=>{v(R,W,d,L.key,w),v(R,W,B,L.value,w)});break}default:throw new c(`FieldType ${L} unrecognized`)}else D(R,O,w)}catch(B){throw B instanceof c&&B.addToFieldPath(W),B}}function D(R,W,O){if(typeof W.borshSerialize=="function"){W.borshSerialize(O);return}const L=R.get(W.constructor);if(!L)throw new c(`Class ${W.constructor.name} is missing in schema`);if(L.kind==="struct")L.fields.map(([w,B])=>{v(R,w,W[w],B,O)});else if(L.kind==="enum"){const w=W[L.field];for(let B=0;B<L.values.length;++B){const[d,N]=L.values[B];if(d===w){O.writeU8(B),v(R,d,W[d],N,O);break}}}else throw new c(`Unexpected schema kind: ${L.kind} for ${W.constructor.name}`)}function j(R,W,O=u){const L=new O;return D(R,W,L),L.toArray()}Xe.serialize=j;function K(R,W,O,L){try{if(typeof O=="string")return L[`read${k(O)}`]();if(O instanceof Array){if(typeof O[0]=="number")return L.readFixedArray(O[0]);if(typeof O[1]=="number"){const w=[];for(let B=0;B<O[1];B++)w.push(K(R,null,O[0],L));return w}else return L.readArray(()=>K(R,W,O[0],L))}if(O.kind==="option")return L.readU8()?K(R,W,O.type,L):void 0;if(O.kind==="map"){let w=new Map;const B=L.readU32();for(let d=0;d<B;d++){const N=K(R,W,O.key,L),G=K(R,W,O.value,L);w.set(N,G)}return w}return V(R,O,L)}catch(w){throw w instanceof c&&w.addToFieldPath(W),w}}function V(R,W,O){if(typeof W.borshDeserialize=="function")return W.borshDeserialize(O);const L=R.get(W);if(!L)throw new c(`Class ${W.name} is missing in schema`);if(L.kind==="struct"){const w={};for(const[B,d]of R.get(W).fields)w[B]=K(R,B,d,O);return new W(w)}if(L.kind==="enum"){const w=O.readU8();if(w>=L.values.length)throw new c(`Enum index: ${w} is out of range`);const[B,d]=L.values[w],N=K(R,B,d,O);return new W({[B]:N})}throw new c(`Unexpected schema kind: ${L.kind} for ${W.constructor.name}`)}function eA(R,W,O,L=f){const w=new L(O),B=V(R,W,w);if(w.offset<O.length)throw new c(`Unexpected ${O.length-w.offset} bytes after deserialized data`);return B}Xe.deserialize=eA;function X(R,W,O,L=f){const w=new L(O);return V(R,W,w)}return Xe.deserializeUnchecked=X,Xe}var Ni=Ww(),lA={},$l;function zw(){if($l)return lA;$l=1,Object.defineProperty(lA,"__esModule",{value:!0}),lA.s16=lA.s8=lA.nu64be=lA.u48be=lA.u40be=lA.u32be=lA.u24be=lA.u16be=lA.nu64=lA.u48=lA.u40=lA.u32=lA.u24=lA.u16=lA.u8=lA.offset=lA.greedy=lA.Constant=lA.UTF8=lA.CString=lA.Blob=lA.Boolean=lA.BitField=lA.BitStructure=lA.VariantLayout=lA.Union=lA.UnionLayoutDiscriminator=lA.UnionDiscriminator=lA.Structure=lA.Sequence=lA.DoubleBE=lA.Double=lA.FloatBE=lA.Float=lA.NearInt64BE=lA.NearInt64=lA.NearUInt64BE=lA.NearUInt64=lA.IntBE=lA.Int=lA.UIntBE=lA.UInt=lA.OffsetLayout=lA.GreedyCount=lA.ExternalLayout=lA.bindConstructorLayout=lA.nameWithProperty=lA.Layout=lA.uint8ArrayToBuffer=lA.checkUint8Array=void 0,lA.constant=lA.utf8=lA.cstr=lA.blob=lA.unionLayoutDiscriminator=lA.union=lA.seq=lA.bits=lA.struct=lA.f64be=lA.f64=lA.f32be=lA.f32=lA.ns64be=lA.s48be=lA.s40be=lA.s32be=lA.s24be=lA.s16be=lA.ns64=lA.s48=lA.s40=lA.s32=lA.s24=void 0;const A=gg();function e(E){if(!(E instanceof Uint8Array))throw new TypeError("b must be a Uint8Array")}lA.checkUint8Array=e;function t(E){return e(E),A.Buffer.from(E.buffer,E.byteOffset,E.length)}lA.uint8ArrayToBuffer=t;let s=class{constructor(h,S){if(!Number.isInteger(h))throw new TypeError("span must be an integer");this.span=h,this.property=S}makeDestinationObject(){return{}}getSpan(h,S){if(0>this.span)throw new RangeError("indeterminate span");return this.span}replicate(h){const S=Object.create(this.constructor.prototype);return Object.assign(S,this),S.property=h,S}fromArray(h){}};lA.Layout=s;function n(E,h){return h.property?E+"["+h.property+"]":E}lA.nameWithProperty=n;function r(E,h){if(typeof E!="function")throw new TypeError("Class must be constructor");if(Object.prototype.hasOwnProperty.call(E,"layout_"))throw new Error("Class is already bound to a layout");if(!(h&&h instanceof s))throw new TypeError("layout must be a Layout");if(Object.prototype.hasOwnProperty.call(h,"boundConstructor_"))throw new Error("layout is already bound to a constructor");E.layout_=h,h.boundConstructor_=E,h.makeDestinationObject=(()=>new E),Object.defineProperty(E.prototype,"encode",{value(S,U){return h.encode(this,S,U)},writable:!0}),Object.defineProperty(E,"decode",{value(S,U){return h.decode(S,U)},writable:!0})}lA.bindConstructorLayout=r;class i extends s{isCount(){throw new Error("ExternalLayout is abstract")}}lA.ExternalLayout=i;class a extends i{constructor(h=1,S){if(!Number.isInteger(h)||0>=h)throw new TypeError("elementSpan must be a (positive) integer");super(-1,S),this.elementSpan=h}isCount(){return!0}decode(h,S=0){e(h);const U=h.length-S;return Math.floor(U/this.elementSpan)}encode(h,S,U){return 0}}lA.GreedyCount=a;class g extends i{constructor(h,S=0,U){if(!(h instanceof s))throw new TypeError("layout must be a Layout");if(!Number.isInteger(S))throw new TypeError("offset must be integer or undefined");super(h.span,U||h.property),this.layout=h,this.offset=S}isCount(){return this.layout instanceof l||this.layout instanceof Q}decode(h,S=0){return this.layout.decode(h,S+this.offset)}encode(h,S,U=0){return this.layout.encode(h,S,U+this.offset)}}lA.OffsetLayout=g;class l extends s{constructor(h,S){if(super(h,S),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(h,S=0){return t(h).readUIntLE(S,this.span)}encode(h,S,U=0){return t(S).writeUIntLE(h,U,this.span),this.span}}lA.UInt=l;class Q extends s{constructor(h,S){if(super(h,S),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(h,S=0){return t(h).readUIntBE(S,this.span)}encode(h,S,U=0){return t(S).writeUIntBE(h,U,this.span),this.span}}lA.UIntBE=Q;class I extends s{constructor(h,S){if(super(h,S),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(h,S=0){return t(h).readIntLE(S,this.span)}encode(h,S,U=0){return t(S).writeIntLE(h,U,this.span),this.span}}lA.Int=I;class C extends s{constructor(h,S){if(super(h,S),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(h,S=0){return t(h).readIntBE(S,this.span)}encode(h,S,U=0){return t(S).writeIntBE(h,U,this.span),this.span}}lA.IntBE=C;const c=Math.pow(2,32);function u(E){const h=Math.floor(E/c),S=E-h*c;return{hi32:h,lo32:S}}function p(E,h){return E*c+h}class f extends s{constructor(h){super(8,h)}decode(h,S=0){const U=t(h),_=U.readUInt32LE(S),tA=U.readUInt32LE(S+4);return p(tA,_)}encode(h,S,U=0){const _=u(h),tA=t(S);return tA.writeUInt32LE(_.lo32,U),tA.writeUInt32LE(_.hi32,U+4),8}}lA.NearUInt64=f;class k extends s{constructor(h){super(8,h)}decode(h,S=0){const U=t(h),_=U.readUInt32BE(S),tA=U.readUInt32BE(S+4);return p(_,tA)}encode(h,S,U=0){const _=u(h),tA=t(S);return tA.writeUInt32BE(_.hi32,U),tA.writeUInt32BE(_.lo32,U+4),8}}lA.NearUInt64BE=k;class v extends s{constructor(h){super(8,h)}decode(h,S=0){const U=t(h),_=U.readUInt32LE(S),tA=U.readInt32LE(S+4);return p(tA,_)}encode(h,S,U=0){const _=u(h),tA=t(S);return tA.writeUInt32LE(_.lo32,U),tA.writeInt32LE(_.hi32,U+4),8}}lA.NearInt64=v;class D extends s{constructor(h){super(8,h)}decode(h,S=0){const U=t(h),_=U.readInt32BE(S),tA=U.readUInt32BE(S+4);return p(_,tA)}encode(h,S,U=0){const _=u(h),tA=t(S);return tA.writeInt32BE(_.hi32,U),tA.writeUInt32BE(_.lo32,U+4),8}}lA.NearInt64BE=D;class j extends s{constructor(h){super(4,h)}decode(h,S=0){return t(h).readFloatLE(S)}encode(h,S,U=0){return t(S).writeFloatLE(h,U),4}}lA.Float=j;class K extends s{constructor(h){super(4,h)}decode(h,S=0){return t(h).readFloatBE(S)}encode(h,S,U=0){return t(S).writeFloatBE(h,U),4}}lA.FloatBE=K;class V extends s{constructor(h){super(8,h)}decode(h,S=0){return t(h).readDoubleLE(S)}encode(h,S,U=0){return t(S).writeDoubleLE(h,U),8}}lA.Double=V;class eA extends s{constructor(h){super(8,h)}decode(h,S=0){return t(h).readDoubleBE(S)}encode(h,S,U=0){return t(S).writeDoubleBE(h,U),8}}lA.DoubleBE=eA;class X extends s{constructor(h,S,U){if(!(h instanceof s))throw new TypeError("elementLayout must be a Layout");if(!(S instanceof i&&S.isCount()||Number.isInteger(S)&&0<=S))throw new TypeError("count must be non-negative integer or an unsigned integer ExternalLayout");let _=-1;!(S instanceof i)&&0<h.span&&(_=S*h.span),super(_,U),this.elementLayout=h,this.count=S}getSpan(h,S=0){if(0<=this.span)return this.span;let U=0,_=this.count;if(_ instanceof i&&(_=_.decode(h,S)),0<this.elementLayout.span)U=_*this.elementLayout.span;else{let tA=0;for(;tA<_;)U+=this.elementLayout.getSpan(h,S+U),++tA}return U}decode(h,S=0){const U=[];let _=0,tA=this.count;for(tA instanceof i&&(tA=tA.decode(h,S));_<tA;)U.push(this.elementLayout.decode(h,S)),S+=this.elementLayout.getSpan(h,S),_+=1;return U}encode(h,S,U=0){const _=this.elementLayout,tA=h.reduce((IA,iA)=>IA+_.encode(iA,S,U+IA),0);return this.count instanceof i&&this.count.encode(h.length,S,U),tA}}lA.Sequence=X;class R extends s{constructor(h,S,U){if(!(Array.isArray(h)&&h.reduce((tA,IA)=>tA&&IA instanceof s,!0)))throw new TypeError("fields must be array of Layout instances");typeof S=="boolean"&&U===void 0&&(U=S,S=void 0);for(const tA of h)if(0>tA.span&&tA.property===void 0)throw new Error("fields cannot contain unnamed variable-length layout");let _=-1;try{_=h.reduce((tA,IA)=>tA+IA.getSpan(),0)}catch{}super(_,S),this.fields=h,this.decodePrefixes=!!U}getSpan(h,S=0){if(0<=this.span)return this.span;let U=0;try{U=this.fields.reduce((_,tA)=>{const IA=tA.getSpan(h,S);return S+=IA,_+IA},0)}catch{throw new RangeError("indeterminate span")}return U}decode(h,S=0){e(h);const U=this.makeDestinationObject();for(const _ of this.fields)if(_.property!==void 0&&(U[_.property]=_.decode(h,S)),S+=_.getSpan(h,S),this.decodePrefixes&&h.length===S)break;return U}encode(h,S,U=0){const _=U;let tA=0,IA=0;for(const iA of this.fields){let GA=iA.span;if(IA=0<GA?GA:0,iA.property!==void 0){const qA=h[iA.property];qA!==void 0&&(IA=iA.encode(qA,S,U),0>GA&&(GA=iA.getSpan(S,U)))}tA=U,U+=GA}return tA+IA-_}fromArray(h){const S=this.makeDestinationObject();for(const U of this.fields)U.property!==void 0&&0<h.length&&(S[U.property]=h.shift());return S}layoutFor(h){if(typeof h!="string")throw new TypeError("property must be string");for(const S of this.fields)if(S.property===h)return S}offsetOf(h){if(typeof h!="string")throw new TypeError("property must be string");let S=0;for(const U of this.fields){if(U.property===h)return S;0>U.span?S=-1:0<=S&&(S+=U.span)}}}lA.Structure=R;class W{constructor(h){this.property=h}decode(h,S){throw new Error("UnionDiscriminator is abstract")}encode(h,S,U){throw new Error("UnionDiscriminator is abstract")}}lA.UnionDiscriminator=W;class O extends W{constructor(h,S){if(!(h instanceof i&&h.isCount()))throw new TypeError("layout must be an unsigned integer ExternalLayout");super(S||h.property||"variant"),this.layout=h}decode(h,S){return this.layout.decode(h,S)}encode(h,S,U){return this.layout.encode(h,S,U)}}lA.UnionLayoutDiscriminator=O;class L extends s{constructor(h,S,U){let _;if(h instanceof l||h instanceof Q)_=new O(new g(h));else if(h instanceof i&&h.isCount())_=new O(h);else if(h instanceof W)_=h;else throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(S===void 0&&(S=null),!(S===null||S instanceof s))throw new TypeError("defaultLayout must be null or a Layout");if(S!==null){if(0>S.span)throw new Error("defaultLayout must have constant span");S.property===void 0&&(S=S.replicate("content"))}let tA=-1;S&&(tA=S.span,0<=tA&&(h instanceof l||h instanceof Q)&&(tA+=_.layout.span)),super(tA,U),this.discriminator=_,this.usesPrefixDiscriminator=h instanceof l||h instanceof Q,this.defaultLayout=S,this.registry={};let IA=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(iA){return IA(iA)},this.configGetSourceVariant=function(iA){IA=iA.bind(this)}}getSpan(h,S=0){if(0<=this.span)return this.span;const U=this.getVariant(h,S);if(!U)throw new Error("unable to determine span for unrecognized variant");return U.getSpan(h,S)}defaultGetSourceVariant(h){if(Object.prototype.hasOwnProperty.call(h,this.discriminator.property)){if(this.defaultLayout&&this.defaultLayout.property&&Object.prototype.hasOwnProperty.call(h,this.defaultLayout.property))return;const S=this.registry[h[this.discriminator.property]];if(S&&(!S.layout||S.property&&Object.prototype.hasOwnProperty.call(h,S.property)))return S}else for(const S in this.registry){const U=this.registry[S];if(U.property&&Object.prototype.hasOwnProperty.call(h,U.property))return U}throw new Error("unable to infer src variant")}decode(h,S=0){let U;const _=this.discriminator,tA=_.decode(h,S),IA=this.registry[tA];if(IA===void 0){const iA=this.defaultLayout;let GA=0;this.usesPrefixDiscriminator&&(GA=_.layout.span),U=this.makeDestinationObject(),U[_.property]=tA,U[iA.property]=iA.decode(h,S+GA)}else U=IA.decode(h,S);return U}encode(h,S,U=0){const _=this.getSourceVariant(h);if(_===void 0){const tA=this.discriminator,IA=this.defaultLayout;let iA=0;return this.usesPrefixDiscriminator&&(iA=tA.layout.span),tA.encode(h[tA.property],S,U),iA+IA.encode(h[IA.property],S,U+iA)}return _.encode(h,S,U)}addVariant(h,S,U){const _=new w(this,h,S,U);return this.registry[h]=_,_}getVariant(h,S=0){let U;return h instanceof Uint8Array?U=this.discriminator.decode(h,S):U=h,this.registry[U]}}lA.Union=L;class w extends s{constructor(h,S,U,_){if(!(h instanceof L))throw new TypeError("union must be a Union");if(!Number.isInteger(S)||0>S)throw new TypeError("variant must be a (non-negative) integer");if(typeof U=="string"&&_===void 0&&(_=U,U=null),U){if(!(U instanceof s))throw new TypeError("layout must be a Layout");if(h.defaultLayout!==null&&0<=U.span&&U.span>h.defaultLayout.span)throw new Error("variant span exceeds span of containing union");if(typeof _!="string")throw new TypeError("variant must have a String property")}let tA=h.span;0>h.span&&(tA=U?U.span:0,0<=tA&&h.usesPrefixDiscriminator&&(tA+=h.discriminator.layout.span)),super(tA,_),this.union=h,this.variant=S,this.layout=U||null}getSpan(h,S=0){if(0<=this.span)return this.span;let U=0;this.union.usesPrefixDiscriminator&&(U=this.union.discriminator.layout.span);let _=0;return this.layout&&(_=this.layout.getSpan(h,S+U)),U+_}decode(h,S=0){const U=this.makeDestinationObject();if(this!==this.union.getVariant(h,S))throw new Error("variant mismatch");let _=0;return this.union.usesPrefixDiscriminator&&(_=this.union.discriminator.layout.span),this.layout?U[this.property]=this.layout.decode(h,S+_):this.property?U[this.property]=!0:this.union.usesPrefixDiscriminator&&(U[this.union.discriminator.property]=this.variant),U}encode(h,S,U=0){let _=0;if(this.union.usesPrefixDiscriminator&&(_=this.union.discriminator.layout.span),this.layout&&!Object.prototype.hasOwnProperty.call(h,this.property))throw new TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,S,U);let tA=_;if(this.layout&&(this.layout.encode(h[this.property],S,U+_),tA+=this.layout.getSpan(S,U+_),0<=this.union.span&&tA>this.union.span))throw new Error("encoded variant overruns containing union");return tA}fromArray(h){if(this.layout)return this.layout.fromArray(h)}}lA.VariantLayout=w;function B(E){return 0>E&&(E+=4294967296),E}class d extends s{constructor(h,S,U){if(!(h instanceof l||h instanceof Q))throw new TypeError("word must be a UInt or UIntBE layout");if(typeof S=="string"&&U===void 0&&(U=S,S=!1),4<h.span)throw new RangeError("word cannot exceed 32 bits");super(h.span,U),this.word=h,this.msb=!!S,this.fields=[];let _=0;this._packedSetValue=function(tA){return _=B(tA),this},this._packedGetValue=function(){return _}}decode(h,S=0){const U=this.makeDestinationObject(),_=this.word.decode(h,S);this._packedSetValue(_);for(const tA of this.fields)tA.property!==void 0&&(U[tA.property]=tA.decode(h));return U}encode(h,S,U=0){const _=this.word.decode(S,U);this._packedSetValue(_);for(const tA of this.fields)if(tA.property!==void 0){const IA=h[tA.property];IA!==void 0&&tA.encode(IA)}return this.word.encode(this._packedGetValue(),S,U)}addField(h,S){const U=new N(this,h,S);return this.fields.push(U),U}addBoolean(h){const S=new G(this,h);return this.fields.push(S),S}fieldFor(h){if(typeof h!="string")throw new TypeError("property must be string");for(const S of this.fields)if(S.property===h)return S}}lA.BitStructure=d;class N{constructor(h,S,U){if(!(h instanceof d))throw new TypeError("container must be a BitStructure");if(!Number.isInteger(S)||0>=S)throw new TypeError("bits must be positive integer");const _=8*h.span,tA=h.fields.reduce((IA,iA)=>IA+iA.bits,0);if(S+tA>_)throw new Error("bits too long for span remainder ("+(_-tA)+" of "+_+" remain)");this.container=h,this.bits=S,this.valueMask=(1<<S)-1,S===32&&(this.valueMask=4294967295),this.start=tA,this.container.msb&&(this.start=_-tA-S),this.wordMask=B(this.valueMask<<this.start),this.property=U}decode(h,S){const U=this.container._packedGetValue();return B(U&this.wordMask)>>>this.start}encode(h){if(typeof h!="number"||!Number.isInteger(h)||h!==B(h&this.valueMask))throw new TypeError(n("BitField.encode",this)+" value must be integer not exceeding "+this.valueMask);const S=this.container._packedGetValue(),U=B(h<<this.start);this.container._packedSetValue(B(S&~this.wordMask)|U)}}lA.BitField=N;class G extends N{constructor(h,S){super(h,1,S)}decode(h,S){return!!super.decode(h,S)}encode(h){typeof h=="boolean"&&(h=+h),super.encode(h)}}lA.Boolean=G;class J extends s{constructor(h,S){if(!(h instanceof i&&h.isCount()||Number.isInteger(h)&&0<=h))throw new TypeError("length must be positive integer or an unsigned integer ExternalLayout");let U=-1;h instanceof i||(U=h),super(U,S),this.length=h}getSpan(h,S){let U=this.span;return 0>U&&(U=this.length.decode(h,S)),U}decode(h,S=0){let U=this.span;return 0>U&&(U=this.length.decode(h,S)),t(h).slice(S,S+U)}encode(h,S,U){let _=this.length;if(this.length instanceof i&&(_=h.length),!(h instanceof Uint8Array&&_===h.length))throw new TypeError(n("Blob.encode",this)+" requires (length "+_+") Uint8Array as src");if(U+_>S.length)throw new RangeError("encoding overruns Uint8Array");const tA=t(h);return t(S).write(tA.toString("hex"),U,_,"hex"),this.length instanceof i&&this.length.encode(_,S,U),_}}lA.Blob=J;class Y extends s{constructor(h){super(-1,h)}getSpan(h,S=0){e(h);let U=S;for(;U<h.length&&h[U]!==0;)U+=1;return 1+U-S}decode(h,S=0){const U=this.getSpan(h,S);return t(h).slice(S,S+U-1).toString("utf-8")}encode(h,S,U=0){typeof h!="string"&&(h=String(h));const _=A.Buffer.from(h,"utf8"),tA=_.length;if(U+tA>S.length)throw new RangeError("encoding overruns Buffer");const IA=t(S);return _.copy(IA,U),IA[U+tA]=0,tA+1}}lA.CString=Y;class T extends s{constructor(h,S){if(typeof h=="string"&&S===void 0&&(S=h,h=void 0),h===void 0)h=-1;else if(!Number.isInteger(h))throw new TypeError("maxSpan must be an integer");super(-1,S),this.maxSpan=h}getSpan(h,S=0){return e(h),h.length-S}decode(h,S=0){const U=this.getSpan(h,S);if(0<=this.maxSpan&&this.maxSpan<U)throw new RangeError("text length exceeds maxSpan");return t(h).slice(S,S+U).toString("utf-8")}encode(h,S,U=0){typeof h!="string"&&(h=String(h));const _=A.Buffer.from(h,"utf8"),tA=_.length;if(0<=this.maxSpan&&this.maxSpan<tA)throw new RangeError("text length exceeds maxSpan");if(U+tA>S.length)throw new RangeError("encoding overruns Buffer");return _.copy(t(S),U),tA}}lA.UTF8=T;class b extends s{constructor(h,S){super(0,S),this.value=h}decode(h,S){return this.value}encode(h,S,U){return 0}}return lA.Constant=b,lA.greedy=((E,h)=>new a(E,h)),lA.offset=((E,h,S)=>new g(E,h,S)),lA.u8=(E=>new l(1,E)),lA.u16=(E=>new l(2,E)),lA.u24=(E=>new l(3,E)),lA.u32=(E=>new l(4,E)),lA.u40=(E=>new l(5,E)),lA.u48=(E=>new l(6,E)),lA.nu64=(E=>new f(E)),lA.u16be=(E=>new Q(2,E)),lA.u24be=(E=>new Q(3,E)),lA.u32be=(E=>new Q(4,E)),lA.u40be=(E=>new Q(5,E)),lA.u48be=(E=>new Q(6,E)),lA.nu64be=(E=>new k(E)),lA.s8=(E=>new I(1,E)),lA.s16=(E=>new I(2,E)),lA.s24=(E=>new I(3,E)),lA.s32=(E=>new I(4,E)),lA.s40=(E=>new I(5,E)),lA.s48=(E=>new I(6,E)),lA.ns64=(E=>new v(E)),lA.s16be=(E=>new C(2,E)),lA.s24be=(E=>new C(3,E)),lA.s32be=(E=>new C(4,E)),lA.s40be=(E=>new C(5,E)),lA.s48be=(E=>new C(6,E)),lA.ns64be=(E=>new D(E)),lA.f32=(E=>new j(E)),lA.f32be=(E=>new K(E)),lA.f64=(E=>new V(E)),lA.f64be=(E=>new eA(E)),lA.struct=((E,h,S)=>new R(E,h,S)),lA.bits=((E,h,S)=>new d(E,h,S)),lA.seq=((E,h,S)=>new X(E,h,S)),lA.union=((E,h,S)=>new L(E,h,S)),lA.unionLayoutDiscriminator=((E,h)=>new O(E,h)),lA.blob=((E,h)=>new J(E,h)),lA.cstr=(E=>new Y(E)),lA.utf8=((E,h)=>new T(E,h)),lA.constant=((E,h)=>new b(E,h)),lA}var rA=zw(),Vw=8078011;function Rc(A){return Array.isArray(A)?"%5B"+A.map(Rc).join("%2C%20")+"%5D":typeof A=="bigint"?`${A}n`:encodeURIComponent(String(A!=null&&Object.getPrototypeOf(A)===null?{...A}:A))}function Zw([A,e]){return`${A}=${Rc(e)}`}function _w(A){const e=Object.entries(A).map(Zw).join("&");return btoa(e)}function Xw(A,e={}){{let t=`Solana error #${A}; Decode this error by running \`npx @solana/errors decode -- ${A}`;return Object.keys(e).length&&(t+=` '${_w(e)}'`),`${t}\``}}var $w=class extends Error{cause=this.cause;context;constructor(...[e,t]){let s,n;if(t){const{cause:i,...a}=t;i&&(n={cause:i}),Object.keys(a).length>0&&(s=a)}const r=Xw(e,s);super(r,n),this.context={__code:e,...s},this.name="SolanaError"}},Ax=8078e3,ex=8078001,tx=8078004,ox=8078005,sx=8078006;function Kc(A){return Array.isArray(A)?"%5B"+A.map(Kc).join("%2C%20")+"%5D":typeof A=="bigint"?`${A}n`:encodeURIComponent(String(A!=null&&Object.getPrototypeOf(A)===null?{...A}:A))}function rx([A,e]){return`${A}=${Kc(e)}`}function nx(A){const e=Object.entries(A).map(rx).join("&");return btoa(e)}function ix(A,e={}){{let t=`Solana error #${A}; Decode this error by running \`npx @solana/errors decode -- ${A}`;return Object.keys(e).length&&(t+=` '${nx(e)}'`),`${t}\``}}var Ir=class extends Error{cause=this.cause;context;constructor(...[A,e]){let t,s;if(e){const{cause:r,...i}=e;r&&(s={cause:r}),Object.keys(i).length>0&&(t=i)}const n=ix(A,t);super(n,s),this.context={__code:A,...t},this.name="SolanaError"}};function ax(A,e){return"fixedSize"in e?e.fixedSize:e.getSizeFromValue(A)}function gx(A){return Object.freeze({...A,encode:e=>{const t=new Uint8Array(ax(e,A));return A.write(e,t,0),t}})}function lx(A){return Object.freeze({...A,decode:(e,t=0)=>A.read(e,t)[0]})}function Ks(A){return"fixedSize"in A&&typeof A.fixedSize=="number"}function Qx(A,e){if(Ks(A)!==Ks(e))throw new Ir(tx);if(Ks(A)&&Ks(e)&&A.fixedSize!==e.fixedSize)throw new Ir(ox,{decoderFixedSize:e.fixedSize,encoderFixedSize:A.fixedSize});if(!Ks(A)&&!Ks(e)&&A.maxSize!==e.maxSize)throw new Ir(sx,{decoderMaxSize:e.maxSize,encoderMaxSize:A.maxSize});return{...e,...A,decode:e.decode,encode:A.encode,read:e.read,write:A.write}}function Bx(A,e,t=0){if(e.length-t<=0)throw new Ir(Ax,{codecDescription:A})}function cx(A,e,t,s=0){const n=t.length-s;if(n<e)throw new Ir(ex,{bytesLength:n,codecDescription:A,expected:e})}function Ex(A,e,t,s){if(s<e||s>t)throw new $w(Vw,{codecDescription:A,max:t,min:e,value:s})}function Lc(A){return A?.endian!==1}function Cx(A){return gx({fixedSize:A.size,write(e,t,s){A.range&&Ex(A.name,A.range[0],A.range[1],e);const n=new ArrayBuffer(A.size);return A.set(new DataView(n),e,Lc(A.config)),t.set(new Uint8Array(n),s),s+A.size}})}function Ix(A){return lx({fixedSize:A.size,read(e,t=0){Bx(A.name,e,t),cx(A.name,A.size,e,t);const s=new DataView(ux(e,t,A.size));return[A.get(s,Lc(A.config)),t+A.size]}})}function ux(A,e,t){const s=A.byteOffset+(e??0),n=t??A.byteLength;return A.buffer.slice(s,s+n)}var dx=(A={})=>Cx({config:A,name:"u64",range:[0n,BigInt("0xffffffffffffffff")],set:(e,t,s)=>e.setBigUint64(0,BigInt(t),s),size:8}),hx=(A={})=>Ix({config:A,get:(e,t)=>e.getBigUint64(0,t),name:"u64",size:8}),fx=(A={})=>Qx(dx(A),hx(A));class px extends TypeError{constructor(e,t){let s;const{message:n,explanation:r,...i}=e,{path:a}=e,g=a.length===0?n:`At path: ${a.join(".")} -- ${n}`;super(r??g),r!=null&&(this.cause=g),Object.assign(this,i),this.name=this.constructor.name,this.failures=()=>s??(s=[e,...t()])}}function mx(A){return Tr(A)&&typeof A[Symbol.iterator]=="function"}function Tr(A){return typeof A=="object"&&A!=null}function bn(A){return Tr(A)&&!Array.isArray(A)}function mo(A){return typeof A=="symbol"?A.toString():typeof A=="string"?JSON.stringify(A):`${A}`}function wx(A){const{done:e,value:t}=A.next();return e?void 0:t}function xx(A,e,t,s){if(A===!0)return;A===!1?A={}:typeof A=="string"&&(A={message:A});const{path:n,branch:r}=e,{type:i}=t,{refinement:a,message:g=`Expected a value of type \`${i}\`${a?` with refinement \`${a}\``:""}, but received: \`${mo(s)}\``}=A;return{value:s,type:i,refinement:a,key:n[n.length-1],path:n,branch:r,...A,message:g}}function*AQ(A,e,t,s){mx(A)||(A=[A]);for(const n of A){const r=xx(n,e,t,s);r&&(yield r)}}function*ug(A,e,t={}){const{path:s=[],branch:n=[A],coerce:r=!1,mask:i=!1}=t,a={path:s,branch:n,mask:i};r&&(A=e.coercer(A,a));let g="valid";for(const l of e.validator(A,a))l.explanation=t.message,g="not_valid",yield[l,void 0];for(let[l,Q,I]of e.entries(A,a)){const C=ug(Q,I,{path:l===void 0?s:[...s,l],branch:l===void 0?n:[...n,Q],coerce:r,mask:i,message:t.message});for(const c of C)c[0]?(g=c[0].refinement!=null?"not_refined":"not_valid",yield[c[0],void 0]):r&&(Q=c[1],l===void 0?A=Q:A instanceof Map?A.set(l,Q):A instanceof Set?A.add(Q):Tr(A)&&(Q!==void 0||l in A)&&(A[l]=Q))}if(g!=="not_valid")for(const l of e.refiner(A,a))l.explanation=t.message,g="not_refined",yield[l,void 0];g==="valid"&&(yield[void 0,A])}let Uo=class{constructor(e){const{type:t,schema:s,validator:n,refiner:r,coercer:i=g=>g,entries:a=function*(){}}=e;this.type=t,this.schema=s,this.entries=a,this.coercer=i,n?this.validator=(g,l)=>{const Q=n(g,l);return AQ(Q,l,this,g)}:this.validator=()=>[],r?this.refiner=(g,l)=>{const Q=r(g,l);return AQ(Q,l,this,g)}:this.refiner=()=>[]}assert(e,t){return Dx(e,this,t)}create(e,t){return wr(e,this,t)}is(e){return Jc(e,this)}mask(e,t){return yx(e,this,t)}validate(e,t={}){return Or(e,this,t)}};function Dx(A,e,t){const s=Or(A,e,{message:t});if(s[0])throw s[0]}function wr(A,e,t){const s=Or(A,e,{coerce:!0,message:t});if(s[0])throw s[0];return s[1]}function yx(A,e,t){const s=Or(A,e,{coerce:!0,mask:!0,message:t});if(s[0])throw s[0];return s[1]}function Jc(A,e){return!Or(A,e)[0]}function Or(A,e,t={}){const s=ug(A,e,t),n=wx(s);return n[0]?[new px(n[0],function*(){for(const i of s)i[0]&&(yield i[0])}),void 0]:[void 0,n[1]]}function ks(A,e){return new Uo({type:A,schema:null,validator:e})}function Nx(){return ks("any",()=>!0)}function jA(A){return new Uo({type:"array",schema:A,*entries(e){if(A&&Array.isArray(e))for(const[t,s]of e.entries())yield[t,s,A]},coercer(e){return Array.isArray(e)?e.slice():e},validator(e){return Array.isArray(e)||`Expected an array value, but received: ${mo(e)}`}})}function Go(){return ks("boolean",A=>typeof A=="boolean")}function dg(A){return ks("instance",e=>e instanceof A||`Expected a \`${A.name}\` instance, but received: ${mo(e)}`)}function Bt(A){const e=mo(A),t=typeof A;return new Uo({type:"literal",schema:t==="string"||t==="number"||t==="boolean"?A:null,validator(s){return s===A||`Expected the literal \`${e}\`, but received: ${mo(s)}`}})}function kx(){return ks("never",()=>!1)}function TA(A){return new Uo({...A,validator:(e,t)=>e===null||A.validator(e,t),refiner:(e,t)=>e===null||A.refiner(e,t)})}function gA(){return ks("number",A=>typeof A=="number"&&!isNaN(A)||`Expected a number, but received: ${mo(A)}`)}function te(A){return new Uo({...A,validator:(e,t)=>e===void 0||A.validator(e,t),refiner:(e,t)=>e===void 0||A.refiner(e,t)})}function jc(A,e){return new Uo({type:"record",schema:null,*entries(t){if(Tr(t))for(const s in t){const n=t[s];yield[s,s,A],yield[s,n,e]}},validator(t){return bn(t)||`Expected an object, but received: ${mo(t)}`},coercer(t){return bn(t)?{...t}:t}})}function FA(){return ks("string",A=>typeof A=="string"||`Expected a string, but received: ${mo(A)}`)}function hg(A){const e=kx();return new Uo({type:"tuple",schema:null,*entries(t){if(Array.isArray(t)){const s=Math.max(A.length,t.length);for(let n=0;n<s;n++)yield[n,t[n],A[n]||e]}},validator(t){return Array.isArray(t)||`Expected an array, but received: ${mo(t)}`},coercer(t){return Array.isArray(t)?t.slice():t}})}function wA(A){const e=Object.keys(A);return new Uo({type:"type",schema:A,*entries(t){if(Tr(t))for(const s of e)yield[s,t[s],A[s]]},validator(t){return bn(t)||`Expected an object, but received: ${mo(t)}`},coercer(t){return bn(t)?{...t}:t}})}function Xt(A){const e=A.map(t=>t.type).join(" | ");return new Uo({type:"union",schema:null,coercer(t,s){for(const n of A){const[r,i]=n.validate(t,{coerce:!0,mask:s.mask});if(!r)return i}return t},validator(t,s){const n=[];for(const r of A){const[...i]=ug(t,r,s),[a]=i;if(a[0])for(const[g]of i)g&&n.push(g);else return[]}return[`Expected the value to satisfy a union of \`${e}\`, but received: ${mo(t)}`,...n]}})}function or(){return ks("unknown",()=>!0)}function qr(A,e,t){return new Uo({...A,coercer:(s,n)=>Jc(s,e)?A.coercer(t(s,n),n):A.coercer(s,n)})}var en,Mx=new Uint8Array(16);function Tc(){if(!en&&(en=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!en))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return en(Mx)}const bx=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Xn(A){return typeof A=="string"&&bx.test(A)}var Gt=[];for(var ki=0;ki<256;++ki)Gt.push((ki+256).toString(16).substr(1));function $n(A){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t=(Gt[A[e+0]]+Gt[A[e+1]]+Gt[A[e+2]]+Gt[A[e+3]]+"-"+Gt[A[e+4]]+Gt[A[e+5]]+"-"+Gt[A[e+6]]+Gt[A[e+7]]+"-"+Gt[A[e+8]]+Gt[A[e+9]]+"-"+Gt[A[e+10]]+Gt[A[e+11]]+Gt[A[e+12]]+Gt[A[e+13]]+Gt[A[e+14]]+Gt[A[e+15]]).toLowerCase();if(!Xn(t))throw TypeError("Stringified UUID is invalid");return t}var eQ,Mi,bi=0,Fi=0;function Fx(A,e,t){var s=e&&t||0,n=e||new Array(16);A=A||{};var r=A.node||eQ,i=A.clockseq!==void 0?A.clockseq:Mi;if(r==null||i==null){var a=A.random||(A.rng||Tc)();r==null&&(r=eQ=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]),i==null&&(i=Mi=(a[6]<<8|a[7])&16383)}var g=A.msecs!==void 0?A.msecs:Date.now(),l=A.nsecs!==void 0?A.nsecs:Fi+1,Q=g-bi+(l-Fi)/1e4;if(Q<0&&A.clockseq===void 0&&(i=i+1&16383),(Q<0||g>bi)&&A.nsecs===void 0&&(l=0),l>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");bi=g,Fi=l,Mi=i,g+=122192928e5;var I=((g&268435455)*1e4+l)%4294967296;n[s++]=I>>>24&255,n[s++]=I>>>16&255,n[s++]=I>>>8&255,n[s++]=I&255;var C=g/4294967296*1e4&268435455;n[s++]=C>>>8&255,n[s++]=C&255,n[s++]=C>>>24&15|16,n[s++]=C>>>16&255,n[s++]=i>>>8|128,n[s++]=i&255;for(var c=0;c<6;++c)n[s+c]=r[c];return e||$n(n)}function Oc(A){if(!Xn(A))throw TypeError("Invalid UUID");var e,t=new Uint8Array(16);return t[0]=(e=parseInt(A.slice(0,8),16))>>>24,t[1]=e>>>16&255,t[2]=e>>>8&255,t[3]=e&255,t[4]=(e=parseInt(A.slice(9,13),16))>>>8,t[5]=e&255,t[6]=(e=parseInt(A.slice(14,18),16))>>>8,t[7]=e&255,t[8]=(e=parseInt(A.slice(19,23),16))>>>8,t[9]=e&255,t[10]=(e=parseInt(A.slice(24,36),16))/1099511627776&255,t[11]=e/4294967296&255,t[12]=e>>>24&255,t[13]=e>>>16&255,t[14]=e>>>8&255,t[15]=e&255,t}function Gx(A){A=unescape(encodeURIComponent(A));for(var e=[],t=0;t<A.length;++t)e.push(A.charCodeAt(t));return e}var vx="6ba7b810-9dad-11d1-80b4-00c04fd430c8",Sx="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function qc(A,e,t){function s(n,r,i,a){if(typeof n=="string"&&(n=Gx(n)),typeof r=="string"&&(r=Oc(r)),r.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var g=new Uint8Array(16+n.length);if(g.set(r),g.set(n,r.length),g=t(g),g[6]=g[6]&15|e,g[8]=g[8]&63|128,i){a=a||0;for(var l=0;l<16;++l)i[a+l]=g[l];return i}return $n(g)}try{s.name=A}catch{}return s.DNS=vx,s.URL=Sx,s}function Ux(A){if(typeof A=="string"){var e=unescape(encodeURIComponent(A));A=new Uint8Array(e.length);for(var t=0;t<e.length;++t)A[t]=e.charCodeAt(t)}return Rx(Kx(Lx(A),A.length*8))}function Rx(A){for(var e=[],t=A.length*32,s="0123456789abcdef",n=0;n<t;n+=8){var r=A[n>>5]>>>n%32&255,i=parseInt(s.charAt(r>>>4&15)+s.charAt(r&15),16);e.push(i)}return e}function Yc(A){return(A+64>>>9<<4)+14+1}function Kx(A,e){A[e>>5]|=128<<e%32,A[Yc(e)-1]=e;for(var t=1732584193,s=-271733879,n=-1732584194,r=271733878,i=0;i<A.length;i+=16){var a=t,g=s,l=n,Q=r;t=Lt(t,s,n,r,A[i],7,-680876936),r=Lt(r,t,s,n,A[i+1],12,-389564586),n=Lt(n,r,t,s,A[i+2],17,606105819),s=Lt(s,n,r,t,A[i+3],22,-1044525330),t=Lt(t,s,n,r,A[i+4],7,-176418897),r=Lt(r,t,s,n,A[i+5],12,1200080426),n=Lt(n,r,t,s,A[i+6],17,-1473231341),s=Lt(s,n,r,t,A[i+7],22,-45705983),t=Lt(t,s,n,r,A[i+8],7,1770035416),r=Lt(r,t,s,n,A[i+9],12,-1958414417),n=Lt(n,r,t,s,A[i+10],17,-42063),s=Lt(s,n,r,t,A[i+11],22,-1990404162),t=Lt(t,s,n,r,A[i+12],7,1804603682),r=Lt(r,t,s,n,A[i+13],12,-40341101),n=Lt(n,r,t,s,A[i+14],17,-1502002290),s=Lt(s,n,r,t,A[i+15],22,1236535329),t=Jt(t,s,n,r,A[i+1],5,-165796510),r=Jt(r,t,s,n,A[i+6],9,-1069501632),n=Jt(n,r,t,s,A[i+11],14,643717713),s=Jt(s,n,r,t,A[i],20,-373897302),t=Jt(t,s,n,r,A[i+5],5,-701558691),r=Jt(r,t,s,n,A[i+10],9,38016083),n=Jt(n,r,t,s,A[i+15],14,-660478335),s=Jt(s,n,r,t,A[i+4],20,-405537848),t=Jt(t,s,n,r,A[i+9],5,568446438),r=Jt(r,t,s,n,A[i+14],9,-1019803690),n=Jt(n,r,t,s,A[i+3],14,-187363961),s=Jt(s,n,r,t,A[i+8],20,1163531501),t=Jt(t,s,n,r,A[i+13],5,-1444681467),r=Jt(r,t,s,n,A[i+2],9,-51403784),n=Jt(n,r,t,s,A[i+7],14,1735328473),s=Jt(s,n,r,t,A[i+12],20,-1926607734),t=jt(t,s,n,r,A[i+5],4,-378558),r=jt(r,t,s,n,A[i+8],11,-2022574463),n=jt(n,r,t,s,A[i+11],16,1839030562),s=jt(s,n,r,t,A[i+14],23,-35309556),t=jt(t,s,n,r,A[i+1],4,-1530992060),r=jt(r,t,s,n,A[i+4],11,1272893353),n=jt(n,r,t,s,A[i+7],16,-155497632),s=jt(s,n,r,t,A[i+10],23,-1094730640),t=jt(t,s,n,r,A[i+13],4,681279174),r=jt(r,t,s,n,A[i],11,-358537222),n=jt(n,r,t,s,A[i+3],16,-722521979),s=jt(s,n,r,t,A[i+6],23,76029189),t=jt(t,s,n,r,A[i+9],4,-640364487),r=jt(r,t,s,n,A[i+12],11,-421815835),n=jt(n,r,t,s,A[i+15],16,530742520),s=jt(s,n,r,t,A[i+2],23,-995338651),t=Tt(t,s,n,r,A[i],6,-198630844),r=Tt(r,t,s,n,A[i+7],10,1126891415),n=Tt(n,r,t,s,A[i+14],15,-1416354905),s=Tt(s,n,r,t,A[i+5],21,-57434055),t=Tt(t,s,n,r,A[i+12],6,1700485571),r=Tt(r,t,s,n,A[i+3],10,-1894986606),n=Tt(n,r,t,s,A[i+10],15,-1051523),s=Tt(s,n,r,t,A[i+1],21,-2054922799),t=Tt(t,s,n,r,A[i+8],6,1873313359),r=Tt(r,t,s,n,A[i+15],10,-30611744),n=Tt(n,r,t,s,A[i+6],15,-1560198380),s=Tt(s,n,r,t,A[i+13],21,1309151649),t=Tt(t,s,n,r,A[i+4],6,-145523070),r=Tt(r,t,s,n,A[i+11],10,-1120210379),n=Tt(n,r,t,s,A[i+2],15,718787259),s=Tt(s,n,r,t,A[i+9],21,-343485551),t=es(t,a),s=es(s,g),n=es(n,l),r=es(r,Q)}return[t,s,n,r]}function Lx(A){if(A.length===0)return[];for(var e=A.length*8,t=new Uint32Array(Yc(e)),s=0;s<e;s+=8)t[s>>5]|=(A[s/8]&255)<<s%32;return t}function es(A,e){var t=(A&65535)+(e&65535),s=(A>>16)+(e>>16)+(t>>16);return s<<16|t&65535}function Jx(A,e){return A<<e|A>>>32-e}function Ai(A,e,t,s,n,r){return es(Jx(es(es(e,A),es(s,r)),n),t)}function Lt(A,e,t,s,n,r,i){return Ai(e&t|~e&s,A,e,n,r,i)}function Jt(A,e,t,s,n,r,i){return Ai(e&s|t&~s,A,e,n,r,i)}function jt(A,e,t,s,n,r,i){return Ai(e^t^s,A,e,n,r,i)}function Tt(A,e,t,s,n,r,i){return Ai(t^(e|~s),A,e,n,r,i)}var jx=qc("v3",48,Ux);function Tx(A,e,t){A=A||{};var s=A.random||(A.rng||Tc)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,e){t=t||0;for(var n=0;n<16;++n)e[t+n]=s[n];return e}return $n(s)}function Ox(A,e,t,s){switch(A){case 0:return e&t^~e&s;case 1:return e^t^s;case 2:return e&t^e&s^t&s;case 3:return e^t^s}}function Gi(A,e){return A<<e|A>>>32-e}function qx(A){var e=[1518500249,1859775393,2400959708,3395469782],t=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof A=="string"){var s=unescape(encodeURIComponent(A));A=[];for(var n=0;n<s.length;++n)A.push(s.charCodeAt(n))}else Array.isArray(A)||(A=Array.prototype.slice.call(A));A.push(128);for(var r=A.length/4+2,i=Math.ceil(r/16),a=new Array(i),g=0;g<i;++g){for(var l=new Uint32Array(16),Q=0;Q<16;++Q)l[Q]=A[g*64+Q*4]<<24|A[g*64+Q*4+1]<<16|A[g*64+Q*4+2]<<8|A[g*64+Q*4+3];a[g]=l}a[i-1][14]=(A.length-1)*8/Math.pow(2,32),a[i-1][14]=Math.floor(a[i-1][14]),a[i-1][15]=(A.length-1)*8&4294967295;for(var I=0;I<i;++I){for(var C=new Uint32Array(80),c=0;c<16;++c)C[c]=a[I][c];for(var u=16;u<80;++u)C[u]=Gi(C[u-3]^C[u-8]^C[u-14]^C[u-16],1);for(var p=t[0],f=t[1],k=t[2],v=t[3],D=t[4],j=0;j<80;++j){var K=Math.floor(j/20),V=Gi(p,5)+Ox(K,f,k,v)+D+e[K]+C[j]>>>0;D=v,v=k,k=Gi(f,30)>>>0,f=p,p=V}t[0]=t[0]+p>>>0,t[1]=t[1]+f>>>0,t[2]=t[2]+k>>>0,t[3]=t[3]+v>>>0,t[4]=t[4]+D>>>0}return[t[0]>>24&255,t[0]>>16&255,t[0]>>8&255,t[0]&255,t[1]>>24&255,t[1]>>16&255,t[1]>>8&255,t[1]&255,t[2]>>24&255,t[2]>>16&255,t[2]>>8&255,t[2]&255,t[3]>>24&255,t[3]>>16&255,t[3]>>8&255,t[3]&255,t[4]>>24&255,t[4]>>16&255,t[4]>>8&255,t[4]&255]}var Yx=qc("v5",80,qx);const Hx="00000000-0000-0000-0000-000000000000";function Px(A){if(!Xn(A))throw TypeError("Invalid UUID");return parseInt(A.substr(14,1),16)}const Wx=Object.freeze(Object.defineProperty({__proto__:null,NIL:Hx,parse:Oc,stringify:$n,v1:Fx,v3:jx,v4:Tx,v5:Yx,validate:Xn,version:Px},Symbol.toStringTag,{value:"Module"})),Hc=ba(Wx);var vi,tQ;function zx(){if(tQ)return vi;tQ=1;const A=Hc.v4;return vi=function(t,s,n,r){if(typeof t!="string")throw new TypeError(t+" must be a string");r=r||{};const i=typeof r.version=="number"?r.version:2;if(i!==1&&i!==2)throw new TypeError(i+" must be 1 or 2");const a={method:t};if(i===2&&(a.jsonrpc="2.0"),s){if(typeof s!="object"&&!Array.isArray(s))throw new TypeError(s+" must be an object, array or omitted");a.params=s}if(typeof n>"u"){const g=typeof r.generator=="function"?r.generator:function(){return A()};a.id=g(a,r)}else i===2&&n===null?r.notificationIdNull&&(a.id=null):a.id=n;return a},vi}var Si,oQ;function Vx(){if(oQ)return Si;oQ=1;const A=Hc.v4,e=zx(),t=function(s,n){if(!(this instanceof t))return new t(s,n);n||(n={}),this.options={reviver:typeof n.reviver<"u"?n.reviver:null,replacer:typeof n.replacer<"u"?n.replacer:null,generator:typeof n.generator<"u"?n.generator:function(){return A()},version:typeof n.version<"u"?n.version:2,notificationIdNull:typeof n.notificationIdNull=="boolean"?n.notificationIdNull:!1},this.callServer=s};return Si=t,t.prototype.request=function(s,n,r,i){const a=this;let g=null;const l=Array.isArray(s)&&typeof n=="function";if(this.options.version===1&&l)throw new TypeError("JSON-RPC 1.0 does not support batching");if(l||!l&&s&&typeof s=="object"&&typeof n=="function")i=n,g=s;else{typeof r=="function"&&(i=r,r=void 0);const C=typeof i=="function";try{g=e(s,n,r,{generator:this.options.generator,version:this.options.version,notificationIdNull:this.options.notificationIdNull})}catch(c){if(C){i(c);return}throw c}if(!C)return g}let I;try{I=JSON.stringify(g,this.options.replacer)}catch(C){i(C);return}return this.callServer(I,function(C,c){a._parseResponse(C,c,i)}),g},t.prototype._parseResponse=function(s,n,r){if(s){r(s);return}if(!n){r();return}let i;try{i=JSON.parse(n,this.options.reviver)}catch(a){r(a);return}if(r.length===3)if(Array.isArray(i)){const a=function(l){return typeof l.error<"u"},g=function(l){return!a(l)};r(null,i.filter(a),i.filter(g));return}else{r(null,i.error,i.result);return}r(null,i)},Si}Vx();var Ui={exports:{}},sQ;function Zx(){return sQ||(sQ=1,(function(A){var e=Object.prototype.hasOwnProperty,t="~";function s(){}Object.create&&(s.prototype=Object.create(null),new s().__proto__||(t=!1));function n(g,l,Q){this.fn=g,this.context=l,this.once=Q||!1}function r(g,l,Q,I,C){if(typeof Q!="function")throw new TypeError("The listener must be a function");var c=new n(Q,I||g,C),u=t?t+l:l;return g._events[u]?g._events[u].fn?g._events[u]=[g._events[u],c]:g._events[u].push(c):(g._events[u]=c,g._eventsCount++),g}function i(g,l){--g._eventsCount===0?g._events=new s:delete g._events[l]}function a(){this._events=new s,this._eventsCount=0}a.prototype.eventNames=function(){var l=[],Q,I;if(this._eventsCount===0)return l;for(I in Q=this._events)e.call(Q,I)&&l.push(t?I.slice(1):I);return Object.getOwnPropertySymbols?l.concat(Object.getOwnPropertySymbols(Q)):l},a.prototype.listeners=function(l){var Q=t?t+l:l,I=this._events[Q];if(!I)return[];if(I.fn)return[I.fn];for(var C=0,c=I.length,u=new Array(c);C<c;C++)u[C]=I[C].fn;return u},a.prototype.listenerCount=function(l){var Q=t?t+l:l,I=this._events[Q];return I?I.fn?1:I.length:0},a.prototype.emit=function(l,Q,I,C,c,u){var p=t?t+l:l;if(!this._events[p])return!1;var f=this._events[p],k=arguments.length,v,D;if(f.fn){switch(f.once&&this.removeListener(l,f.fn,void 0,!0),k){case 1:return f.fn.call(f.context),!0;case 2:return f.fn.call(f.context,Q),!0;case 3:return f.fn.call(f.context,Q,I),!0;case 4:return f.fn.call(f.context,Q,I,C),!0;case 5:return f.fn.call(f.context,Q,I,C,c),!0;case 6:return f.fn.call(f.context,Q,I,C,c,u),!0}for(D=1,v=new Array(k-1);D<k;D++)v[D-1]=arguments[D];f.fn.apply(f.context,v)}else{var j=f.length,K;for(D=0;D<j;D++)switch(f[D].once&&this.removeListener(l,f[D].fn,void 0,!0),k){case 1:f[D].fn.call(f[D].context);break;case 2:f[D].fn.call(f[D].context,Q);break;case 3:f[D].fn.call(f[D].context,Q,I);break;case 4:f[D].fn.call(f[D].context,Q,I,C);break;default:if(!v)for(K=1,v=new Array(k-1);K<k;K++)v[K-1]=arguments[K];f[D].fn.apply(f[D].context,v)}}return!0},a.prototype.on=function(l,Q,I){return r(this,l,Q,I,!1)},a.prototype.once=function(l,Q,I){return r(this,l,Q,I,!0)},a.prototype.removeListener=function(l,Q,I,C){var c=t?t+l:l;if(!this._events[c])return this;if(!Q)return i(this,c),this;var u=this._events[c];if(u.fn)u.fn===Q&&(!C||u.once)&&(!I||u.context===I)&&i(this,c);else{for(var p=0,f=[],k=u.length;p<k;p++)(u[p].fn!==Q||C&&!u[p].once||I&&u[p].context!==I)&&f.push(u[p]);f.length?this._events[c]=f.length===1?f[0]:f:i(this,c)}return this},a.prototype.removeAllListeners=function(l){var Q;return l?(Q=t?t+l:l,this._events[Q]&&i(this,Q)):(this._events=new s,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=t,a.EventEmitter=a,A.exports=a})(Ui)),Ui.exports}Zx();class Pc extends ac{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,nc(e);const s=lg(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,r=new Uint8Array(n);r.set(s.length>n?e.create().update(s).digest():s);for(let i=0;i<r.length;i++)r[i]^=54;this.iHash.update(r),this.oHash=e.create();for(let i=0;i<r.length;i++)r[i]^=106;this.oHash.update(r),Ps(r)}update(e){return mn(this),this.iHash.update(e),this}digestInto(e){mn(this),ys(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:s,finished:n,destroyed:r,blockLen:i,outputLen:a}=this;return e=e,e.finished=n,e.destroyed=r,e.blockLen=i,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=s._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Wc=(A,e,t)=>new Pc(A,e).update(t).digest();Wc.create=(A,e)=>new Pc(A,e);const rQ=(A,e)=>(A+(A>=0?e:-e)/zc)/e;function _x(A,e,t){const[[s,n],[r,i]]=e,a=rQ(i*A,t),g=rQ(-n*A,t);let l=A-a*s-g*r,Q=-a*n-g*i;const I=l<Po,C=Q<Po;I&&(l=-l),C&&(Q=-Q);const c=Jr(Math.ceil(Cc(t)/2))+qs;if(l<Po||l>=c||Q<Po||Q>=c)throw new Error("splitScalar (endomorphism): failed, k="+A);return{k1neg:I,k1:l,k2neg:C,k2:Q}}function ha(A){if(!["compact","recovered","der"].includes(A))throw new Error('Signature format must be "compact", "recovered", or "der"');return A}function Ri(A,e){const t={};for(let s of Object.keys(e))t[s]=A[s]===void 0?e[s]:A[s];return ms(t.lowS,"lowS"),ms(t.prehash,"prehash"),t.format!==void 0&&ha(t.format),t}class Xx extends Error{constructor(e=""){super(e)}}const qo={Err:Xx,_tlv:{encode:(A,e)=>{const{Err:t}=qo;if(A<0||A>256)throw new t("tlv.encode: wrong tag");if(e.length&1)throw new t("tlv.encode: unpadded data");const s=e.length/2,n=$r(s);if(n.length/2&128)throw new t("tlv.encode: long form length too big");const r=s>127?$r(n.length/2|128):"";return $r(A)+r+n+e},decode(A,e){const{Err:t}=qo;let s=0;if(A<0||A>256)throw new t("tlv.encode: wrong tag");if(e.length<2||e[s++]!==A)throw new t("tlv.decode: wrong tlv");const n=e[s++],r=!!(n&128);let i=0;if(!r)i=n;else{const g=n&127;if(!g)throw new t("tlv.decode(long): indefinite length not supported");if(g>4)throw new t("tlv.decode(long): byte length is too big");const l=e.subarray(s,s+g);if(l.length!==g)throw new t("tlv.decode: length bytes not complete");if(l[0]===0)throw new t("tlv.decode(long): zero leftmost byte");for(const Q of l)i=i<<8|Q;if(s+=g,i<128)throw new t("tlv.decode(long): not minimal encoding")}const a=e.subarray(s,s+i);if(a.length!==i)throw new t("tlv.decode: wrong value length");return{v:a,l:e.subarray(s+i)}}},_int:{encode(A){const{Err:e}=qo;if(A<Po)throw new e("integer: negative integers are not allowed");let t=$r(A);if(Number.parseInt(t[0],16)&8&&(t="00"+t),t.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return t},decode(A){const{Err:e}=qo;if(A[0]&128)throw new e("invalid signature integer: negative");if(A[0]===0&&!(A[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return Vn(A)}},toSig(A){const{Err:e,_int:t,_tlv:s}=qo,n=ut("signature",A),{v:r,l:i}=s.decode(48,n);if(i.length)throw new e("invalid signature: left bytes after parsing");const{v:a,l:g}=s.decode(2,r),{v:l,l:Q}=s.decode(2,g);if(Q.length)throw new e("invalid signature: left bytes after parsing");return{r:t.decode(a),s:t.decode(l)}},hexFromSig(A){const{_tlv:e,_int:t}=qo,s=e.encode(2,t.encode(A.r)),n=e.encode(2,t.encode(A.s)),r=s+n;return e.encode(48,r)}},Po=BigInt(0),qs=BigInt(1),zc=BigInt(2),tn=BigInt(3),$x=BigInt(4);function js(A,e){const{BYTES:t}=A;let s;if(typeof e=="bigint")s=e;else{let n=ut("private key",e);try{s=A.fromBytes(n)}catch{throw new Error(`invalid private key: expected ui8a of size ${t}, got ${typeof e}`)}}if(!A.isValidNot0(s))throw new Error("invalid private key: out of range [1..N-1]");return s}function AD(A,e={}){const t=Fc("weierstrass",A,e),{Fp:s,Fn:n}=t;let r=t.CURVE;const{h:i,n:a}=r;jr(e,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:g}=e;if(g&&(!s.is0(r.a)||typeof g.beta!="bigint"||!Array.isArray(g.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');const l=Zc(s,n);function Q(){if(!s.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function I(L,w,B){const{x:d,y:N}=w.toAffine(),G=s.toBytes(d);if(ms(B,"isCompressed"),B){Q();const J=!s.isOdd(N);return bo(Vc(J),G)}else return bo(Uint8Array.of(4),G,s.toBytes(N))}function C(L){uo(L,void 0,"Point");const{publicKey:w,publicKeyUncompressed:B}=l,d=L.length,N=L[0],G=L.subarray(1);if(d===w&&(N===2||N===3)){const J=s.fromBytes(G);if(!s.isValid(J))throw new Error("bad point: is not on curve, wrong x");const Y=p(J);let T;try{T=s.sqrt(Y)}catch(h){const S=h instanceof Error?": "+h.message:"";throw new Error("bad point: is not on curve, sqrt error"+S)}Q();const b=s.isOdd(T);return(N&1)===1!==b&&(T=s.neg(T)),{x:J,y:T}}else if(d===B&&N===4){const J=s.BYTES,Y=s.fromBytes(G.subarray(0,J)),T=s.fromBytes(G.subarray(J,J*2));if(!f(Y,T))throw new Error("bad point: is not on curve");return{x:Y,y:T}}else throw new Error(`bad point: got length ${d}, expected compressed=${w} or uncompressed=${B}`)}const c=e.toBytes||I,u=e.fromBytes||C;function p(L){const w=s.sqr(L),B=s.mul(w,L);return s.add(s.add(B,s.mul(L,r.a)),r.b)}function f(L,w){const B=s.sqr(w),d=p(L);return s.eql(B,d)}if(!f(r.Gx,r.Gy))throw new Error("bad curve params: generator point");const k=s.mul(s.pow(r.a,tn),$x),v=s.mul(s.sqr(r.b),BigInt(27));if(s.is0(s.add(k,v)))throw new Error("bad curve params: a or b");function D(L,w,B=!1){if(!s.isValid(w)||B&&s.is0(w))throw new Error(`bad point coordinate ${L}`);return w}function j(L){if(!(L instanceof R))throw new Error("ProjectivePoint expected")}function K(L){if(!g||!g.basises)throw new Error("no endo");return _x(L,g.basises,n.ORDER)}const V=xn((L,w)=>{const{X:B,Y:d,Z:N}=L;if(s.eql(N,s.ONE))return{x:B,y:d};const G=L.is0();w==null&&(w=G?s.ONE:s.inv(N));const J=s.mul(B,w),Y=s.mul(d,w),T=s.mul(N,w);if(G)return{x:s.ZERO,y:s.ZERO};if(!s.eql(T,s.ONE))throw new Error("invZ was invalid");return{x:J,y:Y}}),eA=xn(L=>{if(L.is0()){if(e.allowInfinityPoint&&!s.is0(L.Y))return;throw new Error("bad point: ZERO")}const{x:w,y:B}=L.toAffine();if(!s.isValid(w)||!s.isValid(B))throw new Error("bad point: x or y not field elements");if(!f(w,B))throw new Error("bad point: equation left != right");if(!L.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function X(L,w,B,d,N){return B=new R(s.mul(B.X,L),B.Y,B.Z),w=Dn(d,w),B=Dn(N,B),w.add(B)}class R{constructor(w,B,d){this.X=D("x",w),this.Y=D("y",B,!0),this.Z=D("z",d),Object.freeze(this)}static CURVE(){return r}static fromAffine(w){const{x:B,y:d}=w||{};if(!w||!s.isValid(B)||!s.isValid(d))throw new Error("invalid affine point");if(w instanceof R)throw new Error("projective point not allowed");return s.is0(B)&&s.is0(d)?R.ZERO:new R(B,d,s.ONE)}static fromBytes(w){const B=R.fromAffine(u(uo(w,void 0,"point")));return B.assertValidity(),B}static fromHex(w){return R.fromBytes(ut("pointHex",w))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(w=8,B=!0){return O.createCache(this,w),B||this.multiply(tn),this}assertValidity(){eA(this)}hasEvenY(){const{y:w}=this.toAffine();if(!s.isOdd)throw new Error("Field doesn't support isOdd");return!s.isOdd(w)}equals(w){j(w);const{X:B,Y:d,Z:N}=this,{X:G,Y:J,Z:Y}=w,T=s.eql(s.mul(B,Y),s.mul(G,N)),b=s.eql(s.mul(d,Y),s.mul(J,N));return T&&b}negate(){return new R(this.X,s.neg(this.Y),this.Z)}double(){const{a:w,b:B}=r,d=s.mul(B,tn),{X:N,Y:G,Z:J}=this;let Y=s.ZERO,T=s.ZERO,b=s.ZERO,E=s.mul(N,N),h=s.mul(G,G),S=s.mul(J,J),U=s.mul(N,G);return U=s.add(U,U),b=s.mul(N,J),b=s.add(b,b),Y=s.mul(w,b),T=s.mul(d,S),T=s.add(Y,T),Y=s.sub(h,T),T=s.add(h,T),T=s.mul(Y,T),Y=s.mul(U,Y),b=s.mul(d,b),S=s.mul(w,S),U=s.sub(E,S),U=s.mul(w,U),U=s.add(U,b),b=s.add(E,E),E=s.add(b,E),E=s.add(E,S),E=s.mul(E,U),T=s.add(T,E),S=s.mul(G,J),S=s.add(S,S),E=s.mul(S,U),Y=s.sub(Y,E),b=s.mul(S,h),b=s.add(b,b),b=s.add(b,b),new R(Y,T,b)}add(w){j(w);const{X:B,Y:d,Z:N}=this,{X:G,Y:J,Z:Y}=w;let T=s.ZERO,b=s.ZERO,E=s.ZERO;const h=r.a,S=s.mul(r.b,tn);let U=s.mul(B,G),_=s.mul(d,J),tA=s.mul(N,Y),IA=s.add(B,d),iA=s.add(G,J);IA=s.mul(IA,iA),iA=s.add(U,_),IA=s.sub(IA,iA),iA=s.add(B,N);let GA=s.add(G,Y);return iA=s.mul(iA,GA),GA=s.add(U,tA),iA=s.sub(iA,GA),GA=s.add(d,N),T=s.add(J,Y),GA=s.mul(GA,T),T=s.add(_,tA),GA=s.sub(GA,T),E=s.mul(h,iA),T=s.mul(S,tA),E=s.add(T,E),T=s.sub(_,E),E=s.add(_,E),b=s.mul(T,E),_=s.add(U,U),_=s.add(_,U),tA=s.mul(h,tA),iA=s.mul(S,iA),_=s.add(_,tA),tA=s.sub(U,tA),tA=s.mul(h,tA),iA=s.add(iA,tA),U=s.mul(_,iA),b=s.add(b,U),U=s.mul(GA,iA),T=s.mul(IA,T),T=s.sub(T,U),U=s.mul(IA,_),E=s.mul(GA,E),E=s.add(E,U),new R(T,b,E)}subtract(w){return this.add(w.negate())}is0(){return this.equals(R.ZERO)}multiply(w){const{endo:B}=e;if(!n.isValidNot0(w))throw new Error("invalid scalar: out of range");let d,N;const G=J=>O.cached(this,J,Y=>us(R,Y));if(B){const{k1neg:J,k1:Y,k2neg:T,k2:b}=K(w),{p:E,f:h}=G(Y),{p:S,f:U}=G(b);N=h.add(U),d=X(B.beta,E,S,J,T)}else{const{p:J,f:Y}=G(w);d=J,N=Y}return us(R,[d,N])[0]}multiplyUnsafe(w){const{endo:B}=e,d=this;if(!n.isValid(w))throw new Error("invalid scalar: out of range");if(w===Po||d.is0())return R.ZERO;if(w===qs)return d;if(O.hasCache(this))return this.multiply(w);if(B){const{k1neg:N,k1:G,k2neg:J,k2:Y}=K(w),{p1:T,p2:b}=Iw(R,d,G,Y);return X(B.beta,T,b,N,J)}else return O.unsafe(d,w)}multiplyAndAddUnsafe(w,B,d){const N=this.multiplyUnsafe(B).add(w.multiplyUnsafe(d));return N.is0()?void 0:N}toAffine(w){return V(this,w)}isTorsionFree(){const{isTorsionFree:w}=e;return i===qs?!0:w?w(R,this):O.unsafe(this,a).is0()}clearCofactor(){const{clearCofactor:w}=e;return i===qs?this:w?w(R,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(w=!0){return ms(w,"isCompressed"),this.assertValidity(),c(R,this,w)}toHex(w=!0){return hs(this.toBytes(w))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(w=!0){return this.toBytes(w)}_setWindowSize(w){this.precompute(w)}static normalizeZ(w){return us(R,w)}static msm(w,B){return bc(R,n,w,B)}static fromPrivateKey(w){return R.BASE.multiply(js(n,w))}}R.BASE=new R(r.Gx,r.Gy,s.ONE),R.ZERO=new R(s.ZERO,s.ONE,s.ZERO),R.Fp=s,R.Fn=n;const W=n.BITS,O=new Mc(R,e.endo?Math.ceil(W/2):W);return R.BASE.precompute(8),R}function Vc(A){return Uint8Array.of(A?2:3)}function Zc(A,e){return{secretKey:e.BYTES,publicKey:1+A.BYTES,publicKeyUncompressed:1+2*A.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function eD(A,e={}){const{Fn:t}=A,s=e.randomBytes||Qg,n=Object.assign(Zc(A.Fp,t),{seed:yc(t.ORDER)});function r(c){try{return!!js(t,c)}catch{return!1}}function i(c,u){const{publicKey:p,publicKeyUncompressed:f}=n;try{const k=c.length;return u===!0&&k!==p||u===!1&&k!==f?!1:!!A.fromBytes(c)}catch{return!1}}function a(c=s(n.seed)){return cw(uo(c,n.seed,"seed"),t.ORDER)}function g(c,u=!0){return A.BASE.multiply(js(t,c)).toBytes(u)}function l(c){const u=a(c);return{secretKey:u,publicKey:g(u)}}function Q(c){if(typeof c=="bigint")return!1;if(c instanceof A)return!0;const{secretKey:u,publicKey:p,publicKeyUncompressed:f}=n;if(t.allowedLengths||u===p)return;const k=ut("key",c).length;return k===p||k===f}function I(c,u,p=!0){if(Q(c)===!0)throw new Error("first arg must be private key");if(Q(u)===!1)throw new Error("second arg must be public key");const f=js(t,c);return A.fromHex(u).multiply(f).toBytes(p)}return Object.freeze({getPublicKey:g,getSharedSecret:I,keygen:l,Point:A,utils:{isValidSecretKey:r,isValidPublicKey:i,randomSecretKey:a,isValidPrivateKey:r,randomPrivateKey:a,normPrivateKeyToScalar:c=>js(t,c),precompute(c=8,u=A.BASE){return u.precompute(c,!1)}},lengths:n})}function tD(A,e,t={}){nc(e),jr(t,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const s=t.randomBytes||Qg,n=t.hmac||((B,...d)=>Wc(e,B,bo(...d))),{Fp:r,Fn:i}=A,{ORDER:a,BITS:g}=i,{keygen:l,getPublicKey:Q,getSharedSecret:I,utils:C,lengths:c}=eD(A,t),u={prehash:!1,lowS:typeof t.lowS=="boolean"?t.lowS:!1,format:void 0,extraEntropy:!1},p="compact";function f(B){const d=a>>qs;return B>d}function k(B,d){if(!i.isValidNot0(d))throw new Error(`invalid signature ${B}: out of range 1..Point.Fn.ORDER`);return d}function v(B,d){ha(d);const N=c.signature,G=d==="compact"?N:d==="recovered"?N+1:void 0;return uo(B,G,`${d} signature`)}class D{constructor(d,N,G){this.r=k("r",d),this.s=k("s",N),G!=null&&(this.recovery=G),Object.freeze(this)}static fromBytes(d,N=p){v(d,N);let G;if(N==="der"){const{r:b,s:E}=qo.toSig(uo(d));return new D(b,E)}N==="recovered"&&(G=d[0],N="compact",d=d.subarray(1));const J=i.BYTES,Y=d.subarray(0,J),T=d.subarray(J,J*2);return new D(i.fromBytes(Y),i.fromBytes(T),G)}static fromHex(d,N){return this.fromBytes(wn(d),N)}addRecoveryBit(d){return new D(this.r,this.s,d)}recoverPublicKey(d){const N=r.ORDER,{r:G,s:J,recovery:Y}=this;if(Y==null||![0,1,2,3].includes(Y))throw new Error("recovery id invalid");if(a*zc<N&&Y>1)throw new Error("recovery id is ambiguous for h>1 curve");const b=Y===2||Y===3?G+a:G;if(!r.isValid(b))throw new Error("recovery id 2 or 3 invalid");const E=r.toBytes(b),h=A.fromBytes(bo(Vc((Y&1)===0),E)),S=i.inv(b),U=K(ut("msgHash",d)),_=i.create(-U*S),tA=i.create(J*S),IA=A.BASE.multiplyUnsafe(_).add(h.multiplyUnsafe(tA));if(IA.is0())throw new Error("point at infinify");return IA.assertValidity(),IA}hasHighS(){return f(this.s)}toBytes(d=p){if(ha(d),d==="der")return wn(qo.hexFromSig(this));const N=i.toBytes(this.r),G=i.toBytes(this.s);if(d==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return bo(Uint8Array.of(this.recovery),N,G)}return bo(N,G)}toHex(d){return hs(this.toBytes(d))}assertValidity(){}static fromCompact(d){return D.fromBytes(ut("sig",d),"compact")}static fromDER(d){return D.fromBytes(ut("sig",d),"der")}normalizeS(){return this.hasHighS()?new D(this.r,i.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return hs(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return hs(this.toBytes("compact"))}}const j=t.bits2int||function(d){if(d.length>8192)throw new Error("input is too large");const N=Vn(d),G=d.length*8-g;return G>0?N>>BigInt(G):N},K=t.bits2int_modN||function(d){return i.create(j(d))},V=Jr(g);function eA(B){return da("num < 2^"+g,B,Po,V),i.toBytes(B)}function X(B,d){return uo(B,void 0,"message"),d?uo(e(B),void 0,"prehashed message"):B}function R(B,d,N){if(["recovered","canonical"].some(_=>_ in N))throw new Error("sign() legacy options not supported");const{lowS:G,prehash:J,extraEntropy:Y}=Ri(N,u);B=X(B,J);const T=K(B),b=js(i,d),E=[eA(b),eA(T)];if(Y!=null&&Y!==!1){const _=Y===!0?s(c.secretKey):Y;E.push(ut("extraEntropy",_))}const h=bo(...E),S=T;function U(_){const tA=j(_);if(!i.isValidNot0(tA))return;const IA=i.inv(tA),iA=A.BASE.multiply(tA).toAffine(),GA=i.create(iA.x);if(GA===Po)return;const qA=i.create(IA*i.create(S+GA*b));if(qA===Po)return;let BA=(iA.x===GA?0:2)|Number(iA.y&qs),YA=qA;return G&&f(qA)&&(YA=i.neg(qA),BA^=1),new D(GA,YA,BA)}return{seed:h,k2sig:U}}function W(B,d,N={}){B=ut("message",B);const{seed:G,k2sig:J}=R(B,d,N);return ow(e.outputLen,i.BYTES,n)(G,J)}function O(B){let d;const N=typeof B=="string"||Lr(B),G=!N&&B!==null&&typeof B=="object"&&typeof B.r=="bigint"&&typeof B.s=="bigint";if(!N&&!G)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(G)d=new D(B.r,B.s);else if(N){try{d=D.fromBytes(ut("sig",B),"der")}catch(J){if(!(J instanceof qo.Err))throw J}if(!d)try{d=D.fromBytes(ut("sig",B),"compact")}catch{return!1}}return d||!1}function L(B,d,N,G={}){const{lowS:J,prehash:Y,format:T}=Ri(G,u);if(N=ut("publicKey",N),d=X(ut("message",d),Y),"strict"in G)throw new Error("options.strict was renamed to lowS");const b=T===void 0?O(B):D.fromBytes(ut("sig",B),T);if(b===!1)return!1;try{const E=A.fromBytes(N);if(J&&b.hasHighS())return!1;const{r:h,s:S}=b,U=K(d),_=i.inv(S),tA=i.create(U*_),IA=i.create(h*_),iA=A.BASE.multiplyUnsafe(tA).add(E.multiplyUnsafe(IA));return iA.is0()?!1:i.create(iA.x)===h}catch{return!1}}function w(B,d,N={}){const{prehash:G}=Ri(N,u);return d=X(d,G),D.fromBytes(B,"recovered").recoverPublicKey(d).toBytes()}return Object.freeze({keygen:l,getPublicKey:Q,getSharedSecret:I,utils:C,lengths:c,Point:A,sign:W,verify:L,recoverPublicKey:w,Signature:D,hash:e})}function oD(A){const e={a:A.a,b:A.b,p:A.Fp.ORDER,n:A.n,h:A.h,Gx:A.Gx,Gy:A.Gy},t=A.Fp;let s=A.allowedPrivateKeyLengths?Array.from(new Set(A.allowedPrivateKeyLengths.map(i=>Math.ceil(i/2)))):void 0;const n=Ns(e.n,{BITS:A.nBitLength,allowedLengths:s,modFromBytes:A.wrapPrivateKey}),r={Fp:t,Fn:n,allowInfinityPoint:A.allowInfinityPoint,endo:A.endo,isTorsionFree:A.isTorsionFree,clearCofactor:A.clearCofactor,fromBytes:A.fromBytes,toBytes:A.toBytes};return{CURVE:e,curveOpts:r}}function sD(A){const{CURVE:e,curveOpts:t}=oD(A),s={hmac:A.hmac,randomBytes:A.randomBytes,lowS:A.lowS,bits2int:A.bits2int,bits2int_modN:A.bits2int_modN};return{CURVE:e,curveOpts:t,hash:A.hash,ecdsaOpts:s}}function rD(A,e){const t=e.Point;return Object.assign({},e,{ProjectivePoint:t,CURVE:Object.assign({},A,xc(t.Fn.ORDER,t.Fn.BITS))})}function nD(A){const{CURVE:e,curveOpts:t,hash:s,ecdsaOpts:n}=sD(A),r=AD(e,t),i=tD(r,s,n);return rD(A,i)}function iD(A,e){const t=s=>nD({...A,hash:s});return{...t(e),create:t}}const fg={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},aD={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},nQ=BigInt(2);function gD(A){const e=fg.p,t=BigInt(3),s=BigInt(6),n=BigInt(11),r=BigInt(22),i=BigInt(23),a=BigInt(44),g=BigInt(88),l=A*A*A%e,Q=l*l*A%e,I=It(Q,t,e)*Q%e,C=It(I,t,e)*Q%e,c=It(C,nQ,e)*l%e,u=It(c,n,e)*c%e,p=It(u,r,e)*u%e,f=It(p,a,e)*p%e,k=It(f,g,e)*f%e,v=It(k,a,e)*p%e,D=It(v,t,e)*Q%e,j=It(D,i,e)*u%e,K=It(j,s,e)*l%e,V=It(K,nQ,e);if(!fa.eql(fa.sqr(V),A))throw new Error("Cannot find square root");return V}const fa=Ns(fg.p,{sqrt:gD}),lD=iD({...fg,Fp:fa,lowS:!0,endo:aD},Bc);Zn.utils.randomPrivateKey;Zn.getPublicKey;function iQ(A){try{return Zn.ExtendedPoint.fromHex(A),!0}catch{return!1}}Zn.verify;const QD=A=>Dt.Buffer.isBuffer(A)?A:A instanceof Uint8Array?Dt.Buffer.from(A.buffer,A.byteOffset,A.byteLength):Dt.Buffer.from(A);class BD{constructor(e){Object.assign(this,e)}encode(){return Dt.Buffer.from(Ni.serialize(Cn,this))}static decode(e){return Ni.deserialize(Cn,this,e)}static decodeUnchecked(e){return Ni.deserializeUnchecked(Cn,this,e)}}const Cn=new Map;var _c;const cD=32,Ki=32;function ED(A){return A._bn!==void 0}let aQ=1;class Ye extends BD{constructor(e){if(super({}),this._bn=void 0,ED(e))this._bn=e._bn;else{if(typeof e=="string"){const t=zl.decode(e);if(t.length!=Ki)throw new Error("Invalid public key input");this._bn=new Yl(t)}else this._bn=new Yl(e);if(this._bn.byteLength()>Ki)throw new Error("Invalid public key input")}}static unique(){const e=new Ye(aQ);return aQ+=1,new Ye(e.toBuffer())}equals(e){return this._bn.eq(e._bn)}toBase58(){return zl.encode(this.toBytes())}toJSON(){return this.toBase58()}toBytes(){const e=this.toBuffer();return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}toBuffer(){const e=this._bn.toArrayLike(Dt.Buffer);if(e.length===Ki)return e;const t=Dt.Buffer.alloc(32);return e.copy(t,32-e.length),t}get[Symbol.toStringTag](){return`PublicKey(${this.toString()})`}toString(){return this.toBase58()}static async createWithSeed(e,t,s){const n=Dt.Buffer.concat([e.toBuffer(),Dt.Buffer.from(t),s.toBuffer()]),r=Vl(n);return new Ye(r)}static createProgramAddressSync(e,t){let s=Dt.Buffer.alloc(0);e.forEach(function(r){if(r.length>cD)throw new TypeError("Max seed length exceeded");s=Dt.Buffer.concat([s,QD(r)])}),s=Dt.Buffer.concat([s,t.toBuffer(),Dt.Buffer.from("ProgramDerivedAddress")]);const n=Vl(s);if(iQ(n))throw new Error("Invalid seeds, address must fall off the curve");return new Ye(n)}static async createProgramAddress(e,t){return this.createProgramAddressSync(e,t)}static findProgramAddressSync(e,t){let s=255,n;for(;s!=0;){try{const r=e.concat(Dt.Buffer.from([s]));n=this.createProgramAddressSync(r,t)}catch(r){if(r instanceof TypeError)throw r;s--;continue}return[n,s]}throw new Error("Unable to find a viable program address nonce")}static async findProgramAddress(e,t){return this.findProgramAddressSync(e,t)}static isOnCurve(e){const t=new Ye(e);return iQ(t.toBytes())}}_c=Ye;Ye.default=new _c("11111111111111111111111111111111");Cn.set(Ye,{kind:"struct",fields:[["_bn","u256"]]});new Ye("BPFLoader1111111111111111111111111111111111");const CD=64,ze=(A="publicKey")=>rA.blob(32,A),Ts=(A="string")=>{const e=rA.struct([rA.u32("length"),rA.u32("lengthPadding"),rA.blob(rA.offset(rA.u32(),-8),"chars")],A),t=e.decode.bind(e),s=e.encode.bind(e),n=e;return n.decode=(r,i)=>t(r,i).chars.toString(),n.encode=(r,i,a)=>{const g={chars:Dt.Buffer.from(r,"utf8")};return s(g,i,a)},n.alloc=r=>rA.u32().span+rA.u32().span+Dt.Buffer.from(r,"utf8").length,n},ID=(A="authorized")=>rA.struct([ze("staker"),ze("withdrawer")],A),uD=(A="lockup")=>rA.struct([rA.ns64("unixTimestamp"),rA.ns64("epoch"),ze("custodian")],A),dD=(A="voteInit")=>rA.struct([ze("nodePubkey"),ze("authorizedVoter"),ze("authorizedWithdrawer"),rA.u8("commission")],A),hD=(A="voteAuthorizeWithSeedArgs")=>rA.struct([rA.u32("voteAuthorizationType"),ze("currentAuthorityDerivedKeyOwnerPubkey"),Ts("currentAuthorityDerivedKeySeed"),ze("newAuthorized")],A);Dt.Buffer.alloc(CD).fill(0);new Ye("SysvarC1ock11111111111111111111111111111111");new Ye("SysvarEpochSchedu1e111111111111111111111111");new Ye("Sysvar1nstructions1111111111111111111111111");new Ye("SysvarRecentB1ockHashes11111111111111111111");new Ye("SysvarRent111111111111111111111111111111111");new Ye("SysvarRewards111111111111111111111111111111");new Ye("SysvarS1otHashes111111111111111111111111111");new Ye("SysvarS1otHistory11111111111111111111111111");new Ye("SysvarStakeHistory1111111111111111111111111");const fD=rA.nu64("lamportsPerSignature"),pD=rA.struct([rA.u32("version"),rA.u32("state"),ze("authorizedPubkey"),ze("nonce"),rA.struct([fD],"feeCalculator")]);pD.span;function Vs(A){const e=rA.blob(8,A),t=e.decode.bind(e),s=e.encode.bind(e),n=e,r=fx();return n.decode=(i,a)=>{const g=t(i,a);return r.decode(g)},n.encode=(i,a,g)=>{const l=r.encode(i);return s(l,a,g)},n}Object.freeze({Create:{index:0,layout:rA.struct([rA.u32("instruction"),rA.ns64("lamports"),rA.ns64("space"),ze("programId")])},Assign:{index:1,layout:rA.struct([rA.u32("instruction"),ze("programId")])},Transfer:{index:2,layout:rA.struct([rA.u32("instruction"),Vs("lamports")])},CreateWithSeed:{index:3,layout:rA.struct([rA.u32("instruction"),ze("base"),Ts("seed"),rA.ns64("lamports"),rA.ns64("space"),ze("programId")])},AdvanceNonceAccount:{index:4,layout:rA.struct([rA.u32("instruction")])},WithdrawNonceAccount:{index:5,layout:rA.struct([rA.u32("instruction"),rA.ns64("lamports")])},InitializeNonceAccount:{index:6,layout:rA.struct([rA.u32("instruction"),ze("authorized")])},AuthorizeNonceAccount:{index:7,layout:rA.struct([rA.u32("instruction"),ze("authorized")])},Allocate:{index:8,layout:rA.struct([rA.u32("instruction"),rA.ns64("space")])},AllocateWithSeed:{index:9,layout:rA.struct([rA.u32("instruction"),ze("base"),Ts("seed"),rA.ns64("space"),ze("programId")])},AssignWithSeed:{index:10,layout:rA.struct([rA.u32("instruction"),ze("base"),Ts("seed"),ze("programId")])},TransferWithSeed:{index:11,layout:rA.struct([rA.u32("instruction"),Vs("lamports"),Ts("seed"),ze("programId")])},UpgradeNonceAccount:{index:12,layout:rA.struct([rA.u32("instruction")])}});new Ye("11111111111111111111111111111111");new Ye("BPFLoader2111111111111111111111111111111111");rA.struct([rA.u32("typeIndex"),Vs("deactivationSlot"),rA.nu64("lastExtendedSlot"),rA.u8("lastExtendedStartIndex"),rA.u8(),rA.seq(ze(),rA.offset(rA.u8(),-1),"authority")]);const dt=qr(dg(Ye),FA(),A=>new Ye(A)),Xc=hg([FA(),Bt("base64")]),pg=qr(dg(Dt.Buffer),Xc,A=>Dt.Buffer.from(A[0],"base64"));function $c(A){return Xt([wA({jsonrpc:Bt("2.0"),id:FA(),result:A}),wA({jsonrpc:Bt("2.0"),id:FA(),error:wA({code:or(),message:FA(),data:te(Nx())})})])}const mD=$c(or());function ot(A){return qr($c(A),mD,e=>"error"in e?e:{...e,result:wr(e.result,A)})}function Do(A){return ot(wA({context:wA({slot:gA()}),value:A}))}function ei(A){return wA({context:wA({slot:gA()}),value:A})}const wD=wA({foundation:gA(),foundationTerm:gA(),initial:gA(),taper:gA(),terminal:gA()});ot(jA(TA(wA({epoch:gA(),effectiveSlot:gA(),amount:gA(),postBalance:gA(),commission:te(TA(gA()))}))));const xD=jA(wA({slot:gA(),prioritizationFee:gA()})),DD=wA({total:gA(),validator:gA(),foundation:gA(),epoch:gA()}),yD=wA({epoch:gA(),slotIndex:gA(),slotsInEpoch:gA(),absoluteSlot:gA(),blockHeight:te(gA()),transactionCount:te(gA())}),ND=wA({slotsPerEpoch:gA(),leaderScheduleSlotOffset:gA(),warmup:Go(),firstNormalEpoch:gA(),firstNormalSlot:gA()}),kD=jc(FA(),jA(gA())),Ms=TA(Xt([wA({}),FA()])),MD=wA({err:Ms}),bD=Bt("receivedSignature");wA({"solana-core":FA(),"feature-set":te(gA())});const FD=wA({program:FA(),programId:dt,parsed:or()}),GD=wA({programId:dt,accounts:jA(dt),data:FA()});Do(wA({err:TA(Xt([wA({}),FA()])),logs:TA(jA(FA())),accounts:te(TA(jA(TA(wA({executable:Go(),owner:FA(),lamports:gA(),data:jA(FA()),rentEpoch:te(gA())}))))),unitsConsumed:te(gA()),returnData:te(TA(wA({programId:FA(),data:hg([FA(),Bt("base64")])}))),innerInstructions:te(TA(jA(wA({index:gA(),instructions:jA(Xt([FD,GD]))}))))}));Do(wA({byIdentity:jc(FA(),jA(gA())),range:wA({firstSlot:gA(),lastSlot:gA()})}));ot(wD);ot(DD);ot(xD);ot(yD);ot(ND);ot(kD);ot(gA());Do(wA({total:gA(),circulating:gA(),nonCirculating:gA(),nonCirculatingAccounts:jA(dt)}));const vD=wA({amount:FA(),uiAmount:TA(gA()),decimals:gA(),uiAmountString:te(FA())});Do(jA(wA({address:dt,amount:FA(),uiAmount:TA(gA()),decimals:gA(),uiAmountString:te(FA())})));Do(jA(wA({pubkey:dt,account:wA({executable:Go(),owner:dt,lamports:gA(),data:pg,rentEpoch:gA()})})));const pa=wA({program:FA(),parsed:or(),space:gA()});Do(jA(wA({pubkey:dt,account:wA({executable:Go(),owner:dt,lamports:gA(),data:pa,rentEpoch:gA()})})));Do(jA(wA({lamports:gA(),address:dt})));const mg=wA({executable:Go(),owner:dt,lamports:gA(),data:pg,rentEpoch:gA()});wA({pubkey:dt,account:mg});const SD=qr(Xt([dg(Dt.Buffer),pa]),Xt([Xc,pa]),A=>Array.isArray(A)?wr(A,pg):A),UD=wA({executable:Go(),owner:dt,lamports:gA(),data:SD,rentEpoch:gA()});wA({pubkey:dt,account:UD});wA({state:Xt([Bt("active"),Bt("inactive"),Bt("activating"),Bt("deactivating")]),active:gA(),inactive:gA()});ot(jA(wA({signature:FA(),slot:gA(),err:Ms,memo:TA(FA()),blockTime:te(TA(gA()))})));ot(jA(wA({signature:FA(),slot:gA(),err:Ms,memo:TA(FA()),blockTime:te(TA(gA()))})));wA({subscription:gA(),result:ei(mg)});const RD=wA({pubkey:dt,account:mg});wA({subscription:gA(),result:ei(RD)});const KD=wA({parent:gA(),slot:gA(),root:gA()});wA({subscription:gA(),result:KD});const LD=Xt([wA({type:Xt([Bt("firstShredReceived"),Bt("completed"),Bt("optimisticConfirmation"),Bt("root")]),slot:gA(),timestamp:gA()}),wA({type:Bt("createdBank"),parent:gA(),slot:gA(),timestamp:gA()}),wA({type:Bt("frozen"),slot:gA(),timestamp:gA(),stats:wA({numTransactionEntries:gA(),numSuccessfulTransactions:gA(),numFailedTransactions:gA(),maxTransactionsPerEntry:gA()})}),wA({type:Bt("dead"),slot:gA(),timestamp:gA(),err:FA()})]);wA({subscription:gA(),result:LD});wA({subscription:gA(),result:ei(Xt([MD,bD]))});wA({subscription:gA(),result:gA()});wA({pubkey:FA(),gossip:TA(FA()),tpu:TA(FA()),rpc:TA(FA()),version:TA(FA())});const gQ=wA({votePubkey:FA(),nodePubkey:FA(),activatedStake:gA(),epochVoteAccount:Go(),epochCredits:jA(hg([gA(),gA(),gA()])),commission:gA(),lastVote:gA(),rootSlot:TA(gA())});ot(wA({current:jA(gQ),delinquent:jA(gQ)}));const JD=Xt([Bt("processed"),Bt("confirmed"),Bt("finalized")]),jD=wA({slot:gA(),confirmations:TA(gA()),err:Ms,confirmationStatus:te(JD)});Do(jA(TA(jD)));ot(gA());const AE=wA({accountKey:dt,writableIndexes:jA(gA()),readonlyIndexes:jA(gA())}),wg=wA({signatures:jA(FA()),message:wA({accountKeys:jA(FA()),header:wA({numRequiredSignatures:gA(),numReadonlySignedAccounts:gA(),numReadonlyUnsignedAccounts:gA()}),instructions:jA(wA({accounts:jA(gA()),data:FA(),programIdIndex:gA()})),recentBlockhash:FA(),addressTableLookups:te(jA(AE))})}),eE=wA({pubkey:dt,signer:Go(),writable:Go(),source:te(Xt([Bt("transaction"),Bt("lookupTable")]))}),tE=wA({accountKeys:jA(eE),signatures:jA(FA())}),oE=wA({parsed:or(),program:FA(),programId:dt}),sE=wA({accounts:jA(dt),data:FA(),programId:dt}),TD=Xt([sE,oE]),OD=Xt([wA({parsed:or(),program:FA(),programId:FA()}),wA({accounts:jA(FA()),data:FA(),programId:FA()})]),rE=qr(TD,OD,A=>"accounts"in A?wr(A,sE):wr(A,oE)),nE=wA({signatures:jA(FA()),message:wA({accountKeys:jA(eE),instructions:jA(rE),recentBlockhash:FA(),addressTableLookups:te(TA(jA(AE)))})}),Fn=wA({accountIndex:gA(),mint:FA(),owner:te(FA()),programId:te(FA()),uiTokenAmount:vD}),iE=wA({writable:jA(dt),readonly:jA(dt)}),ti=wA({err:Ms,fee:gA(),innerInstructions:te(TA(jA(wA({index:gA(),instructions:jA(wA({accounts:jA(gA()),data:FA(),programIdIndex:gA()}))})))),preBalances:jA(gA()),postBalances:jA(gA()),logMessages:te(TA(jA(FA()))),preTokenBalances:te(TA(jA(Fn))),postTokenBalances:te(TA(jA(Fn))),loadedAddresses:te(iE),computeUnitsConsumed:te(gA()),costUnits:te(gA())}),xg=wA({err:Ms,fee:gA(),innerInstructions:te(TA(jA(wA({index:gA(),instructions:jA(rE)})))),preBalances:jA(gA()),postBalances:jA(gA()),logMessages:te(TA(jA(FA()))),preTokenBalances:te(TA(jA(Fn))),postTokenBalances:te(TA(jA(Fn))),loadedAddresses:te(iE),computeUnitsConsumed:te(gA()),costUnits:te(gA())}),sr=Xt([Bt(0),Bt("legacy")]),bs=wA({pubkey:FA(),lamports:gA(),postBalance:TA(gA()),rewardType:TA(FA()),commission:te(TA(gA()))});ot(TA(wA({blockhash:FA(),previousBlockhash:FA(),parentSlot:gA(),transactions:jA(wA({transaction:wg,meta:TA(ti),version:te(sr)})),rewards:te(jA(bs)),blockTime:TA(gA()),blockHeight:TA(gA())})));ot(TA(wA({blockhash:FA(),previousBlockhash:FA(),parentSlot:gA(),rewards:te(jA(bs)),blockTime:TA(gA()),blockHeight:TA(gA())})));ot(TA(wA({blockhash:FA(),previousBlockhash:FA(),parentSlot:gA(),transactions:jA(wA({transaction:tE,meta:TA(ti),version:te(sr)})),rewards:te(jA(bs)),blockTime:TA(gA()),blockHeight:TA(gA())})));ot(TA(wA({blockhash:FA(),previousBlockhash:FA(),parentSlot:gA(),transactions:jA(wA({transaction:nE,meta:TA(xg),version:te(sr)})),rewards:te(jA(bs)),blockTime:TA(gA()),blockHeight:TA(gA())})));ot(TA(wA({blockhash:FA(),previousBlockhash:FA(),parentSlot:gA(),transactions:jA(wA({transaction:tE,meta:TA(xg),version:te(sr)})),rewards:te(jA(bs)),blockTime:TA(gA()),blockHeight:TA(gA())})));ot(TA(wA({blockhash:FA(),previousBlockhash:FA(),parentSlot:gA(),rewards:te(jA(bs)),blockTime:TA(gA()),blockHeight:TA(gA())})));ot(TA(wA({blockhash:FA(),previousBlockhash:FA(),parentSlot:gA(),transactions:jA(wA({transaction:wg,meta:TA(ti)})),rewards:te(jA(bs)),blockTime:TA(gA())})));ot(TA(wA({blockhash:FA(),previousBlockhash:FA(),parentSlot:gA(),signatures:jA(FA()),blockTime:TA(gA())})));ot(TA(wA({slot:gA(),meta:TA(ti),blockTime:te(TA(gA())),transaction:wg,version:te(sr)})));ot(TA(wA({slot:gA(),transaction:nE,meta:TA(xg),blockTime:te(TA(gA())),version:te(sr)})));Do(wA({blockhash:FA(),lastValidBlockHeight:gA()}));Do(Go());const qD=wA({slot:gA(),numTransactions:gA(),numSlots:gA(),samplePeriodSecs:gA()});ot(jA(qD));Do(TA(wA({feeCalculator:wA({lamportsPerSignature:gA()})})));ot(FA());ot(FA());const YD=wA({err:Ms,logs:jA(FA()),signature:FA()});wA({result:ei(YD),subscription:gA()});Object.freeze({CreateLookupTable:{index:0,layout:rA.struct([rA.u32("instruction"),Vs("recentSlot"),rA.u8("bumpSeed")])},FreezeLookupTable:{index:1,layout:rA.struct([rA.u32("instruction")])},ExtendLookupTable:{index:2,layout:rA.struct([rA.u32("instruction"),Vs(),rA.seq(ze(),rA.offset(rA.u32(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:rA.struct([rA.u32("instruction")])},CloseLookupTable:{index:4,layout:rA.struct([rA.u32("instruction")])}});new Ye("AddressLookupTab1e1111111111111111111111111");Object.freeze({RequestUnits:{index:0,layout:rA.struct([rA.u8("instruction"),rA.u32("units"),rA.u32("additionalFee")])},RequestHeapFrame:{index:1,layout:rA.struct([rA.u8("instruction"),rA.u32("bytes")])},SetComputeUnitLimit:{index:2,layout:rA.struct([rA.u8("instruction"),rA.u32("units")])},SetComputeUnitPrice:{index:3,layout:rA.struct([rA.u8("instruction"),Vs("microLamports")])}});new Ye("ComputeBudget111111111111111111111111111111");rA.struct([rA.u8("numSignatures"),rA.u8("padding"),rA.u16("signatureOffset"),rA.u16("signatureInstructionIndex"),rA.u16("publicKeyOffset"),rA.u16("publicKeyInstructionIndex"),rA.u16("messageDataOffset"),rA.u16("messageDataSize"),rA.u16("messageInstructionIndex")]);new Ye("Ed25519SigVerify111111111111111111111111111");lD.utils.isValidPrivateKey;rA.struct([rA.u8("numSignatures"),rA.u16("signatureOffset"),rA.u8("signatureInstructionIndex"),rA.u16("ethAddressOffset"),rA.u8("ethAddressInstructionIndex"),rA.u16("messageDataOffset"),rA.u16("messageDataSize"),rA.u8("messageInstructionIndex"),rA.blob(20,"ethAddress"),rA.blob(64,"signature"),rA.u8("recoveryId")]);new Ye("KeccakSecp256k11111111111111111111111111111");var aE;new Ye("StakeConfig11111111111111111111111111111111");class gE{constructor(e,t,s){this.unixTimestamp=void 0,this.epoch=void 0,this.custodian=void 0,this.unixTimestamp=e,this.epoch=t,this.custodian=s}}aE=gE;gE.default=new aE(0,0,Ye.default);Object.freeze({Initialize:{index:0,layout:rA.struct([rA.u32("instruction"),ID(),uD()])},Authorize:{index:1,layout:rA.struct([rA.u32("instruction"),ze("newAuthorized"),rA.u32("stakeAuthorizationType")])},Delegate:{index:2,layout:rA.struct([rA.u32("instruction")])},Split:{index:3,layout:rA.struct([rA.u32("instruction"),rA.ns64("lamports")])},Withdraw:{index:4,layout:rA.struct([rA.u32("instruction"),rA.ns64("lamports")])},Deactivate:{index:5,layout:rA.struct([rA.u32("instruction")])},Merge:{index:7,layout:rA.struct([rA.u32("instruction")])},AuthorizeWithSeed:{index:8,layout:rA.struct([rA.u32("instruction"),ze("newAuthorized"),rA.u32("stakeAuthorizationType"),Ts("authoritySeed"),ze("authorityOwner")])}});new Ye("Stake11111111111111111111111111111111111111");Object.freeze({InitializeAccount:{index:0,layout:rA.struct([rA.u32("instruction"),dD()])},Authorize:{index:1,layout:rA.struct([rA.u32("instruction"),ze("newAuthorized"),rA.u32("voteAuthorizationType")])},Withdraw:{index:3,layout:rA.struct([rA.u32("instruction"),rA.ns64("lamports")])},UpdateValidatorIdentity:{index:4,layout:rA.struct([rA.u32("instruction")])},AuthorizeWithSeed:{index:10,layout:rA.struct([rA.u32("instruction"),hD()])}});new Ye("Vote111111111111111111111111111111111111111");new Ye("Va1idator1nfo111111111111111111111111111111");wA({name:FA(),website:te(FA()),details:te(FA()),iconUrl:te(FA()),keybaseUsername:te(FA())});new Ye("Vote111111111111111111111111111111111111111");rA.struct([ze("nodePubkey"),ze("authorizedWithdrawer"),rA.u8("commission"),rA.nu64(),rA.seq(rA.struct([rA.nu64("slot"),rA.u32("confirmationCount")]),rA.offset(rA.u32(),-8),"votes"),rA.u8("rootSlotValid"),rA.nu64("rootSlot"),rA.nu64(),rA.seq(rA.struct([rA.nu64("epoch"),ze("authorizedVoter")]),rA.offset(rA.u32(),-8),"authorizedVoters"),rA.struct([rA.seq(rA.struct([ze("authorizedPubkey"),rA.nu64("epochOfLastAuthorizedSwitch"),rA.nu64("targetEpoch")]),32,"buf"),rA.nu64("idx"),rA.u8("isEmpty")],"priorVoters"),rA.nu64(),rA.seq(rA.struct([rA.nu64("epoch"),rA.nu64("credits"),rA.nu64("prevCredits")]),rA.offset(rA.u32(),-8),"epochCredits"),rA.struct([rA.nu64("slot"),rA.nu64("timestamp")],"lastTimestamp")]);function HD(A){if(A.length>=255)throw new TypeError("Alphabet too long");const e=new Uint8Array(256);for(let l=0;l<e.length;l++)e[l]=255;for(let l=0;l<A.length;l++){const Q=A.charAt(l),I=Q.charCodeAt(0);if(e[I]!==255)throw new TypeError(Q+" is ambiguous");e[I]=l}const t=A.length,s=A.charAt(0),n=Math.log(t)/Math.log(256),r=Math.log(256)/Math.log(t);function i(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";let Q=0,I=0,C=0;const c=l.length;for(;C!==c&&l[C]===0;)C++,Q++;const u=(c-C)*r+1>>>0,p=new Uint8Array(u);for(;C!==c;){let v=l[C],D=0;for(let j=u-1;(v!==0||D<I)&&j!==-1;j--,D++)v+=256*p[j]>>>0,p[j]=v%t>>>0,v=v/t>>>0;if(v!==0)throw new Error("Non-zero carry");I=D,C++}let f=u-I;for(;f!==u&&p[f]===0;)f++;let k=s.repeat(Q);for(;f<u;++f)k+=A.charAt(p[f]);return k}function a(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;let Q=0,I=0,C=0;for(;l[Q]===s;)I++,Q++;const c=(l.length-Q)*n+1>>>0,u=new Uint8Array(c);for(;Q<l.length;){const v=l.charCodeAt(Q);if(v>255)return;let D=e[v];if(D===255)return;let j=0;for(let K=c-1;(D!==0||j<C)&&K!==-1;K--,j++)D+=t*u[K]>>>0,u[K]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");C=j,Q++}let p=c-C;for(;p!==c&&u[p]===0;)p++;const f=new Uint8Array(I+(c-p));let k=I;for(;p!==c;)f[k++]=u[p++];return f}function g(l){const Q=a(l);if(Q)return Q;throw new Error("Non-base"+t+" character")}return{encode:i,decodeUnsafe:a,decode:g}}var PD="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";HD(PD);function WD(A){throw new Error('Could not dynamically require "'+A+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Li={exports:{}},lQ;function zD(){return lQ||(lQ=1,(function(A){(function(e){var t=function(F){var H,P=new Float64Array(16);if(F)for(H=0;H<F.length;H++)P[H]=F[H];return P},s=function(){throw new Error("no PRNG")},n=new Uint8Array(16),r=new Uint8Array(32);r[0]=9;var i=t(),a=t([1]),g=t([56129,1]),l=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),Q=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),I=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),C=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),c=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function u(F,H,P,m){F[H]=P>>24&255,F[H+1]=P>>16&255,F[H+2]=P>>8&255,F[H+3]=P&255,F[H+4]=m>>24&255,F[H+5]=m>>16&255,F[H+6]=m>>8&255,F[H+7]=m&255}function p(F,H,P,m,z){var sA,oA=0;for(sA=0;sA<z;sA++)oA|=F[H+sA]^P[m+sA];return(1&oA-1>>>8)-1}function f(F,H,P,m){return p(F,H,P,m,16)}function k(F,H,P,m){return p(F,H,P,m,32)}function v(F,H,P,m){for(var z=m[0]&255|(m[1]&255)<<8|(m[2]&255)<<16|(m[3]&255)<<24,sA=P[0]&255|(P[1]&255)<<8|(P[2]&255)<<16|(P[3]&255)<<24,oA=P[4]&255|(P[5]&255)<<8|(P[6]&255)<<16|(P[7]&255)<<24,uA=P[8]&255|(P[9]&255)<<8|(P[10]&255)<<16|(P[11]&255)<<24,DA=P[12]&255|(P[13]&255)<<8|(P[14]&255)<<16|(P[15]&255)<<24,bA=m[4]&255|(m[5]&255)<<8|(m[6]&255)<<16|(m[7]&255)<<24,xA=H[0]&255|(H[1]&255)<<8|(H[2]&255)<<16|(H[3]&255)<<24,Ee=H[4]&255|(H[5]&255)<<8|(H[6]&255)<<16|(H[7]&255)<<24,UA=H[8]&255|(H[9]&255)<<8|(H[10]&255)<<16|(H[11]&255)<<24,$A=H[12]&255|(H[13]&255)<<8|(H[14]&255)<<16|(H[15]&255)<<24,re=m[8]&255|(m[9]&255)<<8|(m[10]&255)<<16|(m[11]&255)<<24,ae=P[16]&255|(P[17]&255)<<8|(P[18]&255)<<16|(P[19]&255)<<24,ie=P[20]&255|(P[21]&255)<<8|(P[22]&255)<<16|(P[23]&255)<<24,oe=P[24]&255|(P[25]&255)<<8|(P[26]&255)<<16|(P[27]&255)<<24,se=P[28]&255|(P[29]&255)<<8|(P[30]&255)<<16|(P[31]&255)<<24,Ae=m[12]&255|(m[13]&255)<<8|(m[14]&255)<<16|(m[15]&255)<<24,RA=z,OA=sA,SA=oA,KA=uA,LA=DA,vA=bA,EA=xA,CA=Ee,pA=UA,hA=$A,fA=re,NA=ae,ee=ie,Be=oe,Ie=se,ce=Ae,$,xe=0;xe<20;xe+=2)$=RA+ee|0,LA^=$<<7|$>>>25,$=LA+RA|0,pA^=$<<9|$>>>23,$=pA+LA|0,ee^=$<<13|$>>>19,$=ee+pA|0,RA^=$<<18|$>>>14,$=vA+OA|0,hA^=$<<7|$>>>25,$=hA+vA|0,Be^=$<<9|$>>>23,$=Be+hA|0,OA^=$<<13|$>>>19,$=OA+Be|0,vA^=$<<18|$>>>14,$=fA+EA|0,Ie^=$<<7|$>>>25,$=Ie+fA|0,SA^=$<<9|$>>>23,$=SA+Ie|0,EA^=$<<13|$>>>19,$=EA+SA|0,fA^=$<<18|$>>>14,$=ce+NA|0,KA^=$<<7|$>>>25,$=KA+ce|0,CA^=$<<9|$>>>23,$=CA+KA|0,NA^=$<<13|$>>>19,$=NA+CA|0,ce^=$<<18|$>>>14,$=RA+KA|0,OA^=$<<7|$>>>25,$=OA+RA|0,SA^=$<<9|$>>>23,$=SA+OA|0,KA^=$<<13|$>>>19,$=KA+SA|0,RA^=$<<18|$>>>14,$=vA+LA|0,EA^=$<<7|$>>>25,$=EA+vA|0,CA^=$<<9|$>>>23,$=CA+EA|0,LA^=$<<13|$>>>19,$=LA+CA|0,vA^=$<<18|$>>>14,$=fA+hA|0,NA^=$<<7|$>>>25,$=NA+fA|0,pA^=$<<9|$>>>23,$=pA+NA|0,hA^=$<<13|$>>>19,$=hA+pA|0,fA^=$<<18|$>>>14,$=ce+Ie|0,ee^=$<<7|$>>>25,$=ee+ce|0,Be^=$<<9|$>>>23,$=Be+ee|0,Ie^=$<<13|$>>>19,$=Ie+Be|0,ce^=$<<18|$>>>14;RA=RA+z|0,OA=OA+sA|0,SA=SA+oA|0,KA=KA+uA|0,LA=LA+DA|0,vA=vA+bA|0,EA=EA+xA|0,CA=CA+Ee|0,pA=pA+UA|0,hA=hA+$A|0,fA=fA+re|0,NA=NA+ae|0,ee=ee+ie|0,Be=Be+oe|0,Ie=Ie+se|0,ce=ce+Ae|0,F[0]=RA>>>0&255,F[1]=RA>>>8&255,F[2]=RA>>>16&255,F[3]=RA>>>24&255,F[4]=OA>>>0&255,F[5]=OA>>>8&255,F[6]=OA>>>16&255,F[7]=OA>>>24&255,F[8]=SA>>>0&255,F[9]=SA>>>8&255,F[10]=SA>>>16&255,F[11]=SA>>>24&255,F[12]=KA>>>0&255,F[13]=KA>>>8&255,F[14]=KA>>>16&255,F[15]=KA>>>24&255,F[16]=LA>>>0&255,F[17]=LA>>>8&255,F[18]=LA>>>16&255,F[19]=LA>>>24&255,F[20]=vA>>>0&255,F[21]=vA>>>8&255,F[22]=vA>>>16&255,F[23]=vA>>>24&255,F[24]=EA>>>0&255,F[25]=EA>>>8&255,F[26]=EA>>>16&255,F[27]=EA>>>24&255,F[28]=CA>>>0&255,F[29]=CA>>>8&255,F[30]=CA>>>16&255,F[31]=CA>>>24&255,F[32]=pA>>>0&255,F[33]=pA>>>8&255,F[34]=pA>>>16&255,F[35]=pA>>>24&255,F[36]=hA>>>0&255,F[37]=hA>>>8&255,F[38]=hA>>>16&255,F[39]=hA>>>24&255,F[40]=fA>>>0&255,F[41]=fA>>>8&255,F[42]=fA>>>16&255,F[43]=fA>>>24&255,F[44]=NA>>>0&255,F[45]=NA>>>8&255,F[46]=NA>>>16&255,F[47]=NA>>>24&255,F[48]=ee>>>0&255,F[49]=ee>>>8&255,F[50]=ee>>>16&255,F[51]=ee>>>24&255,F[52]=Be>>>0&255,F[53]=Be>>>8&255,F[54]=Be>>>16&255,F[55]=Be>>>24&255,F[56]=Ie>>>0&255,F[57]=Ie>>>8&255,F[58]=Ie>>>16&255,F[59]=Ie>>>24&255,F[60]=ce>>>0&255,F[61]=ce>>>8&255,F[62]=ce>>>16&255,F[63]=ce>>>24&255}function D(F,H,P,m){for(var z=m[0]&255|(m[1]&255)<<8|(m[2]&255)<<16|(m[3]&255)<<24,sA=P[0]&255|(P[1]&255)<<8|(P[2]&255)<<16|(P[3]&255)<<24,oA=P[4]&255|(P[5]&255)<<8|(P[6]&255)<<16|(P[7]&255)<<24,uA=P[8]&255|(P[9]&255)<<8|(P[10]&255)<<16|(P[11]&255)<<24,DA=P[12]&255|(P[13]&255)<<8|(P[14]&255)<<16|(P[15]&255)<<24,bA=m[4]&255|(m[5]&255)<<8|(m[6]&255)<<16|(m[7]&255)<<24,xA=H[0]&255|(H[1]&255)<<8|(H[2]&255)<<16|(H[3]&255)<<24,Ee=H[4]&255|(H[5]&255)<<8|(H[6]&255)<<16|(H[7]&255)<<24,UA=H[8]&255|(H[9]&255)<<8|(H[10]&255)<<16|(H[11]&255)<<24,$A=H[12]&255|(H[13]&255)<<8|(H[14]&255)<<16|(H[15]&255)<<24,re=m[8]&255|(m[9]&255)<<8|(m[10]&255)<<16|(m[11]&255)<<24,ae=P[16]&255|(P[17]&255)<<8|(P[18]&255)<<16|(P[19]&255)<<24,ie=P[20]&255|(P[21]&255)<<8|(P[22]&255)<<16|(P[23]&255)<<24,oe=P[24]&255|(P[25]&255)<<8|(P[26]&255)<<16|(P[27]&255)<<24,se=P[28]&255|(P[29]&255)<<8|(P[30]&255)<<16|(P[31]&255)<<24,Ae=m[12]&255|(m[13]&255)<<8|(m[14]&255)<<16|(m[15]&255)<<24,RA=z,OA=sA,SA=oA,KA=uA,LA=DA,vA=bA,EA=xA,CA=Ee,pA=UA,hA=$A,fA=re,NA=ae,ee=ie,Be=oe,Ie=se,ce=Ae,$,xe=0;xe<20;xe+=2)$=RA+ee|0,LA^=$<<7|$>>>25,$=LA+RA|0,pA^=$<<9|$>>>23,$=pA+LA|0,ee^=$<<13|$>>>19,$=ee+pA|0,RA^=$<<18|$>>>14,$=vA+OA|0,hA^=$<<7|$>>>25,$=hA+vA|0,Be^=$<<9|$>>>23,$=Be+hA|0,OA^=$<<13|$>>>19,$=OA+Be|0,vA^=$<<18|$>>>14,$=fA+EA|0,Ie^=$<<7|$>>>25,$=Ie+fA|0,SA^=$<<9|$>>>23,$=SA+Ie|0,EA^=$<<13|$>>>19,$=EA+SA|0,fA^=$<<18|$>>>14,$=ce+NA|0,KA^=$<<7|$>>>25,$=KA+ce|0,CA^=$<<9|$>>>23,$=CA+KA|0,NA^=$<<13|$>>>19,$=NA+CA|0,ce^=$<<18|$>>>14,$=RA+KA|0,OA^=$<<7|$>>>25,$=OA+RA|0,SA^=$<<9|$>>>23,$=SA+OA|0,KA^=$<<13|$>>>19,$=KA+SA|0,RA^=$<<18|$>>>14,$=vA+LA|0,EA^=$<<7|$>>>25,$=EA+vA|0,CA^=$<<9|$>>>23,$=CA+EA|0,LA^=$<<13|$>>>19,$=LA+CA|0,vA^=$<<18|$>>>14,$=fA+hA|0,NA^=$<<7|$>>>25,$=NA+fA|0,pA^=$<<9|$>>>23,$=pA+NA|0,hA^=$<<13|$>>>19,$=hA+pA|0,fA^=$<<18|$>>>14,$=ce+Ie|0,ee^=$<<7|$>>>25,$=ee+ce|0,Be^=$<<9|$>>>23,$=Be+ee|0,Ie^=$<<13|$>>>19,$=Ie+Be|0,ce^=$<<18|$>>>14;F[0]=RA>>>0&255,F[1]=RA>>>8&255,F[2]=RA>>>16&255,F[3]=RA>>>24&255,F[4]=vA>>>0&255,F[5]=vA>>>8&255,F[6]=vA>>>16&255,F[7]=vA>>>24&255,F[8]=fA>>>0&255,F[9]=fA>>>8&255,F[10]=fA>>>16&255,F[11]=fA>>>24&255,F[12]=ce>>>0&255,F[13]=ce>>>8&255,F[14]=ce>>>16&255,F[15]=ce>>>24&255,F[16]=EA>>>0&255,F[17]=EA>>>8&255,F[18]=EA>>>16&255,F[19]=EA>>>24&255,F[20]=CA>>>0&255,F[21]=CA>>>8&255,F[22]=CA>>>16&255,F[23]=CA>>>24&255,F[24]=pA>>>0&255,F[25]=pA>>>8&255,F[26]=pA>>>16&255,F[27]=pA>>>24&255,F[28]=hA>>>0&255,F[29]=hA>>>8&255,F[30]=hA>>>16&255,F[31]=hA>>>24&255}function j(F,H,P,m){v(F,H,P,m)}function K(F,H,P,m){D(F,H,P,m)}var V=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function eA(F,H,P,m,z,sA,oA){var uA=new Uint8Array(16),DA=new Uint8Array(64),bA,xA;for(xA=0;xA<16;xA++)uA[xA]=0;for(xA=0;xA<8;xA++)uA[xA]=sA[xA];for(;z>=64;){for(j(DA,uA,oA,V),xA=0;xA<64;xA++)F[H+xA]=P[m+xA]^DA[xA];for(bA=1,xA=8;xA<16;xA++)bA=bA+(uA[xA]&255)|0,uA[xA]=bA&255,bA>>>=8;z-=64,H+=64,m+=64}if(z>0)for(j(DA,uA,oA,V),xA=0;xA<z;xA++)F[H+xA]=P[m+xA]^DA[xA];return 0}function X(F,H,P,m,z){var sA=new Uint8Array(16),oA=new Uint8Array(64),uA,DA;for(DA=0;DA<16;DA++)sA[DA]=0;for(DA=0;DA<8;DA++)sA[DA]=m[DA];for(;P>=64;){for(j(oA,sA,z,V),DA=0;DA<64;DA++)F[H+DA]=oA[DA];for(uA=1,DA=8;DA<16;DA++)uA=uA+(sA[DA]&255)|0,sA[DA]=uA&255,uA>>>=8;P-=64,H+=64}if(P>0)for(j(oA,sA,z,V),DA=0;DA<P;DA++)F[H+DA]=oA[DA];return 0}function R(F,H,P,m,z){var sA=new Uint8Array(32);K(sA,m,z,V);for(var oA=new Uint8Array(8),uA=0;uA<8;uA++)oA[uA]=m[uA+16];return X(F,H,P,oA,sA)}function W(F,H,P,m,z,sA,oA){var uA=new Uint8Array(32);K(uA,sA,oA,V);for(var DA=new Uint8Array(8),bA=0;bA<8;bA++)DA[bA]=sA[bA+16];return eA(F,H,P,m,z,DA,uA)}var O=function(F){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var H,P,m,z,sA,oA,uA,DA;H=F[0]&255|(F[1]&255)<<8,this.r[0]=H&8191,P=F[2]&255|(F[3]&255)<<8,this.r[1]=(H>>>13|P<<3)&8191,m=F[4]&255|(F[5]&255)<<8,this.r[2]=(P>>>10|m<<6)&7939,z=F[6]&255|(F[7]&255)<<8,this.r[3]=(m>>>7|z<<9)&8191,sA=F[8]&255|(F[9]&255)<<8,this.r[4]=(z>>>4|sA<<12)&255,this.r[5]=sA>>>1&8190,oA=F[10]&255|(F[11]&255)<<8,this.r[6]=(sA>>>14|oA<<2)&8191,uA=F[12]&255|(F[13]&255)<<8,this.r[7]=(oA>>>11|uA<<5)&8065,DA=F[14]&255|(F[15]&255)<<8,this.r[8]=(uA>>>8|DA<<8)&8191,this.r[9]=DA>>>5&127,this.pad[0]=F[16]&255|(F[17]&255)<<8,this.pad[1]=F[18]&255|(F[19]&255)<<8,this.pad[2]=F[20]&255|(F[21]&255)<<8,this.pad[3]=F[22]&255|(F[23]&255)<<8,this.pad[4]=F[24]&255|(F[25]&255)<<8,this.pad[5]=F[26]&255|(F[27]&255)<<8,this.pad[6]=F[28]&255|(F[29]&255)<<8,this.pad[7]=F[30]&255|(F[31]&255)<<8};O.prototype.blocks=function(F,H,P){for(var m=this.fin?0:2048,z,sA,oA,uA,DA,bA,xA,Ee,UA,$A,re,ae,ie,oe,se,Ae,RA,OA,SA,KA=this.h[0],LA=this.h[1],vA=this.h[2],EA=this.h[3],CA=this.h[4],pA=this.h[5],hA=this.h[6],fA=this.h[7],NA=this.h[8],ee=this.h[9],Be=this.r[0],Ie=this.r[1],ce=this.r[2],$=this.r[3],xe=this.r[4],Se=this.r[5],Me=this.r[6],fe=this.r[7],be=this.r[8],Ue=this.r[9];P>=16;)z=F[H+0]&255|(F[H+1]&255)<<8,KA+=z&8191,sA=F[H+2]&255|(F[H+3]&255)<<8,LA+=(z>>>13|sA<<3)&8191,oA=F[H+4]&255|(F[H+5]&255)<<8,vA+=(sA>>>10|oA<<6)&8191,uA=F[H+6]&255|(F[H+7]&255)<<8,EA+=(oA>>>7|uA<<9)&8191,DA=F[H+8]&255|(F[H+9]&255)<<8,CA+=(uA>>>4|DA<<12)&8191,pA+=DA>>>1&8191,bA=F[H+10]&255|(F[H+11]&255)<<8,hA+=(DA>>>14|bA<<2)&8191,xA=F[H+12]&255|(F[H+13]&255)<<8,fA+=(bA>>>11|xA<<5)&8191,Ee=F[H+14]&255|(F[H+15]&255)<<8,NA+=(xA>>>8|Ee<<8)&8191,ee+=Ee>>>5|m,UA=0,$A=UA,$A+=KA*Be,$A+=LA*(5*Ue),$A+=vA*(5*be),$A+=EA*(5*fe),$A+=CA*(5*Me),UA=$A>>>13,$A&=8191,$A+=pA*(5*Se),$A+=hA*(5*xe),$A+=fA*(5*$),$A+=NA*(5*ce),$A+=ee*(5*Ie),UA+=$A>>>13,$A&=8191,re=UA,re+=KA*Ie,re+=LA*Be,re+=vA*(5*Ue),re+=EA*(5*be),re+=CA*(5*fe),UA=re>>>13,re&=8191,re+=pA*(5*Me),re+=hA*(5*Se),re+=fA*(5*xe),re+=NA*(5*$),re+=ee*(5*ce),UA+=re>>>13,re&=8191,ae=UA,ae+=KA*ce,ae+=LA*Ie,ae+=vA*Be,ae+=EA*(5*Ue),ae+=CA*(5*be),UA=ae>>>13,ae&=8191,ae+=pA*(5*fe),ae+=hA*(5*Me),ae+=fA*(5*Se),ae+=NA*(5*xe),ae+=ee*(5*$),UA+=ae>>>13,ae&=8191,ie=UA,ie+=KA*$,ie+=LA*ce,ie+=vA*Ie,ie+=EA*Be,ie+=CA*(5*Ue),UA=ie>>>13,ie&=8191,ie+=pA*(5*be),ie+=hA*(5*fe),ie+=fA*(5*Me),ie+=NA*(5*Se),ie+=ee*(5*xe),UA+=ie>>>13,ie&=8191,oe=UA,oe+=KA*xe,oe+=LA*$,oe+=vA*ce,oe+=EA*Ie,oe+=CA*Be,UA=oe>>>13,oe&=8191,oe+=pA*(5*Ue),oe+=hA*(5*be),oe+=fA*(5*fe),oe+=NA*(5*Me),oe+=ee*(5*Se),UA+=oe>>>13,oe&=8191,se=UA,se+=KA*Se,se+=LA*xe,se+=vA*$,se+=EA*ce,se+=CA*Ie,UA=se>>>13,se&=8191,se+=pA*Be,se+=hA*(5*Ue),se+=fA*(5*be),se+=NA*(5*fe),se+=ee*(5*Me),UA+=se>>>13,se&=8191,Ae=UA,Ae+=KA*Me,Ae+=LA*Se,Ae+=vA*xe,Ae+=EA*$,Ae+=CA*ce,UA=Ae>>>13,Ae&=8191,Ae+=pA*Ie,Ae+=hA*Be,Ae+=fA*(5*Ue),Ae+=NA*(5*be),Ae+=ee*(5*fe),UA+=Ae>>>13,Ae&=8191,RA=UA,RA+=KA*fe,RA+=LA*Me,RA+=vA*Se,RA+=EA*xe,RA+=CA*$,UA=RA>>>13,RA&=8191,RA+=pA*ce,RA+=hA*Ie,RA+=fA*Be,RA+=NA*(5*Ue),RA+=ee*(5*be),UA+=RA>>>13,RA&=8191,OA=UA,OA+=KA*be,OA+=LA*fe,OA+=vA*Me,OA+=EA*Se,OA+=CA*xe,UA=OA>>>13,OA&=8191,OA+=pA*$,OA+=hA*ce,OA+=fA*Ie,OA+=NA*Be,OA+=ee*(5*Ue),UA+=OA>>>13,OA&=8191,SA=UA,SA+=KA*Ue,SA+=LA*be,SA+=vA*fe,SA+=EA*Me,SA+=CA*Se,UA=SA>>>13,SA&=8191,SA+=pA*xe,SA+=hA*$,SA+=fA*ce,SA+=NA*Ie,SA+=ee*Be,UA+=SA>>>13,SA&=8191,UA=(UA<<2)+UA|0,UA=UA+$A|0,$A=UA&8191,UA=UA>>>13,re+=UA,KA=$A,LA=re,vA=ae,EA=ie,CA=oe,pA=se,hA=Ae,fA=RA,NA=OA,ee=SA,H+=16,P-=16;this.h[0]=KA,this.h[1]=LA,this.h[2]=vA,this.h[3]=EA,this.h[4]=CA,this.h[5]=pA,this.h[6]=hA,this.h[7]=fA,this.h[8]=NA,this.h[9]=ee},O.prototype.finish=function(F,H){var P=new Uint16Array(10),m,z,sA,oA;if(this.leftover){for(oA=this.leftover,this.buffer[oA++]=1;oA<16;oA++)this.buffer[oA]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(m=this.h[1]>>>13,this.h[1]&=8191,oA=2;oA<10;oA++)this.h[oA]+=m,m=this.h[oA]>>>13,this.h[oA]&=8191;for(this.h[0]+=m*5,m=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=m,m=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=m,P[0]=this.h[0]+5,m=P[0]>>>13,P[0]&=8191,oA=1;oA<10;oA++)P[oA]=this.h[oA]+m,m=P[oA]>>>13,P[oA]&=8191;for(P[9]-=8192,z=(m^1)-1,oA=0;oA<10;oA++)P[oA]&=z;for(z=~z,oA=0;oA<10;oA++)this.h[oA]=this.h[oA]&z|P[oA];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,sA=this.h[0]+this.pad[0],this.h[0]=sA&65535,oA=1;oA<8;oA++)sA=(this.h[oA]+this.pad[oA]|0)+(sA>>>16)|0,this.h[oA]=sA&65535;F[H+0]=this.h[0]>>>0&255,F[H+1]=this.h[0]>>>8&255,F[H+2]=this.h[1]>>>0&255,F[H+3]=this.h[1]>>>8&255,F[H+4]=this.h[2]>>>0&255,F[H+5]=this.h[2]>>>8&255,F[H+6]=this.h[3]>>>0&255,F[H+7]=this.h[3]>>>8&255,F[H+8]=this.h[4]>>>0&255,F[H+9]=this.h[4]>>>8&255,F[H+10]=this.h[5]>>>0&255,F[H+11]=this.h[5]>>>8&255,F[H+12]=this.h[6]>>>0&255,F[H+13]=this.h[6]>>>8&255,F[H+14]=this.h[7]>>>0&255,F[H+15]=this.h[7]>>>8&255},O.prototype.update=function(F,H,P){var m,z;if(this.leftover){for(z=16-this.leftover,z>P&&(z=P),m=0;m<z;m++)this.buffer[this.leftover+m]=F[H+m];if(P-=z,H+=z,this.leftover+=z,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(P>=16&&(z=P-P%16,this.blocks(F,H,z),H+=z,P-=z),P){for(m=0;m<P;m++)this.buffer[this.leftover+m]=F[H+m];this.leftover+=P}};function L(F,H,P,m,z,sA){var oA=new O(sA);return oA.update(P,m,z),oA.finish(F,H),0}function w(F,H,P,m,z,sA){var oA=new Uint8Array(16);return L(oA,0,P,m,z,sA),f(F,H,oA,0)}function B(F,H,P,m,z){var sA;if(P<32)return-1;for(W(F,0,H,0,P,m,z),L(F,16,F,32,P-32,F),sA=0;sA<16;sA++)F[sA]=0;return 0}function d(F,H,P,m,z){var sA,oA=new Uint8Array(32);if(P<32||(R(oA,0,32,m,z),w(H,16,H,32,P-32,oA)!==0))return-1;for(W(F,0,H,0,P,m,z),sA=0;sA<32;sA++)F[sA]=0;return 0}function N(F,H){var P;for(P=0;P<16;P++)F[P]=H[P]|0}function G(F){var H,P,m=1;for(H=0;H<16;H++)P=F[H]+m+65535,m=Math.floor(P/65536),F[H]=P-m*65536;F[0]+=m-1+37*(m-1)}function J(F,H,P){for(var m,z=~(P-1),sA=0;sA<16;sA++)m=z&(F[sA]^H[sA]),F[sA]^=m,H[sA]^=m}function Y(F,H){var P,m,z,sA=t(),oA=t();for(P=0;P<16;P++)oA[P]=H[P];for(G(oA),G(oA),G(oA),m=0;m<2;m++){for(sA[0]=oA[0]-65517,P=1;P<15;P++)sA[P]=oA[P]-65535-(sA[P-1]>>16&1),sA[P-1]&=65535;sA[15]=oA[15]-32767-(sA[14]>>16&1),z=sA[15]>>16&1,sA[14]&=65535,J(oA,sA,1-z)}for(P=0;P<16;P++)F[2*P]=oA[P]&255,F[2*P+1]=oA[P]>>8}function T(F,H){var P=new Uint8Array(32),m=new Uint8Array(32);return Y(P,F),Y(m,H),k(P,0,m,0)}function b(F){var H=new Uint8Array(32);return Y(H,F),H[0]&1}function E(F,H){var P;for(P=0;P<16;P++)F[P]=H[2*P]+(H[2*P+1]<<8);F[15]&=32767}function h(F,H,P){for(var m=0;m<16;m++)F[m]=H[m]+P[m]}function S(F,H,P){for(var m=0;m<16;m++)F[m]=H[m]-P[m]}function U(F,H,P){var m,z,sA=0,oA=0,uA=0,DA=0,bA=0,xA=0,Ee=0,UA=0,$A=0,re=0,ae=0,ie=0,oe=0,se=0,Ae=0,RA=0,OA=0,SA=0,KA=0,LA=0,vA=0,EA=0,CA=0,pA=0,hA=0,fA=0,NA=0,ee=0,Be=0,Ie=0,ce=0,$=P[0],xe=P[1],Se=P[2],Me=P[3],fe=P[4],be=P[5],Ue=P[6],lt=P[7],We=P[8],et=P[9],it=P[10],st=P[11],Et=P[12],ft=P[13],yt=P[14],aA=P[15];m=H[0],sA+=m*$,oA+=m*xe,uA+=m*Se,DA+=m*Me,bA+=m*fe,xA+=m*be,Ee+=m*Ue,UA+=m*lt,$A+=m*We,re+=m*et,ae+=m*it,ie+=m*st,oe+=m*Et,se+=m*ft,Ae+=m*yt,RA+=m*aA,m=H[1],oA+=m*$,uA+=m*xe,DA+=m*Se,bA+=m*Me,xA+=m*fe,Ee+=m*be,UA+=m*Ue,$A+=m*lt,re+=m*We,ae+=m*et,ie+=m*it,oe+=m*st,se+=m*Et,Ae+=m*ft,RA+=m*yt,OA+=m*aA,m=H[2],uA+=m*$,DA+=m*xe,bA+=m*Se,xA+=m*Me,Ee+=m*fe,UA+=m*be,$A+=m*Ue,re+=m*lt,ae+=m*We,ie+=m*et,oe+=m*it,se+=m*st,Ae+=m*Et,RA+=m*ft,OA+=m*yt,SA+=m*aA,m=H[3],DA+=m*$,bA+=m*xe,xA+=m*Se,Ee+=m*Me,UA+=m*fe,$A+=m*be,re+=m*Ue,ae+=m*lt,ie+=m*We,oe+=m*et,se+=m*it,Ae+=m*st,RA+=m*Et,OA+=m*ft,SA+=m*yt,KA+=m*aA,m=H[4],bA+=m*$,xA+=m*xe,Ee+=m*Se,UA+=m*Me,$A+=m*fe,re+=m*be,ae+=m*Ue,ie+=m*lt,oe+=m*We,se+=m*et,Ae+=m*it,RA+=m*st,OA+=m*Et,SA+=m*ft,KA+=m*yt,LA+=m*aA,m=H[5],xA+=m*$,Ee+=m*xe,UA+=m*Se,$A+=m*Me,re+=m*fe,ae+=m*be,ie+=m*Ue,oe+=m*lt,se+=m*We,Ae+=m*et,RA+=m*it,OA+=m*st,SA+=m*Et,KA+=m*ft,LA+=m*yt,vA+=m*aA,m=H[6],Ee+=m*$,UA+=m*xe,$A+=m*Se,re+=m*Me,ae+=m*fe,ie+=m*be,oe+=m*Ue,se+=m*lt,Ae+=m*We,RA+=m*et,OA+=m*it,SA+=m*st,KA+=m*Et,LA+=m*ft,vA+=m*yt,EA+=m*aA,m=H[7],UA+=m*$,$A+=m*xe,re+=m*Se,ae+=m*Me,ie+=m*fe,oe+=m*be,se+=m*Ue,Ae+=m*lt,RA+=m*We,OA+=m*et,SA+=m*it,KA+=m*st,LA+=m*Et,vA+=m*ft,EA+=m*yt,CA+=m*aA,m=H[8],$A+=m*$,re+=m*xe,ae+=m*Se,ie+=m*Me,oe+=m*fe,se+=m*be,Ae+=m*Ue,RA+=m*lt,OA+=m*We,SA+=m*et,KA+=m*it,LA+=m*st,vA+=m*Et,EA+=m*ft,CA+=m*yt,pA+=m*aA,m=H[9],re+=m*$,ae+=m*xe,ie+=m*Se,oe+=m*Me,se+=m*fe,Ae+=m*be,RA+=m*Ue,OA+=m*lt,SA+=m*We,KA+=m*et,LA+=m*it,vA+=m*st,EA+=m*Et,CA+=m*ft,pA+=m*yt,hA+=m*aA,m=H[10],ae+=m*$,ie+=m*xe,oe+=m*Se,se+=m*Me,Ae+=m*fe,RA+=m*be,OA+=m*Ue,SA+=m*lt,KA+=m*We,LA+=m*et,vA+=m*it,EA+=m*st,CA+=m*Et,pA+=m*ft,hA+=m*yt,fA+=m*aA,m=H[11],ie+=m*$,oe+=m*xe,se+=m*Se,Ae+=m*Me,RA+=m*fe,OA+=m*be,SA+=m*Ue,KA+=m*lt,LA+=m*We,vA+=m*et,EA+=m*it,CA+=m*st,pA+=m*Et,hA+=m*ft,fA+=m*yt,NA+=m*aA,m=H[12],oe+=m*$,se+=m*xe,Ae+=m*Se,RA+=m*Me,OA+=m*fe,SA+=m*be,KA+=m*Ue,LA+=m*lt,vA+=m*We,EA+=m*et,CA+=m*it,pA+=m*st,hA+=m*Et,fA+=m*ft,NA+=m*yt,ee+=m*aA,m=H[13],se+=m*$,Ae+=m*xe,RA+=m*Se,OA+=m*Me,SA+=m*fe,KA+=m*be,LA+=m*Ue,vA+=m*lt,EA+=m*We,CA+=m*et,pA+=m*it,hA+=m*st,fA+=m*Et,NA+=m*ft,ee+=m*yt,Be+=m*aA,m=H[14],Ae+=m*$,RA+=m*xe,OA+=m*Se,SA+=m*Me,KA+=m*fe,LA+=m*be,vA+=m*Ue,EA+=m*lt,CA+=m*We,pA+=m*et,hA+=m*it,fA+=m*st,NA+=m*Et,ee+=m*ft,Be+=m*yt,Ie+=m*aA,m=H[15],RA+=m*$,OA+=m*xe,SA+=m*Se,KA+=m*Me,LA+=m*fe,vA+=m*be,EA+=m*Ue,CA+=m*lt,pA+=m*We,hA+=m*et,fA+=m*it,NA+=m*st,ee+=m*Et,Be+=m*ft,Ie+=m*yt,ce+=m*aA,sA+=38*OA,oA+=38*SA,uA+=38*KA,DA+=38*LA,bA+=38*vA,xA+=38*EA,Ee+=38*CA,UA+=38*pA,$A+=38*hA,re+=38*fA,ae+=38*NA,ie+=38*ee,oe+=38*Be,se+=38*Ie,Ae+=38*ce,z=1,m=sA+z+65535,z=Math.floor(m/65536),sA=m-z*65536,m=oA+z+65535,z=Math.floor(m/65536),oA=m-z*65536,m=uA+z+65535,z=Math.floor(m/65536),uA=m-z*65536,m=DA+z+65535,z=Math.floor(m/65536),DA=m-z*65536,m=bA+z+65535,z=Math.floor(m/65536),bA=m-z*65536,m=xA+z+65535,z=Math.floor(m/65536),xA=m-z*65536,m=Ee+z+65535,z=Math.floor(m/65536),Ee=m-z*65536,m=UA+z+65535,z=Math.floor(m/65536),UA=m-z*65536,m=$A+z+65535,z=Math.floor(m/65536),$A=m-z*65536,m=re+z+65535,z=Math.floor(m/65536),re=m-z*65536,m=ae+z+65535,z=Math.floor(m/65536),ae=m-z*65536,m=ie+z+65535,z=Math.floor(m/65536),ie=m-z*65536,m=oe+z+65535,z=Math.floor(m/65536),oe=m-z*65536,m=se+z+65535,z=Math.floor(m/65536),se=m-z*65536,m=Ae+z+65535,z=Math.floor(m/65536),Ae=m-z*65536,m=RA+z+65535,z=Math.floor(m/65536),RA=m-z*65536,sA+=z-1+37*(z-1),z=1,m=sA+z+65535,z=Math.floor(m/65536),sA=m-z*65536,m=oA+z+65535,z=Math.floor(m/65536),oA=m-z*65536,m=uA+z+65535,z=Math.floor(m/65536),uA=m-z*65536,m=DA+z+65535,z=Math.floor(m/65536),DA=m-z*65536,m=bA+z+65535,z=Math.floor(m/65536),bA=m-z*65536,m=xA+z+65535,z=Math.floor(m/65536),xA=m-z*65536,m=Ee+z+65535,z=Math.floor(m/65536),Ee=m-z*65536,m=UA+z+65535,z=Math.floor(m/65536),UA=m-z*65536,m=$A+z+65535,z=Math.floor(m/65536),$A=m-z*65536,m=re+z+65535,z=Math.floor(m/65536),re=m-z*65536,m=ae+z+65535,z=Math.floor(m/65536),ae=m-z*65536,m=ie+z+65535,z=Math.floor(m/65536),ie=m-z*65536,m=oe+z+65535,z=Math.floor(m/65536),oe=m-z*65536,m=se+z+65535,z=Math.floor(m/65536),se=m-z*65536,m=Ae+z+65535,z=Math.floor(m/65536),Ae=m-z*65536,m=RA+z+65535,z=Math.floor(m/65536),RA=m-z*65536,sA+=z-1+37*(z-1),F[0]=sA,F[1]=oA,F[2]=uA,F[3]=DA,F[4]=bA,F[5]=xA,F[6]=Ee,F[7]=UA,F[8]=$A,F[9]=re,F[10]=ae,F[11]=ie,F[12]=oe,F[13]=se,F[14]=Ae,F[15]=RA}function _(F,H){U(F,H,H)}function tA(F,H){var P=t(),m;for(m=0;m<16;m++)P[m]=H[m];for(m=253;m>=0;m--)_(P,P),m!==2&&m!==4&&U(P,P,H);for(m=0;m<16;m++)F[m]=P[m]}function IA(F,H){var P=t(),m;for(m=0;m<16;m++)P[m]=H[m];for(m=250;m>=0;m--)_(P,P),m!==1&&U(P,P,H);for(m=0;m<16;m++)F[m]=P[m]}function iA(F,H,P){var m=new Uint8Array(32),z=new Float64Array(80),sA,oA,uA=t(),DA=t(),bA=t(),xA=t(),Ee=t(),UA=t();for(oA=0;oA<31;oA++)m[oA]=H[oA];for(m[31]=H[31]&127|64,m[0]&=248,E(z,P),oA=0;oA<16;oA++)DA[oA]=z[oA],xA[oA]=uA[oA]=bA[oA]=0;for(uA[0]=xA[0]=1,oA=254;oA>=0;--oA)sA=m[oA>>>3]>>>(oA&7)&1,J(uA,DA,sA),J(bA,xA,sA),h(Ee,uA,bA),S(uA,uA,bA),h(bA,DA,xA),S(DA,DA,xA),_(xA,Ee),_(UA,uA),U(uA,bA,uA),U(bA,DA,Ee),h(Ee,uA,bA),S(uA,uA,bA),_(DA,uA),S(bA,xA,UA),U(uA,bA,g),h(uA,uA,xA),U(bA,bA,uA),U(uA,xA,UA),U(xA,DA,z),_(DA,Ee),J(uA,DA,sA),J(bA,xA,sA);for(oA=0;oA<16;oA++)z[oA+16]=uA[oA],z[oA+32]=bA[oA],z[oA+48]=DA[oA],z[oA+64]=xA[oA];var $A=z.subarray(32),re=z.subarray(16);return tA($A,$A),U(re,re,$A),Y(F,re),0}function GA(F,H){return iA(F,H,r)}function qA(F,H){return s(H,32),GA(F,H)}function BA(F,H,P){var m=new Uint8Array(32);return iA(m,P,H),K(F,n,m,V)}var YA=B,_A=d;function Ce(F,H,P,m,z,sA){var oA=new Uint8Array(32);return BA(oA,z,sA),YA(F,H,P,m,oA)}function kA(F,H,P,m,z,sA){var oA=new Uint8Array(32);return BA(oA,z,sA),_A(F,H,P,m,oA)}var VA=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function me(F,H,P,m){for(var z=new Int32Array(16),sA=new Int32Array(16),oA,uA,DA,bA,xA,Ee,UA,$A,re,ae,ie,oe,se,Ae,RA,OA,SA,KA,LA,vA,EA,CA,pA,hA,fA,NA,ee=F[0],Be=F[1],Ie=F[2],ce=F[3],$=F[4],xe=F[5],Se=F[6],Me=F[7],fe=H[0],be=H[1],Ue=H[2],lt=H[3],We=H[4],et=H[5],it=H[6],st=H[7],Et=0;m>=128;){for(LA=0;LA<16;LA++)vA=8*LA+Et,z[LA]=P[vA+0]<<24|P[vA+1]<<16|P[vA+2]<<8|P[vA+3],sA[LA]=P[vA+4]<<24|P[vA+5]<<16|P[vA+6]<<8|P[vA+7];for(LA=0;LA<80;LA++)if(oA=ee,uA=Be,DA=Ie,bA=ce,xA=$,Ee=xe,UA=Se,$A=Me,re=fe,ae=be,ie=Ue,oe=lt,se=We,Ae=et,RA=it,OA=st,EA=Me,CA=st,pA=CA&65535,hA=CA>>>16,fA=EA&65535,NA=EA>>>16,EA=($>>>14|We<<18)^($>>>18|We<<14)^(We>>>9|$<<23),CA=(We>>>14|$<<18)^(We>>>18|$<<14)^($>>>9|We<<23),pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,EA=$&xe^~$&Se,CA=We&et^~We&it,pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,EA=VA[LA*2],CA=VA[LA*2+1],pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,EA=z[LA%16],CA=sA[LA%16],pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,SA=fA&65535|NA<<16,KA=pA&65535|hA<<16,EA=SA,CA=KA,pA=CA&65535,hA=CA>>>16,fA=EA&65535,NA=EA>>>16,EA=(ee>>>28|fe<<4)^(fe>>>2|ee<<30)^(fe>>>7|ee<<25),CA=(fe>>>28|ee<<4)^(ee>>>2|fe<<30)^(ee>>>7|fe<<25),pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,EA=ee&Be^ee&Ie^Be&Ie,CA=fe&be^fe&Ue^be&Ue,pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,$A=fA&65535|NA<<16,OA=pA&65535|hA<<16,EA=bA,CA=oe,pA=CA&65535,hA=CA>>>16,fA=EA&65535,NA=EA>>>16,EA=SA,CA=KA,pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,bA=fA&65535|NA<<16,oe=pA&65535|hA<<16,Be=oA,Ie=uA,ce=DA,$=bA,xe=xA,Se=Ee,Me=UA,ee=$A,be=re,Ue=ae,lt=ie,We=oe,et=se,it=Ae,st=RA,fe=OA,LA%16===15)for(vA=0;vA<16;vA++)EA=z[vA],CA=sA[vA],pA=CA&65535,hA=CA>>>16,fA=EA&65535,NA=EA>>>16,EA=z[(vA+9)%16],CA=sA[(vA+9)%16],pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,SA=z[(vA+1)%16],KA=sA[(vA+1)%16],EA=(SA>>>1|KA<<31)^(SA>>>8|KA<<24)^SA>>>7,CA=(KA>>>1|SA<<31)^(KA>>>8|SA<<24)^(KA>>>7|SA<<25),pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,SA=z[(vA+14)%16],KA=sA[(vA+14)%16],EA=(SA>>>19|KA<<13)^(KA>>>29|SA<<3)^SA>>>6,CA=(KA>>>19|SA<<13)^(SA>>>29|KA<<3)^(KA>>>6|SA<<26),pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,z[vA]=fA&65535|NA<<16,sA[vA]=pA&65535|hA<<16;EA=ee,CA=fe,pA=CA&65535,hA=CA>>>16,fA=EA&65535,NA=EA>>>16,EA=F[0],CA=H[0],pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,F[0]=ee=fA&65535|NA<<16,H[0]=fe=pA&65535|hA<<16,EA=Be,CA=be,pA=CA&65535,hA=CA>>>16,fA=EA&65535,NA=EA>>>16,EA=F[1],CA=H[1],pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,F[1]=Be=fA&65535|NA<<16,H[1]=be=pA&65535|hA<<16,EA=Ie,CA=Ue,pA=CA&65535,hA=CA>>>16,fA=EA&65535,NA=EA>>>16,EA=F[2],CA=H[2],pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,F[2]=Ie=fA&65535|NA<<16,H[2]=Ue=pA&65535|hA<<16,EA=ce,CA=lt,pA=CA&65535,hA=CA>>>16,fA=EA&65535,NA=EA>>>16,EA=F[3],CA=H[3],pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,F[3]=ce=fA&65535|NA<<16,H[3]=lt=pA&65535|hA<<16,EA=$,CA=We,pA=CA&65535,hA=CA>>>16,fA=EA&65535,NA=EA>>>16,EA=F[4],CA=H[4],pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,F[4]=$=fA&65535|NA<<16,H[4]=We=pA&65535|hA<<16,EA=xe,CA=et,pA=CA&65535,hA=CA>>>16,fA=EA&65535,NA=EA>>>16,EA=F[5],CA=H[5],pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,F[5]=xe=fA&65535|NA<<16,H[5]=et=pA&65535|hA<<16,EA=Se,CA=it,pA=CA&65535,hA=CA>>>16,fA=EA&65535,NA=EA>>>16,EA=F[6],CA=H[6],pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,F[6]=Se=fA&65535|NA<<16,H[6]=it=pA&65535|hA<<16,EA=Me,CA=st,pA=CA&65535,hA=CA>>>16,fA=EA&65535,NA=EA>>>16,EA=F[7],CA=H[7],pA+=CA&65535,hA+=CA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,F[7]=Me=fA&65535|NA<<16,H[7]=st=pA&65535|hA<<16,Et+=128,m-=128}return m}function He(F,H,P){var m=new Int32Array(8),z=new Int32Array(8),sA=new Uint8Array(256),oA,uA=P;for(m[0]=1779033703,m[1]=3144134277,m[2]=1013904242,m[3]=2773480762,m[4]=1359893119,m[5]=2600822924,m[6]=528734635,m[7]=1541459225,z[0]=4089235720,z[1]=2227873595,z[2]=4271175723,z[3]=1595750129,z[4]=2917565137,z[5]=725511199,z[6]=4215389547,z[7]=327033209,me(m,z,H,P),P%=128,oA=0;oA<P;oA++)sA[oA]=H[uA-P+oA];for(sA[P]=128,P=256-128*(P<112?1:0),sA[P-9]=0,u(sA,P-8,uA/536870912|0,uA<<3),me(m,z,sA,P),oA=0;oA<8;oA++)u(F,8*oA,m[oA],z[oA]);return 0}function we(F,H){var P=t(),m=t(),z=t(),sA=t(),oA=t(),uA=t(),DA=t(),bA=t(),xA=t();S(P,F[1],F[0]),S(xA,H[1],H[0]),U(P,P,xA),h(m,F[0],F[1]),h(xA,H[0],H[1]),U(m,m,xA),U(z,F[3],H[3]),U(z,z,Q),U(sA,F[2],H[2]),h(sA,sA,sA),S(oA,m,P),S(uA,sA,z),h(DA,sA,z),h(bA,m,P),U(F[0],oA,uA),U(F[1],bA,DA),U(F[2],DA,uA),U(F[3],oA,bA)}function Re(F,H,P){var m;for(m=0;m<4;m++)J(F[m],H[m],P)}function nt(F,H){var P=t(),m=t(),z=t();tA(z,H[2]),U(P,H[0],z),U(m,H[1],z),Y(F,m),F[31]^=b(P)<<7}function Ke(F,H,P){var m,z;for(N(F[0],i),N(F[1],a),N(F[2],a),N(F[3],i),z=255;z>=0;--z)m=P[z/8|0]>>(z&7)&1,Re(F,H,m),we(H,F),we(F,F),Re(F,H,m)}function yA(F,H){var P=[t(),t(),t(),t()];N(P[0],I),N(P[1],C),N(P[2],a),U(P[3],I,C),Ke(F,P,H)}function de(F,H,P){var m=new Uint8Array(64),z=[t(),t(),t(),t()],sA;for(P||s(H,32),He(m,H,32),m[0]&=248,m[31]&=127,m[31]|=64,yA(z,m),nt(F,z),sA=0;sA<32;sA++)H[sA+32]=F[sA];return 0}var HA=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function q(F,H){var P,m,z,sA;for(m=63;m>=32;--m){for(P=0,z=m-32,sA=m-12;z<sA;++z)H[z]+=P-16*H[m]*HA[z-(m-32)],P=Math.floor((H[z]+128)/256),H[z]-=P*256;H[z]+=P,H[m]=0}for(P=0,z=0;z<32;z++)H[z]+=P-(H[31]>>4)*HA[z],P=H[z]>>8,H[z]&=255;for(z=0;z<32;z++)H[z]-=P*HA[z];for(m=0;m<32;m++)H[m+1]+=H[m]>>8,F[m]=H[m]&255}function y(F){var H=new Float64Array(64),P;for(P=0;P<64;P++)H[P]=F[P];for(P=0;P<64;P++)F[P]=0;q(F,H)}function M(F,H,P,m){var z=new Uint8Array(64),sA=new Uint8Array(64),oA=new Uint8Array(64),uA,DA,bA=new Float64Array(64),xA=[t(),t(),t(),t()];He(z,m,32),z[0]&=248,z[31]&=127,z[31]|=64;var Ee=P+64;for(uA=0;uA<P;uA++)F[64+uA]=H[uA];for(uA=0;uA<32;uA++)F[32+uA]=z[32+uA];for(He(oA,F.subarray(32),P+32),y(oA),yA(xA,oA),nt(F,xA),uA=32;uA<64;uA++)F[uA]=m[uA];for(He(sA,F,P+64),y(sA),uA=0;uA<64;uA++)bA[uA]=0;for(uA=0;uA<32;uA++)bA[uA]=oA[uA];for(uA=0;uA<32;uA++)for(DA=0;DA<32;DA++)bA[uA+DA]+=sA[uA]*z[DA];return q(F.subarray(32),bA),Ee}function Z(F,H){var P=t(),m=t(),z=t(),sA=t(),oA=t(),uA=t(),DA=t();return N(F[2],a),E(F[1],H),_(z,F[1]),U(sA,z,l),S(z,z,F[2]),h(sA,F[2],sA),_(oA,sA),_(uA,oA),U(DA,uA,oA),U(P,DA,z),U(P,P,sA),IA(P,P),U(P,P,z),U(P,P,sA),U(P,P,sA),U(F[0],P,sA),_(m,F[0]),U(m,m,sA),T(m,z)&&U(F[0],F[0],c),_(m,F[0]),U(m,m,sA),T(m,z)?-1:(b(F[0])===H[31]>>7&&S(F[0],i,F[0]),U(F[3],F[0],F[1]),0)}function AA(F,H,P,m){var z,sA=new Uint8Array(32),oA=new Uint8Array(64),uA=[t(),t(),t(),t()],DA=[t(),t(),t(),t()];if(P<64||Z(DA,m))return-1;for(z=0;z<P;z++)F[z]=H[z];for(z=0;z<32;z++)F[z+32]=m[z];if(He(oA,F,P),y(oA),Ke(uA,DA,oA),yA(DA,H.subarray(32)),we(uA,DA),nt(sA,uA),P-=64,k(H,0,sA,0)){for(z=0;z<P;z++)F[z]=0;return-1}for(z=0;z<P;z++)F[z]=H[z+64];return P}var nA=32,cA=24,zA=32,PA=16,ZA=32,Ge=32,WA=32,De=32,Wt=32,Le=cA,Pe=zA,Ro=PA,Qe=64,ve=32,zt=64,Oe=32,_e=64;e.lowlevel={crypto_core_hsalsa20:K,crypto_stream_xor:W,crypto_stream:R,crypto_stream_salsa20_xor:eA,crypto_stream_salsa20:X,crypto_onetimeauth:L,crypto_onetimeauth_verify:w,crypto_verify_16:f,crypto_verify_32:k,crypto_secretbox:B,crypto_secretbox_open:d,crypto_scalarmult:iA,crypto_scalarmult_base:GA,crypto_box_beforenm:BA,crypto_box_afternm:YA,crypto_box:Ce,crypto_box_open:kA,crypto_box_keypair:qA,crypto_hash:He,crypto_sign:M,crypto_sign_keypair:de,crypto_sign_open:AA,crypto_secretbox_KEYBYTES:nA,crypto_secretbox_NONCEBYTES:cA,crypto_secretbox_ZEROBYTES:zA,crypto_secretbox_BOXZEROBYTES:PA,crypto_scalarmult_BYTES:ZA,crypto_scalarmult_SCALARBYTES:Ge,crypto_box_PUBLICKEYBYTES:WA,crypto_box_SECRETKEYBYTES:De,crypto_box_BEFORENMBYTES:Wt,crypto_box_NONCEBYTES:Le,crypto_box_ZEROBYTES:Pe,crypto_box_BOXZEROBYTES:Ro,crypto_sign_BYTES:Qe,crypto_sign_PUBLICKEYBYTES:ve,crypto_sign_SECRETKEYBYTES:zt,crypto_sign_SEEDBYTES:Oe,crypto_hash_BYTES:_e,gf:t,D:l,L:HA,pack25519:Y,unpack25519:E,M:U,A:h,S:_,Z:S,pow2523:IA,add:we,set25519:N,modL:q,scalarmult:Ke,scalarbase:yA};function XA(F,H){if(F.length!==nA)throw new Error("bad key size");if(H.length!==cA)throw new Error("bad nonce size")}function ye(F,H){if(F.length!==WA)throw new Error("bad public key size");if(H.length!==De)throw new Error("bad secret key size")}function he(){for(var F=0;F<arguments.length;F++)if(!(arguments[F]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function Ko(F){for(var H=0;H<F.length;H++)F[H]=0}e.randomBytes=function(F){var H=new Uint8Array(F);return s(H,F),H},e.secretbox=function(F,H,P){he(F,H,P),XA(P,H);for(var m=new Uint8Array(zA+F.length),z=new Uint8Array(m.length),sA=0;sA<F.length;sA++)m[sA+zA]=F[sA];return B(z,m,m.length,H,P),z.subarray(PA)},e.secretbox.open=function(F,H,P){he(F,H,P),XA(P,H);for(var m=new Uint8Array(PA+F.length),z=new Uint8Array(m.length),sA=0;sA<F.length;sA++)m[sA+PA]=F[sA];return m.length<32||d(z,m,m.length,H,P)!==0?null:z.subarray(zA)},e.secretbox.keyLength=nA,e.secretbox.nonceLength=cA,e.secretbox.overheadLength=PA,e.scalarMult=function(F,H){if(he(F,H),F.length!==Ge)throw new Error("bad n size");if(H.length!==ZA)throw new Error("bad p size");var P=new Uint8Array(ZA);return iA(P,F,H),P},e.scalarMult.base=function(F){if(he(F),F.length!==Ge)throw new Error("bad n size");var H=new Uint8Array(ZA);return GA(H,F),H},e.scalarMult.scalarLength=Ge,e.scalarMult.groupElementLength=ZA,e.box=function(F,H,P,m){var z=e.box.before(P,m);return e.secretbox(F,H,z)},e.box.before=function(F,H){he(F,H),ye(F,H);var P=new Uint8Array(Wt);return BA(P,F,H),P},e.box.after=e.secretbox,e.box.open=function(F,H,P,m){var z=e.box.before(P,m);return e.secretbox.open(F,H,z)},e.box.open.after=e.secretbox.open,e.box.keyPair=function(){var F=new Uint8Array(WA),H=new Uint8Array(De);return qA(F,H),{publicKey:F,secretKey:H}},e.box.keyPair.fromSecretKey=function(F){if(he(F),F.length!==De)throw new Error("bad secret key size");var H=new Uint8Array(WA);return GA(H,F),{publicKey:H,secretKey:new Uint8Array(F)}},e.box.publicKeyLength=WA,e.box.secretKeyLength=De,e.box.sharedKeyLength=Wt,e.box.nonceLength=Le,e.box.overheadLength=e.secretbox.overheadLength,e.sign=function(F,H){if(he(F,H),H.length!==zt)throw new Error("bad secret key size");var P=new Uint8Array(Qe+F.length);return M(P,F,F.length,H),P},e.sign.open=function(F,H){if(he(F,H),H.length!==ve)throw new Error("bad public key size");var P=new Uint8Array(F.length),m=AA(P,F,F.length,H);if(m<0)return null;for(var z=new Uint8Array(m),sA=0;sA<z.length;sA++)z[sA]=P[sA];return z},e.sign.detached=function(F,H){for(var P=e.sign(F,H),m=new Uint8Array(Qe),z=0;z<m.length;z++)m[z]=P[z];return m},e.sign.detached.verify=function(F,H,P){if(he(F,H,P),H.length!==Qe)throw new Error("bad signature size");if(P.length!==ve)throw new Error("bad public key size");var m=new Uint8Array(Qe+F.length),z=new Uint8Array(Qe+F.length),sA;for(sA=0;sA<Qe;sA++)m[sA]=H[sA];for(sA=0;sA<F.length;sA++)m[sA+Qe]=F[sA];return AA(z,m,m.length,P)>=0},e.sign.keyPair=function(){var F=new Uint8Array(ve),H=new Uint8Array(zt);return de(F,H),{publicKey:F,secretKey:H}},e.sign.keyPair.fromSecretKey=function(F){if(he(F),F.length!==zt)throw new Error("bad secret key size");for(var H=new Uint8Array(ve),P=0;P<H.length;P++)H[P]=F[32+P];return{publicKey:H,secretKey:new Uint8Array(F)}},e.sign.keyPair.fromSeed=function(F){if(he(F),F.length!==Oe)throw new Error("bad seed size");for(var H=new Uint8Array(ve),P=new Uint8Array(zt),m=0;m<32;m++)P[m]=F[m];return de(H,P,!0),{publicKey:H,secretKey:P}},e.sign.publicKeyLength=ve,e.sign.secretKeyLength=zt,e.sign.seedLength=Oe,e.sign.signatureLength=Qe,e.hash=function(F){he(F);var H=new Uint8Array(_e);return He(H,F,F.length),H},e.hash.hashLength=_e,e.verify=function(F,H){return he(F,H),F.length===0||H.length===0||F.length!==H.length?!1:p(F,0,H,0,F.length)===0},e.setPRNG=function(F){s=F},(function(){var F=typeof self<"u"?self.crypto||self.msCrypto:null;if(F&&F.getRandomValues){var H=65536;e.setPRNG(function(P,m){var z,sA=new Uint8Array(m);for(z=0;z<m;z+=H)F.getRandomValues(sA.subarray(z,z+Math.min(m-z,H)));for(z=0;z<m;z++)P[z]=sA[z];Ko(sA)})}else typeof WD<"u"&&(F=vc,F&&F.randomBytes&&e.setPRNG(function(P,m){var z,sA=F.randomBytes(m);for(z=0;z<m;z++)P[z]=sA[z];Ko(sA)}))})()})(A.exports?A.exports:self.nacl=self.nacl||{})})(Li)),Li.exports}zD();const VD={models:[{id:"claude-3-5-haiku-20241022",name:"Claude Haiku 3.5",owned_by:"anthropic",context_length:2e5,max_output:8192,reasoning:!1,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2024-07-31",release_date:"2024-10-22",last_updated:"2024-10-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:.8039999999999999,output:4.02,cache_read:.0804,cache_write:1.005}},{id:"claude-3-5-haiku-latest",name:"Claude Haiku 3.5 (latest)",owned_by:"anthropic",context_length:2e5,max_output:8192,reasoning:!1,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2024-07-31",release_date:"2024-10-22",last_updated:"2024-10-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:.8039999999999999,output:4.02,cache_read:.0804,cache_write:1.005}},{id:"claude-3-5-sonnet-20240620",name:"Claude Sonnet 3.5",owned_by:"anthropic",context_length:2e5,max_output:8192,reasoning:!1,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2024-04-30",release_date:"2024-06-20",last_updated:"2024-06-20",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-3-5-sonnet-20241022",name:"Claude Sonnet 3.5 v2",owned_by:"anthropic",context_length:2e5,max_output:8192,reasoning:!1,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2024-04-30",release_date:"2024-10-22",last_updated:"2024-10-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (latest)",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:1.005,output:5.0249999999999995,cache_read:.10049999999999999,cache_write:1.2562499999999999}},{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-02-28",release_date:"2025-10-15",last_updated:"2025-10-15",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:1.005,output:5.0249999999999995,cache_read:.10049999999999999,cache_write:1.2562499999999999}},{id:"claude-opus-4-0",name:"Claude Opus 4 (latest)",owned_by:"anthropic",context_length:2e5,max_output:32e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:15.075,output:75.37499999999999,cache_read:1.5074999999999998,cache_write:18.843749999999996}},{id:"claude-opus-4-1",name:"Claude Opus 4.1 (latest)",owned_by:"anthropic",context_length:2e5,max_output:32e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:15.075,output:75.37499999999999,cache_read:1.5074999999999998,cache_write:18.843749999999996}},{id:"claude-opus-4-1-20250805",name:"Claude Opus 4.1",owned_by:"anthropic",context_length:2e5,max_output:32e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-08-05",last_updated:"2025-08-05",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:15.075,output:75.37499999999999,cache_read:1.5074999999999998,cache_write:18.843749999999996}},{id:"claude-opus-4-20250514",name:"Claude Opus 4",owned_by:"anthropic",context_length:2e5,max_output:32e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:15.075,output:75.37499999999999,cache_read:1.5074999999999998,cache_write:18.843749999999996}},{id:"claude-opus-4-5",name:"Claude Opus 4.5 (latest)",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-11-24",last_updated:"2025-11-24",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:5.0249999999999995,output:25.124999999999996,cache_read:.5025,cache_write:6.281249999999999}},{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-11-01",last_updated:"2025-11-01",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:5.0249999999999995,output:25.124999999999996,cache_read:.5025,cache_write:6.281249999999999}},{id:"claude-opus-4-6",name:"Claude Opus 4.6",owned_by:"anthropic",context_length:1e6,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-05-31",release_date:"2026-02-05",last_updated:"2026-03-13",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:5.0249999999999995,output:25.124999999999996,cache_read:.5025,cache_write:6.281249999999999}},{id:"claude-opus-4-7",name:"Claude Opus 4.7",owned_by:"anthropic",context_length:1e6,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2026-01-31",release_date:"2026-04-16",last_updated:"2026-04-16",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:5.0249999999999995,output:25.124999999999996,cache_read:.5025,cache_write:6.281249999999999}},{id:"claude-sonnet-4-0",name:"Claude Sonnet 4 (latest)",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-03-31",release_date:"2025-05-22",last_updated:"2025-05-22",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (latest)",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",owned_by:"anthropic",context_length:2e5,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-07-31",release_date:"2025-09-29",last_updated:"2025-09-29",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",owned_by:"anthropic",context_length:1e6,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",release_date:"2026-02-17",last_updated:"2026-03-13",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:3.0149999999999997,output:15.075,cache_read:.30149999999999993,cache_write:3.76875}},{id:"deepseek-chat",name:"DeepSeek Chat",owned_by:"deepseek",context_length:131072,max_output:8192,reasoning:!1,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-09",release_date:"2025-12-01",last_updated:"2026-02-28",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.2814,output:.4220999999999999,cache_read:.02814}},{id:"deepseek-reasoner",name:"DeepSeek Reasoner",owned_by:"deepseek",context_length:128e3,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-09",release_date:"2025-12-01",last_updated:"2026-02-28",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.2814,output:.4220999999999999,cache_read:.02814}},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",owned_by:"deepseek",context_length:1e6,max_output:384e3,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2025-05",release_date:"2026-04-24",last_updated:"2026-04-24",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.1407,output:.2814,cache_read:.02814}},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",owned_by:"deepseek",context_length:1e6,max_output:384e3,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2025-05",release_date:"2026-04-24",last_updated:"2026-04-24",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:1.7486999999999997,output:3.4973999999999994,cache_read:.14572499999999997}},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",owned_by:"google",context_length:1048576,max_output:65536,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2025-12-17",last_updated:"2025-12-17",open_weights:!1,modalities:{input:["text","image","video","audio","pdf"],output:["text"]},pricing:{input:.5025,output:3.0149999999999997,cache_read:.050249999999999996}},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",owned_by:"google",context_length:1e6,max_output:64e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2025-11-18",last_updated:"2025-11-18",open_weights:!1,modalities:{input:["text","image","video","audio","pdf"],output:["text"]},pricing:{input:2.01,output:12.059999999999999,cache_read:.20099999999999998}},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image (Preview)",owned_by:"google",context_length:131072,max_output:32768,reasoning:!0,tool_call:!1,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2026-02-26",last_updated:"2026-02-26",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text","image"]},pricing:{input:.25125,output:60.3}},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",owned_by:"google",context_length:1048576,max_output:65536,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2026-03-03",last_updated:"2026-03-03",open_weights:!1,modalities:{input:["text","image","video","audio","pdf"],output:["text"]},pricing:{input:.25125,output:1.5074999999999998,cache_read:.025124999999999998,cache_write:1.005}},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",owned_by:"google",context_length:1048576,max_output:65536,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2026-02-19",last_updated:"2026-02-19",open_weights:!1,modalities:{input:["text","image","video","audio","pdf"],output:["text"]},pricing:{input:2.01,output:12.059999999999999,cache_read:.20099999999999998}},{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",owned_by:"google",context_length:1048576,max_output:65536,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2026-02-19",last_updated:"2026-02-19",open_weights:!1,modalities:{input:["text","image","video","audio","pdf"],output:["text"]},pricing:{input:2.01,output:12.059999999999999,cache_read:.20099999999999998}},{id:"MiniMax-M2.1",name:"MiniMax-M2.1",owned_by:"minimax",context_length:204800,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,release_date:"2025-12-23",last_updated:"2025-12-23",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.30149999999999993,output:1.2059999999999997}},{id:"MiniMax-M2.5",name:"MiniMax-M2.5",owned_by:"minimax",context_length:204800,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,release_date:"2026-02-12",last_updated:"2026-02-12",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.30149999999999993,output:1.2059999999999997,cache_read:.030149999999999996,cache_write:.37687499999999996}},{id:"MiniMax-M2.7",name:"MiniMax-M2.7",owned_by:"minimax",context_length:204800,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,release_date:"2026-03-18",last_updated:"2026-03-18",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.30149999999999993,output:1.2059999999999997,cache_read:.06029999999999999,cache_write:.37687499999999996}},{id:"kimi-k2-0711-preview",name:"Kimi K2 0711",owned_by:"moonshot",context_length:131072,max_output:16384,reasoning:!1,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2024-10",release_date:"2025-07-14",last_updated:"2025-07-14",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.6029999999999999,output:2.5124999999999997,cache_read:.15074999999999997}},{id:"kimi-k2-0905-preview",name:"Kimi K2 0905",owned_by:"moonshot",context_length:262144,max_output:262144,reasoning:!1,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.6029999999999999,output:2.5124999999999997,cache_read:.15074999999999997}},{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",owned_by:"moonshot",context_length:262144,max_output:262144,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-11-06",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.6029999999999999,output:2.5124999999999997,cache_read:.15074999999999997}},{id:"kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",owned_by:"moonshot",context_length:262144,max_output:262144,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2024-08",release_date:"2025-11-06",last_updated:"2025-11-06",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:1.1557499999999998,output:8.04,cache_read:.15074999999999997}},{id:"kimi-k2-turbo-preview",name:"Kimi K2 Turbo",owned_by:"moonshot",context_length:262144,max_output:262144,reasoning:!1,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2024-10",release_date:"2025-09-05",last_updated:"2025-09-05",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:2.4119999999999995,output:10.049999999999999,cache_read:.6029999999999999}},{id:"kimi-k2.5",name:"Kimi K2.5",owned_by:"moonshot",context_length:262144,max_output:262144,reasoning:!0,tool_call:!0,attachment:!1,temperature:!1,knowledge:"2025-01",release_date:"2026-01",last_updated:"2026-01",open_weights:!0,modalities:{input:["text","image","video"],output:["text"]},pricing:{input:.6029999999999999,output:3.0149999999999997,cache_read:.10049999999999999,cache_write:.6029999999999999}},{id:"kimi-k2.6",name:"Kimi K2.6",owned_by:"moonshot",context_length:262144,max_output:262144,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-01",release_date:"2026-04-21",last_updated:"2026-04-21",open_weights:!0,modalities:{input:["text","image","video"],output:["text"]},pricing:{input:.9547499999999999,output:4.02,cache_read:.1608}},{id:"gpt-5",name:"GPT-5",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-08-07",last_updated:"2025-08-07",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.125625}},{id:"gpt-5-chat-latest",name:"GPT-5 Chat (latest)",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!1,attachment:!0,temperature:!0,knowledge:"2024-09-30",release_date:"2025-08-07",last_updated:"2025-08-07",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999}},{id:"gpt-5-codex",name:"GPT-5-Codex",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!1,temperature:!1,knowledge:"2024-09-30",release_date:"2025-09-15",last_updated:"2025-09-15",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.125625}},{id:"gpt-5-mini",name:"GPT-5 Mini",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:.25125,output:2.01,cache_read:.025124999999999998}},{id:"gpt-5-nano",name:"GPT-5 Nano",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-05-30",release_date:"2025-08-07",last_updated:"2025-08-07",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:.050249999999999996,output:.40199999999999997,cache_read:.005025}},{id:"gpt-5-pro",name:"GPT-5 Pro",owned_by:"openai",context_length:4e5,max_output:272e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-10-06",last_updated:"2025-10-06",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:15.075,output:120.6}},{id:"gpt-5.1",name:"GPT-5.1",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.13065}},{id:"gpt-5.1-chat-latest",name:"GPT-5.1 Chat",owned_by:"openai",context_length:128e3,max_output:16384,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.125625}},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.125625}},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.2562499999999999,output:10.049999999999999,cache_read:.125625}},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2024-09-30",release_date:"2025-11-13",last_updated:"2025-11-13",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:.25125,output:2.01,cache_read:.025124999999999998}},{id:"gpt-5.2",name:"GPT-5.2",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.7587499999999998,output:14.069999999999999,cache_read:.17587499999999998}},{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat",owned_by:"openai",context_length:128e3,max_output:16384,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.7587499999999998,output:14.069999999999999,cache_read:.17587499999999998}},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:1.7587499999999998,output:14.069999999999999,cache_read:.17587499999999998}},{id:"gpt-5.2-pro",name:"GPT-5.2 Pro",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2025-12-11",last_updated:"2025-12-11",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:21.104999999999997,output:168.83999999999997}},{id:"gpt-5.3-chat-latest",name:"GPT-5.3 Chat (latest)",owned_by:"openai",context_length:128e3,max_output:16384,reasoning:!1,tool_call:!0,attachment:!0,temperature:!0,knowledge:"2025-08-31",release_date:"2026-03-03",last_updated:"2026-03-03",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:1.7587499999999998,output:14.069999999999999,cache_read:.17587499999999998}},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-02-05",last_updated:"2026-02-05",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:1.7587499999999998,output:14.069999999999999,cache_read:.17587499999999998}},{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",owned_by:"openai",context_length:128e3,max_output:32e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-02-05",last_updated:"2026-02-05",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:1.7587499999999998,output:14.069999999999999,cache_read:.17587499999999998}},{id:"gpt-5.4",name:"GPT-5.4",owned_by:"openai",context_length:105e4,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-03-05",last_updated:"2026-03-05",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:2.5124999999999997,output:15.075,cache_read:.25125}},{id:"gpt-5.4-mini",name:"GPT-5.4 mini",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-03-17",last_updated:"2026-03-17",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:.7537499999999999,output:4.522499999999999,cache_read:.07537499999999998}},{id:"gpt-5.4-nano",name:"GPT-5.4 nano",owned_by:"openai",context_length:4e5,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-03-17",last_updated:"2026-03-17",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:.20099999999999998,output:1.2562499999999999,cache_read:.0201}},{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",owned_by:"openai",context_length:105e4,max_output:128e3,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-08-31",release_date:"2026-03-05",last_updated:"2026-03-05",open_weights:!1,modalities:{input:["text","image"],output:["text"]},pricing:{input:30.15,output:180.89999999999998}},{id:"gpt-5.5",name:"GPT-5.5",owned_by:"openai",context_length:105e4,max_output:13e4,reasoning:!0,tool_call:!0,attachment:!0,temperature:!1,knowledge:"2025-12-01",release_date:"2026-04-23",last_updated:"2026-04-23",open_weights:!1,modalities:{input:["text","image","pdf"],output:["text"]},pricing:{input:5.0249999999999995,output:30.15,cache_read:.5025}},{id:"glm-4.7",name:"GLM-4.7",owned_by:"zai",context_length:204800,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2025-04",release_date:"2025-12-22",last_updated:"2025-12-22",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.6029999999999999,output:2.211,cache_read:.11055}},{id:"glm-4.7-flash",name:"GLM-4.7-Flash",owned_by:"zai",context_length:2e5,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2025-04",release_date:"2026-01-19",last_updated:"2026-01-19",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:0,output:0}},{id:"glm-4.7-flashx",name:"GLM-4.7-FlashX",owned_by:"zai",context_length:2e5,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,knowledge:"2025-04",release_date:"2026-01-19",last_updated:"2026-01-19",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:.07035,output:.40199999999999997,cache_read:.01005}},{id:"glm-5",name:"GLM-5",owned_by:"zai",context_length:204800,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,release_date:"2026-02-11",last_updated:"2026-02-11",open_weights:!0,modalities:{input:["text"],output:["text"]},pricing:{input:1.005,output:3.2159999999999997,cache_read:.20099999999999998}},{id:"glm-5-turbo",name:"GLM-5-Turbo",owned_by:"zai",context_length:2e5,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,release_date:"2026-03-16",last_updated:"2026-03-16",open_weights:!1,modalities:{input:["text"],output:["text"]},pricing:{input:1.2059999999999997,output:4.02,cache_read:.24119999999999997}},{id:"glm-5.1",name:"GLM-5.1",owned_by:"zai",context_length:2e5,max_output:131072,reasoning:!0,tool_call:!0,attachment:!1,temperature:!0,release_date:"2026-03-27",last_updated:"2026-03-27",open_weights:!1,modalities:{input:["text"],output:["text"]},pricing:{input:1.4069999999999998,output:4.422,cache_read:.2613}},{id:"glm-5v-turbo",name:"glm-5v-turbo",owned_by:"zai",context_length:2e5,max_output:131072,reasoning:!0,tool_call:!0,attachment:!0,temperature:!0,release_date:"2026-04-01",last_updated:"2026-04-01",open_weights:!1,modalities:{input:["text","image","video","pdf"],output:["text"]},pricing:{input:1.2059999999999997,output:4.02,cache_read:.24119999999999997}}]},ma="ollama-cloud",lE="ottorouter",ZD={openai:"@ai-sdk/openai",anthropic:"@ai-sdk/anthropic",google:"@ai-sdk/google",openrouter:"@openrouter/ai-sdk-provider",xai:"@ai-sdk/xai",moonshot:"@ai-sdk/openai-compatible",zai:"@ai-sdk/openai-compatible",minimax:"@ai-sdk/anthropic"};function _D(A){const e=A.owned_by;return{id:A.id,ownedBy:e,label:A.name,modalities:A.modalities,toolCall:A.tool_call,reasoningText:A.reasoning,attachment:A.attachment,temperature:A.temperature,knowledge:A.knowledge,releaseDate:A.release_date,lastUpdated:A.last_updated,openWeights:A.open_weights,cost:{input:A.pricing.input,output:A.pricing.output,cacheRead:A.pricing.cache_read,cacheWrite:A.pricing.cache_write},limit:{context:A.context_length,output:A.max_output},provider:{npm:ZD[e]}}}function XD(){const A=VD.models.map(_D);if(!A.length)return null;A.sort((s,n)=>{const r=s.ownedBy??"",i=n.ownedBy??"";return r===i?s.id.localeCompare(n.id):r==="openai"?-1:i==="openai"?1:r.localeCompare(i)});const e="gpt-5-codex",t=A.findIndex(s=>s.id===e);if(t>0){const[s]=A.splice(t,1);A.unshift(s)}return{id:lE,label:"OttoRouter",env:["OTTOROUTER_PRIVATE_KEY"],api:"https://api.ottorouter.org/v1",doc:"https://ottorouter.org/docs",models:A}}function $D(){return{id:ma,label:"Ollama Cloud",env:["OLLAMA_API_KEY"],npm:"ai-sdk-ollama",api:"https://ollama.com",doc:"https://docs.ollama.com/cloud",models:[]}}function A2(A){const e=A[ma]??$D(),t=XD(),s={...A};return s[ma]=e,t&&(s[lE]=t),s}const Dg=A2(vm),e2={openai:[{match:A=>A.includes("gpt-4o-mini"),inputPerMillion:.15,outputPerMillion:.6},{match:A=>A.includes("gpt-4o"),inputPerMillion:5,outputPerMillion:15},{match:A=>A.includes("gpt-4.1-mini"),inputPerMillion:1,outputPerMillion:4},{match:A=>A.includes("gpt-4.1"),inputPerMillion:5,outputPerMillion:15}],anthropic:[{match:A=>A.includes("claude-3-haiku"),inputPerMillion:.25,outputPerMillion:1.25},{match:A=>A.includes("claude-3-sonnet"),inputPerMillion:3,outputPerMillion:15},{match:A=>A.includes("claude-3-opus"),inputPerMillion:15,outputPerMillion:75}],google:[{match:A=>A.includes("gemini-1.5-flash"),inputPerMillion:.35,outputPerMillion:1.05},{match:A=>A.includes("gemini-1.5-pro"),inputPerMillion:3.5,outputPerMillion:10.5}],"ollama-cloud":[],openrouter:[],opencode:[],ottorouter:[],zai:[],"zai-coding":[],moonshot:[],minimax:[],copilot:[]};function t2(A,e){const t=e2[A];if(t)return t.find(s=>{try{return s.match(e)}catch{return!1}})}function o2(A,e){const t=Dg[A];if(!t)return;const s=e.toLowerCase();return t.models.find(n=>n.id?.toLowerCase()===s)}function QE(A,e,t){const s=typeof t.inputTokens=="number"?t.inputTokens:0,n=typeof t.outputTokens=="number"?t.outputTokens:0,r=typeof t.cachedInputTokens=="number"?t.cachedInputTokens:0,i=typeof t.cacheCreationInputTokens=="number"?t.cacheCreationInputTokens:0;if(!s&&!n&&!r&&!i)return;const a=o2(A,e);if(a?.cost?.input!=null||a?.cost?.output!=null){const c=typeof a.cost?.input=="number"?a.cost.input:0,u=typeof a.cost?.output=="number"?a.cost.output:0,p=typeof a.cost?.cacheRead=="number"?a.cost.cacheRead:0,f=typeof a.cost?.cacheWrite=="number"?a.cost.cacheWrite:0,v=Math.max(0,s-r-i)*c/1e6,D=n*u/1e6,j=r*p/1e6,K=i*f/1e6,V=v+D+j+K;return Number.isFinite(V)?Number(V.toFixed(6)):void 0}const g=t2(A,e.toLowerCase());if(!g)return;const Q=Math.max(0,s-r-i)*g.inputPerMillion/1e6,I=n*g.outputPerMillion/1e6,C=Q+I;return Number.isFinite(C)?Number(C.toFixed(6)):void 0}var wa={};function yg(...A){return A.filter(Boolean).map(e=>e.replace(/\\/g,"/")).join("/").replace(/\/+\/+/g,"/")}function s2(){return(wa.HOME||wa.USERPROFILE||"").replace(/\\/g,"/")}function r2(){const A=wa.XDG_CONFIG_HOME;return A?.trim()?A.replace(/\\/g,"/"):yg(s2(),".config")}function n2(){return yg(r2(),"otto")}const i2="catalog-models.json";function a2(){return yg(n2(),i2)}function xr(A){return typeof A=="object"&&A!==null&&!Array.isArray(A)}function g2(A){try{return globalThis.process?.getBuiltinModule?.("node:fs")?.readFileSync(A,"utf8")??null}catch{return null}}function l2(A,e){if(!xr(e))return null;const t=Array.isArray(e.models)?e.models.filter(s=>xr(s)&&typeof s.id=="string"):[];return{id:typeof e.id=="string"?e.id:A,label:typeof e.label=="string"?e.label:void 0,models:t}}function Q2(A){if(!xr(A))return{};const e=xr(A.providers)?A.providers:A,t={};for(const[s,n]of Object.entries(e)){const r=l2(s,n);r&&(t[s]=r)}return t}function B2(A){return{version:1,updatedAt:xr(A)&&typeof A.updatedAt=="string"?A.updatedAt:new Date(0).toISOString(),providers:Q2(A)}}function c2(){try{const A=g2(a2());if(!A)return null;const e=JSON.parse(A);return B2(e)}catch{return null}}function E2(A){return c2()?.providers[A]}function BE(A,e){if(Dg[A])return C2(A).find(s=>s.id===e)}function C2(A){return E2(A)?.models??Dg[A]?.models??[]}function cE({sessionId:A,title:e,className:t=""}){const[s,n]=x.useState(!1),[r,i]=x.useState(e||""),a=x.useRef(null),{mutate:g}=og(A);x.useEffect(()=>{s&&a.current&&(a.current.focus(),a.current.select())},[s]),x.useEffect(()=>{i(e||"")},[e]);const l=x.useCallback(()=>{const I=r.trim();I&&I!==(e||"")&&g({title:I}),n(!1)},[r,e,g]),Q=x.useCallback(()=>{i(e||""),n(!1)},[e]);return s?o.jsx("input",{ref:a,type:"text",value:r,onChange:I=>i(I.target.value),onBlur:l,onKeyDown:I=>{I.key==="Enter"&&l(),I.key==="Escape"&&Q()},className:`w-full bg-muted/30 text-foreground rounded px-2 py-1 outline-none ring-1 ring-primary/50 focus:ring-primary ${t}`}):o.jsxs("button",{type:"button",onClick:()=>n(!0),className:`group flex items-center gap-2 hover:opacity-80 transition-opacity truncate text-left ${t}`,title:"Click to edit title",children:[o.jsx("span",{className:"truncate",children:e||"Untitled Session"}),o.jsx(In,{className:"h-3.5 w-3.5 opacity-0 group-hover:opacity-50 flex-shrink-0 transition-opacity"})]})}function I2({session:A,onNavigateToSession:e}){const{data:t}=oc(A.sessionType==="branch"?A.id:void 0),{preferences:s}=$s(),{data:n}=eg(A.id),r=x.useMemo(()=>{const k=A.totalInputTokens||0,v=A.totalOutputTokens||0,D=A.totalCachedTokens||0,j=A.totalCacheCreationTokens||0;return QE(A.provider,A.model,{inputTokens:k,outputTokens:v,cachedInputTokens:D,cacheCreationInputTokens:j})??0},[A.provider,A.model,A.totalInputTokens,A.totalOutputTokens,A.totalCachedTokens,A.totalCacheCreationTokens]),i=k=>{if(!k)return"0s";const v=Math.floor(k/1e3),D=Math.floor(v/60),j=Math.floor(D/60);return j>0?`${j}h ${D%60}m`:D>0?`${D}m ${v%60}s`:`${v}s`},a=k=>k.toLocaleString("en-US"),g=k=>k>=1e6?`${(k/1e6).toFixed(1)}M`:k>=1e3?`${(k/1e3).toFixed(1)}K`:k.toString(),l=A.currentContextTokens||0,Q=A.totalOutputTokens||0,I=A.sessionType==="branch",C=t?.parent,c=x.useMemo(()=>BE(A.provider,A.model)?.limit?.context,[A.provider,A.model]),u=c?l/c*100:0,p=()=>u>=90?"text-red-600 dark:text-red-400":u>=70?"text-amber-600 dark:text-amber-400":"text-foreground",f=s.fullWidthContent?"w-full px-6 py-6":"max-w-3xl mx-auto px-6 py-6";return o.jsx("div",{className:"border-b border-border bg-background/95 backdrop-blur-sm",children:o.jsxs("div",{className:f,children:[I&&o.jsxs("div",{className:"flex items-center gap-2 mb-3 text-sm",children:[o.jsx(ao,{className:"h-4 w-4 text-violet-500"}),o.jsx("span",{className:"text-violet-600 dark:text-violet-400 font-medium",children:"Branch"}),C&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground",children:"from"}),o.jsxs("button",{type:"button",onClick:()=>e?.(C.id),className:"text-primary hover:underline flex items-center gap-1",children:[C.title||`Session ${C.id.slice(0,8)}`,o.jsx(OQ,{className:"h-3 w-3"})]})]}),!C&&A.parentSessionId&&o.jsx("span",{className:"text-muted-foreground italic text-xs",children:"(parent deleted)"})]}),o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx(cE,{sessionId:A.id,title:A.title,className:"text-2xl font-semibold text-foreground leading-tight"}),n?.shared&&o.jsxs("button",{type:"button",onClick:()=>ho(n.url),className:"flex items-center gap-1.5 px-2 py-1 rounded-md bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 hover:bg-emerald-500/20 transition-colors text-xs font-medium flex-shrink-0",children:[o.jsx(Ra,{className:"h-3 w-3"}),o.jsx("span",{children:"Shared"}),n.pendingMessages&&n.pendingMessages>0?o.jsxs("span",{className:"flex items-center gap-0.5 text-amber-600 dark:text-amber-400",children:[o.jsx(Zt,{className:"h-2.5 w-2.5"}),n.pendingMessages]}):o.jsx(vt,{className:"h-2.5 w-2.5 opacity-60"})]})]}),o.jsxs("div",{className:"flex flex-wrap items-center gap-x-5 gap-y-2 mt-4 text-sm text-muted-foreground",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsxs("div",{className:"flex items-center gap-1.5",title:`Current context window: ${a(l)} tokens`,children:[o.jsx("span",{className:"text-xs opacity-70",children:"ctx"}),o.jsx("span",{className:`font-medium ${p()}`,children:g(l)})]}),o.jsxs("div",{className:"flex items-center gap-1.5",title:`Total output: ${a(Q)} tokens`,children:[o.jsx("span",{className:"text-xs opacity-70",children:"out"}),o.jsx("span",{className:"font-medium text-foreground",children:g(Q)})]})]}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(La,{className:"w-4 h-4"}),o.jsx("span",{className:"font-medium text-foreground",children:i(A.totalToolTimeMs)})]}),r>0&&o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx(qQ,{className:"w-4 h-4"}),o.jsx("span",{className:"font-medium text-foreground",children:r.toFixed(4)})]}),o.jsxs("div",{className:"flex items-center gap-2 ml-auto",children:[o.jsx($t,{provider:A.provider,size:18}),o.jsx("span",{className:"font-medium text-foreground",children:A.model})]})]})]})})}const Bo=ht(A=>({usage:{},isLoading:{},lastFetched:{},isModalOpen:!1,modalProvider:null,setUsage:(e,t)=>A(s=>({usage:{...s.usage,[e]:t}})),setLoading:(e,t)=>A(s=>({isLoading:{...s.isLoading,[e]:t}})),setLastFetched:(e,t)=>A(s=>({lastFetched:{...s.lastFetched,[e]:t}})),openModal:e=>A({isModalOpen:!0,modalProvider:e}),closeModal:()=>A({isModalOpen:!1,modalProvider:null})})),Qs=22,xa=2.5,Da=(Qs-xa)/2,Ji=2*Math.PI*Da;function u2(A){return A>=90?"#ef4444":A>=70?"#f59e0b":"#3b82f6"}const QQ=x.memo(function({usage:e,provider:t}){const s=Bo(a=>a.openModal),n=e.primaryWindow?.usedPercent??0,r=Ji-n/100*Ji,i=u2(n);return o.jsxs("button",{type:"button",onClick:()=>s(t),className:"relative flex items-center hover:opacity-80 transition-opacity cursor-pointer",title:`Usage: ${Math.round(n)}% (5h window) — Click for details`,children:[o.jsxs("svg",{width:Qs,height:Qs,className:"-rotate-90",role:"img","aria-label":"Usage ring",children:[o.jsx("circle",{cx:Qs/2,cy:Qs/2,r:Da,fill:"none",stroke:"hsl(var(--muted))",strokeWidth:xa}),o.jsx("circle",{cx:Qs/2,cy:Qs/2,r:Da,fill:"none",stroke:i,strokeWidth:xa,strokeDasharray:Ji,strokeDashoffset:r,strokeLinecap:"round",className:"transition-all duration-500"})]}),o.jsx("span",{className:"absolute inset-0 flex items-center justify-center rotate-0 font-medium text-muted-foreground",style:{fontSize:7},children:"5h"})]})});function d2(A){if(!A)return"Unknown";const e=Date.now(),s=new Date(A).getTime()-e;if(s<=0)return"Now";const n=Math.floor(s/864e5),r=Math.floor(s%864e5/36e5),i=Math.floor(s%36e5/6e4);return n>0?`${n}d ${r}h`:r>0?`${r}h ${i}m`:`${i}m`}function BQ(A){return A<=18e3?"5 Hour":A<=86400?"24 Hour":"7 Day"}function ji({label:A,window:e}){const t=Math.min(e.usedPercent,100),s=t>=90?"bg-red-500":t>=70?"bg-amber-500":"bg-blue-500";return o.jsxs("div",{className:"space-y-1.5",children:[o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:A}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsxs("span",{className:"font-medium text-foreground",children:[Math.round(t),"%"]}),e.resetsAt&&o.jsxs("span",{className:"text-xs text-muted-foreground",children:["resets in ",d2(e.resetsAt)]})]})]}),o.jsx("div",{className:"h-2 rounded-full bg-muted overflow-hidden",children:o.jsx("div",{className:`h-full rounded-full transition-all duration-500 ${s}`,style:{width:`${t}%`}})})]})}const h2=x.memo(function(){const e=Bo(i=>i.isModalOpen),t=Bo(i=>i.modalProvider),s=Bo(i=>i.closeModal),n=Bo(i=>t?i.usage[t]:void 0),r=x.useMemo(()=>o.jsxs("div",{className:"flex items-center gap-2",children:[t&&o.jsx($t,{provider:t,size:20}),o.jsx("span",{children:"Usage & Limits"})]}),[t]);return n?o.jsx(So,{isOpen:e,onClose:s,title:r,maxWidth:"sm",children:o.jsxs("div",{className:"space-y-5",children:[n.limitReached&&o.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-md bg-red-500/10 border border-red-500/20",children:[o.jsx("span",{className:"w-2 h-2 rounded-full bg-red-500 flex-shrink-0"}),o.jsx("span",{className:"text-sm text-red-600 dark:text-red-400 font-medium",children:"Rate limit reached"})]}),n.primaryWindow&&o.jsx(ji,{label:`${BQ(n.primaryWindow.windowSeconds)} Window`,window:n.primaryWindow}),n.secondaryWindow&&o.jsx(ji,{label:`${BQ(n.secondaryWindow.windowSeconds)} Window`,window:n.secondaryWindow}),n.sonnetWindow&&n.sonnetWindow.usedPercent>0&&o.jsx(ji,{label:"Sonnet (7 Day)",window:{usedPercent:n.sonnetWindow.usedPercent,windowSeconds:604800,resetsAt:n.sonnetWindow.resetsAt}}),n.extraUsage?.is_enabled&&o.jsx("div",{className:"pt-2 border-t border-border space-y-1",children:o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Extra Credits"}),o.jsxs("span",{className:"font-medium text-foreground",children:["$",n.extraUsage.used_credits.toFixed(2)," / $",n.extraUsage.monthly_limit]})]})}),n.credits?.has_credits&&o.jsx("div",{className:"pt-2 border-t border-border space-y-1",children:o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Credits"}),o.jsx("span",{className:"font-medium text-foreground",children:n.credits.balance!==null?`$${n.credits.balance.toFixed(2)}`:"Available"})]})}),n.planType&&o.jsx("div",{className:"pt-2 border-t border-border",children:o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Plan"}),o.jsx("span",{className:"font-medium text-foreground capitalize",children:n.planType})]})})]})}):null}),f2=6e4,p2=3e4,Ti=new Set;function m2(A,e){const t=Bo(l=>l.setUsage),s=Bo(l=>l.setLoading),n=Bo(l=>l.setLastFetched),r=Bo(l=>A?l.usage[A]:void 0),i=e==="oauth"&&(A==="anthropic"||A==="openai"),a=x.useCallback(async()=>{if(!A||!i||Ti.has(A))return;const l=Bo.getState().lastFetched[A]??0;if(!(l&&Date.now()-l<p2)){Ti.add(A),s(A,!0);try{const Q=await mA.getProviderUsage(A);t(A,Q),n(A,Date.now())}catch{}finally{s(A,!1),Ti.delete(A)}}},[A,i,t,s,n]),g=x.useRef(a);return g.current=a,x.useEffect(()=>{if(!A||!i)return;g.current();const l=setInterval(()=>g.current(),f2);return()=>clearInterval(l)},[i,A]),{usage:r,fetchUsage:a,isOAuthProvider:i}}function oi(A){const e=Ne(f=>f.setBalance),t=Ne(f=>f.setUsdcBalance),s=Ne(f=>f.setWalletAddress),n=Ne(f=>f.setLoading),r=Ne(f=>f.setScope),i=Ne(f=>f.setPayg),a=Ne(f=>f.setSubscription),g=Ne(f=>f.setLimits),l=Bo(f=>f.setUsage),Q=Ne(f=>f.balance),I=Ne(f=>f.usdcBalance),C=Ne(f=>f.subscription),c=Ne(f=>f.network),u=x.useCallback(async()=>{if(A==="ottorouter"){n(!0);try{const[f,k,v]=await Promise.all([mA.getOttoRouterBalance(),mA.getOttoRouterUsdcBalance(c),mA.getOttoRouterWallet()]);if(f){e(f.balance),s(f.walletAddress),r(f.scope??null),i(f.payg??null),a(f.subscription??null),g(f.limits??null);const D=f.subscription;D?.active&&D.usageWindows&&l("ottorouter",{provider:"ottorouter",primaryWindow:{usedPercent:D.usageWindows.fiveHour.percentUsed,windowSeconds:18e3,resetsAt:null},secondaryWindow:{usedPercent:D.usageWindows.weekly.percentUsed,windowSeconds:604800,resetsAt:null},limitReached:!1,planType:D.tierName??"GO"})}else v?.configured&&v.publicKey&&s(v.publicKey);k&&(t(k.usdcBalance),!f&&k.walletAddress&&s(k.walletAddress))}catch{}finally{n(!1)}}},[A,c,e,t,s,n,r,i,a,g,l]),p=C?.active&&!C.usageWindows;return x.useEffect(()=>{A==="ottorouter"&&(Q===null||I===null||p)&&u()},[A,Q,I,p,u]),{fetchBalance:u}}function w2({session:A,isVisible:e,isGenerating:t,onNavigateToSession:s}){const{data:n}=oc(A.sessionType==="branch"?A.id:void 0),{data:r}=eg(A.id),i=x.useMemo(()=>{const j=A.totalInputTokens||0,K=A.totalOutputTokens||0,V=A.totalCachedTokens||0,eA=A.totalCacheCreationTokens||0;return QE(A.provider,A.model,{inputTokens:j,outputTokens:K,cachedInputTokens:V,cacheCreationInputTokens:eA})??0},[A.provider,A.model,A.totalInputTokens,A.totalOutputTokens,A.totalCachedTokens,A.totalCacheCreationTokens]),a=j=>j>=1e6?`${(j/1e6).toFixed(1)}M`:j>=1e3?`${(j/1e3).toFixed(1)}K`:j.toString(),g=A.currentContextTokens||0,l=A.sessionType==="branch",Q=n?.parent,I=x.useMemo(()=>BE(A.provider,A.model)?.limit?.context,[A.provider,A.model]),C=I?g/I*100:0,c=()=>C>=90?"text-red-600 dark:text-red-400":C>=70?"text-amber-600 dark:text-amber-400":"text-foreground",{data:u}=Xs(),p=u?.[A.provider]?.authType,{usage:f,isOAuthProvider:k}=m2(A.provider,p),v=A.provider==="ottorouter";oi(v?"ottorouter":void 0);const D=Bo(j=>j.usage.ottorouter);return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:`absolute top-0 left-0 right-0 h-14 border-b border-border bg-background/40 backdrop-blur-xl supports-[backdrop-filter]:bg-background/20 z-10 transition-transform duration-200 ${e?"translate-y-0":"-translate-y-full"}`,children:o.jsxs("div",{className:"h-full px-6 flex items-center justify-between gap-4 text-sm",children:[o.jsxs("div",{className:"flex-1 min-w-0 flex items-center gap-2 text-muted-foreground",children:[l?o.jsx(ao,{className:"w-4 h-4 flex-shrink-0 text-violet-500"}):o.jsx(BC,{className:"w-4 h-4 flex-shrink-0"}),o.jsx(cE,{sessionId:A.id,title:A.title,className:"text-foreground font-medium text-sm"}),r?.shared&&o.jsxs("button",{type:"button",onClick:()=>ho(r.url),className:"flex items-center gap-1 px-1.5 py-0.5 rounded bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 hover:bg-emerald-500/20 transition-colors text-xs font-medium flex-shrink-0",children:[o.jsx(Ra,{className:"h-3 w-3"}),r.pendingMessages&&r.pendingMessages>0?o.jsxs("span",{className:"flex items-center gap-0.5 text-amber-600 dark:text-amber-400",children:[o.jsx(Zt,{className:"h-2.5 w-2.5"}),r.pendingMessages]}):o.jsx(vt,{className:"h-2.5 w-2.5 opacity-60"})]}),l&&Q&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground hidden sm:inline",children:"from"}),o.jsxs("button",{type:"button",onClick:()=>s?.(Q.id),className:"text-primary hover:underline flex items-center gap-0.5 truncate max-w-32",title:Q.title||`Session ${Q.id.slice(0,8)}`,children:[o.jsx("span",{className:"truncate",children:Q.title||`Session ${Q.id.slice(0,8)}`}),o.jsx(OQ,{className:"h-3 w-3 flex-shrink-0"})]})]})]}),o.jsxs("div",{className:"flex-shrink-0 flex items-center gap-5 text-muted-foreground",children:[t&&o.jsx(np,{sessionId:A.id}),k&&f&&o.jsx(QQ,{usage:f,provider:A.provider}),v&&D&&o.jsx(QQ,{usage:D,provider:"ottorouter"}),o.jsx("div",{className:"flex items-center gap-3",children:o.jsxs("div",{className:"flex items-center gap-1",title:`Current context window: ${g.toLocaleString()} tokens`,children:[o.jsx("span",{className:"text-xs opacity-70",children:"ctx"}),o.jsx("span",{className:`font-medium ${c()}`,children:a(g)})]})}),i>0&&o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx(qQ,{className:"w-4 h-4"}),o.jsx("span",{className:"text-foreground font-medium",children:i.toFixed(4)})]}),o.jsxs("div",{className:"hidden sm:flex items-center gap-2",children:[o.jsx($t,{provider:A.provider,size:16}),o.jsx("span",{className:"font-medium text-foreground",children:A.model})]})]})]})}),o.jsx(h2,{})]})}const x2=x.memo(function({pendingTopup:e,onMethodSelected:t,onCancel:s}){const[n,r]=x.useState(!1),[i,a]=x.useState(null),g=Ne(c=>c.openTopupModal),l=Ne(c=>!!c.subscription?.active),Q=async()=>{a("crypto"),r(!0);try{await mA.selectTopupMethod(e.sessionId,"crypto"),t("crypto")}catch(c){ue.error(c instanceof Error?c.message:"Failed to process payment"),r(!1),a(null)}},I=async()=>{a("fiat"),g(),mA.selectTopupMethod(e.sessionId,"fiat").catch(()=>{}),t("fiat")},C=async()=>{r(!0);try{await mA.cancelTopup(e.sessionId),s()}catch(c){ue.error(c instanceof Error?c.message:"Failed to cancel"),r(!1)}};return o.jsxs("div",{className:"flex flex-col gap-3 py-2",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(wo,{className:"h-4 w-4 text-amber-500 flex-shrink-0"}),o.jsx("span",{className:"font-medium text-foreground text-sm",children:"Insufficient Balance"}),o.jsx("span",{className:"text-amber-600 dark:text-amber-400 font-medium text-sm",children:"payment required"})]}),l&&o.jsx("p",{className:"ml-6 text-xs text-muted-foreground",children:"GO credits may not apply to this request. Add balance to continue."}),o.jsxs("div",{className:"ml-6 bg-muted/30 rounded-lg p-3 space-y-2 text-sm",children:[o.jsxs("div",{className:"flex justify-between",children:[o.jsx("span",{className:"text-muted-foreground",children:"Request cost"}),o.jsxs("span",{className:"font-mono",children:["~$",e.amountUsd.toFixed(4)]})]}),o.jsxs("div",{className:"flex justify-between",children:[o.jsx("span",{className:"text-muted-foreground",children:"Current balance"}),o.jsxs("span",{className:"font-mono",children:["$",e.currentBalance.toFixed(4)]})]})]}),o.jsxs("div",{className:"ml-6 flex flex-wrap items-center gap-2",children:[o.jsxs("button",{type:"button",onClick:C,disabled:n,title:"Cancel request",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-border bg-background hover:bg-muted transition-colors disabled:opacity-50",children:[o.jsx(ct,{className:"w-3 h-3"}),"Cancel"]}),o.jsxs("button",{type:"button",onClick:Q,disabled:n,title:"Pay with USDC from your wallet",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded bg-violet-600 text-white hover:bg-violet-700 transition-colors disabled:opacity-50",children:[i==="crypto"&&n?o.jsx(Je,{className:"w-3 h-3 animate-spin"}):o.jsx(Ja,{className:"w-3 h-3"}),"Pay with USDC"]}),o.jsxs("button",{type:"button",onClick:I,disabled:n,title:"Top up with card (min $5)",className:"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded border border-violet-500 text-violet-600 dark:text-violet-400 hover:bg-violet-500/10 transition-colors disabled:opacity-50",children:[i==="fiat"&&n?o.jsx(Je,{className:"w-3 h-3 animate-spin"}):o.jsx(Dr,{className:"w-3 h-3"}),"Top up with Card",o.jsx("span",{className:"text-[10px] opacity-70",children:"(min $5)"})]})]}),o.jsx("p",{className:"ml-6 text-xs text-muted-foreground",children:i==="crypto"?"Processing USDC payment from your wallet...":i==="fiat"?"Opening checkout...":"Select a payment method to continue your request."})]})}),Gn=ht(A=>({pendingTopup:null,isProcessing:!1,selectedMethod:null,setPendingTopup:e=>A({pendingTopup:e,isProcessing:!1,selectedMethod:null}),setProcessing:e=>A({isProcessing:e}),setSelectedMethod:e=>A({selectedMethod:e}),clearPendingTopup:()=>A({pendingTopup:null,isProcessing:!1,selectedMethod:null})})),D2=x.memo(function({messages:e,session:t,sessionId:s,isGenerating:n,compact:r=!1,disableAutoScroll:i=!1,onSelectSession:a}){const g=ke(),{preferences:l}=$s(),Q=x.useRef(null),I=x.useRef(null),C=x.useRef(null),[c,u]=x.useState(!0),p=x.useRef(!0),[f,k]=x.useState(!1),v=x.useRef(!1),D=x.useRef(void 0),j=x.useRef(0),K=x.useRef(void 0),V=x.useRef(!1),eA=x.useRef(t?.id),X=x.useRef(e.length),R=x.useRef(n),W=x.useRef(0),O=x.useRef(0),L=Gn(b=>b.pendingTopup),w=Gn(b=>b.clearPendingTopup),B=L&&L.sessionId===s,d=x.useCallback(()=>{const b=I.current;if(!b)return;const{scrollTop:E,scrollHeight:h,clientHeight:S}=b,U=h-E-S,_=h>W.current,tA=E<O.current-5;W.current=h,O.current=E,U<100?(p.current=!0,u(!0)):tA?(p.current=!1,u(!1),v.current=!0):!_&&p.current&&(p.current=!1,u(!1)),(tA||!p.current&&U>=100)&&(D.current&&clearTimeout(D.current),D.current=setTimeout(()=>{v.current=!1},150));const IA=C.current;if(IA){const iA=IA.getBoundingClientRect(),GA=b.getBoundingClientRect();k(iA.bottom<GA.top)}},[]);x.useEffect(()=>{if(i)return;const b=t?.id!==eA.current;if(eA.current=t?.id,b&&(V.current=!1),!V.current&&e.length>0){V.current=!0;const E=I.current;E&&(E.scrollTop=E.scrollHeight)}},[e.length,t?.id,i]),x.useEffect(()=>{if(i)return;const b=n&&!R.current,E=e.length>X.current;R.current=n,X.current=e.length,b?(v.current=!1,p.current=!0,u(!0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{const h=I.current;h&&(h.scrollTop=h.scrollHeight)})})):E&&!v.current&&!n&&(p.current=!0,u(!0))},[e.length,n,i]),x.useEffect(()=>{if(i)return;const b=I.current;if(!b||!c||v.current)return;j.current=b.scrollHeight-b.clientHeight;const E=()=>{const h=I.current;if(!h||v.current)return;const S=h.scrollTop,_=h.scrollHeight-h.clientHeight-S;if(Math.abs(_)<1){h.scrollTop=h.scrollHeight-h.clientHeight;return}if(Math.abs(_)<10){h.scrollTop=h.scrollHeight-h.clientHeight;return}h.scrollTop=S+_*.15,K.current=requestAnimationFrame(E)};K.current&&cancelAnimationFrame(K.current),K.current=requestAnimationFrame(E)},[e,c]),x.useEffect(()=>()=>{D.current&&clearTimeout(D.current),K.current&&cancelAnimationFrame(K.current)},[]);const N=()=>{v.current=!1,p.current=!0,u(!0);const b=I.current;b&&(b.scrollTop=b.scrollHeight)},G=x.useMemo(()=>e.filter(b=>b.role!=="system"),[e]),J=l.fullWidthContent?r?"w-full space-y-4":"w-full space-y-6":r?"max-w-3xl mx-auto space-y-4":"max-w-3xl mx-auto space-y-6",Y=x.useCallback(b=>async()=>{if(s&&b){g.setQueryData(["messages",s],E=>E&&E.map(h=>{if(h.id!==b)return h;const S=h.parts?.filter(U=>!(U.type==="error"||U.type==="tool_call"&&U.toolName==="finish"))??[];return{...h,status:"pending",parts:S,error:null}}));try{await mA.retryMessage(s,b)}catch(E){ue.error(E instanceof Error?E.message:"Failed to retry")}}},[s,g]),T=x.useCallback(async()=>{if(s)try{await mA.sendMessage(s,{content:"/compact"})}catch(b){ue.error(b instanceof Error?b.message:"Failed to compact")}},[s]);return e.length===0?o.jsx("div",{className:"flex-1 flex items-center justify-center text-muted-foreground text-sm",children:"No messages yet. Start a conversation below."}):o.jsxs("div",{className:"absolute inset-0 flex flex-col",children:[t&&o.jsx(w2,{session:t,isVisible:f,isGenerating:n,onNavigateToSession:a}),o.jsxs("div",{ref:I,className:"flex-1 overflow-y-auto",onScroll:d,children:[o.jsx("div",{ref:C,children:t&&o.jsx(I2,{session:t,onNavigateToSession:a})}),o.jsx("div",{className:r?"p-4 pb-56":"p-6 pb-64",children:o.jsxs("div",{className:J,children:[G.map((b,E)=>{const h=G[E-1],S=G[E+1],U=E===G.length-1;if(b.role==="user"){const _=S&&S.role==="assistant"?S:void 0;return o.jsx(rc,{sessionId:s,message:b,isFirst:E===0,nextAssistantMessageId:_?.id},b.id)}if(b.role==="assistant"){const _=!h||h.role!=="assistant",tA=S&&S.role==="assistant";return o.jsx(sc,{sessionId:s,message:b,showHeader:_,hasNextAssistantMessage:tA,isLastMessage:U,onBranchCreated:a,onRetry:U?Y(b.id):void 0,compact:r,onCompact:U?T:void 0},b.id)}return null}),B&&L&&o.jsx("div",{className:"py-4",children:o.jsx(x2,{pendingTopup:L,onMethodSelected:()=>w(),onCancel:()=>w()})}),o.jsx("div",{ref:Q})]})})]}),!c&&o.jsxs("button",{type:"button",onClick:N,className:"absolute bottom-36 left-1/2 -translate-x-1/2 flex items-center gap-2 px-4 py-2 bg-background border border-border rounded-full shadow-lg hover:bg-muted/50 transition-all text-sm text-foreground z-10",children:[o.jsx(cC,{className:"w-4 h-4"}),o.jsx("span",{children:"Scroll to bottom"})]})]})});class EE{abortController=null;handlers=new Map;running=!1;async connect(e){this.abortController&&this.abortController.abort(),this.abortController=new AbortController,this.running=!0;const t=!e.includes("localhost")&&!e.includes("127.0.0.1");try{const s=await fetch(e,{method:t?"POST":"GET",headers:{Accept:"text/event-stream"},signal:this.abortController.signal});if(!s.ok){console.error("[SSE] Connection failed:",s.status);return}const n=s.body?.getReader();if(!n){console.error("[SSE] No response body");return}const r=new TextDecoder;let i="";for(;this.running;){const{done:a,value:g}=await n.read();if(a)break;i+=r.decode(g,{stream:!0});let l=i.indexOf(`
|
|
114
|
-
|
|
115
|
-
`);for(;l!==-1;){const Q=i.slice(0,l);i=i.slice(l+2);const I=Q.split(`
|
|
116
|
-
`);let C="message",c="";for(const u of I)u.startsWith("event: ")?C=u.slice(7).trim():u.startsWith("data: ")?c+=(c?`
|
|
117
|
-
`:"")+u.slice(6):u.startsWith(":");if(c)try{const u=JSON.parse(c);this.emit({type:C,payload:u})}catch(u){console.error(`[SSE] Failed to parse ${C}:`,u)}l=i.indexOf(`
|
|
118
|
-
|
|
119
|
-
`)}}}catch(s){s instanceof Error&&s.name==="AbortError"||s instanceof TypeError&&s.message==="Load failed"||console.error("[SSE] Connection error:",s)}}disconnect(){this.running=!1,this.abortController&&(this.abortController.abort(),this.abortController=null)}on(e,t){return this.handlers.has(e)||this.handlers.set(e,new Set),this.handlers.get(e)?.add(t),()=>{this.off(e,t)}}off(e,t){const s=this.handlers.get(e);s&&(s.delete(t),s.size===0&&this.handlers.delete(e))}emit(e){const t=this.handlers.get(e.type);if(t)for(const n of t)n(e);const s=this.handlers.get("*");if(s)for(const n of s)n(e)}}function CE(A,e=!0){const t=ke(),s=x.useRef(null),n=x.useRef(null),{addPendingApproval:r,removePendingApproval:i,updatePendingApproval:a,setPendingApprovals:g}=vr();x.useEffect(()=>{if(!A||!e)return;n.current=null;let l=0;mA.getPendingApprovals(A).then(B=>{B.ok&&B.pending.length>0?g(B.pending):g([])}).catch(()=>{g([])});const Q=new EE;s.current=Q;const I=mA.getStreamUrl(A);console.log("[useSessionStream] Connecting to stream:",I),Q.connect(I);const C=B=>{if(n.current){const d=B.findIndex(N=>N.id===n.current);if(d!==-1)return d}for(let d=B.length-1;d>=0;d-=1){const N=B[d];if(N.role==="assistant"&&N.status!=="complete")return d}return-1},c=B=>{if(B.contentJson&&typeof B.contentJson=="object"&&!Array.isArray(B.contentJson)&&"text"in B.contentJson)return String(B.contentJson.text??"");if(typeof B.content=="string"){try{const d=JSON.parse(B.content);if(d&&typeof d.text=="string")return d.text}catch{}return B.content}return""},u=B=>typeof B?.callId=="string"?B.callId:typeof B?.toolCallId=="string"?B.toolCallId:null,p=B=>typeof B?.name=="string"?B.name:typeof B?.toolName=="string"?B.toolName:null,f=B=>B?.args??B?.input,k=B=>typeof B?.delta=="string"?B.delta:typeof B?.inputTextDelta=="string"?B.inputTextDelta:null,v=B=>typeof B?.delta=="string"?B.delta:typeof B?.outputTextDelta=="string"?B.outputTextDelta:null,D=(B,d)=>{const N=(()=>{const J=B.map(Y=>Y.index).filter(Y=>Number.isFinite(Y));return J.length>0?Math.max(...J)+.001:0})();if(typeof d!="number")return N;const G=B.filter(J=>J.stepIndex===d).map(J=>J.index).filter(J=>Number.isFinite(J));return G.length>0?Math.max(...G)+.001:N},j=B=>{const d=typeof B?.messageId=="string"?B.messageId:null,N=typeof B?.partId=="string"?B.partId:null,G=typeof B?.delta=="string"?B.delta:null;!d||!N||G===null||t.setQueryData(["messages",A],J=>{if(!J)return J;const Y=[...J],T=Y.findIndex(U=>U.id===d);if(T===-1)return J;const b=Y[T],E=b.parts?[...b.parts]:[];let h=E.findIndex(U=>U.id===N);const S=typeof B?.stepIndex=="number"?B.stepIndex:null;if(h===-1){const U={id:N,messageId:d,index:D(E,S),stepIndex:S,type:"reasoning",content:JSON.stringify({text:G}),contentJson:{text:G},agent:b.agent,provider:b.provider,model:b.model,startedAt:Date.now(),completedAt:null,toolName:null,toolCallId:null,toolDurationMs:null};E.push(U),h=E.length-1}else{const U=E[h],tA=`${c(U)}${G}`;E[h]={...U,content:JSON.stringify({text:tA}),contentJson:{text:tA},stepIndex:S??U.stepIndex??null,completedAt:null}}return Y[T]={...b,parts:E},Y})},K=B=>{const d=typeof B?.messageId=="string"?B.messageId:null,N=typeof B?.partId=="string"?B.partId:null,G=typeof B?.delta=="string"?B.delta:null;!d||!N||G===null||t.setQueryData(["messages",A],J=>{if(!J)return J;const Y=[...J],T=Y.findIndex(U=>U.id===d);if(T===-1)return J;const b=Y[T],E=b.parts?[...b.parts]:[];let h=E.findIndex(U=>U.id===N);const S=typeof B?.stepIndex=="number"?B.stepIndex:null;if(h===-1){const U={id:N,messageId:d,index:D(E,S),stepIndex:S,type:"text",content:JSON.stringify({text:G}),contentJson:{text:G},agent:b.agent,provider:b.provider,model:b.model,startedAt:Date.now(),completedAt:null,toolName:null,toolCallId:null,toolDurationMs:null};E.push(U),h=E.length-1}else{const U=E[h],tA=`${c(U)}${G}`;E[h]={...U,content:JSON.stringify({text:tA}),contentJson:{text:tA},stepIndex:S??U.stepIndex??null,completedAt:null}}return Y[T]={...b,parts:E},Y})},V=B=>{if(!B)return;const d=u(B),N=p(B);N&&t.setQueryData(["messages",A],G=>{if(!G)return G;const J=[...G];let Y=C(J);if(typeof B.messageId=="string"){const _=J.findIndex(tA=>tA.id===B.messageId);_!==-1&&(Y=_)}if(Y===-1)return G;const T=J[Y],b=T.parts?[...T.parts]:[];let E=-1;d&&(E=b.findIndex(_=>_.toolCallId===d&&_.ephemeral)),E===-1&&!d&&(E=b.findIndex(_=>_.ephemeral&&_.toolName===N));const h=f(B),S=typeof B.stepIndex=="number"?B.stepIndex:null,U={name:N};if(d&&(U.callId=d),h!==void 0&&(U.args=h),E===-1){const _={id:d?`ephemeral-tool-call-${d}`:`ephemeral-tool-call-${N}-${Date.now()}`,messageId:T.id,index:D(b,S),stepIndex:S,type:"tool_call",content:JSON.stringify(U),contentJson:U,agent:T.agent,provider:T.provider,model:T.model,startedAt:Date.now(),completedAt:null,toolName:N,toolCallId:d,toolDurationMs:null,ephemeral:!0};b.push(_)}else{const _=b[E],tA={...typeof _.contentJson=="object"&&!Array.isArray(_.contentJson)?_.contentJson:{},name:N};d&&(tA.callId=d),h!==void 0&&(tA.args=h),b[E]={..._,content:JSON.stringify(tA),contentJson:tA,stepIndex:S??_.stepIndex??null,toolCallId:d??_.toolCallId,toolName:N}}return J[Y]={...T,parts:b},J})},eA=(B,d)=>{if(!B)return;const N=u(B),G=p(B);G&&t.setQueryData(["messages",A],J=>{if(!J)return J;const Y=[...J];let T=C(Y);if(typeof B.messageId=="string"){const U=Y.findIndex(_=>_.id===B.messageId);U!==-1&&(T=U)}if(T===-1)return J;const b=Y[T],E=b.parts?[...b.parts]:[];let h=-1;N&&(h=E.findIndex(U=>U.toolCallId===N&&U.ephemeral)),h===-1&&!N&&(h=E.findIndex(U=>U.ephemeral&&U.toolName===G));const S=typeof B.stepIndex=="number"?B.stepIndex:null;if(h===-1){const U={name:G,_streamedInput:d};N&&(U.callId=N);const _={id:N?`ephemeral-tool-call-${N}`:`ephemeral-tool-call-${G}-${Date.now()}`,messageId:b.id,index:D(E,S),stepIndex:S,type:"tool_call",content:JSON.stringify(U),contentJson:U,agent:b.agent,provider:b.provider,model:b.model,startedAt:Date.now(),completedAt:null,toolName:G,toolCallId:N,toolDurationMs:null,ephemeral:!0};E.push(_)}else{const U=E[h],_=typeof U.contentJson?._streamedInput=="string"?U.contentJson._streamedInput:"",tA={...typeof U.contentJson=="object"&&!Array.isArray(U.contentJson)?U.contentJson:{},_streamedInput:_+d};E[h]={...U,content:JSON.stringify(tA),contentJson:tA,stepIndex:S??U.stepIndex??null}}return Y[T]={...b,parts:E},Y})},X=(B,d)=>{if(!B)return;const N=u(B),G=p(B);G&&t.setQueryData(["messages",A],J=>{if(!J)return J;const Y=[...J];let T=C(Y);if(typeof B.messageId=="string"){const U=Y.findIndex(_=>_.id===B.messageId);U!==-1&&(T=U)}if(T===-1)return J;const b=Y[T],E=b.parts?[...b.parts]:[];let h=-1;N&&(h=E.findIndex(U=>U.toolCallId===N&&U.ephemeral)),h===-1&&!N&&(h=E.findIndex(U=>U.ephemeral&&U.toolName===G));const S=typeof B.stepIndex=="number"?B.stepIndex:null;if(h===-1){const U={name:G,_streamedOutput:d};N&&(U.callId=N);const _={id:N?`ephemeral-tool-call-${N}`:`ephemeral-tool-call-${G}-${Date.now()}`,messageId:b.id,index:D(E,S),stepIndex:S,type:"tool_call",content:JSON.stringify(U),contentJson:U,agent:b.agent,provider:b.provider,model:b.model,startedAt:Date.now(),completedAt:null,toolName:G,toolCallId:N,toolDurationMs:null,ephemeral:!0};E.push(_)}else{const U=E[h],_=typeof U.contentJson?._streamedOutput=="string"?U.contentJson._streamedOutput:"",tA={...typeof U.contentJson=="object"&&!Array.isArray(U.contentJson)?U.contentJson:{},_streamedOutput:_+d};E[h]={...U,content:JSON.stringify(tA),contentJson:tA,stepIndex:S??U.stepIndex??null}}return Y[T]={...b,parts:E},Y})},R=B=>{const d=u(B);if(!d)return;const N=p(B),G=typeof B?.stepIndex=="number"?B.stepIndex:null,J=B?.result,Y=B?.artifact,T=f(B);t.setQueryData(["messages",A],b=>{if(!b)return b;let E=!1;const h=Date.now(),S=b.map(U=>{if(!U.parts?.length)return U;let _=!1;const tA=U.parts.map(IA=>{if(!(IA.ephemeral&&IA.toolCallId===d))return IA;_=!0,E=!0;const iA={...typeof IA.contentJson=="object"&&!Array.isArray(IA.contentJson)?IA.contentJson:{},name:N??IA.toolName??"tool",callId:d};T!==void 0&&(iA.args=T),J!==void 0&&(iA.result=J),Y!==void 0&&(iA.artifact=Y);const GA=IA.startedAt&&Number.isFinite(IA.startedAt)?Math.max(0,h-IA.startedAt):IA.toolDurationMs;return{...IA,type:"tool_result",content:JSON.stringify(iA),contentJson:iA,stepIndex:G??IA.stepIndex??null,completedAt:h,toolName:N??IA.toolName,toolDurationMs:GA??null}});return _?{...U,parts:tA}:U});return E?S:b})},W=B=>{const d=u(B);d&&t.setQueryData(["messages",A],N=>{if(!N)return N;let G=!1;const J=N.map(Y=>{if(!Y.parts?.length)return Y;const T=Y.parts.filter(b=>!(b.ephemeral&&b.toolCallId===d));return T.length===Y.parts.length?Y:(G=!0,{...Y,parts:T})});return G?J:N})},O=B=>{B&&t.setQueryData(["messages",A],d=>{if(!d)return d;const N=d.findIndex(Y=>Y.id===B);if(N===-1)return d;const G=d[N];if(!G.parts?.some(Y=>Y.ephemeral&&Y.type==="tool_call"))return d;const J=[...d];return J[N]={...G,parts:G.parts?.filter(Y=>!(Y.ephemeral&&Y.type==="tool_call"))??[]},J})},L=B=>{const d=typeof B?.id=="string"?B.id:null;d&&t.setQueryData(["messages",A],N=>{if(!N)return N;const G=[...N],J=G.findIndex(T=>T.id===d);if(J===-1)return N;const Y=G[J];return G[J]={...Y,status:"complete",completedAt:Date.now()},G})},w=Q.on("*",B=>{const d=B.payload;switch(B.type){case"message.created":{const N=typeof d?.role=="string"?d.role:null,G=typeof d?.id=="string"?d.id:null;if(N==="assistant"&&G&&(n.current=G),G&&N){const J=typeof d?.agent=="string"?d.agent:"",Y=typeof d?.provider=="string"?d.provider:"",T=typeof d?.model=="string"?d.model:"",b=typeof d?.content=="string"?d.content:null,E=N==="user"&&b?[{id:`${G}-text`,messageId:G,index:0,stepIndex:null,type:"text",content:JSON.stringify({text:b}),contentJson:{text:b},agent:J,provider:Y,model:T,startedAt:Date.now(),completedAt:Date.now(),toolName:null,toolCallId:null,toolDurationMs:null}]:[];t.setQueryData(["messages",A],h=>{if(!h||h.some(_=>_.id===G))return h;const S={id:G,sessionId:A,role:N,status:N==="user"?"complete":"pending",agent:J,provider:Y,model:T,createdAt:Date.now(),completedAt:null,latencyMs:null,promptTokens:null,completionTokens:null,totalTokens:null,error:null,parts:E},U=[...h,S];return U.sort((_,tA)=>_.createdAt-tA.createdAt),U})}break}case"message.part.delta":{K(d);break}case"reasoning.delta":{j(d);break}case"message.completed":{const N=typeof d?.id=="string"?d.id:null;N&&n.current===N&&(n.current=null),L(d),O(N),t.invalidateQueries({queryKey:["messages",A]}),t.invalidateQueries({queryKey:po});break}case"tool.delta":{const N=typeof d?.channel=="string"?d.channel:null,G=N==="output"?v(d):k(d);N==="input"||N==null&&G?G?eA(d,G):V(d):N==="output"&&G&&X(d,G);break}case"tool.call":{V(d);break}case"tool.result":{R(d);break}case"tool.approval.required":{const N=typeof d?.callId=="string"?d.callId:null,G=typeof d?.toolName=="string"?d.toolName:null,J=typeof d?.messageId=="string"?d.messageId:null,Y=d?.args;N&&G&&J&&r({callId:N,toolName:G,args:Y,messageId:J,createdAt:Date.now()});break}case"tool.approval.resolved":{const N=typeof d?.callId=="string"?d.callId:null;N&&i(N);break}case"tool.approval.updated":{const N=typeof d?.callId=="string"?d.callId:null,G=d?.args;N&&a(N,G);break}case"error":{W(d);const N=typeof d?.messageId=="string"?d.messageId:null;N&&O(N),t.invalidateQueries({queryKey:["messages",A]});break}case"message.updated":{const N=typeof d?.id=="string"?d.id:null,G=typeof d?.status=="string"?d.status:null;N&&G&&t.setQueryData(["messages",A],J=>{if(!J)return J;const Y=J.findIndex(b=>b.id===N);if(Y===-1)return J;const T=[...J];return T[Y]={...T[Y],status:G},T});break}case"queue.updated":{const N={currentMessageId:d?.currentMessageId,queuedMessages:d?.queuedMessages??[],queueLength:d?.queueLength??0};t.setQueryData(["queueState",A],N);break}}if(B.type==="finish-step"){const N=Date.now();N-l>=2e3&&(l=N,t.invalidateQueries({queryKey:po}))}});return()=>{w(),Q.disconnect()}},[A,t,r,i,e,g,a])}function y2(A){const{pendingApprovals:e,removePendingApproval:t}=vr(),s=e,n=x.useCallback(async a=>{if(A)try{await mA.approveToolCall(A,a,!0),t(a)}catch(g){console.error("Failed to approve tool call:",g)}},[A,t]),r=x.useCallback(async a=>{if(A)try{await mA.approveToolCall(A,a,!1),t(a)}catch(g){console.error("Failed to reject tool call:",g)}},[A,t]),i=x.useCallback(async()=>{if(A)try{await Promise.all(s.map(a=>mA.approveToolCall(A,a.callId,!0)));for(const a of s)t(a.callId)}catch(a){console.error("Failed to approve all tool calls:",a)}},[A,s,t]);x.useEffect(()=>{if(!A||s.length===0)return;const a=g=>{if(g.target instanceof HTMLInputElement||g.target instanceof HTMLTextAreaElement||g.target?.isContentEditable)return;const l=s[0];g.key==="y"||g.key==="Y"?(g.preventDefault(),n(l.callId)):g.key==="n"||g.key==="N"||g.key==="Escape"?(g.preventDefault(),r(l.callId)):(g.key==="a"||g.key==="A")&&(g.preventDefault(),i())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[A,s,n,r,i])}const N2=({height:A=22})=>{const e=Math.round(A*2.4686468646864688);return o.jsx("svg",{width:e,height:A,viewBox:"0 0 748 303",fill:"currentColor",className:"text-foreground","aria-label":"otto",role:"img",children:o.jsx("path",{d:"M192.877 257.682C192.877 263.287 191.783 268.551 189.596 273.473C187.545 278.395 184.674 282.701 180.982 286.393C177.428 289.947 173.189 292.818 168.268 295.006C163.482 297.057 158.287 298.082 152.682 298.082H44.1953C38.7266 298.082 33.5312 297.057 28.6094 295.006C23.6875 292.818 19.3809 289.947 15.6895 286.393C12.1348 282.701 9.26367 278.395 7.07617 273.473C5.02539 268.551 4 263.287 4 257.682V120.074C4 114.469 5.02539 109.205 7.07617 104.283C9.26367 99.3613 12.1348 95.123 15.6895 91.5684C19.3809 87.877 23.6875 85.0059 28.6094 82.9551C33.5312 80.7676 38.7266 79.6738 44.1953 79.6738H152.682C158.287 79.6738 163.482 80.7676 168.268 82.9551C173.189 85.0059 177.428 87.877 180.982 91.5684C184.674 95.123 187.545 99.3613 189.596 104.283C191.783 109.205 192.877 114.469 192.877 120.074V257.682ZM44.1953 120.074V257.682H152.682V120.074H44.1953ZM331.715 4V298.082H289.674V46.041H239.225V4H331.715ZM478.961 4V298.082H436.92V46.041H386.471V4H478.961ZM743.717 257.682C743.717 263.287 742.623 268.551 740.436 273.473C738.385 278.395 735.514 282.701 731.822 286.393C728.268 289.947 724.029 292.818 719.107 295.006C714.322 297.057 709.127 298.082 703.521 298.082H595.035C589.566 298.082 584.371 297.057 579.449 295.006C574.527 292.818 570.221 289.947 566.529 286.393C562.975 282.701 560.104 278.395 557.916 273.473C555.865 268.551 554.84 263.287 554.84 257.682V120.074C554.84 114.469 555.865 109.205 557.916 104.283C560.104 99.3613 562.975 95.123 566.529 91.5684C570.221 87.877 574.527 85.0059 579.449 82.9551C584.371 80.7676 589.566 79.6738 595.035 79.6738H703.521C709.127 79.6738 714.322 80.7676 719.107 82.9551C724.029 85.0059 728.268 87.877 731.822 91.5684C735.514 95.123 738.385 99.3613 740.436 104.283C742.623 109.205 743.717 114.469 743.717 120.074V257.682ZM595.035 120.074V257.682H703.521V120.074H595.035Z"})})},k2={sm:{ring:48,icon:20,iconSize:16},md:{ring:72,icon:32,iconSize:24},lg:{ring:96,icon:40,iconSize:32}},Oi=x.memo(function({status:e,label:t,sublabel:s,size:n="md"}){const{ring:r,icon:i,iconSize:a}=k2[n],g={position:"relative",display:"flex",alignItems:"center",justifyContent:"center",width:r,height:r},l={content:'""',position:"absolute",inset:0,borderRadius:"50%"},Q=()=>e==="success"?"rgb(34, 197, 94)":e==="error"?"rgb(239, 68, 68)":"currentColor";return o.jsxs("div",{className:"flex flex-col items-center justify-center gap-5",children:[o.jsxs("div",{style:g,children:[o.jsx("div",{style:{...l,border:"2px solid hsl(var(--muted))"}}),e==="loading"&&o.jsx("div",{className:"animate-spin",style:{...l,border:"2px solid transparent",borderTopColor:"hsl(var(--foreground))",animation:"spin 1s cubic-bezier(0.4, 0, 0.2, 1) infinite"}}),e==="success"&&o.jsx("div",{style:{...l,border:`2px solid ${Q()}`,opacity:.3}}),e==="error"&&o.jsx("div",{style:{...l,border:`2px solid ${Q()}`,opacity:.3}}),o.jsxs("div",{style:{position:"relative",zIndex:1},children:[e==="loading"&&o.jsx(N2,{height:Math.round(i*.65)}),e==="success"&&o.jsx(GQ,{className:"text-green-500",style:{width:a,height:a}}),e==="error"&&o.jsx(Sa,{className:"text-red-500",style:{width:a,height:a}})]})]}),t&&o.jsxs("div",{className:"flex flex-col items-center gap-1",children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:t}),s&&o.jsx("span",{className:"text-xs text-muted-foreground",children:s})]})]})}),M2=[10,25,50,100],qi=5,Yi=2,ls=500,b2=5e3,F2="https://share.ottocode.io/checkout/success";function G2(){return new Promise((A,e)=>{if(window.Razorpay){A();return}const t=document.createElement("script");t.src="https://checkout.razorpay.com/v1/checkout.js",t.onload=()=>A(),t.onerror=()=>e(new Error("Failed to load Razorpay")),document.head.appendChild(t)})}function v2({className:A="w-5 h-5"}){return o.jsxs("svg",{className:A,viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("title",{children:"Polar"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.08734 21.1119C10.2671 24.6182 17.3085 23.2616 20.8148 18.0818C24.3211 12.9021 22.9645 5.86065 17.7848 2.35436C12.605 -1.15192 5.56353 0.204698 2.05724 5.38446C-1.44904 10.5642 -0.0924184 17.6057 5.08734 21.1119ZM6.58958 21.2045C11.3278 23.6286 17.3384 21.3531 20.0147 16.1221C22.6909 10.891 21.0194 4.68533 16.2811 2.2612C11.543 -0.162919 5.53235 2.11252 2.8561 7.34355C0.179842 12.5745 1.85138 18.7803 6.58958 21.2045Z"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.93988 22.4416C12.2169 23.8337 17.2485 20.1561 19.1782 14.2276C21.1078 8.29898 19.2047 2.3644 14.9276 0.9723C10.6505 -0.419794 5.61905 3.25775 3.68942 9.18633C1.7598 15.1149 3.6628 21.0495 7.93988 22.4416ZM9.24825 21.991C12.868 22.7631 16.7819 18.796 17.9904 13.1305C19.1988 7.46494 17.244 2.24622 13.6243 1.47416C10.0046 0.702105 6.09064 4.66908 4.88222 10.3347C3.67381 16.0002 5.62854 21.2189 9.24825 21.991Z"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.2406 22.9252C13.1024 23.2308 15.9585 18.4574 16.6199 12.2635C17.2812 6.06969 15.4974 0.800854 12.6356 0.495275C9.77386 0.189695 6.91772 4.96309 6.25634 11.157C5.59498 17.3508 7.37878 22.6196 10.2406 22.9252ZM11.5798 21.04C13.6508 21.0073 15.264 16.8146 15.1828 11.6754C15.1017 6.53608 13.3568 2.39642 11.2858 2.42914C9.21463 2.46187 7.60148 6.65457 7.68268 11.7939C7.76387 16.9331 9.50864 21.0727 11.5798 21.04Z"})]})}function S2({className:A="w-5 h-5"}){return o.jsxs("svg",{className:A,viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("title",{children:"Razorpay"}),o.jsx("path",{d:"M22.436 0l-11.91 7.773-1.174 4.276 6.625-4.297L11.65 24h4.391l6.395-24zM14.26 10.098L3.389 17.166 1.564 24h9.008l3.688-13.902Z"})]})}const Ng=x.memo(function(){const e=Ne(kA=>kA.isTopupModalOpen),t=Ne(kA=>kA.closeTopupModal),s=Ne(kA=>kA.balance),n=Ne(kA=>kA.setBalance),r=Ne(kA=>kA.usdcBalance),i=Ne(kA=>kA.subscription),[a,g]=x.useState("amount"),[l,Q]=x.useState("polar"),[I,C]=x.useState(25),[c,u]=x.useState(""),[p,f]=x.useState(!1),[k,v]=x.useState(null),[D,j]=x.useState(null),[K,V]=x.useState(!1),[eA,X]=x.useState(!1),[R,W]=x.useState(null),[O,L]=x.useState(!1),[w,B]=x.useState(null),[d,N]=x.useState(0),[G,J]=x.useState(!1),Y=x.useRef(null),T=p?parseFloat(c)||0:I,b=!!i?.active,E=l==="razorpay"?Yi:qi,h=x.useCallback(async kA=>{if(kA<E||kA>ls){v(null),j(null);return}V(!0);try{if(l==="polar"){const VA=await mA.getPolarTopupEstimate(kA);v(VA),j(null)}else{const VA=await mA.getRazorpayTopupEstimate(kA);j(VA),v(null)}}catch{v(null),j(null)}finally{V(!1)}},[l,E]);x.useEffect(()=>{if(e&&T>=E&&a==="amount"){const kA=setTimeout(()=>h(T),300);return()=>clearTimeout(kA)}},[e,T,h,a,E]);const S=x.useCallback(()=>{Y.current&&(clearInterval(Y.current),Y.current=null),L(!1)},[]);x.useEffect(()=>{e||(S(),g("amount"),W(null),B(null),N(0))},[e,S]),x.useEffect(()=>()=>S(),[S]);const U=x.useCallback(kA=>{if(Y.current)return;L(!0),N(0);const VA=async()=>{try{const me=await mA.getPolarTopupStatus(kA);if(N(He=>He+1),me?.confirmed){S(),B(me.amountUsd),localStorage.removeItem("pendingPolarCheckout");const He=await mA.getOttoRouterBalance();He?.balance!==void 0&&n(He.balance),g("confirmed")}}catch{N(me=>me+1)}};VA(),Y.current=setInterval(VA,b2)},[S,n]),_=kA=>{C(kA),f(!1),u("")},tA=kA=>{u(kA),f(!0)},IA=x.useCallback(kA=>{window.self!==window.top?window.parent.postMessage({type:"otto-open-url",url:kA},"*"):window.open(kA,"_blank")},[]),iA=async()=>{if(T<qi||T>ls){ue.error(`Amount must be between $${qi} and $${ls}`);return}X(!0);try{const kA=await mA.createPolarCheckout(T,F2);if(kA.checkoutUrl&&kA.checkoutId){const VA={url:kA.checkoutUrl,checkoutId:kA.checkoutId,creditAmount:kA.creditAmount,chargeAmount:kA.chargeAmount};W(VA),localStorage.setItem("pendingPolarCheckout",kA.checkoutId),g("checkout"),IA(kA.checkoutUrl),U(kA.checkoutId)}}catch(kA){ue.error(kA instanceof Error?kA.message:"Failed to create checkout")}finally{X(!1)}},GA=async()=>{if(T<Yi||T>ls){ue.error(`Amount must be between $${Yi} and $${ls}`);return}X(!0);try{await G2();const kA=await mA.createRazorpayOrder(T);g("razorpay-processing");const VA=new window.Razorpay({key:kA.keyId,amount:kA.amount,currency:kA.currency,name:"Setu",description:`Top up $${kA.creditAmountUsd.toFixed(2)} credits`,order_id:kA.orderId,handler:async me=>{try{const He=await mA.verifyRazorpayPayment({razorpay_order_id:me.razorpay_order_id,razorpay_payment_id:me.razorpay_payment_id,razorpay_signature:me.razorpay_signature});if(He.success){B(He.credited);const we=await mA.getOttoRouterBalance();we?.balance!==void 0&&n(we.balance),g("confirmed")}}catch(He){ue.error(He instanceof Error?He.message:"Payment verification failed"),g("amount")}},modal:{ondismiss:()=>{g("amount")}},theme:{color:"#7c3aed"}});VA.on("payment.failed",()=>{ue.error("Payment failed. Please try again."),g("amount")}),VA.open()}catch(kA){ue.error(kA instanceof Error?kA.message:"Failed to create order"),g("amount")}finally{X(!1)}},qA=()=>{l==="polar"?iA():GA()},BA=async()=>{if(R){J(!0);try{const kA=await mA.getPolarTopupStatus(R.checkoutId);if(kA?.confirmed){S(),B(kA.amountUsd),localStorage.removeItem("pendingPolarCheckout");const VA=await mA.getOttoRouterBalance();VA?.balance!==void 0&&n(VA.balance),g("confirmed")}else ue.error("Payment not confirmed yet. Keep waiting or try again.")}catch(kA){console.error("[OttoRouterTopupModal] Check failed:",kA),ue.error("Failed to check payment status")}finally{J(!1)}}},YA=()=>{t()},_A=T>=E&&T<=ls,Ce=a==="confirmed"?"Payment Confirmed":a==="checkout"?"Waiting for Payment":a==="razorpay-processing"?"Processing Payment":"Add Credits";return o.jsx(So,{isOpen:e,onClose:t,title:Ce,maxWidth:"md",children:o.jsxs("div",{className:"space-y-6",children:[a==="confirmed"&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"py-4",children:o.jsx(Oi,{status:"success",label:`+$${w?.toFixed(2)??R?.creditAmount.toFixed(2)}`,sublabel:"Credits added to your balance"})}),o.jsx("button",{type:"button",onClick:YA,className:"w-full h-12 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors flex items-center justify-center gap-2",children:"Done"})]}),a==="razorpay-processing"&&o.jsx("div",{className:"py-8",children:o.jsx(Oi,{status:"loading",label:"Complete payment in the Razorpay window",sublabel:"Do not close this page"})}),a==="checkout"&&R&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"py-4",children:[o.jsx(Oi,{status:"loading",label:"Complete your payment",sublabel:"A checkout window has been opened"}),o.jsxs("div",{className:"flex items-center justify-center gap-2 mt-4 px-3 py-1.5 bg-muted/40 rounded-full w-fit mx-auto",children:[o.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-blue-500 animate-pulse"}),o.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:O?`Checking... (${d})`:"Paused"})]})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsxs("button",{type:"button",onClick:BA,disabled:G,className:"w-full h-12 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:[G?o.jsx(Je,{className:"w-4 h-4 animate-spin"}):o.jsx(Zt,{className:"w-4 h-4"}),G?"Checking...":"Check Now"]}),o.jsxs("button",{type:"button",onClick:()=>IA(R.url),className:"w-full h-11 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors flex items-center justify-center gap-2",children:[o.jsx(vt,{className:"w-4 h-4"}),"Open Checkout Again"]})]}),o.jsx("p",{className:"text-xs text-muted-foreground text-center",children:"Status checks automatically every 5 seconds. You can close this and it will keep checking."})]}),a==="amount"&&o.jsxs(o.Fragment,{children:[b&&o.jsx("div",{className:"text-xs text-muted-foreground bg-muted/30 border border-border rounded-lg px-3 py-2",children:"You are on GO. Top-ups add extra balance for additional usage."}),o.jsxs("div",{className:"flex items-center justify-between py-3 px-4 bg-muted/40 rounded-lg",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Current Balance"}),o.jsxs("span",{className:"text-lg font-mono font-semibold",children:["$",s?.toFixed(2)??"0.00"]})]}),o.jsxs("div",{className:"flex rounded-lg border border-border overflow-hidden",children:[o.jsxs("button",{type:"button",onClick:()=>Q("polar"),className:`flex-1 flex items-center justify-center gap-2 py-2.5 text-sm font-medium transition-colors ${l==="polar"?"bg-foreground text-background":"bg-transparent text-muted-foreground hover:text-foreground"}`,children:[o.jsx(v2,{className:"w-3.5 h-3.5"}),"Polar"]}),o.jsxs("button",{type:"button",onClick:()=>Q("razorpay"),className:`flex-1 flex items-center justify-center gap-2 py-2.5 text-sm font-medium transition-colors ${l==="razorpay"?"bg-foreground text-background":"bg-transparent text-muted-foreground hover:text-foreground"}`,children:[o.jsx(S2,{className:"w-3.5 h-3.5"}),"Razorpay"]})]}),o.jsxs("div",{className:"space-y-4",children:[o.jsx("div",{className:"grid grid-cols-4 gap-2",children:M2.map(kA=>o.jsxs("button",{type:"button",onClick:()=>_(kA),className:`h-12 text-base font-mono rounded-lg border-2 transition-all ${!p&&I===kA?"bg-foreground text-background border-foreground":"bg-transparent border-border text-foreground hover:border-foreground/40"}`,children:["$",kA]},kA))}),o.jsxs("div",{className:"relative",children:[o.jsx("span",{className:"absolute left-4 top-1/2 -translate-y-1/2 text-muted-foreground text-lg",children:"$"}),o.jsx("input",{type:"number",placeholder:"Custom",value:c,onChange:kA=>tA(kA.target.value),onFocus:()=>f(!0),min:E,max:ls,step:"1",className:`w-full h-12 pl-8 pr-4 text-base font-mono bg-transparent border-2 rounded-lg outline-none transition-all ${p?"border-foreground":"border-border focus:border-foreground/40"}`})]})]}),o.jsx("div",{className:`grid transition-all duration-200 ease-out ${_A?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"}`,children:o.jsx("div",{className:"overflow-hidden",children:o.jsx("div",{className:"space-y-3 py-4 border-t border-border",children:K?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Credits"}),o.jsx("div",{className:"h-6 w-16 bg-muted/60 rounded animate-pulse"})]}),o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Fee"}),o.jsx("div",{className:"h-4 w-12 bg-muted/60 rounded animate-pulse"})]}),o.jsxs("div",{className:"flex justify-between items-center pt-3 border-t border-border",children:[o.jsx("span",{className:"font-medium",children:"Total"}),o.jsx("div",{className:"h-7 w-20 bg-muted/60 rounded animate-pulse"})]})]}):l==="polar"&&k?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Credits"}),o.jsxs("span",{className:"font-mono text-lg",children:["$",k.creditAmount.toFixed(2)]})]}),o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Fee"}),o.jsxs("span",{className:"font-mono text-sm text-muted-foreground",children:["+$",k.feeAmount.toFixed(2)]})]}),o.jsxs("div",{className:"flex justify-between items-center pt-3 border-t border-border",children:[o.jsx("span",{className:"font-medium",children:"Total"}),o.jsxs("span",{className:"font-mono text-xl font-semibold",children:["$",k.chargeAmount.toFixed(2)]})]})]}):l==="razorpay"&&D?o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Credits"}),o.jsxs("span",{className:"font-mono text-lg",children:["$",D.creditAmountUsd.toFixed(2)]})]}),o.jsxs("div",{className:"flex justify-between items-center",children:[o.jsx("span",{className:"text-sm text-muted-foreground",children:"Fee"}),o.jsxs("span",{className:"font-mono text-sm text-muted-foreground",children:["+₹",D.feeAmountInr.toFixed(2)]})]}),o.jsxs("div",{className:"flex justify-between items-center pt-3 border-t border-border",children:[o.jsx("span",{className:"font-medium",children:"Total"}),o.jsxs("span",{className:"font-mono text-xl font-semibold",children:["₹",D.chargeAmountInr.toFixed(2)]})]}),o.jsxs("p",{className:"text-[10px] text-muted-foreground text-right",children:["1 USD ≈ ",D.exchangeRate," INR"]})]}):null})})}),o.jsxs("button",{type:"button",onClick:qA,disabled:!_A||eA,className:"w-full h-12 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",children:[eA?o.jsx(Je,{className:"w-4 h-4 animate-spin"}):o.jsx(Dr,{className:"w-4 h-4"}),l==="polar"?"Pay with Card":"Pay with Razorpay"]}),o.jsxs("div",{className:"relative pt-6",children:[o.jsxs("div",{className:"absolute inset-x-0 top-0 flex items-center",children:[o.jsx("div",{className:"flex-1 h-px bg-border"}),o.jsx("span",{className:"px-3 text-xs text-muted-foreground",children:"OR"}),o.jsx("div",{className:"flex-1 h-px bg-border"})]}),o.jsxs("div",{className:"flex items-start gap-3 p-4 bg-muted/30 rounded-lg",children:[o.jsx(Ja,{className:"w-5 h-5 text-muted-foreground mt-0.5"}),o.jsxs("div",{className:"flex-1 min-w-0",children:[o.jsxs("div",{className:"flex items-center justify-between",children:[o.jsx("span",{className:"font-medium text-sm",children:"Pay with USDC"}),r!==null&&o.jsxs("span",{className:"text-xs font-mono text-muted-foreground",children:[r.toFixed(2)," USDC"]})]}),o.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"Send USDC to your Setu wallet to increase balance."})]})]})]})]})]})})}),U2=x.memo(function({sessionId:e,onSelectSession:t}){const{data:s=[],isLoading:n}=Qa(e),{data:r=[]}=Pn(),{preferences:i}=$s();CE(e),y2(e);const a=x.useMemo(()=>r.find(l=>l.id===e),[r,e]),g=x.useMemo(()=>s.some(l=>l.role==="assistant"&&l.status==="pending"),[s]);return n?o.jsx("div",{className:"flex-1 flex items-center justify-center text-muted-foreground",children:"Loading messages..."}):o.jsxs(o.Fragment,{children:[o.jsx(D2,{messages:s,sessionId:e,session:a,isGenerating:g,compact:i.compactThread,onSelectSession:t}),o.jsx(Ng,{})]})}),cQ=1440*60*1e3;function R2(A){const e=Date.now()-A,t=Math.floor(e/6e4);if(t<1)return"just now";if(t<60)return`${t}m ago`;const s=Math.floor(t/60);if(s<24)return`${s}h ago`;const n=Math.floor(s/24);if(n<7)return`${n}d ago`;const r=Math.floor(n/7);if(r<5)return`${r}w ago`;const i=Math.floor(n/30);return i<12?`${i}mo ago`:`${Math.floor(n/365)}y ago`}function K2(A){const e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),s=t-cQ,n=t-cQ*7;return A>=t?"Today":A>=s?"Yesterday":A>=n?"Earlier":"Older"}const L2=x.memo(function({session:e,isActive:t,onClick:s}){const n=e.title||`Session ${e.id.slice(0,8)}`,r=e.isRunning??!1,i=e.lastActiveAt??e.createdAt,a=R2(i);return o.jsx("button",{type:"button",onClick:s,className:`w-full text-left px-3 py-2.5 rounded-lg transition-colors duration-150 ${t?"bg-sidebar-accent text-sidebar-foreground":"text-sidebar-foreground hover:bg-sidebar-accent/50"}`,title:`${n} — ${a}`,children:o.jsxs("span",{className:"block min-w-0",children:[o.jsx("span",{className:`block truncate text-[13px] leading-5 ${t?"font-medium":"font-normal"}`,children:n}),o.jsxs("span",{className:"mt-0.5 flex items-center justify-between gap-3 text-[11px] leading-4 text-sidebar-muted-foreground",children:[o.jsx("span",{className:"truncate",children:a}),o.jsxs("span",{className:"relative flex h-2 w-2 shrink-0",children:[r&&o.jsx("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-emerald-400 opacity-75"}),o.jsx("span",{className:`relative inline-flex h-2 w-2 rounded-full ${r?"bg-emerald-500":"bg-sidebar-muted-foreground/35"}`})]})]})]})})}),kg=ht(A=>({currentFocus:null,sessionIndex:0,gitFileIndex:0,setFocus:e=>A({currentFocus:e}),setSessionIndex:e=>A({sessionIndex:e}),setGitFileIndex:e=>A({gitFileIndex:e}),resetGitFileIndex:()=>A({gitFileIndex:0}),resetSessionIndex:()=>A({sessionIndex:0})})),J2=x.memo(function({activeSessionId:e,onSelectSession:t}){const{data:s=[],isLoading:n,hasNextPage:r,fetchNextPage:i,isFetchingNextPage:a}=Pn(),{currentFocus:g,sessionIndex:l}=kg(),Q=x.useRef(new Map),I=x.useRef(null),C=x.useRef(void 0),c=x.useCallback(v=>{C.current=v,t(v)},[t]),u=x.useMemo(()=>s.map((v,D)=>({id:v.id,index:D,title:v.title,agent:v.agent,createdAt:v.createdAt,lastActiveAt:v.lastActiveAt,activityAt:v.lastActiveAt??v.createdAt})),[s]),p=x.useMemo(()=>new Map(s.map(v=>[v.id,v])),[s]),f=x.useMemo(()=>{const v=new Map;for(const D of u){const j=K2(D.activityAt),K=v.get(j)??[];K.push(D),v.set(j,K)}return Array.from(v.entries()).map(([D,j])=>({label:D,sessions:j}))},[u]);if(x.useEffect(()=>{if(g==="sessions"){const v=u[l];v&&Q.current.get(v.id)?.scrollIntoView({block:"nearest",behavior:"smooth"})}},[g,l,u]),x.useEffect(()=>{if(!e||C.current===e||s.length===0)return;const v=s.findIndex(D=>D.id===e);if(v===-1&&r){i();return}v!==-1&&(C.current=e,requestAnimationFrame(()=>{Q.current.get(e)?.scrollIntoView({block:"nearest",behavior:"smooth"})}))},[e,s,r,i]),x.useEffect(()=>{const v=I.current;if(!v)return;const D=()=>{const{scrollTop:j,scrollHeight:K,clientHeight:V}=v;K-j-V<100&&r&&!a&&i()};return v.addEventListener("scroll",D,{passive:!0}),()=>v.removeEventListener("scroll",D)},[r,a,i]),n)return o.jsxs("div",{className:"flex flex-col gap-2 px-3 py-2",children:[o.jsx("div",{className:"h-8 rounded-md bg-sidebar-accent/50 animate-pulse"}),o.jsx("div",{className:"h-8 rounded-md bg-sidebar-accent/50 animate-pulse"}),o.jsx("div",{className:"h-8 rounded-md bg-sidebar-accent/50 animate-pulse"}),o.jsx("div",{className:"h-8 rounded-md bg-sidebar-accent/50 animate-pulse"})]});if(u.length===0)return o.jsx("div",{className:"px-4 py-8 text-center text-sm text-sidebar-muted-foreground",children:"No sessions yet. Create one to get started."});const k=v=>{const D=p.get(v.id);if(!D)return null;const j=g==="sessions"&&l===v.index;return o.jsx("div",{ref:K=>{K?Q.current.set(v.id,K):Q.current.delete(v.id)},className:j?"ring-1 ring-sidebar-ring/40 rounded-md":"",children:o.jsx(L2,{session:D,isActive:v.id===e,onClick:()=>c(v.id)})},v.id)};return o.jsxs("div",{ref:I,className:"flex flex-col h-full overflow-y-auto scrollbar-hide",children:[o.jsx("div",{className:"h-14 shrink-0","aria-hidden":"true"}),f.length>0&&o.jsx("div",{className:"px-3 pt-3 pb-1",children:o.jsx("div",{className:"space-y-3",children:f.map(v=>o.jsxs("div",{children:[o.jsx("h4",{className:"sticky top-14 z-10 px-3 py-2 mb-1 text-[11px] font-medium uppercase tracking-[0.18em] text-sidebar-muted-foreground/80 bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/75",children:v.label}),o.jsx("div",{className:"flex flex-col gap-1",children:v.sessions.map(D=>k(D))})]},v.label))})}),a&&o.jsx("div",{className:"flex justify-center py-3",children:o.jsx(Je,{className:"h-4 w-4 animate-spin text-sidebar-muted-foreground"})})]})}),j2=new Set(["png","jpg","jpeg","gif","svg","webp","ico","bmp","avif"]);function T2(A){const e=A.split(".").pop()?.toLowerCase()??"";return j2.has(e)}const O2={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"plaintext",svelte:"svelte"};function q2(A){const e=A.split(".").pop()?.toLowerCase()??"";return e?O2[e]??"plaintext":"plaintext"}function Y2(A){const e=A.split("/");return e[e.length-1]}function H2({diff:A}){const e=document?.documentElement.classList.contains("dark")?Eo:Co,t=A.language&&A.language.trim().length>0?A.language:q2(A.file),s=Y2(A.file);if(A.isNewFile&&A.content)return o.jsxs("div",{className:"flex flex-col h-full bg-background",children:[o.jsxs("div",{className:"px-4 py-2 bg-muted/50 flex items-center justify-between min-h-10",children:[o.jsx("span",{className:"font-mono text-sm text-foreground truncate",title:A.file,children:s}),o.jsxs("div",{className:"flex items-center gap-3 text-xs flex-shrink-0",children:[o.jsxs("span",{className:"text-green-600 dark:text-green-500",children:["+",A.insertions]}),o.jsx("span",{className:"text-muted-foreground",children:t})]})]}),o.jsx("div",{className:"px-4 py-3 bg-green-500/10 border-b border-green-500/20",children:o.jsxs("p",{className:"text-sm text-green-600 dark:text-green-400 font-medium",children:["New file: ",A.insertions," lines"]})}),o.jsx("div",{className:"flex-1 overflow-auto",children:o.jsx("div",{className:"code-with-line-numbers",children:o.jsx(Yt,{language:t,style:e,wrapLines:!0,wrapLongLines:!0,lineProps:()=>({className:"code-line"}),customStyle:{margin:0,padding:"1rem",background:"transparent"},codeTagProps:{style:{flex:1}},children:A.content})})})]});if(A.isBinary){const Q=T2(A.file)?`${NB()}/v1/files/raw?path=${encodeURIComponent(A.file)}`:null;return o.jsxs("div",{className:"flex flex-col h-full bg-background",children:[o.jsxs("div",{className:"px-4 py-2 bg-muted/50 flex items-center justify-between min-h-10",children:[o.jsx("span",{className:"font-mono text-sm text-foreground truncate",title:A.file,children:s}),o.jsx("div",{className:"flex items-center gap-3 text-xs flex-shrink-0",children:o.jsx("span",{className:"text-muted-foreground",children:"Binary file"})})]}),Q?o.jsx("div",{className:"flex-1 flex items-center justify-center p-4 overflow-auto",children:o.jsx("img",{src:Q,alt:s,className:"max-w-full max-h-[60vh] object-contain rounded border border-border"})}):o.jsx("div",{className:"flex-1 flex items-center justify-center",children:o.jsx("div",{className:"p-4 text-center",children:o.jsx("p",{className:"text-sm text-muted-foreground",children:"Binary file - cannot display diff"})})})]})}const n=A.diff.split(`
|
|
120
|
-
`),r=[];let i=0,a=0;for(const l of n)if(l.startsWith("@@")){const Q=l.match(/@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);Q&&(i=parseInt(Q[1],10),a=parseInt(Q[2],10)),r.push({oldLineNumber:null,newLineNumber:null,content:l,codeContent:l,type:"hunk"})}else l.startsWith("diff")||l.startsWith("index")||l.startsWith("---")||l.startsWith("+++")?r.push({oldLineNumber:null,newLineNumber:null,content:l,codeContent:l,type:"meta"}):l.startsWith("+")?(r.push({oldLineNumber:null,newLineNumber:a,content:l,codeContent:l.slice(1),type:"add"}),a++):l.startsWith("-")?(r.push({oldLineNumber:i,newLineNumber:null,content:l,codeContent:l.slice(1),type:"delete"}),i++):(r.push({oldLineNumber:i,newLineNumber:a,content:l,codeContent:l,type:"context"}),i++,a++);const g=(l,Q)=>{let I="flex hover:bg-muted/20",C="flex-shrink-0 w-20 px-2 py-0.5 text-xs font-mono select-none border-r border-border",c="flex-1 px-4 py-0.5 font-mono text-xs overflow-x-auto";l.type==="hunk"?(I+=" bg-blue-500/10",C+=" text-blue-600 dark:text-blue-400",c+=" text-blue-600 dark:text-blue-400 font-semibold"):l.type==="add"?(I+=" bg-green-500/10",C+=" text-green-700 dark:text-green-400",c+=" text-green-700 dark:text-green-400"):l.type==="delete"?(I+=" bg-red-500/10",C+=" text-red-600 dark:text-red-400",c+=" text-red-600 dark:text-red-400"):l.type==="meta"?(c+=" text-muted-foreground",C+=" text-muted-foreground"):(c+=" text-foreground/80",C+=" text-muted-foreground");const u=l.oldLineNumber!==null?l.oldLineNumber.toString():"",p=l.newLineNumber!==null?l.newLineNumber.toString():"";let f=l.content||" ";return l.type!=="meta"&&l.type!=="hunk"&&t!=="plaintext"&&l.codeContent.trim()&&(f=o.jsx(Yt,{language:t,style:e,customStyle:{margin:0,padding:0,background:"transparent",display:"inline",fontSize:"inherit",lineHeight:"inherit"},codeTagProps:{style:{fontFamily:"inherit",background:"transparent"}},PreTag:"span",children:l.codeContent}),l.type==="add"?f=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"+"}),f]}):l.type==="delete"&&(f=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"-"}),f]}))),o.jsxs("div",{className:I,children:[o.jsx("div",{className:C,"aria-hidden":"true",style:{pointerEvents:"none"},children:o.jsxs("div",{className:"flex justify-between gap-2",children:[o.jsx("span",{className:"text-right w-8",children:u}),o.jsx("span",{className:"text-right w-8",children:p})]})}),o.jsx("div",{className:c,children:f})]},Q)};return o.jsxs("div",{className:"flex flex-col h-full bg-background",children:[o.jsxs("div",{className:"px-4 py-2 bg-muted/50 flex items-center justify-between min-h-10",children:[o.jsx("span",{className:"font-mono text-sm text-foreground truncate",title:A.file,children:s}),o.jsxs("div",{className:"flex items-center gap-3 text-xs flex-shrink-0",children:[A.insertions>0&&o.jsxs("span",{className:"text-green-600 dark:text-green-500",children:["+",A.insertions]}),A.deletions>0&&o.jsxs("span",{className:"text-red-600 dark:text-red-500",children:["-",A.deletions]}),o.jsx("span",{className:"text-muted-foreground",children:t})]})]}),o.jsx("div",{className:"flex-1 overflow-auto",children:A.diff.trim()===""?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"No changes to display"}):o.jsx("div",{className:"min-w-max",children:r.map(g)})})]})}function P2(A,e=2){const t=A.split("/");return t.length<=e+1?A:`../${t.slice(-e).join("/")}`}function on({file:A,staged:e,showModifiedIndicator:t=!1}){const{openDiff:s}=Te(),n=zn(),r=sg(),i=qB(),a=YB(),g=Va(D=>D.openConfirmation),[l,Q]=x.useState(e),I=async D=>{D.stopPropagation();const j=D.target.checked;Q(j);try{j?await n.mutateAsync([A.path]):await r.mutateAsync([A.path])}catch(K){Q(!j),console.error("Failed to stage/unstage file:",K)}},C=async D=>{D.stopPropagation(),g({title:"Restore File",message:`Restore ${A.path} to HEAD state? This will discard all changes.`,confirmLabel:"Restore",variant:"destructive",onConfirm:async()=>{try{await i.mutateAsync([A.path])}catch(j){throw console.error("Failed to restore file:",j),j}}})},c=async D=>{D.stopPropagation(),g({title:"Delete File",message:`Delete ${A.path}? This will permanently remove the untracked file.`,confirmLabel:"Delete",variant:"destructive",onConfirm:async()=>{try{await a.mutateAsync([A.path])}catch(j){throw console.error("Failed to delete file:",j),j}}})},u=()=>{s(A.path,e)},f=(()=>{switch(A.status){case"added":case"untracked":return{icon:HQ,color:"text-green-500",label:"A",labelColor:"text-green-500"};case"deleted":return{icon:EC,color:"text-red-500",label:"D",labelColor:"text-red-500"};case"modified":return{icon:ts,color:"text-blue-500",label:"M",labelColor:"text-blue-500"};case"renamed":return{icon:ts,color:"text-purple-500",label:"R",labelColor:"text-purple-500"};case"conflicted":return{icon:YQ,color:"text-red-500",label:"C",labelColor:"text-red-500"};default:return{icon:ts,color:"text-muted-foreground",label:"?",labelColor:"text-muted-foreground"}}})(),k=f.icon,v=P2(A.path,2);return o.jsxs("button",{type:"button",className:"flex items-center gap-2 px-3 py-1.5 hover:bg-muted/50 cursor-pointer group transition-colors w-full text-left h-9",onClick:u,children:[o.jsx("input",{type:"checkbox",checked:l,onChange:I,onClick:D=>D.stopPropagation(),className:"w-4 h-4 rounded border-border","aria-label":`${l?"Unstage":"Stage"} ${A.path}`}),o.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[o.jsx(k,{className:`w-4 h-4 flex-shrink-0 ${f.color}`}),o.jsx("div",{className:"flex-1 min-w-0",children:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("span",{className:"text-sm text-foreground font-mono truncate",title:`${A.path}
|
|
121
|
-
${A.absPath}`,children:v}),o.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[o.jsx("span",{className:`text-xs font-semibold ${f.labelColor}`,children:f.label}),t&&o.jsx("div",{title:"Also modified in working directory",children:o.jsx(wo,{className:"w-3.5 h-3.5 text-orange-500"})})]})]})})]}),A.insertions!==void 0||A.deletions!==void 0?o.jsxs("div",{className:"flex items-center gap-2 text-xs flex-shrink-0",children:[A.insertions!==void 0&&A.insertions>0&&o.jsxs("span",{className:"text-green-500",children:["+",A.insertions]}),A.deletions!==void 0&&A.deletions>0&&o.jsxs("span",{className:"text-red-500",children:["-",A.deletions]})]}):null,o.jsxs("div",{className:"w-7 flex items-center justify-center flex-shrink-0",children:[!e&&A.status==="untracked"&&o.jsx("button",{type:"button",onClick:c,className:"p-1 hover:bg-destructive/10 rounded opacity-0 group-hover:opacity-100 transition-opacity",title:"Delete untracked file","aria-label":`Delete ${A.path}`,children:o.jsx(yr,{className:"w-4 h-4 text-destructive"})}),!e&&A.status!=="untracked"&&A.status!=="added"&&o.jsx("button",{type:"button",onClick:C,className:"p-1 hover:bg-destructive/10 rounded opacity-0 group-hover:opacity-100 transition-opacity",title:"Restore file to HEAD (Shift+R)","aria-label":`Restore ${A.path}`,children:o.jsx(TQ,{className:"w-4 h-4 text-destructive"})}),e&&!t&&o.jsx(Ht,{className:"w-4 h-4 text-green-500 opacity-0 group-hover:opacity-100 transition-opacity"})]})]})}function W2({status:A}){const{openCommitModal:e,openDiff:t}=Te(),s=zn();sg();const{currentFocus:n,gitFileIndex:r}=kg(),i=x.useRef(new Map),a=(A.conflicted?.length??0)>0,g=A.staged.length>0,l=A.unstaged.length>0||A.untracked.length>0,Q=[...A.unstaged,...A.untracked],I=Q.length>0;x.useMemo(()=>[...A.conflicted??[],...A.staged,...A.unstaged,...A.untracked],[A]);const C=new Set(A.unstaged.map(p=>p.path)),c=()=>{const p=Q.map(f=>f.path);p.length>0&&s.mutate(p)},u=A.conflicted?.length??0;return x.useEffect(()=>{if(n==="git"&&r>=0){i.current.get(r)?.scrollIntoView({block:"nearest",behavior:"smooth"});const k=[...A.conflicted??[],...A.staged,...A.unstaged,...A.untracked][r];if(k){const v=A.staged.includes(k);t(k.path,v)}}},[n,r,A.conflicted,A.staged,A.unstaged,A.untracked,t]),o.jsxs("div",{className:"flex flex-col",children:[a&&o.jsxs("div",{className:"border-b border-border",children:[o.jsx("div",{className:"px-3 py-2 bg-red-500/10 flex items-center justify-between",children:o.jsxs("span",{className:"text-xs font-semibold text-red-500 uppercase flex items-center gap-1.5",children:[o.jsx(YQ,{className:"w-3.5 h-3.5"}),"Conflicts (",u,")"]})}),o.jsx("div",{className:"divide-y divide-border",children:A.conflicted?.map((p,f)=>{const k=f,v=n==="git"&&r===k;return o.jsx("div",{ref:D=>{D?i.current.set(k,D):i.current.delete(k)},className:v?"ring-1 ring-inset ring-primary/40":"",children:o.jsx(on,{file:p,staged:!1})},p.path)})})]}),g&&o.jsxs("div",{className:"border-b border-border",children:[o.jsxs("div",{className:"px-3 py-2 bg-muted/50 flex items-center justify-between",children:[o.jsxs("span",{className:"text-xs font-semibold text-foreground uppercase",children:["Staged Changes (",A.staged.length,")"]}),o.jsxs("div",{className:"flex items-center gap-1",children:[A.staged.length>0&&!a&&o.jsxs(le,{variant:"primary",size:"sm",onClick:e,className:"h-6 text-xs",children:[o.jsx(un,{className:"w-3 h-3 mr-1"}),"Commit"]}),A.staged.length>0&&a&&o.jsx("span",{className:"text-xs text-muted-foreground",children:"Resolve conflicts first"})]})]}),o.jsx("div",{className:"divide-y divide-border",children:A.staged.map((p,f)=>{const k=u+f,v=n==="git"&&r===k;return o.jsx("div",{ref:D=>{D?i.current.set(k,D):i.current.delete(k)},className:v?"ring-1 ring-inset ring-primary/40":"",children:o.jsx(on,{file:p,staged:!0,showModifiedIndicator:C.has(p.path)})},p.path)})})]}),l&&o.jsxs("div",{children:[o.jsxs("div",{className:"px-3 py-2 bg-muted/50 flex items-center justify-between",children:[o.jsxs("span",{className:"text-xs font-semibold text-foreground uppercase",children:["Changes (",A.unstaged.length+A.untracked.length,")"]}),I&&o.jsxs(le,{variant:"ghost",size:"sm",onClick:c,title:"Stage all changes",className:"h-6 text-xs",children:[o.jsx(CC,{className:"w-3 h-3 mr-1"}),"Stage All"]})]}),o.jsxs("div",{className:"divide-y divide-border",children:[A.unstaged.map((p,f)=>{const k=u+A.staged.length+f,v=n==="git"&&r===k;return o.jsx("div",{ref:D=>{D?i.current.set(k,D):i.current.delete(k)},className:v?"ring-1 ring-inset ring-primary/40":"",children:o.jsx(on,{file:p,staged:!1})},p.path)}),A.untracked.map((p,f)=>{const k=u+A.staged.length+A.unstaged.length+f,v=n==="git"&&r===k;return o.jsx("div",{ref:D=>{D?i.current.set(k,D):i.current.delete(k)},className:v?"ring-1 ring-inset ring-primary/40":"",children:o.jsx(on,{file:p,staged:!1})},p.path)})]})]}),!a&&!g&&!l&&o.jsx("div",{className:"p-4 text-sm text-muted-foreground text-center",children:"No changes"})]})}const EQ="git",CQ=320,z2=320,V2=600,Z2=x.memo(function({onFixWithAI:e}){const t=Te(iA=>iA.isExpanded),s=Te(iA=>iA.collapseSidebar),n=ss(iA=>iA.widths[EQ]??CQ),{data:r,isLoading:i,error:a,refetch:g}=Wn(),{data:l}=Hf(),Q=ke(),I=Of(),C=qf(),c=Yf(),u=Pf(),p=Wf(),[f,k]=x.useState([]),[v,D]=x.useState(!1),[j,K]=x.useState(!1),[V,eA]=x.useState("origin"),[X,R]=x.useState(""),[W,O]=x.useState(null);x.useEffect(()=>{t&&Q.invalidateQueries({queryKey:["git","status"]})},[t,Q]);const L=()=>{g()},w=x.useCallback((iA,GA)=>{const qA=`${Date.now()}-${Math.random().toString(36).slice(2,7)}`;k(BA=>[...BA,{id:qA,message:iA,context:GA}])},[]),B=x.useCallback(iA=>{k(GA=>GA.filter(qA=>qA.id!==iA))},[]),d=async()=>{try{await I.mutateAsync()}catch(iA){w(iA instanceof Error?iA.message:"Failed to push","git push")}},N=async()=>{try{await C.mutateAsync()}catch(iA){w(iA instanceof Error?iA.message:"Failed to pull","git pull")}},G=async()=>{if(!(!V.trim()||!X.trim()))try{await u.mutateAsync({name:V.trim(),url:X.trim()}),eA("origin"),R(""),K(!1)}catch(iA){w(iA instanceof Error?iA.message:"Failed to add remote","git remote add")}},J=async iA=>{if(W!==iA){O(iA);return}O(null);try{await p.mutateAsync(iA)}catch(GA){w(GA instanceof Error?GA.message:"Failed to remove remote","git remote remove")}},Y=x.useCallback(iA=>{const GA=iA.context?`I got a git error during ${iA.context}:
|
|
122
|
-
|
|
123
|
-
${iA.message}
|
|
124
|
-
|
|
125
|
-
Please help me fix this.`:`I got a git error:
|
|
126
|
-
|
|
127
|
-
${iA.message}
|
|
128
|
-
|
|
129
|
-
Please help me fix this.`;B(iA.id),e?.(GA)},[e,B]);if(!t)return null;const b=[...r?.conflicted||[],...r?.staged||[],...r?.unstaged||[],...r?.untracked||[]].length,E=r?.remotes&&r.remotes.length>0,h=r?.hasUpstream??!1,S=r&&E&&(r.ahead>0||!h),U=r&&r.behind>0,_=I.isPending||C.isPending,tA=a instanceof Error&&a.message.toLowerCase().includes("not a git repository"),IA=E?h?S?`Push ${r?.ahead} commit(s) to remote`:"Nothing to push":"Publish branch to remote":"No remote configured";return o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:n},children:[o.jsx(_s,{panelKey:EQ,side:"right",minWidth:z2,maxWidth:V2,defaultWidth:CQ}),o.jsxs("div",{className:"flex-1 flex flex-col h-full min-w-0 w-full",children:[o.jsxs("div",{className:"h-14 border-b border-border px-3 flex items-center justify-between",children:[o.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[o.jsx(ao,{className:"w-4 h-4 text-muted-foreground"}),o.jsxs("span",{className:"font-medium text-foreground",children:["Git Changes",b>0&&o.jsxs("span",{className:"ml-2 text-xs text-muted-foreground",children:["(",b,")"]})]})]}),o.jsx(le,{variant:"ghost",size:"icon",onClick:s,title:"Close sidebar",children:o.jsx(at,{className:"w-4 h-4"})})]}),o.jsx("div",{className:"flex-1 overflow-y-auto",children:i?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading git status..."}):tA?o.jsxs("div",{className:"p-4 flex flex-col items-center justify-center gap-3 text-center",children:[o.jsx(IC,{className:"w-10 h-10 text-muted-foreground"}),o.jsx("div",{className:"text-sm text-muted-foreground",children:"No git repository found in this directory."}),o.jsxs(le,{variant:"secondary",size:"sm",onClick:()=>c.mutate(),disabled:c.isPending,className:"gap-1.5",children:[o.jsx(ao,{className:`w-3.5 h-3.5 ${c.isPending?"animate-spin":""}`}),c.isPending?"Initializing...":"Initialize Repository"]}),c.isError&&o.jsx("span",{className:"text-xs text-orange-500",children:c.error instanceof Error?c.error.message:"Failed to initialize"})]}):a?o.jsx("div",{className:"p-3 text-sm text-muted-foreground",children:o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsx("span",{className:"text-orange-500",children:a instanceof Error?a.message:"Failed to load git status"}),o.jsx(le,{variant:"secondary",size:"sm",onClick:L,children:"Retry"})]})}):!r||b===0?o.jsx("div",{className:"p-3 text-sm text-muted-foreground",children:"No changes detected"}):o.jsx(W2,{status:r})}),r&&!tA&&!a&&o.jsxs("div",{className:"border-t border-border",children:[o.jsxs("button",{type:"button",onClick:()=>D(!v),className:"w-full px-3 py-2 flex items-center gap-2 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors",children:[v?o.jsx(qt,{className:"w-3 h-3"}):o.jsx(at,{className:"w-3 h-3"}),o.jsx(Wo,{className:"w-3 h-3"}),o.jsx("span",{children:"Remotes"}),r.remotes&&o.jsx("span",{className:"ml-auto text-[10px] opacity-60",children:r.remotes.length})]}),v&&o.jsxs("div",{className:"px-3 pb-2 space-y-1",children:[l&&l.length>0?l.filter(iA=>iA.type==="fetch").map(iA=>o.jsxs("div",{className:"flex items-center gap-2 text-xs group",children:[o.jsx("span",{className:"font-medium text-foreground",children:iA.name}),o.jsx("span",{className:"truncate text-muted-foreground flex-1 min-w-0",children:iA.url}),o.jsx("button",{type:"button",onClick:()=>{W===iA.name?J(iA.name):O(iA.name)},onBlur:()=>O(null),disabled:p.isPending,className:`${W===iA.name?"opacity-100 text-red-500":"opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-red-500"} transition-all p-0.5`,title:W===iA.name?`Click again to confirm removing ${iA.name}`:`Remove ${iA.name}`,children:W===iA.name?o.jsx("span",{className:"text-[10px] font-medium",children:"Remove?"}):o.jsx(yr,{className:"w-3 h-3"})})]},iA.name)):o.jsx("div",{className:"text-xs text-muted-foreground py-1",children:"No remotes configured"}),j?o.jsxs("div",{className:"space-y-1.5 pt-1",children:[o.jsx("input",{type:"text",value:V,onChange:iA=>eA(iA.target.value),placeholder:"Name (e.g. origin)",className:"w-full text-xs px-2 py-1 rounded border border-border bg-background text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-primary"}),o.jsx("input",{type:"text",value:X,onChange:iA=>R(iA.target.value),placeholder:"URL (e.g. https://github.com/...)",className:"w-full text-xs px-2 py-1 rounded border border-border bg-background text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-primary",onKeyDown:iA=>{iA.key==="Enter"&&G(),iA.key==="Escape"&&K(!1)}}),o.jsxs("div",{className:"flex gap-1",children:[o.jsx(le,{variant:"secondary",size:"sm",onClick:G,disabled:u.isPending||!V.trim()||!X.trim(),className:"flex-1 h-6 text-[10px]",children:u.isPending?"Adding...":"Add"}),o.jsx(le,{variant:"ghost",size:"sm",onClick:()=>K(!1),className:"h-6 text-[10px]",children:"Cancel"})]})]}):o.jsxs("button",{type:"button",onClick:()=>K(!0),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors pt-1",children:[o.jsx(go,{className:"w-3 h-3"}),o.jsx("span",{children:"Add remote"})]})]})]}),f.length>0&&o.jsx("div",{className:"border-t border-border",children:f.map(iA=>o.jsxs("div",{className:"px-3 py-2 text-xs border-b border-border last:border-b-0 bg-orange-50 dark:bg-orange-950/20 flex items-start gap-2",children:[o.jsx("span",{className:"text-orange-500 flex-1 min-w-0 break-words",children:iA.message}),o.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[e&&o.jsxs("button",{type:"button",onClick:()=>Y(iA),className:"flex items-center gap-1 text-[10px] px-1.5 py-0.5 rounded bg-primary/10 text-primary hover:bg-primary/20 transition-colors",title:"Fix with AI",children:[o.jsx(eo,{className:"w-3 h-3"}),"Fix"]}),o.jsx("button",{type:"button",onClick:()=>B(iA.id),className:"text-muted-foreground hover:text-foreground transition-colors p-0.5",title:"Dismiss",children:o.jsx(ct,{className:"w-3 h-3"})})]})]},iA.id))}),o.jsxs("div",{className:"h-12 border-t border-border flex items-center gap-1 px-2",children:[o.jsxs(le,{variant:"secondary",size:"sm",onClick:N,disabled:_||!E||!h,title:E?h?U?`Pull ${r?.behind} commit(s) from remote`:"Pull from remote":"Branch not published yet":"No remote configured",className:"flex-1 h-8 text-xs gap-1.5",children:[o.jsx(uC,{className:`w-3.5 h-3.5 ${C.isPending?"animate-pulse":""}`}),"Pull",U&&o.jsxs("span",{className:"text-orange-500",children:["↓",r?.behind]})]}),o.jsxs(le,{variant:"secondary",size:"sm",onClick:d,disabled:!S||_,title:IA,className:"flex-1 h-8 text-xs gap-1.5",children:[o.jsx(dC,{className:`w-3.5 h-3.5 ${I.isPending?"animate-pulse":""}`}),!h&&E?"Publish":"Push",h&&r&&r.ahead>0&&o.jsxs("span",{className:"text-green-500",children:["↑",r.ahead]})]})]}),o.jsxs("div",{className:"h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2",children:[o.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[o.jsx(ao,{className:"w-3 h-3 flex-shrink-0"}),r?.branch&&o.jsx("span",{className:"truncate",children:r.branch}),r&&!h&&E&&o.jsx("span",{className:"text-[10px] text-orange-500 flex-shrink-0",children:"unpublished"})]}),o.jsx(le,{variant:"ghost",size:"icon",onClick:L,title:"Refresh git status",className:"h-6 w-6 flex-shrink-0",disabled:i,children:o.jsx(Zt,{className:`w-3 h-3 ${i?"animate-spin":""}`})})]})]})]})}),_2=x.memo(function(){const e=Te(r=>r.isExpanded),t=Te(r=>r.toggleSidebar),{data:s}=Wn(),n=(s?.staged?.length??0)+(s?.unstaged?.length??0)+(s?.untracked?.length??0);return o.jsxs("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Git",children:[o.jsx(ao,{className:"w-5 h-5 text-muted-foreground mx-auto"}),n>0&&o.jsx("span",{className:"absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold",children:n>9?"9+":n})]})}),ws=ht()(kB(A=>({isCollapsed:!1,toggleCollapse:()=>A(e=>({isCollapsed:!e.isCollapsed})),setCollapsed:e=>A({isCollapsed:e})}),{name:"sidebar-storage"}));function IE(A,e=!0){return gt({queryKey:["files","tree",A],queryFn:()=>mA.getFileTree(A),enabled:e,staleTime:1e4,retry:1})}function X2(A){return gt({queryKey:["files","read",A],queryFn:()=>A?mA.readFileContent(A):null,enabled:!!A,staleTime:5e3,retry:1})}function $2(A,e=!1,t=!1){return gt({queryKey:["git","diff","fullFile",A,e],queryFn:()=>A?mA.getGitDiffFullFile(A,e):null,enabled:t&&!!A,retry:1,refetchInterval:!1})}const A1=x.memo(function(){const e=Te(f=>f.isDiffOpen),t=Te(f=>f.selectedFile),s=Te(f=>f.selectedFileStaged),n=Te(f=>f.closeDiff),r=ws(f=>f.setCollapsed),i=x.useRef(null),a=x.useRef(!1),{data:g,isLoading:l}=Jf(t,s),[Q,I]=x.useState(!1),{data:C,isLoading:c}=$2(t,s,Q),u=Q&&C?C:g,p=Q?c:l;return x.useEffect(()=>{if(e||I(!1),e&&!a.current){const{isCollapsed:f}=ws.getState();i.current=f,r(!0)}else!e&&a.current&&i.current!==null&&(r(i.current),i.current=null);a.current=e},[e,r]),x.useEffect(()=>{const f=k=>{const v=k.target,D=v.tagName==="INPUT"||v.tagName==="TEXTAREA"||v.isContentEditable;(k.key==="Escape"||k.key==="q"&&!D)&&e&&n(),k.key==="f"&&!D&&e&&I(j=>!j)};return document.addEventListener("keydown",f),()=>document.removeEventListener("keydown",f)},[e,n]),!e||!t?null:o.jsxs("div",{className:"absolute inset-0 bg-background z-50 flex flex-col animate-in slide-in-from-left duration-300",children:[o.jsxs("div",{className:"h-14 border-b border-border px-4 flex items-center gap-3",children:[o.jsx(le,{variant:"ghost",size:"icon",onClick:n,title:"Close diff viewer (ESC)",children:o.jsx(ct,{className:"w-4 h-4"})}),o.jsxs("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[o.jsx("span",{className:"text-sm font-medium text-foreground font-mono truncate",title:`${t}
|
|
130
|
-
${u?.absPath||""}`,children:t}),s&&o.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-primary/10 text-primary flex-shrink-0",children:"Staged"})]}),o.jsxs(le,{variant:Q?"secondary":"ghost",size:"sm",onClick:()=>I(f=>!f),title:Q?"Show diff only (f)":"Show full file with diff (f)",className:"flex items-center gap-1.5 text-xs h-7",children:[Q?o.jsx(va,{className:"w-3.5 h-3.5"}):o.jsx(FQ,{className:"w-3.5 h-3.5"}),Q?"Diff":"Full File"]})]}),o.jsx("div",{className:"flex-1 overflow-auto",children:p?o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"Loading diff..."}):u?o.jsx(H2,{diff:u}):o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"No diff available"})})]})});function e1(){const{isCommitModalOpen:A,closeCommitModal:e}=Te(),t=Te(I=>I.commitSessionId),s=Tf(),n=jf(t),[r,i]=x.useState(""),a=x.useId(),g=x.useCallback(async()=>{if(r.trim())try{await s.mutateAsync(r),i(""),e()}catch(I){console.error("Failed to commit:",I)}},[r,s,e]),l=()=>{i(""),e()},Q=x.useCallback(async()=>{try{const I=await n.mutateAsync();i(I.message)}catch(I){console.error("Failed to generate commit message:",I)}},[n]);return x.useEffect(()=>{if(!A)return;const I=C=>{(C.metaKey||C.ctrlKey)&&C.key==="Enter"&&(C.preventDefault(),C.stopPropagation(),r.trim()&&!s.isPending&&g()),(C.metaKey||C.ctrlKey)&&C.key==="g"&&(C.preventDefault(),C.stopPropagation(),Q())};return document.addEventListener("keydown",I),()=>document.removeEventListener("keydown",I)},[A,r,s.isPending,g,Q]),o.jsx(So,{isOpen:A,onClose:l,title:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(un,{className:"w-5 h-5"}),o.jsx("span",{children:"Commit Changes"})]}),maxWidth:"2xl",children:o.jsxs("div",{className:"space-y-4",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:a,className:"text-sm font-medium text-foreground",children:"Commit Message"}),o.jsx(Yn,{id:a,value:r,onChange:I=>i(I.target.value),placeholder:"Enter commit message...",rows:6,className:"w-full resize-none",autoFocus:!0,disabled:n.isPending})]}),o.jsx(le,{variant:"secondary",onClick:Q,className:"w-full",disabled:n.isPending,children:n.isPending?o.jsxs(o.Fragment,{children:[o.jsx(Je,{className:"w-4 h-4 mr-2 animate-spin"}),"Generating..."]}):o.jsxs(o.Fragment,{children:[o.jsx(eo,{className:"w-4 h-4 mr-2"}),"Generate commit message"," ",o.jsx("span",{className:"text-muted-foreground ml-1",children:"(⌘G)"})]})}),n.isError&&o.jsx("div",{className:"text-sm text-red-600 dark:text-red-400 bg-red-500/10 border border-red-500/20 rounded px-3 py-2",children:n.error?.message||"Failed to generate commit message"}),o.jsxs("div",{className:"flex items-center justify-end gap-2 pt-4 border-t border-border",children:[o.jsxs(le,{variant:"ghost",onClick:l,children:["Cancel ",o.jsx("span",{className:"text-muted-foreground ml-1",children:"(Esc)"})]}),o.jsx(le,{variant:"primary",onClick:g,disabled:!r.trim()||s.isPending,children:s.isPending?o.jsx("span",{children:"Committing..."}):o.jsxs(o.Fragment,{children:[o.jsx(un,{className:"w-4 h-4 mr-2"}),"Commit ",o.jsx("span",{className:"text-muted-foreground ml-1",children:"(⌘↵)"})]})})]}),s.isError&&o.jsx("div",{className:"text-sm text-red-600 dark:text-red-400 bg-red-500/10 border border-red-500/20 rounded px-3 py-2",children:s.error?.message||"Failed to commit changes"})]})})}function uE(A,e=!0){const t=tt(s=>s.isExpanded);return gt({queryKey:["session",A,"files"],queryFn:()=>A?mA.getSessionFiles(A):null,enabled:!!A&&e,refetchInterval:t&&e?5e3:!1,retry:1,staleTime:3e3})}const IQ="session-files",uQ=320,t1=320,o1=600;function s1(A){switch(A){case"write":return o.jsx(HQ,{className:"w-3 h-3 text-green-500"});case"patch":return o.jsx(Fo,{className:"w-3 h-3 text-blue-500"});default:return o.jsx(Fo,{className:"w-3 h-3 text-muted-foreground"})}}function r1(A){return A.split("/").pop()||A}function n1(A){if(A.artifact?.summary)return{additions:A.artifact.summary.additions,deletions:A.artifact.summary.deletions};const e=A.artifact?.patch||A.patch;if(e){let t=0,s=0;const n=e.split(`
|
|
131
|
-
`);for(const r of n)r.startsWith("+")&&!r.startsWith("+++")?t++:r.startsWith("-")&&!r.startsWith("---")&&s++;return{additions:t,deletions:s}}return A.content?{additions:A.content.split(`
|
|
132
|
-
`).length,deletions:0}:{additions:0,deletions:0}}function i1({file:A}){const e=tt(g=>g.openDiff),s=tt(g=>g.selectedFile)===A.path,n=A.operations[A.operations.length-1],{totalAdditions:r,totalDeletions:i}=x.useMemo(()=>{let g=0,l=0;for(const Q of A.operations){const I=n1(Q);g+=I.additions,l+=I.deletions}return{totalAdditions:g,totalDeletions:l}},[A.operations]),a=()=>{A.operations.length>0&&e(A.path,A.operations)};return o.jsx("button",{type:"button",onClick:a,className:`w-full text-left px-3 py-2 hover:bg-muted/50 transition-colors ${s?"bg-muted":""}`,children:o.jsxs("div",{className:"flex items-center gap-2",children:[s1(n?.operation||"write"),o.jsx("div",{className:"flex-1 min-w-0",children:o.jsx("div",{className:"text-sm font-medium truncate",children:r1(A.path)})}),o.jsxs("div",{className:"flex items-center gap-1 text-xs shrink-0",children:[A.operationCount>1&&o.jsxs("span",{className:"bg-muted text-muted-foreground px-1 rounded mr-1",children:[A.operationCount,"x"]}),o.jsxs("span",{className:"text-green-500",children:["+",r]}),o.jsxs("span",{className:"text-red-500",children:["-",i]})]})]})})}const a1=x.memo(function({sessionId:e}){const t=tt(l=>l.isExpanded),s=tt(l=>l.collapseSidebar),n=ss(l=>l.widths[IQ]??uQ),{data:r,isLoading:i,error:a,refetch:g}=uE(e,t);return t?o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:n},children:[o.jsx(_s,{panelKey:IQ,side:"right",minWidth:t1,maxWidth:o1,defaultWidth:uQ}),o.jsxs("div",{className:"flex-1 flex flex-col h-full min-w-0",children:[o.jsxs("div",{className:"h-14 border-b border-border px-3 flex items-center justify-between shrink-0",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Fo,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium",children:"Session Files"}),r&&r.totalFiles>0&&o.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",r.totalFiles,")"]})]}),o.jsx(le,{variant:"ghost",size:"icon",onClick:s,children:o.jsx(at,{className:"w-4 h-4"})})]}),o.jsx("div",{className:"flex-1 overflow-y-auto",children:i?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading session files..."}):a?o.jsx("div",{className:"p-4 text-sm text-orange-500",children:a instanceof Error?a.message:"Failed to load files"}):!r||r.totalFiles===0?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"No files modified in this session"}):o.jsx("div",{className:"divide-y divide-border",children:r.files.map(l=>o.jsx(i1,{file:l},l.path))})}),o.jsxs("div",{className:"h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2",children:[o.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[o.jsx(Fo,{className:"w-3 h-3 flex-shrink-0"}),r&&r.totalOperations>0?o.jsxs("span",{className:"truncate",children:[r.totalFiles," file",r.totalFiles!==1?"s":""," •"," ",r.totalOperations," op",r.totalOperations!==1?"s":""]}):o.jsx("span",{className:"truncate",children:"No changes"})]}),o.jsx("div",{className:"flex items-center gap-1 flex-shrink-0",children:o.jsx(le,{variant:"ghost",size:"icon",onClick:()=>g(),title:"Refresh session files",className:"h-6 w-6 transition-transform duration-200 hover:scale-110",disabled:i,children:o.jsx(Zt,{className:`w-3 h-3 ${i?"animate-spin":""}`})})})]})]})]}):null}),g1=x.memo(function({sessionId:e}){const t=tt(i=>i.isExpanded),s=tt(i=>i.toggleSidebar),{data:n}=uE(e,t),r=n?.totalFiles??0;return o.jsxs("button",{type:"button",onClick:s,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${t?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Session Files",children:[o.jsx(Fo,{className:"w-5 h-5 text-muted-foreground mx-auto"}),r>0&&o.jsx("span",{className:"absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold",children:r>9?"9+":r})]})});function l1(A){const e=A.split(`
|
|
133
|
-
`),t=[];let s=0,n=0;const r=[];for(const i of e){if(i.startsWith("*** Begin Patch")||i.startsWith("*** End Patch")||i.startsWith("*** Update File:")||i.startsWith("*** Add File:")||i.startsWith("*** Delete File:")){r.length>0&&(t.push(`@@ -1,${n} +1,${s} @@`),t.push(...r),r.length=0,s=0,n=0),t.push(i);continue}if(i.match(/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/)){r.length>0&&(t.push(`@@ -1,${n} +1,${s} @@`),t.push(...r),r.length=0,s=0,n=0),t.push(i);continue}if(i.startsWith("@@")){t.push(i);continue}i.startsWith("+")?(s++,r.push(i)):i.startsWith("-")?(n++,r.push(i)):i.startsWith(" ")||i.startsWith(" ")?(s++,n++,r.push(i.startsWith(" ")?` ${i}`:i)):i.trim()===""?(r.push(" "),s++,n++):(s++,n++,r.push(` ${i}`))}return r.length>0&&(t.push(`@@ -1,${n} +1,${s} @@`),t.push(...r)),t.join(`
|
|
134
|
-
`)}function Q1(A){const e=A.split(".").pop()?.toLowerCase();return{js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"text",svelte:"svelte"}[e||""]||"javascript"}function B1(A){const e=A.split(`
|
|
135
|
-
`),t=[];let s=0,n=0,r=!1,i="";for(const a of e){if(a.startsWith("+++")||a.startsWith("*** Update File:")){const l=a.match(/\+\+\+ b\/(.+)/)||a.match(/\*\*\* Update File: (.+)/);l&&(i=l[1])}if(a.startsWith("*** Add File:")){const l=a.match(/\*\*\* Add File: (.+)/);l&&(i=l[1])}const g=a.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(g){s=Number.parseInt(g[1],10),n=Number.parseInt(g[2],10),r=!0,t.push({content:a,codeContent:a,type:"header"});continue}if(a.startsWith("***")||a.startsWith("diff ")||a.startsWith("index ")||a.startsWith("---")||a.startsWith("+++")||a.startsWith("@@")&&!r){t.push({content:a,codeContent:a,type:"meta"});continue}r?a.startsWith("+")?t.push({content:a,codeContent:a.slice(1),type:"add",newLineNum:n++}):a.startsWith("-")?t.push({content:a,codeContent:a.slice(1),type:"remove",oldLineNum:s++}):a.startsWith(" ")||a===""?t.push({content:a,codeContent:a.startsWith(" ")?a.slice(1):a,type:"context",oldLineNum:s++,newLineNum:n++}):t.push({content:a,codeContent:a,type:"context",oldLineNum:s++,newLineNum:n++}):t.push({content:a,codeContent:a,type:"meta"})}return{lines:t,filePath:i}}function c1({patch:A}){const{lines:e,filePath:t}=B1(A),s=Q1(t),n=document?.documentElement.classList.contains("dark")?Eo:Co;return o.jsx("div",{className:"bg-card/60 border border-border rounded-lg overflow-hidden h-full",children:o.jsx("div",{className:"overflow-x-auto overflow-y-auto h-full text-xs font-mono",children:e.map((r,i)=>{const a=`line-${i}-${r.content.slice(0,20)}`;if(r.type==="meta"||r.type==="header")return o.jsx("div",{className:`px-3 py-0.5 whitespace-pre-wrap break-all ${r.type==="header"?"text-muted-foreground/80 bg-muted/20":"text-muted-foreground/80"}`,children:r.content},a);let g="",l="";switch(r.type){case"add":g="text-emerald-700 dark:text-emerald-300",l="bg-emerald-500/10";break;case"remove":g="text-red-600 dark:text-red-300",l="bg-red-500/10";break;default:g="text-foreground/80"}let Q=r.content;return r.codeContent.trim()&&s!=="text"&&(Q=o.jsx(Yt,{language:s,style:n,customStyle:{margin:0,padding:0,background:"transparent",display:"inline",fontSize:"inherit",lineHeight:"inherit"},codeTagProps:{style:{fontFamily:"inherit",background:"transparent"}},PreTag:"span",children:r.codeContent}),r.type==="add"?Q=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"+"}),Q]}):r.type==="remove"?Q=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"-"}),Q]}):r.type==="context"&&(Q=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:" "}),Q]}))),o.jsxs("div",{className:`flex ${l}`,children:[o.jsx("div",{className:"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0","aria-hidden":"true",style:{pointerEvents:"none"},children:r.oldLineNum||""}),o.jsx("div",{className:"px-2 py-0.5 text-right text-muted-foreground/40 select-none w-12 flex-shrink-0 border-r border-border/50","aria-hidden":"true",style:{pointerEvents:"none"},children:r.newLineNum||""}),o.jsx("div",{className:`px-3 py-0.5 flex-1 min-w-0 whitespace-pre-wrap break-all ${g}`,children:Q})]},a)})})})}function E1(A){return new Date(A).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}const C1=x.memo(function(){const e=tt(c=>c.isDiffOpen),t=tt(c=>c.selectedFile),s=tt(c=>c.allOperations),n=tt(c=>c.selectedOperationIndex),r=tt(c=>c.selectOperation),i=tt(c=>c.closeDiff),a=ws(c=>c.setCollapsed),g=x.useRef(null),l=x.useRef(!1),Q=s[n],I=x.useMemo(()=>{if(!Q||!t)return null;let c=null;if(Q.artifact?.patch)c=Q.artifact.patch;else if(Q.patch)c=Q.patch;else if(Q.content){const p=Q.content.split(`
|
|
136
|
-
`);c=`*** Add File: ${t}
|
|
137
|
-
${p.map(f=>`+${f}`).join(`
|
|
138
|
-
`)}`}return c?/@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/.test(c)?c:l1(c):null},[Q,t]);if(x.useEffect(()=>{if(e&&!l.current){const{isCollapsed:c}=ws.getState();g.current=c,a(!0)}else!e&&l.current&&g.current!==null&&(a(g.current),g.current=null);l.current=e},[e,a]),x.useEffect(()=>{const c=u=>{const p=u.target,f=p.tagName==="INPUT"||p.tagName==="TEXTAREA"||p.isContentEditable;(u.key==="Escape"||u.key==="q"&&!f)&&e&&i(),!f&&e&&s.length>1&&(u.key==="ArrowLeft"||u.key==="["?(u.preventDefault(),r(Math.max(0,n-1))):(u.key==="ArrowRight"||u.key==="]")&&(u.preventDefault(),r(Math.min(s.length-1,n+1))))};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[e,i,s.length,n,r]),!e||!t||!Q)return null;const C=s.length>1;return o.jsxs("div",{className:"absolute inset-0 bg-background z-50 flex flex-col animate-in slide-in-from-left duration-300",children:[o.jsxs("div",{className:"h-14 border-b border-border px-4 flex items-center gap-3 shrink-0",children:[o.jsx(le,{variant:"ghost",size:"icon",onClick:i,title:"Close diff viewer (ESC)",children:o.jsx(ct,{className:"w-4 h-4"})}),o.jsxs("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[o.jsx("span",{className:"text-sm font-medium text-foreground font-mono truncate",title:t,children:t}),o.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-primary/10 text-primary flex-shrink-0 capitalize",children:Q.operation}),Q.artifact?.summary&&o.jsxs("div",{className:"flex items-center gap-1 text-xs flex-shrink-0",children:[o.jsxs("span",{className:"text-green-500",children:["+",Q.artifact.summary.additions]}),o.jsxs("span",{className:"text-red-500",children:["-",Q.artifact.summary.deletions]})]})]}),C&&o.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[o.jsx(le,{variant:"ghost",size:"icon",onClick:()=>r(Math.max(0,n-1)),disabled:n===0,title:"Previous operation (←)",children:o.jsx(hC,{className:"w-4 h-4"})}),o.jsxs("span",{className:"text-xs text-muted-foreground min-w-[60px] text-center",children:[n+1," / ",s.length]}),o.jsx(le,{variant:"ghost",size:"icon",onClick:()=>r(Math.min(s.length-1,n+1)),disabled:n===s.length-1,title:"Next operation (→)",children:o.jsx(at,{className:"w-4 h-4"})})]})]}),C&&o.jsx("div",{className:"border-b border-border px-4 py-2 flex gap-2 overflow-x-auto shrink-0",children:s.map((c,u)=>o.jsxs("button",{type:"button",onClick:()=>r(u),className:`px-3 py-1.5 text-xs rounded-md flex items-center gap-2 shrink-0 transition-colors ${u===n?"bg-primary text-primary-foreground":"bg-muted hover:bg-muted/80 text-muted-foreground"}`,children:[o.jsx("span",{className:"capitalize",children:c.operation}),o.jsx("span",{className:"opacity-70",children:E1(c.timestamp)}),c.artifact?.summary&&o.jsxs("span",{className:"opacity-70",children:["+",c.artifact.summary.additions,"/-",c.artifact.summary.deletions]})]},c.toolCallId))}),o.jsx("div",{className:"flex-1 overflow-hidden p-4",children:I?o.jsx(c1,{patch:I}):o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"No diff content available"})})]})}),I1={};class u1{get baseUrl(){const e=window;if(e.OTTO_SERVER_URL)return e.OTTO_SERVER_URL;if(!I1?.VITE_API_BASE_URL)return rs}async listResearchSessions(e){const t=await fetch(`${this.baseUrl}/v1/sessions/${e}/research`,{method:"GET",headers:{"Content-Type":"application/json"}});if(!t.ok){const s=await t.json().catch(()=>({error:"Failed to fetch research sessions"}));throw new Error(s.error||"Failed to fetch research sessions")}return t.json()}async createResearchSession(e,t){const s=await fetch(`${this.baseUrl}/v1/sessions/${e}/research`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!s.ok){const n=await s.json().catch(()=>({error:"Failed to create research session"}));throw new Error(n.error||"Failed to create research session")}return s.json()}async deleteResearchSession(e){const t=await fetch(`${this.baseUrl}/v1/research/${e}`,{method:"DELETE",headers:{"Content-Type":"application/json"}});if(!t.ok){const s=await t.json().catch(()=>({error:"Failed to delete research session"}));throw new Error(s.error||"Failed to delete research session")}return t.json()}async injectContext(e,t,s){const n=await fetch(`${this.baseUrl}/v1/sessions/${e}/inject`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({researchSessionId:t,label:s})});if(!n.ok){const r=await n.json().catch(()=>({error:"Failed to inject context"}));throw new Error(r.error||"Failed to inject context")}return n.json()}async exportToNewSession(e,t){const s=await fetch(`${this.baseUrl}/v1/research/${e}/export`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})});if(!s.ok){const n=await s.json().catch(()=>({error:"Failed to export to session"}));throw new Error(n.error||"Failed to export to session")}return s.json()}}const si=new u1;function dE(A,e=!0){return gt({queryKey:["research","sessions",A],queryFn:()=>si.listResearchSessions(A),enabled:!!A&&e,staleTime:3e4})}function d1(){const A=ke();return Ze({mutationFn:({parentSessionId:e,data:t})=>si.createResearchSession(e,t??{}),onSuccess:(e,{parentSessionId:t})=>{A.invalidateQueries({queryKey:["research","sessions",t]})}})}function h1(){const A=Bn(e=>e.addContext);return Ze({mutationFn:({parentSessionId:e,researchSessionId:t,label:s})=>si.injectContext(e,t,s),onSuccess:(e,{parentSessionId:t})=>{A(t,{id:e.sessionId,sessionId:e.sessionId,label:e.label,content:e.content})}})}function f1(){const A=ke();return Ze({mutationFn:({researchId:e,data:t})=>si.exportToNewSession(e,t),onSuccess:()=>{A.invalidateQueries({queryKey:po})}})}const dQ="research",hQ=384,p1=384,m1=640,w1=x.memo(function({parentSessionId:e,onNavigateToSession:t}){const s=pt(BA=>BA.isExpanded),n=pt(BA=>BA.collapseSidebar),r=ss(BA=>BA.widths[dQ]??hQ),i=pt(BA=>BA.activeResearchSessionId),a=pt(BA=>BA.selectResearchSession),[g,l]=x.useState(!1),[Q,I]=x.useState(""),[C,c]=x.useState(!1),[u,p]=x.useState("idle"),f=x.useRef(null),k=x.useRef(null),{data:v,isLoading:D,refetch:j}=dE(e,s),K=d1(),V=h1(),eA=f1(),{data:X}=Xs(),{data:R}=Qa(i??void 0,{enabled:s}),{data:W}=Qa(e??void 0,{enabled:s});CE(i??void 0,s);const O=og(i??""),L=ke(),w=Ze({mutationFn:async({sessionId:BA,content:YA})=>mA.sendMessage(BA,{content:YA}),onSuccess:(BA,{sessionId:YA})=>{L.invalidateQueries({queryKey:["messages",YA]})}});x.useEffect(()=>{e&&pt.getState().setParentSessionId(e)},[e]),x.useEffect(()=>{v?.sessions?.length?v.sessions.some(YA=>YA.id===i)||a(v.sessions[0].id):v?.sessions?.length===0&&a(null)},[v,i,a]),x.useEffect(()=>{k.current?.scrollIntoView({behavior:"smooth"})},[]);const B=x.useCallback(()=>{const BA=f.current;BA&&(BA.style.height="auto",BA.style.height=`${Math.min(BA.scrollHeight,120)}px`)},[]);x.useEffect(()=>{B()},[B]);const d=x.useCallback(async()=>{if(e)try{const BA=await K.mutateAsync({parentSessionId:e,data:{}});await j(),a(BA.session.id),l(!1)}catch(BA){console.error("Failed to create research session:",BA)}},[e,K,a,j]),N=x.useCallback(BA=>{a(BA.id),l(!1)},[a]),G=x.useCallback(async()=>{if(!e||!i)return;if(W?.some(kA=>kA.role==="system"&&kA.parts?.some(VA=>typeof VA.content=="string"&&VA.content.includes(`from="${i}"`)))){p("error"),setTimeout(()=>p("idle"),3e3);return}const Ce=`Research ${new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}`;try{await V.mutateAsync({parentSessionId:e,researchSessionId:i,label:Ce}),p("success"),setTimeout(()=>p("idle"),5e3),L.invalidateQueries({queryKey:["messages",e]})}catch(kA){console.error("Failed to inject context:",kA),p("error"),setTimeout(()=>p("idle"),3e3)}},[e,i,V,W,L]),J=x.useCallback(async()=>{if(i)try{const BA=await eA.mutateAsync({researchId:i});t&&BA.newSession?.id&&t(BA.newSession.id)}catch(BA){console.error("Failed to export to session:",BA)}},[i,eA,t]),Y=x.useCallback(async()=>{if(!(!Q.trim()||!e))try{let BA=i;BA||(BA=(await K.mutateAsync({parentSessionId:e,data:{}})).session.id,a(BA)),await w.mutateAsync({sessionId:BA,content:Q}),I(""),f.current&&(f.current.style.height="auto")}catch(BA){console.error("Failed to send message:",BA)}},[Q,e,i,K,a,w]),T=x.useCallback(BA=>{BA.key==="Enter"&&!BA.shiftKey&&(BA.preventDefault(),Y())},[Y]),b=x.useMemo(()=>R?.some(BA=>BA.role==="assistant"&&BA.status==="pending")??!1,[R]),E=x.useMemo(()=>!i||!W?!1:W.some(BA=>BA.role==="system"&&BA.parts?.some(YA=>typeof YA.content=="string"&&YA.content.includes(`from="${i}"`))),[i,W]),h=x.useCallback(async(BA,YA)=>{if(!i){c(!1);return}try{await O.mutateAsync({provider:BA,model:YA}),await L.invalidateQueries({queryKey:["research","sessions",e]}),c(!1)}catch(_A){console.error("Failed to update research session model:",_A)}},[i,O,L,e]),S=tg(e??"");if(!s)return null;const U=v?.sessions??[],_=U.find(BA=>BA.id===i),tA=R??[],IA=_?.provider??S?.provider??"",iA=_?.model??S?.model??"",GA=X?.[IA]?.label??IA,qA=X?.[IA]?.models.find(BA=>BA.id===iA)?.label??iA;return o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:r},children:[o.jsx(_s,{panelKey:dQ,side:"right",minWidth:p1,maxWidth:m1,defaultWidth:hQ}),o.jsxs("div",{className:"flex-1 flex flex-col h-full min-w-0",children:[o.jsxs("div",{className:"h-14 border-b border-border px-3 flex items-center justify-between",children:[o.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[o.jsx(dr,{className:"w-4 h-4 text-teal-500"}),o.jsx("span",{className:"font-medium text-foreground text-sm",children:"Research"})]}),o.jsxs("div",{className:"flex items-center gap-0.5",children:[o.jsx(le,{variant:"ghost",size:"icon",onClick:()=>l(!g),title:"Research history",className:"h-8 w-8",children:o.jsx(fC,{className:"w-4 h-4"})}),o.jsx(le,{variant:"ghost",size:"icon",onClick:d,disabled:!e||K.isPending,title:"New research session",className:"h-8 w-8",children:K.isPending?o.jsx(Je,{className:"w-4 h-4 animate-spin"}):o.jsx(go,{className:"w-4 h-4"})}),o.jsx(le,{variant:"ghost",size:"icon",onClick:n,title:"Close sidebar",className:"h-8 w-8",children:o.jsx(at,{className:"w-4 h-4"})})]})]}),g?o.jsxs("div",{className:"flex-1 overflow-y-auto",children:[o.jsx("div",{className:"p-2 border-b border-border",children:o.jsx("div",{className:"text-xs font-medium text-muted-foreground px-2 py-1",children:"Research Sessions"})}),D?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading..."}):U.length===0?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"No research sessions yet"}):o.jsx("div",{className:"p-2 space-y-1",children:U.map(BA=>o.jsxs("button",{type:"button",onClick:()=>N(BA),className:`w-full text-left p-2 rounded-md text-sm transition-colors ${BA.id===i?"bg-teal-500/10 border border-teal-500/30 text-foreground":"hover:bg-muted"}`,children:[o.jsx("div",{className:"font-medium truncate",children:BA.title||"Untitled"}),o.jsxs("div",{className:"text-xs text-muted-foreground",children:[BA.messageCount," messages •"," ",x1(BA.lastActiveAt??BA.createdAt)]})]},BA.id))})]}):o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"flex-1 overflow-y-auto px-3 py-3 research-messages text-[13px]",children:i?tA.length===0?o.jsx("div",{className:"text-xs text-muted-foreground text-center py-8",children:o.jsx("p",{children:"Ask a question to start researching."})}):o.jsxs("div",{className:"space-y-1.5",children:[tA.map((BA,YA)=>{if(BA.role==="user"){const _A=tA[YA+1];return o.jsx(rc,{sessionId:i,message:BA,isFirst:YA===0,nextAssistantMessageId:_A?.role==="assistant"?_A.id:void 0},BA.id)}if(BA.role==="assistant"){const _A=YA>0?tA[YA-1]:null,Ce=tA[YA+1],kA=_A?.role!=="assistant",VA=Ce?.role==="assistant";return o.jsx(sc,{sessionId:i,message:BA,showHeader:kA,hasNextAssistantMessage:VA,isLastMessage:YA===tA.length-1,compact:!0,onNavigateToSession:t},BA.id)}return null}),o.jsx("div",{ref:k})]}):o.jsxs("div",{className:"text-xs text-muted-foreground text-center py-8",children:[o.jsx(dr,{className:"w-8 h-8 mx-auto mb-2 text-muted-foreground/50"}),o.jsx("p",{children:"Start researching by asking a question below."})]})}),o.jsxs("div",{className:"p-3 border-t border-border",children:[o.jsx("div",{className:"relative flex flex-col rounded-3xl bg-card border border-border focus-within:border-teal-500/60 focus-within:ring-1 focus-within:ring-teal-500/40 p-1",children:o.jsxs("div",{className:"flex items-end gap-1",children:[o.jsx(Yn,{ref:f,value:Q,onChange:BA=>I(BA.target.value),onKeyDown:T,placeholder:"Ask anything...",disabled:!e||w.isPending||K.isPending,rows:1,className:"flex-1 border-0 bg-transparent pl-2 pr-1 py-2 max-h-[120px] overflow-y-auto leading-normal resize-none scrollbar-hide text-sm focus:ring-0 focus:outline-none",style:{height:"2.25rem"}}),o.jsx("button",{type:"button",onClick:Y,disabled:!Q.trim()||!e||w.isPending||K.isPending||b,className:`flex items-center justify-center w-9 h-9 rounded-full transition-colors flex-shrink-0 ${Q.trim()&&e&&!b?"bg-teal-500 hover:bg-teal-600 text-white":"bg-transparent text-muted-foreground"}`,children:w.isPending||K.isPending?o.jsx(Je,{className:"w-4 h-4 animate-spin"}):o.jsx(RQ,{className:"w-4 h-4"})})]})}),u==="success"&&o.jsxs("div",{className:"flex items-center gap-2 mt-2 px-2 py-1.5 text-xs rounded-lg bg-teal-500/10 border border-teal-500/30 text-teal-600 dark:text-teal-400",children:[o.jsx(Ht,{className:"w-3 h-3 flex-shrink-0"}),o.jsx("span",{className:"flex-1",children:"Context injected — will be used on next request"}),o.jsx("button",{type:"button",onClick:()=>p("idle"),className:"hover:text-teal-500",children:o.jsx(ct,{className:"w-3 h-3"})})]}),u==="error"&&o.jsxs("div",{className:"flex items-center gap-2 mt-2 px-2 py-1.5 text-xs rounded-lg bg-red-500/10 border border-red-500/30 text-red-600 dark:text-red-400",children:[o.jsx(ct,{className:"w-3 h-3 flex-shrink-0"}),o.jsx("span",{className:"flex-1",children:"Failed to inject context"}),o.jsx("button",{type:"button",onClick:()=>p("idle"),className:"hover:text-red-500",children:o.jsx(ct,{className:"w-3 h-3"})})]}),o.jsxs("div",{className:"flex gap-2 mt-2",children:[o.jsxs("button",{type:"button",onClick:G,disabled:!i||V.isPending||b||E,className:`flex-1 flex items-center justify-center gap-1.5 px-2 py-1.5 text-xs rounded-lg transition-colors disabled:opacity-50 disabled:cursor-not-allowed ${E?"bg-teal-500/10 text-teal-600 dark:text-teal-400 border border-teal-500/30":"bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground"}`,title:E?"Already injected into main session":"Inject findings into main session",children:[V.isPending?o.jsx(Je,{className:"w-3 h-3 animate-spin"}):E?o.jsx(Ht,{className:"w-3 h-3"}):o.jsx(pC,{className:"w-3 h-3"}),E?"Injected":"Inject"]}),o.jsxs("button",{type:"button",onClick:J,disabled:!i||eA.isPending||b,className:"flex-1 flex items-center justify-center gap-1.5 px-2 py-1.5 text-xs rounded-lg bg-muted hover:bg-muted/80 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:"Export to new main session",children:[eA.isPending?o.jsx(Je,{className:"w-3 h-3 animate-spin"}):o.jsx(vt,{className:"w-3 h-3"}),"Export"]})]})]})]}),o.jsxs("div",{className:"h-12 px-3 border-t border-border text-xs text-muted-foreground flex items-center justify-between",children:[o.jsxs("span",{className:"text-[10px]",children:[U.length," research session",U.length!==1?"s":""]}),(GA||qA)&&o.jsxs("button",{type:"button",onClick:()=>c(!0),className:"flex items-center gap-1 text-[10px] hover:text-foreground transition-colors",children:[o.jsx("span",{className:"opacity-60",children:GA}),o.jsx("span",{className:"opacity-40",children:"/"}),o.jsx("span",{children:qA}),o.jsx(qt,{className:"w-3 h-3 opacity-40"})]})]}),o.jsx(So,{isOpen:C,onClose:()=>c(!1),title:"Select Model for Research",maxWidth:"md",children:(IA||iA)&&o.jsx(zB,{provider:IA,model:iA,onChange:h})})]})]})});function x1(A){const e=Date.now()-A,t=Math.floor(e/6e4);if(t<1)return"just now";if(t<60)return`${t}m ago`;const s=Math.floor(t/60);return s<24?`${s}h ago`:`${Math.floor(s/24)}d ago`}const D1=x.memo(function({parentSessionId:e}){const t=pt(i=>i.isExpanded),s=pt(i=>i.toggleSidebar),{data:n}=dE(e??null),r=n?.sessions?.length??0;return o.jsxs("button",{type:"button",onClick:s,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${t?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Research (⌘⇧R)",children:[o.jsx(dr,{className:"w-5 h-5 text-muted-foreground mx-auto"}),r>0&&o.jsx("span",{className:"absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold",children:r>9?"9+":r})]})});var y1=Object.defineProperty,vn=Object.getOwnPropertySymbols,hE=Object.prototype.hasOwnProperty,fE=Object.prototype.propertyIsEnumerable,fQ=(A,e,t)=>e in A?y1(A,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):A[e]=t,ya=(A,e)=>{for(var t in e||(e={}))hE.call(e,t)&&fQ(A,t,e[t]);if(vn)for(var t of vn(e))fE.call(e,t)&&fQ(A,t,e[t]);return A},Na=(A,e)=>{var t={};for(var s in A)hE.call(A,s)&&e.indexOf(s)<0&&(t[s]=A[s]);if(A!=null&&vn)for(var s of vn(A))e.indexOf(s)<0&&fE.call(A,s)&&(t[s]=A[s]);return t};var xs;(A=>{const e=class Fe{constructor(g,l,Q,I){if(this.version=g,this.errorCorrectionLevel=l,this.modules=[],this.isFunction=[],g<Fe.MIN_VERSION||g>Fe.MAX_VERSION)throw new RangeError("Version value out of range");if(I<-1||I>7)throw new RangeError("Mask value out of range");this.size=g*4+17;let C=[];for(let u=0;u<this.size;u++)C.push(!1);for(let u=0;u<this.size;u++)this.modules.push(C.slice()),this.isFunction.push(C.slice());this.drawFunctionPatterns();const c=this.addEccAndInterleave(Q);if(this.drawCodewords(c),I==-1){let u=1e9;for(let p=0;p<8;p++){this.applyMask(p),this.drawFormatBits(p);const f=this.getPenaltyScore();f<u&&(I=p,u=f),this.applyMask(p)}}n(0<=I&&I<=7),this.mask=I,this.applyMask(I),this.drawFormatBits(I),this.isFunction=[]}static encodeText(g,l){const Q=A.QrSegment.makeSegments(g);return Fe.encodeSegments(Q,l)}static encodeBinary(g,l){const Q=A.QrSegment.makeBytes(g);return Fe.encodeSegments([Q],l)}static encodeSegments(g,l,Q=1,I=40,C=-1,c=!0){if(!(Fe.MIN_VERSION<=Q&&Q<=I&&I<=Fe.MAX_VERSION)||C<-1||C>7)throw new RangeError("Invalid value");let u,p;for(u=Q;;u++){const D=Fe.getNumDataCodewords(u,l)*8,j=i.getTotalBits(g,u);if(j<=D){p=j;break}if(u>=I)throw new RangeError("Data too long")}for(const D of[Fe.Ecc.MEDIUM,Fe.Ecc.QUARTILE,Fe.Ecc.HIGH])c&&p<=Fe.getNumDataCodewords(u,D)*8&&(l=D);let f=[];for(const D of g){t(D.mode.modeBits,4,f),t(D.numChars,D.mode.numCharCountBits(u),f);for(const j of D.getData())f.push(j)}n(f.length==p);const k=Fe.getNumDataCodewords(u,l)*8;n(f.length<=k),t(0,Math.min(4,k-f.length),f),t(0,(8-f.length%8)%8,f),n(f.length%8==0);for(let D=236;f.length<k;D^=253)t(D,8,f);let v=[];for(;v.length*8<f.length;)v.push(0);return f.forEach((D,j)=>v[j>>>3]|=D<<7-(j&7)),new Fe(u,l,v,C)}getModule(g,l){return 0<=g&&g<this.size&&0<=l&&l<this.size&&this.modules[l][g]}getModules(){return this.modules}drawFunctionPatterns(){for(let Q=0;Q<this.size;Q++)this.setFunctionModule(6,Q,Q%2==0),this.setFunctionModule(Q,6,Q%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);const g=this.getAlignmentPatternPositions(),l=g.length;for(let Q=0;Q<l;Q++)for(let I=0;I<l;I++)Q==0&&I==0||Q==0&&I==l-1||Q==l-1&&I==0||this.drawAlignmentPattern(g[Q],g[I]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(g){const l=this.errorCorrectionLevel.formatBits<<3|g;let Q=l;for(let C=0;C<10;C++)Q=Q<<1^(Q>>>9)*1335;const I=(l<<10|Q)^21522;n(I>>>15==0);for(let C=0;C<=5;C++)this.setFunctionModule(8,C,s(I,C));this.setFunctionModule(8,7,s(I,6)),this.setFunctionModule(8,8,s(I,7)),this.setFunctionModule(7,8,s(I,8));for(let C=9;C<15;C++)this.setFunctionModule(14-C,8,s(I,C));for(let C=0;C<8;C++)this.setFunctionModule(this.size-1-C,8,s(I,C));for(let C=8;C<15;C++)this.setFunctionModule(8,this.size-15+C,s(I,C));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let g=this.version;for(let Q=0;Q<12;Q++)g=g<<1^(g>>>11)*7973;const l=this.version<<12|g;n(l>>>18==0);for(let Q=0;Q<18;Q++){const I=s(l,Q),C=this.size-11+Q%3,c=Math.floor(Q/3);this.setFunctionModule(C,c,I),this.setFunctionModule(c,C,I)}}drawFinderPattern(g,l){for(let Q=-4;Q<=4;Q++)for(let I=-4;I<=4;I++){const C=Math.max(Math.abs(I),Math.abs(Q)),c=g+I,u=l+Q;0<=c&&c<this.size&&0<=u&&u<this.size&&this.setFunctionModule(c,u,C!=2&&C!=4)}}drawAlignmentPattern(g,l){for(let Q=-2;Q<=2;Q++)for(let I=-2;I<=2;I++)this.setFunctionModule(g+I,l+Q,Math.max(Math.abs(I),Math.abs(Q))!=1)}setFunctionModule(g,l,Q){this.modules[l][g]=Q,this.isFunction[l][g]=!0}addEccAndInterleave(g){const l=this.version,Q=this.errorCorrectionLevel;if(g.length!=Fe.getNumDataCodewords(l,Q))throw new RangeError("Invalid argument");const I=Fe.NUM_ERROR_CORRECTION_BLOCKS[Q.ordinal][l],C=Fe.ECC_CODEWORDS_PER_BLOCK[Q.ordinal][l],c=Math.floor(Fe.getNumRawDataModules(l)/8),u=I-c%I,p=Math.floor(c/I);let f=[];const k=Fe.reedSolomonComputeDivisor(C);for(let D=0,j=0;D<I;D++){let K=g.slice(j,j+p-C+(D<u?0:1));j+=K.length;const V=Fe.reedSolomonComputeRemainder(K,k);D<u&&K.push(0),f.push(K.concat(V))}let v=[];for(let D=0;D<f[0].length;D++)f.forEach((j,K)=>{(D!=p-C||K>=u)&&v.push(j[D])});return n(v.length==c),v}drawCodewords(g){if(g.length!=Math.floor(Fe.getNumRawDataModules(this.version)/8))throw new RangeError("Invalid argument");let l=0;for(let Q=this.size-1;Q>=1;Q-=2){Q==6&&(Q=5);for(let I=0;I<this.size;I++)for(let C=0;C<2;C++){const c=Q-C,p=(Q+1&2)==0?this.size-1-I:I;!this.isFunction[p][c]&&l<g.length*8&&(this.modules[p][c]=s(g[l>>>3],7-(l&7)),l++)}}n(l==g.length*8)}applyMask(g){if(g<0||g>7)throw new RangeError("Mask value out of range");for(let l=0;l<this.size;l++)for(let Q=0;Q<this.size;Q++){let I;switch(g){case 0:I=(Q+l)%2==0;break;case 1:I=l%2==0;break;case 2:I=Q%3==0;break;case 3:I=(Q+l)%3==0;break;case 4:I=(Math.floor(Q/3)+Math.floor(l/2))%2==0;break;case 5:I=Q*l%2+Q*l%3==0;break;case 6:I=(Q*l%2+Q*l%3)%2==0;break;case 7:I=((Q+l)%2+Q*l%3)%2==0;break;default:throw new Error("Unreachable")}!this.isFunction[l][Q]&&I&&(this.modules[l][Q]=!this.modules[l][Q])}}getPenaltyScore(){let g=0;for(let C=0;C<this.size;C++){let c=!1,u=0,p=[0,0,0,0,0,0,0];for(let f=0;f<this.size;f++)this.modules[C][f]==c?(u++,u==5?g+=Fe.PENALTY_N1:u>5&&g++):(this.finderPenaltyAddHistory(u,p),c||(g+=this.finderPenaltyCountPatterns(p)*Fe.PENALTY_N3),c=this.modules[C][f],u=1);g+=this.finderPenaltyTerminateAndCount(c,u,p)*Fe.PENALTY_N3}for(let C=0;C<this.size;C++){let c=!1,u=0,p=[0,0,0,0,0,0,0];for(let f=0;f<this.size;f++)this.modules[f][C]==c?(u++,u==5?g+=Fe.PENALTY_N1:u>5&&g++):(this.finderPenaltyAddHistory(u,p),c||(g+=this.finderPenaltyCountPatterns(p)*Fe.PENALTY_N3),c=this.modules[f][C],u=1);g+=this.finderPenaltyTerminateAndCount(c,u,p)*Fe.PENALTY_N3}for(let C=0;C<this.size-1;C++)for(let c=0;c<this.size-1;c++){const u=this.modules[C][c];u==this.modules[C][c+1]&&u==this.modules[C+1][c]&&u==this.modules[C+1][c+1]&&(g+=Fe.PENALTY_N2)}let l=0;for(const C of this.modules)l=C.reduce((c,u)=>c+(u?1:0),l);const Q=this.size*this.size,I=Math.ceil(Math.abs(l*20-Q*10)/Q)-1;return n(0<=I&&I<=9),g+=I*Fe.PENALTY_N4,n(0<=g&&g<=2568888),g}getAlignmentPatternPositions(){if(this.version==1)return[];{const g=Math.floor(this.version/7)+2,l=this.version==32?26:Math.ceil((this.version*4+4)/(g*2-2))*2;let Q=[6];for(let I=this.size-7;Q.length<g;I-=l)Q.splice(1,0,I);return Q}}static getNumRawDataModules(g){if(g<Fe.MIN_VERSION||g>Fe.MAX_VERSION)throw new RangeError("Version number out of range");let l=(16*g+128)*g+64;if(g>=2){const Q=Math.floor(g/7)+2;l-=(25*Q-10)*Q-55,g>=7&&(l-=36)}return n(208<=l&&l<=29648),l}static getNumDataCodewords(g,l){return Math.floor(Fe.getNumRawDataModules(g)/8)-Fe.ECC_CODEWORDS_PER_BLOCK[l.ordinal][g]*Fe.NUM_ERROR_CORRECTION_BLOCKS[l.ordinal][g]}static reedSolomonComputeDivisor(g){if(g<1||g>255)throw new RangeError("Degree out of range");let l=[];for(let I=0;I<g-1;I++)l.push(0);l.push(1);let Q=1;for(let I=0;I<g;I++){for(let C=0;C<l.length;C++)l[C]=Fe.reedSolomonMultiply(l[C],Q),C+1<l.length&&(l[C]^=l[C+1]);Q=Fe.reedSolomonMultiply(Q,2)}return l}static reedSolomonComputeRemainder(g,l){let Q=l.map(I=>0);for(const I of g){const C=I^Q.shift();Q.push(0),l.forEach((c,u)=>Q[u]^=Fe.reedSolomonMultiply(c,C))}return Q}static reedSolomonMultiply(g,l){if(g>>>8||l>>>8)throw new RangeError("Byte out of range");let Q=0;for(let I=7;I>=0;I--)Q=Q<<1^(Q>>>7)*285,Q^=(l>>>I&1)*g;return n(Q>>>8==0),Q}finderPenaltyCountPatterns(g){const l=g[1];n(l<=this.size*3);const Q=l>0&&g[2]==l&&g[3]==l*3&&g[4]==l&&g[5]==l;return(Q&&g[0]>=l*4&&g[6]>=l?1:0)+(Q&&g[6]>=l*4&&g[0]>=l?1:0)}finderPenaltyTerminateAndCount(g,l,Q){return g&&(this.finderPenaltyAddHistory(l,Q),l=0),l+=this.size,this.finderPenaltyAddHistory(l,Q),this.finderPenaltyCountPatterns(Q)}finderPenaltyAddHistory(g,l){l[0]==0&&(g+=this.size),l.pop(),l.unshift(g)}};e.MIN_VERSION=1,e.MAX_VERSION=40,e.PENALTY_N1=3,e.PENALTY_N2=3,e.PENALTY_N3=40,e.PENALTY_N4=10,e.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],e.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],A.QrCode=e;function t(a,g,l){if(g<0||g>31||a>>>g)throw new RangeError("Value out of range");for(let Q=g-1;Q>=0;Q--)l.push(a>>>Q&1)}function s(a,g){return(a>>>g&1)!=0}function n(a){if(!a)throw new Error("Assertion error")}const r=class Ct{constructor(g,l,Q){if(this.mode=g,this.numChars=l,this.bitData=Q,l<0)throw new RangeError("Invalid argument");this.bitData=Q.slice()}static makeBytes(g){let l=[];for(const Q of g)t(Q,8,l);return new Ct(Ct.Mode.BYTE,g.length,l)}static makeNumeric(g){if(!Ct.isNumeric(g))throw new RangeError("String contains non-numeric characters");let l=[];for(let Q=0;Q<g.length;){const I=Math.min(g.length-Q,3);t(parseInt(g.substring(Q,Q+I),10),I*3+1,l),Q+=I}return new Ct(Ct.Mode.NUMERIC,g.length,l)}static makeAlphanumeric(g){if(!Ct.isAlphanumeric(g))throw new RangeError("String contains unencodable characters in alphanumeric mode");let l=[],Q;for(Q=0;Q+2<=g.length;Q+=2){let I=Ct.ALPHANUMERIC_CHARSET.indexOf(g.charAt(Q))*45;I+=Ct.ALPHANUMERIC_CHARSET.indexOf(g.charAt(Q+1)),t(I,11,l)}return Q<g.length&&t(Ct.ALPHANUMERIC_CHARSET.indexOf(g.charAt(Q)),6,l),new Ct(Ct.Mode.ALPHANUMERIC,g.length,l)}static makeSegments(g){return g==""?[]:Ct.isNumeric(g)?[Ct.makeNumeric(g)]:Ct.isAlphanumeric(g)?[Ct.makeAlphanumeric(g)]:[Ct.makeBytes(Ct.toUtf8ByteArray(g))]}static makeEci(g){let l=[];if(g<0)throw new RangeError("ECI assignment value out of range");if(g<128)t(g,8,l);else if(g<16384)t(2,2,l),t(g,14,l);else if(g<1e6)t(6,3,l),t(g,21,l);else throw new RangeError("ECI assignment value out of range");return new Ct(Ct.Mode.ECI,0,l)}static isNumeric(g){return Ct.NUMERIC_REGEX.test(g)}static isAlphanumeric(g){return Ct.ALPHANUMERIC_REGEX.test(g)}getData(){return this.bitData.slice()}static getTotalBits(g,l){let Q=0;for(const I of g){const C=I.mode.numCharCountBits(l);if(I.numChars>=1<<C)return 1/0;Q+=4+C+I.bitData.length}return Q}static toUtf8ByteArray(g){g=encodeURI(g);let l=[];for(let Q=0;Q<g.length;Q++)g.charAt(Q)!="%"?l.push(g.charCodeAt(Q)):(l.push(parseInt(g.substring(Q+1,Q+3),16)),Q+=2);return l}};r.NUMERIC_REGEX=/^[0-9]*$/,r.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,r.ALPHANUMERIC_CHARSET="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";let i=r;A.QrSegment=r})(xs||(xs={}));(A=>{(e=>{const t=class{constructor(n,r){this.ordinal=n,this.formatBits=r}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(A.QrCode||(A.QrCode={}))})(xs||(xs={}));(A=>{(e=>{const t=class{constructor(n,r){this.modeBits=n,this.numBitsCharCount=r}numCharCountBits(n){return this.numBitsCharCount[Math.floor((n+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(A.QrSegment||(A.QrSegment={}))})(xs||(xs={}));var Os=xs;var N1={L:Os.QrCode.Ecc.LOW,M:Os.QrCode.Ecc.MEDIUM,Q:Os.QrCode.Ecc.QUARTILE,H:Os.QrCode.Ecc.HIGH},pE=128,mE="L",wE="#FFFFFF",xE="#000000",DE=!1,yE=1,k1=4,M1=0,b1=.1;function NE(A,e=0){const t=[];return A.forEach(function(s,n){let r=null;s.forEach(function(i,a){if(!i&&r!==null){t.push(`M${r+e} ${n+e}h${a-r}v1H${r+e}z`),r=null;return}if(a===s.length-1){if(!i)return;r===null?t.push(`M${a+e},${n+e} h1v1H${a+e}z`):t.push(`M${r+e},${n+e} h${a+1-r}v1H${r+e}z`);return}i&&r===null&&(r=a)})}),t.join("")}function kE(A,e){return A.slice().map((t,s)=>s<e.y||s>=e.y+e.h?t:t.map((n,r)=>r<e.x||r>=e.x+e.w?n:!1))}function F1(A,e,t,s){if(s==null)return null;const n=A.length+t*2,r=Math.floor(e*b1),i=n/e,a=(s.width||r)*i,g=(s.height||r)*i,l=s.x==null?A.length/2-a/2:s.x*i,Q=s.y==null?A.length/2-g/2:s.y*i,I=s.opacity==null?1:s.opacity;let C=null;if(s.excavate){let u=Math.floor(l),p=Math.floor(Q),f=Math.ceil(a+l-u),k=Math.ceil(g+Q-p);C={x:u,y:p,w:f,h:k}}const c=s.crossOrigin;return{x:l,y:Q,h:g,w:a,excavation:C,opacity:I,crossOrigin:c}}function G1(A,e){return e!=null?Math.max(Math.floor(e),0):A?k1:M1}function ME({value:A,level:e,minVersion:t,includeMargin:s,marginSize:n,imageSettings:r,size:i,boostLevel:a}){let g=Qt.useMemo(()=>{const u=(Array.isArray(A)?A:[A]).reduce((p,f)=>(p.push(...Os.QrSegment.makeSegments(f)),p),[]);return Os.QrCode.encodeSegments(u,N1[e],t,void 0,void 0,a)},[A,e,t,a]);const{cells:l,margin:Q,numCells:I,calculatedImageSettings:C}=Qt.useMemo(()=>{let c=g.getModules();const u=G1(s,n),p=c.length+u*2,f=F1(c,i,u,r);return{cells:c,margin:u,numCells:p,calculatedImageSettings:f}},[g,i,r,s,n]);return{qrcode:g,margin:Q,cells:l,numCells:I,calculatedImageSettings:C}}var v1=(function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0})(),S1=Qt.forwardRef(function(e,t){const s=e,{value:n,size:r=pE,level:i=mE,bgColor:a=wE,fgColor:g=xE,includeMargin:l=DE,minVersion:Q=yE,boostLevel:I,marginSize:C,imageSettings:c}=s,p=Na(s,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","marginSize","imageSettings"]),{style:f}=p,k=Na(p,["style"]),v=c?.src,D=Qt.useRef(null),j=Qt.useRef(null),K=Qt.useCallback(B=>{D.current=B,typeof t=="function"?t(B):t&&(t.current=B)},[t]),[V,eA]=Qt.useState(!1),{margin:X,cells:R,numCells:W,calculatedImageSettings:O}=ME({value:n,level:i,minVersion:Q,boostLevel:I,includeMargin:l,marginSize:C,imageSettings:c,size:r});Qt.useEffect(()=>{if(D.current!=null){const B=D.current,d=B.getContext("2d");if(!d)return;let N=R;const G=j.current,J=O!=null&&G!==null&&G.complete&&G.naturalHeight!==0&&G.naturalWidth!==0;J&&O.excavation!=null&&(N=kE(R,O.excavation));const Y=window.devicePixelRatio||1;B.height=B.width=r*Y;const T=r/W*Y;d.scale(T,T),d.fillStyle=a,d.fillRect(0,0,W,W),d.fillStyle=g,v1?d.fill(new Path2D(NE(N,X))):R.forEach(function(b,E){b.forEach(function(h,S){h&&d.fillRect(S+X,E+X,1,1)})}),O&&(d.globalAlpha=O.opacity),J&&d.drawImage(G,O.x+X,O.y+X,O.w,O.h)}}),Qt.useEffect(()=>{eA(!1)},[v]);const L=ya({height:r,width:r},f);let w=null;return v!=null&&(w=Qt.createElement("img",{src:v,key:v,style:{display:"none"},onLoad:()=>{eA(!0)},ref:j,crossOrigin:O?.crossOrigin})),Qt.createElement(Qt.Fragment,null,Qt.createElement("canvas",ya({style:L,height:r,width:r,ref:K,role:"img"},k)),w)});S1.displayName="QRCodeCanvas";var ri=Qt.forwardRef(function(e,t){const s=e,{value:n,size:r=pE,level:i=mE,bgColor:a=wE,fgColor:g=xE,includeMargin:l=DE,minVersion:Q=yE,boostLevel:I,title:C,marginSize:c,imageSettings:u}=s,p=Na(s,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","title","marginSize","imageSettings"]),{margin:f,cells:k,numCells:v,calculatedImageSettings:D}=ME({value:n,level:i,minVersion:Q,boostLevel:I,includeMargin:l,marginSize:c,imageSettings:u,size:r});let j=k,K=null;u!=null&&D!=null&&(D.excavation!=null&&(j=kE(k,D.excavation)),K=Qt.createElement("image",{href:u.src,height:D.h,width:D.w,x:D.x+f,y:D.y+f,preserveAspectRatio:"none",opacity:D.opacity,crossOrigin:D.crossOrigin}));const V=NE(j,f);return Qt.createElement("svg",ya({height:r,width:r,viewBox:`0 0 ${v} ${v}`,ref:t,role:"img"},p),!!C&&Qt.createElement("title",null,C),Qt.createElement("path",{fill:a,d:`M0,0 h${v}v${v}H0z`,shapeRendering:"crispEdges"}),Qt.createElement("path",{fill:g,d:V,shapeRendering:"crispEdges"}),K)});ri.displayName="QRCodeSVG";const gr=["wallet","defaults"],kt=ht((A,e)=>({isOpen:!1,currentStep:"wallet",manageMode:!1,isLoading:!1,error:null,authStatus:null,setOpen:t=>A({isOpen:t}),setStep:t=>A({currentStep:t}),setManageMode:t=>A({manageMode:t}),setLoading:t=>A({isLoading:t}),setError:t=>A({error:t}),setAuthStatus:t=>A({authStatus:t}),nextStep:()=>{const{currentStep:t}=e(),s=gr.indexOf(t);s<gr.length-1&&A({currentStep:gr[s+1]})},prevStep:()=>{const{currentStep:t}=e(),s=gr.indexOf(t);s>0&&A({currentStep:gr[s-1]})},reset:()=>A({isOpen:!1,currentStep:"wallet",manageMode:!1,isLoading:!1,error:null})})),Hi=typeof window<"u"&&window.self!==window.top;function Mg(){const A=kt(L=>L.setAuthStatus),e=kt(L=>L.setOpen),t=kt(L=>L.setLoading),s=kt(L=>L.setError),n=kt(L=>L.authStatus),r=kt(L=>L.isOpen),i=ke(),[a,g]=x.useState(!1),[l,Q]=x.useState(!1),I=x.useRef(null),C=x.useRef(new Set),c=x.useCallback(async()=>{t(!0),s(null);try{const L=await mA.getAuthStatus();return A(L),i.invalidateQueries({queryKey:["config"]}),i.invalidateQueries({queryKey:["models"]}),L}catch(L){const w=L instanceof Error?L.message:"Failed to load";return s(w),null}finally{t(!1)}},[A,t,s,i]),u=x.useCallback(async()=>{const L=await c();if(L){const w=Object.values(L.providers).some(d=>d.configured);(!L.onboardingComplete||!w||!L.ottorouter.configured)&&e(!0)}g(!0)},[c,e]),p=x.useCallback(async()=>{t(!0),s(null);try{const L=await mA.setupOttoRouterWallet();return await c(),L}catch(L){const w=L instanceof Error?L.message:"Setup failed";throw s(w),L}finally{t(!1)}},[c,t,s]),f=x.useCallback(async L=>{t(!0),s(null);try{const w=await mA.importOttoRouterWallet(L);return await c(),w}catch(w){const B=w instanceof Error?w.message:"Import failed";throw s(B),w}finally{t(!1)}},[c,t,s]),k=x.useCallback(async(L,w)=>{t(!0),s(null);try{const B=await mA.addProvider(L,w);return await c(),B}catch(B){const d=B instanceof Error?B.message:"Failed to add provider";throw s(d),B}finally{t(!1)}},[c,t,s]),v=x.useCallback(async L=>{t(!0),s(null);try{const w=await mA.updateProviderSettings(L.id,{enabled:!0,custom:!0,label:L.label,baseURL:L.baseURL,...L.apiKey?{apiKey:L.apiKey}:{},compatibility:L.compatibility,models:L.models,allowAnyModel:L.allowAnyModel});return await c(),w}catch(w){const B=w instanceof Error?w.message:"Failed to add custom provider";throw s(B),w}finally{t(!1)}},[c,t,s]),D=x.useCallback(async L=>{t(!0),s(null);try{const B=kt.getState().authStatus?.providers[L]?.custom?await mA.deleteProviderSettings(L):await mA.removeProvider(L);return await c(),B}catch(w){const B=w instanceof Error?w.message:"Failed to remove provider";throw s(B),w}finally{t(!1)}},[c,t,s]),j=x.useCallback(async()=>{t(!0),s(null);try{await mA.completeOnboarding(),await c(),e(!1)}catch(L){const w=L instanceof Error?L.message:"Failed to complete onboarding";throw s(w),L}finally{t(!1)}},[c,t,s,e]),K=x.useCallback(()=>{const L=kt.getState().authStatus;L&&(C.current=new Set(Object.entries(L.providers).filter(([,w])=>w.configured).map(([w])=>w)))},[]),V=x.useCallback((L,w)=>{const B=mA.getOAuthStartUrl(L,w);if(Hi)return K(),window.parent.postMessage({type:"otto-open-url",url:B},"*"),Q(!0),null;const d=600,N=700,G=window.screenX+(window.outerWidth-d)/2,J=window.screenY+(window.outerHeight-N)/2;return window.open(B,"oauth_popup",`width=${d},height=${N},left=${G},top=${J},toolbar=no,menubar=no`)},[K]),eA=x.useCallback(async(L,w)=>{const{url:B,sessionId:d}=await mA.getOAuthUrl(L,w);if(Hi)return K(),window.parent.postMessage({type:"otto-open-url",url:B},"*"),Q(!0),{popup:null,sessionId:d};const N=600,G=700,J=window.screenX+(window.outerWidth-N)/2,Y=window.screenY+(window.outerHeight-G)/2;return{popup:window.open(B,"oauth_popup",`width=${N},height=${G},left=${J},top=${Y},toolbar=no,menubar=no`),sessionId:d}},[K]),X=x.useCallback(async(L,w,B)=>{t(!0),s(null);try{return await mA.exchangeOAuthCode(L,w,B),await c(),!0}catch(d){const N=d instanceof Error?d.message:"Failed to exchange code";throw s(N),d}finally{t(!1)}},[c,t,s]);x.useEffect(()=>{if(!l||!Hi)return;I.current=setInterval(()=>{c()},3e3);const L=setTimeout(()=>{Q(!1)},3e5);return()=>{clearInterval(I.current),clearTimeout(L)}},[l,c]),x.useEffect(()=>{if(!l||!n)return;Object.entries(n.providers).filter(([,B])=>B.configured).some(([B])=>!C.current.has(B))&&Q(!1)},[n,l]),x.useEffect(()=>{const L=w=>{w.data?.type==="oauth-success"&&c()};return window.addEventListener("message",L),()=>window.removeEventListener("message",L)},[c]);const R=x.useCallback(async L=>{const w=await mA.pollCopilotDeviceFlow(L);return w.status==="complete"&&await c(),w},[c]),W=x.useCallback(async L=>{t(!0),s(null);try{const w=await mA.saveCopilotToken(L);return await c(),w}catch(w){const B=w instanceof Error?w.message:"Failed to save Copilot token";throw s(B),w}finally{t(!1)}},[c,t,s]),O=x.useCallback(async()=>{t(!0),s(null);try{const L=await mA.importCopilotTokenFromGh();return await c(),L}catch(L){const w=L instanceof Error?L.message:"Failed to import Copilot token from GH";throw s(w),L}finally{t(!1)}},[c,t,s]);return{authStatus:n,isOpen:r,initialized:a,fetchAuthStatus:c,checkOnboarding:u,setupWallet:p,importWallet:f,addProvider:k,addCustomProvider:v,removeProvider:D,completeOnboarding:j,startOAuth:V,startOAuthManual:eA,exchangeOAuthCode:X,startCopilotDeviceFlow:mA.startCopilotDeviceFlow.bind(mA),pollCopilotDeviceFlow:R,getCopilotAuthMethods:mA.getCopilotAuthMethods.bind(mA),saveCopilotToken:W,importCopilotTokenFromGh:O,getCopilotDiagnostics:mA.getCopilotDiagnostics.bind(mA)}}const sn="pendingPolarCheckout";function U1(){const A=x.useRef(!1),e=x.useRef(null),t=Ne(n=>n.setBalance),s=fo(n=>n.removeToast);x.useEffect(()=>{if(A.current)return;const r=new URLSearchParams(window.location.search).get("topup"),i=localStorage.getItem(sn);if(r==="pending"||i){A.current=!0;const a=new URL(window.location.href);if(a.searchParams.delete("topup"),window.history.replaceState({},"",a.toString()),!i){ue.info("Checking top-up status...");return}e.current=ue.loading("Verifying top-up...");let g=0;const l=10,Q=2e3,I=()=>{e.current&&(s(e.current),e.current=null)},C=async()=>{g++;try{const c=await mA.getPolarTopupStatus(i);if(c?.confirmed){localStorage.removeItem(sn),I();const u=await mA.getOttoRouterBalance();u?.balance!==void 0&&t(u.balance),ue.success(`Top-up confirmed! +$${c.amountUsd?.toFixed(2)} credited`);return}g<l?setTimeout(C,Q):(localStorage.removeItem(sn),I(),ue.info("Top-up is still processing. Balance will update automatically."))}catch{g<l?setTimeout(C,Q):(localStorage.removeItem(sn),I(),ue.error("Could not verify top-up. Please check your balance."))}};setTimeout(C,1500)}},[t,s])}const pQ="settings",mQ=320,R1=320,K1=500,bE="IBM Plex Mono",L1=[bE,"System UI","Arial","Avenir","BlinkMacSystemFont","Courier New","Fira Code","Georgia","Helvetica","Inter","Menlo","Monaco","SF Mono","Segoe UI","Times New Roman","Ubuntu","Verdana"];function J1(){return typeof window>"u"||window.self===window.top?Promise.resolve(null):new Promise((A,e)=>{const t=crypto.randomUUID(),s=window.setTimeout(()=>{window.removeEventListener("message",n),A(null)},3e3);function n(r){if(!(r.data?.type!=="otto-system-fonts-result"||r.data.requestId!==t)){if(window.clearTimeout(s),window.removeEventListener("message",n),r.data.error){e(new Error(r.data.error));return}A(r.data.fonts??null)}}window.addEventListener("message",n),window.parent.postMessage({type:"otto-list-system-fonts",requestId:t},"*")})}const Ys=x.memo(function({title:e,icon:t,children:s,action:n}){return o.jsxs("div",{className:"border-b border-border",children:[o.jsxs("div",{className:"px-4 py-3 flex items-center gap-2 bg-muted/30",children:[t,o.jsx("span",{className:"text-sm font-medium flex-1",children:e}),n]}),o.jsx("div",{className:"px-4 py-3 space-y-3",children:s})]})}),cs=x.memo(function({label:e,value:t}){return o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:e}),o.jsx("span",{className:"font-mono text-foreground",children:t})]})}),lr=x.memo(function({label:e,checked:t,onChange:s}){return o.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-3 text-sm",children:[o.jsx("span",{className:"min-w-0 flex-1 truncate text-muted-foreground",children:e}),o.jsx("button",{type:"button",role:"switch","aria-checked":t,onClick:()=>s(!t),className:`relative inline-flex h-6 w-11 shrink-0 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${t?"bg-primary":"bg-muted"}`,children:o.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full transition-transform ${t?"translate-x-6":"translate-x-1"} ${t?"bg-primary-foreground":"bg-foreground"}`})})]})}),ur=x.memo(function({label:e,value:t,options:s,onChange:n,disabled:r}){const[i,a]=x.useState(!1),[g,l]=x.useState(null),Q=x.useRef(null),I=s.find(C=>C.id===t);return x.useEffect(()=>{if(!i||!Q.current)return;const C=()=>{const c=Q.current?.getBoundingClientRect();if(!c)return;const u=Math.max(c.width,160);l({top:c.bottom+4,left:c.right-u,width:u})};return C(),window.addEventListener("scroll",C,!0),window.addEventListener("resize",C),()=>{window.removeEventListener("scroll",C,!0),window.removeEventListener("resize",C)}},[i]),o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:e}),o.jsxs("div",{className:"relative",children:[o.jsxs("button",{ref:Q,type:"button",onClick:()=>!r&&a(!i),disabled:r,className:"flex items-center gap-1 px-2 py-1 text-xs font-mono bg-muted hover:bg-muted/80 rounded border border-border disabled:opacity-50",children:[o.jsx("span",{className:"max-w-[120px] truncate",children:I?.label||t||"Select..."}),o.jsx(qt,{className:"w-3 h-3"})]}),i&&g&&typeof document<"u"&&jE.createPortal(o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"fixed inset-0 z-[10000]",onClick:()=>a(!1),role:"presentation"}),o.jsx("div",{className:"fixed z-[10001] max-h-[240px] overflow-y-auto bg-popover border border-border rounded-md shadow-lg",style:{top:g.top,left:g.left,minWidth:g.width},children:s.map(C=>o.jsx("button",{type:"button",onClick:()=>{n(C.id),a(!1)},className:`w-full px-3 py-2 text-left text-xs font-mono hover:bg-muted truncate ${C.id===t?"bg-muted/50":""}`,children:C.label},C.id))})]}),document.body)]})]})}),j1=x.memo(function({value:e,onChange:t}){const[s,n]=x.useState(!1),[r,i]=x.useState(""),[a,g]=x.useState([]),[l,Q]=x.useState(!1),[I,C]=x.useState(null),c=typeof window<"u"&&typeof window.queryLocalFonts=="function",u=typeof window<"u"&&window.self!==window.top,p=x.useMemo(()=>Array.from(new Set([e,...a,...L1].filter(Boolean))).sort((D,j)=>D.localeCompare(j)),[a,e]),f=x.useMemo(()=>{const D=r.trim().toLowerCase();return D?p.filter(j=>j.toLowerCase().includes(D)):p},[p,r]),k=x.useCallback(async()=>{if(l||a.length>0)return;const D=window.queryLocalFonts;Q(!0),C(null);try{if(D){const K=await D();g(Array.from(new Set(K.map(V=>V.family).filter(Boolean))));return}const j=await J1();if(j?.length){g(j);return}C("Local font access is not supported in this browser")}catch(j){C(j instanceof Error?j.message:"Unable to load local fonts")}finally{Q(!1)}},[l,a.length]),v=()=>{n(!0),k()};return o.jsx("div",{className:"space-y-2 text-sm",children:o.jsxs("div",{className:"flex items-center justify-between gap-3",children:[o.jsx("span",{className:"text-muted-foreground",children:"UI Font"}),o.jsxs("div",{className:"relative min-w-0",children:[o.jsxs("button",{type:"button",onClick:()=>s?n(!1):v(),className:"flex max-w-[170px] items-center gap-1 rounded border border-border bg-muted px-2 py-1 text-xs hover:bg-muted/80",children:[o.jsx("span",{className:"truncate",style:{fontFamily:e},children:e||bE}),o.jsx(qt,{className:"h-3 w-3 shrink-0"})]}),s&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>n(!1),role:"presentation"}),o.jsxs("div",{className:"absolute right-0 top-full z-50 mt-1 w-72 rounded-md border border-border bg-popover shadow-lg",children:[o.jsx("div",{className:"border-b border-border p-2",children:o.jsx("input",{type:"search",value:r,onChange:D=>i(D.target.value),placeholder:"Search system fonts...",className:"w-full rounded border border-border bg-background px-2 py-1.5 text-xs outline-none placeholder:text-muted-foreground/70 focus:border-primary"})}),o.jsxs("div",{className:"max-h-64 overflow-y-auto py-1",children:[f.map(D=>o.jsx("button",{type:"button",onClick:()=>{t(D),n(!1),i("")},className:`w-full px-3 py-2 text-left text-xs hover:bg-muted ${D===e?"bg-muted/50":""}`,style:{fontFamily:D},children:D},D)),f.length===0&&o.jsx("div",{className:"px-3 py-2 text-xs text-muted-foreground",children:"No fonts found"})]}),o.jsx("div",{className:"border-t border-border px-3 py-2 text-xs text-muted-foreground",children:l?"Loading local fonts...":I||(a.length>0?`${a.length} local fonts found`:c?"Choose a font or allow local font access if prompted":u?"Loading desktop system fonts if available":"Showing common system fonts")})]})]})]})]})})}),T1=x.memo(function({label:e,value:t,onCommit:s,placeholder:n,hint:r,disabled:i}){const[a,g]=x.useState(t!=null?String(t):"");x.useEffect(()=>{g(t!=null?String(t):"")},[t]);const l=t!=null?String(t):"",Q=a.trim(),I=Q?Number(Q.replaceAll(",","")):null,C=I!==null&&Number.isFinite(I)&&I>0?String(Math.floor(I)):Q===""?"":null,c=C!==null&&C!==l,u=x.useCallback(()=>{C===null||C===l||(g(C),s(C===""?null:Number(C)))},[C,s,l]);return o.jsxs("div",{className:"space-y-1.5",children:[o.jsxs("div",{className:"flex min-w-0 items-center justify-between gap-3 text-sm",children:[o.jsx("span",{className:"min-w-0 flex-1 truncate whitespace-nowrap text-muted-foreground",children:e}),o.jsxs("div",{className:"flex shrink-0 items-center gap-1 rounded border border-border bg-muted px-2 py-1 text-xs font-mono transition-colors focus-within:border-primary",children:[o.jsx("input",{type:"text",inputMode:"numeric",value:a,onChange:p=>g(p.target.value),onKeyDown:p=>{p.key==="Enter"&&(p.preventDefault(),u()),p.key==="Escape"&&(g(l),p.currentTarget.blur())},placeholder:n,disabled:i,className:"w-24 bg-transparent text-right outline-none placeholder:text-muted-foreground/70 disabled:opacity-50"}),o.jsx("button",{type:"button",onClick:u,disabled:i||!c,className:"inline-flex items-center justify-center text-muted-foreground transition-colors hover:text-foreground disabled:cursor-not-allowed disabled:opacity-40","aria-label":`Save ${e}`,children:o.jsx(Ht,{className:"h-4 w-4"})})]})]}),r?o.jsx("p",{className:"text-xs text-muted-foreground",children:r}):null]})});function O1({isOpen:A,onClose:e}){const{data:t}=zo(),{preferences:s,updatePreferences:n}=$s(),r=Sr();return o.jsx(So,{isOpen:A,onClose:e,title:"Preferences",maxWidth:"lg",children:o.jsxs("div",{className:"-m-6",children:[o.jsxs(Ys,{title:"Editor",icon:o.jsx(wC,{className:"w-4 h-4 text-muted-foreground"}),children:[o.jsx(lr,{label:"Vim Mode",checked:s.vimMode,onChange:i=>n({vimMode:i})}),o.jsx(lr,{label:"Compact Thread",checked:s.compactThread,onChange:i=>n({compactThread:i})}),o.jsx(lr,{label:"Full Width Content",checked:s.fullWidthContent,onChange:i=>n({fullWidthContent:i})}),o.jsx(j1,{value:s.fontFamily,onChange:i=>n({fontFamily:i})})]}),o.jsxs(Ys,{title:"Automation",icon:o.jsx(WQ,{className:"w-4 h-4 text-muted-foreground"}),children:[o.jsx(T1,{label:"Auto Compact",value:t?.defaults?.autoCompactThresholdTokens,onCommit:i=>r.mutate({autoCompactThresholdTokens:i,scope:"global"}),placeholder:"Tokens",disabled:r.isPending}),o.jsx(ur,{label:"Tool Approval",value:t?.defaults?.toolApproval??"dangerous",options:[{id:"auto",label:"Auto (no approval)"},{id:"dangerous",label:"Dangerous only"},{id:"yolo",label:"YOLO (hard blocks only)"},{id:"all",label:"All tools"}],onChange:i=>r.mutate({toolApproval:i,scope:"global"}),disabled:r.isPending}),o.jsx(lr,{label:"Guided Mode",checked:t?.defaults?.guidedMode??!1,onChange:i=>r.mutate({guidedMode:i,scope:"global"})})]}),o.jsxs(Ys,{title:"Reasoning",icon:o.jsx(eo,{className:"w-4 h-4 text-muted-foreground"}),children:[o.jsx(lr,{label:"Show Reasoning",checked:t?.defaults?.reasoningText??!0,onChange:i=>r.mutate({reasoningText:i,scope:"global"})}),o.jsx(ur,{label:"Reasoning Level",value:t?.defaults?.reasoningLevel??"high",options:[{id:"minimal",label:"Minimal"},{id:"low",label:"Low"},{id:"medium",label:"Medium"},{id:"high",label:"High"},{id:"max",label:"Max"},{id:"xhigh",label:"Extra High"}],onChange:i=>r.mutate({reasoningLevel:i,scope:"global"}),disabled:r.isPending})]})]})})}const q1=x.memo(function(){const e=Mt(O=>O.isExpanded),t=Mt(O=>O.collapseSidebar),[s,n]=x.useState(!1),r=ss(O=>O.widths[pQ]??mQ),{data:i}=zo(),{data:a}=Xs(),g=Sr(),l=Ne(O=>O.balance),Q=Ne(O=>O.walletAddress),I=Ne(O=>O.usdcBalance),C=Ne(O=>O.isLoading),c=Ne(O=>O.openTopupModal);U1();const u=i?.providers?.includes("ottorouter"),{fetchBalance:p}=oi(u?"ottorouter":void 0),f=kt(O=>O.setOpen),k=kt(O=>O.setStep),v=kt(O=>O.setManageMode),{fetchAuthStatus:D}=Mg(),j=x.useCallback(async()=>await mA.exportOttoRouterWallet(),[]),K=x.useMemo(()=>!i?.providers||!a?[]:i.providers.filter(O=>a[O]).map(O=>({id:O,label:a[O]?.label||O})),[i?.providers,a]),V=x.useMemo(()=>{const O=i?.defaults?.provider;return!O||!a?.[O]?[]:a[O].models.map(L=>({id:L.id,label:L.label}))},[i?.defaults?.provider,a]),eA=x.useMemo(()=>i?.agents?i.agents.map(O=>({id:O,label:O})):[],[i?.agents]);if(!e)return null;const X=O=>{const L=a?.[O]?.models?.[0]?.id;g.mutate({provider:O,model:L||i?.defaults?.model,scope:"global"})},R=O=>{g.mutate({model:O,scope:"global"})},W=O=>{g.mutate({agent:O,scope:"global"})};return o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:r},children:[o.jsx(_s,{panelKey:pQ,side:"right",minWidth:R1,maxWidth:K1,defaultWidth:mQ}),o.jsxs("div",{className:"flex-1 flex flex-col h-full min-w-0",children:[o.jsxs("div",{className:"h-14 border-b border-border px-3 flex items-center justify-between shrink-0",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(PQ,{className:"w-4 h-4"}),o.jsx("span",{className:"font-medium",children:"Settings"})]}),o.jsx(le,{variant:"ghost",size:"icon",onClick:t,children:o.jsx(at,{className:"w-4 h-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-y-auto",children:[o.jsxs(Ys,{title:"Default Model",icon:o.jsx(mC,{className:"w-4 h-4 text-muted-foreground"}),children:[o.jsx(ur,{label:"Provider",value:i?.defaults?.provider??"",options:K,onChange:X,disabled:g.isPending}),o.jsx(ur,{label:"Model",value:i?.defaults?.model??"",options:V,onChange:R,disabled:g.isPending}),o.jsx(ur,{label:"Agent",value:i?.defaults?.agent??"",options:eA,onChange:W,disabled:g.isPending})]}),o.jsx(Ys,{title:"Providers",icon:o.jsx(WQ,{className:"w-4 h-4 text-muted-foreground"}),action:o.jsx("button",{type:"button",onClick:()=>{D().then(()=>{k("wallet"),v(!0),f(!0)})},className:"p-1 hover:bg-muted rounded transition-colors",title:"Manage providers",children:o.jsx(In,{className:"w-3.5 h-3.5 text-muted-foreground"})}),children:o.jsx("div",{className:"flex flex-wrap gap-2",children:i?.providers?.map(O=>o.jsx("span",{className:"px-2 py-1 text-xs bg-muted rounded-md font-mono",children:O},O))??o.jsx("span",{className:"text-muted-foreground text-sm",children:"None"})})}),i?.providers?.includes("ottorouter")&&o.jsx(H1,{ottorouterWallet:Q,ottorouterBalance:l,ottorouterUsdcBalance:I,ottorouterLoading:C,refreshSetuBalance:p,openTopupModal:c,onExportPrivateKey:j}),o.jsx(Ng,{})]}),o.jsxs("button",{type:"button",onClick:()=>n(!0),title:"Open preferences",className:"group shrink-0 w-full h-12 px-4 flex items-center gap-2 bg-muted/20 hover:bg-muted/60 border-t border-border transition-colors text-left cursor-pointer",children:[o.jsx(Ga,{className:"w-4 h-4 text-muted-foreground group-hover:text-foreground transition-colors"}),o.jsx("span",{className:"text-sm flex-1 text-muted-foreground group-hover:text-foreground transition-colors",children:"Preferences"}),o.jsx(at,{className:"w-4 h-4 text-muted-foreground group-hover:text-foreground group-hover:translate-x-0.5 transition-all"})]}),o.jsx(O1,{isOpen:s,onClose:()=>n(!1)})]})]})});function Y1(){const A=Ne(t=>t.subscription),e=Ne(t=>t.payg);return A?.active?o.jsxs(o.Fragment,{children:[o.jsx(cs,{label:"Plan",value:A.tierName??"GO"}),A.usageWindows&&o.jsxs(o.Fragment,{children:[o.jsx(cs,{label:"5h",value:`${Math.round(A.usageWindows.fiveHour.percentUsed)}%`}),o.jsx(cs,{label:"Week",value:`${Math.round(A.usageWindows.weekly.percentUsed)}%`})]}),e&&e.effectiveSpendableUsd>0&&o.jsx(cs,{label:"Credits",value:`$${e.effectiveSpendableUsd.toFixed(2)}`}),A.periodEnd&&o.jsx(cs,{label:"Renews",value:new Date(A.periodEnd).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}).replace(",","")})]}):null}const H1=x.memo(function({ottorouterWallet:e,ottorouterBalance:t,ottorouterUsdcBalance:s,ottorouterLoading:n,refreshSetuBalance:r,openTopupModal:i,onExportPrivateKey:a}){const g=Ne(w=>!!w.subscription?.active),[l,Q]=x.useState(!1),[I,C]=x.useState(!1),[c,u]=x.useState(null),[p,f]=x.useState(!1),[k,v]=x.useState(null),[D,j]=x.useState(!1),K=x.useCallback(async()=>{e&&(await navigator.clipboard.writeText(e),Q(!0),setTimeout(()=>Q(!1),2e3))},[e]),V=async()=>{C(!0),j(!1),u(null),v(null),f(!0);try{const w=await a();u(w.privateKey)}catch(w){v(w instanceof Error?w.message:"Failed to export private key")}finally{f(!1)}},eA=()=>{p||(C(!1),j(!1),u(null),v(null))},X=async()=>{c&&(await navigator.clipboard.writeText(c),j(!0),setTimeout(()=>j(!1),2e3))},R=w=>w?`${w.slice(0,4)}...${w.slice(-4)}`:"Not configured",W=w=>w===null?"—":`$${w.toFixed(4)}`,O=w=>w===null?"—":`${w.toFixed(2)} USDC`,L=e!==null;return o.jsxs(Ys,{title:"Setu Credits",icon:o.jsx(Ja,{className:"w-4 h-4 text-muted-foreground"}),action:o.jsx("button",{type:"button",onClick:r,disabled:n,className:"p-1 hover:bg-muted rounded transition-colors disabled:opacity-50",title:"Refresh balances",children:o.jsx(Zt,{className:`w-3.5 h-3.5 text-muted-foreground ${n?"animate-spin":""}`})}),children:[L?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"flex justify-center pb-3",children:o.jsx("div",{className:"p-2 bg-white rounded-lg",children:o.jsx(ri,{value:e,size:120,level:"M",includeMargin:!1})})}),o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Address"}),o.jsxs("button",{type:"button",onClick:K,className:"flex items-center gap-1.5 font-mono text-foreground hover:text-muted-foreground transition-colors",title:"Copy address",children:[R(e),l?o.jsx(Ht,{className:"w-3 h-3 text-green-500"}):o.jsx(fs,{className:"w-3 h-3 text-muted-foreground"})]})]}),o.jsx(Y1,{}),!g&&o.jsxs(o.Fragment,{children:[o.jsx(cs,{label:"Balance",value:W(t)}),o.jsx(cs,{label:"USDC",value:O(s)})]})]}):o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"flex justify-center pb-3",children:o.jsx("div",{className:"w-[136px] h-[136px] bg-muted rounded-lg animate-pulse"})}),o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Address"}),o.jsx("div",{className:"w-24 h-4 bg-muted rounded animate-pulse"})]}),o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"Balance"}),o.jsx("div",{className:"w-16 h-4 bg-muted rounded animate-pulse"})]}),o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"text-muted-foreground",children:"USDC"}),o.jsx("div",{className:"w-20 h-4 bg-muted rounded animate-pulse"})]})]}),o.jsxs(le,{variant:"secondary",size:"sm",onClick:i,className:"w-full mt-2 gap-2",children:[o.jsx(go,{className:"w-4 h-4"}),"Top Up Balance"]}),o.jsxs(le,{variant:"ghost",size:"sm",onClick:V,className:"w-full gap-2",children:[o.jsx(Br,{className:"w-4 h-4"}),"Export Private Key"]}),I&&o.jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm",children:o.jsxs("div",{className:"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl",children:[o.jsxs("div",{className:"flex items-center gap-3 p-6 border-b border-border",children:[o.jsx(Br,{className:"w-5 h-5 text-muted-foreground"}),o.jsx("h3",{className:"text-lg font-semibold",children:"Export Setu Private Key"})]}),o.jsxs("div",{className:"p-6",children:[o.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Keep this private key secret. Anyone with this key can spend funds from your Setu wallet."}),p&&o.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[o.jsx(Je,{className:"w-4 h-4 animate-spin"}),"Exporting private key..."]}),!p&&c&&o.jsxs("div",{className:"space-y-3",children:[o.jsx("textarea",{readOnly:!0,value:c,className:"w-full min-h-[110px] px-4 py-3 bg-muted/50 border border-border rounded-lg text-foreground outline-none font-mono text-xs resize-y"}),o.jsxs(le,{variant:"secondary",size:"sm",onClick:X,className:"w-full gap-2",children:[D?o.jsx(Ht,{className:"w-4 h-4 text-green-500"}):o.jsx(fs,{className:"w-4 h-4"}),D?"Copied":"Copy Private Key"]})]}),!p&&k&&o.jsx("p",{className:"text-sm text-red-500 mt-3",children:k}),o.jsx("div",{className:"flex gap-3 mt-5",children:o.jsx("button",{type:"button",onClick:eA,disabled:p,className:"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors disabled:opacity-50",children:"Close"})})]})]})})]})}),P1=x.memo(function(){const e=Mt(s=>s.isExpanded),t=Mt(s=>s.toggleSidebar);return o.jsx("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Settings",children:o.jsx(PQ,{className:"w-5 h-5 text-muted-foreground mx-auto"})})});async function W1(){const A=await fetch(`${rs}/v1/tunnel/status`);if(!A.ok)throw new Error("Failed to fetch tunnel status");return A.json()}async function z1(){return(await fetch(`${rs}/v1/tunnel/start`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})})).json()}async function V1(){return(await fetch(`${rs}/v1/tunnel/stop`,{method:"POST"})).json()}function Z1(){const A=je(n=>n.setStatus),e=je(n=>n.setUrl),t=je(n=>n.setError),s=gt({queryKey:["tunnel","status"],queryFn:W1,refetchInterval:3e3});return x.useEffect(()=>{s.data&&(A(s.data.status),e(s.data.url),t(s.data.error))},[s.data,A,e,t]),s}function _1(){const A=ke(),e=je(r=>r.setStatus),t=je(r=>r.setUrl),s=je(r=>r.setError),n=je(r=>r.setProgress);return Ze({mutationFn:()=>z1(),onMutate:()=>{e("starting"),n("Connecting..."),s(null)},onSuccess:r=>{r.ok&&r.url?(e("connected"),t(r.url),n(null)):r.ok||(e("error"),s(r.error||"Failed to start tunnel"),n(null)),A.invalidateQueries({queryKey:["tunnel"]})},onError:r=>{e("error"),s(r.message),n(null)}})}function X1(){const A=ke(),e=je(t=>t.reset);return Ze({mutationFn:V1,onSuccess:()=>{e(),A.invalidateQueries({queryKey:["tunnel"]})}})}function $1(){const A=je(a=>a.setStatus),e=je(a=>a.setUrl),t=je(a=>a.setError),s=je(a=>a.setProgress),n=je(a=>a.isExpanded),r=x.useRef(null),i=x.useCallback(()=>{r.current&&r.current.close();const a=new EventSource(`${rs}/v1/tunnel/stream`);return r.current=a,a.onmessage=g=>{try{const l=JSON.parse(g.data);l.type==="status"&&(A(l.status),e(l.url),t(l.error),s(l.progress))}catch{}},a.onerror=()=>{a.close(),r.current=null},()=>{a.close(),r.current=null}},[A,e,t,s]);return x.useEffect(()=>n?i():()=>{r.current&&(r.current.close(),r.current=null)},[n,i]),{connect:i}}function Ay(A){try{const t=new URL(A).hostname;return t.length>24?`${t.slice(0,12)}...${t.slice(-8)}`:t}catch{return A.length>24?`${A.slice(0,12)}...${A.slice(-8)}`:A}}const ey=x.memo(function(){const e=je(u=>u.isExpanded),t=je(u=>u.collapseSidebar),s=je(u=>u.status),n=je(u=>u.url),r=je(u=>u.error),i=je(u=>u.progress),a=_1(),g=X1(),[l,Q]=x.useState(!1);Z1(),$1();const I=async()=>{n&&(await navigator.clipboard.writeText(n),Q(!0),setTimeout(()=>Q(!1),2e3))},C=()=>{a.mutate()},c=()=>{g.mutate()};return e?o.jsxs("div",{className:"w-80 border-l border-sidebar-border sidebar-fade-in flex flex-col h-full",children:[o.jsxs("div",{className:"h-14 flex items-center justify-between px-3 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Wo,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium text-sm",children:"Remote Access"})]}),o.jsx(le,{variant:"ghost",size:"icon",onClick:t,title:"Close sidebar",children:o.jsx(at,{className:"w-4 h-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-y-auto p-4",children:[s==="idle"&&o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center",children:[o.jsx(Wo,{className:"w-12 h-12 text-muted-foreground/30 mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"Access from anywhere"}),o.jsx("p",{className:"text-xs text-muted-foreground mb-6 max-w-[200px]",children:"Start a secure tunnel to access otto from your phone or another device."}),o.jsx("button",{type:"button",onClick:C,disabled:a.isPending,className:"px-4 py-2 bg-primary text-primary-foreground rounded-md text-sm font-medium hover:bg-primary/90 transition-colors disabled:opacity-50",children:a.isPending?"Starting...":"Start Tunnel"})]}),s==="starting"&&o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center",children:[o.jsx(Je,{className:"w-8 h-8 text-primary animate-spin mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"Setting up..."}),i&&o.jsx("p",{className:"text-xs text-muted-foreground max-w-[220px] break-words",children:i})]}),s==="connected"&&n&&o.jsxs("div",{className:"flex flex-col",children:[o.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[o.jsx("div",{className:"w-2 h-2 rounded-full bg-green-500 animate-pulse"}),o.jsx("span",{className:"text-xs font-medium text-green-600",children:"Connected"})]}),o.jsx("div",{className:"flex justify-center pb-4",children:o.jsx("div",{className:"p-3 bg-white rounded-lg",children:o.jsx(ri,{value:n,size:160,level:"M",includeMargin:!1})})}),o.jsx("p",{className:"text-xs text-muted-foreground mb-4 text-center",children:"Scan with your phone camera"}),o.jsxs("div",{className:"flex items-center justify-between text-sm mb-4",children:[o.jsx("span",{className:"text-muted-foreground",children:"URL"}),o.jsxs("button",{type:"button",onClick:I,className:"flex items-center gap-1.5 font-mono text-foreground hover:text-muted-foreground transition-colors",title:"Copy URL",children:[Ay(n),l?o.jsx(Ht,{className:"w-3 h-3 text-green-500"}):o.jsx(fs,{className:"w-3 h-3 text-muted-foreground"})]})]}),o.jsxs("button",{type:"button",onClick:()=>ho(n),className:"flex items-center justify-center gap-2 px-4 py-2 border border-border rounded-md text-sm hover:bg-muted transition-colors mb-3",children:[o.jsx(vt,{className:"w-3.5 h-3.5"}),"Open in browser"]}),o.jsx("button",{type:"button",onClick:c,disabled:g.isPending,className:"w-full px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors",children:g.isPending?"Stopping...":"Stop Tunnel"})]}),s==="error"&&o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center",children:[r?.includes("Rate limited")?o.jsxs(o.Fragment,{children:[o.jsx(La,{className:"w-8 h-8 text-yellow-500 mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"Rate Limited"}),o.jsx("p",{className:"text-xs text-muted-foreground mb-6 max-w-[220px]",children:"Cloudflare limits anonymous tunnel requests. Please wait 5-10 minutes before trying again."})]}):o.jsxs(o.Fragment,{children:[o.jsx(wo,{className:"w-8 h-8 text-destructive mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"Connection failed"}),o.jsx("p",{className:"text-xs text-muted-foreground mb-6 max-w-[200px]",children:r||"Unable to establish tunnel connection."})]}),o.jsx("button",{type:"button",onClick:C,disabled:a.isPending||r?.includes("Rate limited"),className:"px-4 py-2 bg-primary text-primary-foreground rounded-md text-sm font-medium hover:bg-primary/90 transition-colors disabled:opacity-50",title:r?.includes("Rate limited")?"Wait 5-10 minutes":void 0,children:r?.includes("Rate limited")?"Wait & Try Again":"Try Again"})]})]})]}):null}),ty=x.memo(function(){const e=je(r=>r.isExpanded),t=je(r=>r.toggleSidebar),n=je(r=>r.status)==="connected";return o.jsxs("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Remote Access",children:[o.jsx(Wo,{className:"w-5 h-5 text-muted-foreground mx-auto"}),n&&o.jsx("span",{className:"absolute top-2 right-2 w-2 h-2 bg-green-500 rounded-full animate-pulse"})]})});function oy(){const A=$e(t=>t.setServers),e=gt({queryKey:["mcp","servers"],queryFn:async()=>{const{data:t}=await hd();return t},refetchInterval:1e4});return x.useEffect(()=>{e.data?.servers&&A(e.data.servers)},[e.data,A]),e}function sy(){const A=ke();return Ze({mutationFn:async e=>{const{data:t,error:s}=await md({path:{name:e}});if(s)throw new Error("Failed to start server");const n=t;if(!n.ok)throw new Error(n.error||"Failed to start server");return n},onSettled:()=>{A.invalidateQueries({queryKey:["mcp","servers"]})}})}function ry(){const A=ke(),e=$e(t=>t.setLoading);return Ze({mutationFn:async t=>{e(t,!0);const{data:s,error:n}=await wd({path:{name:t}});if(n)throw new Error("Failed to stop server");const r=s;if(!r.ok)throw new Error(r.error||"Failed to stop server");return r},onSettled:(t,s,n)=>{e(n,!1),A.invalidateQueries({queryKey:["mcp","servers"]})}})}function ny(){const A=ke();return Ze({mutationFn:async e=>{const{data:t,error:s}=await fd({body:e});if(s)throw new Error("Failed to add MCP server");const n=t;if(!n.ok)throw new Error(n.error||"Failed to add MCP server");return n},onSuccess:()=>{A.invalidateQueries({queryKey:["mcp","servers"]})}})}function iy(){const A=ke();return Ze({mutationFn:async e=>{const{data:t,error:s}=await pd({path:{name:e}});if(s)throw new Error("Failed to remove MCP server");const n=t;if(!n.ok)throw new Error(n.error||"Failed to remove MCP server");return n},onSuccess:()=>{A.invalidateQueries({queryKey:["mcp","servers"]})}})}function ay(){const A=ke();return Ze({mutationFn:async e=>{const{data:t,error:s}=await xd({path:{name:e}});if(s)throw new Error("Failed to initiate auth");const n=t;if(!n.ok)throw new Error(n.error||"Failed to initiate auth");return n},onSettled:()=>{A.invalidateQueries({queryKey:["mcp","servers"]})}})}function gy(A){return gt({queryKey:["mcp","auth",A],queryFn:async()=>{if(!A)return{authenticated:!1};const{data:e}=await yd({path:{name:A}});return e},enabled:!!A,refetchInterval:3e3})}function ly(){const A=$e(i=>i.copilotDevice),e=$e(i=>i.setCopilotDevice),t=$e(i=>i.setLoading),s=ke(),n=x.useRef(null),r=x.useCallback(()=>{n.current&&(clearInterval(n.current),n.current=null)},[]);return x.useEffect(()=>{if(!A){r();return}const{sessionId:i,serverName:a,interval:g}=A,l=(g||5)*1e3+1e3;return n.current=setInterval(async()=>{try{const{data:Q}=await Dd({path:{name:a},body:{sessionId:i}}),I=Q;I?.status==="complete"?(r(),e(null),t(a,!1),s.invalidateQueries({queryKey:["mcp","servers"]})):I?.status==="error"&&(r(),e(null),t(a,!1))}catch{r(),e(null),t(a,!1)}},l),r},[A,e,t,s,r]),A}function Qy(A){const e=A.trim().split(/\s+/);return{command:e[0]??"",args:e.slice(1)}}function By(A){const e=A.trim();if(!e)return;const t={};for(const s of e.split(`
|
|
139
|
-
`)){const n=s.indexOf("=");n>0&&(t[s.slice(0,n).trim()]=s.slice(n+1).trim())}return Object.keys(t).length>0?t:void 0}function cy(A){const e=A.trim();if(!e)return;const t={};for(const s of e.split(`
|
|
140
|
-
`)){const n=s.indexOf(":");n>0&&(t[s.slice(0,n).trim()]=s.slice(n+1).trim())}return Object.keys(t).length>0?t:void 0}const Ey=x.memo(function({isOpen:e,onClose:t}){const[s,n]=x.useState("local"),[r,i]=x.useState(""),[a,g]=x.useState(""),[l,Q]=x.useState(""),[I,C]=x.useState("http"),[c,u]=x.useState(""),[p,f]=x.useState(""),[k,v]=x.useState("global"),[D,j]=x.useState(null),K=ny(),V=x.useCallback(()=>{i(""),g(""),Q(""),C("http"),u(""),f(""),v("global"),j(null),n("local")},[]),eA=x.useCallback(()=>{V(),t()},[V,t]),X=x.useCallback(async()=>{j(null);const L=r.trim();if(!L){j("Server name is required");return}try{if(s==="local"){const w=a.trim();if(!w){j("Command is required");return}if(/^https?:\/\//i.test(w)){j("Local commands cannot be URLs. Switch to Remote (HTTP) for remote servers.");return}const{command:B,args:d}=Qy(w);await K.mutateAsync({name:L,transport:"stdio",command:B,args:d,env:By(p),scope:k})}else{const w=l.trim();if(!w){j("URL is required");return}await K.mutateAsync({name:L,transport:I,url:w,headers:cy(c),scope:k})}eA()}catch(w){j(w instanceof Error?w.message:"Failed to add server")}},[r,s,a,p,l,I,c,k,K,eA]),R=x.useRef(null),[W,O]=x.useState(void 0);return x.useEffect(()=>{const L=R.current;if(!L)return;const w=new ResizeObserver(()=>{O(L.scrollHeight)});return w.observe(L),()=>w.disconnect()},[]),o.jsx(So,{isOpen:e,onClose:eA,title:"Add MCP Server",children:o.jsx("div",{className:"overflow-hidden transition-[height] duration-200 ease-in-out",style:{height:W!==void 0?W:"auto"},children:o.jsxs("div",{ref:R,className:"space-y-4",children:[o.jsxs("div",{className:"relative flex w-full rounded-lg bg-muted p-1",children:[o.jsx("div",{className:"absolute top-1 bottom-1 rounded-md bg-background shadow-md border border-border transition-all duration-200 ease-in-out",style:{left:s==="local"?"4px":"50%",right:s==="remote"?"4px":"50%"}}),o.jsxs("button",{type:"button",onClick:()=>n("local"),className:`relative z-10 flex items-center justify-center gap-2 flex-1 text-sm font-medium py-2 rounded-md transition-colors duration-200 ${s==="local"?"text-foreground":"text-muted-foreground/50"}`,children:[o.jsx(oo,{className:"w-4 h-4"}),"Local (stdio)"]}),o.jsxs("button",{type:"button",onClick:()=>n("remote"),className:`relative z-10 flex items-center justify-center gap-2 flex-1 text-sm font-medium py-2 rounded-md transition-colors duration-200 ${s==="remote"?"text-foreground":"text-muted-foreground/50"}`,children:[o.jsx(Wo,{className:"w-4 h-4"}),"Remote (HTTP)"]})]}),o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Name"}),o.jsx(ln,{value:r,onChange:L=>i(L.target.value),placeholder:"e.g. github, linear, helius",autoFocus:!0})]}),s==="local"?o.jsxs(o.Fragment,{children:[o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Command"}),o.jsx(ln,{value:a,onChange:L=>g(L.target.value),placeholder:"e.g. npx -y @modelcontextprotocol/server-github",onKeyDown:L=>{L.key==="Enter"&&X()}}),o.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:["Like"," ",o.jsx("code",{className:"bg-muted px-1 rounded",children:"npx -y helius-mcp@latest"})]})]}),o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Environment Variables"}),o.jsx("textarea",{value:p,onChange:L=>f(L.target.value),placeholder:`GITHUB_TOKEN=ghp_xxx
|
|
141
|
-
API_KEY=sk-xxx`,rows:2,className:"w-full bg-muted border border-border rounded-md px-3 py-2 text-sm font-mono resize-none focus:outline-none focus:ring-1 focus:ring-primary"}),o.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"One per line: KEY=VALUE"})]})]}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"URL"}),o.jsx(ln,{value:l,onChange:L=>Q(L.target.value),placeholder:"e.g. https://mcp.linear.app/mcp",onKeyDown:L=>{L.key==="Enter"&&X()}})]}),o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Transport"}),o.jsxs("div",{className:"relative flex w-full rounded-lg border border-border bg-muted/50 p-0.5",children:[o.jsx("div",{className:"absolute top-0.5 bottom-0.5 rounded-md bg-background shadow-md border border-border transition-all duration-200 ease-in-out",style:{left:I==="http"?"2px":"50%",right:I==="sse"?"2px":"50%"}}),o.jsx("button",{type:"button",onClick:()=>C("http"),className:`relative z-10 flex items-center justify-center gap-1.5 text-xs font-medium py-1.5 rounded-md flex-1 transition-colors duration-200 ${I==="http"?"text-foreground":"text-muted-foreground/50"}`,children:"HTTP (recommended)"}),o.jsx("button",{type:"button",onClick:()=>C("sse"),className:`relative z-10 flex items-center justify-center gap-1.5 text-xs font-medium py-1.5 rounded-md flex-1 transition-colors duration-200 ${I==="sse"?"text-foreground":"text-muted-foreground/50"}`,children:"SSE (legacy)"})]})]}),o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Headers"}),o.jsx("textarea",{value:c,onChange:L=>u(L.target.value),placeholder:"Authorization: Bearer xxx",rows:2,className:"w-full bg-muted border border-border rounded-md px-3 py-2 text-sm font-mono resize-none focus:outline-none focus:ring-1 focus:ring-primary"}),o.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:"One per line: Header-Name: value"})]}),o.jsx("p",{className:"text-xs text-muted-foreground",children:"For OAuth servers (Linear, Notion, etc.), leave headers empty and authenticate after adding."})]}),o.jsxs("div",{children:[o.jsx("div",{className:"text-sm font-medium mb-1",children:"Scope"}),o.jsxs("div",{className:"relative flex w-full rounded-lg border border-border bg-muted/50 p-0.5",children:[o.jsx("div",{className:"absolute top-0.5 bottom-0.5 rounded-md bg-background shadow-md border border-border transition-all duration-200 ease-in-out",style:{left:k==="global"?"2px":"50%",right:k==="project"?"2px":"50%"}}),o.jsxs("button",{type:"button",onClick:()=>v("global"),className:`relative z-10 flex items-center justify-center gap-1.5 text-xs font-medium py-1.5 rounded-md flex-1 transition-colors duration-200 ${k==="global"?"text-foreground":"text-muted-foreground/50"}`,children:[o.jsx(ja,{className:"w-3 h-3"}),"All projects"]}),o.jsxs("button",{type:"button",onClick:()=>v("project"),className:`relative z-10 flex items-center justify-center gap-1.5 text-xs font-medium py-1.5 rounded-md flex-1 transition-colors duration-200 ${k==="project"?"text-foreground":"text-muted-foreground/50"}`,children:[o.jsx(cr,{className:"w-3 h-3"}),"This project only"]})]}),o.jsx("p",{className:"text-xs text-muted-foreground mt-1",children:k==="global"?"Saved to ~/.config/otto/config.json":"Saved to .otto/config.json (project-local)"})]}),D&&o.jsx("div",{className:"text-sm text-red-400 bg-red-500/10 px-3 py-2 rounded",children:D}),o.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[o.jsx(le,{variant:"ghost",onClick:eA,children:"Cancel"}),o.jsx(le,{variant:"primary",onClick:X,disabled:K.isPending,children:K.isPending?o.jsxs(o.Fragment,{children:[o.jsx(Je,{className:"w-3 h-3 animate-spin mr-1"}),"Adding..."]}):"Add Server"})]})]})})})}),ka=x.memo(function({checked:e,loading:t,onChange:s,disabled:n}){return o.jsx("button",{type:"button",role:"switch","aria-checked":e,disabled:n||t,onClick:r=>{r.stopPropagation(),s()},className:`relative inline-flex h-5 w-9 flex-shrink-0 items-center rounded-full transition-colors duration-200 focus-visible:outline-none disabled:opacity-50 disabled:cursor-not-allowed ${e?"bg-green-500":"bg-muted-foreground/30"}`,children:o.jsx("span",{className:`inline-block h-3.5 w-3.5 rounded-full transition-transform duration-200 ${e?"translate-x-[18px]":"translate-x-[3px]"} ${t?"bg-transparent":"bg-white"}`,children:t?o.jsx(Je,{className:"w-3.5 h-3.5 animate-spin text-white"}):null})})}),Cy=x.memo(function({userCode:e,verificationUri:t}){const[s,n]=x.useState(!1),r=x.useCallback(()=>{navigator.clipboard.writeText(e).then(()=>{n(!0),setTimeout(()=>n(!1),2e3)})},[e]);return o.jsx("div",{className:"px-3 pb-2.5 pt-0",children:o.jsxs("div",{className:"rounded-md bg-yellow-500/10 border border-yellow-500/20 p-2 space-y-1.5",children:[o.jsxs("div",{className:"flex items-center gap-1.5 text-xs",children:[o.jsx(Je,{className:"w-3 h-3 animate-spin text-yellow-500 flex-shrink-0"}),o.jsx("span",{className:"text-yellow-500/80",children:"Enter code at GitHub:"})]}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("code",{className:"text-sm font-mono font-bold text-yellow-400 tracking-wider",children:e}),o.jsx("button",{type:"button",onClick:r,className:"text-yellow-500/60 hover:text-yellow-400 transition-colors",title:"Copy code",children:o.jsx(xC,{className:"w-3.5 h-3.5"})}),s&&o.jsx("span",{className:"text-xs text-green-400",children:"Copied!"})]}),o.jsxs("a",{href:t,target:"_blank",rel:"noopener noreferrer",onClick:i=>{i.preventDefault(),ho(t)},className:"inline-flex items-center gap-1 text-xs text-yellow-400 hover:text-yellow-300 underline underline-offset-2",children:["Open GitHub login",o.jsx(vt,{className:"w-3 h-3"})]})]})})}),Iy=x.memo(function({server:e,isLoading:t,authUrl:s,copilotDevice:n,onStart:r,onStop:i,onRemove:a,onAuth:g}){const[l,Q]=x.useState(!1),I=e.connected&&e.tools.length>0,C=e.transport==="http"||e.transport==="sse",c=(!!s||!!n)&&!e.connected,u=x.useCallback(()=>{e.authRequired&&!e.connected?g():e.connected?i():r()},[e.connected,e.authRequired,g,i,r]),p=x.useCallback(()=>{I&&Q(f=>!f)},[I]);return o.jsxs("div",{className:`rounded-lg border transition-colors duration-200 group ${e.connected?"border-green-500/30 bg-green-500/5":c?"border-yellow-500/30 bg-yellow-500/5":"border-border bg-transparent"}`,children:[o.jsxs("div",{className:"flex items-center gap-3 px-3 py-2.5",children:[o.jsx(ka,{checked:e.connected,loading:t||c,onChange:u}),o.jsxs("div",{className:"flex-1 min-w-0",children:[o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx("span",{className:"text-sm font-medium truncate",children:e.name}),C&&o.jsx(Wo,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}),e.authRequired&&!e.connected&&o.jsx(DC,{className:"w-3 h-3 text-yellow-500 flex-shrink-0"})]}),o.jsxs("div",{className:"flex items-center gap-1.5 mt-0.5",children:[o.jsx("span",{className:"text-xs text-muted-foreground truncate",children:C?e.url:`${e.command??""} ${e.args.join(" ")}`}),o.jsx("span",{className:"flex items-center flex-shrink-0 opacity-50",title:e.scope==="project"?"Project-local":"Global",children:e.scope==="project"?o.jsx(cr,{className:"w-3 h-3"}):o.jsx(ja,{className:"w-3 h-3"})})]})]}),o.jsxs("div",{className:"flex items-center gap-0.5 flex-shrink-0",children:[I&&o.jsxs("button",{type:"button",onClick:p,className:"flex items-center gap-0.5 text-xs text-muted-foreground hover:text-foreground px-1.5 py-1 rounded transition-colors",children:[o.jsx(yC,{className:"w-3 h-3"}),e.tools.length,l?o.jsx(qt,{className:"w-3 h-3"}):o.jsx(at,{className:"w-3 h-3"})]}),o.jsx(le,{variant:"ghost",size:"icon",onClick:a,title:"Remove server",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity",children:o.jsx(yr,{className:"w-3 h-3 text-muted-foreground hover:text-red-400"})})]})]}),n&&!e.connected&&o.jsx(Cy,{userCode:n.userCode,verificationUri:n.verificationUri}),!n&&c&&s&&o.jsx("div",{className:"px-3 pb-2.5 pt-0",children:o.jsxs("div",{className:"flex items-center gap-1.5 text-xs",children:[o.jsx(Je,{className:"w-3 h-3 animate-spin text-yellow-500 flex-shrink-0"}),o.jsx("span",{className:"text-yellow-500/80",children:"Waiting for auth..."}),o.jsxs("a",{href:s,target:"_blank",rel:"noopener noreferrer",onClick:f=>{f.preventDefault(),ho(s)},className:"inline-flex items-center gap-0.5 text-yellow-400 hover:text-yellow-300 underline underline-offset-2",children:["Open login",o.jsx(vt,{className:"w-3 h-3"})]})]})}),I&&l&&o.jsx("div",{className:"px-3 pb-2.5 pt-0",children:o.jsx("div",{className:"flex flex-wrap gap-1",children:e.tools.map(f=>o.jsx("span",{className:"text-xs bg-muted px-1.5 py-0.5 rounded",title:f,children:f.split("__").pop()},f))})})]})});function uy(A,e){const{data:t}=gy(A),s=x.useRef(!1);x.useEffect(()=>{t?.authenticated&&!s.current&&e(),s.current=t?.authenticated??!1},[t?.authenticated,e])}const dy=x.memo(function(){const e=$e(L=>L.isExpanded),t=$e(L=>L.collapseSidebar),s=$e(L=>L.servers),n=$e(L=>L.loading),r=$e(L=>L.authUrls),i=$e(L=>L.setAuthUrl),a=$e(L=>L.setLoading),g=$e(L=>L.setCopilotDevice),{isLoading:l}=oy(),Q=sy(),I=ry(),C=iy(),c=ay(),u=ly(),[p,f]=x.useState(!1),[k,v]=x.useState(null),[D,j]=x.useState(null),K=ke(),V=x.useCallback(()=>{k&&(i(k,null),v(null),K.invalidateQueries({queryKey:["mcp","servers"]}))},[k,i,K]);uy(k,V),x.useEffect(()=>{for(const L of n)s.find(B=>B.name===L)?.connected&&a(L,!1)},[s,n,a]);const eA=x.useCallback((L,w)=>{w.sessionId&&w.userCode&&w.verificationUri&&(g({sessionId:w.sessionId,userCode:w.userCode,verificationUri:w.verificationUri,interval:w.interval??5,serverName:L}),ho(w.verificationUri))},[g]),X=x.useCallback(async L=>{try{a(L,!0);const w=await c.mutateAsync(L);if(w.authType==="copilot-device"){if(w.authenticated){a(L,!1),K.invalidateQueries({queryKey:["mcp","servers"]});return}eA(L,w)}else w.authUrl?(i(L,w.authUrl),v(L),ho(w.authUrl)):a(L,!1)}catch{a(L,!1),i(L,null)}},[c,i,a,eA,K]),R=x.useCallback(async L=>{try{a(L,!0);const w=await Q.mutateAsync(L);w.authType==="copilot-device"&&!w.connected?eA(L,w):w.authRequired&&w.authUrl?(i(L,w.authUrl),v(L),ho(w.authUrl)):a(L,!1)}catch{a(L,!1),i(L,null)}},[Q,i,a,eA]),W=x.useMemo(()=>[...s].sort((L,w)=>L.connected&&!w.connected?-1:!L.connected&&w.connected?1:L.name.localeCompare(w.name)),[s]);if(!e)return null;const O=s.filter(L=>L.connected).length;return o.jsxs("div",{className:"w-80 border-l border-sidebar-border sidebar-fade-in flex flex-col h-full",children:[o.jsxs("div",{className:"h-14 flex items-center justify-between px-3 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Nr,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium text-sm",children:"MCP Servers"}),O>0&&o.jsxs("span",{className:"text-xs bg-green-500/20 text-green-400 px-1.5 py-0.5 rounded-full",children:[O," active"]})]}),o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx(le,{variant:"ghost",size:"icon",onClick:()=>f(!0),title:"Add MCP server",className:"h-7 w-7",children:o.jsx(go,{className:"w-4 h-4"})}),o.jsx(le,{variant:"ghost",size:"icon",onClick:t,title:"Close sidebar",children:o.jsx(at,{className:"w-4 h-4"})})]})]}),o.jsx("div",{className:"flex-1 overflow-y-auto",children:l&&s.length===0?o.jsxs("div",{className:"flex items-center justify-center h-32 text-muted-foreground",children:[o.jsx(Je,{className:"w-4 h-4 animate-spin mr-2"}),"Loading..."]}):s.length===0?o.jsxs("div",{className:"p-4 text-sm text-muted-foreground space-y-3",children:[o.jsx("p",{children:"No MCP servers configured."}),o.jsxs(le,{variant:"primary",size:"sm",onClick:()=>f(!0),className:"w-full",children:[o.jsx(go,{className:"w-3 h-3 mr-1"}),"Add MCP Server"]}),o.jsxs("p",{className:"text-xs",children:["Or add servers to"," ",o.jsx("code",{className:"bg-muted px-1 py-0.5 rounded text-xs",children:".otto/config.json"})]})]}):o.jsx("div",{className:"p-2 space-y-1.5",children:W.map(L=>o.jsx(Iy,{server:L,isLoading:n.has(L.name),authUrl:r.get(L.name),copilotDevice:u?.serverName===L.name?u:null,onStart:()=>R(L.name),onStop:()=>I.mutate(L.name),onRemove:()=>j(L.name),onAuth:()=>X(L.name)},L.name))})}),o.jsx(Ey,{isOpen:p,onClose:()=>f(!1)}),o.jsxs(So,{isOpen:!!D,onClose:()=>j(null),title:"Remove MCP Server",maxWidth:"sm",showCloseButton:!1,children:[o.jsxs("p",{className:"text-sm text-muted-foreground mb-4",children:["Are you sure you want to remove"," ",o.jsx("span",{className:"font-medium text-foreground",children:D}),"? This will stop the server and remove its configuration."]}),o.jsxs("div",{className:"flex justify-end gap-2",children:[o.jsx(le,{variant:"secondary",size:"sm",onClick:()=>j(null),children:"Cancel"}),o.jsx(le,{variant:"primary",size:"sm",className:"bg-red-500 hover:bg-red-600 text-white",onClick:()=>{D&&C.mutate(D),j(null)},children:"Remove"})]})]})]})}),hy=x.memo(function(){const e=$e(r=>r.isExpanded),t=$e(r=>r.toggleSidebar),n=$e(r=>r.servers).filter(r=>r.connected).length;return o.jsxs("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"MCP Servers",children:[o.jsx(Nr,{className:"w-5 h-5 text-muted-foreground mx-auto"}),n>0&&o.jsx("span",{className:"absolute top-2 right-2 w-2 h-2 bg-green-500 rounded-full"})]})});function fy(){const A=Ve(t=>t.setSkillsConfig),e=gt({queryKey:["skills"],queryFn:async()=>mA.getSkillsConfig(),refetchInterval:3e4});return x.useEffect(()=>{e.data?.items&&A({skills:e.data.items,globalEnabled:e.data.enabled,totalCount:e.data.totalCount,enabledCount:e.data.enabledCount})},[e.data,A]),e}function py(){const A=ke(),e=Ve(t=>t.setSkillsConfig);return Ze({mutationFn:t=>mA.updateSkillsConfig(t),onSuccess:t=>{e({skills:t.items,globalEnabled:t.enabled,totalCount:t.totalCount,enabledCount:t.enabledCount}),A.setQueryData(["skills"],t)}})}function FE(A){return gt({queryKey:["skills",A],queryFn:async()=>A?mA.getSkill(A):null,enabled:!!A})}function my(A){return gt({queryKey:["skills",A,"files"],queryFn:async()=>A?mA.getSkillFiles(A):null,enabled:!!A})}function wy(A,e){return gt({queryKey:["skills",A,"files",e],queryFn:async()=>!A||!e?null:mA.getSkillFileContent(A,e),enabled:!!A&&!!e})}const xy={cwd:cr,parent:cr,repo:cr,user:ja,system:Wo},wQ={cwd:"Project",parent:"Parent",repo:"Repository",user:"User",system:"System"};function Dy(A){return A<1024?`${A} B`:A<1024*1024?`${(A/1024).toFixed(1)} KB`:`${(A/(1024*1024)).toFixed(1)} MB`}const yy=x.memo(function(){const e=Ve(D=>D.isExpanded),t=Ve(D=>D.collapseSidebar),s=Ve(D=>D.skills),n=Ve(D=>D.globalEnabled),r=Ve(D=>D.totalCount),i=Ve(D=>D.enabledCount),a=Ve(D=>D.selectedSkill),g=Ve(D=>D.selectSkill),l=Ve(D=>D.openViewer),Q=Ve(D=>D.viewingFile),{isLoading:I,isFetching:C,refetch:c}=fy(),u=py(),{data:p}=FE(a),{data:f}=my(a),k=f?.files??[],v=x.useMemo(()=>{const D=new Map;for(const j of s){const K=D.get(j.scope)??[];K.push(j),D.set(j.scope,K)}return D},[s]);return e?o.jsxs("div",{className:"w-80 border-l border-sidebar-border sidebar-fade-in flex flex-col h-full",children:[o.jsxs("div",{className:"h-14 flex items-center justify-between px-3 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(eo,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium text-sm",children:"Skills"})]}),o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx(ka,{checked:n,loading:u.isPending,onChange:()=>u.mutate({enabled:!n})}),o.jsx(le,{variant:"ghost",size:"icon",onClick:t,title:"Close sidebar",children:o.jsx(at,{className:"w-4 h-4"})})]})]}),a&&p?o.jsxs("div",{className:"flex-1 overflow-y-auto",children:[o.jsx("div",{className:"p-3 border-b border-border",children:o.jsx("button",{type:"button",onClick:()=>g(null),className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:"← Back to list"})}),o.jsxs("div",{className:"px-3 py-3 border-b border-border",children:[o.jsx("h3",{className:"font-medium text-sm mb-1",children:p.name}),o.jsx("p",{className:"text-xs text-muted-foreground mb-2",children:p.description}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-muted text-muted-foreground",children:wQ[p.scope]??p.scope}),p.license&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-muted text-muted-foreground",children:p.license})]})]}),o.jsxs("div",{className:"py-1",children:[o.jsx("div",{className:"flex items-center gap-1.5 px-3 py-2 text-[10px] uppercase tracking-wider text-muted-foreground font-medium",children:"Files"}),o.jsx("button",{type:"button",onClick:()=>l(null),className:`w-full text-left px-3 py-2 hover:bg-accent transition-colors ${Q===null?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(os,{className:"w-3.5 h-3.5 flex-shrink-0 text-muted-foreground"}),o.jsx("span",{className:"text-sm font-mono truncate flex-1",children:"SKILL.md"})]})}),k.map(D=>o.jsx("button",{type:"button",onClick:()=>l(D.relativePath),className:`w-full text-left px-3 py-2 hover:bg-accent transition-colors ${Q===D.relativePath?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Sn,{className:"w-3.5 h-3.5 flex-shrink-0 text-muted-foreground"}),o.jsx("span",{className:"text-sm font-mono truncate flex-1",children:D.relativePath}),o.jsx("span",{className:"text-[10px] text-muted-foreground flex-shrink-0",children:Dy(D.size)})]})},D.relativePath))]})]}):o.jsx("div",{className:"flex-1 overflow-y-auto",children:I?o.jsx("div",{className:"flex items-center justify-center py-8",children:o.jsx(Je,{className:"w-4 h-4 animate-spin text-muted-foreground"})}):r===0?o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center p-4",children:[o.jsx(eo,{className:"w-12 h-12 text-muted-foreground/30 mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"No skills found"}),o.jsxs("p",{className:"text-xs text-muted-foreground max-w-[220px]",children:["Create skills in"," ",o.jsx("code",{className:"text-[10px] bg-muted px-1 rounded",children:".otto/skills/ or .agents/skills/"})," ","or"," ",o.jsx("code",{className:"text-[10px] bg-muted px-1 rounded",children:"~/.config/otto/skills/ or ~/.agents/skills/"})]})]}):n?s.length===0?o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center p-4",children:[o.jsx(eo,{className:"w-12 h-12 text-muted-foreground/30 mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"All skills are disabled"}),o.jsx("p",{className:"text-xs text-muted-foreground max-w-[220px]",children:"Enable individual skills or turn all skills back on."})]}):o.jsx("div",{className:"py-1",children:["cwd","parent","repo","user","system"].map(D=>{const j=v.get(D);if(!j?.length)return null;const K=xy[D]??Wo;return o.jsxs("div",{children:[o.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-2 text-[10px] uppercase tracking-wider text-muted-foreground font-medium",children:[o.jsx(K,{className:"w-3 h-3"}),wQ[D]??D]}),j.map(V=>o.jsx("button",{type:"button",onClick:()=>g(V.name),className:`w-full text-left px-3 py-2 hover:bg-accent transition-colors ${a===V.name?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(os,{className:"w-3.5 h-3.5 flex-shrink-0 text-muted-foreground"}),o.jsxs("div",{className:"min-w-0 flex-1",children:[o.jsx("div",{className:"text-sm font-medium truncate",children:V.name}),o.jsx("div",{className:"text-xs text-muted-foreground truncate",children:V.description})]}),o.jsx(ka,{checked:V.enabled!==!1,loading:u.isPending,onChange:()=>u.mutate({items:{[V.name]:{enabled:V.enabled===!1}}})})]})},`${V.scope}-${V.name}`))]},D)})}):o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-center p-4",children:[o.jsx(eo,{className:"w-12 h-12 text-muted-foreground/30 mb-4"}),o.jsx("h3",{className:"text-sm font-medium mb-2",children:"Skills are disabled"}),o.jsx("p",{className:"text-xs text-muted-foreground max-w-[220px]",children:"Turn the skills toggle on to make discovered skills available."})]})}),o.jsxs("div",{className:"h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2",children:[o.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[o.jsx(eo,{className:"w-3 h-3 flex-shrink-0"}),o.jsxs("span",{className:"truncate",children:[i,"/",r," ",r===1?"skill":"skills"]})]}),o.jsx(le,{variant:"ghost",size:"icon",onClick:()=>c(),title:"Refresh skills",className:"h-6 w-6 flex-shrink-0",disabled:C,children:o.jsx(Zt,{className:`w-3 h-3 ${C?"animate-spin":""}`})})]})]}):null}),Ny=x.memo(function(){const e=Ve(s=>s.isExpanded),t=Ve(s=>s.toggleSidebar);return o.jsx("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Skills",children:o.jsx(eo,{className:"w-5 h-5 text-muted-foreground mx-auto"})})}),ky={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",txt:"plaintext",toml:"toml"};function My(A){const e=A.split(".").pop()?.toLowerCase()??"";return ky[e]??"plaintext"}const by=x.memo(function(){const e=Ve(u=>u.isViewerOpen),t=Ve(u=>u.viewingFile),s=Ve(u=>u.selectedSkill),n=Ve(u=>u.closeViewer),{data:r}=FE(s),{data:i,isLoading:a}=wy(s,t),g=t===null,l=g?r?.content:i?.content,Q=g?!r:a,I=g?"SKILL.md":t??"",C=My(I);if(x.useEffect(()=>{const u=p=>{const f=p.target,k=f.tagName==="INPUT"||f.tagName==="TEXTAREA"||f.isContentEditable;(p.key==="Escape"||p.key==="q"&&!k)&&e&&n()};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[e,n]),!e||!s)return null;const c=document?.documentElement.classList.contains("dark")?Eo:Co;return o.jsxs("div",{className:"absolute inset-0 bg-background z-50 flex flex-col animate-in slide-in-from-left duration-300",children:[o.jsxs("div",{className:"h-14 border-b border-border px-4 flex items-center gap-3",children:[o.jsx(le,{variant:"ghost",size:"icon",onClick:n,title:"Close viewer (ESC)",children:o.jsx(ct,{className:"w-4 h-4"})}),o.jsxs("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[o.jsx("span",{className:"text-xs text-muted-foreground flex-shrink-0",children:s}),o.jsx("span",{className:"text-xs text-muted-foreground",children:"/"}),o.jsx("span",{className:"text-sm font-medium text-foreground font-mono truncate",title:I,children:I})]}),o.jsx("span",{className:"text-xs text-muted-foreground",children:C})]}),o.jsx("div",{className:"flex-1 overflow-auto",children:Q?o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"Loading..."}):l?o.jsx("div",{className:"code-with-line-numbers",children:o.jsx(Yt,{language:C,style:c,wrapLines:!0,wrapLongLines:!0,lineProps:()=>({className:"code-line"}),customStyle:{margin:0,padding:"1rem",background:"transparent",fontSize:"0.75rem",lineHeight:"1.25rem"},codeTagProps:{style:{flex:1}},children:l})}):o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"Unable to load file"})})]})}),xQ="file-browser",DQ=320,Fy=280,Gy=600;function vy({dirPath:A}){const t=At(r=>r.expandedDirs).has(A),{data:s,isLoading:n}=IE(A,t);return t?n?o.jsx("div",{className:"pl-4 py-1 text-xs text-muted-foreground",children:"Loading..."}):o.jsx("div",{className:"pl-3",children:s?.items.map(r=>o.jsx(GE,{name:r.name,path:r.path,type:r.type,gitignored:r.gitignored,vendor:r.vendor},r.path))}):null}function GE({name:A,path:e,type:t,gitignored:s,vendor:n}){const r=At(C=>C.expandedDirs),i=At(C=>C.toggleDir),a=At(C=>C.openFile),g=At(C=>C.selectedFile),l=r.has(e),Q=g===e,I=x.useCallback(()=>{t==="directory"?i(e):a(e)},[t,e,i,a]);return o.jsxs("div",{children:[o.jsxs("button",{type:"button",onClick:I,className:`w-full text-left flex items-center gap-1.5 px-2 py-1 text-sm hover:bg-muted/50 rounded transition-colors ${Q?"bg-muted text-foreground":"text-foreground/80"} ${s||n?"opacity-40":""}`,children:[t==="directory"?o.jsxs(o.Fragment,{children:[l?o.jsx(qt,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}):o.jsx(at,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}),l?o.jsx(KQ,{className:"w-3.5 h-3.5 text-blue-500 flex-shrink-0"}):o.jsx(LQ,{className:"w-3.5 h-3.5 text-blue-500 flex-shrink-0"})]}):o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"w-3 flex-shrink-0"}),o.jsx(Sn,{className:"w-3.5 h-3.5 text-muted-foreground flex-shrink-0"})]}),o.jsx("span",{className:"truncate",children:A})]}),t==="directory"&&o.jsx(vy,{dirPath:e})]})}const Sy=x.memo(function(){const e=At(a=>a.isExpanded),t=At(a=>a.collapseSidebar),s=ss(a=>a.widths[xQ]??DQ),{data:n,isLoading:r,refetch:i}=IE(".");return e?o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:s},children:[o.jsx(_s,{panelKey:xQ,side:"right",minWidth:Fy,maxWidth:Gy,defaultWidth:DQ}),o.jsxs("div",{className:"flex-1 flex flex-col h-full min-w-0",children:[o.jsxs("div",{className:"h-14 border-b border-border px-3 flex items-center justify-between shrink-0",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(hr,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium",children:"Files"})]}),o.jsx(le,{variant:"ghost",size:"icon",onClick:t,children:o.jsx(at,{className:"w-4 h-4"})})]}),o.jsx("div",{className:"flex-1 overflow-y-auto p-1",children:r?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Loading file tree..."}):!n||n.items.length===0?o.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"No files found"}):n.items.map(a=>o.jsx(GE,{name:a.name,path:a.path,type:a.type,gitignored:a.gitignored,vendor:a.vendor},a.path))}),o.jsxs("div",{className:"h-12 px-4 border-t border-border text-xs text-muted-foreground flex items-center justify-between gap-2",children:[o.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[o.jsx(hr,{className:"w-3 h-3 flex-shrink-0"}),o.jsx("span",{className:"truncate",children:"Project Files"})]}),o.jsx(le,{variant:"ghost",size:"icon",onClick:()=>i(),title:"Refresh file tree",className:"h-6 w-6 flex-shrink-0",disabled:r,children:o.jsx(Zt,{className:`w-3 h-3 ${r?"animate-spin":""}`})})]})]})]}):null}),Uy=x.memo(function(){const e=At(s=>s.isExpanded),t=At(s=>s.toggleSidebar);return o.jsx("button",{type:"button",onClick:t,className:`relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${e?"bg-muted border-primary":"border-transparent hover:bg-muted/50"}`,title:"Files",children:o.jsx(hr,{className:"w-5 h-5 text-muted-foreground mx-auto"})})}),Ry={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",sql:"sql",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",html:"html",css:"css",scss:"scss",md:"markdown",markdown:"markdown",mdx:"markdown",txt:"plaintext",svelte:"svelte",toml:"toml",lock:"plaintext"};function vE(A){return A.split(".").pop()?.toLowerCase()??""}function Ky(A){const e=vE(A);return Ry[e]??"plaintext"}function Ly(A){const e=vE(A);return e==="md"||e==="markdown"||e==="mdx"}const Jy=x.memo(function(){const e=At(l=>l.isViewerOpen),t=At(l=>l.selectedFile),s=At(l=>l.closeViewer),{data:n,isLoading:r}=X2(t);if(x.useEffect(()=>{const l=Q=>{const I=Q.target,C=I.tagName==="INPUT"||I.tagName==="TEXTAREA"||I.isContentEditable;(Q.key==="Escape"||Q.key==="q"&&!C)&&e&&s()};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[e,s]),!e||!t)return null;const i=document?.documentElement.classList.contains("dark")?Eo:Co,a=Ky(t),g=Ly(t);return o.jsxs("div",{className:"absolute inset-0 bg-background z-50 flex flex-col animate-in slide-in-from-left duration-300",children:[o.jsxs("div",{className:"h-14 border-b border-border px-4 flex items-center gap-3",children:[o.jsx(le,{variant:"ghost",size:"icon",onClick:s,title:"Close file viewer (ESC)",children:o.jsx(ct,{className:"w-4 h-4"})}),o.jsxs("div",{className:"flex-1 flex items-center gap-2 min-w-0",children:[o.jsx("span",{className:"text-sm font-medium text-foreground font-mono truncate",title:t,children:t}),n&&o.jsxs("span",{className:"text-xs text-muted-foreground flex-shrink-0",children:[n.lineCount," lines"]})]}),o.jsx("span",{className:"text-xs text-muted-foreground",children:a})]}),o.jsx("div",{className:"flex-1 overflow-auto",children:r?o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"Loading file..."}):n?g?o.jsx("div",{className:"p-4 text-sm text-foreground leading-6 markdown-content max-w-full overflow-x-auto",children:o.jsx(Ta,{remarkPlugins:[Oa],components:{a:({href:l,children:Q,...I})=>o.jsx("a",{href:l,target:"_blank",rel:"noopener noreferrer",onClick:C=>{window.self!==window.top&&l&&(C.preventDefault(),window.parent.postMessage({type:"otto-open-url",url:l},"*"))},...I,children:Q}),table:({children:l,...Q})=>o.jsx("div",{className:"overflow-x-auto max-w-full min-w-0 my-3",children:o.jsx("table",{...Q,children:l})})},children:n.content})}):o.jsx("div",{className:"code-with-line-numbers",children:o.jsx(Yt,{language:a,style:i,wrapLines:!0,wrapLongLines:!0,lineProps:()=>({className:"code-line"}),customStyle:{margin:0,padding:"1rem",background:"transparent",fontSize:"0.75rem",lineHeight:"1.25rem"},codeTagProps:{style:{flex:1}},children:n.content})}):o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"Unable to load file"})})]})}),Ma=ht(A=>({isOpen:!1,open:()=>A({isOpen:!0}),close:()=>A({isOpen:!1}),toggle:()=>A(e=>({isOpen:!e.isOpen}))}));function jy(A,e){const t=A.toLowerCase(),s=e.toLowerCase();if(t.length===0)return{match:!0,score:0};if(s.includes(t))return{match:!0,score:100-s.indexOf(t)};let n=0,r=0,i=-1;for(let a=0;a<s.length&&n<t.length;a++)s[a]===t[n]&&(r+=10,i===a-1&&(r+=5),(a===0||s[a-1]==="/"||s[a-1]===".")&&(r+=8),i=a,n++);return{match:n===t.length,score:r}}const Ty=x.memo(function(){const e=Ma(k=>k.isOpen),t=Ma(k=>k.close),s=At(k=>k.openFile),n=At(k=>k.expandSidebar),[r,i]=x.useState(""),[a,g]=x.useState(0),l=x.useRef(null),Q=x.useRef(null),{data:I}=TB({enabled:e,query:r}),C=x.useMemo(()=>new Set(I?.ignoredFiles??[]),[I?.ignoredFiles]),c=x.useMemo(()=>I?.files?r?I.files.map(v=>({file:v,...jy(r,v)})).filter(v=>v.match).sort((v,D)=>D.score-v.score).slice(0,50).map(v=>v.file):I.files.slice(0,50):[],[I?.files,r]);x.useEffect(()=>{e&&(i(""),g(0),setTimeout(()=>l.current?.focus(),0))},[e]),x.useEffect(()=>{Q.current?.children[a]?.scrollIntoView({block:"nearest"})},[a]);const u=x.useCallback(k=>{n(),s(k),t()},[n,s,t]),p=x.useCallback(k=>{k.key==="ArrowDown"||k.ctrlKey&&k.key==="j"?(k.preventDefault(),g(v=>Math.min(v+1,c.length-1))):k.key==="ArrowUp"||k.ctrlKey&&k.key==="k"?(k.preventDefault(),g(v=>Math.max(v-1,0))):k.key==="Enter"&&c[a]?(k.preventDefault(),u(c[a])):k.key==="Escape"&&(k.preventDefault(),t())},[c,a,u,t]),f=x.useCallback(k=>{k.target===k.currentTarget&&t()},[t]);return e?o.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 bg-black/50 flex items-start justify-center z-[60] pt-[15vh]",onClick:f,onKeyDown:k=>{k.key==="Escape"&&t()},children:o.jsxs("div",{className:"bg-background border border-border rounded-lg shadow-2xl w-full max-w-lg overflow-hidden",children:[o.jsxs("div",{className:"flex items-center gap-2 px-3 border-b border-border",children:[o.jsx(Ds,{className:"w-4 h-4 text-muted-foreground flex-shrink-0"}),o.jsx("input",{ref:l,type:"text",value:r,onChange:k=>{i(k.target.value),g(0)},onKeyDown:p,placeholder:"Search files by name...",className:"flex-1 bg-transparent py-3 text-sm text-foreground placeholder-muted-foreground outline-none"}),o.jsx("kbd",{className:"text-[10px] text-muted-foreground bg-muted px-1.5 py-0.5 rounded border border-border font-mono",children:"ESC"})]}),o.jsx("div",{ref:Q,className:"max-h-[40vh] overflow-y-auto",children:c.length===0?o.jsx("div",{className:"px-4 py-8 text-center text-sm text-muted-foreground",children:r?"No matching files":"No files found"}):c.map((k,v)=>{const D=C.has(k);return o.jsxs("button",{type:"button",onClick:()=>u(k),className:`w-full text-left flex items-center gap-2 px-3 py-2 text-sm transition-colors ${v===a?"bg-accent text-accent-foreground":"text-foreground/80 hover:bg-muted/50"} ${D?"opacity-40":""}`,children:[o.jsx(Sn,{className:"w-3.5 h-3.5 text-muted-foreground flex-shrink-0"}),o.jsx(Oy,{path:k,query:r}),D&&o.jsx("span",{className:"ml-auto text-[10px] text-muted-foreground italic",children:"ignored"})]},k)})}),c.length>0&&o.jsxs("div",{className:"px-3 py-2 border-t border-border text-xs text-muted-foreground flex items-center gap-3",children:[o.jsxs("span",{children:[o.jsx("kbd",{className:"bg-muted px-1 py-0.5 rounded border border-border font-mono",children:"↑↓"})," ","navigate"]}),o.jsxs("span",{children:[o.jsx("kbd",{className:"bg-muted px-1 py-0.5 rounded border border-border font-mono",children:"↵"})," ","open"]}),o.jsxs("span",{className:"ml-auto",children:[c.length," files"]})]})]})}):null});function Oy({path:A,query:e}){if(!e)return o.jsx("span",{className:"truncate font-mono text-xs",children:A});const t=A.toLowerCase(),s=e.toLowerCase(),n=t.indexOf(s);return n>=0?o.jsxs("span",{className:"truncate font-mono text-xs",children:[A.slice(0,n),o.jsx("span",{className:"text-primary font-semibold",children:A.slice(n,n+e.length)}),A.slice(n+e.length)]}):o.jsx("span",{className:"truncate font-mono text-xs",children:A})}const qy=[{value:"openai-compatible",label:"OpenAI-compatible"},{value:"openai",label:"OpenAI"},{value:"anthropic",label:"Anthropic"},{value:"google",label:"Google"},{value:"openrouter",label:"OpenRouter"},{value:"ollama",label:"Ollama"}];function yQ(A){return A>=1e6?`${(A/1e6).toFixed(1)}M`:A>=1e3?`${Math.round(A/1e3)}K`:String(A)}const Yy=x.memo(function({authStatus:e,onSetupWallet:t,onImportWallet:s,onAddProvider:n,onAddCustomProvider:r,onRemoveProvider:i,onStartOAuth:a,onStartOAuthManual:g,onExchangeOAuthCode:l,onOpenTopup:Q,onNext:I,manageMode:C=!1,onClose:c,hideHeader:u=!1,onStartCopilotDeviceFlow:p,onPollCopilotDeviceFlow:f,onGetCopilotAuthMethods:k,onSaveCopilotToken:v,onImportCopilotTokenFromGh:D,onGetCopilotDiagnostics:j}){const[K,V]=x.useState(!1),[eA,X]=x.useState(!1),[R,W]=x.useState(!1),[O,L]=x.useState(""),[w,B]=x.useState(!1),[d,N]=x.useState(null),[G,J]=x.useState(null),[Y,T]=x.useState(""),[b,E]=x.useState(!1),[h,S]=x.useState(""),[U,_]=x.useState(""),[tA,IA]=x.useState(""),[iA,GA]=x.useState(""),[qA,BA]=x.useState(""),[YA,_A]=x.useState("openai-compatible"),[Ce,kA]=x.useState(!0),[VA,me]=x.useState(!1),[He,we]=x.useState(null),[Re,nt]=x.useState(!1),[Ke,yA]=x.useState([]),[de,HA]=x.useState(null),[q,y]=x.useState(null),[M,Z]=x.useState(null),[AA,nA]=x.useState(null),[cA,zA]=x.useState(""),[PA,ZA]=x.useState(!1),[Ge,WA]=x.useState(!1),[De,Wt]=x.useState(null),[Le,Pe]=x.useState(!1),[Ro,Qe]=x.useState(null),[ve,zt]=x.useState("oauth"),[Oe,_e]=x.useState(""),[XA,ye]=x.useState(!1),[he,Ko]=x.useState(!1),[F,H]=x.useState(null),[P,m]=x.useState(null),[z,sA]=x.useState(!1),[oA,uA]=x.useState(!1),[DA,bA]=x.useState(!1),xA=x.useRef(void 0),Ee=x.useRef(!1),UA=x.useRef(f);UA.current=f;const $A=Ne(aA=>aA.balance),re=Ne(aA=>aA.usdcBalance),ae=Ne(aA=>aA.payg),ie=Ne(aA=>aA.subscription),oe=Ne(aA=>aA.isLoading),se=x.useRef(null),Ae=x.useRef(null),RA=x.useRef(null),OA=Ne(aA=>aA.isTopupModalOpen),SA=x.useRef(!1),{fetchBalance:KA}=oi("ottorouter"),LA=ae?.effectiveSpendableUsd??$A??0,vA=ie?.active?`GO ${(ie.creditsRemaining??0).toFixed(1)} credits`:`$${LA.toFixed(2)}`;x.useEffect(()=>{SA.current&&!OA&&KA(),SA.current=OA},[OA,KA]),x.useEffect(()=>{!e.ottorouter.configured&&!eA&&(X(!0),t().finally(()=>X(!1)))},[e.ottorouter.configured,t,eA]),x.useEffect(()=>{G&&se.current&&se.current.focus()},[G]),x.useEffect(()=>{AA&&Ae.current&&Ae.current.focus()},[AA]),x.useEffect(()=>{R&&RA.current&&RA.current.focus()},[R]),x.useEffect(()=>{if(!Le||!De||!UA.current)return;Ee.current=!1;const aA=Math.max((De.interval||5)*1e3+2e3,7e3),qe=()=>{xA.current=setTimeout(async()=>{if(!Ee.current)try{const Yr=UA.current;if(!Yr)return;const rr=await Yr(De.sessionId);if(Ee.current)return;rr.status==="complete"?(Wt(null),Pe(!1),Qe(null),uA(!1)):rr.status==="error"?(Qe(rr.error||"Authorization failed"),Pe(!1)):qe()}catch{Ee.current||qe()}},aA)};qe();const Vt=setTimeout(()=>{Pe(!1),Qe("Authorization timed out. Please try again.")},3e5);return()=>{Ee.current=!0,xA.current&&clearTimeout(xA.current),clearTimeout(Vt)}},[Le,De]);const EA=async()=>{e.ottorouter.publicKey&&(await navigator.clipboard.writeText(e.ottorouter.publicKey),V(!0),setTimeout(()=>V(!1),2e3))},CA=aA=>`${aA.slice(0,8)}...${aA.slice(-6)}`,pA=async aA=>{if(Y.trim())try{await n(aA,Y.trim()),J(null),T("")}catch{}},hA=()=>{S(""),_(""),IA(""),GA(""),BA(""),_A("openai-compatible"),kA(!0),we(null),yA([]),HA(null)},fA=()=>{VA||(E(!1),hA())},NA=async()=>{const aA=tA.trim();if(!aA){HA("Enter a base URL first.");return}nt(!0),HA(null);try{const qe=await mA.discoverProviderModels({compatibility:YA,baseURL:aA,apiKey:iA.trim()||void 0});qe.baseURL&&IA(qe.baseURL),yA(qe.models),qe.models.length>0&&BA(qe.models.map(Vt=>Vt.id).join(`
|
|
142
|
-
`)),HA(qe.message||(qe.models.length>0?`Fetched ${qe.models.length} model${qe.models.length===1?"":"s"}.`:"No models found."))}catch(qe){yA([]),HA(qe instanceof Error?qe.message:"Failed to fetch models")}finally{nt(!1)}},ee=async()=>{const aA=h.trim(),qe=U.trim()||aA,Vt=tA.trim(),Yr=iA.trim(),rr=qA.split(/[\n,]/).map(Hr=>Hr.trim()).filter(Boolean);if(!aA||!Vt){we("Provider ID and base URL are required.");return}me(!0),we(null);try{await r({id:aA,label:qe,baseURL:Vt,apiKey:Yr||void 0,compatibility:YA,models:rr,allowAnyModel:Ce}),E(!1),hA()}catch(Hr){we(Hr instanceof Error?Hr.message:"Failed to add custom provider")}finally{me(!1)}},Be=async aA=>{if(M===aA){y(aA);try{await i(aA)}finally{y(null),Z(null)}}else Z(aA)},Ie=()=>{Z(null)},ce=()=>{p&&(bA(!0),Qe(null),p().then(aA=>{Wt(aA),bA(!1)}).catch(aA=>{Qe(aA instanceof Error?aA.message:"Failed to start device flow"),bA(!1)}))},$=async(aA,qe)=>{aA==="anthropic"?nA({provider:aA,sessionId:null,mode:qe}):aA==="copilot"?(zt("oauth"),_e(""),m(null),H(null),Pe(!1),Wt(null),Qe(null),uA(!0),k&&k().then(Vt=>H(Vt)).catch(()=>{}),j&&j().then(Vt=>m(Vt)).catch(()=>{}),ce()):a(aA,qe)},xe=async()=>{if(AA){WA(!0);try{const{sessionId:aA}=await g(AA.provider,AA.mode);nA({...AA,sessionId:aA})}catch(aA){console.error("Failed to start OAuth:",aA)}WA(!1)}},Se=async()=>{if(!(!AA||!AA.sessionId||!cA.trim())){ZA(!0);try{await l(AA.provider,cA.trim(),AA.sessionId),nA(null),zA("")}catch{}ZA(!1)}},Me=()=>{nA(null),zA("")},fe=()=>{De&&(ho(De.verificationUri),Pe(!0))},be=aA=>{zt(aA),Qe(null),aA==="token"&&Pe(!1),aA==="oauth"&&!De&&!DA&&ce()},Ue=async()=>{if(!(!Oe.trim()||!v)){ye(!0),Qe(null);try{await v(Oe.trim()),et()}catch(aA){Qe(aA instanceof Error?aA.message:"Failed to save Copilot token")}finally{ye(!1)}}},lt=async()=>{if(D){Ko(!0),Qe(null);try{await D(),et()}catch(aA){Qe(aA instanceof Error?aA.message:"Failed to import token from GitHub CLI")}finally{Ko(!1)}}},We=async()=>{De&&(await navigator.clipboard.writeText(De.userCode),sA(!0),setTimeout(()=>sA(!1),2e3))},et=()=>{Wt(null),Pe(!1),Qe(null),_e(""),ye(!1),Ko(!1),zt("oauth"),sA(!1),uA(!1),bA(!1),Ee.current=!0,xA.current&&(clearTimeout(xA.current),xA.current=void 0)},it=()=>{N(null),L(""),W(!0)},st=()=>{w||(W(!1),N(null),L(""))},Et=async()=>{if(!(!O.trim()||w)){B(!0),N(null);try{await s(O.trim()),W(!1),L(""),KA()}catch(aA){N(aA instanceof Error?aA.message:"Failed to import wallet")}finally{B(!1)}}},ft=Object.entries(e.providers).filter(([aA,qe])=>qe.configured&&aA!=="ottorouter"),yt=Object.entries(e.providers).filter(([aA,qe])=>!qe.configured&&aA!=="ottorouter");return o.jsxs("div",{className:"min-h-screen flex flex-col",children:[!u&&o.jsxs("div",{className:"flex items-center justify-between px-4 sm:px-6 py-4 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx($t,{provider:"ottorouter",size:24}),o.jsx("span",{className:"font-semibold text-foreground",children:"otto"})]}),!C&&o.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[o.jsx("span",{className:"w-2 h-2 rounded-full bg-green-500"}),"Step 1 of 2"]})]}),o.jsx("div",{className:`flex-1 px-4 sm:px-6 lg:px-12 pb-32 ${u?"pt-8 sm:pt-10 lg:pt-14":"pt-6 sm:pt-8 lg:pt-12"}`,children:o.jsxs("div",{className:"max-w-7xl mx-auto",children:[o.jsxs("div",{className:"mb-10",children:[o.jsx("h1",{className:"text-2xl sm:text-3xl lg:text-4xl font-semibold text-foreground mb-3",children:C?"Manage Providers":"Welcome to otto"}),o.jsx("p",{className:"text-lg text-muted-foreground max-w-2xl",children:C?"Add or remove AI providers. Your changes are saved automatically.":"Setu is your default AI provider. GO plan credits are applied automatically."})]}),o.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-6 sm:gap-8",children:[o.jsx("div",{children:o.jsx("div",{className:"bg-card rounded-2xl border border-border p-5",children:e.ottorouter.configured&&e.ottorouter.publicKey?o.jsxs("div",{className:"flex flex-col h-full",children:[o.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 bg-green-500/10 border border-green-500/20 rounded-lg",children:[o.jsx($t,{provider:"ottorouter",size:16}),o.jsx("span",{className:"text-sm font-medium text-green-600 dark:text-green-400",children:"Setu"}),o.jsx("span",{className:"text-xs text-green-600/60 dark:text-green-500/60 ml-auto",children:"Default Provider"})]}),o.jsx("div",{className:"flex justify-center py-4 mt-4",children:o.jsx("div",{className:"bg-white p-2 rounded-lg",children:o.jsx(ri,{value:e.ottorouter.publicKey,size:140,level:"M"})})}),o.jsxs("div",{className:"space-y-2 mt-4",children:[o.jsxs("button",{type:"button",onClick:EA,className:"w-full flex items-center justify-center gap-2 px-3 py-2 bg-muted hover:bg-muted/80 rounded-lg text-xs font-mono text-muted-foreground transition-colors",children:[CA(e.ottorouter.publicKey),K?o.jsx(Ht,{className:"w-3.5 h-3.5 text-green-500"}):o.jsx(fs,{className:"w-3.5 h-3.5 text-muted-foreground"})]}),o.jsxs("div",{className:"space-y-1.5 px-3 py-2 bg-muted/50 rounded-lg",children:[o.jsxs("div",{className:"flex items-center justify-between gap-2",children:[o.jsx("div",{className:"flex items-center gap-1.5 min-w-0",children:o.jsx("span",{className:"font-mono text-xs sm:text-sm text-foreground truncate",children:vA})}),o.jsx("button",{type:"button",onClick:KA,disabled:oe,className:"p-0.5 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50",children:o.jsx(Zt,{className:`w-3 h-3 ${oe?"animate-spin":""}`})})]}),o.jsxs("span",{className:"text-[10px] text-muted-foreground font-mono",children:["Balance $",($A??0).toFixed(2)," • On-chain"," ",(re??0).toFixed(2)," USDC"]})]})]}),o.jsxs("div",{className:"flex items-center gap-4 py-4",children:[o.jsx("div",{className:"flex-1 h-px bg-border"}),o.jsx("span",{className:"text-xs text-muted-foreground font-medium",children:"OR"}),o.jsx("div",{className:"flex-1 h-px bg-border"})]}),o.jsxs("button",{type:"button",onClick:Q,className:"w-full flex items-center justify-center gap-2 px-4 py-2.5 bg-primary text-primary-foreground rounded-lg text-sm font-medium hover:bg-primary/90 transition-colors",children:[o.jsx(Dr,{className:"w-4 h-4"}),"Top Up with Card"]}),o.jsxs("button",{type:"button",onClick:it,className:"w-full mt-2 flex items-center justify-center gap-2 px-4 py-2.5 border border-border text-foreground rounded-lg text-sm font-medium hover:bg-muted/50 transition-colors",children:[o.jsx(Br,{className:"w-4 h-4"}),"Import Wallet"]})]}):o.jsx("div",{className:"flex items-center justify-center py-16",children:o.jsx(Je,{className:"w-8 h-8 animate-spin text-muted-foreground"})})})}),o.jsxs("div",{className:"sm:col-span-2 space-y-6",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"flex items-center justify-between mb-4",children:[o.jsx("h2",{className:"font-semibold text-foreground",children:"Connected Providers"}),ft.length>0&&o.jsxs("span",{className:"text-sm text-muted-foreground",children:[ft.length," active"]})]}),ft.length===0?o.jsx("div",{className:"text-sm text-muted-foreground py-4",children:"No providers connected yet. Add one below."}):o.jsx("div",{className:"flex flex-wrap gap-2",children:ft.map(([aA,qe])=>o.jsxs("div",{className:`flex items-center gap-2 pl-3 pr-2 py-2 rounded-full transition-all duration-200 ${M===aA?"bg-destructive/10 border border-destructive/30":"group bg-green-500/10 border border-green-500/20"}`,children:[o.jsx($t,{provider:aA,size:16}),o.jsx("span",{className:`text-sm font-medium transition-colors ${M===aA?"text-destructive":"text-green-600 dark:text-green-400"}`,children:qe.label}),M!==aA&&o.jsx("span",{className:"text-xs text-green-600/60 dark:text-green-500/60",children:qe.type==="oauth"?"OAuth":"API"}),M===aA?o.jsxs("div",{className:"flex items-center gap-1 ml-1",children:[o.jsx("span",{className:"text-xs text-destructive/80 mr-1",children:"Remove?"}),o.jsx("button",{type:"button",onClick:()=>Be(aA),disabled:q===aA,className:"px-2 py-0.5 text-xs bg-destructive text-destructive-foreground rounded hover:bg-destructive/90 transition-colors disabled:opacity-50",children:q===aA?o.jsx(Je,{className:"w-3 h-3 animate-spin"}):"Yes"}),o.jsx("button",{type:"button",onClick:Ie,className:"px-2 py-0.5 text-xs bg-muted text-muted-foreground rounded hover:bg-muted/80 transition-colors",children:"No"})]}):aA!=="ottorouter"&&o.jsx("button",{type:"button",onClick:()=>Be(aA),className:"ml-1 p-1 text-green-600/40 dark:text-green-500/40 hover:text-green-600/80 dark:hover:text-green-500/80 opacity-0 group-hover:opacity-100 transition-opacity",children:o.jsx(ct,{className:"w-3 h-3"})})]},aA))})]}),o.jsxs("div",{children:[o.jsx("h2",{className:"font-semibold text-foreground mb-4",children:"Add Providers"}),o.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 items-start",children:[yt.map(([aA,qe])=>o.jsx("div",{children:G===aA?o.jsxs("div",{className:"flex items-center gap-2 p-3 bg-card border border-ring rounded-xl overflow-hidden",children:[o.jsx("div",{className:"shrink-0",children:o.jsx($t,{provider:aA,size:18})}),o.jsx("input",{ref:se,type:"password",value:Y,onChange:Vt=>T(Vt.target.value),placeholder:`${qe.label} API key...`,className:"flex-1 min-w-0 bg-transparent text-sm outline-none placeholder:text-muted-foreground text-foreground",onKeyDown:Vt=>{Vt.key==="Enter"&&pA(aA),Vt.key==="Escape"&&(J(null),T(""))}}),o.jsx("button",{type:"button",onClick:()=>pA(aA),disabled:!Y.trim(),className:"shrink-0 px-3 py-1.5 bg-primary text-primary-foreground text-sm font-medium rounded-lg disabled:opacity-50",children:"Add"}),o.jsx("button",{type:"button",onClick:()=>{J(null),T("")},className:"shrink-0 p-1.5 text-muted-foreground hover:text-foreground",children:o.jsx(ct,{className:"w-4 h-4"})})]}):o.jsxs("div",{className:"flex items-center justify-between p-3 bg-card border border-border hover:border-border/80 rounded-xl transition-colors gap-2",children:[o.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[o.jsx($t,{provider:aA,size:20}),o.jsxs("div",{className:"min-w-0",children:[o.jsx("div",{className:"font-medium text-foreground truncate",children:qe.label}),o.jsxs("div",{className:"text-xs text-muted-foreground",children:[qe.modelCount," models"]})]})]}),o.jsxs("div",{className:"flex items-center gap-1",children:[aA!=="copilot"&&o.jsxs("button",{type:"button",onClick:()=>J(aA),className:"flex items-center gap-1.5 px-3 py-1.5 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-lg transition-colors",children:[o.jsx(Br,{className:"w-3.5 h-3.5"}),"API"]}),qe.supportsOAuth&&o.jsxs("button",{type:"button",onClick:()=>$(aA,aA==="anthropic"?"max":void 0),className:"flex items-center gap-1.5 px-3 py-1.5 text-sm text-muted-foreground hover:text-foreground hover:bg-muted rounded-lg transition-colors",children:[o.jsx(vt,{className:"w-3.5 h-3.5"}),aA==="anthropic"?"Pro":aA==="copilot"?"Login":"OAuth"]})]})]})},aA)),o.jsxs("button",{type:"button",onClick:()=>E(!0),className:"group flex items-center justify-between p-3 bg-card border border-dashed border-border hover:border-primary/60 hover:bg-primary/5 hover:shadow-sm rounded-xl transition-all gap-2 text-left cursor-pointer",children:[o.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[o.jsx("span",{className:"inline-flex items-center justify-center w-5 h-5 rounded-full bg-muted text-muted-foreground group-hover:bg-primary/10 group-hover:text-primary transition-colors",children:o.jsx(go,{className:"w-3.5 h-3.5"})}),o.jsxs("div",{className:"min-w-0",children:[o.jsx("div",{className:"font-medium text-foreground truncate",children:"Custom Provider"}),o.jsx("div",{className:"text-xs text-muted-foreground group-hover:text-foreground/70 transition-colors",children:"OpenAI-compatible or Ollama endpoint"})]})]}),o.jsxs("span",{className:"flex items-center gap-1.5 px-3 py-1.5 text-sm text-muted-foreground group-hover:text-primary group-hover:bg-primary/10 rounded-lg transition-colors",children:[o.jsx(Br,{className:"w-3.5 h-3.5"}),"Add"]})]})]})]})]})]})]})}),o.jsx("div",{className:"fixed bottom-0 left-0 right-0 px-4 sm:px-6 py-4 border-t border-border bg-background",children:o.jsxs("div",{className:"max-w-7xl mx-auto flex items-center justify-between",children:[!C&&o.jsx("div",{className:"text-xs sm:text-sm text-muted-foreground hidden sm:block",children:"You can add more providers later in settings"}),C?o.jsx("button",{type:"button",onClick:c,className:"flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors ml-auto",children:"Done"}):o.jsxs("button",{type:"button",onClick:I,className:"flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors",children:["Continue",o.jsx(JQ,{className:"w-4 h-4"})]})]})}),b&&o.jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm",children:o.jsxs("div",{className:"bg-background border border-border rounded-xl w-full max-w-2xl mx-6 shadow-2xl max-h-[90vh] overflow-y-auto",children:[o.jsxs("div",{className:"flex items-center gap-3 p-6 border-b border-border",children:[o.jsx("span",{className:"inline-flex items-center justify-center w-6 h-6 rounded-full bg-muted text-muted-foreground",children:o.jsx(go,{className:"w-4 h-4"})}),o.jsx("h3",{className:"text-lg font-semibold",children:"Add Custom Provider"})]}),o.jsxs("div",{className:"p-6 space-y-4",children:[o.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[o.jsxs("label",{className:"space-y-2",children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:"Provider ID"}),o.jsx("input",{type:"text",value:h,onChange:aA=>S(aA.target.value),placeholder:"my-provider",className:"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-sm"})]}),o.jsxs("label",{className:"space-y-2",children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:"Display Name"}),o.jsx("input",{type:"text",value:U,onChange:aA=>_(aA.target.value),placeholder:"My Provider",className:"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors text-sm"})]})]}),o.jsxs("div",{className:"flex items-center justify-between gap-3 p-3 bg-muted/30 border border-border rounded-lg",children:[o.jsxs("div",{className:"min-w-0",children:[o.jsx("div",{className:"text-sm font-medium text-foreground",children:"Fetch models from provider"}),o.jsx("div",{className:"text-xs text-muted-foreground",children:"For Ollama, this reads /api/tags and /api/show to include context windows."})]}),o.jsxs("button",{type:"button",onClick:NA,disabled:!tA.trim()||Re,className:"shrink-0 px-3 py-2 bg-primary text-primary-foreground rounded-lg text-sm font-medium hover:bg-primary/90 transition-colors disabled:opacity-50 flex items-center gap-2",children:[Re&&o.jsx(Je,{className:"w-3.5 h-3.5 animate-spin"}),"Fetch Models"]})]}),de&&o.jsx("p",{className:"text-xs text-muted-foreground",children:de}),Ke.length>0&&o.jsx("div",{className:"space-y-2 max-h-44 overflow-y-auto border border-border rounded-lg p-2",children:Ke.map(aA=>o.jsxs("div",{className:"flex items-center justify-between gap-3 p-2 bg-card rounded-md",children:[o.jsxs("div",{className:"min-w-0",children:[o.jsx("div",{className:"text-sm font-medium text-foreground truncate",children:aA.label}),o.jsx("div",{className:"text-xs text-muted-foreground font-mono truncate",children:aA.id})]}),o.jsxs("div",{className:"flex flex-wrap justify-end gap-1 shrink-0",children:[aA.contextWindow&&o.jsxs("span",{className:"text-[10px] px-1.5 py-0.5 bg-blue-600/20 text-blue-400 rounded",children:[yQ(aA.contextWindow)," ctx"]}),aA.maxOutputTokens&&o.jsxs("span",{className:"text-[10px] px-1.5 py-0.5 bg-cyan-600/20 text-cyan-400 rounded",children:[yQ(aA.maxOutputTokens)," out"]}),aA.toolCall&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-green-600/20 text-green-400 rounded",children:"Tools"}),aA.reasoningText&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-purple-600/20 text-purple-400 rounded",children:"Reasoning"}),aA.vision&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-orange-600/20 text-orange-400 rounded",children:"Vision"})]})]},aA.id))}),o.jsxs("label",{className:"space-y-2 block",children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:"Base URL"}),o.jsx("input",{type:"url",value:tA,onChange:aA=>IA(aA.target.value),placeholder:"https://api.example.com/v1",className:"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-sm"})]}),o.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[o.jsxs("label",{className:"space-y-2",children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:"API Key"}),o.jsx("input",{type:"password",value:iA,onChange:aA=>GA(aA.target.value),placeholder:"Optional",className:"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-sm"})]}),o.jsxs("label",{className:"space-y-2",children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:"Compatibility"}),o.jsx("select",{value:YA,onChange:aA=>_A(aA.target.value),className:"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground outline-none focus:border-foreground/30 transition-colors text-sm",children:qy.map(aA=>o.jsx("option",{value:aA.value,children:aA.label},aA.value))})]})]}),o.jsxs("label",{className:"space-y-2 block",children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:"Models"}),o.jsx("textarea",{value:qA,onChange:aA=>BA(aA.target.value),placeholder:"gpt-4o, claude-sonnet-4-5, llama3.3",className:"w-full min-h-[90px] px-4 py-3 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-sm resize-y"}),o.jsx("span",{className:"text-xs text-muted-foreground",children:"Comma or newline separated. Leave blank to allow any model."})]}),o.jsxs("label",{className:"flex items-center gap-3 text-sm text-muted-foreground",children:[o.jsx("input",{type:"checkbox",checked:Ce,onChange:aA=>kA(aA.target.checked),className:"h-4 w-4 accent-primary"}),"Allow entering model IDs not listed above"]}),He&&o.jsx("p",{className:"text-sm text-red-500",children:He}),o.jsxs("div",{className:"flex gap-3 pt-2",children:[o.jsx("button",{type:"button",onClick:fA,disabled:VA,className:"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors disabled:opacity-50",children:"Cancel"}),o.jsx("button",{type:"button",onClick:ee,disabled:!h.trim()||!tA.trim()||VA,className:"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:VA?o.jsx(Je,{className:"w-4 h-4 animate-spin"}):"Add Provider"})]})]})]})}),R&&o.jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm",children:o.jsxs("div",{className:"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl",children:[o.jsxs("div",{className:"flex items-center gap-3 p-6 border-b border-border",children:[o.jsx($t,{provider:"ottorouter",size:24}),o.jsx("h3",{className:"text-lg font-semibold",children:"Import Setu Wallet"})]}),o.jsxs("div",{className:"p-6",children:[o.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Paste your base58 private key to replace the current wallet used for Setu."}),o.jsx("textarea",{ref:RA,value:O,onChange:aA=>L(aA.target.value),placeholder:"Enter private key",className:"w-full min-h-[110px] px-4 py-3 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors font-mono text-xs resize-y",onKeyDown:aA=>{(aA.metaKey||aA.ctrlKey)&&aA.key==="Enter"&&(aA.preventDefault(),Et()),aA.key==="Escape"&&st()}}),d&&o.jsx("p",{className:"text-sm text-red-500 mt-3",children:d}),o.jsxs("div",{className:"flex gap-3 mt-5",children:[o.jsx("button",{type:"button",onClick:st,disabled:w,className:"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors disabled:opacity-50",children:"Cancel"}),o.jsx("button",{type:"button",onClick:Et,disabled:!O.trim()||w,className:"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:w?o.jsx(Je,{className:"w-4 h-4 animate-spin"}):"Import Wallet"})]})]})]})}),AA&&o.jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm",children:o.jsxs("div",{className:"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl",children:[o.jsxs("div",{className:"flex items-center gap-3 p-6 border-b border-border",children:[o.jsx($t,{provider:AA.provider,size:24}),o.jsxs("h3",{className:"text-lg font-semibold",children:["Connect"," ",e.providers[AA.provider]?.label||AA.provider]})]}),AA.sessionId?o.jsxs("div",{className:"p-6",children:[o.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Paste the authorization code:"}),o.jsx("input",{type:"text",ref:Ae,value:cA,onChange:aA=>zA(aA.target.value),placeholder:"Paste code here...",className:"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors mb-4 font-mono text-sm",onKeyDown:aA=>{aA.key==="Enter"&&Se(),aA.key==="Escape"&&Me()}}),o.jsxs("div",{className:"flex gap-3",children:[o.jsx("button",{type:"button",onClick:Me,className:"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors",children:"Cancel"}),o.jsx("button",{type:"button",onClick:Se,disabled:!cA.trim()||PA,className:"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:PA?o.jsx(Je,{className:"w-4 h-4 animate-spin"}):"Connect"})]})]}):o.jsxs("div",{className:"p-6",children:[o.jsxs("p",{className:"text-sm text-muted-foreground mb-6",children:["You'll be redirected to"," ",e.providers[AA.provider]?.label||AA.provider," ","to authorize access. After authorizing, copy the code and return here."]}),o.jsxs("div",{className:"flex gap-3",children:[o.jsx("button",{type:"button",onClick:Me,className:"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors",children:"Cancel"}),o.jsx("button",{type:"button",onClick:xe,disabled:Ge,className:"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:Ge?o.jsx(Je,{className:"w-4 h-4 animate-spin"}):o.jsxs(o.Fragment,{children:["Continue",o.jsx(vt,{className:"w-4 h-4"})]})})]})]})]})}),oA&&o.jsx("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/60 backdrop-blur-sm",children:o.jsxs("div",{className:"bg-background border border-border rounded-xl w-full max-w-lg mx-6 shadow-2xl",children:[o.jsxs("div",{className:"flex items-center gap-3 p-6 border-b border-border",children:[o.jsx($t,{provider:"copilot",size:24}),o.jsx("h3",{className:"text-lg font-semibold",children:"Connect GitHub Copilot"})]}),o.jsxs("div",{className:"p-6 space-y-4",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx("button",{type:"button",onClick:()=>be("oauth"),className:`px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${ve==="oauth"?"bg-foreground text-background":"bg-muted text-muted-foreground hover:text-foreground"}`,children:"OAuth"}),o.jsx("button",{type:"button",onClick:()=>be("token"),className:`px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${ve==="token"?"bg-foreground text-background":"bg-muted text-muted-foreground hover:text-foreground"}`,children:"Token"})]}),ve==="oauth"?o.jsxs(o.Fragment,{children:[o.jsx("p",{className:"text-sm text-muted-foreground",children:"Enter this code on GitHub to authorize:"}),o.jsx("div",{className:"flex items-center justify-center gap-3",children:DA?o.jsx("div",{className:"bg-muted px-6 py-3 rounded-lg animate-pulse",children:o.jsx("div",{className:"h-9 w-48 bg-muted-foreground/20 rounded"})}):De?o.jsxs(o.Fragment,{children:[o.jsx("code",{className:"text-3xl font-mono font-bold tracking-widest text-foreground bg-muted px-6 py-3 rounded-lg select-all",children:De.userCode}),o.jsx("button",{type:"button",onClick:We,className:"p-2 text-muted-foreground hover:text-foreground transition-colors",children:z?o.jsx(Ht,{className:"w-5 h-5 text-green-500"}):o.jsx(fs,{className:"w-5 h-5"})})]}):null})]}):o.jsxs(o.Fragment,{children:[o.jsx("p",{className:"text-sm text-muted-foreground",children:"Paste a GitHub token with Copilot model access."}),o.jsx("input",{type:"password",value:Oe,onChange:aA=>_e(aA.target.value),placeholder:"gho_...",className:"w-full h-11 px-4 bg-muted/50 border border-border rounded-lg text-foreground placeholder:text-muted-foreground outline-none focus:border-foreground/30 transition-colors"}),F?.ghImport.available&&o.jsx("button",{type:"button",onClick:lt,disabled:he,className:"w-full h-10 px-4 bg-muted text-foreground rounded-lg font-medium hover:bg-muted/80 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:he?o.jsx(Je,{className:"w-4 h-4 animate-spin"}):"Import from GH CLI"}),F?.ghImport.available&&!F.ghImport.authenticated&&o.jsx("p",{className:"text-xs text-muted-foreground",children:F.ghImport.reason||"GitHub CLI is not authenticated"}),F&&!F.ghImport.available&&F.ghImport.reason&&o.jsx("p",{className:"text-xs text-muted-foreground",children:F.ghImport.reason})]}),P&&P.tokenSources.length>0&&o.jsx("div",{className:"text-xs text-muted-foreground space-y-1",children:P.tokenSources.map(aA=>o.jsxs("div",{children:[aA.source,":"," ",aA.configured?aA.error?aA.error:`${aA.modelCount??0} models visible`:"not configured",aA.restrictedByOrgPolicy&&aA.restrictedOrg?` (org restriction: ${aA.restrictedOrg})`:""]},aA.source))}),Ro&&o.jsx("p",{className:"text-sm text-red-500 text-center",children:Ro}),Le&&ve==="oauth"&&o.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground",children:[o.jsx(Je,{className:"w-4 h-4 animate-spin"}),"Waiting for authorization..."]}),o.jsxs("div",{className:"flex gap-3",children:[o.jsx("button",{type:"button",onClick:et,className:"flex-1 h-11 px-4 bg-transparent border border-border text-foreground rounded-lg font-medium hover:bg-muted/50 transition-colors",children:"Cancel"}),ve==="oauth"?o.jsx("button",{type:"button",onClick:fe,disabled:Le||DA,className:"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:Le||DA?o.jsx(Je,{className:"w-4 h-4 animate-spin"}):o.jsxs(o.Fragment,{children:["Open GitHub",o.jsx(vt,{className:"w-4 h-4"})]})}):o.jsx("button",{type:"button",onClick:Ue,disabled:!Oe.trim()||XA,className:"flex-1 h-11 px-4 bg-foreground text-background rounded-lg font-medium hover:bg-foreground/90 transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:XA?o.jsx(Je,{className:"w-4 h-4 animate-spin"}):"Save token"})]})]})]})})]})}),Hy=x.memo(function({authStatus:e,onComplete:t,onBack:s,hideHeader:n=!1}){const[r,i]=x.useState(null),[a,g]=x.useState(null),[l,Q]=x.useState(!0),[I,C]=x.useState(!1),[c,u]=x.useState("ottorouter"),[p,f]=x.useState("kimi-k2.5"),[k,v]=x.useState(e.defaults.agent||"build"),[D,j]=x.useState(e.defaults.toolApproval||"dangerous"),[K,V]=x.useState(!1),eA=x.useRef(!1),X=x.useId(),R=x.useId(),W=x.useId(),O=x.useId();x.useEffect(()=>{(async()=>{try{const[N,G]=await Promise.all([mA.getConfig(),mA.getAllModels()]);i(N),g(G);const J=N?.defaults?.provider||"ottorouter",Y=N?.defaults?.model||"kimi-k2.5",T=G?.[J]?.models?.length>0,b=T?J:"ottorouter",E=T&&G[J].models.some(h=>h.id===Y)?Y:G?.[b]?.models?.[0]?.id||"kimi-k2.5";u(b),f(E),N?.defaults?.agent&&v(N.defaults.agent),N?.defaults?.toolApproval&&j(N.defaults.toolApproval),N?.defaults?.guidedMode&&V(N.defaults.guidedMode)}catch{}finally{Q(!1)}})()},[]),x.useEffect(()=>{if(r?.agents?.length){const d=r.agents;(!k||!d.includes(k))&&v(d.includes("build")?"build":d[0])}},[r,k]),x.useEffect(()=>{if(a?.[c]&&eA.current){const d=a[c];d.models.some(N=>N.id===p)||f(d.models[0]?.id||"")}},[c,a,p]);const L=async()=>{C(!0);try{await mA.updateDefaults({provider:c,model:p,agent:k,toolApproval:D,guidedMode:K,fullWidthContent:r?.defaults?.fullWidthContent??!0,scope:"global"}),await t()}catch{}finally{C(!1)}};if(l)return o.jsx("div",{className:"min-h-screen flex items-center justify-center",children:o.jsx(Je,{className:"w-8 h-8 animate-spin text-muted-foreground"})});const w=r?.providers.filter(d=>(e.providers[d]?.configured||d==="ottorouter")&&a?.[d]?.models?.length>0)||["ottorouter"],B=a?.[c]?.models||[];return o.jsxs("div",{className:"min-h-screen flex flex-col",children:[!n&&o.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-border",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx($t,{provider:"ottorouter",size:24}),o.jsx("span",{className:"font-semibold text-foreground",children:"otto"})]}),o.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[o.jsx("span",{className:"w-2 h-2 rounded-full bg-blue-500"}),"Step 2 of 2"]})]}),o.jsx("div",{className:`flex-1 px-4 sm:px-6 lg:px-12 pb-32 ${n?"pt-8 sm:pt-10 lg:pt-14":"pt-6 sm:pt-8 lg:pt-12"}`,children:o.jsxs("div",{className:"max-w-7xl mx-auto",children:[o.jsxs("div",{className:"mb-10",children:[o.jsx("h1",{className:"text-3xl lg:text-4xl font-semibold text-foreground mb-3",children:"Configure Defaults"}),o.jsx("p",{className:"text-lg text-muted-foreground",children:"Set your preferences. You can change these anytime in settings."})]}),o.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[o.jsxs("div",{className:"md:col-span-2",children:[o.jsx("label",{htmlFor:X,className:"block text-sm font-medium text-muted-foreground mb-2",children:"Default Provider"}),o.jsxs("div",{className:"relative",children:[o.jsx("select",{id:X,value:c,onChange:d=>{eA.current=!0,u(d.target.value)},className:"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors",children:w.map(d=>o.jsx("option",{value:d,children:e.providers[d]?.label||d},d))}),o.jsx(qt,{className:"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none"})]})]}),o.jsxs("div",{className:"md:col-span-2",children:[o.jsx("label",{htmlFor:R,className:"block text-sm font-medium text-muted-foreground mb-2",children:"Default Model"}),o.jsxs("div",{className:"relative",children:[o.jsx("select",{id:R,value:p,onChange:d=>f(d.target.value),className:"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors",children:B.map(d=>o.jsx("option",{value:d.id,children:d.label||d.id},d.id))}),o.jsx(qt,{className:"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none"})]})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:W,className:"block text-sm font-medium text-muted-foreground mb-2",children:"Default Agent"}),o.jsxs("div",{className:"relative",children:[o.jsx("select",{id:W,value:k,onChange:d=>v(d.target.value),className:"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors",children:(r?.agents||["build"]).map(d=>o.jsx("option",{value:d,children:d},d))}),o.jsx(qt,{className:"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none"})]})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:O,className:"block text-sm font-medium text-muted-foreground mb-2",children:"Tool Approval"}),o.jsxs("div",{className:"relative",children:[o.jsxs("select",{id:O,value:D,onChange:d=>j(d.target.value),className:"w-full px-4 py-3 bg-card border border-border rounded-xl text-foreground appearance-none cursor-pointer focus:outline-none focus:border-ring transition-colors",children:[o.jsx("option",{value:"auto",children:"Auto - run without asking"}),o.jsx("option",{value:"dangerous",children:"Dangerous - approve writes only"}),o.jsx("option",{value:"yolo",children:"YOLO - skip approvals except hard safety blocks"}),o.jsx("option",{value:"all",children:"All - approve every tool"})]}),o.jsx(qt,{className:"absolute right-4 top-1/2 -translate-y-1/2 w-5 h-5 text-muted-foreground pointer-events-none"})]}),o.jsx("p",{className:"mt-2 text-sm text-muted-foreground",children:"Controls when tool executions need approval. YOLO still blocks extreme destructive commands."})]}),o.jsx("div",{className:"md:col-span-2",children:o.jsxs("div",{className:"flex items-center justify-between px-4 py-3 bg-card border border-border rounded-xl",children:[o.jsxs("div",{children:[o.jsx("span",{className:"text-sm font-medium text-foreground",children:"Guided Mode"}),o.jsx("p",{className:"text-sm text-muted-foreground mt-0.5",children:"AI will run commands and manage services for you instead of giving instructions"})]}),o.jsx("button",{type:"button",role:"switch","aria-checked":K,onClick:()=>V(!K),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 ${K?"bg-primary":"bg-muted"}`,children:o.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full transition-transform ${K?"translate-x-6":"translate-x-1"} ${K?"bg-primary-foreground":"bg-foreground"}`})})]})})]})]})}),o.jsx("div",{className:"fixed bottom-0 left-0 right-0 px-4 sm:px-6 py-4 border-t border-border bg-background",children:o.jsxs("div",{className:"max-w-7xl mx-auto flex items-center justify-between",children:[o.jsxs("button",{type:"button",onClick:s,className:"flex items-center gap-2 px-4 py-3 text-muted-foreground hover:text-foreground transition-colors",children:[o.jsx(NC,{className:"w-4 h-4"}),"Back"]}),o.jsx("button",{type:"button",onClick:L,disabled:I,className:"flex items-center gap-2 px-6 py-3 bg-primary text-primary-foreground rounded-lg font-medium hover:bg-primary/90 transition-colors disabled:opacity-50",children:I?o.jsxs(o.Fragment,{children:[o.jsx(Je,{className:"w-4 h-4 animate-spin"}),"Setting up..."]}):o.jsxs(o.Fragment,{children:["Start Using otto",o.jsx(eo,{className:"w-4 h-4"})]})})]})})]})}),Py=x.memo(function({hideHeader:e=!1}){const t=kt(R=>R.isOpen),s=kt(R=>R.currentStep),n=kt(R=>R.manageMode),r=kt(R=>R.authStatus),i=kt(R=>R.nextStep),a=kt(R=>R.prevStep),g=kt(R=>R.reset),l=Ne(R=>R.openTopupModal),{setupWallet:Q,importWallet:I,addProvider:C,addCustomProvider:c,removeProvider:u,completeOnboarding:p,startOAuth:f,startOAuthManual:k,exchangeOAuthCode:v,startCopilotDeviceFlow:D,pollCopilotDeviceFlow:j,getCopilotAuthMethods:K,saveCopilotToken:V,importCopilotTokenFromGh:eA,getCopilotDiagnostics:X}=Mg();return!t||!r?null:o.jsxs("div",{className:"fixed inset-0 z-[9999] bg-background text-foreground overflow-y-auto",children:[s==="wallet"&&o.jsx(Yy,{authStatus:r,onSetupWallet:Q,onImportWallet:I,onAddProvider:C,onAddCustomProvider:c,onRemoveProvider:u,onStartOAuth:f,onStartOAuthManual:k,onExchangeOAuthCode:v,onOpenTopup:l,onNext:i,manageMode:n,onClose:g,hideHeader:e,onStartCopilotDeviceFlow:D,onPollCopilotDeviceFlow:j,onGetCopilotAuthMethods:K,onSaveCopilotToken:V,onImportCopilotTokenFromGh:eA,onGetCopilotDiagnostics:X}),s==="defaults"&&o.jsx(Hy,{authStatus:r,onComplete:p,onBack:a,hideHeader:e})]})}),SE="otto-theme";function Wy(){if(typeof window>"u")return"dark";const A=window.localStorage.getItem(SE);return A==="light"||A==="dark"?A:window.matchMedia?.("(prefers-color-scheme: light)").matches?"light":"dark"}function zy(){const[A,e]=x.useState(()=>Wy());x.useEffect(()=>{if(typeof document>"u")return;const s=document.documentElement;A==="dark"?s.classList.add("dark"):s.classList.remove("dark");try{window.localStorage.setItem(SE,A)}catch(n){console.warn("Failed to persist theme preference",n)}window.parent&&window.parent!==window&&window.parent.postMessage({type:"otto-set-theme",theme:A},"*")},[A]),x.useEffect(()=>{if(typeof window>"u")return;const s=n=>{n.data?.type==="otto-set-theme"&&(n.data.theme==="light"||n.data.theme==="dark")&&e(n.data.theme)};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)},[]);const t=x.useCallback(()=>{e(s=>s==="dark"?"light":"dark")},[]);return x.useMemo(()=>({theme:A,setTheme:e,toggleTheme:t}),[A,t])}function Vy(){const[A,e]=x.useState(null);return x.useEffect(()=>{(async()=>{try{const r=`${window.OTTO_SERVER_URL||rs}/v1/config/cwd`;console.log("[useWorkingDirectory] Fetching from:",r);const i=await fetch(r);if(!i.ok)throw console.error("[useWorkingDirectory] Failed:",i.status,i.statusText),new Error(`Failed to fetch working directory: ${i.status}`);const a=await i.json();console.log("[useWorkingDirectory] Success:",a),a.dirName&&(console.log("[useWorkingDirectory] Setting title to:",a.dirName),e(a.dirName),document.title=a.dirName)}catch(s){console.error("[useWorkingDirectory] Error:",s),document.title="otto"}})()},[]),A}function Zy({sessionIds:A,activeSessionId:e,gitFiles:t,onSelectSession:s,onNewSession:n,onStageFile:r,onUnstageFile:i,onRestoreFile:a,onDeleteFile:g,onStageAll:l,onUnstageAll:Q,onOpenCommitModal:I,onViewDiff:C,onReturnToInput:c}){const{currentFocus:u,sessionIndex:p,gitFileIndex:f,setFocus:k,setSessionIndex:v,setGitFileIndex:D,resetGitFileIndex:j}=kg(),{setCollapsed:K,toggleCollapse:V}=ws(),{isExpanded:eA,toggleSidebar:X}=Te(),R=Te(w=>w.closeDiff),W=pt(w=>w.toggleSidebar),O=A.indexOf(e||""),L=x.useCallback(w=>{const B=w.target,d=B.tagName==="INPUT"||B.tagName==="TEXTAREA"||B.isContentEditable,N=!!B.closest("[data-terminal-viewer]");if((w.ctrlKey||w.metaKey)&&w.key==="h"){w.preventDefault(),u==="sessions"?(document.activeElement?.blur(),k("input"),K(!0),setTimeout(()=>c?.(),50)):u==="git"?(document.activeElement?.blur(),k("input"),X(),R(),setTimeout(()=>c?.(),50)):(document.activeElement?.blur(),k("sessions"),K(!1),O>=0&&v(O));return}if((w.ctrlKey||w.metaKey)&&w.key==="l"){w.preventDefault(),u==="git"?(document.activeElement?.blur(),k("input"),X(),R(),setTimeout(()=>c?.(),50)):u==="sessions"?(document.activeElement?.blur(),k("input"),K(!0),setTimeout(()=>c?.(),50)):(document.activeElement?.blur(),eA||X(),k("git"),j());return}if((w.ctrlKey||w.metaKey)&&w.key==="/"){w.preventDefault(),V();return}if((w.ctrlKey||w.metaKey)&&w.key==="\\"){w.preventDefault(),X();return}if((w.ctrlKey||w.metaKey)&&w.shiftKey&&w.key==="r"){w.preventDefault(),W();return}if((w.ctrlKey||w.metaKey)&&w.key==="n"){w.preventDefault(),n();return}if((w.ctrlKey||w.metaKey)&&w.key==="p"){w.preventDefault(),Ma.getState().toggle();return}if(w.key==="Escape"&&!N||w.key==="q"&&!d&&(u==="sessions"||u==="git")){w.preventDefault(),u==="sessions"?K(!0):u==="git"&&(X(),R()),k("input"),c?.();return}if(u==="sessions"&&!d){if(w.key==="j"&&A.length>0){w.preventDefault();const G=Math.min(p+1,A.length-1);v(G);return}if(w.key==="k"&&A.length>0){w.preventDefault();const G=Math.max(p-1,0);v(G);return}if(w.key==="Enter"&&A[p]){w.preventDefault(),s(A[p]),k("input");return}}if(u==="git"&&!d){if(w.key==="j"&&t.length>0){w.preventDefault();const G=Math.min(f+1,t.length-1);D(G);return}if(w.key==="k"&&t.length>0){w.preventDefault();const G=Math.max(f-1,0);D(G);return}if(w.key===" "&&t[f]){w.preventDefault();const G=t[f];G.staged?i?.(G.path):r?.(G.path);return}if(w.key==="a"){w.preventDefault(),l?.();return}if(w.key==="u"){w.preventDefault(),Q?.();return}if(w.key==="R"&&t[f]){w.preventDefault();const G=t[f];!G.staged&&G.status!=="untracked"&&G.status!=="added"&&a?.(G.path);return}if(w.shiftKey&&w.key==="D"||w.key==="Backspace"){w.preventDefault();const G=t[f];G&&!G.staged&&G.status==="untracked"&&g?.(G.path);return}if(w.key==="c"){w.preventDefault(),I?.();return}if(w.key==="Enter"&&t[f]){w.preventDefault();const G=t[f];C?.(G.path,G.staged);return}}},[u,p,f,A,t,O,eA,k,v,D,j,K,X,W,V,s,n,r,i,a,g,l,Q,I,C,c,R]);return x.useEffect(()=>(window.addEventListener("keydown",L),()=>window.removeEventListener("keydown",L)),[L]),{currentFocus:u,sessionIndex:p,gitFileIndex:f}}function _y(A){const e=x.useRef(null),t=x.useRef(null),s=Ne(l=>l.setBalance),n=Ne(l=>l.setPaymentPending),r=fo(l=>l.removeToast),i=fo(l=>l.updateToast),a=Gn(l=>l.setPendingTopup),g=Gn(l=>l.clearPendingTopup);x.useEffect(()=>{if(!A)return;const l=new EE;e.current=l;const Q=mA.getStreamUrl(A);l.connect(Q);const I=l.on("*",C=>{const c=C.payload;switch(C.type){case"ottorouter.topup.required":{const u=typeof c?.amountUsd=="number"?c.amountUsd:0,p=typeof c?.currentBalance=="number"?c.currentBalance:0,f=typeof c?.minTopupUsd=="number"?c.minTopupUsd:5,k=typeof c?.suggestedTopupUsd=="number"?c.suggestedTopupUsd:10,v=typeof c?.messageId=="string"?c.messageId:"";a({sessionId:A,messageId:v,amountUsd:u,currentBalance:p,minTopupUsd:f,suggestedTopupUsd:k});break}case"ottorouter.topup.method_selected":{c?.method==="crypto"&&(n(!0),t.current=ue.loading("💳 Processing crypto payment..."));break}case"ottorouter.topup.cancelled":{g();const u=typeof c?.reason=="string"?c.reason:"Request cancelled";ue(`⚠️ ${u}`);break}case"ottorouter.payment.required":{const u=typeof c?.amountUsd=="number"?c.amountUsd:0;n(!0),t.current||(t.current=ue.loading(`💳 Payment required: $${u.toFixed(2)}`));break}case"ottorouter.payment.signing":{t.current?i(t.current,{message:"✍️ Signing transaction..."}):t.current=ue.loading("✍️ Signing transaction...");break}case"ottorouter.payment.complete":{g();const u=c?.amountUsd,p=c?.newBalance,f=typeof c?.transactionId=="string"?c.transactionId:void 0,k=typeof u=="number"?u:typeof u=="string"?parseFloat(u):0,v=typeof p=="number"?p:typeof p=="string"?parseFloat(p):0;s(v),n(!1),t.current&&(r(t.current),t.current=null);const D=`✅ Paid $${k.toFixed(2)}`;f?ue.successWithAction(D,{label:"View Tx",href:`https://orbmarkets.io/tx/${f}`}):ue.success(D);break}case"ottorouter.fiat.checkout_created":{g(),n(!1),t.current&&(r(t.current),t.current=null),ue.success("💳 Complete payment, then retry your message");break}case"ottorouter.balance.updated":{const u=c?.balanceRemaining,p=typeof u=="number"?u:typeof u=="string"?parseFloat(u):null;p!==null&&!Number.isNaN(p)&&s(p);break}case"ottorouter.payment.error":{g();const u=typeof c?.error=="string"?c.error:"Payment failed";n(!1),t.current&&(r(t.current),t.current=null),ue.error(`❌ ${u}`);break}}});return()=>{I(),l.disconnect()}},[A,s,n,r,i,a,g])}const ni=TE({component:Xy});function Xy(){const{checkOnboarding:A}=Mg();return x.useEffect(()=>{A()},[A]),o.jsxs(o.Fragment,{children:[o.jsx(OE,{}),o.jsx(Py,{}),o.jsx(Ng,{}),null]})}const $y=Fa("/")({beforeLoad:()=>{throw qE({to:"/sessions"})},component:()=>null});function NQ({height:A=16,className:e=""}){const t=Math.round(A*2.4686468646864688);return o.jsx("svg",{width:t,height:A,viewBox:"0 0 748 303",fill:"currentColor",className:e,"aria-label":"otto",role:"img",children:o.jsx("path",{d:"M192.877 257.682C192.877 263.287 191.783 268.551 189.596 273.473C187.545 278.395 184.674 282.701 180.982 286.393C177.428 289.947 173.189 292.818 168.268 295.006C163.482 297.057 158.287 298.082 152.682 298.082H44.1953C38.7266 298.082 33.5312 297.057 28.6094 295.006C23.6875 292.818 19.3809 289.947 15.6895 286.393C12.1348 282.701 9.26367 278.395 7.07617 273.473C5.02539 268.551 4 263.287 4 257.682V120.074C4 114.469 5.02539 109.205 7.07617 104.283C9.26367 99.3613 12.1348 95.123 15.6895 91.5684C19.3809 87.877 23.6875 85.0059 28.6094 82.9551C33.5312 80.7676 38.7266 79.6738 44.1953 79.6738H152.682C158.287 79.6738 163.482 80.7676 168.268 82.9551C173.189 85.0059 177.428 87.877 180.982 91.5684C184.674 95.123 187.545 99.3613 189.596 104.283C191.783 109.205 192.877 114.469 192.877 120.074V257.682ZM44.1953 120.074V257.682H152.682V120.074H44.1953ZM331.715 4V298.082H289.674V46.041H239.225V4H331.715ZM478.961 4V298.082H436.92V46.041H386.471V4H478.961ZM743.717 257.682C743.717 263.287 742.623 268.551 740.436 273.473C738.385 278.395 735.514 282.701 731.822 286.393C728.268 289.947 724.029 292.818 719.107 295.006C714.322 297.057 709.127 298.082 703.521 298.082H595.035C589.566 298.082 584.371 297.057 579.449 295.006C574.527 292.818 570.221 289.947 566.529 286.393C562.975 282.701 560.104 278.395 557.916 273.473C555.865 268.551 554.84 263.287 554.84 257.682V120.074C554.84 114.469 555.865 109.205 557.916 104.283C560.104 99.3613 562.975 95.123 566.529 91.5684C570.221 87.877 574.527 85.0059 579.449 82.9551C584.371 80.7676 589.566 79.6738 595.035 79.6738H703.521C709.127 79.6738 714.322 80.7676 719.107 82.9551C724.029 85.0059 728.268 87.877 731.822 91.5684C735.514 95.123 738.385 99.3613 740.436 104.283C742.623 109.205 743.717 114.469 743.717 120.074V257.682ZM595.035 120.074V257.682H703.521V120.074H595.035Z"})})}const kQ="left-sidebar",MQ=272,AN=256,eN=480,tN=x.memo(function({children:e,onNewSession:t}){const s=Te(a=>a.isDiffOpen),n=ws(a=>a.isCollapsed),r=ws(a=>a.toggleCollapse),i=ss(a=>a.widths[kQ]??MQ);return x.useEffect(()=>(n?document.body.style.overflow="":document.body.style.overflow="hidden",()=>{document.body.style.overflow=""}),[n]),n?o.jsxs("aside",{className:"w-12 md:w-12 border-r border-border bg-background flex flex-col transition-all duration-300 ease-in-out hidden md:flex",children:[o.jsx("div",{className:"h-14 border-b border-border flex items-center justify-center",children:o.jsx(le,{variant:"ghost",size:"icon",onClick:t,title:"New session",className:"rounded-full touch-manipulation text-muted-foreground hover:bg-muted/50",children:o.jsx(go,{className:"w-4 h-4"})})}),o.jsx("button",{type:"button",className:"flex-1 cursor-pointer hover:bg-muted/50 transition-colors touch-manipulation",onClick:s?void 0:r,title:s?void 0:"Expand sidebar","aria-label":"Expand sidebar"}),o.jsx("div",{className:"h-12 border-t border-border flex items-center justify-center",children:o.jsx(le,{variant:"ghost",size:"icon",onClick:r,title:"Expand sidebar",disabled:s,className:"transition-transform duration-200 hover:scale-110 touch-manipulation text-muted-foreground hover:bg-muted/50",children:o.jsx(at,{className:"w-4 h-4"})})})]}):o.jsxs(o.Fragment,{children:[!n&&o.jsx("div",{className:"fixed inset-0 bg-black/50 z-40 md:hidden",onClick:r,"aria-hidden":"true"}),o.jsxs("aside",{className:"border-r border-sidebar-border sidebar-fade-in flex transition-all duration-300 ease-in-out fixed md:relative top-0 left-0 z-50 h-screen md:h-auto w-full md:w-auto",style:{maxWidth:"100%"},children:[o.jsxs("div",{className:"flex-1 flex flex-col min-w-0 relative",style:{width:i},children:[o.jsxs("div",{className:"h-14 border-b border-sidebar-border px-4 flex items-center gap-2 md:hidden bg-sidebar",children:[o.jsx(le,{variant:"ghost",size:"icon",onClick:r,title:"Close menu",className:"touch-manipulation flex-shrink-0 text-sidebar-foreground hover:bg-sidebar-accent","aria-label":"Close menu",children:o.jsx(ct,{className:"w-5 h-5"})}),o.jsx("div",{className:"flex-1 flex items-center",children:o.jsx(NQ,{height:14,className:"text-sidebar-foreground"})})]}),o.jsxs("div",{className:"flex-1 relative overflow-hidden",children:[o.jsx("div",{className:"absolute top-0 left-0 right-0 z-10 pointer-events-none",children:o.jsxs("div",{className:"h-14 px-4 flex items-center justify-between border-b border-sidebar-border/40 bg-sidebar/40 backdrop-blur-xl supports-[backdrop-filter]:bg-sidebar/20",children:[o.jsx("div",{className:"flex items-center text-sidebar-foreground/90",children:o.jsx(NQ,{height:14,className:"select-none"})}),o.jsx("button",{type:"button",onClick:t,className:"w-9 h-9 rounded-full bg-sidebar-primary flex items-center justify-center hover:opacity-90 transition-opacity touch-manipulation pointer-events-auto",title:"New session",children:o.jsx(go,{className:"w-4 h-4 text-sidebar-primary-foreground"})})]})}),o.jsx("div",{className:"absolute inset-0 overflow-hidden",children:e})]}),o.jsx("div",{className:"h-12 border-t border-sidebar-border px-2 flex items-center justify-end",children:o.jsx(le,{variant:"ghost",size:"icon",onClick:r,title:"Collapse sidebar",disabled:s,className:"transition-transform duration-200 hover:scale-110 touch-manipulation text-sidebar-muted-foreground hover:bg-sidebar-accent w-8 h-8",children:o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"transition-transform duration-300",role:"img","aria-label":"Collapse sidebar",children:[o.jsx("title",{children:"Collapse sidebar"}),o.jsx("path",{d:"M15 18l-6-6 6-6"})]})})})]}),o.jsx("div",{className:"hidden md:block",children:o.jsx(_s,{panelKey:kQ,side:"left",minWidth:AN,maxWidth:eN,defaultWidth:MQ})})]})]})}),oN=x.memo(function({sidebar:e,children:t,onNewSession:s,theme:n,onToggleTheme:r,sessionId:i,onNavigateToSession:a,onFixWithAI:g}){const l=Te(v=>v.isExpanded),Q=tt(v=>v.isExpanded),I=pt(v=>v.isExpanded),C=Mt(v=>v.isExpanded),c=je(v=>v.isExpanded),u=At(v=>v.isExpanded),p=$e(v=>v.isExpanded),f=Ve(v=>v.isExpanded),k=l||Q||I||C||c||u||p||f;return o.jsxs("div",{className:"h-screen flex bg-background touch-manipulation border-t border-border/50",children:[o.jsx(tN,{onNewSession:s,children:e}),o.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden w-full md:w-auto",children:[o.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[o.jsxs("main",{className:"flex-1 flex flex-col overflow-hidden relative",children:[o.jsx(A1,{}),o.jsx(C1,{}),o.jsx(Jy,{}),o.jsx(by,{}),t]}),o.jsxs("div",{className:"hidden md:flex",children:[o.jsx(Z2,{onFixWithAI:g}),o.jsx(a1,{sessionId:i}),o.jsx(w1,{parentSessionId:i??null,onNavigateToSession:a}),o.jsx(q1,{}),o.jsx(ey,{}),o.jsx(Sy,{}),o.jsx(dy,{}),o.jsx(yy,{}),o.jsxs("div",{className:`flex flex-col w-12 border-l ${k?"sidebar-fade-in border-sidebar-border":"bg-background border-border"}`,children:[o.jsx(_2,{}),o.jsx(g1,{sessionId:i}),o.jsx(D1,{parentSessionId:i}),o.jsx(Uy,{}),o.jsx(ty,{}),o.jsx(hy,{}),o.jsx(Ny,{}),o.jsx(P1,{}),o.jsx("div",{className:"flex-1"}),o.jsx(Yh,{}),o.jsx("div",{className:"h-12 border-t border-border flex items-center justify-center",children:o.jsx(le,{variant:"ghost",size:"icon",onClick:r,title:`Switch to ${n==="dark"?"light":"dark"} mode`,"aria-label":`Switch to ${n==="dark"?"light":"dark"} mode`,className:"touch-manipulation",children:n==="dark"?o.jsx(kC,{className:"w-4 h-4"}):o.jsx(MC,{className:"w-4 h-4"})})})]})]})]}),o.jsx(qh,{})]}),o.jsx(e1,{}),o.jsx(Ph,{}),o.jsx(Ty,{})]})});function UE({sessionId:A}){const e=x.useRef(null),t=Rf(),{data:s}=zo(),{theme:n,toggleTheme:r}=zy(),{openCommitModal:i,openDiff:a}=Te(),g=YE(),{data:l=[]}=Pn(),{data:Q}=Wn(),I=zn(),C=sg(),c=qB(),u=YB(),p=Va(R=>R.openConfirmation);Vy(),_y(A),oi(s?.defaults?.provider);const f=x.useCallback(()=>{setTimeout(()=>{e.current?.focus()},100)},[]),k=x.useCallback(()=>{g({to:"/sessions"})},[g]),v=x.useCallback(R=>{g({to:"/sessions/$sessionId",params:{sessionId:R},replace:!1}),f()},[g,f]),D=x.useCallback(()=>{g({to:"/sessions"})},[g]),j=x.useCallback(R=>{g({to:"/sessions/$sessionId",params:{sessionId:R}}),f()},[g,f]),K=x.useCallback(async R=>{try{const W=await t.mutateAsync({agent:s?.defaults.agent||"general",provider:s?.defaults.provider,model:s?.defaults.model,title:"Fix Git Error"});g({to:"/sessions/$sessionId",params:{sessionId:W.id},replace:!1}),await mA.sendMessage(W.id,{content:R})}catch(W){console.error("Failed to create fix session:",W)}},[t,s,g]),V=x.useMemo(()=>Q?[...(Q.conflicted??[]).map(R=>({path:R.path,staged:!1,status:R.status})),...Q.staged.map(R=>({path:R.path,staged:!0,status:R.status})),...Q.unstaged.map(R=>({path:R.path,staged:!1,status:R.status})),...Q.untracked.map(R=>({path:R.path,staged:!1,status:R.status}))]:[],[Q]),eA=x.useMemo(()=>l.map(R=>R.id),[l]);Zy({sessionIds:eA,activeSessionId:A,gitFiles:V,onSelectSession:j,onNewSession:k,onStageFile:R=>I.mutate([R]),onUnstageFile:R=>C.mutate([R]),onRestoreFile:R=>c.mutate([R]),onDeleteFile:R=>{p({title:"Delete File",message:`Delete ${R}? This will permanently remove the untracked file.`,confirmLabel:"Delete",variant:"destructive",onConfirm:async()=>{await u.mutateAsync([R])}})},onStageAll:()=>{const R=V.filter(W=>!W.staged).map(W=>W.path);R.length>0&&I.mutate(R)},onUnstageAll:()=>{const R=V.filter(W=>W.staged).map(W=>W.path);R.length>0&&C.mutate(R)},onOpenCommitModal:i,onViewDiff:a,onReturnToInput:f}),x.useEffect(()=>{A&&f()},[A,f]);const X=x.useMemo(()=>A?o.jsxs(o.Fragment,{children:[o.jsx(U2,{sessionId:A,onSelectSession:j}),o.jsx(rp,{ref:e,sessionId:A,onNewSession:k,onDeleteSession:D})]}):o.jsx(ip,{onSessionCreated:v}),[A,k,j,D,v]);return o.jsxs(o.Fragment,{children:[o.jsx(oN,{onNewSession:k,theme:n,onToggleTheme:r,sessionId:A,onNavigateToSession:j,onFixWithAI:K,sidebar:o.jsx(J2,{activeSessionId:A,onSelectSession:j}),children:X}),o.jsx(Zh,{})]})}const sN=Fa("/sessions/")({component:rN});function rN(){return o.jsx(UE,{})}const RE=Fa("/sessions/$sessionId")({component:nN});function nN(){const{sessionId:A}=RE.useParams();return o.jsx(UE,{sessionId:A})}const iN=$y.update({id:"/",path:"/",getParentRoute:()=>ni}),aN=sN.update({id:"/sessions/",path:"/sessions/",getParentRoute:()=>ni}),gN=RE.update({id:"/sessions/$sessionId",path:"/sessions/$sessionId",getParentRoute:()=>ni}),lN={IndexRoute:iN,SessionsSessionIdRoute:gN,SessionsIndexRoute:aN},QN=ni._addFileChildren(lN)._addFileTypes(),BN=()=>{const t=(typeof globalThis<"u"?globalThis.OTTO_ROUTER_BASEPATH:void 0)??"/"??"/";if(!t||t==="/")return"/";const s=t.replace(/\/+$/,"")||"/";return s.startsWith("/")?s:`/${s}`},cN=HE({routeTree:QN,basepath:BN()}),bg=new PE({defaultOptions:{queries:{refetchOnWindowFocus:!1,retry:1,structuralSharing:!0}}});bg.prefetchQuery({queryKey:["sessions"],queryFn:()=>mA.getSessions()});bg.prefetchQuery({queryKey:["config"],queryFn:()=>mA.getConfig()});function EN(){return o.jsx(WE,{client:bg,children:o.jsx(zE,{router:cN})})}const KE=document.getElementById("root");if(!KE)throw new Error("Root element not found");VE.createRoot(KE).render(o.jsx(x.StrictMode,{children:o.jsx(EN,{})}));
|