@ottocode/web-ui 0.1.245 → 0.1.247

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.
@@ -0,0 +1,141 @@
1
+ import{R as st,u as ot,a as De,b as qe,r as x,j as o,_ as Dc,d as yc,e as pa,g as uB,f as Nc,O as kc,h as ma,i as Mc,k as bc,l as Fc,Q as Gc,m as vc,n as Sc,o as Uc}from"./framework-nIMfOfMw.js";import{B as Rc,U as wa,X as nt,P as Io,T as Ao,M as xa,a as dB,C as zt,b as po,E as bt,L as Le,c as Da,d as hB,e as Cr,F as Xo,f as Kc,g as Jc,I as ya,h as $o,i as Lc,j as yn,k as nn,S as ro,l as fB,K as pB,m as jc,n as Nn,G as no,o as Yt,p as Tc,q as Ir,r as Na,R as Pt,s as hg,t as mB,u as ka,v as gr,w as Oc,A as wB,x as qc,y as ms,z as it,D as us,H as xB,J as DB,N as Qr,O as Yc,Q as yB,V as Hc,W as Oo,Y as Pc,Z as fg,_ as Wc,$ as zc,a0 as ur,a1 as NB,a2 as pg,a3 as Vc,a4 as To,a5 as Zc,a6 as Li,a7 as an,a8 as _c,a9 as Ma,aa as kB,ab as MB,ac as bB,ad as Xc,ae as ba,af as $c,ag as FB,ah as AC,ai as GB,aj as eC,ak as tC,al as oC,am as sC,an as rC,ao as nC,ap as iC,aq as vB,ar as aC,as as gC,at as gn,au as Fa,av as nr,aw as QC,ax as BC,ay as lC,az as EC,aA as cC,aB as CC}from"./icons-ChRAk92S.js";import{v as Bo,p as lo,h as qt}from"./syntax-BTV1BYOo.js";import{M as Ga,a as va}from"./markdown-CKQyPXIb.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 mg=A=>{let e;const t=new Set,s=(Q,B)=>{const C=typeof Q=="function"?Q(e):Q;if(!Object.is(C,e)){const u=e;e=B??(typeof C!="object"||C===null)?C:Object.assign({},e,C),t.forEach(E=>E(e,u))}},n=()=>e,a={setState:s,getState:n,getInitialState:()=>g,subscribe:Q=>(t.add(Q),()=>t.delete(Q))},g=e=A(s,n,a);return a},IC=(A=>A?mg(A):mg),uC=A=>A;function dC(A,e=uC){const t=st.useSyncExternalStore(A.subscribe,st.useCallback(()=>e(A.getState()),[A,e]),st.useCallback(()=>e(A.getInitialState()),[A,e]));return st.useDebugValue(t),t}const wg=A=>{const e=IC(A),t=s=>dC(e,s);return Object.assign(t,e),t},Ct=(A=>A?wg(A):wg),hC=300,fC=150,so=Ct(A=>({isOpen:!1,panelHeight:hC,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(fC,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 SB(A,e){return function(){return A.apply(e,arguments)}}const{toString:pC}=Object.prototype,{getPrototypeOf:kn}=Object,{iterator:Mn,toStringTag:UB}=Symbol,bn=(A=>e=>{const t=pC.call(e);return A[t]||(A[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),mo=A=>(A=A.toLowerCase(),e=>bn(e)===A),Fn=A=>e=>typeof e===A,{isArray:Ys}=Array,Ls=Fn("undefined");function dr(A){return A!==null&&!Ls(A)&&A.constructor!==null&&!Ls(A.constructor)&&eo(A.constructor.isBuffer)&&A.constructor.isBuffer(A)}const RB=mo("ArrayBuffer");function mC(A){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(A):e=A&&A.buffer&&RB(A.buffer),e}const wC=Fn("string"),eo=Fn("function"),KB=Fn("number"),hr=A=>A!==null&&typeof A=="object",xC=A=>A===!0||A===!1,zr=A=>{if(bn(A)!=="object")return!1;const e=kn(A);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(UB in A)&&!(Mn in A)},DC=A=>{if(!hr(A)||dr(A))return!1;try{return Object.keys(A).length===0&&Object.getPrototypeOf(A)===Object.prototype}catch{return!1}},yC=mo("Date"),NC=mo("File"),kC=A=>!!(A&&typeof A.uri<"u"),MC=A=>A&&typeof A.getParts<"u",bC=mo("Blob"),FC=mo("FileList"),GC=A=>hr(A)&&eo(A.pipe);function vC(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const xg=vC(),Dg=typeof xg.FormData<"u"?xg.FormData:void 0,SC=A=>{if(!A)return!1;if(Dg&&A instanceof Dg)return!0;const e=kn(A);if(!e||e===Object.prototype||!eo(A.append))return!1;const t=bn(A);return t==="formdata"||t==="object"&&eo(A.toString)&&A.toString()==="[object FormData]"},UC=mo("URLSearchParams"),[RC,KC,JC,LC]=["ReadableStream","Request","Response","Headers"].map(mo),jC=A=>A.trim?A.trim():A.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function fr(A,e,{allOwnKeys:t=!1}={}){if(A===null||typeof A>"u")return;let s,n;if(typeof A!="object"&&(A=[A]),Ys(A))for(s=0,n=A.length;s<n;s++)e.call(null,A[s],s,A);else{if(dr(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 JB(A,e){if(dr(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 Bs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,LB=A=>!Ls(A)&&A!==Bs;function ji(){const{caseless:A,skipUndefined:e}=LB(this)&&this||{},t={},s=(n,r)=>{if(r==="__proto__"||r==="constructor"||r==="prototype")return;const i=A&&JB(t,r)||r;zr(t[i])&&zr(n)?t[i]=ji(t[i],n):zr(n)?t[i]=ji({},n):Ys(n)?t[i]=n.slice():(!e||!Ls(n))&&(t[i]=n)};for(let n=0,r=arguments.length;n<r;n++)arguments[n]&&fr(arguments[n],s);return t}const TC=(A,e,t,{allOwnKeys:s}={})=>(fr(e,(n,r)=>{t&&eo(n)?Object.defineProperty(A,r,{value:SB(n,t),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(A,r,{value:n,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:s}),A),OC=A=>(A.charCodeAt(0)===65279&&(A=A.slice(1)),A),qC=(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)},YC=(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&&kn(A)}while(A&&(!t||t(A,e))&&A!==Object.prototype);return e},HC=(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},PC=A=>{if(!A)return null;if(Ys(A))return A;let e=A.length;if(!KB(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=A[e];return t},WC=(A=>e=>A&&e instanceof A)(typeof Uint8Array<"u"&&kn(Uint8Array)),zC=(A,e)=>{const s=(A&&A[Mn]).call(A);let n;for(;(n=s.next())&&!n.done;){const r=n.value;e.call(A,r[0],r[1])}},VC=(A,e)=>{let t;const s=[];for(;(t=A.exec(e))!==null;)s.push(t);return s},ZC=mo("HTMLFormElement"),_C=A=>A.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,s,n){return s.toUpperCase()+n}),yg=(({hasOwnProperty:A})=>(e,t)=>A.call(e,t))(Object.prototype),XC=mo("RegExp"),jB=(A,e)=>{const t=Object.getOwnPropertyDescriptors(A),s={};fr(t,(n,r)=>{let i;(i=e(n,r,A))!==!1&&(s[r]=i||n)}),Object.defineProperties(A,s)},$C=A=>{jB(A,(e,t)=>{if(eo(A)&&["arguments","caller","callee"].indexOf(t)!==-1)return!1;const s=A[t];if(eo(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+"'")})}})},AI=(A,e)=>{const t={},s=n=>{n.forEach(r=>{t[r]=!0})};return Ys(A)?s(A):s(String(A).split(e)),t},eI=()=>{},tI=(A,e)=>A!=null&&Number.isFinite(A=+A)?A:e;function oI(A){return!!(A&&eo(A.append)&&A[UB]==="FormData"&&A[Mn])}const sI=A=>{const e=new Array(10),t=(s,n)=>{if(hr(s)){if(e.indexOf(s)>=0)return;if(dr(s))return s;if(!("toJSON"in s)){e[n]=s;const r=Ys(s)?[]:{};return fr(s,(i,a)=>{const g=t(i,n+1);!Ls(g)&&(r[a]=g)}),e[n]=void 0,r}}return s};return t(A,0)},rI=mo("AsyncFunction"),nI=A=>A&&(hr(A)||eo(A))&&eo(A.then)&&eo(A.catch),TB=((A,e)=>A?setImmediate:e?((t,s)=>(Bs.addEventListener("message",({source:n,data:r})=>{n===Bs&&r===t&&s.length&&s.shift()()},!1),n=>{s.push(n),Bs.postMessage(t,"*")}))(`axios@${Math.random()}`,[]):t=>setTimeout(t))(typeof setImmediate=="function",eo(Bs.postMessage)),iI=typeof queueMicrotask<"u"?queueMicrotask.bind(Bs):typeof process<"u"&&process.nextTick||TB,aI=A=>A!=null&&eo(A[Mn]),lA={isArray:Ys,isArrayBuffer:RB,isBuffer:dr,isFormData:SC,isArrayBufferView:mC,isString:wC,isNumber:KB,isBoolean:xC,isObject:hr,isPlainObject:zr,isEmptyObject:DC,isReadableStream:RC,isRequest:KC,isResponse:JC,isHeaders:LC,isUndefined:Ls,isDate:yC,isFile:NC,isReactNativeBlob:kC,isReactNative:MC,isBlob:bC,isRegExp:XC,isFunction:eo,isStream:GC,isURLSearchParams:UC,isTypedArray:WC,isFileList:FC,forEach:fr,merge:ji,extend:TC,trim:jC,stripBOM:OC,inherits:qC,toFlatObject:YC,kindOf:bn,kindOfTest:mo,endsWith:HC,toArray:PC,forEachEntry:zC,matchAll:VC,isHTMLForm:ZC,hasOwnProperty:yg,hasOwnProp:yg,reduceDescriptors:jB,freezeMethods:$C,toObjectSet:AI,toCamelCase:_C,noop:eI,toFiniteNumber:tI,findKey:JB,global:Bs,isContextDefined:LB,isSpecCompliantForm:oI,toJSONObject:sI,isAsyncFn:rI,isThenable:nI,setImmediate:TB,asap:iI,isIterable:aI};let ne=class OB extends Error{static from(e,t,s,n,r,i){const a=new OB(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:lA.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 gI=null;function Ti(A){return lA.isPlainObject(A)||lA.isArray(A)}function qB(A){return lA.endsWith(A,"[]")?A.slice(0,-2):A}function Ai(A,e,t){return A?A.concat(e).map(function(n,r){return n=qB(n),!t&&r?"["+n+"]":n}).join(t?".":""):e}function QI(A){return lA.isArray(A)&&!A.some(Ti)}const BI=lA.toFlatObject(lA,{},null,function(e){return/^is[A-Z]/.test(e)});function Gn(A,e,t){if(!lA.isObject(A))throw new TypeError("target must be an object");e=e||new FormData,t=lA.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,k){return!lA.isUndefined(k[h])});const s=t.metaTokens,n=t.visitor||C,r=t.dots,i=t.indexes,a=t.Blob||typeof Blob<"u"&&Blob,g=t.maxDepth===void 0?100:t.maxDepth,Q=a&&lA.isSpecCompliantForm(e);if(!lA.isFunction(n))throw new TypeError("visitor must be a function");function B(p){if(p===null)return"";if(lA.isDate(p))return p.toISOString();if(lA.isBoolean(p))return p.toString();if(!Q&&lA.isBlob(p))throw new ne("Blob is not supported. Use a Buffer instead.");return lA.isArrayBuffer(p)||lA.isTypedArray(p)?Q&&typeof Blob=="function"?new Blob([p]):Buffer.from(p):p}function C(p,h,k){let v=p;if(lA.isReactNative(e)&&lA.isReactNativeBlob(p))return e.append(Ai(k,h,r),B(p)),!1;if(p&&!k&&typeof p=="object"){if(lA.endsWith(h,"{}"))h=s?h:h.slice(0,-2),p=JSON.stringify(p);else if(lA.isArray(p)&&QI(p)||(lA.isFileList(p)||lA.endsWith(h,"[]"))&&(v=lA.toArray(p)))return h=qB(h),v.forEach(function(T,J){!(lA.isUndefined(T)||T===null)&&e.append(i===!0?Ai([h],J,r):i===null?h:h+"[]",B(T))}),!1}return Ti(p)?!0:(e.append(Ai(k,h,r),B(p)),!1)}const u=[],E=Object.assign(BI,{defaultVisitor:C,convertValue:B,isVisitable:Ti});function I(p,h,k=0){if(!lA.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(u.indexOf(p)!==-1)throw Error("Circular reference detected in "+h.join("."));u.push(p),lA.forEach(p,function(D,T){(!(lA.isUndefined(D)||D===null)&&n.call(e,D,lA.isString(T)?T.trim():T,h,E))===!0&&I(D,h?h.concat(T):[T],k+1)}),u.pop()}}if(!lA.isObject(A))throw new TypeError("data must be an object");return I(A),e}function Ng(A){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(A).replace(/[!'()~]|%20/g,function(s){return e[s]})}function Sa(A,e){this._pairs=[],A&&Gn(A,this,e)}const YB=Sa.prototype;YB.append=function(e,t){this._pairs.push([e,t])};YB.toString=function(e){const t=e?function(s){return e.call(this,s,Ng)}:Ng;return this._pairs.map(function(n){return t(n[0])+"="+t(n[1])},"").join("&")};function lI(A){return encodeURIComponent(A).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function HB(A,e,t){if(!e)return A;const s=t&&t.encode||lI,n=lA.isFunction(t)?{serialize:t}:t,r=n&&n.serialize;let i;if(r?i=r(e,n):i=lA.isURLSearchParams(e)?e.toString():new Sa(e,n).toString(s),i){const a=A.indexOf("#");a!==-1&&(A=A.slice(0,a)),A+=(A.indexOf("?")===-1?"?":"&")+i}return A}class kg{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){lA.forEach(this.handlers,function(s){s!==null&&e(s)})}}const Ua={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},EI=typeof URLSearchParams<"u"?URLSearchParams:Sa,cI=typeof FormData<"u"?FormData:null,CI=typeof Blob<"u"?Blob:null,II={isBrowser:!0,classes:{URLSearchParams:EI,FormData:cI,Blob:CI},protocols:["http","https","file","blob","url","data"]},Ra=typeof window<"u"&&typeof document<"u",Oi=typeof navigator=="object"&&navigator||void 0,uI=Ra&&(!Oi||["ReactNative","NativeScript","NS"].indexOf(Oi.product)<0),dI=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",hI=Ra&&window.location.href||"http://localhost",fI=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ra,hasStandardBrowserEnv:uI,hasStandardBrowserWebWorkerEnv:dI,navigator:Oi,origin:hI},Symbol.toStringTag,{value:"Module"})),Ot={...fI,...II};function pI(A,e){return Gn(A,new Ot.classes.URLSearchParams,{visitor:function(t,s,n,r){return Ot.isNode&&lA.isBuffer(t)?(this.append(s,t.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)},...e})}function mI(A){return lA.matchAll(/\w+|\[(\w*)]/g,A).map(e=>e[0]==="[]"?"":e[1]||e[0])}function wI(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 PB(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&&lA.isArray(n)?n.length:i,g?(lA.hasOwnProp(n,i)?n[i]=lA.isArray(n[i])?n[i].concat(s):[n[i],s]:n[i]=s,!a):((!n[i]||!lA.isObject(n[i]))&&(n[i]=[]),e(t,s,n[i],r)&&lA.isArray(n[i])&&(n[i]=wI(n[i])),!a)}if(lA.isFormData(A)&&lA.isFunction(A.entries)){const t={};return lA.forEachEntry(A,(s,n)=>{e(mI(s),n,t,0)}),t}return null}const ks=(A,e)=>A!=null&&lA.hasOwnProp(A,e)?A[e]:void 0;function xI(A,e,t){if(lA.isString(A))try{return(e||JSON.parse)(A),lA.trim(A)}catch(s){if(s.name!=="SyntaxError")throw s}return(t||JSON.stringify)(A)}const pr={transitional:Ua,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const s=t.getContentType()||"",n=s.indexOf("application/json")>-1,r=lA.isObject(e);if(r&&lA.isHTMLForm(e)&&(e=new FormData(e)),lA.isFormData(e))return n?JSON.stringify(PB(e)):e;if(lA.isArrayBuffer(e)||lA.isBuffer(e)||lA.isStream(e)||lA.isFile(e)||lA.isBlob(e)||lA.isReadableStream(e))return e;if(lA.isArrayBufferView(e))return e.buffer;if(lA.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(r){const g=ks(this,"formSerializer");if(s.indexOf("application/x-www-form-urlencoded")>-1)return pI(e,g).toString();if((a=lA.isFileList(e))||s.indexOf("multipart/form-data")>-1){const Q=ks(this,"env"),B=Q&&Q.FormData;return Gn(a?{"files[]":e}:e,B&&new B,g)}}return r||n?(t.setContentType("application/json",!1),xI(e)):e}],transformResponse:[function(e){const t=ks(this,"transitional")||pr.transitional,s=t&&t.forcedJSONParsing,n=ks(this,"responseType"),r=n==="json";if(lA.isResponse(e)||lA.isReadableStream(e))return e;if(e&&lA.isString(e)&&(s&&!n||r)){const a=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e,ks(this,"parseReviver"))}catch(g){if(a)throw g.name==="SyntaxError"?ne.from(g,ne.ERR_BAD_RESPONSE,this,null,ks(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}}};lA.forEach(["delete","get","head","post","put","patch"],A=>{pr.headers[A]={}});const DI=lA.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"]),yI=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]&&DI[t])&&(t==="set-cookie"?e[t]?e[t].push(s):e[t]=[s]:e[t]=e[t]?e[t]+", "+s:s)}),e},Mg=Symbol("internals"),NI=/[^\x09\x20-\x7E\x80-\xFF]/g;function kI(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 $s(A){return A&&String(A).trim().toLowerCase()}function MI(A){return kI(A.replace(NI,""))}function Vr(A){return A===!1||A==null?A:lA.isArray(A)?A.map(Vr):MI(String(A))}function bI(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 FI=A=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(A.trim());function ei(A,e,t,s,n){if(lA.isFunction(s))return s.call(this,e,t);if(n&&(e=t),!!lA.isString(e)){if(lA.isString(s))return e.indexOf(s)!==-1;if(lA.isRegExp(s))return s.test(e)}}function GI(A){return A.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,s)=>t.toUpperCase()+s)}function vI(A,e){const t=lA.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 to=class{constructor(e){e&&this.set(e)}set(e,t,s){const n=this;function r(a,g,Q){const B=$s(g);if(!B)throw new Error("header name must be a non-empty string");const C=lA.findKey(n,B);(!C||n[C]===void 0||Q===!0||Q===void 0&&n[C]!==!1)&&(n[C||g]=Vr(a))}const i=(a,g)=>lA.forEach(a,(Q,B)=>r(Q,B,g));if(lA.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(lA.isString(e)&&(e=e.trim())&&!FI(e))i(yI(e),t);else if(lA.isObject(e)&&lA.isIterable(e)){let a={},g,Q;for(const B of e){if(!lA.isArray(B))throw TypeError("Object iterator must return a key-value pair");a[Q=B[0]]=(g=a[Q])?lA.isArray(g)?[...g,B[1]]:[g,B[1]]:B[1]}i(a,t)}else e!=null&&r(t,e,s);return this}get(e,t){if(e=$s(e),e){const s=lA.findKey(this,e);if(s){const n=this[s];if(!t)return n;if(t===!0)return bI(n);if(lA.isFunction(t))return t.call(this,n,s);if(lA.isRegExp(t))return t.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=$s(e),e){const s=lA.findKey(this,e);return!!(s&&this[s]!==void 0&&(!t||ei(this,this[s],s,t)))}return!1}delete(e,t){const s=this;let n=!1;function r(i){if(i=$s(i),i){const a=lA.findKey(s,i);a&&(!t||ei(s,s[a],a,t))&&(delete s[a],n=!0)}}return lA.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||ei(this,this[r],r,e,!0))&&(delete this[r],n=!0)}return n}normalize(e){const t=this,s={};return lA.forEach(this,(n,r)=>{const i=lA.findKey(s,r);if(i){t[i]=Vr(n),delete t[r];return}const a=e?GI(r):String(r).trim();a!==r&&delete t[r],t[a]=Vr(n),s[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return lA.forEach(this,(s,n)=>{s!=null&&s!==!1&&(t[n]=e&&lA.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[Mg]=this[Mg]={accessors:{}}).accessors,n=this.prototype;function r(i){const a=$s(i);s[a]||(vI(n,i),s[a]=!0)}return lA.isArray(e)?e.forEach(r):r(e),this}};to.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);lA.reduceDescriptors(to.prototype,({value:A},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>A,set(s){this[t]=s}}});lA.freezeMethods(to);function ti(A,e){const t=this||pr,s=e||t,n=to.from(s.headers);let r=s.data;return lA.forEach(A,function(a){r=a.call(t,r,n.normalize(),e?e.status:void 0)}),n.normalize(),r}function WB(A){return!!(A&&A.__CANCEL__)}let mr=class extends ne{constructor(e,t,s){super(e??"canceled",ne.ERR_CANCELED,t,s),this.name="CanceledError",this.__CANCEL__=!0}};function zB(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 SI(A){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(A);return e&&e[1]||""}function UI(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 Q=Date.now(),B=s[r];i||(i=Q),t[n]=g,s[n]=Q;let C=r,u=0;for(;C!==n;)u+=t[C++],C=C%A;if(n=(n+1)%A,n===r&&(r=(r+1)%A),Q-i<e)return;const E=B&&Q-B;return E?Math.round(u*1e3/E):void 0}}function RI(A,e){let t=0,s=1e3/e,n,r;const i=(Q,B=Date.now())=>{t=B,n=null,r&&(clearTimeout(r),r=null),A(...Q)};return[(...Q)=>{const B=Date.now(),C=B-t;C>=s?i(Q,B):(n=Q,r||(r=setTimeout(()=>{r=null,i(n)},s-C)))},()=>n&&i(n)]}const Qn=(A,e,t=3)=>{let s=0;const n=UI(50,250);return RI(r=>{const i=r.loaded,a=r.lengthComputable?r.total:void 0,g=a!=null?Math.min(i,a):i,Q=Math.max(0,g-s),B=n(Q);s=Math.max(s,g);const C={loaded:g,total:a,progress:a?g/a:void 0,bytes:Q,rate:B||void 0,estimated:B&&a?(a-g)/B:void 0,event:r,lengthComputable:a!=null,[e?"download":"upload"]:!0};A(C)},t)},bg=(A,e)=>{const t=A!=null;return[s=>e[0]({lengthComputable:t,total:A,loaded:s}),e[1]]},Fg=A=>(...e)=>lA.asap(()=>A(...e)),KI=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,JI=Ot.hasStandardBrowserEnv?{write(A,e,t,s,n,r,i){if(typeof document>"u")return;const a=[`${A}=${encodeURIComponent(e)}`];lA.isNumber(t)&&a.push(`expires=${new Date(t).toUTCString()}`),lA.isString(s)&&a.push(`path=${s}`),lA.isString(n)&&a.push(`domain=${n}`),r===!0&&a.push("secure"),lA.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 LI(A){return typeof A!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(A)}function jI(A,e){return e?A.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):A}function VB(A,e,t){let s=!LI(e);return A&&(s||t===!1)?jI(A,e):e}const Gg=A=>A instanceof to?{...A}:A;function ds(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(Q,B,C,u){return lA.isPlainObject(Q)&&lA.isPlainObject(B)?lA.merge.call({caseless:u},Q,B):lA.isPlainObject(B)?lA.merge({},B):lA.isArray(B)?B.slice():B}function n(Q,B,C,u){if(lA.isUndefined(B)){if(!lA.isUndefined(Q))return s(void 0,Q,C,u)}else return s(Q,B,C,u)}function r(Q,B){if(!lA.isUndefined(B))return s(void 0,B)}function i(Q,B){if(lA.isUndefined(B)){if(!lA.isUndefined(Q))return s(void 0,Q)}else return s(void 0,B)}function a(Q,B,C){if(lA.hasOwnProp(e,C))return s(Q,B);if(lA.hasOwnProp(A,C))return s(void 0,Q)}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:(Q,B,C)=>n(Gg(Q),Gg(B),C,!0)};return lA.forEach(Object.keys({...A,...e}),function(B){if(B==="__proto__"||B==="constructor"||B==="prototype")return;const C=lA.hasOwnProp(g,B)?g[B]:n,u=lA.hasOwnProp(A,B)?A[B]:void 0,E=lA.hasOwnProp(e,B)?e[B]:void 0,I=C(u,E,B);lA.isUndefined(I)&&C!==a||(t[B]=I)}),t}const ZB=A=>{const e=ds({},A),t=u=>lA.hasOwnProp(e,u)?e[u]:void 0,s=t("data");let n=t("withXSRFToken");const r=t("xsrfHeaderName"),i=t("xsrfCookieName");let a=t("headers");const g=t("auth"),Q=t("baseURL"),B=t("allowAbsoluteUrls"),C=t("url");if(e.headers=a=to.from(a),e.url=HB(VB(Q,C,B),A.params,A.paramsSerializer),g&&a.set("Authorization","Basic "+btoa((g.username||"")+":"+(g.password?unescape(encodeURIComponent(g.password)):""))),lA.isFormData(s)){if(Ot.hasStandardBrowserEnv||Ot.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(lA.isFunction(s.getHeaders)){const u=s.getHeaders(),E=["content-type","content-length"];Object.entries(u).forEach(([I,p])=>{E.includes(I.toLowerCase())&&a.set(I,p)})}}if(Ot.hasStandardBrowserEnv&&(lA.isFunction(n)&&(n=n(e)),n===!0||n==null&&KI(e.url))){const E=r&&i&&JI.read(i);E&&a.set(r,E)}return e},TI=typeof XMLHttpRequest<"u",OI=TI&&function(A){return new Promise(function(t,s){const n=ZB(A);let r=n.data;const i=to.from(n.headers).normalize();let{responseType:a,onUploadProgress:g,onDownloadProgress:Q}=n,B,C,u,E,I;function p(){E&&E(),I&&I(),n.cancelToken&&n.cancelToken.unsubscribe(B),n.signal&&n.signal.removeEventListener("abort",B)}let h=new XMLHttpRequest;h.open(n.method.toUpperCase(),n.url,!0),h.timeout=n.timeout;function k(){if(!h)return;const D=to.from("getAllResponseHeaders"in h&&h.getAllResponseHeaders()),J={data:!a||a==="text"||a==="json"?h.responseText:h.response,status:h.status,statusText:h.statusText,headers:D,config:A,request:h};zB(function(AA){t(AA),p()},function(AA){s(AA),p()},J),h=null}"onloadend"in h?h.onloadend=k:h.onreadystatechange=function(){!h||h.readyState!==4||h.status===0&&!(h.responseURL&&h.responseURL.indexOf("file:")===0)||setTimeout(k)},h.onabort=function(){h&&(s(new ne("Request aborted",ne.ECONNABORTED,A,h)),h=null)},h.onerror=function(T){const J=T&&T.message?T.message:"Network Error",V=new ne(J,ne.ERR_NETWORK,A,h);V.event=T||null,s(V),h=null},h.ontimeout=function(){let T=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded";const J=n.transitional||Ua;n.timeoutErrorMessage&&(T=n.timeoutErrorMessage),s(new ne(T,J.clarifyTimeoutError?ne.ETIMEDOUT:ne.ECONNABORTED,A,h)),h=null},r===void 0&&i.setContentType(null),"setRequestHeader"in h&&lA.forEach(i.toJSON(),function(T,J){h.setRequestHeader(J,T)}),lA.isUndefined(n.withCredentials)||(h.withCredentials=!!n.withCredentials),a&&a!=="json"&&(h.responseType=n.responseType),Q&&([u,I]=Qn(Q,!0),h.addEventListener("progress",u)),g&&h.upload&&([C,E]=Qn(g),h.upload.addEventListener("progress",C),h.upload.addEventListener("loadend",E)),(n.cancelToken||n.signal)&&(B=D=>{h&&(s(!D||D.type?new mr(null,A,h):D),h.abort(),h=null)},n.cancelToken&&n.cancelToken.subscribe(B),n.signal&&(n.signal.aborted?B():n.signal.addEventListener("abort",B)));const v=SI(n.url);if(v&&Ot.protocols.indexOf(v)===-1){s(new ne("Unsupported protocol "+v+":",ne.ERR_BAD_REQUEST,A));return}h.send(r||null)})},qI=(A,e)=>{const{length:t}=A=A?A.filter(Boolean):[];if(e||t){let s=new AbortController,n;const r=function(Q){if(!n){n=!0,a();const B=Q instanceof Error?Q:this.reason;s.abort(B instanceof ne?B:new mr(B instanceof Error?B.message:B))}};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(Q=>{Q.unsubscribe?Q.unsubscribe(r):Q.removeEventListener("abort",r)}),A=null)};A.forEach(Q=>Q.addEventListener("abort",r));const{signal:g}=s;return g.unsubscribe=()=>lA.asap(a),g}},YI=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},HI=async function*(A,e){for await(const t of PI(A))yield*YI(t,e)},PI=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()}},vg=(A,e,t,s)=>{const n=HI(A,e);let r=0,i,a=g=>{i||(i=!0,s&&s(g))};return new ReadableStream({async pull(g){try{const{done:Q,value:B}=await n.next();if(Q){a(),g.close();return}let C=B.byteLength;if(t){let u=r+=C;t(u)}g.enqueue(new Uint8Array(B))}catch(Q){throw a(Q),Q}},cancel(g){return a(g),n.return()}},{highWaterMark:2})},Sg=64*1024,{isFunction:vr}=lA,WI=(({Request:A,Response:e})=>({Request:A,Response:e}))(lA.global),{ReadableStream:Ug,TextEncoder:Rg}=lA.global,Kg=(A,...e)=>{try{return!!A(...e)}catch{return!1}},zI=A=>{A=lA.merge.call({skipUndefined:!0},WI,A);const{fetch:e,Request:t,Response:s}=A,n=e?vr(e):typeof fetch=="function",r=vr(t),i=vr(s);if(!n)return!1;const a=n&&vr(Ug),g=n&&(typeof Rg=="function"?(I=>p=>I.encode(p))(new Rg):async I=>new Uint8Array(await new t(I).arrayBuffer())),Q=r&&a&&Kg(()=>{let I=!1;const p=new t(Ot.origin,{body:new Ug,method:"POST",get duplex(){return I=!0,"half"}}),h=p.headers.has("Content-Type");return p.body!=null&&p.body.cancel(),I&&!h}),B=i&&a&&Kg(()=>lA.isReadableStream(new s("").body)),C={stream:B&&(I=>I.body)};n&&["text","arrayBuffer","blob","formData","stream"].forEach(I=>{!C[I]&&(C[I]=(p,h)=>{let k=p&&p[I];if(k)return k.call(p);throw new ne(`Response type '${I}' is not supported`,ne.ERR_NOT_SUPPORT,h)})});const u=async I=>{if(I==null)return 0;if(lA.isBlob(I))return I.size;if(lA.isSpecCompliantForm(I))return(await new t(Ot.origin,{method:"POST",body:I}).arrayBuffer()).byteLength;if(lA.isArrayBufferView(I)||lA.isArrayBuffer(I))return I.byteLength;if(lA.isURLSearchParams(I)&&(I=I+""),lA.isString(I))return(await g(I)).byteLength},E=async(I,p)=>{const h=lA.toFiniteNumber(I.getContentLength());return h??u(p)};return async I=>{let{url:p,method:h,data:k,signal:v,cancelToken:D,timeout:T,onDownloadProgress:J,onUploadProgress:V,responseType:AA,headers:X,withCredentials:L="same-origin",fetchOptions:W}=ZB(I),S=e||fetch;AA=AA?(AA+"").toLowerCase():"text";let O=qI([v,D&&D.toAbortSignal()],T),w=null;const l=O&&O.unsubscribe&&(()=>{O.unsubscribe()});let d;try{if(V&&Q&&h!=="get"&&h!=="head"&&(d=await E(X,k))!==0){let b=new t(p,{method:"POST",body:k,duplex:"half"}),c;if(lA.isFormData(k)&&(c=b.headers.get("content-type"))&&X.setContentType(c),b.body){const[f,R]=bg(d,Qn(Fg(V)));k=vg(b.body,Sg,f,R)}}lA.isString(L)||(L=L?"include":"omit");const N=r&&"credentials"in t.prototype;if(lA.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:O,method:h.toUpperCase(),headers:X.normalize().toJSON(),body:k,duplex:"half",credentials:N?L:void 0};w=r&&new t(p,G);let U=await(r?S(w,W):S(p,G));const j=B&&(AA==="stream"||AA==="response");if(B&&(J||j&&l)){const b={};["status","statusText","headers"].forEach(K=>{b[K]=U[K]});const c=lA.toFiniteNumber(U.headers.get("content-length")),[f,R]=J&&bg(c,Qn(Fg(J),!0))||[];U=new s(vg(U.body,Sg,f,()=>{R&&R(),l&&l()}),b)}AA=AA||"text";let P=await C[lA.findKey(C,AA)||"text"](U,I);return!j&&l&&l(),await new Promise((b,c)=>{zB(b,c,{data:P,headers:to.from(U.headers),status:U.status,statusText:U.statusText,config:I,request:w})})}catch(N){throw l&&l(),N&&N.name==="TypeError"&&/Load failed|fetch/i.test(N.message)?Object.assign(new ne("Network Error",ne.ERR_NETWORK,I,w,N&&N.response),{cause:N.cause||N}):ne.from(N,N&&N.code,I,w,N&&N.response)}}},VI=new Map,_B=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,Q,B=VI;for(;a--;)g=r[a],Q=B.get(g),Q===void 0&&B.set(g,Q=a?new Map:zI(e)),B=Q;return Q};_B();const Ka={http:gI,xhr:OI,fetch:{get:_B}};lA.forEach(Ka,(A,e)=>{if(A){try{Object.defineProperty(A,"name",{value:e})}catch{}Object.defineProperty(A,"adapterName",{value:e})}});const Jg=A=>`- ${A}`,ZI=A=>lA.isFunction(A)||A===null||A===!1;function _I(A,e){A=lA.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,!ZI(s)&&(n=Ka[(a=String(s)).toLowerCase()],n===void 0))throw new ne(`Unknown adapter '${a}'`);if(n&&(lA.isFunction(n)||(n=n.get(e))))break;r[a||"#"+i]=n}if(!n){const i=Object.entries(r).map(([g,Q])=>`adapter ${g} `+(Q===!1?"is not supported by the environment":"is not available in the build"));let a=t?i.length>1?`since :
4
+ `+i.map(Jg).join(`
5
+ `):" "+Jg(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 XB={getAdapter:_I,adapters:Ka};function oi(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new mr(null,A)}function Lg(A){return oi(A),A.headers=to.from(A.headers),A.data=ti.call(A,A.transformRequest),["post","put","patch"].indexOf(A.method)!==-1&&A.headers.setContentType("application/x-www-form-urlencoded",!1),XB.getAdapter(A.adapter||pr.adapter,A)(A).then(function(s){return oi(A),s.data=ti.call(A,A.transformResponse,s),s.headers=to.from(s.headers),s},function(s){return WB(s)||(oi(A),s&&s.response&&(s.response.data=ti.call(A,A.transformResponse,s.response),s.response.headers=to.from(s.response.headers))),Promise.reject(s)})}const $B="1.15.2",vn={};["object","boolean","number","function","string","symbol"].forEach((A,e)=>{vn[A]=function(s){return typeof s===A||"a"+(e<1?"n ":" ")+A}});const jg={};vn.transitional=function(e,t,s){function n(r,i){return"[Axios v"+$B+"] 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&&!jg[i]&&(jg[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}};vn.spelling=function(e){return(t,s)=>(console.warn(`${s} is likely a misspelling of ${e}`),!0)};function XI(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 Zr={assertOptions:XI,validators:vn},io=Zr.validators;let Cs=class{constructor(e){this.defaults=e||{},this.interceptors={request:new kg,response:new kg}}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=ds(this.defaults,t);const{transitional:s,paramsSerializer:n,headers:r}=t;s!==void 0&&Zr.assertOptions(s,{silentJSONParsing:io.transitional(io.boolean),forcedJSONParsing:io.transitional(io.boolean),clarifyTimeoutError:io.transitional(io.boolean),legacyInterceptorReqResOrdering:io.transitional(io.boolean)},!1),n!=null&&(lA.isFunction(n)?t.paramsSerializer={serialize:n}:Zr.assertOptions(n,{encode:io.function,serialize:io.function},!0)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),Zr.assertOptions(t,{baseUrl:io.spelling("baseURL"),withXsrfToken:io.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=r&&lA.merge(r.common,r[t.method]);r&&lA.forEach(["delete","get","head","post","put","patch","common"],I=>{delete r[I]}),t.headers=to.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 h=t.transitional||Ua;h&&h.legacyInterceptorReqResOrdering?a.unshift(p.fulfilled,p.rejected):a.push(p.fulfilled,p.rejected)});const Q=[];this.interceptors.response.forEach(function(p){Q.push(p.fulfilled,p.rejected)});let B,C=0,u;if(!g){const I=[Lg.bind(this),void 0];for(I.unshift(...a),I.push(...Q),u=I.length,B=Promise.resolve(t);C<u;)B=B.then(I[C++],I[C++]);return B}u=a.length;let E=t;for(;C<u;){const I=a[C++],p=a[C++];try{E=I(E)}catch(h){p.call(this,h);break}}try{B=Lg.call(this,E)}catch(I){return Promise.reject(I)}for(C=0,u=Q.length;C<u;)B=B.then(Q[C++],Q[C++]);return B}getUri(e){e=ds(this.defaults,e);const t=VB(e.baseURL,e.url,e.allowAbsoluteUrls);return HB(t,e.params,e.paramsSerializer)}};lA.forEach(["delete","get","head","options"],function(e){Cs.prototype[e]=function(t,s){return this.request(ds(s||{},{method:e,url:t,data:(s||{}).data}))}});lA.forEach(["post","put","patch"],function(e){function t(s){return function(r,i,a){return this.request(ds(a||{},{method:e,headers:s?{"Content-Type":"multipart/form-data"}:{},url:r,data:i}))}}Cs.prototype[e]=t(),Cs.prototype[e+"Form"]=t(!0)});let $I=class Al{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 mr(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 Al(function(n){e=n}),cancel:e}}};function Au(A){return function(t){return A.apply(null,t)}}function eu(A){return lA.isObject(A)&&A.isAxiosError===!0}const qi={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(qi).forEach(([A,e])=>{qi[e]=A});function el(A){const e=new Cs(A),t=SB(Cs.prototype.request,e);return lA.extend(t,Cs.prototype,e,{allOwnKeys:!0}),lA.extend(t,e,null,{allOwnKeys:!0}),t.create=function(n){return el(ds(A,n))},t}const dt=el(pr);dt.Axios=Cs;dt.CanceledError=mr;dt.CancelToken=$I;dt.isCancel=WB;dt.VERSION=$B;dt.toFormData=Gn;dt.AxiosError=ne;dt.Cancel=dt.CanceledError;dt.all=function(e){return Promise.all(e)};dt.spread=Au;dt.isAxiosError=eu;dt.mergeConfig=ds;dt.AxiosHeaders=to;dt.formToJSON=A=>PB(lA.isHTMLForm(A)?new FormData(A):A);dt.getAdapter=XB.getAdapter;dt.HttpStatusCode=qi;dt.default=dt;const{Axios:Ty,AxiosError:Oy,CanceledError:qy,isCancel:Yy,CancelToken:Hy,VERSION:Py,all:Wy,Cancel:zy,isAxiosError:Vy,spread:Zy,toFormData:_y,AxiosHeaders:Xy,HttpStatusCode:$y,formToJSON:AN,getAdapter:eN,mergeConfig:tN}=dt,tu=({onRequest:A,onSseError:e,onSseEvent:t,responseTransformer:s,responseValidator:n,sseDefaultRetryDelay:r,sseMaxRetryAttempts:i,sseMaxRetryDelay:a,sseSleepFn:g,url:Q,...B})=>{let C;const u=g??(p=>new Promise(h=>setTimeout(h,p)));return{stream:async function*(){let p=r??3e3,h=0;const k=B.signal??new AbortController().signal;for(;!k.aborted;){h++;const v=B.headers instanceof Headers?B.headers:new Headers(B.headers);C!==void 0&&v.set("Last-Event-ID",C);try{const D={redirect:"follow",...B,body:B.serializedBody,headers:v,signal:k};let T=new Request(Q,D);A&&(T=await A(Q,D));const V=await(B.fetch??globalThis.fetch)(T);if(!V.ok)throw new Error(`SSE failed: ${V.status} ${V.statusText}`);if(!V.body)throw new Error("No body in SSE response");const AA=V.body.pipeThrough(new TextDecoderStream).getReader();let X="";const L=()=>{try{AA.cancel()}catch{}};k.addEventListener("abort",L);try{for(;;){const{done:W,value:S}=await AA.read();if(W)break;X+=S;const O=X.split(`
10
+
11
+ `);X=O.pop()??"";for(const w of O){const l=w.split(`
12
+ `),d=[];let N;for(const j of l)if(j.startsWith("data:"))d.push(j.replace(/^data:\s*/,""));else if(j.startsWith("event:"))N=j.replace(/^event:\s*/,"");else if(j.startsWith("id:"))C=j.replace(/^id:\s*/,"");else if(j.startsWith("retry:")){const P=Number.parseInt(j.replace(/^retry:\s*/,""),10);Number.isNaN(P)||(p=P)}let G,U=!1;if(d.length){const j=d.join(`
13
+ `);try{G=JSON.parse(j),U=!0}catch{G=j}}U&&(n&&await n(G),s&&(G=await s(G))),t?.({data:G,event:N,id:C,retry:p}),d.length&&(yield G)}}}finally{k.removeEventListener("abort",L),AA.releaseLock()}break}catch(D){if(e?.(D),i!==void 0&&h>=i)break;const T=Math.min(p*2**(h-1),a??3e4);await u(T)}}}()}},ou=A=>{switch(A){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},su=A=>{switch(A){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},ru=A=>{switch(A){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},tl=({allowReserved:A,explode:e,name:t,style:s,value:n})=>{if(!e){const a=(A?n:n.map(g=>encodeURIComponent(g))).join(su(s));switch(s){case"label":return`.${a}`;case"matrix":return`;${t}=${a}`;case"simple":return a;default:return`${t}=${a}`}}const r=ou(s),i=n.map(a=>s==="label"||s==="simple"?A?a:encodeURIComponent(a):Sn({allowReserved:A,name:t,value:a})).join(r);return s==="label"||s==="matrix"?r+i:i},Sn=({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)}`},ol=({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(([B,C])=>{g=[...g,B,A?C:encodeURIComponent(C)]});const Q=g.join(",");switch(s){case"form":return`${t}=${Q}`;case"label":return`.${Q}`;case"matrix":return`;${t}=${Q}`;default:return Q}}const i=ru(s),a=Object.entries(n).map(([g,Q])=>Sn({allowReserved:A,name:s==="deepObject"?`${t}[${g}]`:g,value:Q})).join(i);return s==="label"||s==="matrix"?i+a:a},nu=/\{[^{}]+\}/g,iu=({path:A,url:e})=>{let t=e;const s=e.match(nu);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,tl({explode:r,name:i,style:a,value:g}));continue}if(typeof g=="object"){t=t.replace(n,ol({explode:r,name:i,style:a,value:g,valueOnly:!0}));continue}if(a==="matrix"){t=t.replace(n,`;${Sn({name:i,value:g})}`);continue}const Q=encodeURIComponent(a==="label"?`.${g}`:g);t=t.replace(n,Q)}return t},au=({baseUrl:A,path:e,query:t,querySerializer:s,url:n})=>{const r=n.startsWith("/")?n:`/${n}`;let i=(A??"")+r;e&&(i=iu({path:e,url:i}));let a=t?s(t):"";return a.startsWith("?")&&(a=a.substring(1)),a&&(i+=`?${a}`),i};function gu(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 Qu=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},Bu=({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=tl({allowReserved:A,explode:!0,name:i,style:"form",value:a,...e});g&&r.push(g)}else if(typeof a=="object"){const g=ol({allowReserved:A,explode:!0,name:i,style:"deepObject",value:a,...t});g&&r.push(g)}else{const g=Sn({allowReserved:A,name:i,value:a});g&&r.push(g)}}return r.join("&")},lu=(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,Eu=async({security:A,...e})=>{for(const t of A){if(lu(e,t.name))continue;const s=await Qu(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}}},Tg=A=>{const e=A.axios?.defaults?.baseURL,t=A.baseURL&&typeof A.baseURL=="string"?A.baseURL:e;return au({baseUrl:t,path:A.path,query:A.paramsSerializer?void 0:A.query,querySerializer:typeof A.querySerializer=="function"?A.querySerializer:Bu(A.querySerializer),url:A.url})},Og=(A,e)=>{const t={...A,...e};return t.headers=Yi(A.headers,e.headers),t},cu=["common","delete","get","head","patch","post","put"],Yi=(...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(cu.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},sl=(A={})=>({...A}),Cu=(A={})=>{let e=Og(sl(),A),t;if(e.axios&&!("Axios"in e.axios))t=e.axios;else{const{auth:Q,...B}=e;t=dt.create(B)}const s=()=>({...e}),n=Q=>(e=Og(e,Q),t.defaults={...t.defaults,...e,headers:Yi(t.defaults.headers,e.headers)},s()),r=async Q=>{const B={...e,...Q,axios:Q.axios??e.axios??t,headers:Yi(e.headers,Q.headers)};B.security&&await Eu({...B,security:B.security}),B.requestValidator&&await B.requestValidator(B),B.body!==void 0&&B.bodySerializer&&(B.body=B.bodySerializer(B.body));const C=Tg(B);return{opts:B,url:C}},i=async Q=>{const{opts:B,url:C}=await r(Q);try{const u=B.axios,{auth:E,...I}=B,p=await u({...I,baseURL:"",data:gu(B),headers:B.headers,params:B.paramsSerializer?B.query:void 0,url:C});let{data:h}=p;return B.responseType==="json"&&(B.responseValidator&&await B.responseValidator(h),B.responseTransformer&&(h=await B.responseTransformer(h))),{...p,data:h??{}}}catch(u){const E=u;if(B.throwOnError)throw E;return E.error=E.response?.data??{},E}},a=Q=>B=>i({...B,method:Q}),g=Q=>async B=>{const{opts:C,url:u}=await r(B);return tu({...C,body:C.body,headers:C.headers,method:Q,signal:C.signal,url:u})};return{buildUrl:Tg,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")}},Iu=(A={})=>({...A,baseURL:A.baseURL}),kA=Cu(Iu(sl())),uu=A=>(A?.client??kA).get({responseType:"json",url:"/v1/auth/status",...A}),du=A=>(A?.client??kA).post({responseType:"json",url:"/v1/auth/ottorouter/setup",...A}),hu=A=>(A.client??kA).post({responseType:"json",url:"/v1/auth/ottorouter/import",...A,headers:{"Content-Type":"application/json",...A.headers}}),fu=A=>(A?.client??kA).get({responseType:"json",url:"/v1/auth/ottorouter/export",...A}),pu=A=>(A.client??kA).delete({responseType:"json",url:"/v1/auth/{provider}",...A}),mu=A=>(A.client??kA).post({responseType:"json",url:"/v1/auth/{provider}",...A,headers:{"Content-Type":"application/json",...A.headers}}),wu=A=>(A.client??kA).post({responseType:"json",url:"/v1/auth/{provider}/oauth/url",...A,headers:{"Content-Type":"application/json",...A.headers}}),xu=A=>(A.client??kA).post({responseType:"json",url:"/v1/auth/{provider}/oauth/exchange",...A,headers:{"Content-Type":"application/json",...A.headers}}),Du=A=>(A?.client??kA).post({responseType:"json",url:"/v1/auth/copilot/device/start",...A}),yu=A=>(A.client??kA).post({responseType:"json",url:"/v1/auth/copilot/device/poll",...A,headers:{"Content-Type":"application/json",...A.headers}}),Nu=A=>(A?.client??kA).get({responseType:"json",url:"/v1/auth/copilot/methods",...A}),ku=A=>(A.client??kA).post({responseType:"json",url:"/v1/auth/copilot/token",...A,headers:{"Content-Type":"application/json",...A.headers}}),Mu=A=>(A?.client??kA).post({responseType:"json",url:"/v1/auth/copilot/gh/import",...A}),bu=A=>(A?.client??kA).get({responseType:"json",url:"/v1/auth/copilot/diagnostics",...A}),Fu=A=>(A?.client??kA).post({responseType:"json",url:"/v1/auth/onboarding/complete",...A}),Gu=A=>(A.client??kA).post({responseType:"json",url:"/v1/sessions/{sessionId}/branch",...A,headers:{"Content-Type":"application/json",...A.headers}}),vu=A=>(A.client??kA).get({responseType:"json",url:"/v1/sessions/{sessionId}/branches",...A}),Su=A=>(A.client??kA).get({responseType:"json",url:"/v1/sessions/{sessionId}/parent",...A}),Uu=A=>(A?.client??kA).get({responseType:"json",url:"/v1/config",...A}),Ru=A=>(A.client??kA).get({responseType:"json",url:"/v1/config/providers/{provider}/models",...A}),Ku=A=>(A.client??kA).patch({responseType:"json",url:"/v1/config/defaults",...A,headers:{"Content-Type":"application/json",...A.headers}}),Ju=A=>(A?.client??kA).get({responseType:"json",url:"/v1/config/models",...A}),Lu=A=>(A?.client??kA).get({responseType:"json",url:"/v1/files",...A}),ju=A=>(A?.client??kA).get({responseType:"json",url:"/v1/files/tree",...A}),Tu=A=>(A.client??kA).get({responseType:"json",url:"/v1/files/read",...A}),Ou=A=>(A?.client??kA).post({responseType:"json",url:"/v1/git/init",...A,headers:{"Content-Type":"application/json",...A?.headers}}),qu=A=>(A?.client??kA).get({responseType:"json",url:"/v1/git/status",...A}),qg=A=>(A.client??kA).get({responseType:"json",url:"/v1/git/diff",...A}),Yu=A=>(A?.client??kA).get({responseType:"json",url:"/v1/git/branch",...A}),Hu=A=>(A.client??kA).post({responseType:"json",url:"/v1/git/stage",...A,headers:{"Content-Type":"application/json",...A.headers}}),Pu=A=>(A.client??kA).post({responseType:"json",url:"/v1/git/unstage",...A,headers:{"Content-Type":"application/json",...A.headers}}),Wu=A=>(A.client??kA).post({responseType:"json",url:"/v1/git/commit",...A,headers:{"Content-Type":"application/json",...A.headers}}),zu=A=>(A?.client??kA).post({responseType:"json",url:"/v1/git/generate-commit-message",...A,headers:{"Content-Type":"application/json",...A?.headers}}),Vu=A=>(A?.client??kA).post({responseType:"json",url:"/v1/git/push",...A,headers:{"Content-Type":"application/json",...A?.headers}}),Zu=A=>(A?.client??kA).post({responseType:"json",url:"/v1/git/pull",...A,headers:{"Content-Type":"application/json",...A?.headers}}),_u=A=>(A.client??kA).post({responseType:"json",url:"/v1/git/restore",...A,headers:{"Content-Type":"application/json",...A.headers}}),Xu=A=>(A.client??kA).post({responseType:"json",url:"/v1/git/delete",...A,headers:{"Content-Type":"application/json",...A.headers}}),$u=A=>(A.client??kA).delete({responseType:"json",url:"/v1/git/remotes",...A,headers:{"Content-Type":"application/json",...A.headers}}),Ad=A=>(A?.client??kA).get({responseType:"json",url:"/v1/git/remotes",...A}),ed=A=>(A.client??kA).post({responseType:"json",url:"/v1/git/remotes",...A,headers:{"Content-Type":"application/json",...A.headers}}),td=A=>(A?.client??kA).get({responseType:"json",url:"/v1/mcp/servers",...A}),od=A=>(A.client??kA).post({responseType:"json",url:"/v1/mcp/servers",...A,headers:{"Content-Type":"application/json",...A.headers}}),sd=A=>(A.client??kA).delete({responseType:"json",url:"/v1/mcp/servers/{name}",...A}),rd=A=>(A.client??kA).post({responseType:"json",url:"/v1/mcp/servers/{name}/start",...A}),nd=A=>(A.client??kA).post({responseType:"json",url:"/v1/mcp/servers/{name}/stop",...A}),id=A=>(A.client??kA).post({responseType:"json",url:"/v1/mcp/servers/{name}/auth",...A}),ad=A=>(A.client??kA).post({responseType:"json",url:"/v1/mcp/servers/{name}/auth/callback",...A,headers:{"Content-Type":"application/json",...A.headers}}),gd=A=>(A.client??kA).get({responseType:"json",url:"/v1/mcp/servers/{name}/auth/status",...A}),Qd=A=>(A.client??kA).get({responseType:"json",url:"/v1/sessions/{id}/messages",...A}),Bd=A=>(A.client??kA).post({responseType:"json",url:"/v1/sessions/{id}/messages",...A,headers:{"Content-Type":"application/json",...A.headers}}),ld=A=>(A.client??kA).get({responseType:"json",url:"/v1/provider-usage/{provider}",...A}),Ed=A=>(A.client??kA).post({responseType:"json",url:"/v1/sessions/{id}/approval",...A,headers:{"Content-Type":"application/json",...A.headers}}),cd=A=>(A.client??kA).get({responseType:"json",url:"/v1/sessions/{id}/approval/pending",...A}),Cd=A=>(A.client??kA).delete({responseType:"json",url:"/v1/sessions/{sessionId}",...A}),Id=A=>(A.client??kA).patch({responseType:"json",url:"/v1/sessions/{sessionId}",...A,headers:{"Content-Type":"application/json",...A.headers}}),ud=A=>(A.client??kA).get({responseType:"json",url:"/v1/sessions/{sessionId}/queue",...A}),dd=A=>(A.client??kA).delete({responseType:"json",url:"/v1/sessions/{sessionId}/queue/{messageId}",...A}),hd=A=>(A.client??kA).post({responseType:"json",url:"/v1/sessions/{sessionId}/messages/{messageId}/retry",...A}),fd=A=>(A.client??kA).get({responseType:"json",url:"/v1/sessions/{sessionId}/share",...A}),pd=A=>(A.client??kA).post({responseType:"json",url:"/v1/sessions/{sessionId}/share",...A}),md=A=>(A.client??kA).put({responseType:"json",url:"/v1/sessions/{sessionId}/share",...A}),wd=A=>(A.client??kA).get({responseType:"json",url:"/v1/sessions/{sessionId}/files",...A}),xd=A=>(A?.client??kA).get({responseType:"json",url:"/v1/sessions",...A}),Dd=A=>(A?.client??kA).post({responseType:"json",url:"/v1/sessions",...A,headers:{"Content-Type":"application/json",...A?.headers}}),Yg=A=>(A.client??kA).delete({responseType:"json",url:"/v1/sessions/{sessionId}/abort",...A}),yd=A=>(A?.client??kA).get({responseType:"json",url:"/v1/ottorouter/balance",...A}),Nd=A=>(A?.client??kA).get({responseType:"json",url:"/v1/ottorouter/wallet",...A}),kd=A=>(A?.client??kA).get({responseType:"json",url:"/v1/ottorouter/usdc-balance",...A}),Md=A=>(A.client??kA).post({responseType:"json",url:"/v1/ottorouter/topup/polar",...A,headers:{"Content-Type":"application/json",...A.headers}}),bd=A=>(A.client??kA).post({responseType:"json",url:"/v1/ottorouter/topup/select",...A,headers:{"Content-Type":"application/json",...A.headers}}),Fd=A=>(A.client??kA).post({responseType:"json",url:"/v1/ottorouter/topup/cancel",...A,headers:{"Content-Type":"application/json",...A.headers}}),Gd=A=>(A.client??kA).get({responseType:"json",url:"/v1/ottorouter/topup/pending",...A}),vd=A=>(A.client??kA).get({responseType:"json",url:"/v1/ottorouter/topup/polar/estimate",...A}),Sd=A=>(A.client??kA).get({responseType:"json",url:"/v1/ottorouter/topup/polar/status",...A}),Ud=A=>(A.client??kA).get({responseType:"json",url:"/v1/ottorouter/topup/razorpay/estimate",...A}),Rd=A=>(A.client??kA).post({responseType:"json",url:"/v1/ottorouter/topup/razorpay",...A,headers:{"Content-Type":"application/json",...A.headers}}),Kd=A=>(A.client??kA).post({responseType:"json",url:"/v1/ottorouter/topup/razorpay/verify",...A,headers:{"Content-Type":"application/json",...A.headers}}),Jd=A=>(A?.client??kA).get({responseType:"json",url:"/v1/config/skills",...A}),Ld=A=>(A.client??kA).put({responseType:"json",url:"/v1/config/skills",...A,headers:{"Content-Type":"application/json",...A.headers}}),jd=A=>(A?.client??kA).get({responseType:"json",url:"/v1/skills",...A}),Td=A=>(A.client??kA).get({responseType:"json",url:"/v1/skills/{name}",...A}),Od=A=>(A.client??kA).get({responseType:"json",url:"/v1/skills/{name}/files",...A}),qd=A=>(A.client??kA).get({responseType:"json",url:"/v1/skills/{name}/files/{filePath}",...A}),Yd=A=>(A?.client??kA).get({responseType:"json",url:"/v1/terminals",...A}),Hd=A=>(A.client??kA).post({responseType:"json",url:"/v1/terminals",...A,headers:{"Content-Type":"application/json",...A.headers}}),Pd=A=>(A.client??kA).delete({responseType:"json",url:"/v1/terminals/{id}",...A});function rl(){return ot({queryKey:["terminals"],queryFn:async()=>{const A=await Yd();if(A.error)throw new Error("Failed to fetch terminals");return A.data},refetchInterval:2e3})}function Wd(){const A=De();return qe({mutationFn:async e=>{const t=await Hd({body:e});if(t.error)throw new Error("Failed to create terminal");return t.data},onSuccess:async()=>{await A.invalidateQueries({queryKey:["terminals"]})}})}function zd(){const A=De();return qe({mutationFn:async e=>{if((await Pd({path:{id:e}})).error)throw new Error("Failed to kill terminal")},onSuccess:()=>{A.invalidateQueries({queryKey:["terminals"]})}})}const Vd=x.memo(function({terminals:e,onNewTerminal:t,onKillTerminal:s,isCreating:n}){const r=so(a=>a.activeTabId),i=so(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,Q=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:B=>{B.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(Rc,{className:"w-3 h-3 text-blue-500"}):o.jsx(wa,{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}),!Q&&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:B=>{B.stopPropagation(),s(a.id)},title:"Close terminal",children:o.jsx(nt,{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(Io,{className:"w-3.5 h-3.5"})})]})}),nl="/assets/JetBrainsMonoNerdFontMono-Bold-CU80ifuM.woff2",il="/assets/JetBrainsMonoNerdFontMono-BoldItalic-D8WKzlhG.woff2",al="/assets/JetBrainsMonoNerdFontMono-Italic-CO98v9JQ.woff2",gl="/assets/JetBrainsMonoNerdFontMono-Regular-QVq88ZfU.woff2";var Ja=(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))(Ja||{}),Ql=(A=>(A[A.RELEASE=0]="RELEASE",A[A.PRESS=1]="PRESS",A[A.REPEAT=2]="REPEAT",A))(Ql||{}),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||{}),Vo=(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))(Vo||{}),Hi=(A=>(A[A.NONE=0]="NONE",A[A.PARTIAL=1]="PARTIAL",A[A.FULL=2]="FULL",A))(Hi||{});const Hg=80;var pt=(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))(pt||{});class ir{constructor(e){this.exports=e.exports,this.memory=this.exports.memory}createKeyEncoder(){return new Zd(this.exports)}createTerminal(e=80,t=24,s){return new _d(this.exports,this.memory,e,t,s)}static async load(e){if(e)return ir.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+AZqIBIQ64CAgAAgAi8BkAciDA0BIAJBiAdqIQQgAigCjAchFQsgAkHkBmohDCACQcwGaiERIAJB4AVqIRYgCUEDdCEDIAQoAgAhBkEAIQdBACEEA0AgCCAERg0DIAYgBGogCCAHaq03AwAgByADaiEHIARBCGohBAwACwsgCyABKAIoNgIAIAEgCzYCKAsgACAMOwEEDAELIAIgEzYC9AggAiAGNgLwCCACQYgIaiACQfAIaiAWEPSAgIAAIAIoAqwGIA9qIQcCQCACKAKoBiIWQQN0IgRFDQAgByAGakH/ASAE/AsACyACKAKEBiAUaiEDIAIoArAGIRcCQCACKAKABiIYQQN0IgRFDQAgAyAGakH/ASAE/AsACyAGIA5qIgRBADYCDCAEIAIoApwGIhM2AgggBCACKQKUBkIgiTcCACACKAKIBiEZAkAgE0UNACAEQRBqQQAgE/wLAAsgBiAQaiIEQQA2AgwgBCACKALEBiITNgIIIAQgAikCvAZCIIk3AgACQCATRQ0AIARBEGpBACAT/AsACyACIAo2AvwIIAIgBjYC+AggAkGYB2ogAkH4CGogEUH8xMeAABD1gICAACALIA5BEGo2AjggCyAZIBRqNgI0IAsgGDYCMCALIAM2AiwgCyAXIA9qNgIoIAsgFjYCJCALIAc2AiAgCyAINgIcIAtBADYCGCALIBI2AhQgCyAGNgIQIAJBADoAlAcCQEHoAEUNACALQTxqIAJBiAhqQegA/AoAAAsgCyAQQRBqNgKkAQJAQfAARQ0AIAtBqAFqIAJBmAdqQfAA/AoAAAsgCyANOwGuAiALIAk7AawCIAsgDTsBqgIgCyAJOwGoAiALQaACaiAMQQhqKQIANwIAIAsgDCkCADcCmAIgCyACLQCUBzoAsAIgCyABKQMANwMAIAtCADcCCCALQQA7Aa4CIAEgASgCXCAVajYCXCABIAEpAwBCAXw3AwACQAJAAkAgASgCWCIERQ0AIAsgBDYCCAJAIAQoAgwiB0UNACALIAc2AgwgByALNgIIDAILIAtBADYCDCAFIAs2AgAMAQsCQAJAAkAgASgCVCIERQ0AIAsgBDYCDCAEKAIIIgdFDQEgCyAHNgIIIAcgCzYCDAwCCyABIAs2AlggASALNgJUIAtCADcCCAwDCyALQQA2AgggASALNgJUCyAEIAs2AggMAQsgBCALNgIMCyALQQE7Aa4CIABBADsBBCAAIAs2AgAgASABKAJoQQFqNgJoCyACQYAJaiSAgICAAAu7JgQSfwF+H38BfiOAgICAAEHwBWsiAiSAgICAACAAKAJkIgMhBAJAAkAgAS0ADg0AIAJBDGogASAAQYgBaiABLQACGy8BACABQQRqIABBigFqIAEtAAYbLwEAEPaAgIAAIAIvARAiBQ0BIAIoAgwhBAsgACAENgJkAkACQCABLQACRQ0AAkACQAJAAkBBAiABLwEAIgYgAC8BiAEiB0kgBiAHRhsOAwEABAELIAJBFGogAEH4h8KAAEGM1MeAABCzgYCAACAGQQN0IQgDQCACQThqIAJBFGoQtIGAgAAgAi0AQEUNAiACKAI4IglBPGohCiAJQagBaiELIAlBLGohDCAJKAIYIAkoAhBqIQ0gCS8BrgIhDkEAIQ8CQANAIA8gDkYNASANIA9BA3RqIhAoAgAgCSgCEGoiESAIaiESIAAvAYgBIAZrIRMCQCAQKQMAIhRCgICAgMAAg1ANACARIAhqIRUgEiEEIBMhFgNAAkACQCAWRQ0AIAQpAwBCA4NCAVINASACIAkoAjggCSgCECIFajYCRCACQcgAaiACQcQAaiAVIAVrEKGBgIAAIAIoAkghFyAMIAUgBSACKAJMIhgoAgBqIBgoAgQQooGAgAAgAkHEAGogFxCjgYCAACAEIAQpAwBCfIM3AwAMAQsCQAJAIBMgCS8BrAIiBEYNACAEQQFqIRYgECgCACAJKAIQaiEEAkADQCAWQX9qIhZFDQEgBCkDACEUIARBCGohBCAUQgODQgFRDQMMAAsLIBAgECkDAEL/////v3+DIhQ3AwAMBAsgECAQKQMAQv////+/f4MiFDcDAAwDCyAQKQMAIRQMAgsgFUEIaiEVIARBCGohBCAWQX9qIRYMAAsLAkAgFEKAgICAgAKDUA0AIBEgCGohFSASIQQgEyEWA0ACQAJAIBZFDQAgBC0ABUEgcUUNASACIAkoAqQBIAkoAhAiBWo2AlQgAkHYAGogAkHUAGogFSAFaxCkgYCAACACLQBgRQ0BIAsgBSACKAJcLwEAEKWBgIAAIAJB1ABqIAIoAlgQpoGAgAAgBCAEKQMAQv///////3eDNwMADAELAkACQCATIAkvAawCIgRGDQAgBEEBaiEWIBAoAgAgCSgCEGohBAJAA0AgFkF/aiIWRQ0BIAQtAAUhFSAEQQhqIQQgFUEgcQ0DDAALCyAQIBApAwBC//////99gyIUNwMADAQLIBAgECkDAEL//////32DIhQ3AwAMAwsgECkDACEUDAILIARBCGohBCAVQQhqIRUgFkF/aiEWDAALCyASIRYgEyEEAkAgFEKAgICAgAGDUA0AA0ACQAJAAkACQAJAIARFDQAgFikDAEIaiKciFUH//wNxDQEMBAsgEyAJLwGsAiIERw0BDAILIAogCSgCECAVEJOBgIAADAILIARBAWohFiAQKAIAIAkoAhBqIQQDQCAWQX9qIhZFDQEgBCgBAiEVIARBCGohBCAVQYD4/x9xDQQMAAsLIBAgECkDAEL//////36DNwMADAILIBZBCGohFiAEQX9qIQQMAAsLAkAgE0EDdCIERQ0AIBJBACAE/AsACyAPQQFqIQ8MAAsLIAkgBjsBrAIMAAsLIAJB5ABqIABB+IfCgABBjNTHgAAQs4GAgAAgAEEsaiEZIABBGGohGiACQdQDaiEbIAJBvANqIQggAkG4AmpB8ABqIRwgAkGUA2ohHSACQYADaiEeIAJB7AJqIR8gAkG4AmpBGGohEQNAIAJBiAFqIAJB5ABqELSBgIAAIAItAJABRQ0CIAAgBzsBiAEgAigCiAEhEyACQQE6AKYBIAIgBjsBpAEgAkGoAWogE0GYAmogAkGkAWoQ7YCAgAAgAi8BvAEiBQ0EIAAgAi8BuAEiIDsBiAECQAJAIBMvAagCICBJDQAgEyAgOwGsAkEAIQUMAQsgE0EQaiEMIAIvAboBIRIgAigCtAEhISACKAKwASEiIAIoAqwBISMgAigCqAEhJEEAIQsCQCATKAIIIiVFDQAgJS8BqgIiBSAlLwGuAiIETQ0AICVBEGohFSAlKAIYICUoAhBqIARBA3RqIRYgEygCGCATKAIQaiEJQQAhCyAFIARrQf//A3EiBCATLwGuAiIFIAQgBUkbIgUhBANAAkAgBA0AIAUhCwwCCyAlICUvAa4CQQFqOwGuAgJAIBUgDCAWIAlBACAlLwGsAhCggYCAAEH//wNxDQAgBEF/aiEEIBZBCGohFiAJQQhqIQkgC0EBaiELDAELCyAlICUvAa4CQX9qOwGuAgtBAEIBQSAgI0EcbiImQQR0QX9qZ2uthqcgI0EcSRshJyASICBsQf//A3FBA3QiKCASQQN0IhdqIilBB3IhKiAgQQN0IQogIkEEdiErA0ACQAJAIAsiD0H//wNxIhAgEy8BrgJPDQAgAkHAAWogGhDmgICAAAJAIAIvAcQBIgUNACACKALAASEEIAJByAFqICQQ7oCAgAAgAkHIAWpBEGoiFigCACEJIAJB4AFqICIQ74CAgAAgAigC4AEhFSACQfABaiArEPCAgIAAIAIoAvABIQUgAkGAAmogIRDxgICAACACKAKAAiENIAJBkAJqICYQ8oCAgAAgAkGQAmpBEGoiLCgCACEtIAJBqAJqICcQ84CAgAAgESACKQPIATcCACARQQhqIAJByAFqQQhqKQMANwIAIBFBEGogFikDADcCACAfIAIpA+ABNwIAIB9BCGogAkHgAWpBCGopAwA3AgAgAiApNgLMAiACICg2AsgCIAIgFzYCxAIgAiAXNgLAAiACQQA2ArwCIAIgKiAJakF4cSIYNgLoAiACIBUgGGpBA2pBfHEiCzYC/AIgAiACKAKoAiAtIA0gBSALakEHakF4cSIOakEDakF8cSIuakEDakF8cSINakH//wNqQYCAfHEiLTYCuAIgHkEIaiACQfABakEIaikDADcCACAeIAIpA/ABNwIAIB0gAikDgAI3AgAgHUEIaiACQYACakEIaikDADcCACAcIAIpA6gCNwIAIBxBCGogAkGoAmpBCGopAwA3AgAgCCACKQOQAjcCACAIQQhqIAJBkAJqQQhqKQMANwIAIAhBEGogLCkDADcCACACIA42ApADIAIgDTYCpAMgAiAuNgK4AyACIBI7AeYDIAIgIDsB5AMgAiAhNgLgAyACICI2AtwDIAIgIzYC2AMgAiAkNgLUAyACIBkpAgA3A+gDAkACQAJAIC1BgYAkTw0AIAJB8ANqIBkQ6YCAgAAgAi8B9AMiBQ0CQYCAJCEvIAJB8ANqIRYMAQsgAkH4A2ogAkHoA2ogLRDrgICAACACLwGABCIFDQEgAkH4A2ohFiACKAL8AyEvCyAWKAIAIRVBACEWIBchCQNAIBcgFkYNBCAVIBZqIAmtNwMAIBZBCGohFiAJIApqIQkMAAsLIAQgACgCKDYCACAAIAQ2AigLIBMoAgghBANAAkACQCAERQ0AIAQgJUYNAAJAIAQoAggiFkUNACAWIAQoAgwiCTYCDAwCCyAAIAQoAgwiCTYCVAwBCyAAIAc7AYgBDAoLAkACQCAJRQ0AIAkgBCgCCDYCCAwBCyAAIAQoAgg2AlgLIAAgBBCwgYCAACAWIQQMAAsLAkACQCATKAIIIhZFDQAgFiATKAIMIgQ2AgwMAQsgACATKAIMIgQ2AlQLIBMoAgghFgJAAkAgBEUNACAEIBY2AggMAQsgACAWNgJYCyAAIBMQsIGAgABBACEFDAILIAIgKTYC5AUgAiAVNgLgBSACQfgEaiACQeAFaiAREPSAgIAAIAIoApwDIA5qIQkCQCACKAKYAyIwQQN0IhZFDQAgCSAVakH/ASAW/AsACyACKAL0AiAYaiEFIAIoAqADITECQCACKALwAiIyQQN0IhZFDQAgBSAVakH/ASAW/AsACyAVIAtqIhZBADYCDCAWIAIoAowDIiw2AgggFiACKQKEA0IgiTcCACACKAL4AiEzAkAgLEUNACAWQRBqQQAgLPwLAAsgFSANaiIWQQA2AgwgFiACKAK0AyIsNgIIIBYgAikCrANCIIk3AgACQCAsRQ0AIBZBEGpBACAs/AsACyACIC42AuwFIAIgFTYC6AUgAkGIBGogAkHoBWogCEH8xMeAABD1gICAACAEIAtBEGo2AjggBCAzIBhqNgI0IAQgMjYCMCAEIAU2AiwgBCAxIA5qNgIoIAQgMDYCJCAEIAk2AiAgBCAXNgIcIARBADYCGCAEIC02AhQgBCAVNgIQIAJBADoAhAQCQEHoAEUNACAEQTxqIAJB+ARqQegA/AoAAAsgBCANQRBqNgKkAQJAQfAARQ0AIARBqAFqIAJBiARqQfAA/AoAAAsgBCASOwGuAiAEICA7AawCIAQgEjsBqgIgBCAgOwGoAiAEQaACaiAbQQhqKQIANwIAIAQgGykCADcCmAIgBCACLQCEBDoAsAIgBCAAKQMANwMAIARCADcCCCAEQQA7Aa4CIAAgACkDAEIBfDcDACAAIAAoAlwgL2o2AlwgEygCGCATKAIQaiAQQQN0aiEWIBIgEy8BrgIgD2tB//8DcSIJIBIgCUkbIglBAWohFSAJIA9qIQsgBEEQaiEYIAQoAhggBCgCEGohCQJAA0AgFUF/aiIVRQ0BIAQgBC8BrgJBAWo7Aa4CIBggDCAJIBZBACAELwGsAhCggYCAACEFIAlBCGohCSAWQQhqIRYgBUH//wNxRQ0ACyAEIAQvAa4CQX9qOwGuAiATKAIIIQQDQAJAAkAgBEUNACAEICVGDQACQCAEKAIIIhZFDQAgFiAEKAIMIgk2AgwMAgsgACAEKAIMIgk2AlQMAQsgACAHOwGIAQwECwJAAkAgCUUNACAJIAQoAgg2AggMAQsgACAEKAIINgJYCyAAIAQQsIGAgAAgFiEEDAALCyAEIBM2AgwCQAJAIBMoAggiFkUNACAEIBY2AgggFiAENgIMDAELIARBADYCCCAAIAQ2AlQLIBMgBDYCCCAAKAJwIRYgACgCbCEJIAAoAnRFDQADQCAWRQ0BAkAgCSgCACIVKAIAIBNHDQAgFS8BBCIFIBBJDQAgBSALQf//A3FPDQAgFSAENgIAIBUgBSAPazsBBAsgFkF/aiEWIAlBBGohCQwACwsLIAVB//8DcUUNAAwECwsgACgCdEUNACAGQX9qIRUgACgCcCEEIAAoAmwhFgNAIARFDQECQCAWKAIAIgkvAQYgBkkNACAJIBU7AQYLIBZBBGohFiAEQX9qIQQMAAsLIAAgBjsBiAELQQAhBSABLQAGRQ0BAkACQAJAQQIgAS8BBCIVIAAvAYoBIgRJIBUgBEYbDgMBAAQBCyACQcgBaiAAQQIQtYGAgAAgAkH4BGpBCGogAkHIAWpBCGooAgA2AgAgAkEAOgCAAiACQQA6AKgCIAJBAToAhAUgAkEAOgCUBSACQQA6AJgFIAIgAikCyAE3A/gEIAJBqAFqIAJB+ARqELSBgIAAAkAgAi0AsAFFDQACQEEkRQ0AIAJBuAJqIAJB+ARqQST8CgAACyACQQE6AOQCIAIgAikDqAEiFDcC3AIgAiAUQjCIp0F/ajsB6AIgAkG4AmohFgwCCwJAQSRFDQAgAkG4AmogAkH4BGpBJPwKAAALIAJB4gJqQgA3AQAgAkIANwLcAiACQbgCaiEWDAELAkAgAS0ADEUNACABLwEKIARBf2pB//8DcU8NACAAIBU7AYoBIBUgBGtB//8DcUEBaiEEA0AgBEF/aiIERQ0EIAJBlAFqIAAQsYGAgAAgAi8BmAEiFkUNAAsgACADNgJkIBYhBQwDCyAAIBU7AYoBIABB1ABqIRZBACEJAkACQANAIBYoAgAiBEUNASAEQQxqIRYgCSAELwGuAmoiCSAVSQ0ADAILCyAVIAlrQQFqIQQDQCAEQX9qIgRFDQEgAkGcAWogABCxgYCAACACLwGgASIFDQMMAAsLQQAhBSAALQCNAUECRw0CIAAgACgCfBC2gYCAAEEBcUUNAkEAIQUgAEEAOgCNAQwCCyAEIBVrIQQCQEE0RQ0AIAJBiARqIBZBNPwKAAALIARB//8DcSIKQQEgCkEBSxshE0EAIRgCQANAIAJBkAJqIAJBiARqELeBgIAAIAItAJwCRQ0BIAIoApACIgUoAhggBSgCECIEaiACLwGUAiIXQQN0aigCACAEaiEEIAUvAawCQQFqIRYgBS8BrgIhDAJAA0AgFkF/aiIWRQ0BIAQpAwAiFEL8//8DgyE0IARBCGoiCSEEIBRCAoNCAFINACAJIQQgNFANAAwDCwsCQCAAKAJ0RQ0AIAAoAnAhBCAAKAJsIRYDQCAERQ0BAkAgFigCACIJKAIAIAVHDQAgCS8BBCAXRg0ECyAEQX9qIQQgFkEEaiEWDAALCyAFIAxBf2oiBDsBrgICQCAEQf//A3ENACAAIAUQuIGAgAALIBhBAWoiGEH//wNxIApJDQALIBMhGAsgACAVOwGKASAAIAAoAmggGEH//wNxazYCaEEAIQUMAQsgACADNgJkCyACQfAFaiSAgICAACAFC6ICAQF/I4CAgIAAQdAAayIEJICAgIAAIARBDGogASACELmBgIAAAkACQAJAAkAgAy0ADEUNACAEQRxqIAEgAxC5gYCAACAEQRxqIQEMAQsgBEEsaiABIAItAAgQtYGAgAAgBEEsaiEBIAQtADhFDQELIARBzABqIAFBCGooAAA2AAAgACAEKQIMNwIAIABBAToADCAAQQI6ABwgAEEBOgAgIABBCGogBEEMakEIaigCADYCACAEIAEpAAA3AEQgACAEKQBBNwANIABBFGogBEHIAGopAAA3AAAgBEECOgBAIARBAToAPAwBCyAAQgA3AgAgAEEBOgAgIABBGGpCADcCACAAQRBqQgA3AgAgAEEIakIANwIACyAEQdAAaiSAgICAAAuWCAEEfyOAgICAAEEgayICJICAgIAAAkACQAJAAkACQAJAIAEtACBBAXENAAJAAkACQAJAIAEtAAxFDQAgAS8BBCEDIAEoAgAhBCABKAIQIQUgAS0AHEEDcQ4DAgEDAgsgAkEIakEANgIAIAJCADcDAAwHCyABQgA3AgAgAUEIakIANwIAIAJBAToACCACIAQ2AgAgAiADQX9qOwEGIAIgAyADIAUgAyAFSRtrOwEEDAYLAkAgBCgCCCIFRQ0AIAEgBTYCACABQQE6AAwgBS8BrgIhBSABQQA6AAggAUEAOwEGIAEgBUF/ajsBBAwFCyABQgA3AgAgAUEIakIANwIADAQLAkAgBSAERg0AAkAgBCgCCCIFRQ0AIAEgBTYCACABQQE6AAwgBS8BrgIhBSABQQA6AAggAUEAOwEGIAEgBUF/ajsBBAwECyABQgA3AgAgAUEIakIANwIADAMLIAEvARQhBSABQgA3AgAgAUEIakIANwIAIAMgBUH//wNxSQ0BIAIgBTsBBCACIAQ2AgAgAkEBOgAIIAIgA0EBajsBBgwECwJAAkACQAJAAkAgAS0ADEUNACABLwEEIQQgASgCACEDIAEoAhAhBSABLQAcQQNxDgMCAQMCCyACQRhqQQA2AgAgAkIANwMQIAJBEGohAQwICyACIAM2AhAgAy8BrgIhAyABQQhqQgA3AgAgAUIANwIAIAJBAToAGCACIAQ7ARQgAiAEIAMgBGtB//8DcSIBIAUgASAFSRtqOwEWIAJBEGohAQwHCwJAIAMoAgwiBUUNACABQQA6AAggAUEANgIEIAEgBTYCACABQQE6AAwMAgsgAUIANwIAIAFBCGpCADcCAAwBCwJAAkAgBSADRg0AAkAgAygCDCIFRQ0AIAFBADoACCABQQA2AgQgASAFNgIAIAFBAToADAwCCyABQgA3AgAgAUEIakIANwIADAELIAEvARQhBSABQgA3AgAgAUEIakIANwIAAkAgBEH//wNxIAVB//8DcUsNACACIAQ7ARQgAiADNgIQIAJBAToAGCACIAVBAWo7ARYgAkEQaiEBDAcLIAJBEGpBCGpBADYCACACQgA3AxAgAkEQaiEBDAYLIAIgBDsBFCACQQE6ABggAiADNgIQIAIgAy8BrgI7ARYgAkEQaiEBDAULIAIgBDsBFCACQQE6ABggAiADNgIQIAIgAy8BrgI7ARYgAkEQaiEBDAQLIAJBCGpBADYCACACQgA3AwAMAgsgAkEAOwEEIAIgBDYCACACQQE6AAggAiADQQFqOwEGDAELIAJBADsBBCACIAQ2AgAgAkEBOgAIIAIgA0EBajsBBgsgAiEBCyAAIAEpAgA3AgAgAEEIaiABQQhqKAIANgIAIAJBIGokgICAgAAL+wIBAX8jgICAgABB4ABrIgMkgICAgAACQAJAAkACQCACQQNxDgQBAAECAQsgA0EIaiABQQEQu4GAgAAgAyADKAIQNgIcIAMgAykCCDcCFCADQSBqIANBFGogAS8BigFBf2pB//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//wNxEN+BgIAAIAMtABwNAiADQSBqQQhqIANBDGpBCGooAgA2AgAgAyADKQIMNwMgIANBIGohBQwBCyAAKAK8ASEGAkAgBCAFSw0AIAYhBQwDCyADQTRqIAYgAiAFa0H//wNxEM+BgIAAIAMtAEQNASADQcgAakEIaiADQTRqQQhqKAIANgIAIAMgAykCNDcDSCADQcgAaiEFCyAFQQE6AAwMAQtBnM3HgAAhBQsgBSgCCCEHIAUvAQQhBCAFKAIAIQUgACACOwHKASAAIAE7AcgBAkACQAJAAkACQCAFIAYoAgBHDQAgBi8BBEH//wNxIARHDQAgBi8BBiABQf//A3FGDQELIAAoAsABIgYgBikDAEKAgICAgMAAhDcDACAFKAIYIAUoAhBqIARBA3RqIgYgBikDAEKAgICAgMAAhDcDACAAKAK8ASIGKAIAIAVGDQAgAEGYAWohAiAALwHMAQ0BQbynyIAAIQhBoKfIgAAhCQwCCyAGIAc2AgggBiABOwEGIAYgBDsBBCAGIAU2AgAMAgsgA0H0AGohCCACKQIAIQogAkIANwMAIANB2ABqQRhqIAJBGGoiBigCADYCACADQdgAakEQaiACQRBqIgkpAgA3AwAgA0HYAGpBCGogAkEIaiILKQIANwMAIAtCADcDACAJQgA3AwAgBkEANgIAIANBAToAdCADIAo3A1ggABCSgYCAABogACgCvAEhBiADQdgAaiEJCwJAIAAoArgBRQ0AIAYoAgAiBkGoAWogBigCECAALwHOARClgYCAACAAKAK8ASEGCyAGIAc2AgggBiABOwEGIAYgBDsBBCAGIAU2AgACQCAILQAARQ0AIAIgCSkCADcCACACQRhqIgYgCUEYaigCADYCACACQRBqIgUgCUEQaikCADcCACACQQhqIgEgCUEIaikCADcCACAAEJKBgIAAIgRB//8DcUUNACADIAQ7AXwgA0H8AGoQ4IGAgAAgBkEANgIAIAVCADcDACABQgA3AwAgAkIANwMAIABBADsBzAELIAAoArgBIgZFDQAgAEEANgK4ASAAQQA7Ac4BAkAgACAGKAIMIAYoAhBBACAGKAIAIAYtAAhBAXEiBRtBACAGKAIEIAUbENOBgIAAIgVB//8DcUUNACADIAU7AX4gA0H+AGoQ4YGAgAALIAYgAEGQAWoiBRCdgYCAACAFIAYQnoGAgAALIAAoArwBIgYoAgAiBSgCGCAFKAIQIgVqIAYvAQRBA3RqIgIoAgAhASAGLwEGIQYgACACNgLAASAAIAEgBWogBkEDdGo2AsQBIANBgAFqJICAgIAAC9IBAQJ/AkAgAiABLwEEIgNLDQAgAEEAOgAQIABBADoACCAAIAMgAms7AQQgACABKAIANgIAIAAgAS8BBjsBBg8LIAIgA2shAiABKAIAIQQCQANAIAQoAggiA0UNAQJAIAIgAy8BrgIiBEsNACAAIAM2AgAgAEEAOgAQIABBADoACCAAIAQgAms7AQQgACABLwEGOwEGDwsgAiAEayECIAMhBAwACwsgAEEAOwEEIAAgBDYCACAAQQE6ABAgACACNgIMIABBADoACCAAIAEvAQY7AQYLyAIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAEO2BgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEE9EKiAgIAAIAEvAbAQDQEgAUGAEGpBEGogAUGYEGpBEGopAgA3AwAgAUGAEGpBCGoiAyABQZgQakEIaikCADcDACABIAEpApgQNwOAEAJAIAMgABDtgYCAAEH//wNxRQ0AIAFBgBBqEKmAgIAADAILIAFBtBBqIAFBgBBqEKqAgIAAIAFBgBBqEKmAgIAAIAEvAbwQDQEgASgCuBAhAyABKAK0ECEACyAAIAMQgICAgAAgAkH//wNxRQ0AQaDpyYAAIAAgAxC2gICAAAsgAUHAEGokgICAgAALyQIBA38jgICAgABBwBBrIgEkgICAgAAgAUKAEDcCoBAgAUGwv8eAADYCmBAgASABNgKcEAJAAkACQCABQZgQaiAAEO6BgIAAIgJB//8DcQ0AIAEoApwQIQAgASgCpBAhAwwBCyABQZgQakGg6cmAAEHBABCogICAACABLwGwEA0BIAFBgBBqQRBqIAFBmBBqQRBqKQIANwMAIAFBgBBqQQhqIgMgAUGYEGpBCGopAgA3AwAgASABKQKYEDcDgBACQCADIAAQ7oGAgABB//8DcUUNACABQYAQahCpgICAAAwCCyABQbQQaiABQYAQahCqgICAACABQYAQahCpgICAACABLwG8EA0BIAEoArgQIQMgASgCtBAhAAsgACADEICAgIAAIAJB//8DcUUNAEGg6cmAACAAIAMQtoCAgAALIAFBwBBqJICAgIAACw0AIAAoAggQ3YGAgAALjAIBBH8CQAJAIAAtAAFBAXFFDQAgAC8B9hFBAWohAyAALwH6EUEBaiEEIAAvAfQRIQUgAC8B+BEhBgwBCyAALwHwESEDIAAvAfIRIQRBACEFQQAhBgsgACgCGEEAOgDRAUEAIARB//8DcSIEIAYgAkEBIAJBAUsbaiICIAQgAkkbIgJBf2oiBCAEIAJLGyECAkACQEEAIANB//8DcSIDIAUgAUEBIAFBAUsbaiIBIAMgAUkbIgFBf2oiAyADIAFLGyIBIAAoAhgiAC8BygFHDQAgAkH//wNxIAAvAcgBIgFNDQEgACACIAFrEOSBgIAADwsgACACIAEQ3oGAgAAPCyAAIAEgAmsQ5YGAgAALPQEBfyAAIAAoAsQBIAFB//8DcUEDdGo2AsQBIAAoArwBIgIgAi8BBiABajsBBiAAIAAvAcgBIAFqOwHIAQs9AQF/IAAgACgCxAEgAUH//wNxQQN0azYCxAEgACgCvAEiAiACLwEGIAFrOwEGIAAgAC8ByAEgAWs7AcgBC40CAgV/AX4jgICAgABBMGsiBCSAgICAACAEIAAgASACELOBgIAAIANBAXEhBQJAA0AgBEEkaiAEELSBgIAAIAQtACxFDQEgBCgCKCICQRB2IAJB//8DcSICayEBIAQoAiQiAygCGCADKAIQaiACQQN0aiECIANBEGohBgNAIAFFDQEgAigCACIDIAYoAgBqIQcgAC8BiAEhCAJAAkAgBUUNACAAIAYgAiAHIAgQ54GAgAAgAiADNgIAIAIpAwAhCQwBCyAAIAYgAiAHIAgQ6IGAgAAgAiADNgIAIAOtIQkLIAIgCUKAgICAgMAAhDcDACACQQhqIQIgAUF/aiEBDAALCwsgBEEwaiSAgICAAAu+AQEHfyADQQhqIQVBACEGAkADQCAGIARPDQEgBSAGQQN0IgdqIQggAyAHaiEHIAYhCQNAAkAgBy0ABUEQcQ0AIAQgCUEBaiIGIAQgBksbIQogCSEGAkADQAJAIAZBAWoiBiAESQ0AIAohBgwCCyAILQAFIQsgCEEIaiEIIAtBEHFFDQALCyAAIAEgAiAHIAYgCWsQ6IGAgAAMAgsgCEEIaiEIIAdBCGohByAEIAlBAWoiCUcNAAsgBCEGDAALCwv3BQMBfwF+BH8jgICAgABBEGsiBSSAgICAAAJAIAIpAwAiBkKAgICAwACDUA0AIAMhByAEIQgDQAJAAkAgCEUNACAHKQMAQgODQgFSDQEgASAHEOqBgIAADAELAkACQCAEIAAvAYgBRg0AIAEvAZwCQQFqIQggAigCACABKAIAaiEHAkADQCAIQX9qIghFDQEgBykDACEGIAdBCGohByAGQgODQgFRDQMMAAsLIAIgAikDAEL/////v3+DIgY3AwAMBAsgAiACKQMAQv////+/f4MiBjcDAAwDCyACKQMAIQYMAgsgB0EIaiEHIAhBf2ohCAwACwsCQCAGQoCAgICAAoNQDQAgAyEHIAQhCANAAkACQCAIRQ0AIActAAVBIHFFDQEgASAHEOuBgIAADAELAkACQCAEIAAvAYgBRg0AIAEvAZwCQQFqIQggAigCACABKAIAaiEHAkADQCAIQX9qIghFDQEgBy0ABSEJIAdBCGohByAJQSBxDQMMAAsLIAIgAikDAEL//////32DIgY3AwAMBAsgAiACKQMAQv//////fYMiBjcDAAwDCyACKQMAIQYMAgsgB0EIaiEHIAhBf2ohCAwACwsCQCAGQoCAgICAAYNQDQAgAUEsaiEKIAMhCCAEIQcDQAJAAkACQAJAAkAgB0UNACAIKQMAQhqIpyIJQf//A3ENAQwECyAEIAAvAYgBRw0BDAILIAogASgCACAJEJOBgIAADAILIAEvAZwCQQFqIQggAigCACABKAIAaiEHA0AgCEF/aiIIRQ0BIAcoAQIhASAHQQhqIQcgAUGA+P8fcQ0EDAALCyACIAIpAwBC//////9+gzcDAAwCCyAIQQhqIQggB0F/aiEHDAALCwJAAkAgAC8BzAENAEIAIQYMAQsgBSAAQZgBahDsgYCAACAFKQMAQgAgBS0ACBshBgsgBEEDdCEHAkADQCAHRQ0BIAMgBjcDACAHQXhqIQcgA0EIaiEDDAALCyAFQRBqJICAgIAAC/oGAwh/AX4BfyOAgICAAEHAAGsiAiSAgICAACAAIAAvAcoBIAFqOwHKASACQQRqIAAoArwBIgMgAUH//wNxEM+BgIAAAkACQCACLQAURQ0AQQAhBAwBCyACKAIMIQQgAi8BCiEFIAIvAQghBiACKAIEIQELAkACQAJAAkACQCADKAIAIAFHDQAgAy8BBEH//wNxIAZB//8DcUcNACADLwEGIAVB//8DcUYNAQsgACgCwAEiAyADKQMAQoCAgICAwACENwMAIAEoAhggASgCEGogBkH//wNxQQN0aiIDIAMpAwBCgICAgIDAAIQ3AwAgACgCvAEiAygCACABRg0AIABBmAFqIQcgAC8BzAENAUG8p8iAACEIQaCnyIAAIQkMAgsgAyAENgIIIAMgBTsBBiADIAY7AQQgAyABNgIADAILIAJBNGohCCAHKQIAIQogB0IANwMAIAJBGGpBGGogB0EYaiIDKAIANgIAIAJBGGpBEGogB0EQaiIJKQIANwMAIAJBGGpBCGogB0EIaiILKQIANwMAIAtCADcDACAJQgA3AwAgA0EANgIAIAJBAToANCACIAo3AxggABCSgYCAABogACgCvAEhAyACQRhqIQkLAkAgACgCuAFFDQAgAygCACIDQagBaiADKAIQIAAvAc4BEKWBgIAAIAAoArwBIQMLIAMgBDYCCCADIAU7AQYgAyAGOwEEIAMgATYCAAJAIAgtAABFDQAgByAJKQIANwIAIAdBGGoiAyAJQRhqKAIANgIAIAdBEGoiBCAJQRBqKQIANwIAIAdBCGoiCCAJQQhqKQIANwIAIAAQkoGAgAAiCUH//wNxRQ0AIAIgCTsBPCACQTxqEOCBgIAAIANBADYCACAEQgA3AwAgCEIANwMAIAdCADcDACAAQQA7AcwBCyAAKAK4ASIDRQ0AIABBADYCuAEgAEEAOwHOAQJAIAAgAygCDCADKAIQQQAgAygCACADLQAIQQFxIgcbQQAgAygCBCAHGxDTgYCAACIHQf//A3FFDQAgAiAHOwE+IAJBPmoQ4YGAgAALIAMgAEGQAWoiBxCdgYCAACAHIAMQnoGAgAALIAEoAhggASgCECIDaiAGQf//A3FBA3RqIgEoAgAhBiAAIAE2AsABIAAgBiADaiAFQf//A3FBA3RqNgLEASACQcAAaiSAgICAAAuBAQEDfyOAgICAAEEQayICJICAgIAAIAIgACgCKCAAKAIAIgNqNgIAIAJBBGogAiABIANrEKGBgIAAIAIoAgQhBCAAQRxqIAMgAyACKAIIIgAoAgBqIAAoAgQQooGAgAAgAiAEEKOBgIAAIAEgASkDAEJ8gzcDACACQRBqJICAgIAAC4YBAQJ/I4CAgIAAQRBrIgIkgICAgAAgAiAAKAKUASAAKAIAIgNqNgIAIAJBBGogAiABIANrEKSBgIAAAkAgAi0ADEUNACAAQZgBaiADIAIoAggvAQAQpYGAgAAgAiACKAIEEKaBgIAAIAEgASkDAEL///////93gzcDAAsgAkEQaiSAgICAAAuNAQEBfyABLwEIIAFBCmotAABBEHRyIQICQAJAAkAgAS0ADA4DAAECAAsgAEIANwMAIABBCGpCADcDAA8LIABBAToACCAAIAApAwBCgPj/H4MgAkECdEH8B3FBAnKthDcDAA8LIABBAToACCAAIAJBgID8B3FBEHatQhKGIAJBAnRB/P8PcUEDcq2ENwMACzEBAX8CQCAAQeTsyYAAQTsQmoCAgAAiAkH//wNxDQAgACABLwEAEKWEgIAAIQILIAILMQEBfwJAIABBn+3JgABBPxCagICAACICQf//A3ENACAAIAEvAQAQpYSAgAAhAgsgAgu8CQMJfwF+AX8jgICAgABBwABrIgEkgICAgAAgAUEEaiAAKAK8ASICQQEQz4GAgAACQAJAIAEtABRFDQBBACEDDAELIAEoAgwhAyABLwEKIQQgAS8BCCEFIAEoAgQhBgsCQAJAAkACQAJAIAIoAgAgBkcNACACLwEEQf//A3EgBUH//wNxRw0AIAIvAQYgBEH//wNxRg0BCyAAKALAASICIAIpAwBCgICAgIDAAIQ3AwAgBigCGCAGKAIQaiAFQf//A3FBA3RqIgIgAikDAEKAgICAgMAAhDcDACAAKAK8ASICKAIAIAZGDQAgAEGYAWohByAALwHMAQ0BQbynyIAAIQhBoKfIgAAhCQwCCyACIAM2AgggAiAEOwEGIAIgBTsBBCACIAY2AgAMAgsgAUE0aiEIIAcpAgAhCiAHQgA3AwAgAUEYakEYaiAHQRhqIgIoAgA2AgAgAUEYakEQaiAHQRBqIgkpAgA3AwAgAUEYakEIaiAHQQhqIgspAgA3AwAgC0IANwMAIAlCADcDACACQQA2AgAgAUEBOgA0IAEgCjcDGCAAEJKBgIAAGiAAKAK8ASECIAFBGGohCQsCQCAAKAK4AUUNACACKAIAIgJBqAFqIAIoAhAgAC8BzgEQpYGAgAAgACgCvAEhAgsgAiADNgIIIAIgBDsBBiACIAU7AQQgAiAGNgIAAkAgCC0AAEUNACAHIAkpAgA3AgAgB0EYaiICIAlBGGooAgA2AgAgB0EQaiIGIAlBEGopAgA3AgAgB0EIaiIFIAlBCGopAgA3AgAgABCSgYCAACIEQf//A3FFDQAgASAEOwE8IAFBPGoQ4IGAgAAgAkEANgIAIAZCADcDACAFQgA3AwAgB0IANwMAIABBADsBzAELIAAoArgBIgJFDQAgAEEANgK4ASAAQQA7Ac4BAkAgACACKAIMIAIoAhBBACACKAIAIAItAAhBAXEiBhtBACACKAIEIAYbENOBgIAAIgZB//8DcUUNACABIAY7AT4gAUE+ahDhgYCAAAsgAiAAQZABaiIGEJ2BgIAAIAYgAhCegYCAAAsgAEHYAGohBgJAAkADQCAGKAIAIgIgACgCvAEiBigCAEYNASACKAIYIAIoAhBqIgYgAi8BrgJBA3RBeGoiB2opAwAhCiACKAIIIgUoAhAhBCAFKAIYIQMCQCAHRQ0AIAZBCGogBiAH/AoAAAsgBiAKNwMAIAJBEGogBUEQaiAGIAMgBGogBS8BrgJBf2pB//8DcUEDdGpBACACLwGsAhCggYCAACIGQf//A3ENAiACQQhqIQYgAkEBOgCwAgwACwsgAigCGCACKAIQaiIHIAYvAQQiBUEDdGoiBiACLwGuAiAFQX9zakEDdCIFaikDACEKAkAgBUUNACAGQQhqIAYgBfwKAAALIAYgCjcDACAAIAJBEGogByAAKAK8AS8BBEEDdGoiBiAGKAIAIAIoAhBqIAIvAawCEOiBgIAAIAJBAToAsAIgACgCvAEiAigCACIGKAIYIAYoAhAiBmogAi8BBEEDdGoiBSgCACEHIAIvAQYhAiAAIAU2AsABIAAgByAGaiACQQN0ajYCxAFBACEGCyABQcAAaiSAgICAACAGC7E+Awl/AX4HfyOAgICAAEGwEWsiASSAgICAAEEAIQIgACgCGEEAOgDRAQJAAkACQCAAKAIYIgMvAcoBIgQgAC8B9BEiBUkNACAEIAAvAfYRIgZNDQELIAQgAC8B8BFBf2pB//8DcU8NASADQQEQ6YGAgAAMAQsCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBCAGRw0AIAMvAcgBIgIgAC8B+BEiB0kNACACIAAvAfoRIghLDQAgByAFcg0CIAggAC8B8hFBf2oiAkH//wNxRw0DIAMoAsABIgAgACkDAEKAgICAgMAAhDcDACADQZgBaiEIIAMvAcoBIAMvAYoBIgBBf2pB//8DcUcNCCADLQDgAkUNCSADKAK8ASEEIABB//8DcUEBRw0BIAMgBCgCACIAQRBqIAMoAsABIgQgBCgCACAAKAIQaiAALwGsAhDogYCAACADKALAASIAIAApAwBCgICAgIDAAIQ3AwAMCwtBACECIAQgBk8NCyADQQEQ6YGAgAAMCwsgAUHAAGpBCGogBEEIaigCADYCACABIAQpAgA3A0AgAUGQEWogA0GExceAABC5gYCAACABKAKQESICKAIYIAIoAhBqIgYgAS8BlBEiCUEDdGoiACkDACEKAkAgAi8BrgIgCUF/c2pBA3QiBEUNACAAIABBCGogBPwKAAALIAAgBGogCjcDACADKAJ0RQ0IIAMoAnAhACADKAJsIQQDQCAARQ0JAkAgBCgCACIFKAIAIAJHDQAgBS8BBCIHIAlNDQAgBSAHQX9qOwEECyAAQX9qIQAgBEEEaiEEDAALCyAHDQEgAC8B8hFBf2ohAgsgCCACQf//A3FHDQAgAy8BzAFFDQEgAUEIaiADQZgBahDsgYCAACABLQAQRQ0BIAEpAwhQDQELIABBARDxgYCAAAwBCyABQQA6ACAgAUEAOwEcIAEgBTYCGCABQfgAaiADIAFBGGoQuYGAgAAgASgCeCIGKAIYIAYoAhAiAmoiCSABLwF8IgtBA3RqIQwCQAJAIAQgBWtB//8DcSINIAYvAa4CIgUgC2tB//8DcU8NACAMKAIAIAJqIQ4gBi8BrAIhDwJAIAwpAwAiCkKAgICAwACDUA0AIAZBLGohECAPIQUgDiEHIA4hAgNAAkACQCAFRQ0AIAIpAwBCA4NCAVINASABIAYoAjggBigCECIIajYCPCABQcAAaiABQTxqIAcgCGsQoYGAgAAgASgCQCEJIBAgCCAIIAEoAkQiESgCAGogESgCBBCigYCAACABQTxqIAkQo4GAgAAgAiACKQMAQnyDNwMADAELAkACQCAPIAYvAawCIgJGDQAgAkEBaiEFIAwoAgAgBigCEGohAgJAA0AgBUF/aiIFRQ0BIAIpAwAhCiACQQhqIQIgCkIDg0IBUQ0DDAALCyAMIAwpAwBC/////79/gyIKNwMADAQLIAwgDCkDAEL/////v3+DIgo3AwAMAwsgDCkDACEKDAILIAVBf2ohBSAHQQhqIQcgAkEIaiECDAALCwJAIApCgICAgIACg1ANACAGQagBaiEJIA8hBSAOIQcgDiECA0ACQAJAIAVFDQAgAi0ABUEgcUUNASABIAYoAqQBIAYoAhAiCGo2AkwgAUHQAGogAUHMAGogByAIaxCkgYCAACABLQBYRQ0BIAkgCCABKAJULwEAEKWBgIAAIAFBzABqIAEoAlAQpoGAgAAgAiACKQMAQv///////3eDNwMADAELAkACQCAPIAYvAawCIgJGDQAgAkEBaiEFIAwoAgAgBigCEGohAgJAA0AgBUF/aiIFRQ0BIAItAAUhByACQQhqIQIgB0EgcQ0DDAALCyAMIAwpAwBC//////99gyIKNwMADAQLIAwgDCkDAEL//////32DIgo3AwAMAwsgDCkDACEKDAILIAVBf2ohBSAHQQhqIQcgAkEIaiECDAALCwJAIApCgICAgIABg1ANACAGQTxqIQggDyECIA4hBQNAAkACQAJAAkACQCACRQ0AIAUpAwBCGoinIgdB//8DcQ0BDAQLIA8gBi8BrAIiAkcNAQwCCyAIIAYoAhAgBxCTgYCAAAwCCyACQQFqIQUgDCgCACAGKAIQaiECA0AgBUF/aiIFRQ0BIAIoAQIhByACQQhqIQIgB0GA+P8fcQ0EDAALCyAMIAwpAwBC//////9+gzcDAAwCCyACQX9qIQIgBUEIaiEFDAALCwJAIA9BA3QiAkUNACAOQQAgAvwLAAsgDCkDACEKAkAgDUEDdCICRQ0AIAwgDEEIaiAC/AoAAAsgDCACaiAKNwMAIAZBAToAsAICQCADLQCNAUECRw0AIAMtAIQBRQ0AIAMoAnwiAigCACAGRw0AIAIvAQQiAkUNACACIAtJDQAgCyANaiACSQ0AIAMgAygCgAFBf2o2AoABCyADKAJ0RQ0BIAsgDWohCCADKAJwIQIgAygCbCEFA0AgAkUNAgJAIAUoAgAiAygCACAGRw0AIAMvAQQiByALSQ0AIAggB0kNAAJAIAcNACADQQA7AQYMAQsgAyAHQX9qOwEECyACQX9qIQIgBUEEaiEFDAALCyAMKQMAIQoCQCAFIAtBf3NqQQN0IgJFDQAgDCAMQQhqIAL8CgAACyAMIAJqIAo3AwAgBkEBOgCwAiAGLwGuAiECAkAgAy0AjQFBAkcNACADLQCEAUUNACADKAJ8IgUoAgAgBkcNACAFLwEEIgUgC0kNACAFRQ0AIAMgAygCgAFBf2o2AoABCyACIAtrIRECQCADKAJ0RQ0AIAMoAnAhAiADKAJsIQUDQCACRQ0BAkAgBSgCACIHKAIAIAZHDQAgBy8BBCIIIAtJDQACQCAIDQAgB0EAOwEGDAELIAcgCEF/ajsBBAsgAkF/aiECIAVBBGohBQwACwsgEUH//wNxIQsCQANAIAkhBSAGIgIoAgwiBkUNASACQRBqIAZBEGoiByAFIAIvAa4CQX9qQf//A3FBA3RqIAYoAhggBigCEGoiCUEAIAIvAawCEKCBgIAAIgJB//8DcQ0JAkAgDSALayIIIAYvAa4CIgJPDQAgCSgCACAGKAIQaiEOIAYvAawCIQ8CQCAJKQMAIgpCgICAgMAAg1ANACAGQSxqIRAgDyEFIA4hCyAOIQIDQAJAAkAgBUUNACACKQMAQgODQgFSDQEgASAGKAI4IAYoAhAiDWo2AlwgAUHgAGogAUHcAGogCyANaxChgYCAACABKAJgIREgECANIA0gASgCZCIMKAIAaiAMKAIEEKKBgIAAIAFB3ABqIBEQo4GAgAAgAiACKQMAQnyDNwMADAELAkACQCAPIAYvAawCIgJGDQAgAkEBaiEFIAkoAgAgBygCAGohAgJAA0AgBUF/aiIFRQ0BIAIpAwAhCiACQQhqIQIgCkIDg0IBUQ0DDAALCyAJIAkpAwBC/////79/gyIKNwMADAQLIAkgCSkDAEL/////v3+DIgo3AwAMAwsgCSkDACEKDAILIAVBf2ohBSALQQhqIQsgAkEIaiECDAALCwJAIApCgICAgIACg1ANACAGQagBaiERIA8hBSAOIQsgDiECA0ACQAJAIAVFDQAgAi0ABUEgcUUNASABIAYoAqQBIAYoAhAiDWo2AmwgAUEoaiABQewAaiALIA1rEKSBgIAAIAEtADBFDQEgESANIAEoAiwvAQAQpYGAgAAgAUHsAGogASgCKBCmgYCAACACIAIpAwBC////////d4M3AwAMAQsCQAJAIA8gBi8BrAIiAkYNACACQQFqIQUgCSgCACAHKAIAaiECAkADQCAFQX9qIgVFDQEgAi0ABSELIAJBCGohAiALQSBxDQMMAAsLIAkgCSkDAEL//////32DIgo3AwAMBAsgCSAJKQMAQv//////fYMiCjcDAAwDCyAJKQMAIQoMAgsgBUF/aiEFIAtBCGohCyACQQhqIQIMAAsLAkAgCkKAgICAgAGDUA0AIAZBPGohDSAPIQIgDiEFA0ACQAJAAkACQAJAIAJFDQAgBSkDAEIaiKciC0H//wNxDQEMBAsgDyAGLwGsAiICRw0BDAILIA0gBygCACALEJOBgIAADAILIAJBAWohBSAJKAIAIAcoAgBqIQIDQCAFQX9qIgVFDQEgAigBAiEHIAJBCGohAiAHQYD4/x9xDQQMAAsLIAkgCSkDAEL//////36DNwMADAILIAJBf2ohAiAFQQhqIQUMAAsLAkAgD0EDdCICRQ0AIA5BACAC/AsACyAJKQMAIQoCQCAIQQN0IgJFDQAgCSAJQQhqIAL8CgAACyAJIAJqIAo3AwAgBkEBOgCwAgJAIAMtAI0BQQJHDQAgAy0AhAFFDQAgAygCfCICKAIAIAZHDQAgCCACLwEESQ0AIAMgAygCgAFBf2o2AoABCyADKAJ0RQ0DIAMoAnAhAiADKAJsIQUDQCACRQ0EAkAgBSgCACIDKAIAIAZHDQAgCCADLwEEIgdJDQACQCAHDQAgAyAGKAIIIgc2AgAgBy8BrgIhBwsgAyAHQX9qOwEECyACQX9qIQIgBUEEaiEFDAALCyAJKQMAIQoCQCACQQN0QXhqIgJFDQAgCSAJQQhqIAL8CgAACyAJIAJqIAo3AwAgBkEBOgCwAiAGLwGuAiECAkAgAy0AjQFBAkcNACADLQCEAUUNACADKAJ8KAIAIAZHDQAgAyADKAKAAUF/ajYCgAELIAsgAmohCyADKAJwIQIgAygCbCEFIAMoAnRFDQADQCACRQ0BAkAgBSgCACIHKAIAIAZHDQACQCAHLwEEIggNACAHIAYoAggiCDYCACAILwGuAiEICyAHIAhBf2o7AQQLIAJBf2ohAiAFQQRqIQUMAAsLCyAFIAIvAa4CQX9qQf//A3FBA3RqIg0oAgAgAigCEGohDCACLwGsAiERAkAgDSkDACIKQoCAgIDAAINQDQAgAkEsaiELIBEhAyAMIQYgDCEFA0ACQAJAIANFDQAgBSkDAEIDg0IBUg0BIAEgAigCOCACKAIQIgdqNgJwIAFB+BBqIAFB8ABqIAYgB2sQoYGAgAAgASgC+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//wNxDQAgACABLwEAEKWEgIAAIQILIAILpAMCAX8BfiAAKAIIIAEgAhCMgYCAAEEAIQMCQAJAAkACQAJAAkACQCABQf//A3EiAUHpd2oOAwEFAgALAkACQAJAIAFBfWoOBAUICAEACyABQS9GDQEgAUHFAEYNBQwHCyAAKAIIQQFBARDjgYCAAEEADwsgACgCCEEAIAIQhIKAgAAPCyAAKAIIQQEgAhCEgoCAAA8LIAAoAghBAiACEISCgIAADwsCQCAAKAIIIgE1AgAgAUEEaiIAMQAAQiCGhCIEQoCAAYNCAFINACAAIARCIIg8AAAgASAEQt///v8Pgz4CAEEADwsgACAEQiCIPAAAIAEgBELf////D4NCIEIAIAJBAXEiABuEPgIAIAEgASgCGEGQAWpBhAFB0AAgABsgAS8B8BEQ2YGAgAAiA0H//wNxDQIgAUECQQAQhYKAgAAgAUEBQQEQ44GAgABBAA8LIAJBAXENASAAKAIIQQA7AfgRIAAoAggiASABLwHyEUF/ajsB+hFBAA8LIAAoAgghAQJAIAJBAXENACABEN2BgIAADwsgARDcgYCAAEEADwsgAwsRACAAIAEvAQBBARCMgoCAAAsRACAAIAEvAQBBABCMgoCAAAsPACAAKAIIQQEQkIKAgAAL7QMDAX8Bfgh/I4CAgIAAQSBrIgIkgICAgAACQAJAAkACQCAANQIAIABBBGoxAABCIIaEIgNCgASDQgBSDQAgAUEBIAFBAUsbIQEMAQsgAUEBIAFBAUsbIQEgA0KAgIKACINQRQ0BCyAAKAIYIgQgASAELwHIASIEIAEgBEkbEOWBgIAAIAAoAhhBADoA0QEMAQsgA0KAgICACIMhAwJAIAAoAhgiBS0A0QFFDQAgBUEAOgDRASABQX9qIQEgACgCGCEFC0EAIAAvAfgRIgYgBS8ByAEiBCAGSRshByAALwH6ESEIIAAvAfYRIQkgAC8B9BEhCgJAIANCAFINACAEIAdHDQAgBS8BygEgCkH//wNxSw0AIAUgBCAKEN6BgIAADAELA0AgBSAEIAdrQf//A3EiBCABIAQgAUkbIgYQ5YGAgAAgASAETQ0BAkACQCAAKAIYIgQvAcoBIgUgCkH//wNxRw0AIAkhBSADUA0DDAELIAVFDQICQCADUEUNACACQQxqIAQoArwBQQEQ34GAgAAgAigCDCILKAIYIAsoAhBqIAIvARBBA3RqLQAEQQFxRQ0DCyAFQX9qIQULIAQgCCAFEN6BgIAAIAEgBkF/c2ohASAAKAIYIgUvAcgBIQQMAAsLIAJBIGokgICAgAALVAECfyABQQN2IQIgAUEHcUHAp8iAAGotAAAhAwJAAkAgAUGABE8NACAAIAJqQQxqIQEMAQsgAiAAKAIEakFAaiEBCyADQf8BcSIAIAEtAABxIABGC5EBAQZ/IAFB//8DcSECQQAhAwJAA0AgAyACRg0BIAAoAggiAUEwaiEEIAEoAhgiBS8ByAEiBiEHAkADQCAHQf//A3EgAS8B+hFPDQEgBUEBEOSBgIAAIAQgASgCGCIFLwHIASIHEJGCgIAAQQFxRQ0ACwsgA0EBaiEDIAZB//8DcSAAKAIIKAIYLwHIAUcNAAsLCw0AIAAoAggQ9oGAgAALMgEBfwJAIAAoAggiABDwgYCAACIBQf//A3ENACAALQAAQQhxRQ0AIAAQ9oGAgAALIAELxQECA38BfgJAIAAoAhgiAS8ByAEiAiAALwHyEUF/aiIDQf//A3FHDQAgASgCwAEiASABKQMAQoCAgIAQhDcDACAAKAIYIQELIAEoAsABKQMAIQQCQCAAEPCBgIAAIgFB//8DcQ0AIAAoAhggAC8B+BEQ94GAgAAgAiADQf//A3FHDQAgACgCGCgCwAEiAiACKQMAQv//////Y4MgBEKAgICAgByDhDcDACAAKAIYKALAASIAIAApAwBCgICAgCCENwMACyABC8QCAQR/I4CAgIAAQTBrIgMkgICAgABBACEEAkAgACgCvAEoAgBBEGogACgCwAEgASACEJeCgIAAQf//A3FFDQAgA0EgakIANwMAIANCADcDGCADQgA3AwggA0EBOgAUIAMgACgCvAEoAgAiBCgCoAJBAXQ2AhAgACgCxAEhBSAALwHIASEGIANBKGogACAEIANBCGoQloGAgAAgAy8BLCIEDQACQAJAAkACQEECIAEgBkEDdCAFa2pBA3YiBCAALwHIASIBSSAEIAFGGw4DAgEAAgsgACgCxAEhAQwCCyAAKALEASABIARrQf//A3FBA3RrIQEMAQsgACgCxAEgBCABa0EDdGohAQtBACEEIAAoArwBKAIAQRBqIAAoAsABIAEgAhCXgoCAACIAQf//A3FFDQAgACEECyADQTBqJICAgIAAIAQLqgUDCX8BfgF/I4CAgIAAQTBrIgQkgICAgAAgBCAAKAIoIAAoAgAiBWoiBjYCDCACIAVrIQcCQAJAAkACQCACKQMAQgODQgFRDQAgBEEQaiAAQRxqIgYgBUEBEKiBgIAAIAQvARgiCEUNAQwDC0EAIQkgBkF8aigCAEUNASAGQXBqIQogBkF0aiELIAZBeGooAgAiCEF/aiIMIAcQuoGAgAAiDadxIQIgDUI5iKchDgNAIAYgAmosAAAiAUUNAiAIRQ0CAkAgAUF/Sg0AIA4gAUH/AHFHDQAgByALKAIAIAZqIAJBAnRqKAIARw0AIAooAgAgBmogAkEDdGohCQwDCyAIQX9qIQggAkEBaiAMcSECDAALCyAEKAIQIgggAzsBACAIQQJqIANB////AHFBEHY6AAAgBEEBNgIgIAQgCCAAKAIAazYCHCAEKAIUIQwCQCAEQQxqIAcgBEEcahCpgYCAAEH//wNxRQ0AIAYgACgCACAIIAwQooGAgABBASEIDAILIAIgAikDAEJ8g0IBhDcDACABIAEpAwBCgICAgMAAhDcDAEEAIQgMAQsCQCAJKAIEIgJBA3FFDQAgCSgCACAFaiACQQJ0aiICIAM7AQAgAkECaiADQf///wBxQRB2OgAAIAkgCSgCBEEBajYCBEEAIQgMAQsgBEEkaiAAQRxqIgEgBSACQQFyEKiBgIAAIAQvASwiCA0AIAkoAgAgACgCAGohCCAEKAIkIQICQCAJKAIEIgZBAnQiDEUNACACIAggDPwKAAALIAIgCSgCBEECdGoiDCADOwEAIAxBAmogA0H///8AcUEQdjoAACAJIAIgACgCAGs2AgAgCSAJKAIEQQFqNgIEIAEgACgCACAIIAYQooGAgABBACEICyAEQTBqJICAgIAAIAgLhAQDB38BfgF/I4CAgIAAQdAAayIBJICAgIAAIAAvAc4BIQIgAUEwaiEDAkACQAJAAkADQCABIAAoArwBKAIAIgQoAqQBIAQoAhAiBWo2AgggACgCwAEhBiABQQxqIAFBCGogACgCxAEiByAFaxCrgYCAAAJAIAEvARgNAAJAIAEtABQNACABKAIQIQUMAwsgBEGoAWogBCgCECABKAIQIgUvAQAQpYGAgABCgICAgICACCEIIAUvAQAgAkH//wNxRw0CIAchBgwDCwJAAkAgACgCuAEiBQ0AQQAhBwwBCyAFKAIQIQcLIAQoAqQCIQIgAUEcaiAEQSBqIAQoAhAgBxDAgYCAACACIQUCQAJAIAEvASQNACACIQkMAQsDQCAFIAJrIQYgBSEJIAVBAXQhBSAGIAdJDQALCyADQgA3AwAgAUIANwMoIAFBAToARCABIAk2AkAgAUEBOgA8IAEgBCgCnAJBAXQ2AjggAUHIAGogACAAKAK8ASgCACABQShqEJaBgIAAIAEvAUwiBQ0EIAAvAc4BIgINAAwDCwsgBSACOwEAIAcgBykDAEKAgICAgIAIhDcDAEKAgICAgAIhCAsgBiAGKQMAIAiENwMAIAQoAqwBIAQoAhBqIAAvAc4BQRxsaiIFIAUvARhBAWo7ARgLQQAhBQsgAUHQAGokgICAgAAgBQvVFAUGfwJ+An8BfgV/I4CAgIAAQSBrIgIkgICAgABBACEDAkACQCAAKAIsDQACQAJAIAAoAhgiBC8ByAEiBSAALwH6ESIGSw0AIAZBAWohBwwBCyAALwHyESEHCyAANQIAIABBBGoxAABCIIaEIQhBASEGAkACQAJAAkACQAJAAkACQCABQf///wBxQf8BTQ0AIAhCgICAgIAEgyEJAkAgBUUNACAJUA0AIAdBf2ohCiAEKALEASEGQQEhCwJAIAhCgASDQgBSDQAgBSAKQf//A3FHDQAgBikDACIMQgKDQgGIpyAMQvz//wODUHIhCwsCQCAGIAtBA3RrIg0pAwAiDEKAgICAgIADg0KAgICAgIACUg0AIAYgC0EBaiILQQN0ayINKQMAIQwLIAxCAoNCAFINACAMQvz//wODUA0AQQAhBiACQQA6AAcgDEICiKciDiEPAkAgDKdBAXFFDQAgAiAEKAK8ASgCACIQKAI4IBAoAhAiEGo2AgggAkEMaiACQQhqIA0gEGsQp4GAgAACQAJAIAItABQNAEEAIRAMAQsgAigCDCAQaiEGIAIoAhAhEAsgDiEPA0AgEEUNASAPIAYvAQAgBkECai0AAEEQdHIiESACQQdqEJqCgIAAGiAGQQRqIQYgEEF/aiEQIBEhDwwACwsgDyABIAJBB2oQmoKAgABBAXENACABQf7//wBxQY78A0cNCEEAIQMgDkH/AXEgDkGA/v8AcUEHdkGEiMKAAGovAQBqQQF0QYSIw4AAai8BAEGE8MaAAGotAABBwABxRQ0KIAxCgICAgICAA4MhCAJAIAFB////AHFBj/wDRw0AIAhCgICAgICAAVENCSAEIAsQ5YGAgAAgACgCGC8ByAEgCkH//wNxIgZHDQggAC0AAUECcUUNCyAAQQBBf0EAIAdB//8DcSAALwHyEUYbEJuCgIAAIAAQlYKAgAAiA0H//wNxDQsMCAsgCEKAgICAgIABUg0IIA0gDEL9//////98gzcDACAAKAIYKALEASALQX9qQf//A3FBA3RrIgMgAykDAEL///////98gzcDAAJAIAAoAhgiAy8ByAEgCkH//wNxRw0AIANBADoA0QEMCQsgA0EBEOWBgIAADAgLIAFB/wFxIAFBgP7/AHFBB3ZBhIjCgABqLwEAakEBdEGEiMOAAGovAQBBhPDGgABqLQAAQQNxIgYNACAJUEUNCSAFDQEMBQsgACABOwHgESAAQQE6AOQRIABB4hFqIAFBEHZBH3EiAzoAACACIAE7ARggAiADOgAaIAQtANEBRQ0DIAhCgASDQgBSDQEMAwsgBCgCxAEiAEFwaiAAQXhqIgAgACkDAEKAgICAgIADg0KAgICAgIACURsiACkDACIIQgKDQgBSDQMgCEL8//8Dg0IAUQ0DIAFB/v//AHFBjvwDRw0BQQAhAyAIQgKIpyIGQf8BcSAGQYD+/wBxQQd2QYSIwoAAai8BAGpBAXRBhIjDgABqLwEAQYTwxoAAai0AAEECdkEPcUELRw0HDAELIAAQlYKAgAAiA0H//wNxDQYgADUCACAAQQRqMQAAQiCGhCEIDAELIAQgACABEJaCgIAAIQMMBQsCQCAIQgKDUA0AIAYgACgCGC8ByAFqIAAvAfIRTw0AIAAgBhCcgoCAAAsCQAJAAkACQCAGQQFHDQAgACgCGCgCwAEiAyADKQMAQoCAgICAwACENwMAAkACQCAAKAIYIgMtANwCRQ0AIAMoAtgCIQYgA0IANwLYAiAAKAIYIQMMAQsgAygC0AIhBgsgAUEgIAMgBkECdGpBwAJqKAIAIgRBAkkiBhshBQJAIAFB////AHFB/wFLDQAgBg0AQZ7wxoAAQZ70xoAAIARBAkYbIAFB////AHFBAXRqLwEAIQULAkACQCADKALEASIGKQMAQiqIp0EDcQ4EBAABBAQLIAMvAcgBIAAvAfIRQX9qQf//A3FPDQMgAyADKAK8ASgCAEEQaiADKALAASAGQQhqQQEQ6IGAgAAgACgCGCIBLwHKAUUNAyABLwHIAUECSQ0CDAMLIAMgAygCvAEoAgBBEGogAygCwAEgBkF4akEBEOiBgIAAIAAoAhgiAS8BygFFDQIgAS8ByAFBAkkNAQwCCyAAKAIYIQMCQCAHIAAvAfgRa0H//wNxQQFLDQAgAygCwAEiASABKQMAQoCAgICAwACENwMAIABBAEEAEJuCgIAADAMLAkAgAy8ByAEgB0F/akH//wNxRw0AIAAtAAFBAnFFDQcgAEEAQX9BACAHQf//A3EgAC8B8hFGGxCbgoCAACAAEJWCgIAAIgNB//8DcQ0IIAAoAhghAwsgAygCwAEiAyADKQMAQoCAgICAwACENwMAIAAgAUEBEJuCgIAAIAAoAhhBARDkgYCAACAAQQBBAhCbgoCAAAwCCyABEJ2CgIAAIgEgASkDAEL///////98gzcDAAsgACgCGCEEAkAgBikDAEIDg0IBUg0AIAQoArwBKAIAIgFBEGogBhDqgYCAACABLwGsAkEBaiEDIAAoAhgiBCgCwAEiECgCACABKAIQaiEBAkADQCADQX9qIgNFDQEgASkDACEIIAFBCGohASAIQgODQgFRDQIMAAsLIBAgECkDAEL/////v3+DNwMAIAAoAhghBAsCQCAELwHMASAGKQMAIghCGoinIhBB//8DcSIBRiIDDQAgAUUNACAEKAK8ASgCACIBQTxqIAEoAhAgEBCTgYCAACAGKQMAIQgLIAYgCEKAgIB8gyAFrUL///8Ag0IChoQiCTcDACAGIAAoAhgvAcwBIgGtQhqGIAlC/P//n4CAfIOEIgk3AwAgBkKAgICAgIAEQgAgACgCGC0A0gEbIAlC/P//////AIOENwMAAkAgAw0AIAFFDQAgACgCGCgCvAEoAgAiAygCQCADKAIQaiABQSRsaiIBIAEvASBBAWo7ASAgACgCGCgCwAEiASABKQMAQoCAgICAAYQ3AwALAkAgACgCGCIBLwHOAUUNACABEJiCgIAAIgFB//8DcUUNASACIAE7AR4gAkEeahCegoCAAAwBCyAIQoCAgICAgAiDUA0AIAEoArwBKAIAIgFBEGogBhDrgYCAACABLwGsAkEBaiEDIAAoAhgoAsABIgQoAgAgASgCEGohAQJAA0AgA0F/aiIDRQ0BIAEtAAUhBiABQQhqIQEgBkEgcUUNAAwCCwsgBCAEKQMAQv//////fYM3AwALAkAgACgCGCIALwHIASAHQX9qQf//A3FHDQAgAEEBOgDRAQwECyAAQQEQ5IGAgAAMAwsQn4KAgAAMAgsgACANKQMAQgKIp0EBEJuCgIAAIAAoAhhBARDkgYCAACAAQQBBAhCbgoCAAAJAIAAoAhgiAy8ByAEgBkcNACADQQE6ANEBDAELIANBARDkgYCAAAsgACgCGCgCwAEiAyADKQMAQoCAgICAwACENwMAIAAoAhggDSABEJaCgIAAIQMMAQtBACEDCyACQSBqJICAgIAAIAMLlQEAIAIgAUH/AXEgAUGA/v8AcUEHdkGEiMKAAGovAQBqQQF0QYSIw4AAai8BAEGE8MaAAGotAABBBHRBwAdxIAItAABBA3EgAEH/AXEgAEGA/v8AcUEHdkGEiMKAAGovAQBqQQF0QYSIw4AAai8BAEGE8MaAAGotAABBPHFyckGcxceAAGotAAAiAEEBdkEDcToAACAAC84HAgZ/An4jgICAgABBEGsiAySAgICAAAJAAkAgACgCGCIELQDcAkUNACAEKALYAiEFIARCADcC2AIgACgCGCEEDAELIAQoAtACIQULAkAgBCAFQQJ0akHAAmooAgAiBUECSQ0AIAFB////AHEhBkEgIQEgBkH/AUsNAEGe8MaAAEGe9MaAACAFQQJGGyAGQQF0ai8BACEBCwJAIAJBA3EgBCgCxAEiBikDAEIqiKdBA3EiBUYNAAJAAkACQCAFDgQDAAEDAwsgBC8ByAEgAC8B8hFBf2pB//8DcU8NAiAEIAQoArwBKAIAQRBqIAQoAsABIAZBCGpBARDogYCAACAAKAIYIgQvAcoBRQ0CIAQvAcgBQQJJDQEMAgsgBCAEKAK8ASgCAEEQaiAEKALAASAGQXhqQQEQ6IGAgAAgACgCGCIELwHKAUUNASAELwHIAUECTw0BCyAEEJ2CgIAAIgQgBCkDAEL///////98gzcDAAsgACgCGCEHAkAgBikDAEIDg0IBUg0AIAcoArwBKAIAIgRBEGogBhDqgYCAACAELwGsAkEBaiEFIAAoAhgiBygCwAEiCCgCACAEKAIQaiEEAkADQCAFQX9qIgVFDQEgBCkDACEJIARBCGohBCAJQgODQgFRDQIMAAsLIAggCCkDAEL/////v3+DNwMAIAAoAhghBwsCQCAHLwHMASAGKQMAIglCGoinIghB//8DcSIERiIFDQAgBEUNACAHKAK8ASgCACIEQTxqIAQoAhAgCBCTgYCAACAGKQMAIQkLIAYgCUKAgIB8gyABrUL///8Ag0IChoQiCjcDACAGIAAoAhgvAcwBIgStQhqGIApC/P//n4CAfIMgAq1CA4NCKoaEhCIKNwMAIAZCgICAgICABEIAIAAoAhgtANIBGyAKQvz//////wODhDcDAAJAIAUNACAERQ0AIAAoAhgoArwBKAIAIgUoAkAgBSgCEGogBEEkbGoiBCAELwEgQQFqOwEgIAAoAhgoAsABIgQgBCkDAEKAgICAgAGENwMACwJAAkAgACgCGCIELwHOAUUNACAEEJiCgIAAIgRB//8DcUUNASADIAQ7AQ4gA0EOahCegoCAAAwBCyAJQoCAgICAgAiDUA0AIAQoArwBKAIAIgRBEGogBhDrgYCAACAELwGsAkEBaiEFIAAoAhgoAsABIgYoAgAgBCgCEGohBAJAA0AgBUF/aiIFRQ0BIAQtAAUhACAEQQhqIQQgAEEgcQ0CDAALCyAGIAYpAwBC//////99gzcDAAsgA0EQaiSAgICAAAvUCAMLfwF+A38jgICAgABBkAFrIgIkgICAgAAgACgCGEEAOgDRAQJAIAAoAhgiAy8ByAEiBCAALwH4EUkNACAEIAAvAfoRIgVLDQAgAygCvAEoAgAiBkEQaiEHAkAgAygCxAEiCCkDAEKAgICAgIADg0KAgICAgIACUg0AIAMgByADKALAASAIQXhqQQIQ6IGAgAAgAC8B+hEhBSAAKAIYIgMvAcgBIQQLAkAgBSAEayIFQQFqQf//A3EiBCABIAQgASAESRsiCUYNAAJAIAggBSAJa0H//wNxQQN0IgRqIgEpAwBCgICAgICAA4NCgICAgICAAVINACADIAcgAygCwAEgAUECEOiBgIAACyAIIQUgCCAJQQN0aiIKIQsgCCEMA0ACQAJAAkACQAJAIAwgBGoiAyAISQ0AIAsgBGoiASkDAEIDgyENIAMpAwBCA4NCAVENASANQgFRDQIMBAsgACgCGCEDDAULIAYoAjggBigCECIOaiEPIAQgCmogDmshECAEIAVqIA5rIQ4gDUIBUQ0BIAIgDzYCCCACQQxqIAJBCGogDhChgYCAACACIAIoAhApAgA3AxggAkEIaiACKAIMEKOBgIAAIAJBCGogECACQRhqEKGCgIAADAILIAIgBigCOCAGKAIQIg5qNgIgIAJBJGogAkEgaiAEIApqIA5rEKGBgIAAIAIgAigCKCkCADcDMCACQSBqIAIoAiQQo4GAgAAgAkEgaiAEIAVqIA5rIAJBMGoQoYKAgAAMAQsgAiAPNgI4IAJBPGogAkE4aiAOEKGBgIAAIAIoAkAhDiACQcgAaiACQThqIBAQoYGAgAAgDikCACENIA4gAigCTCIPKQIANwIAIA8gDTcCAAsgASkDAEKAgICAgIAIgyENAkACQCADLQAFQSBxDQAgDVANASACIAYoAqQBIAYoAhAiDmo2AmQgAkHoAGogAkHkAGogBCAKaiAOaxCkgYCAACACKAJsLwEAIQ8gAkHkAGogAigCaBCmgYCAACACQeQAaiAEIAVqIA5rIA8QooKAgAAMAQsgBigCpAEgBigCECIOaiEPIAQgCmogDmshECAEIAVqIA5rIQ4CQCANQgBSDQAgAiAPNgJUIAJB2ABqIAJB1ABqIA4QpIGAgAAgAigCXC8BACEOIAJB1ABqIAIoAlgQpoGAgAAgAkHUAGogECAOEKKCgIAADAELIAIgDzYCdCACQfgAaiACQfQAaiAOEKSBgIAAIAIoAnwhDiACQYQBaiACQfQAaiAQEKSBgIAAIA4vAQAhDyAOIAIoAogBIhAvAQA7AQAgECAPOwEACyABKQMAIQ0gASADKQMANwMAIAMgDTcDACAFQXhqIQUgCkF4aiEKIAtBeGohCyAMQXhqIQwMAAsLIAMgByADKALAASAIIAkQ6IGAgAAgACgCGCgCwAEiBCAEKQMAQoCAgICAwACENwMACyACQZABaiSAgICAAAtuAQN/I4CAgIAAQSBrIgEkgICAgAAgAUEMaiAAKAK8AUEBEN+BgIAAIAEoAgwiAigCGCACKAIQIgJqIAEvARBBA3RqKAIAIQMgAC8BiAEhACABQSBqJICAgIAAIAMgAmogAEF/akH//wNxQQN0agvJAgEDfyOAgICAAEHAEGsiASSAgICAACABQoAQNwKgECABQbC/x4AANgKYECABIAE2ApwQAkACQAJAIAFBmBBqIAAQo4KAgAAiAkH//wNxDQAgASgCnBAhACABKAKkECEDDAELIAFBmBBqQaDpyYAAQdkAEKiAgIAAIAEvAbAQDQEgAUGAEGpBEGogAUGYEGpBEGopAgA3AwAgAUGAEGpBCGoiAyABQZgQakEIaikCADcDACABIAEpApgQNwOAEAJAIAMgABCjgoCAAEH//wNxRQ0AIAFBgBBqEKmAgIAADAILIAFBtBBqIAFBgBBqEKqAgIAAIAFBgBBqEKmAgIAAIAEvAbwQDQEgASgCuBAhAyABKAK0ECEACyAAIAMQgICAgAAgAkH//wNxRQ0AQaDpyYAAIAAgAxC2gICAAAsgAUHAEGokgICAgAALxQIBBH8jgICAgABBwBBrIgAkgICAgAAgAEKAEDcCoBAgAEGwv8eAADYCmBAgACAANgKcEAJAAkACQCAAQZgQahCggoCAACIBQf//A3ENACAAKAKcECECIAAoAqQQIQMMAQsgAEGYEGpBoOnJgABByQAQqICAgAAgAC8BsBANASAAQYAQakEQaiAAQZgQakEQaikCADcDACAAQYAQakEIaiICIABBmBBqQQhqKQIANwMAIAAgACkCmBA3A4AQAkAgAhCggoCAAEH//wNxRQ0AIABBgBBqEKmAgIAADAILIABBtBBqIABBgBBqEKqAgIAAIABBgBBqEKmAgIAAIAAvAbwQDQEgACgCuBAhAyAAKAK0ECECCyACIAMQgICAgAAgAUH//wNxRQ0AQaDpyYAAIAIgAxC2gICAAAsgAEHAEGokgICAgAALEwAgAEH288mAAEHJABCagICAAAufAwMBfwF+Cn8jgICAgABBEGsiAySAgICAACABELqBgIAAIQQCQAJAIAAoAgAiBQ0AIASnIQZBACEHQX8hCAwBCyAFQXhqKAIAIgdBf2oiCCAEp3EhBgsgBUF0aiEJIAVBeGohCiAEQjmIpyELIAchDAJAAkADQCAFIAZqIg0sAAAiDkUNASAMRQ0BAkACQCAOQX9KDQAgCyAOQf8AcUcNACABIAkoAgAgBWogBkECdGoiDigCAEcNASADQQE6AAggBUFwaigCACAFaiAGQQN0aiEGIANBCGohDAwECyAHIAooAgBHDQAgBiAHIA5BAUYbIQcLIAxBf2ohDCAGQQFqIAhxIQYMAAsLIAUgB2ogDSAHIAooAgBJIg4bIAtBgAFyOgAAIAAoAgAiDEF8aiIFIAUoAgBBAWo2AgAgA0EAOgAMIAwgDEFwaigCAGogByAGIA4bIg5BA3RqIQYgDCAMQXRqKAIAaiAOQQJ0aiEOIANBDGohDAsCQCAMLQAAQQFxDQAgDiABNgIACyAGIAIpAgA3AgAgA0EQaiSAgICAAAtNAQF/I4CAgIAAQRBrIgMkgICAgAAgA0EEaiAAIAEQx4GAgAACQCADLQAMDQAgAygCBCABNgIACyADKAIIIAI7AQAgA0EQaiSAgICAAAsyAQF/AkAgAEG/9MmAAEHXABCagICAACICQf//A3ENACAAIAEvAQAQpYSAgAAhAgsgAgseACAAKAIIIAEvAQAgAUECai0AAEEQdHIQmYKAgAALegEDfyABLwEAIQIgACgCCCIBKAIYQQA6ANEBAkACQCABLwH2ESIDIAEoAhgiAC8BygEiBEkNACADIARrIQEMAQsgAS8B8BEgBEF/c2ohAQsgACABQf//A3EiASACQf//A3EiAkEBIAJBAUsbIgIgASACSRsQ6YGAgAALEgAgACgCCCABLwEAEPqBgIAACzcBAX8CQCAAQbiwyoAAQTAQmoCAgAAiAkH//wNxDQAgAEGMtcqAACABLQAAELGEgIAAIQILIAILhgIDAn8BfgN/I4CAgIAAQSBrIgEkgICAgAAgAEEAOgDRAQJAIAAoAsABIgIpAwAiA0KAgICAEINCAFENACACIANC/////2+DNwMAIAFBDGogACgCvAEiBEEBEM+BgIAAAkAgAS0AHA0AIAEoAgwiBCgCGCAEKAIQaiABLwEQQQN0aiIEIAQpAwBC/////1+DNwMAIAAoArwBIQQLIAQoAgAiBSgCGCAFKAIQIgZqIAQvAQRBA3RqKAIAIAZqIAUvAawCQX9qQf//A3FBA3RqIgQpAwBCgICAgICAA4NCgICAgICAA1INACAAIAVBEGogAiAEQQEQ6IGAgAALIAFBIGokgICAgAALygkDCn8BfgN/I4CAgIAAQfABayICJICAgIAAAkAgAUUNACAAKAIYIgMvAcoBIgQgAC8B9BFJDQAgAC8B9hEiBSAESQ0AIAMvAcgBIgYgAC8B+BEiB0kNACAGIAAvAfoRIghLDQBBACEJAkAgBw0AIAggAC8B8hFBf2pB//8DcU8hCQsgAkEMaiADKAK8ASAFIARrIgZB//8DcRDPgYCAAEGczceAACEFAkAgAi0AHA0AIAJBIGpBCGogAkEMakEIaigCADYCACACIAIpAgw3AyAgAkEBOgAsIAJBIGohBQsgAkEwaiADIAUQhIGAgAACQCACLwE0IgMNACABIAZBAWpB//8DcSIHIAEgB0kbIQggAkHQAGpBCGohCiACQbABakEQaiELIAIoAjAhAQNAAkACQCAHRQ0AIAEoAgAiAygCGCADKAIQaiABLwEEQQN0aiIDIAMpAwAiDEKAgICAgMAAhDcDAAJAAkACQAJAIAcgCE0NACACQTxqIAEgCBDfgYCAACACKAI8IgYoAhAhBSAGKAIYIQ0gAi8BQCEOIAAgASgCAEEQaiADEKqCgIAAIAAgBkEQaiIPIA0gBWogDkEDdGoiBRCqgoCAACAJRQ0BIAUgBSkDAEL/////b4M3AwAgAyADKQMAQv////9vgzcDACAFIAUpAwBC/////1+DNwMAIAMgAykDAEL/////X4MiDDcDACAGIAEoAgAiDUcNAiADIAUpAwA3AwAgBSAMNwMAIAMgAykDAEKAgICAgMAAhDcDAAwFCyAAKAIYIAEoAgAiBUEQaiADIAynIAUoAhBqIAAvAfgRIgVBA3RqIAAvAfoRQQFqQf//A3EgBWsQ6IGAgAAMBAsgBiABKAIAIg1GDQELIA1BEGogDyADIAUgAC8B+BEgAC8B+hFBAWpB//8DcRCggYCAAEH//wNxIgZFDQIgASgCACEDQazNx4AAIQUCQAJAAkACQAJAIAZBZWoOCAAEAQIEAgMDAAsgCkIANwIAIApBCGpCADcCACAKQRBqQgA3AgAgAkEBOgBUIAIgAygCmAJBAXQ2AlAgAkHQAGohBQwDCyACQfAAakEIakIANwMAIAJB8ABqQRBqQgA3AwAgAkIANwNwIAJBAToAjAEgAiADKAKkAkEBdDYCiAEgAkHwAGohBQwCCyACQZABakEIakIANwMAIAJCADcDkAEgAkIANwOoASACQQE6AKQBIAIgAygCnAJBAXQ2AqABIAJBkAFqIQUMAQsgC0IANwMAIAtBCGpCADcDACACQgA3A7ABIAJBAToAvAEgAiADKAKgAkEBdDYCuAEgAkGwAWohBQsgAkHUAWogACgCGCADIAUQloGAgAACQCACLwHYAQ4CBAAACwALIA1BEGogBSAALwH4ESIGIAMgBiAALwH6ESAGa0EBakH//wNxEKuCgIAADAELIAAoAhggARDOgYCAACAAKAIYIAAvAfgRIAQQ3oGAgAAgACgCGEEAOgDRAQwDCyACQdwBaiABQQEQ34GAgAAgB0F/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//A3FFDQBBoOnJgAAgByAJELaAgIAAC0H4sMeAACEDAkAgAC0AlhFB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AtQFIAJCgBA3ArAoIAJBsL/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+ABHDQBCACEHIANCADcC7AYgAyAFQX5qNgLoBkECIQggAyAGQQJqNgLkBiADQgA3A0ggA0HkBmogA0HIAGoQiISAgAAgAygC7AYiAiADKALwBiIBayEJAkACQCACIAMoAugGTw0AIAMoAuQGIAJqLQAAQS5GDQELQgAhCiAJIQsMAgsgAyACQQFqIgI2AuwGIANB5AZqIANByABqEIiEgIAAIAEgAmsgAygC7AYiAiADKALwBiIBa2oiDCAJaiELQgAgDK1CAoZ9IQoMAQtCACEKIANCADcC7AYgAyAFNgLoBiADIAY2AuQGIANCADcDSCADQeQGaiADQcgAahCJhICAACADKALsBiIIIAMoAvAGIgJrIQkCQAJAAkAgCCADKALoBk8NACADKALkBiAIai0AAEEuRg0BC0IAIQcgCSELDAELIAMgCEEBaiIBNgLsBiADQeQGaiADQcgAahCJhICAACACIAFrIAMoAuwGIgggAygC8AYiAmtqIgEgCWohC0IAIAGtfSEHCwJAAkACQCALRQ0AQgAhDQJAIAggAygC6AZPDQAgAygC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gICAACIEQf//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+ABtbMjsxMH4AG1syMTsxMH4AG1syMDsxMH4AeyAuLi4gfQAuewBlbXB0eQBpbml0eQBjYXBhY2l0eQBIeXBlcmxpbmtTZXRPdXRPZk1lbW9yeQBTdHlsZVNldE91dE9mTWVtb3J5AFN0cmluZ3NPdXRPZk1lbW9yeQBIeXBlcmxpbmtNYXBPdXRPZk1lbW9yeQBHcmFwaGVtZU1hcE91dE9mTWVtb3J5AFN0cmluZ0FsbG9jT3V0T2ZNZW1vcnkAR3JhcGhlbWVBbGxvY091dE9mTWVtb3J5AHByaW1hcnkAc2Vjb25kYXJ5AGRuZC1jb3B5AG5vdGlmeQBzZW1hbnRpY19vcHRpb25fa2V5AGh5cGVybGlua19wYXJhbV9rZXkAa2l0dHlfY29sb3JfcHJvdG9jb2xfa2V5AHNwZWNpYWxfa2V5AGJvZHkAG095ABtPOXkAG084eQAbTzd5ABtPNnkAG08xNnkAG081eQAbTzE1eQAbTzR5ABtPMTR5ABtPM3kAG08xM3kAG08yeQAbTzEyeQAbTzExeQAbTzEweQBjb25lbXVfc2hvd19tZXNzYWdlX2JveABjb25lbXVfbWVzc2FnZV9ib3gAG094ABtPOXgAG084eAAbTzd4ABtPNngAG08xNngAG081eAAbTzE1eAAbTzR4ABtPMTR4ABtPM3gAG08xM3gAG08yeAAbTzEyeAAbTzExeAAbTzEweABxdWVzdGlvbl9hcnJvdwBzd2FsbG93AE92ZXJmbG93AHJlZHJhdwAbT3cAG085dwAbTzh3ABtPN3cAG082dwAbTzE2dwAbTzV3ABtPMTV3ABtPNHcAG08xNHcAG08zdwAbTzEzdwAbTzJ3ABtPMTJ3ABtPMTF3ABtPMTB3ABtPdgAbTzl2ABtPOHYAG083dgAbTzZ2ABtPMTZ2ABtPNXYAG08xNXYAG080dgAbTzE0dgAbTzN2ABtPMTN2ABtPMnYAG08xMnYAG08xMXYAG08xMHYAY29udGV4dC1tZW51ABtPdQAbTzl1ABtPOHUAG083dQAbTzZ1ABtPMTZ1ABtPNXUAG08xNXUAG080dQAbTzE0dQAbTzN1ABtPMTN1ABtPMnUAG08xMnUAG08xMXUAG08xMHUAY29uZW11X3RhYl90eHQAY3Vyc29yX3RleHQAdmVydGljYWwtdGV4dABJbnB1dE91dHB1dABjb25lbXVfd2FpdF9pbnB1dABlbmRfb2ZfaW5wdXQAZGNzX3B1dABhcGNfcHV0AHpvb20tb3V0AENvbm5lY3Rpb25UaW1lZE91dABsaXN0AGNvbmVtdV9wcm9ncmVzc19yZXBvcnQAcHJvbXB0X3N0YXJ0AHNlbWFudGljX29wdGlvbl9zdGFydABoeXBlcmxpbmtfc3RhcnQAc2VtYW50aWNfZXhpdF9jb2RlX3N0YXJ0AGFwY19zdGFydABzZW1hbnRpY19wcm9tcHQAcHJpbnQAY3VycmVudABwcmVhbGxvY19zZWdtZW50AGRlZmF1bHQAd2FpdAByaWdodABsZWZ0AE5vU3BhY2VMZWZ0AHJlc2V0AEludmFsaWRGb3JtYXQAG090ABtPOXQAG084dAAbTzd0ABtPNnQAG08xNnQAG081dAAbTzE1dAAbTzR0ABtPMTR0ABtPM3QAG08xM3QAG08ydAAbTzEydAAbTzExdAAbTzEwdAByZXF1ZXN0cwBjbGlja19ldmVudHMAY2xpcGJvYXJkX2NvbnRlbnRzAGR5bmFtaWNfc2VnbWVudHMAY3Jvc3MAcHJvZ3Jlc3MAaXRlbXMAcGFyYW1zAGR1cmF0aW9uX21zAGludGVybWVkaWF0ZXMAU3lzdGVtUmVzb3VyY2VzAGFsaWFzABtPcwAbTzlzABtPOHMAG083cwAbTzZzABtPMTZzABtPNXMAG08xNXMAG080cwAbTzE0cwAbTzNzABtPMTNzABtPMnMAG08xMnMAG08xMXMAG08xMHMAZmxldXIAbGVmdF9wdHIAdGVybWluYXRvcgBjdXJzb3IAZXJyb3IARGVjb2RlRXJyb3IAb3NjX2NvbG9yAGNyb3NzaGFpcgBJc0RpcgBwb2ludGVyAEludmFsaWRDaGFyYWN0ZXIAdG9wX3JpZ2h0X2Nvcm5lcgBib3R0b21fcmlnaHRfY29ybmVyAHRvcF9sZWZ0X2Nvcm5lcgBib3R0b21fbGVmdF9jb3JuZXIAQ29ubmVjdGlvblJlc2V0QnlQZWVyABtPcgAbTzlyABtPOHIAG083cgAbTzZyABtPMTZyABtPNXIAG08xNXIAG080cgAbTzE0cgAbTzNyABtPMTNyABtPMnIAG08xMnIAG08xMXIAG08xMHIAG09xABtPOXEAG084cQAbTzdxABtPNnEAG08xNnEAG081cQAbTzE1cQAbTzRxABtPMTRxABtPM3EAG08xM3EAG08ycQAbTzEycQAbTzExcQAbTzEwcQBkbmQtbm8tZHJvcABoZWxwAHBhcmFtc19zZXAAY29uZW11X3NsZWVwAHJpZ2h0X3VubGVzc19wZW5kaW5nX3dyYXAAG09wABtPOXAAG084cAAbTzdwABtPNnAAG08xNnAAG081cAAbTzE1cAAbTzRwABtPMTRwABtPM3AAG08xM3AAG08ycAAbTzEycAAbTzExcAAbTzEwcABEaXZpc2lvbkJ5WmVybwBjb25lbXVfZ3VpbWFjcm8AG09vABtPOW8AG084bwAbTzdvABtPNm8AG08xNm8AG081bwAbTzE1bwAbTzRvABtPMTRvABtPM28AG08xM28AG08ybwAbTzEybwAbTzExbwAbTzEwbwB0ZXJtaW5hbC5QYXJzZXIuQWN0aW9uAGNvbnRpbnVhdGlvbgBVdGY4RXhwZWN0ZWRDb250aW51YXRpb24AY29sb3Jfb3BlcmF0aW9uAE1pc3NpbmdPcGVyYXRpb24ATG9ja1Zpb2xhdGlvbgBzaG93X2Rlc2t0b3Bfbm90aWZpY2F0aW9uAHJ4dnRfZXh0ZW5zaW9uAGNoYW5nZV93aW5kb3dfaWNvbgB6b29tLWluAGxlbgBuYW4AG09uABtPOW4AG084bgAbTzduABtPNm4AG08xNm4AG081bgAbTzE1bgAbTzRuABtPMTRuABtPM24AG08xM24AG08ybgAbTzEybgAbTzExbgAbWzBuABtPMTBuAHh0ZXJtAEVuZE9mU3RyZWFtABtPbQAbTzltABtPOG0AG083bQAbTzZtABtPMTZtABtPNW0AG08xNW0AG080bQAbTzE0bQAbTzNtABtPMTNtABtPMm0AG08xMm0AG08xMW0AG08xMG0AY21kbGluZV91cmwAa2l0dHlfY29sb3JfcHJvdG9jb2wAbnVsbABhbGwtc2Nyb2xsAGNlbGwAdmlzdWFsX2JlbGwAYWxsAGJlbABmaW5hbABtYXNrAGRjc191bmhvb2sAZGNzX2hvb2sAZG5kLWxpbmsAV291bGRCbG9jawAbT2sAG085awAbTzhrABtPN2sAG082awAbTzE2awAbTzVrABtPMTVrABtPNGsAG08xNGsAG08zawAbTzEzawAbTzJrABtPMTJrABtPMTFrABtPMTBrABtPagAbTzlqABtPOGoAG083agAbTzZqABtPMTZqABtPNWoAG08xNWoAG080agAbTzE0agAbTzNqABtPMTNqABtPMmoAG08xMmoAG08xMWoAG08xMGoAaHlwZXJsaW5rX3VyaQBIeXBlcmxpbmtTZXROZWVkc1JlaGFzaABTdHlsZVNldE5lZWRzUmVoYXNoAGxlZnRfcHRyX3dhdGNoAGNzaV9kaXNwYXRjaABvc2NfZGlzcGF0Y2gAZXNjX2Rpc3BhdGNoAGFsbG9jYWJsZV9zdHJpbmcAU3RyZWFtaW5nAFV0ZjhPdmVybG9uZ0VuY29kaW5nAE5vdE9wZW5Gb3JSZWFkaW5nAGdyYWJiaW5nAEludmFsaWRFbnVtVGFnAGluZgBVdGY4RW5jb2Rlc1N1cnJvZ2F0ZUhhbGYAVXRmOENhbm5vdEVuY29kZVN1cnJvZ2F0ZUhhbGYAbmVzdy1yZXNpemUAcm93LXJlc2l6ZQBudy1yZXNpemUAZXctcmVzaXplAG5zLXJlc2l6ZQBuLXJlc2l6ZQBjb2wtcmVzaXplAG53c2UtcmVzaXplAG5lLXJlc2l6ZQByZW1vdmUAZG5kLW1vdmUAdHJ1ZQBjb25lbXVfcHJvZ3Jlc3NfcHJldmFsdWUAY29uZW11X3Byb2dyZXNzX3ZhbHVlAGNvbmVtdV9zbGVlcF92YWx1ZQBzZW1hbnRpY19vcHRpb25fdmFsdWUAaHlwZXJsaW5rX3BhcmFtX3ZhbHVlAGtpdHR5X2NvbG9yX3Byb3RvY29sX3ZhbHVlAFV0ZjhJbnZhbGlkU3RhcnRCeXRlAGV4ZWN1dGUAY29tcGxldGUAY29uZW11X3Byb2dyZXNzX3ByZXN0YXRlAGNvbmVtdV9wcm9ncmVzc19zdGF0ZQBhbHRlcm5hdGUAaW5kZXRlcm1pbmF0ZQBwYXVzZQBmYWxzZQBCcm9rZW5QaXBlAG1vdXNlX3NoYXBlAGNtZGxpbmUAY2hhbmdlX3dpbmRvd190aXRsZQBub3RpZmljYXRpb25fdGl0bGUAY29uZW11X2NoYW5nZV90YWJfdGl0bGUAY3Jvc3NlZF9jaXJjbGUAVW5zZWVrYWJsZQBVdGY4Q29kZXBvaW50VG9vTGFyZ2UAc2VtYW50aWNfZXhpdF9jb2RlAHJpZ2h0X3NpZGUAbGVmdF9zaWRlAHRvcF9zaWRlAGJvdHRvbV9zaWRlAHJlcG9ydF9wd2QAc2Vjb25kX3RyYW5zcGFyZW50X2JhY2tncm91bmQAc2VsZWN0aW9uX2JhY2tncm91bmQAc2VsZWN0aW9uX2ZvcmVncm91bmQAUHJvY2Vzc05vdEZvdW5kAGNsaXBib2FyZF9raW5kAHByb21wdF9lbmQAaHlwZXJsaW5rX2VuZABjbGlwYm9hcmRfa2luZF9lbmQAYXBjX2VuZABlbmRfb2ZfY29tbWFuZABoYW5kAHZvaWQAaW52YWxpZABhaWQAbm90LWFsbG93ZWQAT3BlcmF0aW9uQWJvcnRlZABVbmltcGxlbWVudGVkAFVuZXhwZWN0ZWQAU29ja2V0Tm90Q29ubmVjdGVkAFdyaXRlRmFpbGVkAFJlYWRGYWlsZWQAQ2FuY2VsZWQAQWNjZXNzRGVuaWVkAFBlcm1pc3Npb25EZW5pZWQAcmdiAGNvbmVtdV90YWIAZ3JhYgBkYXRhABtbWgAbT1MAG1sxOzlTABtbMTs4UwAbWzE7N1MAG1sxOzZTABtbMTsxNlMAG1sxOzVTABtbMTsxNVMAG1sxOzRTABtbMTsxNFMAG1sxOzNTABtbMTsxM1MAG1sxOzJTABtbMTsxMlMAG1sxOzExUwAbWzE7MTBTABtPUgAbT1EAG1sxOzlRABtbMTs4UQAbWzE7N1EAG1sxOzZRABtbMTsxNlEAG1sxOzVRABtbMTsxNVEAG1sxOzRRABtbMTsxNFEAG1sxOzNRABtbMTsxM1EAG1sxOzJRABtbMTsxMlEAG1sxOzExUQAbWzE7MTBRABtPUAAbWzE7OVAAG1sxOzhQABtbMTs3UAAbWzE7NlAAG1sxOzE2UAAbWzE7NVAAG1sxOzE1UAAbWzE7NFAAG1sxOzE0UAAbWzE7M1AAG1sxOzEzUAAbWzE7MlAAG1sxOzEyUAAbWzE7MTFQABtbMTsxMFAAG09NABtPOU0AG084TQAbTzdNABtPNk0AG08xNk0AG081TQAbTzE1TQAbTzRNABtPMTRNABtPM00AG08xM00AG08yTQAbTzEyTQAbTzExTQAbTzEwTQAbW0gAG09IABtbMTs5SAAbWzE7OEgAG1sxOzdIABtbMTs2SAAbWzE7MTZIABtbMTs1SAAbWzE7MTVIABtbMTs0SAAbWzE7MTRIABtbMTszSAAbWzE7MTNIABtbMTsySAAbWzE7MTJIABtbMTsxMUgAG1sxOzEwSAAbW0YAG09GABtbMTs5RgAbWzE7OEYAG1sxOzdGABtbMTs2RgAbWzE7MTZGABtbMTs1RgAbWzE7MTVGABtbMTs0RgAbWzE7MTRGABtbMTszRgAbWzE7MTNGABtbMTsyRgAbWzE7MTJGABtbMTsxMUYAG1sxOzEwRgAbW0UAG09FABtbMTs5RQAbWzE7OEUAG1sxOzdFABtbMTs2RQAbWzE7MTZFABtbMTs1RQAbWzE7MTVFABtbMTs0RQAbWzE7MTRFABtbMTszRQAbWzE7MTNFABtbMTsyRQAbWzE7MTJFABtbMTsxMUUAG1sxOzEwRQAbW0QAG09EABtbMTs5RAAbWzE7OEQAG1sxOzdEABtbMTs2RAAbWzE7MTZEABtbMTs1RAAbWzE7MTVEABtbMTs0RAAbWzE7MTREABtbMTszRAAbWzE7MTNEABtbMTsyRAAbWzE7MTJEABtbMTsxMUQAG1sxOzEwRAAbW0MAG09DABtbMTs5QwAbWzE7OEMAG1sxOzdDABtbMTs2QwAbWzE7MTZDABtbMTs1QwAbWzE7MTVDABtbMTs0QwAbWzE7MTRDABtbMTszQwAbWzE7MTNDABtbMTsyQwAbWzE7MTJDABtbMTsxMUMAG1sxOzEwQwAbW0IAG09CABtbMTs5QgAbWzE7OEIAG1sxOzdCABtbMTs2QgAbWzE7MTZCABtbMTs1QgAbWzE7MTVCABtbMTs0QgAbWzE7MTRCABtbMTszQgAbWzE7MTNCABtbMTsyQgAbWzE7MTJCABtbMTsxMUIAG1sxOzEwQgAbW0EAG09BABtbMTs5QQAbWzE7OEEAG1sxOzdBABtbMTs2QQAbWzE7MTZBABtbMTs1QQAbWzE7MTVBABtbMTs0QQAbWzE7MTRBABtbMTszQQAbWzE7MTNBABtbMTsyQQAbWzE7MTJBABtbMTsxMUEAG1sxOzEwQQA/AG9zY185AG9zY18xOQBvc2NfMTE5AEludmFsaWRVdGY4AG9zY18xOABvc2NfMTE4ADc3NwBvc2NfMTcAb3NjXzExNwBvc2NfMTYAb3NjXzExNgBvc2NfNQAyMjczNzM2NzU0NDMyMzIwNTk0Nzg3NTk3NjU2MjUAMTIzMjU5NTE2NDQwNzgzMDk0NTk1NTgyNTg4MzI1NDM1MzQ4Mzg2NDM4NTA1NDg1Nzg0ODQ0NDk1MzU2MDgyOTE2MjU5NzY1NjI1ADUyOTM5NTU5MjAzMzkzNzcxMTkxNzcwMTU2MjkyNDc3NjIyNjI4MjExOTc1MDk3NjU2MjUAODA3NzkzNTY2OTQ2MzE2MDg4NzQxNjEwMDUwODQ5NTczMDk5MTg1MzYzMzg5NTUxNjM5NTU2ODg0NzY1NjI1ADE0OTAxMTYxMTkzODQ3NjU2MjUAMTg4MDc5MDk2MTMxNTY2MDAxMjc0OTk3ODQ1OTU1NTU5MzA4NDUwOTg2NDg5MDgzNTM0MDAzNDQxNDAwMjczMDA0NTQ2NzYxNTEyNzU2MzQ3NjU2MjUAMzQ2OTQ0Njk1MTk1MzYxNDE4ODgyMzg0ODk2Mjc4MzgxMzQ3NjU2MjUAMzgxNDY5NzI2NTYyNQAyMDY3OTUxNTMxMzgyNTY5MTg3MTc4NTIxNzMwMTc0OTA3MTMzOTE0NTMwMjc3MjUyMTk3MjY1NjI1ADQ4MTQ4MjQ4NjA5NjgwODk2MzI2Mzk5NDQ4NTY0NjIzMTgyOTYzNDUyNTQxMjA1Mzg0NzA0ODgwOTk4NDY5ODg5MTYzOTcwOTQ3MjY1NjI1ADg4ODE3ODQxOTcwMDEyNTIzMjMzODkwNTMzNDQ3MjY1NjI1ADMxNTU0NDM2MjA4ODQwNDcyMjE2NDY5MTQyNjExMzExNDQ5MTg2OTI4MjU3NDA0MzYwOTIwMTkwODExMTU3MjI2NTYyNQA1ODIwNzY2MDkxMzQ2NzQwNzIyNjU2MjUAMTM1NTI1MjcxNTYwNjg4MDU0MjUwOTMxNjAwMTA4NzQyNzEzOTI4MjIyNjU2MjUANTA0ODcwOTc5MzQxNDQ3NTU1NDYzNTA2MjgxNzgwOTgzMTg2OTkwODUyMTE4NDY5Nzc0NzIzMDUyOTc4NTE1NjI1ADkzMTMyMjU3NDYxNTQ3ODUxNTYyNQAxMTc1NDk0MzUwODIyMjg3NTA3OTY4NzM2NTM3MjIyMjQ1Njc3ODE4NjY1NTU2NzcyMDg3NTIxNTA4NzUxNzA2Mjc4NDE3MjU5NDU0NzI3MTcyODUxNTYyNQAyMTY4NDA0MzQ0OTcxMDA4ODY4MDE0OTA1NjAxNzM5ODgzNDIyODUxNTYyNQAxNDIxMDg1NDcxNTIwMjAwMzcxNzQyMjQ4NTM1MTU2MjUANzcwMzcxOTc3NzU0ODk0MzQxMjIyMzkxMTc3MDMzOTcwOTI3NDE1MjQwNjU5Mjg2MTU1Mjc4MDk1OTc1NTE4MjI2NjIzNTM1MTU2MjUAMzMwODcyMjQ1MDIxMjExMDY5OTQ4NTYzNDc2ODI3OTg1MTQxNDI2MzI0ODQ0MzYwMzUxNTYyNQA2MTAzNTE1NjI1ADE5NzIxNTIyNjMwNTI1Mjk1MTM1MjkzMjE0MTMyMDY5NjU1NzQxODMwMTYwODc3NzI1NTc1MTE5MjU2OTczMjY2NjAxNTYyNQAzNjM3OTc4ODA3MDkxNzEyOTUxNjYwMTU2MjUAODQ3MDMyOTQ3MjU0MzAwMzM5MDY4MzIyNTAwNjc5NjQxOTYyMDUxMzkxNjAxNTYyNQAyMzg0MTg1NzkxMDE1NjI1ADEyOTI0Njk3MDcxMTQxMDU3NDE5ODY1NzYwODEzNTkzMTY5NTg2OTY1ODE0MjMyODI2MjMyOTEwMTU2MjUANTU1MTExNTEyMzEyNTc4MjcwMjExODE1ODM0MDQ1NDEwMTU2MjUAMzAwOTI2NTUzODEwNTA1NjAyMDM5OTk2NTUzNTI4ODk0ODkzNTIxNTc4MzgyNTMzNjU0NDA1NTA2MjQwNDM2ODA3Mjc0ODE4NDIwNDEwMTU2MjUAMTUyNTg3ODkwNjI1ADgyNzE4MDYxMjU1MzAyNzY3NDg3MTQwODY5MjA2OTk2Mjg1MzU2NTgxMjExMDkwMDg3ODkwNjI1ADE5MjU5Mjk5NDQzODcyMzU4NTMwNTU5Nzc5NDI1ODQ5MjczMTg1MzgxMDE2NDgyMTUzODgxOTUyMzk5Mzg3OTU1NjY1NTg4Mzc4OTA2MjUAMzU1MjcxMzY3ODgwMDUwMDkyOTM1NTYyMTMzNzg5MDYyNQAyMzI4MzA2NDM2NTM4Njk2Mjg5MDYyNQAxMjYyMTc3NDQ4MzUzNjE4ODg4NjU4NzY1NzA0NDUyNDU3OTY3NDc3MTMwMjk2MTc0NDM2ODA3NjMyNDQ2Mjg5MDYyNQA1NDIxMDEwODYyNDI3NTIyMTcwMDM3MjY0MDA0MzQ5NzA4NTU3MTI4OTA2MjUANTk2MDQ2NDQ3NzUzOTA2MjUAMzIzMTE3NDI2Nzc4NTI2NDM1NDk2NjQ0MDIwMzM5ODI5MjM5Njc0MTQ1MzU1ODIwNjU1ODIyNzUzOTA2MjUAMTM4Nzc3ODc4MDc4MTQ0NTY3NTUyOTUzOTU4NTExMzUyNTM5MDYyNQA3NTIzMTYzODQ1MjYyNjQwMDUwOTk5OTEzODM4MjIyMzcyMzM4MDM5NDU5NTYzMzQxMzYwMTM3NjU2MDEwOTIwMTgxODcwNDYwNTEwMjUzOTA2MjUANDkzMDM4MDY1NzYzMTMyMzc4MzgyMzMwMzUzMzAxNzQxMzkzNTQ1NzU0MDIxOTQzMTM5Mzc3OTgxNDI0MzMxNjY1MDM5MDYyNQA5MDk0OTQ3MDE3NzI5MjgyMzc5MTUwMzkwNjI1ADIxMTc1ODIzNjgxMzU3NTA4NDc2NzA4MDYyNTE2OTkxMDQ5MDUxMjg0NzkwMDM5MDYyNQAzMzg4MTMxNzg5MDE3MjAxMzU2MjczMjkwMDAyNzE4NTY3ODQ4MjA1NTY2NDA2MjUAMTQ1NTE5MTUyMjgzNjY4NTE4MDY2NDA2MjUANzg4ODYwOTA1MjIxMDExODA1NDExNzI4NTY1MjgyNzg2MjI5NjczMjA2NDM1MTA5MDIzMDA0NzcwMjc4OTMwNjY0MDYyNQAxMjAzNzA2MjE1MjQyMDIyNDA4MTU5OTg2MjE0MTE1NTc5NTc0MDg2MzEzNTMwMTM0NjE3NjIyMDI0OTYxNzQ3MjI5MDk5MjczNjgxNjQwNjI1ADIyMjA0NDYwNDkyNTAzMTMwODA4NDcyNjMzMzYxODE2NDA2MjUANTE2OTg3ODgyODQ1NjQyMjk2Nzk0NjMwNDMyNTQzNzI2NzgzNDc4NjMyNTY5MzEzMDQ5MzE2NDA2MjUAOTUzNjc0MzE2NDA2MjUANDcwMTk3NzQwMzI4OTE1MDAzMTg3NDk0NjE0ODg4ODk4MjcxMTI3NDY2MjIyNzA4ODM1MDA4NjAzNTAwNjgyNTExMzY2OTAzNzgxODkwODY5MTQwNjI1ADg2NzM2MTczNzk4ODQwMzU0NzIwNTk2MjI0MDY5NTk1MzM2OTE0MDYyNQAzNzI1MjkwMjk4NDYxOTE0MDYyNQAyMDE5NDgzOTE3MzY1NzkwMjIxODU0MDI1MTI3MTIzOTMyNzQ3OTYzNDA4NDczODc5MDk4ODkyMjExOTE0MDYyNQA1Njg0MzQxODg2MDgwODAxNDg2OTY4OTk0MTQwNjI1ADMwODE0ODc5MTEwMTk1NzczNjQ4ODk1NjQ3MDgxMzU4ODM3MDk2NjA5NjI2MzcxNDQ2MjExMTIzODM5MDIwNzI5MDY0OTQxNDA2MjUAMTMyMzQ4ODk4MDA4NDg0NDI3OTc5NDI1MzkwNzMxMTk0MDU2NTcwNTI5OTM3NzQ0MTQwNjI1ADI0NDE0MDYyNQAzODUxODU5ODg4Nzc0NDcxNzA2MTExOTU1ODg1MTY5ODU0NjM3MDc2MjAzMjk2NDMwNzc2MzkwNDc5ODc3NTkxMTMzMTE3Njc1NzgxMjUANzEwNTQyNzM1NzYwMTAwMTg1ODcxMTI0MjY3NTc4MTI1ADMwNTE3NTc4MTI1ADE2NTQzNjEyMjUxMDYwNTUzNDk3NDI4MTczODQxMzk5MjU3MDcxMzE2MjQyMjE4MDE3NTc4MTI1ADI1MjQzNTQ4OTY3MDcyMzc3NzczMTc1MzE0MDg5MDQ5MTU5MzQ5NTQyNjA1OTIzNDg4NzM2MTUyNjQ4OTI1NzgxMjUANDY1NjYxMjg3MzA3NzM5MjU3ODEyNQA1ODc3NDcxNzU0MTExNDM3NTM5ODQzNjgyNjg2MTExMjI4Mzg5MDkzMzI3NzgzODYwNDM3NjA3NTQzNzU4NTMxMzkyMDg2Mjk3MjczNjM1ODY0MjU3ODEyNQAxMDg0MjAyMTcyNDg1NTA0NDM0MDA3NDUyODAwODY5OTQxNzExNDI1NzgxMjUAMTE5MjA5Mjg5NTUwNzgxMjUANjQ2MjM0ODUzNTU3MDUyODcwOTkzMjg4MDQwNjc5NjU4NDc5MzQ4MjkwNzExNjQxMzExNjQ1NTA3ODEyNQAyNzc1NTU3NTYxNTYyODkxMzUxMDU5MDc5MTcwMjI3MDUwNzgxMjUAMTUwNDYzMjc2OTA1MjUyODAxMDE5OTk4Mjc2NzY0NDQ3NDQ2NzYwNzg5MTkxMjY2ODI3MjAyNzUzMTIwMjE4NDAzNjM3NDA5MjEwMjA1MDc4MTI1ADQyMzUxNjQ3MzYyNzE1MDE2OTUzNDE2MTI1MDMzOTgyMDk4MTAyNTY5NTgwMDc4MTI1ADE4MTg5ODk0MDM1NDU4NTY0NzU4MzAwNzgxMjUAOTg2MDc2MTMxNTI2MjY0NzU2NzY0NjYwNzA2NjAzNDgyNzg3MDkxNTA4MDQzODg2Mjc4NzU1OTYyODQ4NjYzMzMwMDc4MTI1ADExMzY4NjgzNzcyMTYxNjAyOTczOTM3OTg4MjgxMjUANjE2Mjk3NTgyMjAzOTE1NDcyOTc3OTEyOTQxNjI3MTc2NzQxOTMyMTkyNTI3NDI4OTI0MjIyNDc2NzgwNDE0NTgxMjk4ODI4MTI1ADI2NDY5Nzc5NjAxNjk2ODg1NTk1ODg1MDc4MTQ2MjM4ODExMzE0MTA1OTg3NTQ4ODI4MTI1ADE3MzQ3MjM0NzU5NzY4MDcwOTQ0MTE5MjQ0ODEzOTE5MDY3MzgyODEyNQA5NDAzOTU0ODA2NTc4MzAwMDYzNzQ5ODkyMjk3Nzc3OTY1NDIyNTQ5MzI0NDU0MTc2NzAwMTcyMDcwMDEzNjUwMjI3MzM4MDc1NjM3ODE3MzgyODEyNQA3NDUwNTgwNTk2OTIzODI4MTI1ADQwMzg5Njc4MzQ3MzE1ODA0NDM3MDgwNTAyNTQyNDc4NjU0OTU5MjY4MTY5NDc3NTgxOTc3ODQ0MjM4MjgxMjUAMTAzMzk3NTc2NTY5MTI4NDU5MzU4OTI2MDg2NTA4NzQ1MzU2Njk1NzI2NTEzODYyNjA5ODYzMjgxMjUAMTkwNzM0ODYzMjgxMjUAMjQwNzQxMjQzMDQ4NDA0NDgxNjMxOTk3MjQyODIzMTE1OTE0ODE3MjYyNzA2MDI2OTIzNTI0NDA0OTkyMzQ5NDQ1ODE5ODU0NzM2MzI4MTI1ADQ0NDA4OTIwOTg1MDA2MjYxNjE2OTQ1MjY2NzIzNjMyODEyNQAxNTc3NzIxODEwNDQyMDIzNjEwODIzNDU3MTMwNTY1NTcyNDU5MzQ2NDEyODcwMjE4MDQ2MDA5NTQwNTU3ODYxMzI4MTI1ADI5MTAzODMwNDU2NzMzNzAzNjEzMjgxMjUANjc3NjI2MzU3ODAzNDQwMjcxMjU0NjU4MDAwNTQzNzEzNTY5NjQxMTEzMjgxMjUAMjk4MDIzMjIzODc2OTUzMTI1ADE2MTU1ODcxMzM4OTI2MzIxNzc0ODMyMjAxMDE2OTkxNDYxOTgzNzA3MjY3NzkxMDMyNzkxMTM3Njk1MzEyNQA2OTM4ODkzOTAzOTA3MjI4Mzc3NjQ3Njk3OTI1NTY3NjI2OTUzMTI1ADM3NjE1ODE5MjI2MzEzMjAwMjU0OTk5NTY5MTkxMTExODYxNjkwMTk3Mjk3ODE2NzA2ODAwNjg4MjgwMDU0NjAwOTA5MzUyMzAyNTUxMjY5NTMxMjUANDU0NzQ3MzUwODg2NDY0MTE4OTU3NTE5NTMxMjUAMjQ2NTE5MDMyODgxNTY2MTg5MTkxMTY1MTc2NjUwODcwNjk2NzcyODc3MDEwOTcxNTY5Njg4OTkwNzEyMTY1ODMyNTE5NTMxMjUAMTA1ODc5MTE4NDA2Nzg3NTQyMzgzNTQwMzEyNTg0OTU1MjQ1MjU2NDIzOTUwMTk1MzEyNQAxNzc2MzU2ODM5NDAwMjUwNDY0Njc3ODEwNjY4OTQ1MzEyNQA5NjI5NjQ5NzIxOTM2MTc5MjY1Mjc5ODg5NzEyOTI0NjM2NTkyNjkwNTA4MjQxMDc2OTQwOTc2MTk5NjkzOTc3ODMyNzk0MTg5NDUzMTI1ADc2MjkzOTQ1MzEyNQA0MTM1OTAzMDYyNzY1MTM4Mzc0MzU3MDQzNDYwMzQ5ODE0MjY3ODI5MDYwNTU0NTA0Mzk0NTMxMjUAMjcxMDUwNTQzMTIxMzc2MTA4NTAxODYzMjAwMjE3NDg1NDI3ODU2NDQ1MzEyNQAxMTY0MTUzMjE4MjY5MzQ4MTQ0NTMxMjUANjMxMDg4NzI0MTc2ODA5NDQ0MzI5MzgyODUyMjI2MjI4OTgzNzM4NTY1MTQ4MDg3MjE4NDAzODE2MjIzMTQ0NTMxMjUAMTAwOTc0MTk1ODY4Mjg5NTExMDkyNzAxMjU2MzU2MTk2NjM3Mzk4MTcwNDIzNjkzOTU0OTQ0NjEwNTk1NzAzMTI1ADE4NjI2NDUxNDkyMzA5NTcwMzEyNQA0MzM2ODA4Njg5OTQyMDE3NzM2MDI5ODExMjAzNDc5NzY2ODQ1NzAzMTI1ADIzNTA5ODg3MDE2NDQ1NzUwMTU5Mzc0NzMwNzQ0NDQ0OTEzNTU2MzczMzExMTM1NDQxNzUwNDMwMTc1MDM0MTI1NTY4MzQ1MTg5MDk0NTQzNDU3MDMxMjUAMjg0MjE3MDk0MzA0MDQwMDc0MzQ4NDQ5NzA3MDMxMjUAMTU0MDc0Mzk1NTUwOTc4ODY4MjQ0NDc4MjM1NDA2Nzk0MTg1NDgzMDQ4MTMxODU3MjMxMDU1NjE5MTk1MTAzNjQ1MzI0NzA3MDMxMjUANjYxNzQ0NDkwMDQyNDIyMTM5ODk3MTI2OTUzNjU1OTcwMjgyODUyNjQ5Njg4NzIwNzAzMTI1ADEyMjA3MDMxMjUAMjU4NDkzOTQxNDIyODIxMTQ4Mzk3MzE1MjE2MjcxODYzMzkxNzM5MzE2Mjg0NjU2NTI0NjU4MjAzMTI1ADQ3NjgzNzE1ODIwMzEyNQAxMTEwMjIzMDI0NjI1MTU2NTQwNDIzNjMxNjY4MDkwODIwMzEyNQA2MDE4NTMxMDc2MjEwMTEyMDQwNzk5OTMxMDcwNTc3ODk3ODcwNDMxNTY3NjUwNjczMDg4MTEwMTI0ODA4NzM2MTQ1NDk2MzY4NDA4MjAzMTI1ADE2OTQwNjU4OTQ1MDg2MDA2NzgxMzY2NDUwMDEzNTkyODM5MjQxMDI3ODMyMDMxMjUAMzk0NDMwNDUyNjEwNTA1OTAyNzA1ODY0MjgyNjQxMzkzMTE0ODM2NjAzMjE3NTU0NTExNTAyMzg1MTM5NDY1MzMyMDMxMjUANzI3NTk1NzYxNDE4MzQyNTkwMzMyMDMxMjUAb3NjXzE1AG9zY18xMTUAb3NjXzEwNQBvc2NfNABvc2NfMTQAb3NjXzExNABvc2NfMTA0ADEzMwBvc2NfMTMAb3NjXzExMwA1MgAyMgBvc2NfMTIAb3NjXzExMgBoYW5kMQAyMQBvc2NfMTEAb3NjXzExMQBvc2NfMTAAb3NjXzExMABlcnJvci4ALnsgLgAsIC4AQGVudW1Gcm9tSW50KAAkJwB7IAAgPSAALCAAGxsAGw0AMjU1IDI1MCAyNTAJCXNub3cKMjQ4IDI0OCAyNTUJCWdob3N0IHdoaXRlCjI0OCAyNDggMjU1CQlHaG9zdFdoaXRlCjI0NSAyNDUgMjQ1CQl3aGl0ZSBzbW9rZQoyNDUgMjQ1IDI0NQkJV2hpdGVTbW9rZQoyMjAgMjIwIDIyMAkJZ2FpbnNib3JvCjI1NSAyNTAgMjQwCQlmbG9yYWwgd2hpdGUKMjU1IDI1MCAyNDAJCUZsb3JhbFdoaXRlCjI1MyAyNDUgMjMwCQlvbGQgbGFjZQoyNTMgMjQ1IDIzMAkJT2xkTGFjZQoyNTAgMjQwIDIzMAkJbGluZW4KMjUwIDIzNSAyMTUJCWFudGlxdWUgd2hpdGUKMjUwIDIzNSAyMTUJCUFudGlxdWVXaGl0ZQoyNTUgMjM5IDIxMwkJcGFwYXlhIHdoaXAKMjU1IDIzOSAyMTMJCVBhcGF5YVdoaXAKMjU1IDIzNSAyMDUJCWJsYW5jaGVkIGFsbW9uZAoyNTUgMjM1IDIwNQkJQmxhbmNoZWRBbG1vbmQKMjU1IDIyOCAxOTYJCWJpc3F1ZQoyNTUgMjE4IDE4NQkJcGVhY2ggcHVmZgoyNTUgMjE4IDE4NQkJUGVhY2hQdWZmCjI1NSAyMjIgMTczCQluYXZham8gd2hpdGUKMjU1IDIyMiAxNzMJCU5hdmFqb1doaXRlCjI1NSAyMjggMTgxCQltb2NjYXNpbgoyNTUgMjQ4IDIyMAkJY29ybnNpbGsKMjU1IDI1NSAyNDAJCWl2b3J5CjI1NSAyNTAgMjA1CQlsZW1vbiBjaGlmZm9uCjI1NSAyNTAgMjA1CQlMZW1vbkNoaWZmb24KMjU1IDI0NSAyMzgJCXNlYXNoZWxsCjI0MCAyNTUgMjQwCQlob25leWRldwoyNDUgMjU1IDI1MAkJbWludCBjcmVhbQoyNDUgMjU1IDI1MAkJTWludENyZWFtCjI0MCAyNTUgMjU1CQlhenVyZQoyNDAgMjQ4IDI1NQkJYWxpY2UgYmx1ZQoyNDAgMjQ4IDI1NQkJQWxpY2VCbHVlCjIzMCAyMzAgMjUwCQlsYXZlbmRlcgoyNTUgMjQwIDI0NQkJbGF2ZW5kZXIgYmx1c2gKMjU1IDI0MCAyNDUJCUxhdmVuZGVyQmx1c2gKMjU1IDIyOCAyMjUJCW1pc3R5IHJvc2UKMjU1IDIyOCAyMjUJCU1pc3R5Um9zZQoyNTUgMjU1IDI1NQkJd2hpdGUKICAwICAgMCAgIDAJCWJsYWNrCiA0NyAgNzkgIDc5CQlkYXJrIHNsYXRlIGdyYXkKIDQ3ICA3OSAgNzkJCURhcmtTbGF0ZUdyYXkKIDQ3ICA3OSAgNzkJCWRhcmsgc2xhdGUgZ3JleQogNDcgIDc5ICA3OQkJRGFya1NsYXRlR3JleQoxMDUgMTA1IDEwNQkJZGltIGdyYXkKMTA1IDEwNSAxMDUJCURpbUdyYXkKMTA1IDEwNSAxMDUJCWRpbSBncmV5CjEwNSAxMDUgMTA1CQlEaW1HcmV5CjExMiAxMjggMTQ0CQlzbGF0ZSBncmF5CjExMiAxMjggMTQ0CQlTbGF0ZUdyYXkKMTEyIDEyOCAxNDQJCXNsYXRlIGdyZXkKMTEyIDEyOCAxNDQJCVNsYXRlR3JleQoxMTkgMTM2IDE1MwkJbGlnaHQgc2xhdGUgZ3JheQoxMTkgMTM2IDE1MwkJTGlnaHRTbGF0ZUdyYXkKMTE5IDEzNiAxNTMJCWxpZ2h0IHNsYXRlIGdyZXkKMTE5IDEzNiAxNTMJCUxpZ2h0U2xhdGVHcmV5CjE5MCAxOTAgMTkwCQlncmF5CjE5MCAxOTAgMTkwCQlncmV5CjE5MCAxOTAgMTkwCQl4MTEgZ3JheQoxOTAgMTkwIDE5MAkJWDExR3JheQoxOTAgMTkwIDE5MAkJeDExIGdyZXkKMTkwIDE5MCAxOTAJCVgxMUdyZXkKMTI4IDEyOCAxMjgJCXdlYiBncmF5CjEyOCAxMjggMTI4CQlXZWJHcmF5CjEyOCAxMjggMTI4CQl3ZWIgZ3JleQoxMjggMTI4IDEyOAkJV2ViR3JleQoyMTEgMjExIDIxMQkJbGlnaHQgZ3JleQoyMTEgMjExIDIxMQkJTGlnaHRHcmV5CjIxMSAyMTEgMjExCQlsaWdodCBncmF5CjIxMSAyMTEgMjExCQlMaWdodEdyYXkKIDI1ICAyNSAxMTIJCW1pZG5pZ2h0IGJsdWUKIDI1ICAyNSAxMTIJCU1pZG5pZ2h0Qmx1ZQogIDAgICAwIDEyOAkJbmF2eQogIDAgICAwIDEyOAkJbmF2eSBibHVlCiAgMCAgIDAgMTI4CQlOYXZ5Qmx1ZQoxMDAgMTQ5IDIzNwkJY29ybmZsb3dlciBibHVlCjEwMCAxNDkgMjM3CQlDb3JuZmxvd2VyQmx1ZQogNzIgIDYxIDEzOQkJZGFyayBzbGF0ZSBibHVlCiA3MiAgNjEgMTM5CQlEYXJrU2xhdGVCbHVlCjEwNiAgOTAgMjA1CQlzbGF0ZSBibHVlCjEwNiAgOTAgMjA1CQlTbGF0ZUJsdWUKMTIzIDEwNCAyMzgJCW1lZGl1bSBzbGF0ZSBibHVlCjEyMyAxMDQgMjM4CQlNZWRpdW1TbGF0ZUJsdWUKMTMyIDExMiAyNTUJCWxpZ2h0IHNsYXRlIGJsdWUKMTMyIDExMiAyNTUJCUxpZ2h0U2xhdGVCbHVlCiAgMCAgIDAgMjA1CQltZWRpdW0gYmx1ZQogIDAgICAwIDIwNQkJTWVkaXVtQmx1ZQogNjUgMTA1IDIyNQkJcm95YWwgYmx1ZQogNjUgMTA1IDIyNQkJUm95YWxCbHVlCiAgMCAgIDAgMjU1CQlibHVlCiAzMCAxNDQgMjU1CQlkb2RnZXIgYmx1ZQogMzAgMTQ0IDI1NQkJRG9kZ2VyQmx1ZQogIDAgMTkxIDI1NQkJZGVlcCBza3kgYmx1ZQogIDAgMTkxIDI1NQkJRGVlcFNreUJsdWUKMTM1IDIwNiAyMzUJCXNreSBibHVlCjEzNSAyMDYgMjM1CQlTa3lCbHVlCjEzNSAyMDYgMjUwCQlsaWdodCBza3kgYmx1ZQoxMzUgMjA2IDI1MAkJTGlnaHRTa3lCbHVlCiA3MCAxMzAgMTgwCQlzdGVlbCBibHVlCiA3MCAxMzAgMTgwCQlTdGVlbEJsdWUKMTc2IDE5NiAyMjIJCWxpZ2h0IHN0ZWVsIGJsdWUKMTc2IDE5NiAyMjIJCUxpZ2h0U3RlZWxCbHVlCjE3MyAyMTYgMjMwCQlsaWdodCBibHVlCjE3MyAyMTYgMjMwCQlMaWdodEJsdWUKMTc2IDIyNCAyMzAJCXBvd2RlciBibHVlCjE3NiAyMjQgMjMwCQlQb3dkZXJCbHVlCjE3NSAyMzggMjM4CQlwYWxlIHR1cnF1b2lzZQoxNzUgMjM4IDIzOAkJUGFsZVR1cnF1b2lzZQogIDAgMjA2IDIwOQkJZGFyayB0dXJxdW9pc2UKICAwIDIwNiAyMDkJCURhcmtUdXJxdW9pc2UKIDcyIDIwOSAyMDQJCW1lZGl1bSB0dXJxdW9pc2UKIDcyIDIwOSAyMDQJCU1lZGl1bVR1cnF1b2lzZQogNjQgMjI0IDIwOAkJdHVycXVvaXNlCiAgMCAyNTUgMjU1CQljeWFuCiAgMCAyNTUgMjU1CQlhcXVhCjIyNCAyNTUgMjU1CQlsaWdodCBjeWFuCjIyNCAyNTUgMjU1CQlMaWdodEN5YW4KIDk1IDE1OCAxNjAJCWNhZGV0IGJsdWUKIDk1IDE1OCAxNjAJCUNhZGV0Qmx1ZQoxMDIgMjA1IDE3MAkJbWVkaXVtIGFxdWFtYXJpbmUKMTAyIDIwNSAxNzAJCU1lZGl1bUFxdWFtYXJpbmUKMTI3IDI1NSAyMTIJCWFxdWFtYXJpbmUKICAwIDEwMCAgIDAJCWRhcmsgZ3JlZW4KICAwIDEwMCAgIDAJCURhcmtHcmVlbgogODUgMTA3ICA0NwkJZGFyayBvbGl2ZSBncmVlbgogODUgMTA3ICA0NwkJRGFya09saXZlR3JlZW4KMTQzIDE4OCAxNDMJCWRhcmsgc2VhIGdyZWVuCjE0MyAxODggMTQzCQlEYXJrU2VhR3JlZW4KIDQ2IDEzOSAgODcJCXNlYSBncmVlbgogNDYgMTM5ICA4NwkJU2VhR3JlZW4KIDYwIDE3OSAxMTMJCW1lZGl1bSBzZWEgZ3JlZW4KIDYwIDE3OSAxMTMJCU1lZGl1bVNlYUdyZWVuCiAzMiAxNzggMTcwCQlsaWdodCBzZWEgZ3JlZW4KIDMyIDE3OCAxNzAJCUxpZ2h0U2VhR3JlZW4KMTUyIDI1MSAxNTIJCXBhbGUgZ3JlZW4KMTUyIDI1MSAxNTIJCVBhbGVHcmVlbgogIDAgMjU1IDEyNwkJc3ByaW5nIGdyZWVuCiAgMCAyNTUgMTI3CQlTcHJpbmdHcmVlbgoxMjQgMjUyICAgMAkJbGF3biBncmVlbgoxMjQgMjUyICAgMAkJTGF3bkdyZWVuCiAgMCAyNTUgICAwCQlncmVlbgogIDAgMjU1ICAgMAkJbGltZQogIDAgMjU1ICAgMAkJeDExIGdyZWVuCiAgMCAyNTUgICAwCQlYMTFHcmVlbgogIDAgMTI4ICAgMAkJd2ViIGdyZWVuCiAgMCAxMjggICAwCQlXZWJHcmVlbgoxMjcgMjU1ICAgMAkJY2hhcnRyZXVzZQogIDAgMjUwIDE1NAkJbWVkaXVtIHNwcmluZyBncmVlbgogIDAgMjUwIDE1NAkJTWVkaXVtU3ByaW5nR3JlZW4KMTczIDI1NSAgNDcJCWdyZWVuIHllbGxvdwoxNzMgMjU1ICA0NwkJR3JlZW5ZZWxsb3cKIDUwIDIwNSAgNTAJCWxpbWUgZ3JlZW4KIDUwIDIwNSAgNTAJCUxpbWVHcmVlbgoxNTQgMjA1ICA1MAkJeWVsbG93IGdyZWVuCjE1NCAyMDUgIDUwCQlZZWxsb3dHcmVlbgogMzQgMTM5ICAzNAkJZm9yZXN0IGdyZWVuCiAzNCAxMzkgIDM0CQlGb3Jlc3RHcmVlbgoxMDcgMTQyICAzNQkJb2xpdmUgZHJhYgoxMDcgMTQyICAzNQkJT2xpdmVEcmFiCjE4OSAxODMgMTA3CQlkYXJrIGtoYWtpCjE4OSAxODMgMTA3CQlEYXJrS2hha2kKMjQwIDIzMCAxNDAJCWtoYWtpCjIzOCAyMzIgMTcwCQlwYWxlIGdvbGRlbnJvZAoyMzggMjMyIDE3MAkJUGFsZUdvbGRlbnJvZAoyNTAgMjUwIDIxMAkJbGlnaHQgZ29sZGVucm9kIHllbGxvdwoyNTAgMjUwIDIxMAkJTGlnaHRHb2xkZW5yb2RZZWxsb3cKMjU1IDI1NSAyMjQJCWxpZ2h0IHllbGxvdwoyNTUgMjU1IDIyNAkJTGlnaHRZZWxsb3cKMjU1IDI1NSAgIDAJCXllbGxvdwoyNTUgMjE1ICAgMAkJZ29sZAoyMzggMjIxIDEzMAkJbGlnaHQgZ29sZGVucm9kCjIzOCAyMjEgMTMwCQlMaWdodEdvbGRlbnJvZAoyMTggMTY1ICAzMgkJZ29sZGVucm9kCjE4NCAxMzQgIDExCQlkYXJrIGdvbGRlbnJvZAoxODQgMTM0ICAxMQkJRGFya0dvbGRlbnJvZAoxODggMTQzIDE0MwkJcm9zeSBicm93bgoxODggMTQzIDE0MwkJUm9zeUJyb3duCjIwNSAgOTIgIDkyCQlpbmRpYW4gcmVkCjIwNSAgOTIgIDkyCQlJbmRpYW5SZWQKMTM5ICA2OSAgMTkJCXNhZGRsZSBicm93bgoxMzkgIDY5ICAxOQkJU2FkZGxlQnJvd24KMTYwICA4MiAgNDUJCXNpZW5uYQoyMDUgMTMzICA2MwkJcGVydQoyMjIgMTg0IDEzNQkJYnVybHl3b29kCjI0NSAyNDUgMjIwCQliZWlnZQoyNDUgMjIyIDE3OQkJd2hlYXQKMjQ0IDE2NCAgOTYJCXNhbmR5IGJyb3duCjI0NCAxNjQgIDk2CQlTYW5keUJyb3duCjIxMCAxODAgMTQwCQl0YW4KMjEwIDEwNSAgMzAJCWNob2NvbGF0ZQoxNzggIDM0ICAzNAkJZmlyZWJyaWNrCjE2NSAgNDIgIDQyCQlicm93bgoyMzMgMTUwIDEyMgkJZGFyayBzYWxtb24KMjMzIDE1MCAxMjIJCURhcmtTYWxtb24KMjUwIDEyOCAxMTQJCXNhbG1vbgoyNTUgMTYwIDEyMgkJbGlnaHQgc2FsbW9uCjI1NSAxNjAgMTIyCQlMaWdodFNhbG1vbgoyNTUgMTY1ICAgMAkJb3JhbmdlCjI1NSAxNDAgICAwCQlkYXJrIG9yYW5nZQoyNTUgMTQwICAgMAkJRGFya09yYW5nZQoyNTUgMTI3ICA4MAkJY29yYWwKMjQwIDEyOCAxMjgJCWxpZ2h0IGNvcmFsCjI0MCAxMjggMTI4CQlMaWdodENvcmFsCjI1NSAgOTkgIDcxCQl0b21hdG8KMjU1ICA2OSAgIDAJCW9yYW5nZSByZWQKMjU1ICA2OSAgIDAJCU9yYW5nZVJlZAoyNTUgICAwICAgMAkJcmVkCjI1NSAxMDUgMTgwCQlob3QgcGluawoyNTUgMTA1IDE4MAkJSG90UGluawoyNTUgIDIwIDE0NwkJZGVlcCBwaW5rCjI1NSAgMjAgMTQ3CQlEZWVwUGluawoyNTUgMTkyIDIwMwkJcGluawoyNTUgMTgyIDE5MwkJbGlnaHQgcGluawoyNTUgMTgyIDE5MwkJTGlnaHRQaW5rCjIxOSAxMTIgMTQ3CQlwYWxlIHZpb2xldCByZWQKMjE5IDExMiAxNDcJCVBhbGVWaW9sZXRSZWQKMTc2ICA0OCAgOTYJCW1hcm9vbgoxNzYgIDQ4ICA5NgkJeDExIG1hcm9vbgoxNzYgIDQ4ICA5NgkJWDExTWFyb29uCjEyOCAgIDAgICAwCQl3ZWIgbWFyb29uCjEyOCAgIDAgICAwCQlXZWJNYXJvb24KMTk5ICAyMSAxMzMJCW1lZGl1bSB2aW9sZXQgcmVkCjE5OSAgMjEgMTMzCQlNZWRpdW1WaW9sZXRSZWQKMjA4ICAzMiAxNDQJCXZpb2xldCByZWQKMjA4ICAzMiAxNDQJCVZpb2xldFJlZAoyNTUgICAwIDI1NQkJbWFnZW50YQoyNTUgICAwIDI1NQkJZnVjaHNpYQoyMzggMTMwIDIzOAkJdmlvbGV0CjIyMSAxNjAgMjIxCQlwbHVtCjIxOCAxMTIgMjE0CQlvcmNoaWQKMTg2ICA4NSAyMTEJCW1lZGl1bSBvcmNoaWQKMTg2ICA4NSAyMTEJCU1lZGl1bU9yY2hpZAoxNTMgIDUwIDIwNAkJZGFyayBvcmNoaWQKMTUzICA1MCAyMDQJCURhcmtPcmNoaWQKMTQ4ICAgMCAyMTEJCWRhcmsgdmlvbGV0CjE0OCAgIDAgMjExCQlEYXJrVmlvbGV0CjEzOCAgNDMgMjI2CQlibHVlIHZpb2xldAoxMzggIDQzIDIyNgkJQmx1ZVZpb2xldAoxNjAgIDMyIDI0MAkJcHVycGxlCjE2MCAgMzIgMjQwCQl4MTEgcHVycGxlCjE2MCAgMzIgMjQwCQlYMTFQdXJwbGUKMTI4ICAgMCAxMjgJCXdlYiBwdXJwbGUKMTI4ICAgMCAxMjgJCVdlYlB1cnBsZQoxNDcgMTEyIDIxOQkJbWVkaXVtIHB1cnBsZQoxNDcgMTEyIDIxOQkJTWVkaXVtUHVycGxlCjIxNiAxOTEgMjE2CQl0aGlzdGxlCjI1NSAyNTAgMjUwCQlzbm93MQoyMzggMjMzIDIzMwkJc25vdzIKMjA1IDIwMSAyMDEJCXNub3czCjEzOSAxMzcgMTM3CQlzbm93NAoyNTUgMjQ1IDIzOAkJc2Vhc2hlbGwxCjIzOCAyMjkgMjIyCQlzZWFzaGVsbDIKMjA1IDE5NyAxOTEJCXNlYXNoZWxsMwoxMzkgMTM0IDEzMAkJc2Vhc2hlbGw0CjI1NSAyMzkgMjE5CQlBbnRpcXVlV2hpdGUxCjIzOCAyMjMgMjA0CQlBbnRpcXVlV2hpdGUyCjIwNSAxOTIgMTc2CQlBbnRpcXVlV2hpdGUzCjEzOSAxMzEgMTIwCQlBbnRpcXVlV2hpdGU0CjI1NSAyMjggMTk2CQliaXNxdWUxCjIzOCAyMTMgMTgzCQliaXNxdWUyCjIwNSAxODMgMTU4CQliaXNxdWUzCjEzOSAxMjUgMTA3CQliaXNxdWU0CjI1NSAyMTggMTg1CQlQZWFjaFB1ZmYxCjIzOCAyMDMgMTczCQlQZWFjaFB1ZmYyCjIwNSAxNzUgMTQ5CQlQZWFjaFB1ZmYzCjEzOSAxMTkgMTAxCQlQZWFjaFB1ZmY0CjI1NSAyMjIgMTczCQlOYXZham9XaGl0ZTEKMjM4IDIwNyAxNjEJCU5hdmFqb1doaXRlMgoyMDUgMTc5IDEzOQkJTmF2YWpvV2hpdGUzCjEzOSAxMjEgIDk0CQlOYXZham9XaGl0ZTQKMjU1IDI1MCAyMDUJCUxlbW9uQ2hpZmZvbjEKMjM4IDIzMyAxOTEJCUxlbW9uQ2hpZmZvbjIKMjA1IDIwMSAxNjUJCUxlbW9uQ2hpZmZvbjMKMTM5IDEzNyAxMTIJCUxlbW9uQ2hpZmZvbjQKMjU1IDI0OCAyMjAJCWNvcm5zaWxrMQoyMzggMjMyIDIwNQkJY29ybnNpbGsyCjIwNSAyMDAgMTc3CQljb3Juc2lsazMKMTM5IDEzNiAxMjAJCWNvcm5zaWxrNAoyNTUgMjU1IDI0MAkJaXZvcnkxCjIzOCAyMzggMjI0CQlpdm9yeTIKMjA1IDIwNSAxOTMJCWl2b3J5MwoxMzkgMTM5IDEzMQkJaXZvcnk0CjI0MCAyNTUgMjQwCQlob25leWRldzEKMjI0IDIzOCAyMjQJCWhvbmV5ZGV3MgoxOTMgMjA1IDE5MwkJaG9uZXlkZXczCjEzMSAxMzkgMTMxCQlob25leWRldzQKMjU1IDI0MCAyNDUJCUxhdmVuZGVyQmx1c2gxCjIzOCAyMjQgMjI5CQlMYXZlbmRlckJsdXNoMgoyMDUgMTkzIDE5NwkJTGF2ZW5kZXJCbHVzaDMKMTM5IDEzMSAxMzQJCUxhdmVuZGVyQmx1c2g0CjI1NSAyMjggMjI1CQlNaXN0eVJvc2UxCjIzOCAyMTMgMjEwCQlNaXN0eVJvc2UyCjIwNSAxODMgMTgxCQlNaXN0eVJvc2UzCjEzOSAxMjUgMTIzCQlNaXN0eVJvc2U0CjI0MCAyNTUgMjU1CQlhenVyZTEKMjI0IDIzOCAyMzgJCWF6dXJlMgoxOTMgMjA1IDIwNQkJYXp1cmUzCjEzMSAxMzkgMTM5CQlhenVyZTQKMTMxIDExMSAyNTUJCVNsYXRlQmx1ZTEKMTIyIDEwMyAyMzgJCVNsYXRlQmx1ZTIKMTA1ICA4OSAyMDUJCVNsYXRlQmx1ZTMKIDcxICA2MCAxMzkJCVNsYXRlQmx1ZTQKIDcyIDExOCAyNTUJCVJveWFsQmx1ZTEKIDY3IDExMCAyMzgJCVJveWFsQmx1ZTIKIDU4ICA5NSAyMDUJCVJveWFsQmx1ZTMKIDM5ICA2NCAxMzkJCVJveWFsQmx1ZTQKICAwICAgMCAyNTUJCWJsdWUxCiAgMCAgIDAgMjM4CQlibHVlMgogIDAgICAwIDIwNQkJYmx1ZTMKICAwICAgMCAxMzkJCWJsdWU0CiAzMCAxNDQgMjU1CQlEb2RnZXJCbHVlMQogMjggMTM0IDIzOAkJRG9kZ2VyQmx1ZTIKIDI0IDExNiAyMDUJCURvZGdlckJsdWUzCiAxNiAgNzggMTM5CQlEb2RnZXJCbHVlNAogOTkgMTg0IDI1NQkJU3RlZWxCbHVlMQogOTIgMTcyIDIzOAkJU3RlZWxCbHVlMgogNzkgMTQ4IDIwNQkJU3RlZWxCbHVlMwogNTQgMTAwIDEzOQkJU3RlZWxCbHVlNAogIDAgMTkxIDI1NQkJRGVlcFNreUJsdWUxCiAgMCAxNzggMjM4CQlEZWVwU2t5Qmx1ZTIKICAwIDE1NCAyMDUJCURlZXBTa3lCbHVlMwogIDAgMTA0IDEzOQkJRGVlcFNreUJsdWU0CjEzNSAyMDYgMjU1CQlTa3lCbHVlMQoxMjYgMTkyIDIzOAkJU2t5Qmx1ZTIKMTA4IDE2NiAyMDUJCVNreUJsdWUzCiA3NCAxMTIgMTM5CQlTa3lCbHVlNAoxNzYgMjI2IDI1NQkJTGlnaHRTa3lCbHVlMQoxNjQgMjExIDIzOAkJTGlnaHRTa3lCbHVlMgoxNDEgMTgyIDIwNQkJTGlnaHRTa3lCbHVlMwogOTYgMTIzIDEzOQkJTGlnaHRTa3lCbHVlNAoxOTggMjI2IDI1NQkJU2xhdGVHcmF5MQoxODUgMjExIDIzOAkJU2xhdGVHcmF5MgoxNTkgMTgyIDIwNQkJU2xhdGVHcmF5MwoxMDggMTIzIDEzOQkJU2xhdGVHcmF5NAoyMDIgMjI1IDI1NQkJTGlnaHRTdGVlbEJsdWUxCjE4OCAyMTAgMjM4CQlMaWdodFN0ZWVsQmx1ZTIKMTYyIDE4MSAyMDUJCUxpZ2h0U3RlZWxCbHVlMwoxMTAgMTIzIDEzOQkJTGlnaHRTdGVlbEJsdWU0CjE5MSAyMzkgMjU1CQlMaWdodEJsdWUxCjE3OCAyMjMgMjM4CQlMaWdodEJsdWUyCjE1NCAxOTIgMjA1CQlMaWdodEJsdWUzCjEwNCAxMzEgMTM5CQlMaWdodEJsdWU0CjIyNCAyNTUgMjU1CQlMaWdodEN5YW4xCjIwOSAyMzggMjM4CQlMaWdodEN5YW4yCjE4MCAyMDUgMjA1CQlMaWdodEN5YW4zCjEyMiAxMzkgMTM5CQlMaWdodEN5YW40CjE4NyAyNTUgMjU1CQlQYWxlVHVycXVvaXNlMQoxNzQgMjM4IDIzOAkJUGFsZVR1cnF1b2lzZTIKMTUwIDIwNSAyMDUJCVBhbGVUdXJxdW9pc2UzCjEwMiAxMzkgMTM5CQlQYWxlVHVycXVvaXNlNAoxNTIgMjQ1IDI1NQkJQ2FkZXRCbHVlMQoxNDIgMjI5IDIzOAkJQ2FkZXRCbHVlMgoxMjIgMTk3IDIwNQkJQ2FkZXRCbHVlMwogODMgMTM0IDEzOQkJQ2FkZXRCbHVlNAogIDAgMjQ1IDI1NQkJdHVycXVvaXNlMQogIDAgMjI5IDIzOAkJdHVycXVvaXNlMgogIDAgMTk3IDIwNQkJdHVycXVvaXNlMwogIDAgMTM0IDEzOQkJdHVycXVvaXNlNAogIDAgMjU1IDI1NQkJY3lhbjEKICAwIDIzOCAyMzgJCWN5YW4yCiAgMCAyMDUgMjA1CQljeWFuMwogIDAgMTM5IDEzOQkJY3lhbjQKMTUxIDI1NSAyNTUJCURhcmtTbGF0ZUdyYXkxCjE0MSAyMzggMjM4CQlEYXJrU2xhdGVHcmF5MgoxMjEgMjA1IDIwNQkJRGFya1NsYXRlR3JheTMKIDgyIDEzOSAxMzkJCURhcmtTbGF0ZUdyYXk0CjEyNyAyNTUgMjEyCQlhcXVhbWFyaW5lMQoxMTggMjM4IDE5OAkJYXF1YW1hcmluZTIKMTAyIDIwNSAxNzAJCWFxdWFtYXJpbmUzCiA2OSAxMzkgMTE2CQlhcXVhbWFyaW5lNAoxOTMgMjU1IDE5MwkJRGFya1NlYUdyZWVuMQoxODAgMjM4IDE4MAkJRGFya1NlYUdyZWVuMgoxNTUgMjA1IDE1NQkJRGFya1NlYUdyZWVuMwoxMDUgMTM5IDEwNQkJRGFya1NlYUdyZWVuNAogODQgMjU1IDE1OQkJU2VhR3JlZW4xCiA3OCAyMzggMTQ4CQlTZWFHcmVlbjIKIDY3IDIwNSAxMjgJCVNlYUdyZWVuMwogNDYgMTM5ICA4NwkJU2VhR3JlZW40CjE1NCAyNTUgMTU0CQlQYWxlR3JlZW4xCjE0NCAyMzggMTQ0CQlQYWxlR3JlZW4yCjEyNCAyMDUgMTI0CQlQYWxlR3JlZW4zCiA4NCAxMzkgIDg0CQlQYWxlR3JlZW40CiAgMCAyNTUgMTI3CQlTcHJpbmdHcmVlbjEKICAwIDIzOCAxMTgJCVNwcmluZ0dyZWVuMgogIDAgMjA1IDEwMgkJU3ByaW5nR3JlZW4zCiAgMCAxMzkgIDY5CQlTcHJpbmdHcmVlbjQKICAwIDI1NSAgIDAJCWdyZWVuMQogIDAgMjM4ICAgMAkJZ3JlZW4yCiAgMCAyMDUgICAwCQlncmVlbjMKICAwIDEzOSAgIDAJCWdyZWVuNAoxMjcgMjU1ICAgMAkJY2hhcnRyZXVzZTEKMTE4IDIzOCAgIDAJCWNoYXJ0cmV1c2UyCjEwMiAyMDUgICAwCQljaGFydHJldXNlMwogNjkgMTM5ICAgMAkJY2hhcnRyZXVzZTQKMTkyIDI1NSAgNjIJCU9saXZlRHJhYjEKMTc5IDIzOCAgNTgJCU9saXZlRHJhYjIKMTU0IDIwNSAgNTAJCU9saXZlRHJhYjMKMTA1IDEzOSAgMzQJCU9saXZlRHJhYjQKMjAyIDI1NSAxMTIJCURhcmtPbGl2ZUdyZWVuMQoxODggMjM4IDEwNAkJRGFya09saXZlR3JlZW4yCjE2MiAyMDUgIDkwCQlEYXJrT2xpdmVHcmVlbjMKMTEwIDEzOSAgNjEJCURhcmtPbGl2ZUdyZWVuNAoyNTUgMjQ2IDE0MwkJa2hha2kxCjIzOCAyMzAgMTMzCQlraGFraTIKMjA1IDE5OCAxMTUJCWtoYWtpMwoxMzkgMTM0ICA3OAkJa2hha2k0CjI1NSAyMzYgMTM5CQlMaWdodEdvbGRlbnJvZDEKMjM4IDIyMCAxMzAJCUxpZ2h0R29sZGVucm9kMgoyMDUgMTkwIDExMgkJTGlnaHRHb2xkZW5yb2QzCjEzOSAxMjkgIDc2CQlMaWdodEdvbGRlbnJvZDQKMjU1IDI1NSAyMjQJCUxpZ2h0WWVsbG93MQoyMzggMjM4IDIwOQkJTGlnaHRZZWxsb3cyCjIwNSAyMDUgMTgwCQlMaWdodFllbGxvdzMKMTM5IDEzOSAxMjIJCUxpZ2h0WWVsbG93NAoyNTUgMjU1ICAgMAkJeWVsbG93MQoyMzggMjM4ICAgMAkJeWVsbG93MgoyMDUgMjA1ICAgMAkJeWVsbG93MwoxMzkgMTM5ICAgMAkJeWVsbG93NAoyNTUgMjE1ICAgMAkJZ29sZDEKMjM4IDIwMSAgIDAJCWdvbGQyCjIwNSAxNzMgICAwCQlnb2xkMwoxMzkgMTE3ICAgMAkJZ29sZDQKMjU1IDE5MyAgMzcJCWdvbGRlbnJvZDEKMjM4IDE4MCAgMzQJCWdvbGRlbnJvZDIKMjA1IDE1NSAgMjkJCWdvbGRlbnJvZDMKMTM5IDEwNSAgMjAJCWdvbGRlbnJvZDQKMjU1IDE4NSAgMTUJCURhcmtHb2xkZW5yb2QxCjIzOCAxNzMgIDE0CQlEYXJrR29sZGVucm9kMgoyMDUgMTQ5ICAxMgkJRGFya0dvbGRlbnJvZDMKMTM5IDEwMSAgIDgJCURhcmtHb2xkZW5yb2Q0CjI1NSAxOTMgMTkzCQlSb3N5QnJvd24xCjIzOCAxODAgMTgwCQlSb3N5QnJvd24yCjIwNSAxNTUgMTU1CQlSb3N5QnJvd24zCjEzOSAxMDUgMTA1CQlSb3N5QnJvd240CjI1NSAxMDYgMTA2CQlJbmRpYW5SZWQxCjIzOCAgOTkgIDk5CQlJbmRpYW5SZWQyCjIwNSAgODUgIDg1CQlJbmRpYW5SZWQzCjEzOSAgNTggIDU4CQlJbmRpYW5SZWQ0CjI1NSAxMzAgIDcxCQlzaWVubmExCjIzOCAxMjEgIDY2CQlzaWVubmEyCjIwNSAxMDQgIDU3CQlzaWVubmEzCjEzOSAgNzEgIDM4CQlzaWVubmE0CjI1NSAyMTEgMTU1CQlidXJseXdvb2QxCjIzOCAxOTcgMTQ1CQlidXJseXdvb2QyCjIwNSAxNzAgMTI1CQlidXJseXdvb2QzCjEzOSAxMTUgIDg1CQlidXJseXdvb2Q0CjI1NSAyMzEgMTg2CQl3aGVhdDEKMjM4IDIxNiAxNzQJCXdoZWF0MgoyMDUgMTg2IDE1MAkJd2hlYXQzCjEzOSAxMjYgMTAyCQl3aGVhdDQKMjU1IDE2NSAgNzkJCXRhbjEKMjM4IDE1NCAgNzMJCXRhbjIKMjA1IDEzMyAgNjMJCXRhbjMKMTM5ICA5MCAgNDMJCXRhbjQKMjU1IDEyNyAgMzYJCWNob2NvbGF0ZTEKMjM4IDExOCAgMzMJCWNob2NvbGF0ZTIKMjA1IDEwMiAgMjkJCWNob2NvbGF0ZTMKMTM5ICA2OSAgMTkJCWNob2NvbGF0ZTQKMjU1ICA0OCAgNDgJCWZpcmVicmljazEKMjM4ICA0NCAgNDQJCWZpcmVicmljazIKMjA1ICAzOCAgMzgJCWZpcmVicmljazMKMTM5ICAyNiAgMjYJCWZpcmVicmljazQKMjU1ICA2NCAgNjQJCWJyb3duMQoyMzggIDU5ICA1OQkJYnJvd24yCjIwNSAgNTEgIDUxCQlicm93bjMKMTM5ICAzNSAgMzUJCWJyb3duNAoyNTUgMTQwIDEwNQkJc2FsbW9uMQoyMzggMTMwICA5OAkJc2FsbW9uMgoyMDUgMTEyICA4NAkJc2FsbW9uMwoxMzkgIDc2ICA1NwkJc2FsbW9uNAoyNTUgMTYwIDEyMgkJTGlnaHRTYWxtb24xCjIzOCAxNDkgMTE0CQlMaWdodFNhbG1vbjIKMjA1IDEyOSAgOTgJCUxpZ2h0U2FsbW9uMwoxMzkgIDg3ICA2NgkJTGlnaHRTYWxtb240CjI1NSAxNjUgICAwCQlvcmFuZ2UxCjIzOCAxNTQgICAwCQlvcmFuZ2UyCjIwNSAxMzMgICAwCQlvcmFuZ2UzCjEzOSAgOTAgICAwCQlvcmFuZ2U0CjI1NSAxMjcgICAwCQlEYXJrT3JhbmdlMQoyMzggMTE4ICAgMAkJRGFya09yYW5nZTIKMjA1IDEwMiAgIDAJCURhcmtPcmFuZ2UzCjEzOSAgNjkgICAwCQlEYXJrT3JhbmdlNAoyNTUgMTE0ICA4NgkJY29yYWwxCjIzOCAxMDYgIDgwCQljb3JhbDIKMjA1ICA5MSAgNjkJCWNvcmFsMwoxMzkgIDYyICA0NwkJY29yYWw0CjI1NSAgOTkgIDcxCQl0b21hdG8xCjIzOCAgOTIgIDY2CQl0b21hdG8yCjIwNSAgNzkgIDU3CQl0b21hdG8zCjEzOSAgNTQgIDM4CQl0b21hdG80CjI1NSAgNjkgICAwCQlPcmFuZ2VSZWQxCjIzOCAgNjQgICAwCQlPcmFuZ2VSZWQyCjIwNSAgNTUgICAwCQlPcmFuZ2VSZWQzCjEzOSAgMzcgICAwCQlPcmFuZ2VSZWQ0CjI1NSAgIDAgICAwCQlyZWQxCjIzOCAgIDAgICAwCQlyZWQyCjIwNSAgIDAgICAwCQlyZWQzCjEzOSAgIDAgICAwCQlyZWQ0CjI1NSAgMjAgMTQ3CQlEZWVwUGluazEKMjM4ICAxOCAxMzcJCURlZXBQaW5rMgoyMDUgIDE2IDExOAkJRGVlcFBpbmszCjEzOSAgMTAgIDgwCQlEZWVwUGluazQKMjU1IDExMCAxODAJCUhvdFBpbmsxCjIzOCAxMDYgMTY3CQlIb3RQaW5rMgoyMDUgIDk2IDE0NAkJSG90UGluazMKMTM5ICA1OCAgOTgJCUhvdFBpbms0CjI1NSAxODEgMTk3CQlwaW5rMQoyMzggMTY5IDE4NAkJcGluazIKMjA1IDE0NSAxNTgJCXBpbmszCjEzOSAgOTkgMTA4CQlwaW5rNAoyNTUgMTc0IDE4NQkJTGlnaHRQaW5rMQoyMzggMTYyIDE3MwkJTGlnaHRQaW5rMgoyMDUgMTQwIDE0OQkJTGlnaHRQaW5rMwoxMzkgIDk1IDEwMQkJTGlnaHRQaW5rNAoyNTUgMTMwIDE3MQkJUGFsZVZpb2xldFJlZDEKMjM4IDEyMSAxNTkJCVBhbGVWaW9sZXRSZWQyCjIwNSAxMDQgMTM3CQlQYWxlVmlvbGV0UmVkMwoxMzkgIDcxICA5MwkJUGFsZVZpb2xldFJlZDQKMjU1ICA1MiAxNzkJCW1hcm9vbjEKMjM4ICA0OCAxNjcJCW1hcm9vbjIKMjA1ICA0MSAxNDQJCW1hcm9vbjMKMTM5ICAyOCAgOTgJCW1hcm9vbjQKMjU1ICA2MiAxNTAJCVZpb2xldFJlZDEKMjM4ICA1OCAxNDAJCVZpb2xldFJlZDIKMjA1ICA1MCAxMjAJCVZpb2xldFJlZDMKMTM5ICAzNCAgODIJCVZpb2xldFJlZDQKMjU1ICAgMCAyNTUJCW1hZ2VudGExCjIzOCAgIDAgMjM4CQltYWdlbnRhMgoyMDUgICAwIDIwNQkJbWFnZW50YTMKMTM5ICAgMCAxMzkJCW1hZ2VudGE0CjI1NSAxMzEgMjUwCQlvcmNoaWQxCjIzOCAxMjIgMjMzCQlvcmNoaWQyCjIwNSAxMDUgMjAxCQlvcmNoaWQzCjEzOSAgNzEgMTM3CQlvcmNoaWQ0CjI1NSAxODcgMjU1CQlwbHVtMQoyMzggMTc0IDIzOAkJcGx1bTIKMjA1IDE1MCAyMDUJCXBsdW0zCjEzOSAxMDIgMTM5CQlwbHVtNAoyMjQgMTAyIDI1NQkJTWVkaXVtT3JjaGlkMQoyMDkgIDk1IDIzOAkJTWVkaXVtT3JjaGlkMgoxODAgIDgyIDIwNQkJTWVkaXVtT3JjaGlkMwoxMjIgIDU1IDEzOQkJTWVkaXVtT3JjaGlkNAoxOTEgIDYyIDI1NQkJRGFya09yY2hpZDEKMTc4ICA1OCAyMzgJCURhcmtPcmNoaWQyCjE1NCAgNTAgMjA1CQlEYXJrT3JjaGlkMwoxMDQgIDM0IDEzOQkJRGFya09yY2hpZDQKMTU1ICA0OCAyNTUJCXB1cnBsZTEKMTQ1ICA0NCAyMzgJCXB1cnBsZTIKMTI1ICAzOCAyMDUJCXB1cnBsZTMKIDg1ICAyNiAxMzkJCXB1cnBsZTQKMTcxIDEzMCAyNTUJCU1lZGl1bVB1cnBsZTEKMTU5IDEyMSAyMzgJCU1lZGl1bVB1cnBsZTIKMTM3IDEwNCAyMDUJCU1lZGl1bVB1cnBsZTMKIDkzICA3MSAxMzkJCU1lZGl1bVB1cnBsZTQKMjU1IDIyNSAyNTUJCXRoaXN0bGUxCjIzOCAyMTAgMjM4CQl0aGlzdGxlMgoyMDUgMTgxIDIwNQkJdGhpc3RsZTMKMTM5IDEyMyAxMzkJCXRoaXN0bGU0CiAgMCAgIDAgICAwCQlncmF5MAogIDAgICAwICAgMAkJZ3JleTAKICAzICAgMyAgIDMJCWdyYXkxCiAgMyAgIDMgICAzCQlncmV5MQogIDUgICA1ICAgNQkJZ3JheTIKICA1ICAgNSAgIDUJCWdyZXkyCiAgOCAgIDggICA4CQlncmF5MwogIDggICA4ICAgOAkJZ3JleTMKIDEwICAxMCAgMTAJCWdyYXk0CiAxMCAgMTAgIDEwCQlncmV5NAogMTMgIDEzICAxMwkJZ3JheTUKIDEzICAxMyAgMTMJCWdyZXk1CiAxNSAgMTUgIDE1CQlncmF5NgogMTUgIDE1ICAxNQkJZ3JleTYKIDE4ICAxOCAgMTgJCWdyYXk3CiAxOCAgMTggIDE4CQlncmV5NwogMjAgIDIwICAyMAkJZ3JheTgKIDIwICAyMCAgMjAJCWdyZXk4CiAyMyAgMjMgIDIzCQlncmF5OQogMjMgIDIzICAyMwkJZ3JleTkKIDI2ICAyNiAgMjYJCWdyYXkxMAogMjYgIDI2ICAyNgkJZ3JleTEwCiAyOCAgMjggIDI4CQlncmF5MTEKIDI4ICAyOCAgMjgJCWdyZXkxMQogMzEgIDMxICAzMQkJZ3JheTEyCiAzMSAgMzEgIDMxCQlncmV5MTIKIDMzICAzMyAgMzMJCWdyYXkxMwogMzMgIDMzICAzMwkJZ3JleTEzCiAzNiAgMzYgIDM2CQlncmF5MTQKIDM2ICAzNiAgMzYJCWdyZXkxNAogMzggIDM4ICAzOAkJZ3JheTE1CiAzOCAgMzggIDM4CQlncmV5MTUKIDQxICA0MSAgNDEJCWdyYXkxNgogNDEgIDQxICA0MQkJZ3JleTE2CiA0MyAgNDMgIDQzCQlncmF5MTcKIDQzICA0MyAgNDMJCWdyZXkxNwogNDYgIDQ2ICA0NgkJZ3JheTE4CiA0NiAgNDYgIDQ2CQlncmV5MTgKIDQ4ICA0OCAgNDgJCWdyYXkxOQogNDggIDQ4ICA0OAkJZ3JleTE5CiA1MSAgNTEgIDUxCQlncmF5MjAKIDUxICA1MSAgNTEJCWdyZXkyMAogNTQgIDU0ICA1NAkJZ3JheTIxCiA1NCAgNTQgIDU0CQlncmV5MjEKIDU2ICA1NiAgNTYJCWdyYXkyMgogNTYgIDU2ICA1NgkJZ3JleTIyCiA1OSAgNTkgIDU5CQlncmF5MjMKIDU5ICA1OSAgNTkJCWdyZXkyMwogNjEgIDYxICA2MQkJZ3JheTI0CiA2MSAgNjEgIDYxCQlncmV5MjQKIDY0ICA2NCAgNjQJCWdyYXkyNQogNjQgIDY0ICA2NAkJZ3JleTI1CiA2NiAgNjYgIDY2CQlncmF5MjYKIDY2ICA2NiAgNjYJCWdyZXkyNgogNjkgIDY5ICA2OQkJZ3JheTI3CiA2OSAgNjkgIDY5CQlncmV5MjcKIDcxICA3MSAgNzEJCWdyYXkyOAogNzEgIDcxICA3MQkJZ3JleTI4CiA3NCAgNzQgIDc0CQlncmF5MjkKIDc0ICA3NCAgNzQJCWdyZXkyOQogNzcgIDc3ICA3NwkJZ3JheTMwCiA3NyAgNzcgIDc3CQlncmV5MzAKIDc5ICA3OSAgNzkJCWdyYXkzMQogNzkgIDc5ICA3OQkJZ3JleTMxCiA4MiAgODIgIDgyCQlncmF5MzIKIDgyICA4MiAgODIJCWdyZXkzMgogODQgIDg0ICA4NAkJZ3JheTMzCiA4NCAgODQgIDg0CQlncmV5MzMKIDg3ICA4NyAgODcJCWdyYXkzNAogODcgIDg3ICA4NwkJZ3JleTM0CiA4OSAgODkgIDg5CQlncmF5MzUKIDg5ICA4OSAgODkJCWdyZXkzNQogOTIgIDkyICA5MgkJZ3JheTM2CiA5MiAgOTIgIDkyCQlncmV5MzYKIDk0ICA5NCAgOTQJCWdyYXkzNwogOTQgIDk0ICA5NAkJZ3JleTM3CiA5NyAgOTcgIDk3CQlncmF5MzgKIDk3ICA5NyAgOTcJCWdyZXkzOAogOTkgIDk5ICA5OQkJZ3JheTM5CiA5OSAgOTkgIDk5CQlncmV5MzkKMTAyIDEwMiAxMDIJCWdyYXk0MAoxMDIgMTAyIDEwMgkJZ3JleTQwCjEwNSAxMDUgMTA1CQlncmF5NDEKMTA1IDEwNSAxMDUJCWdyZXk0MQoxMDcgMTA3IDEwNwkJZ3JheTQyCjEwNyAxMDcgMTA3CQlncmV5NDIKMTEwIDExMCAxMTAJCWdyYXk0MwoxMTAgMTEwIDExMAkJZ3JleTQzCjExMiAxMTIgMTEyCQlncmF5NDQKMTEyIDExMiAxMTIJCWdyZXk0NAoxMTUgMTE1IDExNQkJZ3JheTQ1CjExNSAxMTUgMTE1CQlncmV5NDUKMTE3IDExNyAxMTcJCWdyYXk0NgoxMTcgMTE3IDExNwkJZ3JleTQ2CjEyMCAxMjAgMTIwCQlncmF5NDcKMTIwIDEyMCAxMjAJCWdyZXk0NwoxMjIgMTIyIDEyMgkJZ3JheTQ4CjEyMiAxMjIgMTIyCQlncmV5NDgKMTI1IDEyNSAxMjUJCWdyYXk0OQoxMjUgMTI1IDEyNQkJZ3JleTQ5CjEyNyAxMjcgMTI3CQlncmF5NTAKMTI3IDEyNyAxMjcJCWdyZXk1MAoxMzAgMTMwIDEzMAkJZ3JheTUxCjEzMCAxMzAgMTMwCQlncmV5NTEKMTMzIDEzMyAxMzMJCWdyYXk1MgoxMzMgMTMzIDEzMwkJZ3JleTUyCjEzNSAxMzUgMTM1CQlncmF5NTMKMTM1IDEzNSAxMzUJCWdyZXk1MwoxMzggMTM4IDEzOAkJZ3JheTU0CjEzOCAxMzggMTM4CQlncmV5NTQKMTQwIDE0MCAxNDAJCWdyYXk1NQoxNDAgMTQwIDE0MAkJZ3JleTU1CjE0MyAxNDMgMTQzCQlncmF5NTYKMTQzIDE0MyAxNDMJCWdyZXk1NgoxNDUgMTQ1IDE0NQkJZ3JheTU3CjE0NSAxNDUgMTQ1CQlncmV5NTcKMTQ4IDE0OCAxNDgJCWdyYXk1OAoxNDggMTQ4IDE0OAkJZ3JleTU4CjE1MCAxNTAgMTUwCQlncmF5NTkKMTUwIDE1MCAxNTAJCWdyZXk1OQoxNTMgMTUzIDE1MwkJZ3JheTYwCjE1MyAxNTMgMTUzCQlncmV5NjAKMTU2IDE1NiAxNTYJCWdyYXk2MQoxNTYgMTU2IDE1NgkJZ3JleTYxCjE1OCAxNTggMTU4CQlncmF5NjIKMTU4IDE1OCAxNTgJCWdyZXk2MgoxNjEgMTYxIDE2MQkJZ3JheTYzCjE2MSAxNjEgMTYxCQlncmV5NjMKMTYzIDE2MyAxNjMJCWdyYXk2NAoxNjMgMTYzIDE2MwkJZ3JleTY0CjE2NiAxNjYgMTY2CQlncmF5NjUKMTY2IDE2NiAxNjYJCWdyZXk2NQoxNjggMTY4IDE2OAkJZ3JheTY2CjE2OCAxNjggMTY4CQlncmV5NjYKMTcxIDE3MSAxNzEJCWdyYXk2NwoxNzEgMTcxIDE3MQkJZ3JleTY3CjE3MyAxNzMgMTczCQlncmF5NjgKMTczIDE3MyAxNzMJCWdyZXk2OAoxNzYgMTc2IDE3NgkJZ3JheTY5CjE3NiAxNzYgMTc2CQlncmV5NjkKMTc5IDE3OSAxNzkJCWdyYXk3MAoxNzkgMTc5IDE3OQkJZ3JleTcwCjE4MSAxODEgMTgxCQlncmF5NzEKMTgxIDE4MSAxODEJCWdyZXk3MQoxODQgMTg0IDE4NAkJZ3JheTcyCjE4NCAxODQgMTg0CQlncmV5NzIKMTg2IDE4NiAxODYJCWdyYXk3MwoxODYgMTg2IDE4NgkJZ3JleTczCjE4OSAxODkgMTg5CQlncmF5NzQKMTg5IDE4OSAxODkJCWdyZXk3NAoxOTEgMTkxIDE5MQkJZ3JheTc1CjE5MSAxOTEgMTkxCQlncmV5NzUKMTk0IDE5NCAxOTQJCWdyYXk3NgoxOTQgMTk0IDE5NAkJZ3JleTc2CjE5NiAxOTYgMTk2CQlncmF5NzcKMTk2IDE5NiAxOTYJCWdyZXk3NwoxOTkgMTk5IDE5OQkJZ3JheTc4CjE5OSAxOTkgMTk5CQlncmV5NzgKMjAxIDIwMSAyMDEJCWdyYXk3OQoyMDEgMjAxIDIwMQkJZ3JleTc5CjIwNCAyMDQgMjA0CQlncmF5ODAKMjA0IDIwNCAyMDQJCWdyZXk4MAoyMDcgMjA3IDIwNwkJZ3JheTgxCjIwNyAyMDcgMjA3CQlncmV5ODEKMjA5IDIwOSAyMDkJCWdyYXk4MgoyMDkgMjA5IDIwOQkJZ3JleTgyCjIxMiAyMTIgMjEyCQlncmF5ODMKMjEyIDIxMiAyMTIJCWdyZXk4MwoyMTQgMjE0IDIxNAkJZ3JheTg0CjIxNCAyMTQgMjE0CQlncmV5ODQKMjE3IDIxNyAyMTcJCWdyYXk4NQoyMTcgMjE3IDIxNwkJZ3JleTg1CjIxOSAyMTkgMjE5CQlncmF5ODYKMjE5IDIxOSAyMTkJCWdyZXk4NgoyMjIgMjIyIDIyMgkJZ3JheTg3CjIyMiAyMjIgMjIyCQlncmV5ODcKMjI0IDIyNCAyMjQJCWdyYXk4OAoyMjQgMjI0IDIyNAkJZ3JleTg4CjIyNyAyMjcgMjI3CQlncmF5ODkKMjI3IDIyNyAyMjcJCWdyZXk4OQoyMjkgMjI5IDIyOQkJZ3JheTkwCjIyOSAyMjkgMjI5CQlncmV5OTAKMjMyIDIzMiAyMzIJCWdyYXk5MQoyMzIgMjMyIDIzMgkJZ3JleTkxCjIzNSAyMzUgMjM1CQlncmF5OTIKMjM1IDIzNSAyMzUJCWdyZXk5MgoyMzcgMjM3IDIzNwkJZ3JheTkzCjIzNyAyMzcgMjM3CQlncmV5OTMKMjQwIDI0MCAyNDAJCWdyYXk5NAoyNDAgMjQwIDI0MAkJZ3JleTk0CjI0MiAyNDIgMjQyCQlncmF5OTUKMjQyIDI0MiAyNDIJCWdyZXk5NQoyNDUgMjQ1IDI0NQkJZ3JheTk2CjI0NSAyNDUgMjQ1CQlncmV5OTYKMjQ3IDI0NyAyNDcJCWdyYXk5NwoyNDcgMjQ3IDI0NwkJZ3JleTk3CjI1MCAyNTAgMjUwCQlncmF5OTgKMjUwIDI1MCAyNTAJCWdyZXk5OAoyNTIgMjUyIDI1MgkJZ3JheTk5CjI1MiAyNTIgMjUyCQlncmV5OTkKMjU1IDI1NSAyNTUJCWdyYXkxMDAKMjU1IDI1NSAyNTUJCWdyZXkxMDAKMTY5IDE2OSAxNjkJCWRhcmsgZ3JleQoxNjkgMTY5IDE2OQkJRGFya0dyZXkKMTY5IDE2OSAxNjkJCWRhcmsgZ3JheQoxNjkgMTY5IDE2OQkJRGFya0dy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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 ir.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 Dc(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 ir(n)}}class Zd{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(Ja.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 u=new TextEncoder().encode(e.utf8),E=this.exports.ghostty_wasm_alloc_u8_array(u.length);new Uint8Array(this.exports.memory.buffer).set(u,E),this.exports.ghostty_key_event_set_utf8(r,E,u.length),this.exports.ghostty_wasm_free_u8_array(E,u.length)}const i=32,a=this.exports.ghostty_wasm_alloc_u8_array(i),g=this.exports.ghostty_wasm_alloc_usize(),Q=this.exports.ghostty_key_encoder_encode(this.encoder,r,a,i,g);if(Q!==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: ${Q}`);const B=n.getUint32(g,!0),C=new Uint8Array(this.exports.memory.buffer,a,B).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),C}dispose(){this.encoder&&(this.exports.ghostty_key_encoder_free(this.encoder),this.encoder=0)}}const Bl=class Ko{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(Hg);if(a===0)throw new Error("Failed to allocate config (out of memory)");try{const g=new DataView(this.memory.buffer);let Q=a;g.setUint32(Q,r.scrollbackLimit??1e4,!0),Q+=4,g.setUint32(Q,r.fgColor??0,!0),Q+=4,g.setUint32(Q,r.bgColor??0,!0),Q+=4,g.setUint32(Q,r.cursorColor??0,!0),Q+=4;for(let B=0;B<16;B++)g.setUint32(Q,((i=r.palette)==null?void 0:i[B])??0,!0),Q+=4;this.handle=this.exports.ghostty_terminal_new_with_config(s,n,a)}finally{this.exports.ghostty_wasm_free_u8_array(a,Hg)}}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*Ko.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()!==Hi.NONE}needsFullRedraw(){return this.update()===Hi.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*Ko.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*Ko.CELL_SIZE),a=new DataView(r,this.viewportBufferPtr,s*Ko.CELL_SIZE);for(let g=0;g<s;g++){const Q=g*Ko.CELL_SIZE;n.push({codepoint:a.getUint32(Q,!0),fg_r:i[Q+4],fg_g:i[Q+5],fg_b:i[Q+6],bg_r:i[Q+7],bg_g:i[Q+8],bg_b:i[Q+9],flags:i[Q+10],width:i[Q+11],hyperlink_id:a.getUint16(Q+12,!0),grapheme_len:i[Q+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*Ko.CELL_SIZE),r=new DataView(s,e,t*Ko.CELL_SIZE);for(let i=0;i<t;i++){const a=i*Ko.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)}};Bl.CELL_SIZE=16;let _d=Bl;class Eo{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 Xd{constructor(e){this.bufferChangeEmitter=new Eo,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 Pg(this.terminal,"normal")),this._normalBuffer}get alternate(){return this._alternateBuffer||(this._alternateBuffer=new Pg(this.terminal,"alternate")),this._alternateBuffer}get onBufferChange(){return this.bufferChangeEmitter.event}_fireBufferChange(e){this.bufferChangeEmitter.fire(e)}}class Pg{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 Pi(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 $d(n,i,t.cols)}getNullCell(){return this.nullCell}getWasmTerm(){return this.terminal.wasmTerm}}class $d{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 Pi({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 Pi(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 Q=g.getChars();i+=Q}}return e&&(i=i.trimEnd()),i}}class Pi{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&pt.BOLD?1:0}isItalic(){return this.cell.flags&pt.ITALIC?1:0}isUnderline(){return this.cell.flags&pt.UNDERLINE?1:0}isStrikethrough(){return this.cell.flags&pt.STRIKETHROUGH?1:0}isBlink(){return this.cell.flags&pt.BLINK?1:0}isInverse(){return this.cell.flags&pt.INVERSE?1:0}isInvisible(){return this.cell.flags&pt.INVISIBLE?1:0}isFaint(){return this.cell.flags&pt.FAINT?1:0}getHyperlinkId(){return this.cell.hyperlink_id}getCodepoint(){return this.cell.codepoint}isDim(){return(this.cell.flags&pt.FAINT)!==0}}const Ah={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 eh{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 Ah[e]??null}extractModifiers(e){let t=Vo.NONE;return e.shiftKey&&(t|=Vo.SHIFT),e.ctrlKey&&(t|=Vo.CTRL),e.altKey&&(t|=Vo.ALT),e.metaKey&&(t|=Vo.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===Vo.NONE||s===Vo.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=Ql.PRESS;try{if(this.getModeCallback){const g=this.getModeCallback(1);this.encoder.setOption(Ja.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 th{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:Q,end:B}=e.range,C=`r${Q.y}:${Q.x}-${B.x}`;this.linkCache.set(C,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 oh{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 Q=this.findLinkRange(g,e,i);if(!this.terminal.wasmTerm)continue;const B=this.terminal.wasmTerm.getHyperlinkUri(g);B&&s.push({text:B,range:Q,activate:C=>{(C.ctrlKey||C.metaKey)&&window.open(B,"_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 B=n.getLine(r);if(!B)break;const C=B.getCell(i-1);if(!C||C.getHyperlinkId()!==e)break;i--}if(i===0&&r>0){let B=r-1;for(;B>=0;){const C=n.getLine(B);if(!C||C.length===0)break;const u=C.getCell(C.length-1);if(!u||u.getHyperlinkId()!==e)break;r=B,i=0;for(let E=C.length-1;E>=0;E--){const I=C.getCell(E);if(!I||I.getHyperlinkId()!==e){i=E+1;break}}if(i===0)B--;else break}}let a=t,g=s;const Q=n.getLine(a);if(Q){for(;g<Q.length-1;){const B=Q.getCell(g+1);if(!B||B.getHyperlinkId()!==e)break;g++}if(g===Q.length-1){let B=a+1;const C=n.length;for(;B<C;){const u=n.getLine(B);if(!u||u.length===0)break;const E=u.getCell(0);if(!E||E.getHyperlinkId()!==e)break;a=B,g=0;for(let I=0;I<u.length;I++){const p=u.getCell(I);if(!p)break;if(p.getHyperlinkId()!==e){g=I-1;break}g=I}if(g===u.length-1)B++;else break}}}return{start:{x:i,y:r},end:{x:g,y:a}}}dispose(){}}const La=class sr{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);sr.URL_REGEX.lastIndex=0;let i=sr.URL_REGEX.exec(r);for(;i!==null;){let a=i[0];const g=i.index;let Q=i.index+a.length-1;const B=a.replace(sr.TRAILING_PUNCTUATION,"");B.length<a.length&&(a=B,Q=g+a.length-1),a.length>8&&s.push({text:a,range:{start:{x:g,y:e},end:{x:Q,y:e}},activate:C=>{(C.ctrlKey||C.metaKey)&&window.open(a,"_blank","noopener,noreferrer")}}),i=sr.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(){}};La.URL_REGEX=/(?:https?:\/\/|mailto:|ftp:\/\/|ssh:\/\/|git:\/\/|tel:|magnet:|gemini:\/\/|gopher:\/\/|news:)[\w\-.~:\/?#@!$&*+,;=%]+/gi;La.TRAILING_PUNCTUATION=/[.,;!?)\]]+$/;let sh=La;const Wg={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 rh{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={...Wg,...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(),Q=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 B=a.x!==this.lastCursorPosition.x||a.y!==this.lastCursorPosition.y;if(B||this.cursorBlink){if(!t&&!e.isRowDirty(a.y)){const k=e.getLine(a.y);k&&this.renderLine(k,a.y,g.cols)}if(B&&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 C=this.selectionManager&&this.selectionManager.hasSelection(),u=new Set;if(this.currentSelectionCoords=C?this.selectionManager.getSelectionCoords():null,this.currentSelectionCoords){const k=this.currentSelectionCoords;for(let v=k.startRow;v<=k.endRow;v++)u.add(v)}if(this.selectionManager){const k=this.selectionManager.getDirtySelectionRows();if(k.size>0){for(const v of k)u.add(v);this.selectionManager.clearDirtySelectionRows()}}const E=new Set,I=this.hoveredHyperlinkId!==this.previousHoveredHyperlinkId,p=JSON.stringify(this.hoveredLinkRange)!==JSON.stringify(this.previousHoveredLinkRange);if(I){for(let k=0;k<g.rows;k++){let v=null;if(s>0)if(k<s&&n){const D=Q-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){E.add(k);break}}}this.previousHoveredHyperlinkId=this.hoveredHyperlinkId}if(p){if(this.previousHoveredLinkRange)for(let k=this.previousHoveredLinkRange.startY;k<=this.previousHoveredLinkRange.endY;k++)E.add(k);if(this.hoveredLinkRange)for(let k=this.hoveredLinkRange.startY;k<=this.hoveredLinkRange.endY;k++)E.add(k);this.previousHoveredLinkRange=this.hoveredLinkRange}const h=new Set;for(let k=0;k<g.rows;k++)(s>0||t||e.isRowDirty(k)||u.has(k)||E.has(k))&&(h.add(k),k>0&&h.add(k-1),k<g.rows-1&&h.add(k+1));for(let k=0;k<g.rows;k++){if(!h.has(k))continue;let v=null;if(s>0)if(k<s&&n){const D=Q-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,Q,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,Q=e.bg_b;e.flags&pt.INVERSE&&(a=e.fg_r,g=e.fg_g,Q=e.fg_b),a===0&&g===0&&Q===0||(this.ctx.fillStyle=this.rgbToCSS(a,g,Q),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&pt.INVISIBLE)return;const g=this.isInSelection(t,s);let Q="";if(e.flags&pt.ITALIC&&(Q+="italic "),e.flags&pt.BOLD&&(Q+="bold "),this.ctx.font=`${Q}${this.fontSize}px ${this.fontFamily}`,g)this.ctx.fillStyle=this.theme.selectionForeground;else{let E=e.fg_r,I=e.fg_g,p=e.fg_b;e.flags&pt.INVERSE&&(E=e.bg_r,I=e.bg_g,p=e.bg_b),this.ctx.fillStyle=this.rgbToCSS(E,I,p)}e.flags&pt.FAINT&&(this.ctx.globalAlpha=.5);const B=r,C=i+this.metrics.baseline;let u;if(e.grapheme_len>0&&(n=this.currentBuffer)!=null&&n.getGraphemeString?u=this.currentBuffer.getGraphemeString(s,t):u=String.fromCodePoint(e.codepoint||32),this.ctx.fillText(u,B,C),e.flags&pt.FAINT&&(this.ctx.globalAlpha=1),e.flags&pt.UNDERLINE){const E=i+this.metrics.baseline+2;this.ctx.strokeStyle=this.ctx.fillStyle,this.ctx.lineWidth=1,this.ctx.beginPath(),this.ctx.moveTo(r,E),this.ctx.lineTo(r+a,E),this.ctx.stroke()}if(e.flags&pt.STRIKETHROUGH){const E=i+this.metrics.height/2;this.ctx.strokeStyle=this.ctx.fillStyle,this.ctx.lineWidth=1,this.ctx.beginPath(),this.ctx.moveTo(r,E),this.ctx.lineTo(r+a,E),this.ctx.stroke()}if(e.hyperlink_id>0&&e.hyperlink_id===this.hoveredHyperlinkId){const E=i+this.metrics.baseline+2;this.ctx.strokeStyle="#4A90E2",this.ctx.lineWidth=1,this.ctx.beginPath(),this.ctx.moveTo(r,E),this.ctx.lineTo(r+a,E),this.ctx.stroke()}if(this.hoveredLinkRange){const E=this.hoveredLinkRange;if(s===E.startY&&t>=E.startX&&(s<E.endY||t<=E.endX)||s>E.startY&&s<E.endY||s===E.endY&&t<=E.endX&&(s>E.startY||t>=E.startX)){const I=i+this.metrics.baseline+2;this.ctx.strokeStyle="#4A90E2",this.ctx.lineWidth=1,this.ctx.beginPath(),this.ctx.moveTo(r,I),this.ctx.lineTo(r+a,I),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={...Wg,...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,Q=a-g-4,B=4,C=i-B*2;if(r.fillStyle=this.theme.background,r.fillRect(Q-2,0,g+6,i),n<=0||t===0)return;const u=t+s,E=Math.max(20,s/u*C),I=e/t,p=B+(C-E)*(1-I);r.fillStyle=`rgba(128, 128, 128, ${.1*n})`,r.fillRect(Q,B,g,C);const h=e>0?.5:.3;r.fillStyle=`rgba(128, 128, 128, ${h*n})`,r.fillRect(Q,p,g,E)}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 Un=class _r{constructor(e,t,s,n){this.selectionStart=null,this.selectionEnd=null,this.isSelecting=!1,this.mouseDownTarget=null,this.dirtySelectionRows=new Set,this.selectionChangedEmitter=new Eo,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 E=a-r;g=this.wasmTerm.getLine(E)}if(!g)continue;let Q=-1;const B=a===t?e:0,C=a===n?s:g.length-1;let u="";for(let E=B;E<=C;E++){const I=g[E];if(I&&I.codepoint!==0){let p;if(I.grapheme_len>0)if(a<r)p=this.wasmTerm.getScrollbackGraphemeString(a,E);else{const h=a-r;p=this.wasmTerm.getGraphemeString(h,E)}else p=String.fromCodePoint(I.codepoint);u+=p,p.trim()&&(Q=u.length)}else u+=" "}Q>=0?u=u.substring(0,Q):u="",i+=u,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),Q=this.viewportRowToAbsolute(g.row);this.selectionEnd={col:g.col,absoluteRow:Q},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=_r.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=_r.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()},_r.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(){}};Un.AUTO_SCROLL_EDGE_SIZE=30;Un.AUTO_SCROLL_SPEED=3;Un.AUTO_SCROLL_INTERVAL=50;let nh=Un;class ih{constructor(e={}){this.unicode={get activeVersion(){return"15.1"}},this.dataEmitter=new Eo,this.resizeEmitter=new Eo,this.bellEmitter=new Eo,this.selectionChangeEmitter=new Eo,this.keyEmitter=new Eo,this.titleChangeEmitter=new Eo,this.scrollEmitter=new Eo,this.renderEmitter=new Eo,this.cursorMoveEmitter=new Eo,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 Q=this.getViewportY(),B=Math.max(0,Math.floor(Q));if(B>0)if(i<B)g=a-B+i;else{const u=i-B;g=a+u}else g=a+i;const C=await this.linkDetector.getLinkAt(r,g);C&&(C.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 Q=0;Q<g;Q++)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,Q=r.height,B=8,C=g-B-4,u=4;if(i>=C&&i<=C+B){s.preventDefault(),s.stopPropagation(),s.stopImmediatePropagation();const E=Q-u*2,I=this.rows,p=n+I,h=Math.max(20,I/p*E),k=this.viewportY/n,v=u+(E-h)*(1-k);if(a>=v&&a<=v+h)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-u)/E,T=Math.round(D*n);this.scrollToLine(Math.max(0,Math.min(n,T)))}}},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??ch();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 Xd(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 rh(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 eh(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 nh(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 th(this),this.linkDetector.registerProvider(new oh(this)),this.linkDetector.registerProvider(new sh(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 I=this.wasmTerm.getScrollbackLength();if(n<g){const p=I-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 Q=this.renderer.hoveredHyperlinkId||0;r!==Q&&this.renderer.setHoveredHyperlinkId(r);const B=this.wasmTerm.getScrollbackLength();let C;const u=this.getViewportY(),E=Math.max(0,Math.floor(u));if(E>0)if(n<E)C=B-E+n;else{const I=n-E;C=B+I}else C=B+n;this.linkDetector.getLinkAt(s,C).then(I=>{var p,h,k,v;if(I!==this.currentHoveredLink&&((h=(p=this.currentHoveredLink)==null?void 0:p.hover)==null||h.call(p,!1),this.currentHoveredLink=I,(k=I?.hover)==null||k.call(I,!0),this.element&&(this.element.style.cursor=I?"pointer":"text"),this.renderer))if(I){const D=((v=this.wasmTerm)==null?void 0:v.getScrollbackLength())||0,T=this.getViewportY(),J=Math.max(0,Math.floor(T)),V=I.range.start.y-D+J,AA=I.range.end.y-D+J;V<this.rows&&AA>=0?this.renderer.setHoveredLinkRange({startX:I.range.start.x,startY:Math.max(0,V),endX:I.range.end.x,endY:Math.min(this.rows-1,AA)}):this.renderer.setHoveredLinkRange(null)}else this.renderer.setHoveredLinkRange(null)}).catch(I=>{console.warn("Link detection error:",I)})}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),Q=-n/(r-g),B=Math.round(Q*t),C=this.scrollbarDragStartViewportY+B;this.scrollToLine(Math.max(0,Math.min(t,C)))}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 ah=2,gh=1,Qh=15,Bh=100;class lh{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,Q=Number.parseInt(r.getPropertyValue("padding-right"))||0,B=n.clientWidth,C=n.clientHeight;if(B===0||C===0)return;const u=B-g-Q-Qh,E=C-i-a,I=Math.max(ah,Math.floor(u/s.width)),p=Math.max(gh,Math.floor(E/s.height));return{cols:I,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()},Bh))}),this._resizeObserver.observe(this._terminal.element)))}}let Bn=null;async function Eh(){Bn||(Bn=await ir.load())}function ch(){if(!Bn)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 Bn}const Ch={};function ll(){const A=Ch?.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 El(){return ll()}const es=ll(),Ih='"JetBrainsMono NFM", monospace',uh=1500,dh=5,hh=600;function fh(){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 zg=!1;async function ph(){if(zg||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":nl,"../../assets/fonts/JetBrainsMonoNerdFontMono-BoldItalic.woff2":il,"../../assets/fonts/JetBrainsMonoNerdFontMono-Italic.woff2":al,"../../assets/fonts/JetBrainsMonoNerdFontMono-Regular.woff2":gl})[`../../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),zg=!0}function mh(){const A=kA.getConfig?.();return A&&typeof A.baseURL=="string"&&A.baseURL.length>0?A.baseURL:El()}function wh(A){return A.replace(/^http/,"ws")}function xh({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),[Q,B]=x.useState(!1),C=x.useRef(t);C.current=t;const u=x.useRef(null),E=x.useRef(!1),I=x.useRef("#121216"),p=x.useRef(!1),h=x.useRef(null),k=x.useCallback(()=>{if(r.current)try{r.current.fit()}catch{}},[]),v=x.useCallback((D,T)=>{i.current&&(i.current.close(),i.current=null);const V=`${wh(T)}/v1/terminals/${A}/ws`,AA=new WebSocket(V);i.current=AA;let X=!1;AA.onopen=()=>{a.current=0,D.cols&&D.rows&&AA.send(JSON.stringify({type:"resize",cols:D.cols,rows:D.rows}))},AA.onmessage=L=>{const W=typeof L.data=="string"?L.data:"";if(W.startsWith("{"))try{const O=JSON.parse(W);if(O.type==="exit"){D.write(`\r
26
+ \x1B[33m[Process exited with code ${O.exitCode}]\x1B[0m\r
27
+ `),C.current&&C.current(A);return}}catch{}const S=E.current?D.getViewportY():0;D.write(W),E.current&&S>0&&D.scrollToLine(S),X||(X=!0,setTimeout(()=>B(!0),200))},AA.onerror=()=>{},AA.onclose=()=>{i.current===AA&&(i.current=null),!p.current&&a.current<dh&&(a.current++,g.current=setTimeout(()=>{n.current&&!p.current&&v(n.current,T)},uh))}},[A]);return x.useEffect(()=>{if(!s.current||!A)return;let D=!1;p.current=!1;let T=null,J=null,V=null;return B(!1),a.current=0,i.current&&(i.current.close(),i.current=null),g.current&&(clearTimeout(g.current),g.current=null),(async()=>{if(await Eh(),D||!s.current)return;await ph(),await document.fonts.ready;const X=fh();T=new ih({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:Ih,cursorBlink:!0,convertEol:!0,scrollback:5e3}),J=new lh,T.loadAddon(J),T.open(s.current),T.onData(()=>{n.current?.renderer&&(n.current.renderer.setCursorBlink(!1),u.current&&clearTimeout(u.current),u.current=setTimeout(()=>{n.current?.renderer&&document.activeElement&&s.current?.contains(document.activeElement)&&n.current.renderer.setCursorBlink(!0)},hh))}),I.current=X;const L=()=>{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:I.current,cursorAccent:I.current}))};if(s.current.addEventListener("focusin",L),s.current.addEventListener("focusout",W),h.current={focusin:L,focusout:W},await new Promise(O=>{requestAnimationFrame(()=>{try{J?.fit()}catch{}O()})}),D)return;const S=mh();v(T,S),T.onData(O=>{i.current?.readyState===WebSocket.OPEN&&i.current.send(O)}),T.onResize(({cols:O,rows:w})=>{i.current?.readyState===WebSocket.OPEN&&i.current.send(JSON.stringify({type:"resize",cols:O,rows:w}))}),T.onScroll(()=>{E.current=T.getViewportY()>0}),n.current=T,r.current=J,V=new ResizeObserver(()=>{requestAnimationFrame(()=>{if(r.current&&!D)try{r.current.fit()}catch{}})}),V.observe(s.current),setTimeout(()=>{D||B(!0)},2e3)})().catch(X=>{console.error("[TerminalViewer] Failed to initialize:",X)}),()=>{D=!0,p.current=!0,s.current&&h.current&&(s.current.removeEventListener("focusin",h.current.focusin),s.current.removeEventListener("focusout",h.current.focusout),h.current=null),u.current&&(clearTimeout(u.current),u.current=null),g.current&&(clearTimeout(g.current),g.current=null),i.current&&(i.current.close(),i.current=null),V&&V.disconnect(),T&&T.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:I.current,cursorAccent:I.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:Q?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 Vg=150,Dh=.85,yh=x.memo(function(){const e=so(J=>J.isOpen),t=so(J=>J.panelHeight),s=so(J=>J.setPanelHeight),n=so(J=>J.activeTabId),r=so(J=>J.selectTab),i=so(J=>J.closePanel),a=so(J=>J.isMaximized),g=so(J=>J.toggleMaximize),Q=so(J=>J.togglePanel),{data:B}=rl(),C=Wd(),u=zd(),E=x.useRef(null),I=B?.terminals??[],p=x.useRef(!1),h=x.useRef(I);h.current=I,x.useEffect(()=>{e&&h.current.length>0&&(!n||!h.current.find(J=>J.id===n))&&r(h.current[0].id)},[e,I.length,n,r]),x.useEffect(()=>{e&&B&&I.length===0&&!p.current&&!C.isPending&&(p.current=!0,C.mutateAsync({command:"bash",purpose:"Manual shell"}).then(J=>{r(J.terminalId)}).catch(()=>{}).finally(()=>{p.current=!1}))},[e,B,I.length,r]);const k=x.useCallback(async()=>{try{const J=await C.mutateAsync({command:"bash",purpose:"Manual shell"});r(J.terminalId)}catch{}},[C,r]),v=x.useCallback(async J=>{try{if(await u.mutateAsync(J),n===J){const V=h.current.filter(AA=>AA.id!==J);V.length>0?r(V[0].id):(r(null),i())}}catch{}},[u,n,r,i]);x.useEffect(()=>{const J=V=>{V.key==="`"&&V.ctrlKey&&(V.preventDefault(),Q())};return window.addEventListener("keydown",J),()=>window.removeEventListener("keydown",J)},[Q]);const D=x.useCallback(J=>{J.preventDefault(),E.current={startY:J.clientY,startHeight:t};const V=X=>{if(!E.current)return;const L=E.current.startY-X.clientY,W=E.current.startHeight+L,S=window.innerHeight*Dh;s(Math.min(Math.max(Vg,W),S))},AA=()=>{E.current=null,document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",AA),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",V),document.addEventListener("mouseup",AA),document.body.style.cursor="row-resize",document.body.style.userSelect="none"},[t,s]);if(!e)return null;const T=a?"100%":`${t}px`;return o.jsxs("div",{className:"border-t border-border bg-background flex flex-col shrink-0 relative",style:{height:T,minHeight:Vg},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(Ao,{className:"w-3.5 h-3.5 text-muted-foreground"}),o.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"Terminal"}),I.length>0&&o.jsxs("span",{className:"text-[10px] text-muted-foreground/70",children:["(",I.length,")"]})]}),o.jsx(Vd,{terminals:I,onNewTerminal:k,onKillTerminal:v,isCreating:C.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(xa,{className:"w-3.5 h-3.5"}):o.jsx(dB,{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(zt,{className:"w-3.5 h-3.5"})})]})]}),o.jsxs("div",{className:"flex-1 min-h-0 overflow-hidden relative",children:[I.map(J=>o.jsx(xh,{terminalId:J.id,isActive:J.id===n,onExit:v},J.id)),I.length===0&&o.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground",children:[o.jsx(Ao,{className:"w-8 h-8 mb-2 opacity-40"}),o.jsx("div",{className:"text-xs",children:"No terminals running"})]})]})]})}),Nh=x.memo(function(){const e=so(r=>r.isOpen),t=so(r=>r.togglePanel),{data:s}=rl(),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(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})]})}),Qe=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})});Qe.displayName="Button";const kh=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}));kh.displayName="Card";const Xr=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}));Xr.displayName="Input";const Rn=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}));Rn.displayName="Textarea";const ja=Ct(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 Mh(){const{isOpen:A,title:e,message:t,confirmLabel:s,cancelLabel:n,variant:r,onConfirm:i,onCancel:a,closeConfirmation:g}=ja(),[Q,B]=x.useState(!1);x.useEffect(()=>{A||B(!1)},[A]);const C=x.useCallback(async()=>{B(!0);try{await i(),g()}catch(I){console.error("Confirmation action failed:",I),B(!1)}},[i,g]),u=x.useCallback(()=>{a?.(),g()},[a,g]),E=I=>{I.target===I.currentTarget&&!Q&&u()};return x.useEffect(()=>{const I=p=>{if(A&&!Q){const h=p.target,k=h.tagName==="INPUT"||h.tagName==="TEXTAREA"||h.isContentEditable;(p.key==="Escape"||p.key==="q"&&!k)&&(p.preventDefault(),u()),p.key==="Enter"&&(p.preventDefault(),C())}};if(A)return document.addEventListener("keydown",I),()=>document.removeEventListener("keydown",I)},[A,Q,C,u]),A?o.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:E,onKeyDown:I=>{const p=I.target,h=p.tagName==="INPUT"||p.tagName==="TEXTAREA"||p.isContentEditable;(I.key==="Escape"||I.key==="q"&&!h)&&!Q&&(I.preventDefault(),u())},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(po,{className:"w-5 h-5 text-destructive"}),o.jsx("h2",{className:"text-lg font-semibold",children:e})]}),o.jsx("button",{type:"button",onClick:u,disabled:Q,className:"p-1 hover:bg-muted rounded transition-colors disabled:opacity-50","aria-label":"Close",children:o.jsx(nt,{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:u,disabled:Q,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:C,disabled:Q,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:Q?"Processing...":s})]})]})}):null}let bh=0;const uo=Ct(A=>({toasts:[],addToast:e=>{const t=`toast-${++bh}`;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 ce(A,e="default",t=4e3){const s=uo.getState().addToast({message:A,type:e,duration:t});return t>0&&setTimeout(()=>{uo.getState().removeToast(s)},t),s}ce.success=(A,e=4e3)=>ce(A,"success",e);ce.error=(A,e=5e3)=>ce(A,"error",e);ce.info=(A,e=4e3)=>ce(A,"default",e);ce.loading=A=>ce(A,"loading",0);ce.successWithAction=(A,e,t=6e3)=>{const s=uo.getState().addToast({message:A,type:"success",duration:t,action:e});return t>0&&setTimeout(()=>{uo.getState().removeToast(s)},t),s};function Co(A){window.self!==window.top?window.parent.postMessage({type:"otto-open-url",url:A},"*"):window.open(A,"_blank","noopener,noreferrer")}const Fh={default:o.jsx(Cr,{className:"h-4 w-4"}),success:o.jsx(hB,{className:"h-4 w-4 text-green-500"}),error:o.jsx(Da,{className:"h-4 w-4 text-red-500"}),loading:o.jsx(Le,{className:"h-4 w-4 animate-spin"})};function Gh({toast:A}){const[e,t]=x.useState(!1),s=uo(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:[Fh[A.type],o.jsx("span",{className:"text-sm text-foreground",children:A.message}),A.action&&o.jsxs("button",{type:"button",onClick:r=>{r.stopPropagation(),Co(A.action?.href)},className:"ml-auto flex items-center gap-1 text-xs text-primary hover:underline",children:[A.action.label,o.jsx(bt,{className:"h-3 w-3"})]})]})}function vh(){const A=uo(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(Gh,{toast:e},e.id))})}const wr=Ct(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 Sh(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 Wi=A=>e=>{try{const t=A(e);return t instanceof Promise?t:{then(s){return Wi(s)(t)},catch(s){return this}}}catch(t){return{then(s){return this},catch(s){return Wi(s)(t)}}}},Uh=(A,e)=>(t,s,n)=>{let r={storage:Sh(()=>window.localStorage),partialize:h=>h,version:0,merge:(h,k)=>({...k,...h}),...e},i=!1,a=0;const g=new Set,Q=new Set;let B=r.storage;if(!B)return A((...h)=>{console.warn(`[zustand persist middleware] Unable to update item '${r.name}', the given storage is currently unavailable.`),t(...h)},s,n);const C=()=>{const h=r.partialize({...s()});return B.setItem(r.name,{state:h,version:r.version})},u=n.setState;n.setState=(h,k)=>(u(h,k),C());const E=A((...h)=>(t(...h),C()),s,n);n.getInitialState=()=>E;let I;const p=()=>{var h,k;if(!B)return;const v=++a;i=!1,g.forEach(T=>{var J;return T((J=s())!=null?J:E)});const D=((k=r.onRehydrateStorage)==null?void 0:k.call(r,(h=s())!=null?h:E))||void 0;return Wi(B.getItem.bind(B))(r.name).then(T=>{if(T)if(typeof T.version=="number"&&T.version!==r.version){if(r.migrate){const J=r.migrate(T.state,T.version);return J instanceof Promise?J.then(V=>[!0,V]):[!0,J]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,T.state];return[!1,void 0]}).then(T=>{var J;if(v!==a)return;const[V,AA]=T;if(I=r.merge(AA,(J=s())!=null?J:E),t(I,!0),V)return C()}).then(()=>{v===a&&(D?.(s(),void 0),I=s(),i=!0,Q.forEach(T=>T(I)))}).catch(T=>{v===a&&D?.(void 0,T)})};return n.persist={setOptions:h=>{r={...r,...h},h.storage&&(B=h.storage)},clearStorage:()=>{B?.removeItem(r.name)},getOptions:()=>r,rehydrate:()=>p(),hasHydrated:()=>i,onHydrate:h=>(g.add(h),()=>{g.delete(h)}),onFinishHydration:h=>(Q.add(h),()=>{Q.delete(h)})},r.skipHydration||p(),I||E},cl=Uh,As=Ct()(cl((A,e)=>({widths:{},setWidth:(t,s)=>A(n=>({widths:{...n.widths,[t]:s}})),getWidth:(t,s)=>e().widths[t]??s}),{name:"panel-widths"})),Hs=x.memo(function({panelKey:e,side:t,minWidth:s,maxWidth:n,defaultWidth:r,onWidthChange:i}){const a=x.useRef(null),g=x.useCallback(Q=>{Q.preventDefault();const B=As.getState().getWidth(e,r);a.current={startX:Q.clientX,startWidth:B};const C=E=>{if(!a.current)return;const I=E.clientX-a.current.startX,p=t==="right"?a.current.startWidth-I:a.current.startWidth+I,h=Math.min(Math.max(s,p),n);As.getState().setWidth(e,h),i?.(h)},u=()=>{a.current=null,document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",u),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",C),document.addEventListener("mouseup",u),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 ts(A){return Array.isArray?Array.isArray(A):Il(A)==="[object Array]"}function Rh(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 zi(A){return A==null?"":Rh(A)}function Wt(A){return typeof A=="string"}function $r(A){return typeof A=="number"}function Kh(A){return A===!0||A===!1||Jh(A)&&Il(A)=="[object Boolean]"}function Cl(A){return typeof A=="object"}function Jh(A){return Cl(A)&&A!==null}function Xt(A){return A!=null}function Sr(A){return!A.trim().length}function Il(A){return A==null?A===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(A)}const Lh="Incorrect 'index' type",jh=A=>`Invalid value for key ${A}`,Th=A=>`Pattern length exceeds max of ${A}.`,Oh=A=>`Missing ${A} property in key`,qh=A=>`Property 'weight' in key '${A}' must be a positive integer`,Zg=Object.prototype.hasOwnProperty;class Yh{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(s=>{const n=ul(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 ul(A){let e=null,t=null,s=null,n=1,r=null;if(Wt(A)||ts(A))s=A,e=_g(A),t=Vi(A);else{if(!Zg.call(A,"name"))throw new Error(Oh("name"));const i=A.name;if(s=i,Zg.call(A,"weight")&&(n=A.weight,n<=0))throw new Error(qh(i));e=_g(i),t=Vi(i),r=A.getFn}return{path:e,id:t,weight:n,src:s,getFn:r}}function _g(A){return ts(A)?A:A.split(".")}function Vi(A){return ts(A)?A.join("."):A}function Hh(A,e){const t=[];let s=!1;const n=(r,i,a,g)=>{if(Xt(r))if(!i[a])t.push(g!==void 0?{v:r,i:g}:r);else{const Q=i[a],B=r[Q];if(!Xt(B))return;if(a===i.length-1&&(Wt(B)||$r(B)||Kh(B)||typeof B=="bigint"))t.push(g!==void 0?{v:zi(B),i:g}:zi(B));else if(ts(B)){s=!0;for(let C=0,u=B.length;C<u;C+=1)n(B[C],i,a+1,C)}else i.length&&n(B,i,a+1,g)}};return n(A,Wt(e)?e.split("."):e,0),s?t:t[0]}const Ph={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},Wh={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},zh={location:0,threshold:.6,distance:100},Vh={useExtendedSearch:!1,useTokenSearch:!1,getFn:Hh,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},ge=Object.freeze({...Wh,...Ph,...zh,...Vh}),Zh=/[^ ]+/g;function _h(A=1,e=3){const t=new Map,s=Math.pow(10,e);return{get(n){const r=n.match(Zh).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 Ta{constructor({getFn:e=ge.getFn,fieldNormWeight:t=ge.fieldNormWeight}={}){this.norm=_h(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,Wt(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();Wt(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(!Xt(e)||Sr(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(Xt(i)){if(ts(i)){const a=[];for(let g=0,Q=i.length;g<Q;g+=1){const B=i[g];if(Xt(B)){if(Wt(B)){if(!Sr(B)){const C={v:B,i:g,n:this.norm.get(B)};a.push(C)}}else if(Xt(B.v)){const C=Wt(B.v)?B.v:zi(B.v);if(!Sr(C)){const u={v:C,i:B.i,n:this.norm.get(C)};a.push(u)}}}}s.$[r]=a}else if(Wt(i)&&!Sr(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 dl(A,e,{getFn:t=ge.getFn,fieldNormWeight:s=ge.fieldNormWeight}={}){const n=new Ta({getFn:t,fieldNormWeight:s});return n.setKeys(A.map(ul)),n.setSources(e),n.create(),n}function Xh(A,{getFn:e=ge.getFn,fieldNormWeight:t=ge.fieldNormWeight}={}){const{keys:s,records:n}=A,r=new Ta({getFn:e,fieldNormWeight:t});return r.setKeys(s),r.setIndexRecords(n),r}function $h(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 gs=32;function A0(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:Q=ge.ignoreLocation}={}){if(e.length>gs)throw new Error(Th(gs));const B=e.length,C=A.length,u=Math.max(0,Math.min(s,C));let E=r,I=u;const p=(X,L)=>{const W=X/B;if(Q)return W;const S=Math.abs(u-L);return n?W+S/n:S?1:W},h=a>1||g,k=h?Array(C):[];let v;for(;(v=A.indexOf(e,I))>-1;){const X=p(0,v);if(E=Math.min(X,E),I=v+B,h){let L=0;for(;L<B;)k[v+L]=1,L+=1}}I=-1;let D=[],T=1,J=B+C;const V=1<<B-1;for(let X=0;X<B;X+=1){let L=0,W=J;for(;L<W;)p(X,u+W)<=E?L=W:J=W,W=Math.floor((J-L)/2+L);J=W;let S=Math.max(1,u-W+1);const O=i?C:Math.min(u+W,C)+B,w=Array(O+2);w[O+1]=(1<<X)-1;for(let d=O;d>=S;d-=1){const N=d-1,G=t[A[N]];if(h&&(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&&(T=p(X,N),T<=E)){if(E=T,I=N,I<=u)break;S=Math.max(1,2*u-I)}}if(p(X+1,u)>E)break;D=w}const AA={isMatch:I>=0,score:Math.max(.001,T)};if(h){const X=$h(k,a);X.length?g&&(AA.indices=X):AA.isMatch=!1}return AA}function e0(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 Oa(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 hl={ł:"l",Ł:"L",đ:"d",Đ:"D",ø:"o",Ø:"O",ħ:"h",Ħ:"H",ŧ:"t",Ŧ:"T",ı:"i",ß:"ss"},t0=new RegExp("["+Object.keys(hl).join("")+"]","g"),Br=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(t0,e=>hl[e]):A=>A;class qa{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:Q=ge.ignoreDiacritics,ignoreLocation:B=ge.ignoreLocation}={}){if(this.options={location:t,threshold:s,distance:n,includeMatches:r,findAllMatches:i,minMatchCharLength:a,isCaseSensitive:g,ignoreDiacritics:Q,ignoreLocation:B},e=g?e:e.toLowerCase(),e=Q?Br(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;const C=(E,I)=>{this.chunks.push({pattern:E,alphabet:e0(E),startIndex:I})},u=this.pattern.length;if(u>gs){let E=0;const I=u%gs,p=u-I;for(;E<p;)C(this.pattern.substr(E,gs),E),E+=gs;if(I){const h=u-gs;C(this.pattern.substr(h),h)}}else C(this.pattern,0)}searchIn(e){const{isCaseSensitive:t,ignoreDiacritics:s,includeMatches:n}=this.options;if(e=t?e:e.toLowerCase(),e=s?Br(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:Q,ignoreLocation:B}=this.options,C=[];let u=0,E=!1;this.chunks.forEach(({pattern:p,alphabet:h,startIndex:k})=>{const{isMatch:v,score:D,indices:T}=A0(e,p,h,{location:r+k,distance:i,threshold:a,findAllMatches:g,minMatchCharLength:Q,includeMatches:n,ignoreLocation:B});v&&(E=!0),u+=D,v&&T&&C.push(...T)});const I={isMatch:E,score:E?u/this.chunks.length:1};return E&&n&&(I.indices=Oa(C)),I}}class os{constructor(e){this.pattern=e}static isMultiMatch(e){return Xg(e,this.multiRegex)}static isSingleMatch(e){return Xg(e,this.singleRegex)}search(e){return{isMatch:!1,score:1}}}function Xg(A,e){const t=A.match(e);return t?t[1]:null}class o0 extends os{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 s0 extends os{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 r0 extends os{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 n0 extends os{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 i0 extends os{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 a0 extends os{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 fl extends os{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:Q=ge.ignoreDiacritics,ignoreLocation:B=ge.ignoreLocation}={}){super(e),this._bitapSearch=new qa(e,{location:t,threshold:s,distance:n,includeMatches:r,findAllMatches:i,minMatchCharLength:a,isCaseSensitive:g,ignoreDiacritics:Q,ignoreLocation:B})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(e){return this._bitapSearch.searchIn(e)}}class pl extends os{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 Zi=[o0,pl,r0,n0,a0,i0,s0,fl],$g=Zi.length,g0="\0",Q0="|";function B0(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 l0(A,e={}){return A.replace(/\\\|/g,g0).split(Q0).map(s=>{const n=s.replace(/\u0000/g,"|"),r=B0(n.trim()).filter(a=>a&&!!a.trim()),i=[];for(let a=0,g=r.length;a<g;a+=1){const Q=r[a];let B=!1,C=-1;for(;!B&&++C<$g;){const u=Zi[C],E=u.isMultiMatch(Q);E&&(i.push(new u(E,e)),B=!0)}if(!B)for(C=-1;++C<$g;){const u=Zi[C],E=u.isSingleMatch(Q);if(E){i.push(new u(E,e));break}}}return i})}const E0=new Set([fl.type,pl.type]);class c0{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:Q=ge.threshold,distance:B=ge.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:s,includeMatches:n,minMatchCharLength:r,findAllMatches:a,ignoreLocation:i,location:g,threshold:Q,distance:B},e=t?e:e.toLowerCase(),e=s?Br(e):e,this.pattern=e,this.query=l0(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?Br(e):e;let i=0;const a=[];let g=0,Q=!1;for(let B=0,C=t.length;B<C;B+=1){const u=t[B];a.length=0,i=0,Q=!1;for(let E=0,I=u.length;E<I;E+=1){const p=u[E],{isMatch:h,indices:k,score:v}=p.search(e);if(h){i+=1,g+=v;const D=p.constructor.type;D.startsWith("inverse")&&(Q=!0),s&&(E0.has(D)?a.push(...k):a.push(k))}else{g=0,i=0,a.length=0,Q=!1;break}}if(i){const E={isMatch:!0,score:g/i};return Q&&(E.hasInverse=!0),s&&(E.indices=Oa(a)),E}}return{isMatch:!1,score:1}}}const _i=[];function Ya(...A){_i.push(...A)}function ln(A,e){for(let t=0,s=_i.length;t<s;t+=1){const n=_i[t];if(n.condition(A,e))return new n(A,e)}return new qa(A,e)}const En={AND:"$and",OR:"$or"},Xi={PATH:"$path",PATTERN:"$val"},$i=A=>!!(A[En.AND]||A[En.OR]),C0=A=>!!A[Xi.PATH],I0=A=>!ts(A)&&Cl(A)&&!$i(A),AQ=A=>({[En.AND]:Object.keys(A).map(e=>({[e]:A[e]}))});function ml(A,e,{auto:t=!0}={}){const s=n=>{if(Wt(n)){const g={keyId:null,pattern:n};return t&&(g.searcher=ln(n,e)),g}const r=Object.keys(n),i=C0(n);if(!i&&r.length>1&&!$i(n))return s(AQ(n));if(I0(n)){const g=i?n[Xi.PATH]:r[0],Q=i?n[Xi.PATTERN]:n[g];if(!Wt(Q))throw new Error(jh(g));const B={keyId:Vi(g),pattern:Q};return t&&(B.searcher=ln(Q,e)),B}const a={children:[],operator:r[0]};return r.forEach(g=>{const Q=n[g];ts(Q)&&Q.forEach(B=>{a.children.push(s(B))})}),a};return $i(A)||(A=AQ(A)),s(A)}function Aa(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 u0(A,{ignoreFieldNorm:e=ge.ignoreFieldNorm}){A.forEach(t=>{t.score=Aa(t.matches,{ignoreFieldNorm:e})})}class d0{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 h0(A,e){const t=A.matches;e.matches=[],Xt(t)&&t.forEach(s=>{if(!Xt(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 f0(A,e){e.score=A.score}function p0(A,e,{includeMatches:t=ge.includeMatches,includeScore:s=ge.includeScore}={}){const n=[];return t&&n.push(h0),s&&n.push(f0),A.map(r=>{const{idx:i}=r,a={item:e[i],refIndex:i};return n.length&&n.forEach(g=>{g(r,a)}),a})}const m0=/\b\w+\b/g;function ea({isCaseSensitive:A=!1,ignoreDiacritics:e=!1}={}){return{tokenize(t){return A||(t=t.toLowerCase()),e&&(t=Br(t)),t.match(m0)||[]}}}function w0(A,e,t){const s=new Map,n=new Map;let r=0;function i(a,g,Q,B){const C=t.tokenize(a);if(!C.length)return;r++;const u=new Map;for(const E of C)u.set(E,(u.get(E)||0)+1);for(const[E,I]of u){const p={docIdx:g,keyIdx:Q,subIdx:B,tf:I};let h=s.get(E);h||(h=[],s.set(E,h)),h.push(p),n.set(E,(n.get(E)||0)+1)}}for(const a of A){const{i:g,v:Q,$:B}=a;if(Q!==void 0){i(Q,g,-1,-1);continue}if(B)for(let C=0;C<e;C++){const u=B[C];if(u)if(Array.isArray(u))for(const E of u)i(E.v,g,C,E.i??-1);else i(u.v,g,C,-1)}}return{terms:s,fieldCount:r,df:n}}function x0(A,e,t,s){const{i:n,v:r,$:i}=e;function a(g,Q,B){const C=s.tokenize(g);if(!C.length)return;A.fieldCount++;const u=new Map;for(const E of C)u.set(E,(u.get(E)||0)+1);for(const[E,I]of u){const p={docIdx:n,keyIdx:Q,subIdx:B,tf:I};let h=A.terms.get(E);h||(h=[],A.terms.set(E,h)),h.push(p),A.df.set(E,(A.df.get(E)||0)+1)}}if(r!==void 0){a(r,-1,-1);return}if(i)for(let g=0;g<t;g++){const Q=i[g];if(Q)if(Array.isArray(Q))for(const B of Q)a(B.v,g,B.i??-1);else a(Q.v,g,-1)}}function eQ(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 bo{constructor(e,t,s){this.options={...ge,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new Yh(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=ln(e,t);return this._lastQuery=e,this._lastSearcher=s,s}setCollection(e,t){if(this._docs=e,t&&!(t instanceof Ta))throw new Error(Lh);if(this._myIndex=t||dl(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){const s=ea({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});this._invertedIndex=w0(this._myIndex.records,this._myIndex.keys.length,s)}}add(e){if(Xt(e)&&(this._docs.push(e),this._myIndex.add(e),this._invertedIndex)){const t=this._myIndex.records[this._myIndex.records.length-1],s=ea({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics});x0(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)eQ(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&&eQ(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(Wt(e)&&!e.trim()){let C=this._docs.map((u,E)=>({item:u,refIndex:E}));return $r(s)&&s>-1&&(C=C.slice(0,s)),C}const Q=$r(s)&&s>0&&Wt(e);let B;if(Q){const C=new d0(s);Wt(this._docs[0])?this._searchStringList(e,{heap:C,ignoreFieldNorm:g}):this._searchObjectList(e,{heap:C,ignoreFieldNorm:g}),B=C.extractSorted(a)}else B=Wt(e)?Wt(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),u0(B,{ignoreFieldNorm:g}),i&&B.sort(a),$r(s)&&s>-1&&(B=B.slice(0,s));return p0(B,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:Q})=>{if(!Xt(a))return;const{isMatch:B,score:C,indices:u}=n.searchIn(a);if(B){const E={item:a,idx:g,matches:[{score:C,value:a,norm:Q,indices:u}]};t?(E.score=Aa(E.matches,{ignoreFieldNorm:s}),t.shouldInsert(E.score)&&t.insert(E)):i.push(E)}}),i}_searchLogical(e){const t=ml(e,this.options),s=(a,g,Q)=>{if(!("children"in a)){const{keyId:E,searcher:I}=a;let p;return E===null?(p=[],this._myIndex.keys.forEach((h,k)=>{p.push(...this._findMatches({key:h,value:g[k],searcher:I}))})):p=this._findMatches({key:this._keyStore.get(E),value:this._myIndex.getValueForItemAtKeyId(g,E),searcher:I}),p&&p.length?[{idx:Q,item:g,matches:p}]:[]}const{children:B,operator:C}=a,u=[];for(let E=0,I=B.length;E<I;E+=1){const p=B[E],h=s(p,g,Q);if(h.length)u.push(...h);else if(C===En.AND)return[]}return u},n=this._myIndex.records,r=new Map,i=[];return n.forEach(({$:a,i:g})=>{if(Xt(a)){const Q=s(t,a,g);Q.length&&(r.has(g)||(r.set(g,{idx:g,item:a,matches:[]}),i.push(r.get(g))),Q.forEach(({matches:B})=>{r.get(g).matches.push(...B)}))}}),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:Q})=>{if(!Xt(g))return;const B=[];let C=!1,u=!1;if(r.forEach((E,I)=>{const p=this._findMatches({key:E,value:g[I],searcher:n});p.length?(B.push(...p),p[0].hasInverse&&(u=!0)):C=!0}),!(u&&C)&&B.length){const E={idx:Q,item:g,matches:B};t?(E.score=Aa(E.matches,{ignoreFieldNorm:s}),t.shouldInsert(E.score)&&t.insert(E)):a.push(E)}}),a}_findMatches({key:e,value:t,searcher:s}){if(!Xt(t))return[];const n=[];if(ts(t))t.forEach(({v:r,i,n:a})=>{if(!Xt(r))return;const{isMatch:g,score:Q,indices:B,hasInverse:C}=s.searchIn(r);g&&n.push({score:Q,key:e,value:r,idx:i,norm:a,indices:B,hasInverse:C})});else{const{v:r,n:i}=t,{isMatch:a,score:g,indices:Q,hasInverse:B}=s.searchIn(r);a&&n.push({score:g,key:e,value:r,norm:i,indices:Q,hasInverse:B})}return n}}class D0{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=ea({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 qa(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,Q=Math.log(1+(i-g+.5)/(g+.5));this.idfWeights.push(Q)}}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 Q=this.termSearchers[g].searchIn(e),B=this.idfWeights[g];n+=B,Q.isMatch&&(r++,s+=B*(1-Q.score),Q.indices&&t.push(...Q.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=Oa(t)),a}}bo.version="7.3.0";bo.createIndex=dl;bo.parseIndex=Xh;bo.config=ge;bo.match=function(A,e,t){return ln(A,{...ge,...t}).searchIn(e)};bo.parseQuery=ml;Ya(c0);Ya(D0);bo.use=function(...A){A.forEach(e=>Ya(e))};function y0(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 yn;case"json":case"yaml":case"yml":case"toml":return Lc;case"md":case"txt":case"log":return $o;case"png":case"jpg":case"jpeg":case"gif":case"svg":case"webp":return ya;case"css":case"scss":case"sass":case"less":return Jc;case"html":case"xml":return Kc;default:return Xo}}function N0(A,e){const t=e.get(A);return t?{added:{icon:Io,label:"Added",className:"text-green-500"},modified:{icon:nn,label:"Modified",className:"text-yellow-500"},untracked:{icon:Io,label:"Untracked",className:"text-blue-500"}}[t]||{icon:nn,label:"Modified",className:"text-yellow-500"}:null}function k0({files:A,changedFiles:e=[],query:t,selectedIndex:s,onSelect:n,onEnterSelect:r,onClose:i}){const a=x.useMemo(()=>new Map(e?.map(B=>[B.path,B.status])||[]),[e]),g=x.useMemo(()=>new bo(A.map(B=>({path:B,filename:B.split("/").pop()||B,normalized:B.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]),Q=x.useMemo(()=>{if(!t)return A.slice(0,20);const B=t.replace(/[.\-_/]/g,""),C=g.search(B);return C.sort((u,E)=>{const I=u.score??1,p=E.score??1;if(Math.abs(I-p)<.05){const k=a.has(u.item.path),v=a.has(E.item.path);if(k&&!v)return-1;if(!k&&v)return 1}return I-p}),C.slice(0,20).map(u=>u.item.path)},[g,t,A,a]);return x.useEffect(()=>{document.getElementById(`file-item-${s}`)?.scrollIntoView({block:"nearest"})},[s]),x.useEffect(()=>{r(Q[s])},[Q,s,r]),x.useEffect(()=>{const B=C=>{C.target.closest("[data-file-mention-popup]")||i()};return document.addEventListener("mousedown",B),()=>document.removeEventListener("mousedown",B)},[i]),Q.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:Q.map((B,C)=>o.jsx("button",{type:"button",id:`file-item-${C}`,onMouseDown:u=>{u.preventDefault(),n(B)},className:`w-full text-left px-3 py-2 hover:bg-accent ${C===s?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-center gap-2 w-full",children:[(()=>{const u=y0(B);return o.jsx(u,{className:"w-4 h-4 flex-shrink-0 text-muted-foreground"})})(),o.jsx("span",{className:"font-mono text-sm flex-1 truncate",children:B}),(()=>{const u=N0(B,a);return u&&o.jsx("span",{title:u.label,children:o.jsx(u.icon,{className:`w-3.5 h-3.5 flex-shrink-0 ${u.className}`})})})()]})},B))})}function M0(){if(typeof window<"u"&&typeof window.fetch=="function")return"fetch"}function YA(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 b0(){const e=window.OTTO_SERVER_URL||es;kA.setConfig({baseURL:e,adapter:M0()})}b0();function wl(){const A=window;return A.OTTO_SERVER_URL?A.OTTO_SERVER_URL:es}function si(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 F0(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 oo={async getSessions(){return(await this.getSessionsPage({limit:200})).items},async getSessionsPage(A={}){const{limit:e=50,offset:t=0}=A,s=await xd({query:{limit:e,offset:t}});if(s.error)throw new Error(YA(s.error));const n=s.data;return{items:(n?.items??[]).map(r=>si(r)),hasMore:n?.hasMore??!1,nextOffset:n?.nextOffset??null}},async createSession(A){const e=await Dd({body:A});if(e.error)throw new Error(YA(e.error));if(!e.data)throw new Error("No data returned from create session");return si(e.data)},async updateSession(A,e){const t=await Id({path:{sessionId:A},body:e});if(t.error)throw new Error(YA(t.error));return si(t.data)},async deleteSession(A){const e=await Cd({path:{sessionId:A}});if(e.error)throw new Error(YA(e.error));return e.data},async abortSession(A){const e=await Yg({path:{sessionId:A}});if(e.error)throw new Error(YA(e.error));return e.data},async abortMessage(A,e){const t=await Yg({path:{sessionId:A}});if(t.error)throw new Error("Failed to abort message");return t.data},async getQueueState(A){const e=await ud({path:{sessionId:A}});if(e.error)throw new Error("Failed to get queue state");return e.data},async removeFromQueue(A,e){const t=await dd({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 Qd({path:{id:A}});if(e.error)throw new Error(YA(e.error));return(e.data||[]).map(F0)},async sendMessage(A,e){const t=await Bd({path:{id:A},body:e});if(t.error)throw new Error(YA(t.error));return t.data},getStreamUrl(A){return`${wl()}/v1/sessions/${A}/stream`},async retryMessage(A,e){const t=await hd({path:{sessionId:A,messageId:e}});if(t.error)throw new Error(YA(t.error));return t.data}},Rt={async initGitRepo(){const A=await Ou();if(A.error)throw new Error(YA(A.error));return A.data?.data},async getGitStatus(){const A=await qu();if(A.error)throw new Error(YA(A.error));return A.data?.data},async getGitDiff(A,e=!1){const t=await qg({query:{file:A,staged:e?"true":"false"}});if(t.error)throw new Error(YA(t.error));return t.data?.data},async getGitDiffFullFile(A,e=!1){const t=await qg({query:{file:A,staged:e?"true":"false",fullFile:"true"}});if(t.error)throw new Error(YA(t.error));return t.data?.data},async generateCommitMessage(A){const e=await zu({body:A?{sessionId:A}:{}});if(e.error)throw new Error(YA(e.error));return e.data?.data},async stageFiles(A){const e=await Hu({body:{files:A}});if(e.error)throw new Error(YA(e.error));return e.data?.data},async unstageFiles(A){const e=await Pu({body:{files:A}});if(e.error)throw new Error(YA(e.error));return e.data?.data},async restoreFiles(A){const e=await _u({body:{files:A}});if(e.error)throw new Error(YA(e.error));return e.data?.data},async deleteFiles(A){const e=await Xu({body:{files:A}});if(e.error)throw new Error(YA(e.error));return e.data?.data},async commitChanges(A){const e=await Wu({body:{message:A}});if(e.error)throw new Error(YA(e.error));return e.data?.data},async getGitBranch(){const A=await Yu();if(A.error)throw new Error(YA(A.error));return A.data?.data},async pushCommits(){const A=await Vu({body:{}});if(A.error)throw new Error(YA(A.error));return A.data?.data},async pullChanges(){const A=await Zu({body:{}});if(A.error)throw new Error(YA(A.error));return A.data?.data},async getRemotes(){const A=await Ad();if(A.error)throw new Error(YA(A.error));return A.data?.data?.remotes},async addRemote(A,e){const t=await ed({body:{name:A,url:e}});if(t.error)throw new Error(YA(t.error));return t.data?.data},async removeRemote(A){const e=await $u({body:{name:A}});if(e.error)throw new Error(YA(e.error));return e.data?.data}},Ur={async getConfig(){const A=await Uu();if(A.error)throw new Error(YA(A.error));return A.data},async getModels(A){const e=await Ru({path:{provider:A}});if(e.error)throw new Error(YA(e.error));return e.data},async getAllModels(){const A=await Ju();if(A.error)throw new Error(YA(A.error));return A.data},async updateDefaults(A){const e=await Ku({body:A});if(e.error)throw new Error(YA(e.error));return e.data}},Rr={async listFiles(){const A=await Lu();if(A.error)throw new Error(YA(A.error));return A.data},async getFileTree(A="."){const e=await ju({query:{path:A}});if(e.error)throw new Error(YA(e.error));return e.data},async readFileContent(A){const e=await Tu({query:{path:A}});if(e.error)throw new Error(YA(e.error));return e.data},async getSessionFiles(A){const e=await wd({path:{sessionId:A}});if(e.error)throw new Error(YA(e.error));return e.data}},Ms={async createBranch(A,e){const t=await Gu({path:{sessionId:A},body:e});if(t.error)throw new Error(YA(t.error));return t.data},async listBranches(A){const e=await vu({path:{sessionId:A}});if(e.error)throw new Error(YA(e.error));return e.data},async getParentSession(A){const e=await Su({path:{sessionId:A}});if(e.error)throw new Error(YA(e.error));return e.data},async getShareStatus(A){const e=await fd({path:{sessionId:A}});return e.error?{shared:!1}:e.data},async shareSession(A){const e=await pd({path:{sessionId:A}});if(e.error)throw new Error(YA(e.error));return e.data},async syncSession(A){const e=await md({path:{sessionId:A}});if(e.error)throw new Error(YA(e.error));return e.data}},tQ={async approveToolCall(A,e,t){const s=await Ed({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 cd({path:{id:A}});return e.error?{ok:!1,pending:[]}:e.data}},ao={async getOttoRouterBalance(){try{const A=await yd();return A.error?null:A.data}catch{return null}},async getOttoRouterWallet(){try{const A=await Nd();return A.error?{configured:!1}:A.data}catch{return{configured:!1}}},async getOttoRouterUsdcBalance(A="mainnet"){try{const e=await kd({query:{network:A}});return e.error?null:e.data}catch{return null}},async getPolarTopupEstimate(A){try{const e=await vd({query:{amount:A}});return e.error?null:e.data}catch{return null}},async createPolarCheckout(A,e){const t=await Md({body:{amount:A,successUrl:e}});if(t.error)throw new Error(YA(t.error));return t.data},async selectTopupMethod(A,e){const t=await bd({body:{sessionId:A,method:e}});if(t.error)throw new Error(YA(t.error));return t.data},async cancelTopup(A,e){const t=await Fd({body:{sessionId:A,reason:e}});if(t.error)throw new Error(YA(t.error));return t.data},async getPendingTopup(A){try{const e=await Gd({query:{sessionId:A}});return e.error?{hasPending:!1}:e.data}catch{return{hasPending:!1}}},async getPolarTopupStatus(A){try{const e=await Sd({query:{checkoutId:A}});return e.error?null:e.data}catch{return null}},async getRazorpayTopupEstimate(A){try{const e=await Ud({query:{amount:A}});return e.error?null:e.data}catch{return null}},async createRazorpayOrder(A){const e=await Rd({body:{amount:A}});if(e.error)throw new Error(YA(e.error));return e.data},async verifyRazorpayPayment(A){const e=await Kd({body:A});if(e.error)throw new Error(YA(e.error));return e.data}},Nt={async getAuthStatus(){const A=await uu();if(A.error)throw new Error(YA(A.error));return A.data},async setupOttoRouterWallet(){const A=await du();if(A.error)throw new Error(YA(A.error));return A.data},async importOttoRouterWallet(A){const e=await hu({body:{privateKey:A}});if(e.error)throw new Error(YA(e.error));return e.data},async exportOttoRouterWallet(){const A=await fu();if(A.error)throw new Error(YA(A.error));return A.data},async addProvider(A,e){const t=await mu({path:{provider:A},body:{apiKey:e}});if(t.error)throw new Error(YA(t.error));return t.data},async removeProvider(A){const e=await pu({path:{provider:A}});if(e.error)throw new Error(YA(e.error));return e.data},async completeOnboarding(){const A=await Fu();if(A.error)throw new Error(YA(A.error));return A.data},getOAuthStartUrl(A,e){const t=`${wl()}/v1/auth/${A}/oauth/start`;return e?`${t}?mode=${e}`:t},async getOAuthUrl(A,e){const t=await wu({path:{provider:A},body:{mode:e}});if(t.error)throw new Error(YA(t.error));return t.data},async exchangeOAuthCode(A,e,t){const s=await xu({path:{provider:A},body:{code:e,sessionId:t}});if(s.error)throw new Error(YA(s.error));return s.data},async startCopilotDeviceFlow(){const A=await Du();if(A.error)throw new Error(YA(A.error));return A.data},async pollCopilotDeviceFlow(A){const e=await yu({body:{sessionId:A}});if(e.error)throw new Error(YA(e.error));return e.data},async getCopilotAuthMethods(){const A=await Nu();if(A.error)throw new Error(YA(A.error));return A.data},async saveCopilotToken(A){const e=await ku({body:{token:A}});if(e.error)throw new Error(YA(e.error));return e.data},async importCopilotTokenFromGh(){const A=await Mu();if(A.error)throw new Error(YA(A.error));return A.data},async getCopilotDiagnostics(){const A=await bu();if(A.error)throw new Error(YA(A.error));return A.data},async getProviderUsage(A){const e=await ld({path:{provider:A}});if(e.error)throw new Error(YA(e.error));return e.data}},bs={async listSkills(){const A=await jd();if(A.error)throw new Error(YA(A.error));return A.data},async getSkill(A){const e=await Td({path:{name:A}});if(e.error)throw new Error(YA(e.error));return e.data},async getSkillFiles(A){const e=await Od({path:{name:A}});if(e.error)throw new Error(YA(e.error));return e.data},async getSkillFileContent(A,e){const t=await qd({path:{name:A,filePath:e}});if(t.error)throw new Error(YA(t.error));return t.data},async getSkillsConfig(){const A=await Jd();if(A.error)throw new Error(YA(A.error));return A.data},async updateSkillsConfig(A){const e=await Ld({body:A});if(e.error)throw new Error(YA(e.error));return e.data}};class G0{getSessions=oo.getSessions;getSessionsPage=oo.getSessionsPage;createSession=oo.createSession;updateSession=oo.updateSession;deleteSession=oo.deleteSession;abortSession=oo.abortSession;abortMessage=oo.abortMessage;getQueueState=oo.getQueueState;removeFromQueue=oo.removeFromQueue;getMessages=oo.getMessages;sendMessage=oo.sendMessage;getStreamUrl=oo.getStreamUrl;retryMessage=oo.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=Ur.getConfig;getModels=Ur.getModels;getAllModels=Ur.getAllModels;updateDefaults=Ur.updateDefaults;listFiles=Rr.listFiles;getFileTree=Rr.getFileTree;readFileContent=Rr.readFileContent;getSessionFiles=Rr.getSessionFiles;createBranch=Ms.createBranch;listBranches=Ms.listBranches;getParentSession=Ms.getParentSession;getShareStatus=Ms.getShareStatus;shareSession=Ms.shareSession;syncSession=Ms.syncSession;approveToolCall=tQ.approveToolCall;getPendingApprovals=tQ.getPendingApprovals;getOttoRouterBalance=ao.getOttoRouterBalance;getOttoRouterWallet=ao.getOttoRouterWallet;getOttoRouterUsdcBalance=ao.getOttoRouterUsdcBalance;getPolarTopupEstimate=ao.getPolarTopupEstimate;createPolarCheckout=ao.createPolarCheckout;selectTopupMethod=ao.selectTopupMethod;cancelTopup=ao.cancelTopup;getPendingTopup=ao.getPendingTopup;getPolarTopupStatus=ao.getPolarTopupStatus;getRazorpayTopupEstimate=ao.getRazorpayTopupEstimate;createRazorpayOrder=ao.createRazorpayOrder;verifyRazorpayPayment=ao.verifyRazorpayPayment;getAuthStatus=Nt.getAuthStatus;setupOttoRouterWallet=Nt.setupOttoRouterWallet;importOttoRouterWallet=Nt.importOttoRouterWallet;exportOttoRouterWallet=Nt.exportOttoRouterWallet;addProvider=Nt.addProvider;removeProvider=Nt.removeProvider;completeOnboarding=Nt.completeOnboarding;getOAuthStartUrl=Nt.getOAuthStartUrl;getOAuthUrl=Nt.getOAuthUrl;exchangeOAuthCode=Nt.exchangeOAuthCode;startCopilotDeviceFlow=Nt.startCopilotDeviceFlow;pollCopilotDeviceFlow=Nt.pollCopilotDeviceFlow;getCopilotAuthMethods=Nt.getCopilotAuthMethods;saveCopilotToken=Nt.saveCopilotToken;importCopilotTokenFromGh=Nt.importCopilotTokenFromGh;getCopilotDiagnostics=Nt.getCopilotDiagnostics;getProviderUsage=Nt.getProviderUsage;listSkills=bs.listSkills;getSkill=bs.getSkill;getSkillFiles=bs.getSkillFiles;getSkillFileContent=bs.getSkillFileContent;getSkillsConfig=bs.getSkillsConfig;updateSkillsConfig=bs.updateSkillsConfig}const mA=new G0;function ss(){return ot({queryKey:["config"],queryFn:()=>mA.getConfig(),staleTime:3e4})}function v0(A){return ot({queryKey:["models",A],queryFn:()=>A?mA.getModels(A):null,enabled:!!A})}function Ps(){return ot({queryKey:["models","all"],queryFn:()=>mA.getAllModels()})}function Kn(){const A=De();return qe({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 xl="otto-preferences",rr={vimMode:!1,compactThread:!0};function S0(){if(typeof window>"u")return rr;try{const A=window.localStorage.getItem(xl);if(A){const e=JSON.parse(A);return{vimMode:typeof e.vimMode=="boolean"?e.vimMode:rr.vimMode,compactThread:typeof e.compactThread=="boolean"?e.compactThread:rr.compactThread}}}catch(A){console.warn("Failed to load preferences",A)}return rr}let An=S0();const ta=new Set;function U0(){return An}function R0(){return rr}function K0(A){return ta.add(A),()=>ta.delete(A)}function J0(){for(const A of ta)A()}function L0(A){if(An={...An,...A},typeof window<"u")try{window.localStorage.setItem(xl,JSON.stringify(An))}catch(e){console.warn("Failed to persist preferences",e)}J0()}function Ws(){const A=x.useSyncExternalStore(K0,U0,R0),{data:e}=ss(),t=Kn(),s=x.useCallback(r=>{const i={};r.vimMode!==void 0&&(i.vimMode=r.vimMode),r.compactThread!==void 0&&(i.compactThread=r.compactThread),Object.keys(i).length>0&&L0(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 Ha(A){const{data:e,isLoading:t,error:s}=ot({queryKey:["share-status",A],queryFn:()=>mA.getShareStatus(A),enabled:!!A,staleTime:3e4});return{data:e,isLoading:t,error:s}}const Jn=[{id:"models",label:"/models",description:"Open model selector",icon:ro},{id:"agents",label:"/agents",description:"Open agent selector",icon:Ao},{id:"new",label:"/new",description:"Create new session",icon:Io},{id:"stop",label:"/stop",description:"Stop current generation",icon:fB},{id:"help",label:"/help",description:"Show keyboard shortcuts and help",icon:pB},{id:"vim",label:"/vim",description:A=>A.vimModeEnabled?"Disable Vim mode":"Enable Vim mode",icon:jc},{id:"reasoning",label:"/reasoning",description:A=>A.reasoningEnabled?"Disable extended thinking":"Enable extended thinking",icon:Nn},{id:"stage",label:"/stage",description:"Stage all changes (git add -A)",icon:no},{id:"commit",label:"/commit",description:"Commit staged changes",icon:Yt},{id:"compact",label:"/compact",description:"Compact conversation to reduce context size",icon:xa},{id:"init",label:"/init",description:"Generate AGENTS.md and .agents docs from the real repo structure",icon:$o},{id:"branch",label:"/branch",description:"Branch session from last message",icon:Tc},{id:"delete",label:"/delete",description:"Delete current session",icon:Ir},{id:"share",label:"/share",description:"Share session publicly",icon:Na},{id:"sync",label:"/sync",description:"Sync new messages to shared session",icon:Pt}];function Dl(A,e){return typeof A.description=="function"?A.description(e):A.description}function j0(A){const e=A.trim().toLowerCase();if(e.startsWith("/"))return Jn.find(t=>t.label.toLowerCase()===e||`/${t.id}`.toLowerCase()===e)}function yl(A){return A==="compact"||A==="init"}function T0(A){return Jn.find(e=>e.id===A)?.label}function O0(A,e){const t=Jn.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=Dl(r,e),a=r.label.toLowerCase().includes(s),g=i.toLowerCase().includes(s);if(a||g){const Q=a?10:5;n.push({...r,matchScore:Q})}}return n.sort((r,i)=>{const a=i.matchScore-r.matchScore;return a!==0?a:r.label.localeCompare(i.label)})}function q0({query:A,selectedIndex:e,onSelect:t,onEnterSelect:s,onClose:n,sessionId:r}){const{preferences:i}=Ws(),{data:a}=ss(),{data:g}=Ha(r),Q=x.useMemo(()=>({vimModeEnabled:i.vimMode,reasoningEnabled:a?.defaults?.reasoningText??!0,isShared:g?.shared}),[i.vimMode,a?.defaults?.reasoningText,g?.shared]),B=x.useMemo(()=>O0(A,Q),[A,Q]);return x.useEffect(()=>{document.getElementById(`command-item-${e}`)?.scrollIntoView({block:"nearest"})},[e]),x.useEffect(()=>{s(B[e]?.id)},[B,e,s]),x.useEffect(()=>{const C=u=>{u.target.closest("[data-command-popup]")||n()};return document.addEventListener("mousedown",C),()=>document.removeEventListener("mousedown",C)},[n]),B.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:B.map((C,u)=>{const E=C.icon;return o.jsx("button",{type:"button",id:`command-item-${u}`,onMouseDown:I=>{I.preventDefault(),t(C.id)},className:`w-full text-left px-3 py-2 hover:bg-accent ${u===e?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-center gap-3 w-full",children:[o.jsx(E,{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:C.label}),o.jsx("div",{className:"text-xs text-muted-foreground truncate",children:Dl(C,Q)})]})]})},C.id)})})}const Y0={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl","2xl":"max-w-2xl"};function qo({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 C=u=>{const E=u.target,I=E.tagName==="INPUT"||E.tagName==="TEXTAREA"||E.isContentEditable;(u.key==="Escape"||u.key==="q"&&!I)&&(u.preventDefault(),u.stopPropagation(),e())};return document.addEventListener("keydown",C),()=>document.removeEventListener("keydown",C)},[A,i,e]),x.useEffect(()=>{if(A)return document.body.style.overflow="hidden",()=>{document.body.style.overflow=""}},[A]),!A)return null;const Q=C=>{r&&C.target===C.currentTarget&&e()},B=g==="absolute"?"absolute":"fixed";return o.jsxs(o.Fragment,{children:[o.jsx("button",{type:"button","data-native-overlay-root":"true",className:`${B} inset-0 bg-black/50 backdrop-blur-sm z-[9999] cursor-default`,onClick:Q,onKeyDown:C=>{(C.key==="Enter"||C.key===" ")&&Q(C)},"aria-label":"Close modal"}),o.jsx("div",{"data-native-overlay-root":"true",className:`${B} top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 z-[9999] w-full ${Y0[a]} px-4`,children:o.jsxs("div",{className:"bg-background border border-border rounded-lg shadow-lg",children:[(t||n)&&o.jsxs("div",{className:"flex 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(nt,{className:"h-5 w-5"})})]}),o.jsx("div",{className:"p-6",children:s})]})})]})}const H0=[{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"}],P0=[{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"}],W0=[{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 z0(A){const e={};for(const t of A)e[t.category]||(e[t.category]=[]),e[t.category].push(t);return e}function V0({isOpen:A,onClose:e}){const t=[...H0,...P0],s=z0(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 B=n.current;B&&B.scrollBy({top:100,behavior:"smooth"})}else if(a.key==="k"){a.preventDefault();const B=n.current;B&&B.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(qo,{isOpen:A,onClose:e,title:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(pB,{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(hg,{className:"w-4 h-4"}),i]}),o.jsx("div",{className:"space-y-2",children:a.map((g,Q)=>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(B=>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:B}),g.keys.indexOf(B)<g.keys.length-1&&o.jsx("span",{className:"text-muted-foreground",children:"+"})]},B))})]},`${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(hg,{className:"w-4 h-4"}),"Slash Commands"]}),o.jsx("div",{className:"space-y-2",children:W0.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 Z0=`<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>`,_0=`<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>`,X0=`<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>`,oa=`<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>`,$0=`<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>`,Af=`<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>`,ef=`<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>`,tf=`<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>`,oQ=`<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>`,of=`<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>`,sf=`<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>`,rf=`<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>`,nf=`<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>`,af={anthropic:Z0,openai:_0,google:X0,ollama:oa,"ollama-cloud":oa,openrouter:$0,groq:Af,deepseek:ef,xai:tf,zai:oQ,"zai-coding":oQ,ottorouter:of,minimax:sf,opencode:rf,copilot:nf},_t=x.memo(function({provider:e,className:t="",size:s=16}){const n=e.toLowerCase(),r=af[n]??(n.includes("ollama")?oa: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 Nl(){return ot({queryKey:["files"],queryFn:async()=>await mA.listFiles(),staleTime:1e4,refetchOnWindowFocus:!0,retry:1})}function gf({enabled:A,onSend:e,textareaRef:t,setMessage:s}){const[n,r]=x.useState(A?"normal":"insert"),[i,a]=x.useState(""),g=x.useCallback((u,E)=>{for(;E<u.length&&/\S/.test(u[E]);)E++;for(;E<u.length&&/\s/.test(u[E]);)E++;return Math.min(E,u.length)},[]),Q=x.useCallback((u,E)=>{for(E<u.length&&/\S/.test(u[E])&&E++;E<u.length&&/\s/.test(u[E]);)E++;for(;E<u.length&&/\S/.test(u[E]);)E++;return Math.max(0,E-1)},[]),B=x.useCallback((u,E)=>{for(E=Math.max(0,E-1);E>0&&/\s/.test(u[E]);)E--;for(;E>0&&/\S/.test(u[E-1]);)E--;return E},[]),C=x.useCallback(u=>{const E=t.current;if(!E)return!1;const I=u.key;if(I==="i")return u.preventDefault(),r("insert"),!0;if(I==="a"){u.preventDefault(),r("insert");const p=E.selectionStart;return setTimeout(()=>{E.setSelectionRange(p+1,p+1)},0),!0}if(I==="I"){u.preventDefault(),r("insert");const h=E.value.lastIndexOf(`
70
+ `,E.selectionStart-1)+1;return setTimeout(()=>{E.setSelectionRange(h,h)},0),!0}if(I==="A"){u.preventDefault(),r("insert");const p=E.value;let h=p.indexOf(`
71
+ `,E.selectionStart);return h===-1&&(h=p.length),setTimeout(()=>{E.setSelectionRange(h,h)},0),!0}if(I==="0"){u.preventDefault();const h=E.value.lastIndexOf(`
72
+ `,E.selectionStart-1)+1;return E.setSelectionRange(h,h),!0}if(I==="$"){u.preventDefault();const p=E.value;let h=p.indexOf(`
73
+ `,E.selectionStart);return h===-1&&(h=p.length),E.setSelectionRange(h,h),!0}if(I==="o"){u.preventDefault(),r("insert");const p=E.value;let h=p.indexOf(`
74
+ `,E.selectionStart);h===-1&&(h=p.length);const k=`${p.slice(0,h)}
75
+ ${p.slice(h)}`;return s(k),setTimeout(()=>{E.setSelectionRange(h+1,h+1)},0),!0}if(I==="O"){u.preventDefault(),r("insert");const p=E.value,h=p.lastIndexOf(`
76
+ `,E.selectionStart-1)+1,k=`${p.slice(0,h)}
77
+ ${p.slice(h)}`;return s(k),setTimeout(()=>{E.setSelectionRange(h,h)},0),!0}if(i==="f"&&I.length===1&&I!=="Escape"){u.preventDefault();const p=E.value,h=p.slice(p.lastIndexOf(`
78
+ `,E.selectionStart-1)+1,p.indexOf(`
79
+ `,E.selectionStart)===-1?p.length:p.indexOf(`
80
+ `,E.selectionStart)),k=E.selectionStart-p.lastIndexOf(`
81
+ `,E.selectionStart-1)-1,v=h.indexOf(I,k+1);if(v!==-1){const D=p.lastIndexOf(`
82
+ `,E.selectionStart-1)+1+v;E.setSelectionRange(D,D)}return a(""),!0}if(I==="f")return u.preventDefault(),a("f"),setTimeout(()=>a(""),2e3),!0;if(I==="d"){if(i==="d"){u.preventDefault();const p=E.value,h=p.lastIndexOf(`
83
+ `,E.selectionStart-1)+1;let k=p.indexOf(`
84
+ `,E.selectionStart);k===-1?k=p.length:k+=1;const v=p.slice(0,h)+p.slice(k);return s(v),a(""),setTimeout(()=>{E.setSelectionRange(h,h)},0),!0}return u.preventDefault(),a("d"),setTimeout(()=>a(""),1e3),!0}if(I==="Enter")return u.preventDefault(),e(),!0;if(I==="Escape")return u.preventDefault(),!0;if(I==="w"){u.preventDefault();const p=E.value,h=g(p,E.selectionStart);return E.setSelectionRange(h,h),!0}if(I==="e"){u.preventDefault();const p=E.value,h=Q(p,E.selectionStart);return E.setSelectionRange(h,h),!0}if(I==="b"){u.preventDefault();const p=E.value,h=B(p,E.selectionStart);return E.setSelectionRange(h,h),!0}if(I==="x"){u.preventDefault();const p=E.value,h=E.selectionStart;if(h<p.length){const k=p.slice(0,h)+p.slice(h+1);s(k),setTimeout(()=>{E.setSelectionRange(h,h)},0)}return!0}if(I==="s"){u.preventDefault();const p=E.value,h=E.selectionStart;if(h<p.length){const k=p.slice(0,h)+p.slice(h+1);s(k),r("insert"),setTimeout(()=>{E.setSelectionRange(h,h)},0)}else r("insert");return!0}if(I==="S"){u.preventDefault();const p=E.value,h=p.lastIndexOf(`
85
+ `,E.selectionStart-1)+1;let k=p.indexOf(`
86
+ `,E.selectionStart);k===-1&&(k=p.length);const v=p.slice(0,h)+p.slice(k);return s(v),r("insert"),setTimeout(()=>{E.setSelectionRange(h,h)},0),!0}if(I==="h"){u.preventDefault();const p=E.selectionStart;return p>0&&E.setSelectionRange(p-1,p-1),!0}if(I==="l"){u.preventDefault();const p=E.selectionStart;return p<E.value.length&&E.setSelectionRange(p+1,p+1),!0}if(I==="j"){u.preventDefault();const p=E.value,h=E.selectionStart,k=p.lastIndexOf(`
87
+ `,h-1)+1,v=h-k,D=p.indexOf(`
88
+ `,h);if(D!==-1){const T=D+1;let J=p.indexOf(`
89
+ `,T);J===-1&&(J=p.length);const V=J-T,AA=T+Math.min(v,V);E.setSelectionRange(AA,AA)}return!0}if(I==="k"){u.preventDefault();const p=E.value,h=E.selectionStart,k=p.lastIndexOf(`
90
+ `,h-1)+1;if(k>0){const v=h-k,D=k-1,T=p.lastIndexOf(`
91
+ `,D-1)+1,J=D-T,V=T+Math.min(v,J);E.setSelectionRange(V,V)}return!0}return!1},[i,e,t,s,g,Q,B]);return{vimMode:n,setVimMode:r,handleVimNormalMode:C}}function Qf(){const[A,e]=x.useState(!1),[t,s]=x.useState(""),[n,r]=x.useState(0),[i,a]=x.useState(),g=x.useCallback((C,u,E)=>{const I=u.current;if(!I)return;const p=I.value,h=I.selectionStart,v=p.slice(0,h).match(/(^|[\s])@(\S*)$/);if(!v)return;const D=h-v[0].length+v[1].length,T=`${p.slice(0,D)}@${C} ${p.slice(h)}`;E(T),e(!1),setTimeout(()=>{const J=D+C.length+2;I.setSelectionRange(J,J),I.focus()},0)},[]),Q=x.useCallback(C=>{a(C)},[]),B=x.useCallback((C,u)=>{const I=C.slice(0,u).match(/(^|[\s])@(\S*)$/);I?(e(!0),s(I[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:Q,checkForMention:B}}function Bf({onCommand:A,onSendCommandMessage:e,updatePreferences:t,updateReasoningText:s,vimModeEnabled:n,reasoningEnabled:r,textareaRef:i,setMessage:a,setShowShortcutsModal:g,sessionId:Q}){const[B,C]=x.useState(!1),[u,E]=x.useState(""),[I,p]=x.useState(0),[h,k]=x.useState(),v=x.useCallback(async J=>{const V=()=>{a(""),C(!1),i.current&&(i.current.style.height="auto"),i.current?.focus()};if(J==="help"){g(!0),V();return}if(J==="vim"){t({vimMode:!n}),V();return}if(J==="reasoning"){s(!r),V();return}if(J==="stop"){if(Q)try{await mA.abortSession(Q)}catch(AA){console.error("Failed to stop generation:",AA)}V();return}if(yl(J)){const AA=T0(J);if(AA&&e){await e(AA),V();return}}A&&A(J),V()},[A,e,n,r,t,s,i,a,g,Q]),D=x.useCallback(J=>{k(J)},[]),T=x.useCallback(J=>{J.startsWith("/")&&!J.includes(" ")?(C(!0),E(J.slice(1)),p(0)):C(!1)},[]);return{showCommandSuggestions:B,commandQuery:u,commandSelectedIndex:I,currentCommandToSelect:h,setShowCommandSuggestions:C,setCommandQuery:E,setCommandSelectedIndex:p,setCurrentCommandToSelect:k,handleCommandSelect:v,handleCommandEnterSelect:D,checkForCommand:T}}function lf(A){return e=>{const{showFileMention:t,showCommandSuggestions:s,mentionSelectedIndex:n,commandSelectedIndex:r,currentFileToSelect:i,currentCommandToSelect:a,isPlanMode:g,vimModeEnabled:Q,vimMode:B,setMentionSelectedIndex:C,setCommandSelectedIndex:u,setShowFileMention:E,setShowCommandSuggestions:I,setIsPlanMode:p,setVimMode:h,handleFileSelect:k,handleCommandSelect:v,handleSend:D,handleVimNormalMode:T,onPlanModeToggle:J}=A;if(s){const V=Jn.length;e.key==="ArrowDown"||e.ctrlKey&&e.key==="j"?(e.preventDefault(),u((r+1)%V)):e.key==="ArrowUp"||e.ctrlKey&&e.key==="k"?(e.preventDefault(),u((r-1+V)%V)):e.key==="Enter"?(e.preventDefault(),a&&v(a)):e.key==="Escape"&&(e.preventDefault(),I(!1));return}if(t){e.key==="ArrowDown"||e.ctrlKey&&e.key==="j"?(e.preventDefault(),C((n+1)%20)):e.key==="ArrowUp"||e.ctrlKey&&e.key==="k"?(e.preventDefault(),C((n-1+20)%20)):e.key==="Enter"?(e.preventDefault(),i&&k(i)):e.key==="Escape"&&(e.preventDefault(),E(!1),Q&&h("normal"));return}if(!(Q&&B==="normal"&&T(e))){if(Q&&B==="insert"&&e.key==="Escape"){e.preventDefault(),h("normal");return}if(e.key==="Tab"){e.preventDefault();const V=!g;p(V),J?.(V)}else e.key==="Enter"&&!e.shiftKey&&(!Q||B==="normal")&&(e.preventDefault(),D())}}}const xe=Ct(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 Ef(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 cf({approval:A,sessionId:e,isProcessing:t,onProcess:s}){const{removePendingApproval:n}=wr(),r=A.toolName.replace(/_/g," "),i=Ef(A.args),a=x.useCallback(async()=>{s(A.callId);try{await mA.approveToolCall(e,A.callId,!0),n(A.callId)}catch(Q){console.error("Failed to approve:",Q)}},[e,A.callId,n,s]),g=x.useCallback(async()=>{s(A.callId);try{await mA.approveToolCall(e,A.callId,!1),n(A.callId)}catch(Q){console.error("Failed to reject:",Q)}},[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(nt,{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(Yt,{className:"w-3 h-3"}),t?"...":"Approve",!t&&o.jsx("kbd",{className:"ml-0.5 text-[9px] opacity-70",children:"Y"})]})]})]})}const Cf=x.memo(function({sessionId:e}){const{pendingApprovals:t,removePendingApproval:s}=wr(),[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(cf,{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(mB,{className:"w-3 h-3"}),"Approve All",o.jsx("kbd",{className:"ml-0.5 text-[9px] opacity-70",children:"A"})]})]})]})})})}),kl=x.memo(x.forwardRef(function({onSend:e,onCommand:t,disabled:s,onConfigClick:n,onPlanModeToggle:r,isPlanMode:i,reasoningEnabled:a,sessionId:g,images:Q=[],documents:B=[],onFileRemove:C,isDragging:u=!1,onPaste:E,visionEnabled:I=!1,attachmentEnabled:p=!1,modelName:h,providerName:k,authType:v,isFreeModel:D,researchContexts:T=[],onResearchContextRemove:J,onModelInfoClick:V,agent:AA,agents:X=[],onAgentChange:L},W){const[S,O]=x.useState(""),[w,l]=x.useState(i||!1),[d,N]=x.useState(!1),[G,U]=x.useState(!1),j=x.useRef(null),P=x.useRef(null),{data:b,isLoading:c}=Nl(),{preferences:f,updatePreferences:R}=Ws(),{data:K}=ss(),_=Kn(),tA=b?.files||[],CA=b?.changedFiles||[],aA=xe(KA=>KA.subscription),RA=k==="ottorouter",MA=x.useMemo(()=>RA&&aA?.active?aA.tierName??"GO":null,[RA,aA]);x.useEffect(()=>{if(!G)return;const KA=tt=>{P.current&&!P.current.contains(tt.target)&&U(!1)};return document.addEventListener("mousedown",KA),()=>document.removeEventListener("mousedown",KA)},[G]);const IA=x.useRef(()=>{}),{showFileMention:VA,mentionQuery:ZA,mentionSelectedIndex:ee,currentFileToSelect:GA,setShowFileMention:LA,setMentionSelectedIndex:le,setCurrentFileToSelect:Ne,handleFileSelect:de,handleEnterSelect:ke,checkForMention:At}=Qf(),{showCommandSuggestions:xA,commandQuery:_A,commandSelectedIndex:Be,currentCommandToSelect:Ee,setShowCommandSuggestions:q,setCommandSelectedIndex:y,setCurrentCommandToSelect:M,handleCommandSelect:Z,handleCommandEnterSelect:eA,checkForCommand:iA}=Bf({onCommand:t,onSendCommandMessage:e,updatePreferences:R,updateReasoningText:KA=>_.mutate({reasoningText:KA,scope:"global"}),vimModeEnabled:f.vimMode,reasoningEnabled:K?.defaults?.reasoningText??!0,textareaRef:j,setMessage:O,setShowShortcutsModal:N,sessionId:g}),{vimMode:QA,setVimMode:WA,handleVimNormalMode:zA}=gf({enabled:f.vimMode,onSend:()=>IA.current(),textareaRef:j,setMessage:O});x.useEffect(()=>{j.current?.focus()},[]),x.useEffect(()=>{i!==void 0&&l(i)},[i]),x.useImperativeHandle(W,()=>({focus:()=>{j.current?.focus()},setValue:KA=>{O(KA),j.current?.focus()}}));const HA=x.useCallback(()=>{const KA=j.current;KA&&(KA.style.height="auto",KA.style.height=`${KA.scrollHeight}px`)},[]);x.useEffect(()=>{HA()},[HA,S]);const pe=x.useCallback(()=>{LA(!1),Ne(void 0)},[LA,Ne]),PA=x.useCallback(()=>{q(!1),M(void 0)},[q,M]),Re=x.useCallback(KA=>{de(KA,j,O)},[de]),Zt=x.useCallback(()=>{const KA=S.trim();if(!KA||s)return;const tt=()=>{O(""),LA(!1),q(!1),Ne(void 0),M(void 0),j.current&&(j.current.style.height="auto"),f.vimMode&&WA("normal"),j.current?.focus()},He=j0(KA);if(He){if(yl(He.id)){e(He.label),tt();return}if(t){t(He.id),tt();return}}e(S),tt()},[S,s,t,e,f.vimMode,LA,q,Ne,M,WA]);x.useEffect(()=>{IA.current=Zt},[Zt]);const Ve=x.useCallback(KA=>{if(f.vimMode&&QA==="normal")return;const tt=KA.target.value;O(tt),iA(tt),tt.startsWith("/")&&!tt.includes(" ")?(LA(!1),Ne(void 0)):(q(!1),M(void 0),At(tt,KA.target.selectionStart))},[f.vimMode,QA,iA,LA,Ne,q,M,At]),Ze=x.useMemo(()=>lf({showFileMention:VA,showCommandSuggestions:xA,mentionSelectedIndex:ee,commandSelectedIndex:Be,currentFileToSelect:GA,currentCommandToSelect:Ee,isPlanMode:w,vimModeEnabled:f.vimMode,vimMode:QA,setMentionSelectedIndex:le,setCommandSelectedIndex:y,setShowFileMention:LA,setShowCommandSuggestions:q,setIsPlanMode:l,setVimMode:WA,handleFileSelect:Re,handleCommandSelect:Z,handleSend:Zt,handleVimNormalMode:zA,onPlanModeToggle:r}),[VA,xA,ee,Be,GA,Ee,w,f.vimMode,QA,le,y,LA,q,WA,Re,Z,Zt,zA,r]);x.useEffect(()=>{f.vimMode||WA("insert")},[f.vimMode,WA]);const Go=x.useCallback(KA=>{E?.(KA)},[E]),Me=Q.length>0,Ge=B.length>0,yt=Me||Ge,Ye=f.fullWidthContent?"w-full pointer-events-auto relative":"max-w-3xl mx-auto pointer-events-auto relative";return o.jsxs(o.Fragment,{children:[u&&(()=>{const KA=I||p,tt=[...I?["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 ${KA?"bg-card border-primary/50":"bg-card border-muted-foreground/30"}`,children:[o.jsx("div",{className:`p-4 rounded-full ${KA?"bg-primary/10":"bg-muted"}`,children:o.jsx(Xo,{className:`w-12 h-12 ${KA?"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:[tt," 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:Ye,children:[f.vimMode&&QA==="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"}),f.vimMode&&QA==="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(Cf,{sessionId:g})}),o.jsxs("div",{className:`relative z-10 flex flex-col rounded-3xl p-1 transition-all touch-manipulation ${w?"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:[yt&&o.jsxs("div",{className:"flex flex-wrap gap-2 px-3 pt-2 pb-1",children:[Q.map(KA=>o.jsxs("div",{className:"relative group w-12 h-12 rounded-lg overflow-hidden bg-muted",children:[o.jsx("img",{src:KA.preview,alt:"Attachment",className:"w-full h-full object-cover"}),o.jsx("button",{type:"button",onClick:()=>C?.(KA.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(nt,{className:"w-3 h-3 text-white"})})]},KA.id)),B.map(KA=>o.jsxs("div",{className:"relative group flex items-center gap-2 px-3 py-2 rounded-lg bg-muted max-w-[200px]",children:[KA.type==="pdf"?o.jsx(Xo,{className:"w-4 h-4 text-red-500 flex-shrink-0"}):o.jsx($o,{className:"w-4 h-4 text-blue-500 flex-shrink-0"}),o.jsx("span",{className:"text-xs truncate",children:KA.name}),o.jsx("button",{type:"button",onClick:()=>C?.(KA.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(nt,{className:"w-3 h-3 text-white"})})]},KA.id))]}),T.length>0&&o.jsx("div",{className:"flex flex-wrap gap-2 px-3 pt-2 pb-1",children:T.map(KA=>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(gr,{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:KA.label}),J&&o.jsx("button",{type:"button",onClick:()=>J(KA.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(nt,{className:"w-3 h-3 text-white"})})]},KA.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(Oc,{className:"w-4 h-4"})}),o.jsx(Rn,{ref:j,value:S,onChange:Ve,onKeyDown:Ze,onPaste:Go,placeholder:w?"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 ${f.vimMode&&QA==="normal"?"caret-[6px]":""}`,style:{height:"2.5rem"}}),o.jsx("button",{type:"button",onClick:Zt,disabled:s||!S.trim()&&!yt,className:`flex items-center justify-center w-10 h-10 rounded-full transition-colors flex-shrink-0 touch-manipulation ${S.trim()||yt?"bg-primary hover:bg-primary/90 active:bg-primary/80 text-primary-foreground":"bg-transparent text-muted-foreground"}`,children:o.jsx(wB,{className:"w-4 h-4"})})]})]}),o.jsx("div",{className:`grid transition-[grid-template-rows] duration-200 ease-out ${a||I||h||k||v||AA?"grid-rows-[1fr]":"grid-rows-[0fr]"}`,children:o.jsx("div",{className:G?"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:P,children:[AA&&X.length>0&&o.jsxs("button",{type:"button",onClick:()=>U(!G),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:AA}),o.jsx(qc,{className:`h-2.5 w-2.5 transition-transform ${G?"rotate-180":""}`})]}),G&&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:X.map(KA=>o.jsx("button",{type:"button",onClick:()=>{L?.(KA),U(!1)},className:`w-full text-left px-3 py-1.5 text-xs transition-colors hover:bg-accent ${KA===AA?"text-foreground font-medium bg-accent/50":"text-muted-foreground"}`,children:KA},KA))})]}),o.jsx("div",{className:"justify-self-center",children:(k||h||v)&&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:V,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:"/"})]}),h&&o.jsx("span",{children:h}),v&&v==="oauth"&&o.jsx("span",{className:"opacity-50",children:"(pro)"}),RA&&MA&&o.jsxs("span",{className:"opacity-50",children:["(",MA.toLowerCase(),")"]}),D&&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(Nn,{className:"h-3 w-3 flex-shrink-0"}),(K?.defaults?.reasoningLevel??"high").replace("xhigh","x-high")]}),I&&o.jsxs("span",{className:"text-[10px] text-emerald-600 dark:text-emerald-400 flex items-center gap-1",children:[o.jsx(ya,{className:"h-3 w-3"}),"images"]})]})]})})}),VA&&!c&&o.jsx(k0,{files:tA,changedFiles:CA,query:ZA,selectedIndex:ee,onSelect:Re,onEnterSelect:ke,onClose:pe}),xA&&o.jsx(q0,{query:_A,selectedIndex:Be,onSelect:Z,onEnterSelect:eA,onClose:PA,sessionId:g}),o.jsx(V0,{isOpen:d,onClose:()=>N(!1)})]})})]})})),If=50,ho=["sessions","list"];function uf(){return yc({queryKey:ho,queryFn:({pageParam:A=0})=>mA.getSessionsPage({limit:If,offset:A}),getNextPageParam:A=>A.nextOffset??void 0,initialPageParam:0,staleTime:3e4,refetchInterval:3e4,refetchOnWindowFocus:!1})}function Ln(){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 Pa(A){const{data:e}=Ln();return e?.find(t=>t.id===A)}function df(){const A=De();return qe({mutationFn:e=>mA.createSession(e),onSuccess:e=>{A.setQueryData(ho,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:ho})}})}function Wa(A){const e=De();return qe({mutationFn:t=>mA.updateSession(A,t),onSuccess:async()=>{await e.invalidateQueries({queryKey:ho}),await e.invalidateQueries({queryKey:["session",A]})}})}function hf(){const A=De();return qe({mutationFn:e=>mA.deleteSession(e),onSuccess:()=>{A.invalidateQueries({queryKey:ho})}})}function sa(A,e={}){const{enabled:t=!0,staleTime:s=15e3}=e;return ot({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 ff(A){const e=De();return qe({mutationFn:t=>mA.sendMessage(A,t),onSuccess:()=>{e.invalidateQueries({queryKey:["messages",A]}),e.invalidateQueries({queryKey:ho})}})}const Oe=Ct(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&&(Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),ut.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),ze.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),ut.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),ze.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})})),ze=Ct(A=>({isExpanded:!1,servers:[],loading:new Set,authUrls:new Map,copilotDevice:null,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),ut.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),Oe.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),ut.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),Oe.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})})),_e=Ct(A=>({isExpanded:!1,selectedFile:null,isViewerOpen:!1,expandedDirs:new Set,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),ut.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),ze.getState().collapseSidebar(),Oe.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),ut.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),ze.getState().collapseSidebar(),Oe.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}})})),Fe=Ct(A=>({isExpanded:!1,status:"idle",url:null,qrCode:null,error:null,progress:null,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),xt.getState().collapseSidebar(),ut.getState().collapseSidebar(),_e.getState().collapseSidebar(),ze.getState().collapseSidebar(),Oe.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),xt.getState().collapseSidebar(),ut.getState().collapseSidebar(),_e.getState().collapseSidebar(),ze.getState().collapseSidebar(),Oe.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})})),xt=Ct(A=>({isExpanded:!1,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),ut.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),ze.getState().collapseSidebar(),Oe.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>A({isExpanded:!0}),collapseSidebar:()=>A({isExpanded:!1})})),ut=Ct((A,e)=>({isExpanded:!1,activeResearchSessionId:null,parentSessionId:null,toggleSidebar:()=>{A(t=>{const s=!t.isExpanded;return s&&(Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),ze.getState().collapseSidebar(),Oe.getState().collapseSidebar()),{isExpanded:s}})},expandSidebar:()=>{Ue.getState().collapseSidebar(),Xe.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),ze.getState().collapseSidebar(),Oe.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})})),Xe=Ct(A=>({isExpanded:!1,selectedFile:null,allOperations:[],selectedOperationIndex:0,isDiffOpen:!1,toggleSidebar:()=>{A(e=>{const t=!e.isExpanded;return t&&(Ue.getState().collapseSidebar(),ut.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),ze.getState().collapseSidebar(),Oe.getState().collapseSidebar()),{isExpanded:t}})},expandSidebar:()=>{Ue.getState().collapseSidebar(),ut.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),ze.getState().collapseSidebar(),Oe.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})})),Ue=Ct(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&&(Xe.getState().collapseSidebar(),ut.getState().collapseSidebar(),xt.getState().collapseSidebar(),Fe.getState().collapseSidebar(),_e.getState().collapseSidebar(),ze.getState().collapseSidebar(),Oe.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 jn(){const A=Ue(e=>e.isExpanded);return ot({queryKey:["git","status"],queryFn:()=>mA.getGitStatus(),refetchInterval:A?5e3:!1,retry:1,staleTime:3e3})}function pf(A,e=!1){return ot({queryKey:["git","diff",A,e],queryFn:()=>A?mA.getGitDiff(A,e):null,enabled:!!A,retry:1,refetchInterval:!1})}function mf(A){return qe({mutationFn:()=>mA.generateCommitMessage(A??void 0)})}function Tn(){const A=De();return qe({mutationFn:e=>mA.stageFiles(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]})}})}function za(){const A=De();return qe({mutationFn:e=>mA.unstageFiles(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]})}})}function Ml(){const A=De();return qe({mutationFn:e=>mA.restoreFiles(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]})}})}function bl(){const A=De();return qe({mutationFn:e=>mA.deleteFiles(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]})}})}function wf(){const A=De();return qe({mutationFn:e=>mA.commitChanges(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]}),A.invalidateQueries({queryKey:["git","branch"]})}})}function xf(){const A=De();return qe({mutationFn:()=>mA.pushCommits(),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]}),A.invalidateQueries({queryKey:["git","branch"]})}})}function Df(){const A=De();return qe({mutationFn:()=>mA.pullChanges(),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]}),A.invalidateQueries({queryKey:["git","branch"]})}})}function yf(){const A=De();return qe({mutationFn:()=>mA.initGitRepo(),onSuccess:()=>{A.invalidateQueries({queryKey:["git","status"]}),A.invalidateQueries({queryKey:["git","branch"]})}})}function Nf(){const A=Ue(e=>e.isExpanded);return ot({queryKey:["git","remotes"],queryFn:()=>mA.getRemotes(),enabled:A,retry:1,staleTime:1e4})}function kf(){const A=De();return qe({mutationFn:({name:e,url:t})=>mA.addRemote(e,t),onSuccess:()=>{A.invalidateQueries({queryKey:["git","remotes"]}),A.invalidateQueries({queryKey:["git","status"]})}})}function Mf(){const A=De();return qe({mutationFn:e=>mA.removeRemote(e),onSuccess:()=>{A.invalidateQueries({queryKey:["git","remotes"]}),A.invalidateQueries({queryKey:["git","status"]})}})}const Va=["image/png","image/jpeg","image/gif","image/webp"],Za=["application/pdf"],Fl=["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"],Gl=[".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"],bf=[...Va,...Za,...Fl];function Ff(){return`file-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}function Gf(A){if(Va.includes(A.type))return"image";if(Za.includes(A.type))return"pdf";if(Fl.includes(A.type))return"text";const e=A.name.toLowerCase().slice(A.name.lastIndexOf("."));return Gl.includes(e)?"text":null}function vf(A){if(bf.includes(A.type))return!0;const e=A.name.toLowerCase().slice(A.name.lastIndexOf("."));return Gl.includes(e)}async function sQ(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 Sf(A){return new Promise((e,t)=>{const s=new FileReader;s.onload=()=>e(s.result),s.onerror=t,s.readAsText(A)})}async function Uf(A){return new Promise((e,t)=>{const s=new FileReader;s.onload=()=>e(s.result),s.onerror=t,s.readAsDataURL(A)})}function vl(A={}){const{maxFiles:e=10,maxSizeMB:t=10,pageWide:s=!0,supportsImages:n=!0,supportsFileAttachments:r=!0,onError:i}=A,[a,g]=x.useState([]),[Q,B]=x.useState(!1),[C,u]=x.useState(null),E=t*1024*1024,I=x.useCallback(L=>!n&&Va.includes(L.type)?"This model does not support image attachments":!r&&Za.includes(L.type)?"This model does not support PDF attachments":vf(L)?L.size>E?`File too large: ${(L.size/1024/1024).toFixed(1)}MB. Max: ${t}MB`:null:`Unsupported file type: ${L.name.slice(L.name.lastIndexOf("."))||L.type||"unknown"}`,[E,t,n,r]),p=x.useCallback(async L=>{u(null);const W=Array.from(L),S=e-a.length;if(S<=0){const l=`Maximum ${e} files allowed`;u(l),i?.(l);return}const O=W.slice(0,S),w=[];for(const l of O){const d=I(l);if(d){u(d),i?.(d);continue}const N=Gf(l);if(N)try{let G,U,j,P=l.type;if(N==="image")[G,U]=await Promise.all([Uf(l),sQ(l)]);else if(N==="pdf")U=await sQ(l),P="application/pdf";else if(j=await Sf(l),U=j,!P){const b=l.name.toLowerCase();P=b.endsWith(".md")||b.endsWith(".markdown")?"text/markdown":"text/plain"}w.push({id:Ff(),file:l,type:N,name:l.name,preview:G,data:U,mediaType:P,textContent:j})}catch{const G=`Failed to process file: ${l.name}`;u(G),i?.(G)}}w.length>0&&g(l=>[...l,...w])},[a.length,e,I,i]),h=x.useCallback(L=>{g(W=>W.filter(S=>S.id!==L)),u(null)},[]),k=x.useCallback(()=>{g([]),u(null)},[]),v=x.useCallback(L=>{L.preventDefault(),L.stopPropagation(),L.dataTransfer.types.includes("Files")&&B(!0)},[]),D=x.useCallback(L=>{L.preventDefault(),L.stopPropagation();const W=L.currentTarget.getBoundingClientRect(),S=L.clientX,O=L.clientY;(S<W.left||S>W.right||O<W.top||O>W.bottom)&&B(!1)},[]),T=x.useCallback(L=>{L.preventDefault(),L.stopPropagation()},[]),J=x.useCallback(L=>{L.preventDefault(),L.stopPropagation(),B(!1);const W=L.dataTransfer.files;W.length>0&&p(Array.from(W))},[p]),V=x.useCallback(L=>{const W=L.clipboardData?.items;if(!W)return;const S=[];for(const O of Array.from(W))if(O.kind==="file"){const w=O.getAsFile();w&&S.push(w)}S.length>0&&(L.preventDefault(),p(S))},[p]);x.useEffect(()=>{if(!s)return;let L=0;const W=l=>{l.preventDefault(),l.dataTransfer?.types.includes("Files")&&(L++,L===1&&B(!0))},S=l=>{l.preventDefault(),L--,L===0&&B(!1)},O=l=>{l.preventDefault()},w=l=>{l.preventDefault(),L=0,B(!1);const d=l.dataTransfer?.files;d&&d.length>0&&p(Array.from(d))};return document.addEventListener("dragenter",W),document.addEventListener("dragleave",S),document.addEventListener("dragover",O),document.addEventListener("drop",w),()=>{document.removeEventListener("dragenter",W),document.removeEventListener("dragleave",S),document.removeEventListener("dragover",O),document.removeEventListener("drop",w)}},[s,p]);const AA=a.filter(L=>L.type==="image"),X=a.filter(L=>L.type==="pdf"||L.type==="text");return{files:a,images:AA,documents:X,isDragging:Q,error:C,addFiles:p,removeFile:h,clearFiles:k,handleDragEnter:v,handleDragLeave:D,handleDragOver:T,handleDrop:J,handlePaste:V}}const ra=Ct((A,e)=>({pendingRestoreText:null,setPendingRestoreText:t=>A({pendingRestoreText:t}),consumeRestoreText:()=>{const t=e().pendingRestoreText;return A({pendingRestoreText:null}),t}})),en=Ct((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}})),Rf=/<research-context\s+from="([^"]+)"\s+label="([^"]+)"[^>]*>([\s\S]*?)<\/research-context>/g;function Kf(A){const e=[];let t=A;const s=new RegExp(Rf);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 Jf(A){return A.length===0?"":A.map(e=>e.content).join(`
92
+
93
+ `)}const Sl=x.forwardRef(function({provider:e,model:t,onChange:s,disabled:n=!1},r){const{data:i}=Ps(),{data:a,isLoading:g}=v0(e),[Q,B]=x.useState(!1),[C,u]=x.useState(""),[E,I]=x.useState(0),[p,h]=x.useState({}),[k,v]=x.useState({}),[D,T]=x.useState({}),J=x.useRef(null),V=x.useRef(null),AA=x.useRef([]);x.useEffect(()=>{i&&h(U=>{const j={...U};for(const[P,b]of Object.entries(i))j[P]={...b,models:D[P]?U[P]?.models??b.models:b.models};return j})},[i,D]);const X=x.useMemo(()=>{const U=Object.keys(i??{});return!e||U.includes(e)?U:[e,...U]},[i,e]);x.useEffect(()=>{!e||!a||(h(U=>({...U,[e]:{...U[e]??{},label:a.label||e,models:a.models}})),T(U=>({...U,[e]:!0})))},[a,e]),x.useEffect(()=>{if(!(!Q||!X.length))for(const U of X)!(p[U]??i?.[U])?.dynamicModels||D[U]||k[U]||(v(P=>({...P,[U]:!0})),mA.getModels(U).then(P=>{h(b=>({...b,[U]:{...b[U]??i?.[U]??{},label:P.label||U,models:P.models,allowAnyModel:P.allowAnyModel,dynamicModels:!0}})),T(b=>({...b,[U]:!0}))}).catch(()=>{T(P=>({...P,[U]:!0}))}).finally(()=>{v(P=>({...P,[U]:!1}))}))},[i,X,D,Q,p,k]),x.useImperativeHandle(r,()=>({openAndFocus:()=>{B(!0)}}));const L=x.useMemo(()=>{const U=[];for(const[j,P]of Object.entries(p))for(const b of P.models)U.push({providerKey:j,providerLabel:P.label,modelId:b.id,modelLabel:b.label,toolCall:b.toolCall,reasoningText:b.reasoningText,available:b.available,unavailableReason:b.unavailableReason});return U},[p]),W=x.useMemo(()=>new bo(L,{keys:[{name:"modelLabel",weight:2},{name:"modelId",weight:1},{name:"providerLabel",weight:.5}],threshold:.3,ignoreLocation:!0,includeScore:!0,distance:100,minMatchCharLength:1}),[L]),S=x.useMemo(()=>{if(!C.trim())return p;const j=W.search(C).sort((b,c)=>{const f=b.score??1,R=c.score??1;if(Math.abs(f-R)<.001){const K=b.item.modelLabel.toLowerCase(),_=c.item.modelLabel.toLowerCase(),tA=C.toLowerCase(),CA=K.indexOf(tA),aA=_.indexOf(tA);if(CA>=0&&aA<0)return-1;if(aA>=0&&CA<0)return 1;if(CA>=0&&aA>=0)return CA-aA}return f-R}),P={};for(const b of j){const c=b.item;P[c.providerKey]||(P[c.providerKey]={label:c.providerLabel,models:[]}),P[c.providerKey].models.find(R=>R.id===c.modelId)||P[c.providerKey].models.push({id:c.modelId,label:c.modelLabel,toolCall:c.toolCall,reasoningText:c.reasoningText,available:c.available,unavailableReason:c.unavailableReason})}return P},[p,C,W]),O=x.useMemo(()=>{const U=[];for(const[j,P]of Object.entries(S))for(const b of P.models)U.push({providerKey:j,providerLabel:P.label,modelId:b.id,modelLabel:b.label,toolCall:b.toolCall,reasoningText:b.reasoningText,available:b.available,unavailableReason:b.unavailableReason});return U},[S]);x.useEffect(()=>{Q&&I(0)},[Q]),x.useEffect(()=>{Q&&E>=0&&E<AA.current.length&&AA.current[E]?.scrollIntoView({block:"nearest",behavior:"smooth"})},[E,Q]),x.useEffect(()=>{const U=P=>{J.current&&!J.current.contains(P.target)&&B(!1)},j=P=>{const b=P.target,c=b.tagName==="INPUT"||b.tagName==="TEXTAREA"||b.isContentEditable;(P.key==="Escape"||P.key==="q"&&!c)&&B(!1)};return Q&&(document.addEventListener("mousedown",U),document.addEventListener("keydown",j),setTimeout(()=>V.current?.focus(),0)),()=>{document.removeEventListener("mousedown",U),document.removeEventListener("keydown",j)}},[Q]);const w=(U,j,P)=>{P!==!1&&(s(U,j),B(!1),u(""))},l=U=>{if(O.length!==0){if(U.key==="ArrowDown"||U.ctrlKey&&U.key==="j")U.preventDefault(),I(j=>j<O.length-1?j+1:0);else if(U.key==="ArrowUp"||U.ctrlKey&&U.key==="k")U.preventDefault(),I(j=>j>0?j-1:O.length-1);else if(U.key==="Enter"){U.preventDefault();const j=O[E];j&&j.available!==!1&&w(j.providerKey,j.modelId,j.available)}}},d=p[e]?.label||a?.label||e,N=p[e]?.models.find(U=>U.id===t)?.label||a?.models.find(U=>U.id===t)?.label||t,G=C.trim()?Object.keys(S):X;return o.jsxs("div",{ref:J,className:"relative w-full",children:[o.jsxs("button",{type:"button",onClick:()=>!n&&B(!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:d}),o.jsx("span",{className:"text-[hsl(var(--muted-foreground))]/50",children:"/"}),o.jsx("span",{className:"text-[hsl(var(--foreground))]",children:N})]}),o.jsx(zt,{className:`w-4 h-4 text-[hsl(var(--muted-foreground))] transition-transform ${Q?"rotate-180":""}`})]}),Q&&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(ms,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[hsl(var(--muted-foreground))]"}),o.jsx("input",{ref:V,type:"text",value:C,onChange:U=>u(U.target.value),onKeyDown:l,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:G.length===0?o.jsx("div",{className:"p-4 text-center text-[hsl(var(--muted-foreground))] text-sm",children:g?"Loading models...":"No models found"}):G.map(U=>{const j=S[U],P=k[U]||U===e&&g&&!j;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:j?.label||U}),o.jsx("div",{children:P?o.jsx("div",{className:"px-4 py-2 text-sm text-[hsl(var(--muted-foreground))]",children:"Loading models..."}):j?.models.length?j.models.map(b=>{const c=U===e&&b.id===t,f=O.findIndex(_=>_.providerKey===U&&_.modelId===b.id),R=f===E,K=b.available!==!1;return o.jsxs("button",{ref:_=>{f>=0&&(AA.current[f]=_)},type:"button",disabled:!K,title:b.unavailableReason,onClick:()=>w(U,b.id,b.available),onMouseEnter:()=>I(f),className:`w-full text-left px-4 py-2 text-sm flex items-center justify-between transition-colors ${R?"bg-[hsl(var(--accent))]":"hover:bg-[hsl(var(--accent))]"} ${c?"text-[hsl(var(--accent-foreground))] font-medium":"text-[hsl(var(--foreground))]"} ${K?"":"opacity-60 cursor-not-allowed"}`,children:[o.jsx("span",{className:"truncate",children:b.label}),(!K||b.toolCall||b.reasoningText)&&o.jsxs("div",{className:"flex gap-1 ml-2 flex-shrink-0",children:[!K&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-red-600/20 text-red-400 rounded",children:"Unavailable"}),b.toolCall&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-green-600/20 text-green-400 rounded",children:"Tools"}),b.reasoningText&&o.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-purple-600/20 text-purple-400 rounded",children:"Reasoning"})]})]},b.id)}):o.jsx("div",{className:"px-4 py-2 text-sm text-[hsl(var(--muted-foreground))]",children:"No models available"})})]},U)})})]})]})}),Lf=x.forwardRef(function({agent:e,agents:t,onChange:s,disabled:n=!1},r){const[i,a]=x.useState(!1),[g,Q]=x.useState(""),[B,C]=x.useState(0),u=x.useRef(null),E=x.useRef(null),I=x.useRef([]);x.useImperativeHandle(r,()=>({openAndFocus:()=>{a(!0)}}));const p=x.useMemo(()=>new bo(t,{threshold:.4,ignoreLocation:!0}),[t]),h=x.useMemo(()=>g.trim()?p.search(g).map(T=>T.item):t,[t,g,p]);x.useEffect(()=>{i&&C(0)},[i]),x.useEffect(()=>{i&&B>=0&&B<I.current.length&&I.current[B]?.scrollIntoView({block:"nearest",behavior:"smooth"})},[B,i]),x.useEffect(()=>{const D=J=>{u.current&&!u.current.contains(J.target)&&a(!1)},T=J=>{const V=J.target,AA=V.tagName==="INPUT"||V.tagName==="TEXTAREA"||V.isContentEditable;(J.key==="Escape"||J.key==="q"&&!AA)&&a(!1)};return i&&(document.addEventListener("mousedown",D),document.addEventListener("keydown",T),setTimeout(()=>E.current?.focus(),0)),()=>{document.removeEventListener("mousedown",D),document.removeEventListener("keydown",T)}},[i]);const k=D=>{s(D),a(!1),Q("")},v=D=>{if(h.length!==0){if(D.key==="ArrowDown"||D.ctrlKey&&D.key==="j")D.preventDefault(),C(T=>T<h.length-1?T+1:0);else if(D.key==="ArrowUp"||D.ctrlKey&&D.key==="k")D.preventDefault(),C(T=>T>0?T-1:h.length-1);else if(D.key==="Enter"){D.preventDefault();const T=h[B];T&&k(T)}}};return o.jsxs("div",{ref:u,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(zt,{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(ms,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[hsl(var(--muted-foreground))]"}),o.jsx("input",{ref:E,type:"text",value:g,onChange:D=>Q(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:h.length===0?o.jsx("div",{className:"p-4 text-center text-[hsl(var(--muted-foreground))] text-sm",children:"No agents found"}):h.map((D,T)=>{const J=D===e,V=T===B;return o.jsx("button",{ref:AA=>{I.current[T]=AA},type:"button",onClick:()=>k(D),onMouseEnter:()=>C(T),className:`w-full text-left px-4 py-2 text-sm transition-colors ${V?"bg-[hsl(var(--accent))]":"hover:bg-[hsl(var(--accent))]"} ${J?"text-[hsl(var(--accent-foreground))] font-medium":"text-[hsl(var(--foreground))]"}`,children:o.jsx("span",{className:"truncate",children:D})},D)})})]})]})}),rQ=[{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 jf({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=rQ.findIndex(Q=>Q.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"}}),rQ.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 Ul({isOpen:A,onClose:e,initialFocus:t,chatInputRef:s,agent:n,provider:r,model:i,modelSupportsReasoning:a,onAgentChange:g,onProviderChange:Q,onModelChange:B,onModelSelectorChange:C,modalPosition:u="fixed"}){const{data:E,isLoading:I}=ss(),p=Kn(),h=E?.defaults?.reasoningText??!0,k=E?.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 T=()=>{e(),setTimeout(()=>{s?.current?.focus()},100)},J=(V,AA)=>{C?C(V,AA):(Q(V),B(AA))};return o.jsx(qo,{isOpen:A,onClose:T,title:"Configuration",closeOnEscape:!0,closeOnBackdropClick:!0,maxWidth:"lg",position:u,children:I?o.jsx("div",{className:"text-center text-muted-foreground py-8",children:"Loading configuration..."}):E?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":h,onClick:()=>p.mutate({reasoningText:!h,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 ${h?"bg-primary":"bg-muted"}`,children:o.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full transition-transform ${h?"translate-x-6":"translate-x-1"} ${h?"bg-primary-foreground":"bg-foreground"}`})})]}),o.jsx(jf,{value:k,onChange:V=>p.mutate({reasoningLevel:V,scope:"global"}),disabled:!h})]}),o.jsxs("div",{children:[o.jsx("div",{className:"block text-sm font-medium text-foreground mb-2",children:"Agent"}),o.jsx(Lf,{ref:v,agent:n,agents:E.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(Sl,{ref:D,provider:r,model:i,onChange:J})]})]}):null})}const Tf=x.memo(x.forwardRef(function({sessionId:e,userContext:t,onNewSession:s,onDeleteSession:n,modalPosition:r},i){const a=Pa(e),[g,Q]=x.useState(""),[B,C]=x.useState(""),[u,E]=x.useState(""),[I,p]=x.useState(!1),[h,k]=x.useState(null),[v,D]=x.useState(0),T=x.useRef(null),J=ff(e),V=Wa(e),AA=hf(),{data:X}=Ps(),{data:L}=ss(),{data:W}=jn(),S=Tn(),O=Ue(xA=>xA.openCommitModalForSession),w=Ue(xA=>xA.setActiveSessionId),l=De(),d=X?.[B]?.models?.find(xA=>xA.id===u)?.reasoningText,N=X?.[B]?.models?.find(xA=>xA.id===u)?.vision,G=X?.[B]?.models?.find(xA=>xA.id===u)?.attachment,U=X?.[B]?.models?.find(xA=>xA.id===u)?.free,{images:j,documents:P,isDragging:b,removeFile:c,clearFiles:f,handlePaste:R}=vl({supportsImages:!!N,supportsFileAttachments:!!G,onError:ce.error}),K=en(xA=>xA.pendingContexts),_=en(xA=>xA.removeContext),tA=en(xA=>xA.consumeContexts),CA=K.get(e)||[],aA=x.useMemo(()=>CA.map(xA=>({id:xA.id,label:xA.label})),[CA]),RA=x.useCallback(xA=>{_(e,xA)},[e,_]),MA=X?.[B]?.authType;x.useEffect(()=>{a&&(Q(a.agent),C(a.provider),E(a.model))},[a]),x.useEffect(()=>(w(e),()=>w(null)),[e,w]),x.useEffect(()=>{D(xA=>xA+1)},[]);const IA=ra(xA=>xA.pendingRestoreText),VA=ra(xA=>xA.consumeRestoreText);x.useEffect(()=>{if(IA){const xA=VA();xA&&T.current?.setValue(xA)}},[IA,VA]),x.useImperativeHandle(i,()=>({focus:()=>{T.current?.focus()}}));const ZA=x.useCallback(async xA=>{try{const _A=tA(e),Be=Jf(_A),Ee=Be?`${Be}
94
+
95
+ ${xA}`:xA,q=j.length>0?j.map(M=>({data:M.data,mediaType:M.mediaType})):void 0,y=P.length>0?P.map(M=>({type:M.type,name:M.name,data:M.data,mediaType:M.mediaType,textContent:M.textContent})):void 0;await J.mutateAsync({content:Ee,images:q,files:y,agent:g||void 0,provider:B||void 0,model:u||void 0,userContext:t||void 0,reasoningText:d&&(L?.defaults?.reasoningText??!0),reasoningLevel:L?.defaults?.reasoningLevel??"high"}),f()}catch(_A){console.error("Failed to send message:",_A)}},[J,P,j,f,g,B,u,t,e,tA,L?.defaults?.reasoningLevel,L?.defaults?.reasoningText,d]),ee=x.useCallback(()=>{p(xA=>!xA)},[]),GA=x.useCallback(()=>{p(!1),k(null)},[]),LA=x.useCallback(async xA=>{if(xA==="models")k("model"),p(!0);else if(xA==="agents")k("agent"),p(!0);else if(xA==="new")s?.();else if(xA==="stage"){const _A=W?.unstaged?.map(q=>q.path)??[],Be=W?.untracked?.map(q=>q.path)??[],Ee=[..._A,...Be];Ee.length>0&&S.mutate(Ee)}else if(xA==="commit")O(e);else if(xA==="compact")ZA("/compact");else if(xA==="init")ZA("/init");else if(xA==="delete")AA.mutate(e,{onSuccess:()=>{n?.()}});else if(xA==="share"){const _A=ce.loading("Sharing session...");try{const Be=await mA.shareSession(e);Be.shared&&(ce.successWithAction(Be.message==="Already shared"?"Already shared":"Session shared!",{label:"Open",href:Be.url}),l.invalidateQueries({queryKey:["share-status",e]}))}catch(Be){ce.error(Be instanceof Error?Be.message:"Failed to share")}finally{uo.getState().removeToast(_A)}}else if(xA==="sync"){const _A=ce.loading("Syncing session...");try{const Be=await mA.syncSession(e);if(Be.synced){const Ee=Be.newMessages>0?`Synced ${Be.newMessages} new messages`:"Already synced";ce.successWithAction(Ee,{label:"Open",href:Be.url}),l.invalidateQueries({queryKey:["share-status",e]})}}catch(Be){ce.error(Be instanceof Error?Be.message:"Failed to sync")}finally{uo.getState().removeToast(_A)}}},[s,W,S,O,ZA,AA,e,n,l]),le=x.useCallback(async xA=>{Q(xA);try{await V.mutateAsync({agent:xA})}catch(_A){console.error("Failed to update agent:",_A)}},[V]),Ne=x.useCallback(async(xA,_A)=>{C(xA),E(_A);try{await V.mutateAsync({provider:xA,model:_A})}catch(Be){console.error("Failed to update model:",Be)}},[V]),de=x.useCallback(async xA=>{if(C(xA),u)try{await V.mutateAsync({provider:xA,model:u})}catch(_A){console.error("Failed to update provider:",_A)}},[u,V]),ke=x.useCallback(async xA=>{E(xA);try{await V.mutateAsync({provider:B,model:xA})}catch(_A){console.error("Failed to update model:",_A)}},[B,V]),At=x.useCallback(async xA=>{const _A=xA?"plan":"build";Q(_A);try{await V.mutateAsync({agent:_A})}catch(Be){console.error("Failed to switch agent:",Be)}},[V]);return o.jsxs(o.Fragment,{children:[o.jsx(Ul,{isOpen:I,onClose:GA,initialFocus:h,chatInputRef:T,agent:g,provider:B,model:u,modelSupportsReasoning:d,onAgentChange:le,onProviderChange:de,onModelChange:ke,onModelSelectorChange:Ne,modalPosition:r}),o.jsx(kl,{ref:T,onSend:ZA,onCommand:LA,disabled:J.isPending,onConfigClick:ee,onPlanModeToggle:At,isPlanMode:g==="plan",reasoningEnabled:d&&(L?.defaults?.reasoningText??!0),sessionId:e,images:j,documents:P,onFileRemove:c,isDragging:b,onPaste:R,visionEnabled:N,attachmentEnabled:G,modelName:u,providerName:B,authType:MA,isFreeModel:U,researchContexts:aA,onResearchContextRemove:RA,onModelInfoClick:()=>{k("model"),p(!0)},agent:g,agents:L?.agents,onAgentChange:le},v)]})}));function Of({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(fB,{className:"w-4 h-4"}),o.jsx("span",{className:"font-medium",children:s?"Stopping...":"Stop"})]})}const qf=x.memo(x.forwardRef(function({onSessionCreated:e,wordmark:t,compact:s,modalPosition:n},r){const{data:i}=ss(),{data:a}=Ps(),g=De(),[Q,B]=x.useState(!1),[C,u]=x.useState(!1),E=x.useRef(null),[I,p]=x.useState(""),[h,k]=x.useState(""),[v,D]=x.useState(""),[T,J]=x.useState(!1),[V,AA]=x.useState(null),X=x.useRef(null),L=x.useRef(!1);x.useEffect(()=>{L.current||!i?.defaults||(L.current=!0,p(i.defaults.agent||"general"),k(i.defaults.provider||""),D(i.defaults.model||""))},[i]);const W=a?.[h]?.models?.find(MA=>MA.id===v)?.vision,S=a?.[h]?.models?.find(MA=>MA.id===v)?.attachment,O=a?.[h]?.models?.find(MA=>MA.id===v)?.reasoningText,w=a?.[h]?.models?.find(MA=>MA.id===v)?.free,l=a?.[h]?.authType,{images:d,documents:N,isDragging:G,removeFile:U,clearFiles:j,handlePaste:P}=vl({supportsImages:!!W,supportsFileAttachments:!!S,onError:ce.error});x.useImperativeHandle(r,()=>({focus:()=>{X.current?.focus()}})),x.useEffect(()=>{const MA=setTimeout(()=>{X.current?.focus()},100);return()=>clearTimeout(MA)},[]);const b=x.useCallback(MA=>{p(MA)},[]),c=x.useCallback(MA=>{p(MA?"plan":"build")},[]),f=x.useCallback(MA=>{k(MA)},[]),R=x.useCallback(MA=>{D(MA)},[]),K=x.useCallback((MA,IA)=>{k(MA),D(IA)},[]),_=x.useCallback(()=>{J(MA=>!MA)},[]),tA=x.useCallback(()=>{J(!1),AA(null)},[]),CA=x.useCallback(MA=>{MA==="models"?(AA("model"),J(!0)):MA==="agents"&&(AA("agent"),J(!0))},[]),aA=x.useCallback(async MA=>{if(!(Q||!MA.trim())){B(!0);try{const IA=await mA.createSession({agent:I||"general",provider:h||void 0,model:v||void 0});g.invalidateQueries({queryKey:ho});const VA=d.length>0?d.map(ee=>({data:ee.data,mediaType:ee.mediaType})):void 0,ZA=N.length>0?N.map(ee=>({type:ee.type,name:ee.name,data:ee.data,mediaType:ee.mediaType,textContent:ee.textContent})):void 0;await mA.sendMessage(IA.id,{content:MA,images:VA,files:ZA,agent:I||void 0,provider:h||void 0,model:v||void 0,reasoningText:O&&(i?.defaults?.reasoningText??!0),reasoningLevel:i?.defaults?.reasoningLevel??"high"}),j(),E.current=IA.id,u(!0),setTimeout(()=>{E.current&&e(E.current)},250)}catch(IA){ce.error(IA instanceof Error?IA.message:"Failed to create session"),B(!1)}}},[Q,i,I,h,v,d,N,j,e,g,O]),RA=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 ${C?"opacity-0 scale-[0.98]":"opacity-100 scale-100"}`,style:{transitionProperty:"opacity, transform"},children:[o.jsx(Ul,{isOpen:T,onClose:tA,initialFocus:V,chatInputRef:X,agent:I,provider:h,model:v,modelSupportsReasoning:O,onAgentChange:b,onProviderChange:f,onModelChange:R,onModelSelectorChange:K,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||RA}),o.jsx("div",{className:"relative min-h-[110px]",children:o.jsx(kl,{ref:X,onSend:aA,onCommand:CA,disabled:Q,sessionId:void 0,images:d,documents:N,onFileRemove:U,isDragging:G,onPaste:P,visionEnabled:W,attachmentEnabled:S,modelName:v,providerName:h,authType:l,isFreeModel:w,onConfigClick:_,onModelInfoClick:()=>{AA("model"),J(!0)},reasoningEnabled:O&&(i?.defaults?.reasoningText??!0),agent:I,agents:i?.agents,onAgentChange:b,onPlanModeToggle:c,isPlanMode:I==="plan"})})]})]})}));function Yf(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 Hf(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 Q=a.match(/\*\*\* (?:Update|Add) File: (.+)/);Q&&(i=Q[1]),r=!0,n=1,s=1}if(a.startsWith("+++")||a.startsWith("*** Update File:")){const Q=a.match(/\+\+\+ b\/(.+)/)||a.match(/\*\*\* Update File: (.+)/);Q&&(i=Q[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 lr({patch:A}){const{lines:e,filePath:t}=Hf(A),s=Yf(t),n=document?.documentElement.classList.contains("dark")?Bo:lo;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="",Q="";switch(r.type){case"add":g="text-emerald-700 dark:text-emerald-300",Q="bg-emerald-500/10";break;case"remove":g="text-red-600 dark:text-red-300",Q="bg-red-500/10";break;default:g="text-foreground/80"}let B=r.content;return r.codeContent.trim()&&s!=="text"&&(B=o.jsx(qt,{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"?B=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"+"}),B]}):r.type==="remove"?B=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"-"}),B]}):r.type==="context"&&(B=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:" "}),B]}))),o.jsxs("div",{className:`flex ${Q}`,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:B})]},a)})})})}function Pf(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 Rl(A){return A==="bash"?"shell":A}function ri(A){return Rl(A)==="shell"}function Wf(A,e){if(!e)return null;const s={read:["path"],edit:["path"],multiedit:["path"],write:["path"],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 zf(A){if(!A)return null;const e=A.cmd??A.command;return typeof e=="string"&&e.length>0?e:null}const Vf=x.memo(function({toolName:e,args:t,pendingApproval:s,onApprove:n,onReject:r}){const[i,a]=x.useState(!1),g=Rl(e),Q=g.replace(/_/g," "),B=Wf(g,t),u=(ri(g)?zf(t):null)||B?.value,E=typeof t?.path=="string"?t.path:"",I=Pf(E),p=document?.documentElement.classList.contains("dark")?Bo:lo,h=()=>{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(lr,{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(qt,{language:I,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")&&(B?.value||E))return o.jsx("div",{className:"ml-6 text-xs text-muted-foreground",children:e==="multiedit"?"Multiple exact replacements will be applied atomically.":"An exact text replacement will be applied to this file."});if(ri(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(qt,{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:Q}),u&&!ri(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:u}),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(nt,{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:h,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(Yt,{className:"w-3 h-3"}),i?"Approving...":"Approve",!i&&o.jsx("kbd",{className:"ml-1 text-[10px] opacity-70",children:"Y"})]})]})]})});function Dt(A){return A?A>=1e3?`${(A/1e3).toFixed(1)}s`:`${A}ms`:""}function zs(A){if(!A||typeof A!="object")return!1;const e=A;return e.ok===!1||"error"in e||e.success===!1}function Vs(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 Ht({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(po,{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 Zf(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 _f(A){if(!A)return;const e=A.match(/@(\d+)-(\d+)/);if(e)return Number.parseInt(e[1],10)}function Xf({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,Q=a&&"stack"in r&&typeof r.stack=="string"?r.stack:void 0,B=String(r.path||i.path||""),C=String(r.content||""),u=r.lineRange,E=C.split(`
97
+ `),I=Dt(e),p=Zf(B),h=document?.documentElement.classList.contains("dark")?Bo:lo,k=_f(u),v=u?`${B}:${u.replace("@","")}`:B,D=C.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(it,{className:"h-3 w-3 flex-shrink-0 rotate-90 transition-transform"}):o.jsx(it,{className:"h-3 w-3 flex-shrink-0 transition-transform"}):o.jsx("div",{className:"w-3 flex-shrink-0"}),a&&o.jsx(po,{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&&E.length>0&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0 whitespace-nowrap",children:["· ",E.length," lines · ",I]}),a&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",I]})]}),t&&a&&g&&o.jsx(Ht,{error:g,stack:Q,showStack:!0}),t&&!a&&C&&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(qt,{language:p,style:h,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:C})})})]})}function $f({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,Q=g&&"error"in r&&typeof r.error=="string"?r.error:null,B=g&&"stack"in r&&typeof r.stack=="string"?r.stack:void 0,C=String(r.path||i.path||""),u=Number(r.bytes||0),E=a?.patch?String(a.patch):"",I=Dt(e),p=E.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(it,{className:"h-3 w-3 flex-shrink-0 rotate-90 transition-transform"}):o.jsx(it,{className:"h-3 w-3 flex-shrink-0 transition-transform"}):o.jsx("div",{className:"w-3 flex-shrink-0"}),g&&o.jsx(po,{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:C,children:`⁦${C}⁩`})]}),!g&&u>0&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 whitespace-nowrap flex-shrink-0",children:["· ",u," bytes · ",I]}),g&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",I]})]}),t&&g&&Q&&o.jsx(Ht,{error:Q,stack:B,showStack:!0}),t&&!g&&E&&o.jsx("div",{className:"mt-2 ml-5",children:o.jsx(lr,{patch:E})})]})}const nQ={sm:"h-3 w-3",md:"h-4 w-4",lg:"h-5 w-5"},Ap={sm:"p-1",md:"p-1.5",lg:"p-2"};function tn({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:`${Ap[t]} rounded hover:bg-muted/50 text-muted-foreground hover:text-foreground transition-colors ${e}`,title:"Copy",children:s?o.jsx(Yt,{className:`${nQ[t]} text-emerald-500`}):o.jsx(us,{className:nQ[t]})})}function et({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(tn,{text:s})]}),o.jsx("div",{className:"overflow-auto flex-1",children:i})]})}function Kl({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(nt,{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(ya,{className:"h-5 w-5 text-white opacity-0 group-hover:opacity-80 transition-opacity drop-shadow-lg"})})]})},`img-${n}-${s.mimeType}`)})})}const ep={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 Qo({toolName:A,isExpanded:e,onToggle:t,isError:s=!1,colorVariant:n="default",canExpand:r=!0,children:i}){const a=ep[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(zt,{className:"h-3 w-3 flex-shrink-0"}):o.jsx(it,{className:"h-3 w-3 flex-shrink-0"}):o.jsx("div",{className:"w-3 flex-shrink-0"}),s&&o.jsx(po,{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 ue(){return o.jsx("span",{className:"text-muted-foreground/70 flex-shrink-0",children:"·"})}function xr({children:A,className:e=""}){return o.jsx("span",{className:`text-foreground/70 ${e}`,children:A})}function Gt({children:A,className:e=""}){return o.jsx("span",{className:`text-muted-foreground/80 flex-shrink-0 whitespace-nowrap ${e}`,children:A})}function Zs({children:A}){return o.jsx("span",{className:"text-emerald-600 dark:text-emerald-400 flex-shrink-0",children:A})}function Dr({children:A}){return o.jsx("span",{className:"text-red-600 dark:text-red-400 flex-shrink-0",children:A})}function tp({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,Q=a&&"stack"in r&&typeof r.stack=="string"?r.stack:void 0,B=String(r.stdout||""),C=String(r.stderr||""),u=Number(r.exitCode??0),E=String(i.cmd||""),I=i.cwd?String(i.cwd):void 0,p=Dt(e),h=document?.documentElement.classList.contains("dark")?Bo:lo,k=B.length>0||C.length>0,v=a||u!==0,D=C.length>0,T=B+(B&&C?`
98
+ `:"")+C;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(Qo,{toolName:"shell",isExpanded:t,onToggle:s,isError:v,colorVariant:"default",canExpand:!0,children:[!n&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsx("span",{className:"text-foreground/70 min-w-0 truncate font-mono text-[11px]",title:E,children:E})]}),!a&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),u===0?o.jsxs(Zs,{children:["exit ",u]}):o.jsxs(Dr,{children:["exit ",u]}),o.jsx(ue,{}),o.jsx(Gt,{children:p})]}),a&&!n&&o.jsxs(Gt,{children:["· ",p]})]}),t&&a&&g&&o.jsx(Ht,{error:g,stack:Q,showStack:!0}),t&&!a&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(et,{title:"command",icon:o.jsx(Ao,{className:"h-3 w-3"}),subtitle:I&&I!=="."?`in ${I}`:void 0,copyText:E,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:E})}),k&&(u===0?o.jsx(et,{title:"output",copyText:T,maxHeight:"max-h-[30rem]",children:o.jsx(qt,{language:"bash",style:h,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:T})}):o.jsxs(o.Fragment,{children:[B&&o.jsx(et,{title:"stdout",copyText:B,maxHeight:"max-h-60",children:o.jsx(qt,{language:"bash",style:h,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:B})}),D&&o.jsx(et,{title:"stderr",copyText:C,variant:"error",maxHeight:"max-h-60",children:o.jsx(qt,{language:"bash",style:h,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:C})})]}))]})]})}function op(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 sp(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 rp(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 np({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=zs(n),i=Vs(n),a=Number(n.staged||0),g=Number(n.unstaged||0),Q=n.raw||[],B=String(n.summary||""),C=Dt(e),u=Q.map(op).filter(Boolean),E=a>0||g>0,I=u.length>0||r||!!B;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(Qo,{toolName:"git status",isExpanded:t,onToggle:s,isError:r,colorVariant:"blue",canExpand:I,children:[o.jsx(ue,{}),E?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(ue,{}),o.jsx(Gt,{children:C})]}),t&&r&&i&&o.jsx(Ht,{error:i}),t&&!r&&(u.length>0||B)&&o.jsx("div",{className:"mt-2 ml-5",children:u.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:u.map((p,h)=>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 ${rp(p.type)}`,children:sp(p.status)}),o.jsx("span",{className:"text-foreground/80 break-all",children:p.file})]},`${p.file}-${h}`))})}):B&&o.jsx("div",{className:"bg-card/60 border border-border rounded-lg p-3 text-muted-foreground",children:B})})]})}function ip({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=Dt(e),Q=zs(n)||!!A.error,B=Vs(n)||(typeof A.error=="string"?A.error:null),C=n&&typeof n=="object"&&"stack"in n?String(n.stack):void 0,u=i.split(`
99
+ `);let E=0,I=0,p=0;for(const k of u)k.startsWith("diff --git")?E+=1:k.startsWith("+")&&!k.startsWith("+++")?I+=1:k.startsWith("-")&&!k.startsWith("---")&&(p+=1);const h=E>0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(Qo,{toolName:"git diff",isExpanded:t,onToggle:s,isError:Q,colorVariant:"purple",canExpand:!0,children:[a&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsx("span",{className:"text-muted-foreground/60",children:"(all)"})]}),o.jsx(ue,{}),h?o.jsxs(o.Fragment,{children:[o.jsxs(xr,{children:[E," ",E===1?"file":"files"]}),I>0&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsxs(Zs,{children:["+",I]})]}),p>0&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsxs(Dr,{children:["-",p]})]})]}):o.jsx("span",{className:"text-muted-foreground/60",children:"no changes"}),o.jsx(ue,{}),o.jsx(Gt,{children:g})]}),t&&Q&&B&&o.jsx(Ht,{error:B,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(et,{title:"options",icon:o.jsx(no,{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(lr,{patch:i}),!i&&o.jsx(et,{title:"diff",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No changes to show"})})]})]})}function ap({contentJson:A,toolDurationMs:e}){const t=A.result||{},s=String(t.message||""),n=Dt(e),r=document?.documentElement.classList.contains("dark")?Bo:lo;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(qt,{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 iQ({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,toolName:n}){const r=A.artifact,i=Dt(e),a=(J,V)=>V<=1?`${J}`:`${J}-${J+V-1}`,g=J=>{const V=`-${a(J.oldStart,J.oldLines)}`,AA=`+${a(J.newStart,J.newLines)}`,X=[];J.additions>0&&X.push(`+${J.additions}`),J.deletions>0&&X.push(`-${J.deletions}`);const L=X.length>0?` (${X.join(", ")})`:"";return`${V} ${AA}${L}`},Q=r?.summary||{},B=Number(Q.files||0),C=Number(Q.additions||0),u=Number(Q.deletions||0),E=r?.patch?String(r.patch):"",I=Array.isArray(A.result?.changes)?A.result?.changes:[],h=(n||A.name||"apply_patch").replace(/_/g," "),k=B===1?I[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,T=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(it,{className:`h-3 w-3 flex-shrink-0 transition-transform ${t?"rotate-90":""}`}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:[h,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:[B," ",B===1?"file":"files"]}),o.jsxs("span",{className:"text-emerald-600 dark:text-emerald-400 flex-shrink-0",children:["+",C]}),o.jsxs("span",{className:"text-red-600 dark:text-red-400 flex-shrink-0",children:["-",u]}),o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",i]})]}),t&&v&&D&&o.jsxs("div",{children:[o.jsx(Ht,{error:D,stack:T,showStack:!0}),E&&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(lr,{patch:E})})]})})]}),t&&!v&&I.length>0&&o.jsx("div",{className:"mt-2 ml-5 space-y-2",children:I.map(J=>o.jsxs("div",{className:"space-y-1",children:[o.jsx("div",{className:"font-mono text-foreground/80",children:J.filePath}),o.jsx("div",{className:"flex flex-wrap gap-2",children:J.hunks.map((V,AA)=>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-${J.filePath}-hunk-${AA}`))})]},`apply-patch-${J.filePath}-${J.kind}`))}),t&&!v&&E&&o.jsx("div",{className:"mt-2 ml-5",children:o.jsx(lr,{patch:E})})]})}function gp({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=A.args||{},i=zs(n),a=Vs(n),g=n&&typeof n=="object"&&"stack"in n?String(n.stack):void 0,Q=n.entries||[],B=Dt(e),C=typeof r.path=="string"?r.path:".";return o.jsxs("div",{className:"text-xs",children:[o.jsxs(Qo,{toolName:"ls",isExpanded:t,onToggle:s,isError:i,colorVariant:"cyan",canExpand:!0,children:[C&&C!=="."&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsx("span",{className:"text-foreground/70 truncate min-w-0",title:C,children:C.length>30?`…${C.slice(-30)}`:C})]}),o.jsx(ue,{}),o.jsxs(xr,{children:[Q.length," ",Q.length===1?"entry":"entries"]}),o.jsx(ue,{}),o.jsx(Gt,{children:B})]}),t&&i&&a&&o.jsx(Ht,{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(et,{title:"path",icon:o.jsx(xB,{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})}),Q.length>0&&o.jsx(et,{title:"entries",copyText:Q.map(u=>u.name||"").join(`
100
+ `),maxHeight:"max-h-80",children:o.jsx("div",{className:"divide-y divide-border/50",children:Q.map((u,E)=>{const I=u,p=I.type==="dir"||I.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(DB,{className:"h-3 w-3 text-blue-500 flex-shrink-0"}):o.jsx(Xo,{className:"h-3 w-3 text-muted-foreground flex-shrink-0"}),o.jsx("span",{className:"truncate",children:I.name})]},`${I.name}-${E}`)})})}),Q.length===0&&o.jsx(et,{title:"entries",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"Directory is empty"})})]})]})}function Qp({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s}){const n=A.result||{},r=A.args||{},i=zs(n),a=Vs(n),g=n&&typeof n=="object"&&"stack"in n?String(n.stack):void 0,Q=String(n.tree||""),B=Q.split(`
101
+ `).filter(p=>p.length>0).length,C=Dt(e),u=document?.documentElement.classList.contains("dark")?Bo:lo,E=typeof r.path=="string"?r.path:".",I=typeof r.depth=="number"?r.depth:void 0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(Qo,{toolName:"tree",isExpanded:t,onToggle:s,isError:i,colorVariant:"cyan",canExpand:!0,children:[E&&E!=="."&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsx("span",{className:"text-foreground/70 truncate min-w-0",title:E,children:E.length>30?`…${E.slice(-30)}`:E})]}),o.jsx(ue,{}),o.jsxs(xr,{children:[B," ",B===1?"item":"items"]}),o.jsx(ue,{}),o.jsx(Gt,{children:C})]}),t&&i&&a&&o.jsx(Ht,{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(et,{title:"path",icon:o.jsx(Qr,{className:"h-3 w-3"}),subtitle:I?`depth: ${I}`:void 0,copyText:E,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:E})}),Q&&o.jsx(et,{title:"tree",copyText:Q,maxHeight:"max-h-80",children:o.jsx("div",{className:"overflow-x-auto max-w-full",children:o.jsx(qt,{language:"bash",style:u,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:Q})})}),!Q&&o.jsx(et,{title:"tree",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No tree output"})})]})]})}function Bp({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=A.args||{},a=r.matches||[],g=r.files||[],Q=Dt(e),B=zs(r)||!!A.error,C=Vs(r)||(typeof A.error=="string"?A.error:null),u=r&&typeof r=="object"&&"stack"in r?String(r.stack):void 0,E=a.length>0?a.length:g.length,I=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:"",h=(()=>{if(typeof i.path=="string"&&i.path!==".")return i.path})();return o.jsxs("div",{className:"text-xs",children:[o.jsxs(Qo,{toolName:"search",isExpanded:t,onToggle:s,isError:B,colorVariant:"amber",canExpand:!0,children:[p&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),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(ue,{}),o.jsxs(xr,{children:[E," ",I]}),o.jsx(ue,{}),o.jsx(Gt,{children:Q})]})]}),t&&B&&C&&o.jsx(Ht,{error:C,stack:u,showStack:!0}),t&&!B&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(et,{title:"query",icon:o.jsx(ms,{className:"h-3 w-3"}),subtitle:h,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(et,{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(et,{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)))})}),E===0&&o.jsx(et,{title:"results",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No results found"})})]})]})}function lp({toolDurationMs:A}){const e=Dt(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 Ep({toolName:A,contentJson:e,toolDurationMs:t,isExpanded:s,onToggle:n,compact:r}){const i=e.result,a=Dt(t),g=Array.isArray(i?.images)?i.images:[],Q=g.length>0,B=i&&(Object.keys(i).length>0||Q),C=document?.documentElement.classList.contains("dark")?Bo:lo,u=e.error||i&&typeof i=="object"&&"ok"in i&&i.ok===!1,E=typeof e.error=="string"?e.error:i&&typeof i=="object"&&"error"in i&&typeof i.error=="string"?i.error:null,I=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 ${u?"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(it,{className:`h-3 w-3 flex-shrink-0 transition-transform ${s?"rotate-90":""}`}),u&&o.jsx(po,{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,u?" 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&&u&&E&&o.jsx(Ht,{error:E,stack:I,showStack:!0}),s&&!u&&B&&o.jsxs("div",{className:"mt-2 ml-5",children:[Q&&o.jsx(Kl,{images:g}),!Q&&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(qt,{language:"json",style:C,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 cp({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 Cp({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(Yc,{className:"h-4 w-4 text-emerald-600 dark:text-emerald-300 flex-shrink-0 mt-0.5"}),n.status==="in_progress"&&o.jsx(yB,{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(Hc,{className:"h-4 w-4 text-muted-foreground flex-shrink-0 mt-0.5"}),n.status==="cancelled"&&o.jsx(Da,{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 Ip({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=Dt(e),a=zs(n)||!!A.error,g=Vs(n)||(typeof A.error=="string"?A.error:null),Q=n&&typeof n=="object"&&"stack"in n?String(n.stack):void 0,B="results"in n,C=n.results||[],u=n,E=typeof r.query=="string"?r.query:void 0,I=typeof r.url=="string"?r.url:u.url;if(B)return o.jsxs("div",{className:"text-xs",children:[o.jsxs(Qo,{toolName:"web search",isExpanded:t,onToggle:s,isError:a,colorVariant:"purple",canExpand:!0,children:[E&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsxs("span",{className:"font-mono text-foreground/90 text-[11px] truncate min-w-0",title:E,children:['"',E.length>25?`${E.slice(0,25)}…`:E,'"']})]}),o.jsx(ue,{}),o.jsxs(xr,{children:[C.length," ",C.length===1?"result":"results"]}),o.jsx(ue,{}),o.jsx(Gt,{children:i})]}),t&&a&&g&&o.jsx(Ht,{error:g,stack:Q,showStack:!0}),t&&!a&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(et,{title:"query",icon:o.jsx(Oo,{className:"h-3 w-3"}),copyText:E,maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 font-mono text-xs bg-muted/10 break-all",children:E||"(empty)"})}),C.length>0&&o.jsx(et,{title:"results",copyText:C.map(h=>`${h.title}
104
+ ${h.url}`).join(`
105
+
106
+ `),maxHeight:"max-h-80",children:o.jsx("div",{className:"divide-y divide-border/50",children:C.map((h,k)=>o.jsxs("div",{className:"px-3 py-2 hover:bg-muted/20",children:[o.jsxs("a",{href:h.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1 text-blue-600 dark:text-blue-400 hover:underline font-medium",children:[h.title,o.jsx(bt,{className:"h-3 w-3 flex-shrink-0"})]}),o.jsx("p",{className:"text-muted-foreground text-xs mt-0.5",children:h.snippet}),o.jsx("p",{className:"text-xs text-muted-foreground/60 truncate mt-0.5",children:h.url})]},`${h.url}-${k}`))})}),C.length===0&&o.jsx(et,{title:"results",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No results found"})})]})]});const p=I&&I.length>50?`${I.slice(0,50)}...`:I;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(Qo,{toolName:"web fetch",isExpanded:t,onToggle:s,isError:a,colorVariant:"purple",canExpand:!0,children:[p&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsx("span",{className:"text-foreground/70 truncate min-w-0",title:I,children:p})]}),o.jsx(ue,{}),o.jsx(Gt,{children:i})]}),t&&a&&g&&o.jsx(Ht,{error:g,stack:Q,showStack:!0}),t&&!a&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[o.jsx(et,{title:"url",icon:o.jsx(Pc,{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:o.jsx("a",{href:I,target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 dark:text-blue-400 hover:underline",children:I})})}),u.content&&o.jsx(et,{title:"content",copyText:u.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:u.content})}),!u.content&&o.jsx(et,{title:"content",maxHeight:"",children:o.jsx("div",{className:"px-3 py-2 text-muted-foreground/60 italic",children:"No content returned"})})]})]})}function dp({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 Q,B,C,u=!1;A.error&&typeof A.error=="object"?(Q=A.error,Q.message&&typeof Q.message=="string"&&(B=Q.message),Q.type&&typeof Q.type=="string"&&(C=Q.type)):A.details&&typeof A.details=="object"?(Q=A.details,A.message&&typeof A.message=="string"&&(B=A.message),A.type&&typeof A.type=="string"&&(C=A.type),A.isAborted===!0&&(u=!0)):(A.message&&typeof A.message=="string"&&(B=A.message),A.type&&typeof A.type=="string"&&(C=A.type),A.isAborted===!0&&(u=!0),Q=A);let E;if(Q?.responseBody&&typeof Q.responseBody=="string")try{const J=JSON.parse(Q.responseBody);J.error&&typeof J.error=="object"&&(E={type:typeof J.error.type=="string"?J.error.type:void 0,message:typeof J.error.message=="string"?J.error.message:void 0,code:typeof J.error.code=="string"?J.error.code:void 0})}catch{}const I=String(Q?.url??"").includes("githubcopilot.com")||String(B??"").toLowerCase().includes("copilot model"),p=String(E?.message??B??"").toLowerCase(),h=I&&(E?.code==="model_not_supported"||p.includes("model is not supported")||p.includes("not available for this account/organization token"));if(E?.message?.toLowerCase().includes("not accessible via the /chat/completions")&&String(Q?.url??"").includes("githubcopilot.com")){const J=Q?.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:J?o.jsxs(o.Fragment,{children:[o.jsx("code",{className:"px-1 py-0.5 bg-muted rounded text-xs",children:String(J)})," ","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(Pt,{className:"w-3 h-3"}),"Retry"]})})]})}if(h){const J=Q?.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:J?o.jsxs(o.Fragment,{children:[o.jsx("code",{className:"px-1 py-0.5 bg-muted rounded text-xs",children:String(J)})," ","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(),Co("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(Pt,{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(Cr,{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(Pt,{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(fg,{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(fg,{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(Pt,{className:"w-3 h-3"}),"Retry"]})]})]});const v=J=>{if(J==null)return o.jsx("span",{className:"text-muted-foreground",children:"null"});if(typeof J=="boolean")return o.jsx("span",{className:"text-amber-600 dark:text-amber-400",children:String(J)});if(typeof J=="number")return o.jsx("span",{className:"text-blue-600 dark:text-blue-400",children:J});if(typeof J=="string"){if(J.startsWith("{")||J.startsWith("["))try{const V=JSON.parse(J);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:J})}return typeof J=="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(J,null,2)})}):o.jsx("span",{className:"text-foreground",children:String(J)})},D=["name","statusCode","url","model","isRetryable","cause"],T=new Set;return o.jsxs("div",{className:"space-y-2 text-sm",children:[u&&o.jsx("div",{className:"text-amber-600 dark:text-amber-400 font-medium",children:"Request aborted"}),E?.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:E.message}),E.type&&o.jsxs("div",{className:"text-xs text-muted-foreground",children:["Type: ",E.type]})]}),!E?.message&&B&&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:B}),C&&o.jsxs("div",{className:"text-xs text-muted-foreground",children:["Type: ",C]})]}),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(Pt,{className:"w-3 h-3"}),"Retry"]})}),Q&&o.jsx("div",{className:"space-y-1.5",children:D.map(J=>{const V=Q[J];return V==null?null:(T.add(J),o.jsxs("div",{className:"flex gap-2",children:[o.jsxs("span",{className:"font-medium text-muted-foreground min-w-[100px]",children:[J,":"]}),v(V)]},J))})}),Q&&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(zt,{className:"h-3 w-3"}):o.jsx(it,{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(Q,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:Q,apiError:E},null,2)})})]})]})}function Jl(A){return A?new Date(A).toLocaleDateString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function ni({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(bt,{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(bt,{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:Jl(A.createdAt)})]})]})]})}function aQ({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(bt,{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(bt,{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:Jl(A.createdAt)})]})]})]})}function gQ({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(zc,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}),r]})}function hp({toolName:A,contentJson:e,toolDurationMs:t,isExpanded:s,onToggle:n,onNavigateToSession:r,compact:i}){const a=e.result||{},g=e.args||{},Q=typeof a=="object"&&"ok"in a&&a.ok===!1,B=Q&&"error"in a&&typeof a.error=="string"?a.error:null,C=Dt(t);if(A==="present_action"){const I=a.links||[],p=a.summary,h=a.title;return I.length===0&&!p?null:o.jsxs("div",{className:"mt-2 mb-1",children:[h&&o.jsx("div",{className:"text-sm font-medium text-foreground mb-1.5",children:h}),p&&o.jsxs("div",{className:"text-xs text-muted-foreground mb-2 flex items-center gap-1.5",children:[o.jsx(Wc,{className:"w-3.5 h-3.5 text-teal-500"}),o.jsx("span",{children:p})]}),I.length>0&&o.jsx("div",{className:"space-y-1.5",children:I.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(bt,{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 u=()=>{switch(A){case"query_sessions":{const I=a.sessions||[],p=a.total;return`${I.length} session${I.length!==1?"s":""}${p?` of ${p}`:""}`}case"query_messages":{const I=a.messages||[];return`${I.length} message${I.length!==1?"s":""}`}case"search_history":{const I=g.query,p=a.results||[],h=I?`"${I.slice(0,20)}${I.length>20?"…":""}"`:"";return`${p.length} result${p.length!==1?"s":""}${h?` for ${h}`:""}`}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}},E=()=>{const I=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:[I&&o.jsx(gQ,{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(h=>o.jsx(ni,{session:h,onNavigate:r,compact:i},h.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:[I&&o.jsx(gQ,{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(h=>o.jsx(aQ,{message:h,onNavigate:r,compact:i},h.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||[],h=g.query;return o.jsxs("div",{className:i?"p-1":"p-2",children:[h&&!i&&o.jsxs("div",{className:"flex items-center gap-1.5 text-xs mb-2 pb-2 border-b border-border",children:[o.jsx(ms,{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:['"',h,'"']})]}),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(aQ,{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,h=a.stats,k=a.messages;return p?i?o.jsx("div",{className:"p-1",children:o.jsx(ni,{session:p,onNavigate:r,compact:!0})}):o.jsxs("div",{className:"p-2 space-y-3",children:[o.jsx(ni,{session:p,onNavigate:r}),h&&o.jsxs("div",{className:"flex gap-4 text-xs text-muted-foreground",children:[h.totalMessages!==void 0&&o.jsxs("span",{children:[h.totalMessages," messages"]}),h.totalToolCalls!==void 0&&o.jsxs("span",{children:[h.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(Qo,{toolName:A,isExpanded:s,onToggle:n,isError:Q,colorVariant:"default",canExpand:!0,children:[!i&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsx("span",{className:"text-foreground/70 min-w-0 truncate",children:u()})]}),!Q&&!i&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsx(Zs,{children:"Done"}),o.jsx(ue,{}),o.jsx(Gt,{children:C})]}),Q&&!i&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsx(Dr,{children:"Error"}),o.jsxs(Gt,{children:["· ",C]})]})]}),s&&Q&&B&&o.jsx(Ht,{error:B}),s&&!Q&&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:E()}):o.jsx(et,{title:"results",maxHeight:"max-h-96",children:E()})})]})}const fp='"JetBrainsMono NFM", monospace';let QQ=!1,Kr=null;function pp(){return QQ?Promise.resolve():Kr||(Kr=mp().then(()=>{QQ=!0}),Kr)}async function mp(){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":nl,"../assets/fonts/JetBrainsMonoNerdFontMono-BoldItalic.woff2":il,"../assets/fonts/JetBrainsMonoNerdFontMono-Italic.woff2":al,"../assets/fonts/JetBrainsMonoNerdFontMono-Regular.woff2":gl})[`../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 wp=/[\x1B\x9B][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nq-uy=><~]/g,xp=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g;function Dp(A){return A.replace(wp,"").replace(xp,"").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(()=>{pp().then(()=>r(!0))},[]);const i=A.result||{},a=A.args||{},g=String(a.operation||a.command||""),Q=typeof i=="object"&&"ok"in i&&i.ok===!1,B=Q&&"error"in i&&typeof i.error=="string"?i.error:null,C=Q&&"stack"in i&&typeof i.stack=="string"?i.stack:void 0,u=Dt(e),E=String(i.terminalId||a.terminalId||""),I=E.length>12?`${E.slice(0,12)}…`:E,p=String(i.purpose||a.purpose||""),h=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:[h&&o.jsxs("div",{className:"flex items-center gap-2 text-foreground/70",children:[o.jsx(Ao,{className:"h-3 w-3"}),o.jsx("code",{className:"font-mono",children:h})]}),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:[I&&o.jsx("span",{className:"font-mono",children:I}),X&&o.jsxs(o.Fragment,{children:[o.jsx("span",{children:"·"}),o.jsx("span",{children:X})]})]})]})},v=()=>{const X=String(i.text||i.output||""),L=Dp(X),W=String(i.status||""),S=i.exitCode,O=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:[I&&o.jsx("span",{className:"font-mono",children:I}),o.jsx("span",{children:"·"}),o.jsxs("span",{children:[O," lines"]}),o.jsx("span",{children:"·"}),o.jsxs("span",{className:W==="running"?"text-emerald-600 dark:text-emerald-400":"",children:[W,W==="exited"&&S!==void 0?` (${S})`:""]})]}),L.trim()&&o.jsx(et,{title:"output",copyText:L,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:fp},children:L})})]})},D=()=>{const X=Array.isArray(i.terminals)?i.terminals:[],L=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:[L," terminal",L!==1?"s":""]}),X.slice(0,8).map((W,S)=>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||S)))]})},T=()=>{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"}`,AA=!Q&&(g==="start"||g==="read"||g==="list"||g==="write"&&(a.input||i.message));return o.jsxs("div",{className:"text-xs",children:[o.jsxs(Qo,{toolName:V,isExpanded:t,onToggle:s,isError:!!Q,colorVariant:"amber",canExpand:!!AA||!!Q,children:[!n&&I&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsx("span",{className:"text-foreground/70 font-mono text-[11px]",children:I})]}),!n&&p&&!I&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsx("span",{className:"text-foreground/70 text-[11px] truncate max-w-xs",children:p})]}),!Q&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsx(Zs,{children:"ok"}),o.jsx(ue,{}),o.jsx(Gt,{children:u})]}),Q&&!n&&o.jsxs(Gt,{children:["· ",u]})]}),t&&Q&&B&&o.jsx(Ht,{error:B,stack:C,showStack:!0}),t&&!Q&&g==="start"&&k(),t&&!Q&&g==="read"&&v(),t&&!Q&&g==="list"&&D(),t&&!Q&&g==="write"&&T()]})}function Np(A){const e=A.indexOf("__");return e===-1?{server:"",tool:A}:{server:A.slice(0,e),tool:A.slice(e+2)}}function kp(A){return A.includes("__")}function Mp({toolName:A,contentJson:e,toolDurationMs:t,isExpanded:s,onToggle:n,compact:r}){const{server:i,tool:a}=Np(A),g=e.result||{},Q=e.args||{},B=Dt(t),C=document?.documentElement.classList.contains("dark")?Bo:lo,u=typeof g=="object"&&"ok"in g&&g.ok===!1,E=u&&"error"in g&&typeof g.error=="string"?g.error:typeof e.error=="string"?e.error:null,I=u&&"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,h=Array.isArray(g.images)?g.images:[],k=h.length>0,v=!u&&(p||Object.keys(g).length>0||k),D=p||JSON.stringify(g,null,2),T=D.startsWith("{")||D.startsWith("["),J=Object.entries(Q).slice(0,3).map(([AA,X])=>{const L=typeof X=="string"?X.length>30?`${X.slice(0,27)}…`:X:JSON.stringify(X);return`${AA}=${L}`}).join(" "),V=i?`${i} › ${a}`:a;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(Qo,{toolName:V,isExpanded:s,onToggle:n,isError:!!u,colorVariant:"purple",canExpand:!!v||!!u||k,children:[!r&&J&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsx("span",{className:"text-foreground/60 truncate max-w-xs font-mono text-[11px]",children:J})]}),!u&&!r&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsx(Zs,{children:"ok"}),o.jsx(ue,{}),o.jsx(Gt,{children:B})]}),u&&!r&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsx(Dr,{children:"error"}),o.jsx(ue,{}),o.jsx(Gt,{children:B})]})]}),s&&u&&E&&o.jsx(Ht,{error:E,stack:I,showStack:!0}),s&&!u&&v&&o.jsxs("div",{className:"mt-2 ml-5 flex flex-col gap-2 max-w-full",children:[k&&o.jsx(Kl,{images:h}),D&&!k&&o.jsx(et,{title:"result",icon:o.jsx(ur,{className:"h-3 w-3"}),copyText:D,maxHeight:"max-h-[30rem]",children:o.jsx(qt,{language:T?"json":"text",style:C,customStyle:{margin:0,padding:"0.75rem",fontSize:"0.75rem",lineHeight:"1.5",background:"transparent",maxWidth:"100%"},wrapLines:!0,wrapLongLines:!0,children:D})})]})]})}function bp({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=A.args||{},a=Dt(e),g=Array.isArray(i.tools)?i.tools:[],Q=Array.isArray(r.loaded)?r.loaded:[],B=Array.isArray(r.notFound)?r.notFound:[],C=r.ok===!1,u=Q.length>0||B.length>0;return o.jsxs("div",{className:"text-xs",children:[o.jsxs(Qo,{toolName:"load_mcp_tools",isExpanded:t,onToggle:s,isError:C,colorVariant:"purple",canExpand:u,children:[!n&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsxs("span",{className:"text-foreground/60 font-mono text-[11px]",children:[g.length," tool",g.length!==1?"s":""]})]}),!C&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsxs(Zs,{children:[Q.length," loaded"]}),o.jsx(ue,{}),o.jsx(Gt,{children:a})]}),C&&!n&&o.jsxs(o.Fragment,{children:[o.jsx(ue,{}),o.jsx(Dr,{children:"error"}),o.jsx(ue,{}),o.jsx(Gt,{children:a})]})]}),t&&u&&o.jsxs("div",{className:"mt-1.5 ml-5 flex flex-col gap-1",children:[Q.map(E=>o.jsxs("div",{className:"flex items-center gap-1.5 text-[11px]",children:[o.jsx(Yt,{className:"h-3 w-3 text-green-500"}),o.jsx(ur,{className:"h-3 w-3 text-purple-400"}),o.jsx("span",{className:"font-mono text-foreground/70",children:E})]},E)),B.map(E=>o.jsxs("div",{className:"flex items-center gap-1.5 text-[11px]",children:[o.jsx(nt,{className:"h-3 w-3 text-red-400"}),o.jsx("span",{className:"font-mono text-foreground/40 line-through",children:E})]},E))]})]})}function Fp({contentJson:A,toolDurationMs:e,isExpanded:t,onToggle:s,compact:n}){const r=A.result||{},i=Dt(e),a=typeof r=="object"&&"ok"in r&&r.ok===!1,g=a&&"error"in r&&typeof r.error=="string"?r.error:null,Q=r.name,B=r.description,C=r.content,u=r.scope,E=r.availableFiles,I=r.securityNotices,p=B?.startsWith("Sub-file:"),h=E?.length??0,k=I?.length??0,v=!!C||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(it,{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(po,{className:"h-3 w-3 flex-shrink-0 text-red-600 dark:text-red-400"}),p?o.jsx($o,{className:"h-3 w-3 flex-shrink-0"}):o.jsx(NB,{className:"h-3 w-3 flex-shrink-0"}),o.jsxs("span",{className:"font-medium flex-shrink-0",children:["skill",a?" error":""]}),Q&&!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?B?.replace("Sub-file: ",""):Q})]}),u&&!n&&!p&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",u]}),h>0&&!n&&o.jsxs("span",{className:"text-muted-foreground/80 flex-shrink-0",children:["· ",h," file",h!==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(pg,{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(Ht,{error:g}),t&&!a&&o.jsxs("div",{className:"mt-2 ml-5 space-y-2",children:[k>0&&I&&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(pg,{className:"h-3 w-3"}),"Security Notice",k>1?"s":""]}),I.map((D,T)=>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??T}`))]}),B&&!p&&o.jsx("p",{className:"text-muted-foreground italic",children:B}),C&&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:C})}),h>0&&E&&o.jsxs("details",{className:"group",children:[o.jsxs("summary",{className:"text-muted-foreground cursor-pointer hover:text-foreground/80 text-[11px] select-none",children:[h," available sub-file",h!==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:E.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:Gp(D.size)})]},D.relativePath))})]})]})]})}function Gp(A){if(A<1024)return`${A}B`;const e=A/1024;return e<1024?`${e.toFixed(1)}KB`:`${(e/1024).toFixed(1)}MB`}function vp({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(zt,{className:"h-3 w-3 flex-shrink-0"}):o.jsx(it,{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 Sp={Read:"read",Edit:"edit",MultiEdit:"multiedit",Write:"write",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 Up(A){return Sp[A]??A}const Rp=new Set(["shell","edit","multiedit","write","apply_patch","terminal"]);function na({toolName:A,contentJson:e,toolDurationMs:t,debug:s,onNavigateToSession:n,compact:r,sessionId:i,onRetry:a,onCompact:g}){const[Q,B]=x.useState(!1),C=Up(A),u=r&&!Rp.has(C),I={contentJson:e,toolDurationMs:t??void 0,isExpanded:Q,onToggle:()=>B(!Q),compact:u};if(s)return o.jsx(cp,{...I,toolName:A});switch(C){case"read":return o.jsx(Xf,{...I});case"edit":case"multiedit":return o.jsx(iQ,{...I,toolName:C});case"write":return o.jsx($f,{...I});case"shell":return o.jsx(tp,{...I});case"git_status":return o.jsx(np,{...I});case"git_diff":return o.jsx(ip,{...I});case"git_commit":return o.jsx(ap,{...I});case"apply_patch":return o.jsx(iQ,{...I});case"terminal":return o.jsx(yp,{...I});case"ls":return o.jsx(gp,{...I});case"tree":return o.jsx(Qp,{...I});case"ripgrep":case"grep":case"glob":return o.jsx(Bp,{...I});case"websearch":return o.jsx(up,{...I});case"finish":return o.jsx(lp,{...I});case"update_todos":case"update_plan":return o.jsx(Cp,{...I});case"progress_update":return o.jsx(Ip,{...I});case"load_mcp_tools":return o.jsx(bp,{...I,toolName:A});case"skill":return o.jsx(Fp,{...I});case"error":return o.jsx(dp,{...I,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(hp,{toolName:A,...I,onNavigateToSession:n});default:return kp(C)?o.jsx(Mp,{...I,toolName:A}):o.jsx(Ep,{...I,toolName:A})}}function ia(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 Kp(A){const e=ia(A);if(!e)return;const t=e.args;if(t&&typeof t=="object"&&!Array.isArray(t))return t}function Jp(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 Lp(A){return A.match(/^\*\*\*\s+(?:Update|Add|Delete|Replace in):\s+(.+)$/m)?.[1]?.trim()||null}function Ll(A){return A==="bash"?"shell":A}function aa(A){return Ll(A)==="shell"}function jp(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(aa(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=Lp(s);if(n)return{key:"patch",value:n}}}return null}function Tp(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 BQ=x.memo(function({part:e,showLine:t,isLastToolCall:s,isLastProgressUpdate:n,onNavigateToSession:r,compact:i,pendingApproval:a,onApprove:g,onReject:Q,sessionId:B,onRetry:C,onCompact:u}){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 T="";if(D&&typeof D=="object"&&"text"in D?T=String(D.text):typeof D=="string"&&(T=D),!T||!T.trim())return null}if(e.type==="reasoning"){const D=e.contentJson||e.content;let T="";if(D&&typeof D=="object"&&"text"in D?T=String(D.text):typeof D=="string"&&(T=D),!T||!T.trim())return null}const E=e.type==="tool_call"||e.type==="tool_result",I=["flex-1","min-w-0","max-w-full"];E||e.type==="reasoning"?I.push(i?"pt-0.5":"pt-1"):e.type==="error"?I.push("pt-0.5"):e.type==="text"?(I.push("pt-0"),I.push("-mt-0.5")):I.push("pt-0");const p=I.join(" "),h=()=>{if(e.type==="reasoning")return o.jsx(Nn,{className:"h-4 w-4 text-indigo-600 dark:text-indigo-300"});if(e.type==="tool_call")return o.jsx(Le,{className:"h-4 w-4 text-amber-600 dark:text-amber-300 animate-spin"});if(e.type==="error")return ia(e)?.isAborted===!0?o.jsx(Vc,{className:"h-4 w-4 text-amber-600 dark:text-amber-400"}):o.jsx(po,{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($o,{className:"h-4 w-4 text-blue-600 dark:text-blue-300"}):D==="write"?o.jsx(To,{className:"h-4 w-4 text-emerald-600 dark:text-emerald-300"}):D==="ls"?o.jsx(Zc,{className:"h-4 w-4 text-cyan-600 dark:text-cyan-300"}):D==="tree"?o.jsx(Qr,{className:"h-4 w-4 text-cyan-600 dark:text-cyan-300"}):aa(D)?o.jsx(Ao,{className:"h-4 w-4 text-muted-foreground"}):D==="ripgrep"||D==="grep"||D==="glob"?o.jsx(ms,{className:"h-4 w-4 text-amber-600 dark:text-amber-300"}):D==="apply_patch"?o.jsx(Li,{className:"h-4 w-4 text-purple-600 dark:text-purple-300"}):D==="git_status"?o.jsx(no,{className:"h-4 w-4 text-blue-600 dark:text-blue-300"}):D==="git_diff"?o.jsx(Li,{className:"h-4 w-4 text-purple-600 dark:text-purple-300"}):D==="git_commit"?o.jsx(an,{className:"h-4 w-4 text-emerald-600 dark:text-emerald-300"}):D==="finish"?o.jsx(Yt,{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(_c,{className:"h-4 w-4 text-teal-600 dark:text-teal-300"}):D==="terminal"?o.jsx(Ao,{className:"h-4 w-4 text-amber-600 dark:text-amber-300"}):D==="skill"?o.jsx(NB,{className:"h-4 w-4 text-violet-600 dark:text-violet-300"}):D.includes("__")?o.jsx(ur,{className:"h-4 w-4 text-purple-600 dark:text-purple-300"}):o.jsx(Ao,{className:"h-4 w-4 text-muted-foreground"})}return o.jsx(ro,{className:"h-4 w-4 text-violet-600 dark:text-violet-300"})},k=()=>{const D=e.toolName||"";let T;try{e.contentJson&&typeof e.contentJson=="object"?T=e.contentJson:typeof e.content=="string"?T=JSON.parse(e.content):T={}}catch{T={result:e.content}}return o.jsx(na,{toolName:D,contentJson:T,toolDurationMs:e.toolDurationMs,debug:!1,onNavigateToSession:r,compact:i})},v=()=>{if(e.type==="reasoning")return o.jsx(vp,{part:e});if(e.type==="text"){let D="";const T=e.contentJson||e.content;return T&&typeof T=="object"&&"text"in T?D=String(T.text):typeof T=="string"?D=T:T&&(D=JSON.stringify(T,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(tn,{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(Ga,{remarkPlugins:[va],components:{a:({href:J,children:V,...AA})=>o.jsx("a",{href:J,target:"_blank",rel:"noopener noreferrer",onClick:X=>{window.self!==window.top&&J&&(X.preventDefault(),window.parent.postMessage({type:"otto-open-url",url:J},"*"))},...AA,children:V}),pre:({children:J,...V})=>{const AA=(()=>{if(!J)return"";const X=Array.isArray(J)?J[0]:J;if(X&&typeof X=="object"&&"props"in X){const L=X.props;if(typeof L.children=="string")return L.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(tn,{text:AA,className:"bg-background/80 backdrop-blur-sm border border-border/50 shadow-sm",size:"sm"})}),o.jsx("pre",{...V,className:"overflow-x-auto",children:J})]})},table:({children:J,...V})=>o.jsx("div",{className:"overflow-x-auto max-w-full min-w-0 my-3",children:o.jsx("table",{...V,children:J})})},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(tn,{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(na,{toolName:"error",contentJson:D,toolDurationMs:e.toolDurationMs,debug:!1,compact:i,sessionId:B,onRetry:C,onCompact:u})}if(e.type==="tool_call"){const D=ia(e),T=e.toolName||(typeof D?.name=="string"?D.name:"tool"),J=Ll(T),V=J.includes("__")?J.replace("__"," › "):J.replace(/_/g," "),AA=Kp(e),X=a?.args,L=AA||X,W=jp(J,L),S=Tp(L,W?.key),O=aa(J)?Jp(L):null,w=[];if(O?w.push({key:"cmd",node:o.jsx("code",{className:"font-mono text-foreground/90 truncate max-w-xs",children:O})}):W&&w.push({key:"primary",node:o.jsx("code",{className:"font-mono text-foreground/85 truncate max-w-xs",children:W.value})}),S&&w.push({key:"args",node:o.jsx("span",{className:"text-muted-foreground/80 truncate max-w-xs",children:S})}),a&&a.callId===e.toolCallId&&g&&Q)return o.jsx(Vf,{toolName:T,args:L,pendingApproval:a,onApprove:g,onReject:Q});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:h()}),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.contentJson===e.part.contentJson&&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),jl=new Set(["read","ls","tree","ripgrep","grep","glob","websearch","skill","query_sessions","query_messages","search_history","get_session_context","get_parent_session"]);function _a(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 Op(A){const t=_a(A)?.args;return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function qp(A){const t=_a(A)?.result;return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function ns(A,e=56){return A.length>e?`${A.slice(0,e-1)}…`:A}function Yp(A){const t=_a(A)?.text;return typeof t=="string"&&t.trim()?t.trim():typeof A.content=="string"?A.content.trim():""}function Hp(A){return A.split(`
110
+ `).map(t=>t.trim()).find(Boolean)||A.trim()}function Pp(A){return A.replace(/^Reasoning:\s*/i,"").replace(/^[-*+]\s+/,"").replace(/\[(.*?)\]\((.*?)\)/g,"$1").replace(/[*_`#>~]+/g,"").replace(/\s+/g," ").trim()}function xo(A,...e){for(const t of e){const s=A[t];if(typeof s=="string"&&s.trim())return s.trim()}}function Wp(A){return A.type==="reasoning"?!0:A.type!=="tool_call"&&A.type!=="tool_result"?!1:!!(A.toolName&&jl.has(A.toolName))}function zp(A){if(A.type==="reasoning"){const s=Yp(A),n=Pp(Hp(s));return{id:A.id,label:n?ns(n):"Thinking through the approach",toolName:"reasoning",fullText:s||void 0,startedAt:A.startedAt,completedAt:A.completedAt}}if(!A.toolName||!jl.has(A.toolName))return null;const e=Op(A),t=qp(A);if(A.toolName==="read"){const s=xo(t,"path")||xo(e,"path");return{id:A.id,toolName:A.toolName,path:s,label:s?`Reading ${ns(s)}`:"Reading file contents",startedAt:A.startedAt,completedAt:A.completedAt}}if(A.toolName==="ls"||A.toolName==="tree"){const s=xo(e,"path")||xo(t,"path");return{id:A.id,toolName:A.toolName,path:s,label:s?`Scanning ${ns(s)}`:"Scanning the project",startedAt:A.startedAt,completedAt:A.completedAt}}if(A.toolName==="ripgrep"||A.toolName==="grep"||A.toolName==="glob"){const s=xo(e,"query","pattern","filePattern")||xo(t,"query","pattern");return{id:A.id,toolName:A.toolName,query:s,label:s?`Searching for ${ns(s,42)}`:"Searching code",startedAt:A.startedAt,completedAt:A.completedAt}}if(A.toolName==="websearch"){const s=xo(e,"query"),n=xo(e,"url")||xo(t,"url");return{id:A.id,toolName:A.toolName,query:s,url:n,label:s?`Researching ${ns(s,42)}`:n?`Reviewing ${ns(n,42)}`:"Researching references",startedAt:A.startedAt,completedAt:A.completedAt}}if(A.toolName==="skill"){const s=xo(e,"name");return{id:A.id,toolName:A.toolName,label:s?`Loading skill ${ns(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 Vp(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=zp(s);n&&t.push(n)}return t}function Zp(A){const e=new Set;for(const t of A)t.path&&e.add(t.path);return e}function _p(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 Xp(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 $p(A){const e=Zp(A);let t=0,s=0,n=0,r=0,i=0;for(const E of A)switch(E.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=_p(A),Q=g!==null?Xp(g):null,B=r>0&&e.size===0&&t===0&&s===0&&n===0&&i===0,C=B?Q?`Thought for ${Q}`:"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",u=[];return!B&&Q&&u.push(Q),e.size>0&&u.push(`${e.size} ${e.size===1?"file":"files"}`),t>0&&u.push(`${t} ${t===1?"search":"searches"}`),s>0&&e.size===0&&u.push(`${s} ${s===1?"scan":"scans"}`),n>0&&u.push(`${n} ${n===1?"web lookup":"web lookups"}`),i>0&&C!=="Reviewed prior context"&&u.push("prior context"),r>0&&!B&&u.push("reasoning"),u.length===0&&r===0&&u.push(`${A.length} ${A.length===1?"step":"steps"}`),{title:C,details:u}}const Do=320,yo="cubic-bezier(0.25, 1, 0.5, 1)",lQ=140;function Am({entries:A,titleOverride:e,showLine:t,collapsed:s}){const n=s&&A.length>0,[r,i]=x.useState(n),[a,g]=x.useState(n),Q=x.useRef(null),B=x.useRef(null),C=x.useRef(null),u=x.useRef(!1),E=x.useRef(A.length),[I,p]=x.useState(0),h=x.useMemo(()=>$p(A),[A]),v=[e||h.title,...h.details].join(" · "),D=A.some(V=>V.toolName==="reasoning"),T=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=Q.current;if(!V)return;const AA=()=>{const L=Math.min(V.scrollHeight,lQ);p(W=>W===L?W:L)};AA();const X=new ResizeObserver(()=>AA());return X.observe(V),()=>X.disconnect()},[r]),x.useEffect(()=>()=>{C.current!==null&&window.cancelAnimationFrame(C.current)},[]),x.useEffect(()=>{if(r||u.current)return;const V=B.current;if(!V)return;const AA=Q.current?.scrollHeight??0,X=AA>I+1,L=X?Math.max(0,AA-I):0;if(C.current!==null&&(window.cancelAnimationFrame(C.current),C.current=null),!X){V.scrollTop=0;return}const W=V.scrollTop,S=L-W;if(S<=1){V.scrollTop=L;return}const O=performance.now(),w=Math.min(360,Math.max(180,S*.9)),l=d=>{const N=Math.min(1,(d-O)/w),G=1-(1-N)**3;if(V.scrollTop=W+S*G,N<1&&!u.current){C.current=window.requestAnimationFrame(l);return}C.current=null};C.current=window.requestAnimationFrame(l)},[A.length,T?.fullText,r,I]),x.useEffect(()=>{E.current=A.length},[A.length]);const J=!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(Nn,{className:"h-4 w-4 text-indigo-600 dark:text-indigo-300"}):o.jsx(ms,{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:J?"1px solid hsl(var(--border) / 0.6)":"1px solid transparent",background:J?"hsl(var(--muted) / 0.2)":"transparent",padding:J?"8px 12px":"0px 0px",transition:`border ${Do}ms ${yo}, background ${Do}ms ${yo}, padding ${Do}ms ${yo}`},children:[o.jsxs("div",{style:{overflow:"hidden",opacity:J?1:0,maxHeight:J?`${lQ+28}px`:"0px",transition:`opacity ${Do}ms ${yo}, max-height ${Do}ms ${yo}`},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:B,className:"overflow-y-auto",style:{height:`${I}px`,transition:`height ${Do}ms ${yo}`,maskImage:"linear-gradient(to bottom, transparent 0px, black 20px)",WebkitMaskImage:"linear-gradient(to bottom, transparent 0px, black 20px)"},role:"log",onMouseEnter:()=>{u.current=!0},onMouseLeave:()=>{u.current=!1},children:o.jsx("div",{ref:Q,className:"pt-2.5",children:A.map((V,AA)=>{const X=AA===A.length-1,L=AA>=E.current;return V.toolName==="reasoning"&&V.fullText&&V.fullText.trim()?o.jsx("div",{className:"px-1 py-0.5",style:{animation:L?`ottoEntryIn ${Do}ms ${yo} 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:L?`ottoEntryIn ${Do}ms ${yo} 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 ${Do}ms ${yo}, height ${Do}ms ${yo}`},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 vo=320,So="cubic-bezier(0.25, 1, 0.5, 1)",EQ=140;function Xa(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 em(A){const e=Xa(A);return typeof e._streamedInput=="string"?e._streamedInput:""}function tm(A){const e=Xa(A);return typeof e._streamedOutput=="string"?e._streamedOutput:""}function om(A){const t=Xa(A)?.args;if(t&&typeof t=="object"&&!Array.isArray(t))return t}function sm(A){return A.match(/^\*\*\*\s+(?:Update|Add|Delete|Replace in):\s+(.+)$/m)?.[1]?.trim()||null}const rm={shell:{Icon:Ao,color:"text-muted-foreground",label:"Running"},bash:{Icon:Ao,color:"text-muted-foreground",label:"Running"},write:{Icon:To,color:"text-emerald-600 dark:text-emerald-300",label:"Writing"},apply_patch:{Icon:Li,color:"text-purple-600 dark:text-purple-300",label:"Patching"},edit:{Icon:To,color:"text-purple-600 dark:text-purple-300",label:"Editing"},multiedit:{Icon:To,color:"text-purple-600 dark:text-purple-300",label:"Editing"},terminal:{Icon:Ao,color:"text-amber-600 dark:text-amber-300",label:"Terminal"}};function Tl(A){return A==="bash"?"shell":A}function yr(A){return Tl(A)==="shell"}function nm(A,e){if(!e)return"";if(yr(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==="apply_patch"){const t=String(e.patch||"");return sm(t)||""}return""}function im(A,e){if(yr(A)){const t=Zo(e,"cmd");if(t)return t.length>80?`${t.slice(0,77)}…`:t}if(A==="write")return Zo(e,"path")||Zo(e,"filePath");if(A==="edit"||A==="multiedit")return Zo(e,"path");if(A==="apply_patch"){const t=e.match(/\*\*\*\s+(?:Update|Add|Delete|Replace in):\s+(.+?)(?:\\n|")/);return t?t[1].trim():""}return""}function am(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 gm({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),Q=Tl(A.toolName||""),B=A.type==="tool_result",C=rm[Q]||{Icon:Ao,color:"text-muted-foreground",label:Q.replace(/_/g," ")},[u,E]=x.useState(()=>B),[I,p]=x.useState(()=>B),h=om(A),k=em(A),v=tm(A),D=nm(Q,h)||im(Q,k),T=Qm(Q,k),J=yr(Q)?v||T||(h?cQ(Q,h):""):h?cQ(Q,h):T,V=J.trim().length>0;x.useEffect(()=>{if(!B&&!I){E(!1);return}if(!I&&B&&p(!0),u||!B)return;const L=window.setTimeout(()=>E(!0),500);return()=>window.clearTimeout(L)},[B,u,I]),x.useLayoutEffect(()=>{if(!V){g(0);return}const L=t.current;if(!L||L.textContent!==J)return;const W=Math.min(L.scrollHeight,EQ-12);g(S=>S===W?S:W)},[J,V]),x.useEffect(()=>()=>{n.current!==null&&window.cancelAnimationFrame(n.current)},[]),x.useEffect(()=>{const L=s.current;if(!L||r.current)return;const W=J.length,S=t.current?.scrollHeight??0,O=S>a+1,w=O?Math.max(0,S-a):0;if(n.current!==null&&(window.cancelAnimationFrame(n.current),n.current=null),!O){L.scrollTop=0,i.current=W;return}if(W<=i.current){L.scrollTop=w,i.current=W;return}const l=L.scrollTop,d=w-l;if(d<=1){L.scrollTop=w,i.current=W;return}const N=performance.now(),G=Math.min(360,Math.max(180,d*.9)),U=j=>{const P=Math.min(1,(j-N)/G),b=1-(1-P)**3;if(L.scrollTop=l+d*b,P<1&&!r.current){n.current=window.requestAnimationFrame(U);return}n.current=null};n.current=window.requestAnimationFrame(U),i.current=W},[J,a]);const AA=!u,X=B?am(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(C.Icon,{className:`h-4 w-4 ${C.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:AA?"1px solid hsl(var(--border) / 0.6)":"1px solid transparent",background:AA?"hsl(var(--muted) / 0.2)":"transparent",padding:AA?"8px 12px":"0px 0px",transition:`border ${vo}ms ${So}, background ${vo}ms ${So}, padding ${vo}ms ${So}`},children:[o.jsxs("div",{style:{overflow:"hidden",opacity:AA?1:0,maxHeight:AA?`${EQ+28}px`:"0px",transition:`opacity ${vo}ms ${So}, max-height ${vo}ms ${So}`},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(Le,{className:"h-3 w-3 animate-spin flex-shrink-0"}),o.jsx("span",{className:"flex-shrink-0",children:C.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})]}),!h&&!T&&!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 ${vo}ms ${So}, height ${vo}ms ${So}`},children:J&&o.jsx("div",{className:"pt-1.5",children:o.jsx("section",{ref:s,className:"overflow-y-auto","aria-label":`${C.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:J})})})})]}),o.jsx("div",{className:"min-w-0 text-xs",style:{opacity:u?1:0,maxHeight:u?"1200px":"0px",overflow:"hidden",transition:`opacity ${vo}ms ${So}, max-height ${vo}ms ${So}`},children:X?o.jsx("div",{className:"min-w-0",children:o.jsx(na,{toolName:Q,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||C.label,children:D?`${C.label} · ${D}`:C.label})})})]})})]})}function cQ(A,e){return yr(A)?String(e.cmd||""):A==="write"?String(e.content||""):A==="apply_patch"?String(e.patch||""):A==="edit"?String(e.oldString||""):""}function Zo(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 Qm(A,e){return e?yr(A)?Zo(e,"cmd"):A==="write"?Zo(e,"content"):A==="apply_patch"?Zo(e,"patch"):A==="edit"?Zo(e,"oldString"):"":""}const ii={currentMessageId:null,queuedMessages:[],queueLength:0};function Bm(A){const{data:e}=ot({queryKey:["queueState",A],queryFn:()=>ii,enabled:!!A,initialData:ii,staleTime:1/0});return e??ii}function Ol(A,e){const t=Bm(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 lm(A){const e=De();return qe({mutationFn:t=>{if(!A)throw new Error("No session ID");return mA.createBranch(A,t)},onSuccess:()=>{e.invalidateQueries({queryKey:ho}),A&&e.invalidateQueries({queryKey:["branches",A]})}})}function ql(A){return ot({queryKey:["parentSession",A],queryFn:()=>{if(!A)throw new Error("No session ID");return mA.getParentSession(A)},enabled:!!A})}function Em({isOpen:A,onClose:e,sessionId:t,message:s,onBranchCreated:n}){const r=Pa(t),i=lm(t),[a,g]=x.useState(""),[Q,B]=x.useState(!0),C=x.useId(),u=x.useId(),E=s.parts?.find(h=>h.type==="text")?.content||"",I=(()=>{try{return JSON.parse(E)?.text?.slice(0,100)||""}catch{return E.slice(0,100)}})(),p=async h=>{h.preventDefault();try{const k=await i.mutateAsync({fromMessageId:s.id,title:a.trim()||void 0,provider:Q?r?.provider:void 0,model:Q?r?.model:void 0,agent:Q?r?.agent:void 0});e(),n&&k.session&&n(k.session.id)}catch(k){console.error("Failed to create branch:",k)}};return o.jsx(qo,{isOpen:A,onClose:e,title:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(no,{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:['"',I,'..."']})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:C,className:"block text-sm font-medium text-foreground",children:"Branch Title (optional)"}),o.jsx("input",{id:C,type:"text",value:a,onChange:h=>g(h.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:u,type:"checkbox",checked:Q,onChange:h=>B(h.target.checked),className:"h-4 w-4 rounded border-border text-primary focus:ring-primary/50"}),o.jsx("label",{htmlFor:u,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(Le,{className:"h-4 w-4 animate-spin"}),"Creating..."]}):o.jsxs(o.Fragment,{children:[o.jsx(no,{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 CQ=["Generating...","Cooking up something...","Thinking...","Processing...","Working on it...","Crafting response...","Brewing magic...","Computing..."];function cm(A){const e=A.split("").reduce((t,s)=>t+s.charCodeAt(0),0);return CQ[e%CQ.length]}const Yl=x.memo(function({sessionId:e,message:t,showHeader:s,hasNextAssistantMessage:n,onBranchCreated:r,compact:i,showBranchButton:a=!0,onNavigateToSession:g,onRetry:Q,onCompact:B}){const{isQueued:C}=Ol(e,t.id),[u,E]=x.useState(!1),[I,p]=x.useState(!1),[h,k]=x.useState(!1),{pendingApprovals:v,removePendingApproval:D}=wr(),T=x.useCallback(async c=>{if(e)try{await mA.approveToolCall(e,c,!0),D(c)}catch(f){console.error("Failed to approve tool call:",f)}},[e,D]),J=x.useCallback(async c=>{if(e)try{await mA.approveToolCall(e,c,!1),D(c)}catch(f){console.error("Failed to reject tool call:",f)}},[e,D]),V=x.useMemo(()=>v.filter(c=>c.messageId===t.id),[v,t.id]),AA=x.useCallback(async()=>{if(e)try{await Promise.all(V.map(c=>mA.approveToolCall(e,c.callId,!0)));for(const c of V)D(c.callId)}catch(c){console.error("Failed to approve all tool calls:",c)}},[e,V,D]),X=x.useMemo(()=>[...t.parts||[]].sort((f,R)=>{const K=(f.index??0)-(R.index??0);if(K!==0)return K;const _=(f.stepIndex??0)-(R.stepIndex??0);return _!==0?_:(f.startedAt??0)-(R.startedAt??0)}),[t.parts]),L=X.some(c=>c.toolName==="finish"),W=X.reduce((c,f,R)=>f.type==="tool_result"&&f.toolName==="progress_update"?R:c,-1),S=W>=0?X[W]:null,O=new Set(X.filter(c=>c.ephemeral&&["shell","bash","edit","multiedit","write","apply_patch","terminal"].includes(c.toolName||"")).map(c=>c.toolCallId).filter(c=>!!c)),w=x.useMemo(()=>{const c=[];let f=[],R=-1,K;const _=tA=>{if(f.length===0){tA&&(K=tA);return}const CA=Vp(f);if(CA.length>0)c.push({kind:"group",id:`compact-${f[0].id}`,entries:CA,titleOverride:K});else for(const[aA,RA]of f.entries())c.push({kind:"part",index:R+aA,part:RA});f=[],R=-1,K=tA};for(const[tA,CA]of X.entries()){if((CA.type==="tool_result"||CA.type==="tool_call")&&CA.toolName==="progress_update"){let RA;const MA=CA.contentJson&&typeof CA.contentJson=="object"?CA.contentJson:null;if(MA){const IA=MA.args??MA.result;if(IA&&typeof IA=="object"){const VA=IA.message;typeof VA=="string"&&VA.trim()&&(RA=VA.trim())}}RA&&_(RA);continue}if(i&&Wp(CA)){f.length===0&&(R=tA),f.push(CA);continue}_(),c.push({kind:"part",index:tA,part:CA})}return _(),c},[X,i]),l=w.length>0,d=X.findIndex(c=>!(c.type==="tool_result"&&c.toolName==="progress_update")),N=t.status==="pending"&&!L&&!!S,G=t.status==="pending"&&!L&&!S&&!C,U=c=>c?new Date(c).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):"",j=t.status==="complete",P=x.useCallback(()=>{const c=X.filter(f=>f.type==="text").map(f=>{try{return JSON.parse(f.content||"{}")?.text||""}catch{return f.content||""}}).join(`
112
+ `);navigator.clipboard.writeText(c),k(!0),setTimeout(()=>k(!1),2e3)},[X]),b=x.useCallback(()=>{p(!0)},[]);return C?null:o.jsxs("div",{className:"relative group",onMouseEnter:()=>E(!0),onMouseLeave:()=>E(!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(ro,{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:U(t.createdAt)})]})]})]}),u&&j&&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(no,{className:"h-4 w-4"})})]}),o.jsxs("div",{className:"relative ml-1",children:[w.map((c,f)=>{const R=f<w.length-1||n||N;if(c.kind==="group")return o.jsx(Am,{entries:c.entries,titleOverride:c.titleOverride,showLine:R,collapsed:t.status!=="pending"||f<w.length-1},c.id);const{part:K,index:_}=c,tA=_===X.length-1;if(K.ephemeral&&(K.type==="tool_call"||K.type==="tool_result")&&["shell","bash","edit","multiedit","write","apply_patch","terminal"].includes(K.toolName||""))return o.jsx(gm,{part:K,showLine:R},K.id);const aA=K.type==="tool_call"&&K.toolCallId?v.find(VA=>VA.callId===K.toolCallId)??null:null;if(K.type==="tool_result"&&K.toolCallId&&O.has(K.toolCallId))return null;const RA=K.type==="tool_result"&&K.toolName==="finish",MA=R&&!RA,IA=K.type==="tool_call"&&tA;return o.jsx(BQ,{part:K,showLine:MA,isFirstPart:_===d&&!s,isLastToolCall:IA,onNavigateToSession:g,compact:i,pendingApproval:aA,onApprove:T,onReject:J,sessionId:e,onRetry:Q,onCompact:B},K.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:AA,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(mB,{className:"w-3.5 h-3.5"}),"Approve All",o.jsx("kbd",{className:"ml-1 text-[10px] opacity-70",children:"A"})]})]}),N&&S&&o.jsx(BQ,{part:S,showLine:n,isFirstPart:!l&&!s,isLastProgressUpdate:!0,compact:i},S.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(ro,{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:cm(t.id)})})]})]}),j&&e&&o.jsx("div",{className:"grid ml-7 transition-[grid-template-rows] duration-200 ease-out",style:{gridTemplateRows:u?"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(no,{className:"h-3 w-3"}),"Branch"]}),o.jsx("button",{type:"button",onClick:P,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:h?o.jsxs(o.Fragment,{children:[o.jsx(Yt,{className:"h-3 w-3 text-green-500"}),"Copied"]}):o.jsxs(o.Fragment,{children:[o.jsx(us,{className:"h-3 w-3"}),"Copy"]})})]})})}),I&&e&&o.jsx(Em,{isOpen:I,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.contentJson!==i.contentJson||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}),Hl=x.memo(function({sessionId:e,message:t,nextAssistantMessageId:s}){const[n,r]=x.useState(null),i=t.parts||[],a=De(),{isQueued:g,position:Q}=Ol(e,s??""),B=ra(S=>S.setPendingRestoreText),C=i.filter(S=>S.type==="text"),u=i.filter(S=>S.type==="image"),E=i.filter(S=>S.type==="file"),I=C[0];let p="";if(I){const S=I.contentJson||I.content;S&&typeof S=="object"&&"text"in S?p=String(S.text):typeof S=="string"?p=S:S&&(p=JSON.stringify(S,null,2))}const{researchContexts:h,cleanContent:k}=Kf(p),v=[];for(const S of u)try{const O=S.contentJson||JSON.parse(S.content||"{}");if(O&&typeof O=="object"&&"data"in O){const w=O,l=`data:${w.mediaType};base64,${w.data}`;v.push({id:S.id,src:l})}}catch{}const D=[];for(const S of E)try{const O=S.contentJson||JSON.parse(S.content||"{}");if(O&&typeof O=="object"&&"type"in O){const w=O;if(w.type==="image"&&w.data){const l=`data:${w.mediaType};base64,${w.data}`;v.push({id:S.id,src:l})}else D.push({id:S.id,type:w.type,name:w.name})}}catch{}const T=S=>S?new Date(S).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):"",J=k.trim().length>0,V=v.length>0,AA=D.length>0,X=h.length>0;if(!J&&!V&&!AA&&!X)return null;const L=async()=>{if(!(!e||!s)){B(k);try{await mA.removeFromQueue(e,s),a.invalidateQueries({queryKey:["messages",e]})}catch(S){console.error("Failed to cancel queued message:",S)}}},W=async()=>{if(!(!e||!s))try{await mA.removeFromQueue(e,s),a.invalidateQueries({queryKey:["messages",e]})}catch(S){console.error("Failed to delete queued message:",S)}};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:T(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(Ma,{className:"h-3 w-3"}),"Queued",Q!==null&&Q>0?` #${Q+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(S=>o.jsx("button",{type:"button",onClick:()=>r(S.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:S.src,alt:"Attachment",className:"w-full h-full object-cover"})},S.id))}),AA&&o.jsx("div",{className:"flex flex-wrap gap-2 mb-2",children:D.map(S=>o.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-muted/50 border border-border",children:[S.type==="pdf"?o.jsx(Xo,{className:"w-4 h-4 text-red-500 flex-shrink-0"}):o.jsx($o,{className:"w-4 h-4 text-blue-500 flex-shrink-0"}),o.jsx("span",{className:"text-xs truncate max-w-[150px]",children:S.name})]},S.id))}),X&&o.jsx("div",{className:"flex flex-wrap gap-2 mb-2",children:h.map(S=>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(gr,{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:S.label})]},S.id))}),J&&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(Ga,{remarkPlugins:[va],components:{a:({href:S,children:O,...w})=>o.jsx("a",{href:S,target:"_blank",rel:"noopener noreferrer",onClick:l=>{window.self!==window.top&&S&&(l.preventDefault(),window.parent.postMessage({type:"otto-open-url",url:S},"*"))},...w,children:O})},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:L,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(kB,{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(Ir,{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(wa,{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:S=>S.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(nt,{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:S=>S.stopPropagation(),onKeyDown:S=>S.key==="Enter"&&S.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}),Cm={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:"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"}};var ai={},Ar={},IQ;function Im(){if(IQ)return Ar;IQ=1,Ar.byteLength=a,Ar.toByteArray=Q,Ar.fromByteArray=u;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(E){var I=E.length;if(I%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var p=E.indexOf("=");p===-1&&(p=I);var h=p===I?0:4-p%4;return[p,h]}function a(E){var I=i(E),p=I[0],h=I[1];return(p+h)*3/4-h}function g(E,I,p){return(I+p)*3/4-p}function Q(E){var I,p=i(E),h=p[0],k=p[1],v=new t(g(E,h,k)),D=0,T=k>0?h-4:h,J;for(J=0;J<T;J+=4)I=e[E.charCodeAt(J)]<<18|e[E.charCodeAt(J+1)]<<12|e[E.charCodeAt(J+2)]<<6|e[E.charCodeAt(J+3)],v[D++]=I>>16&255,v[D++]=I>>8&255,v[D++]=I&255;return k===2&&(I=e[E.charCodeAt(J)]<<2|e[E.charCodeAt(J+1)]>>4,v[D++]=I&255),k===1&&(I=e[E.charCodeAt(J)]<<10|e[E.charCodeAt(J+1)]<<4|e[E.charCodeAt(J+2)]>>2,v[D++]=I>>8&255,v[D++]=I&255),v}function B(E){return A[E>>18&63]+A[E>>12&63]+A[E>>6&63]+A[E&63]}function C(E,I,p){for(var h,k=[],v=I;v<p;v+=3)h=(E[v]<<16&16711680)+(E[v+1]<<8&65280)+(E[v+2]&255),k.push(B(h));return k.join("")}function u(E){for(var I,p=E.length,h=p%3,k=[],v=16383,D=0,T=p-h;D<T;D+=v)k.push(C(E,D,D+v>T?T:D+v));return h===1?(I=E[p-1],k.push(A[I>>2]+A[I<<4&63]+"==")):h===2&&(I=(E[p-2]<<8)+E[p-1],k.push(A[I>>10]+A[I>>4&63]+A[I<<2&63]+"=")),k.join("")}return Ar}var Jr={};var uQ;function um(){return uQ||(uQ=1,Jr.read=function(A,e,t,s,n){var r,i,a=n*8-s-1,g=(1<<a)-1,Q=g>>1,B=-7,C=t?n-1:0,u=t?-1:1,E=A[e+C];for(C+=u,r=E&(1<<-B)-1,E>>=-B,B+=a;B>0;r=r*256+A[e+C],C+=u,B-=8);for(i=r&(1<<-B)-1,r>>=-B,B+=s;B>0;i=i*256+A[e+C],C+=u,B-=8);if(r===0)r=1-Q;else{if(r===g)return i?NaN:(E?-1:1)*(1/0);i=i+Math.pow(2,s),r=r-Q}return(E?-1:1)*i*Math.pow(2,r-s)},Jr.write=function(A,e,t,s,n,r){var i,a,g,Q=r*8-n-1,B=(1<<Q)-1,C=B>>1,u=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,E=s?0:r-1,I=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=B):(i=Math.floor(Math.log(e)/Math.LN2),e*(g=Math.pow(2,-i))<1&&(i--,g*=2),i+C>=1?e+=u/g:e+=u*Math.pow(2,1-C),e*g>=2&&(i++,g/=2),i+C>=B?(a=0,i=B):i+C>=1?(a=(e*g-1)*Math.pow(2,n),i=i+C):(a=e*Math.pow(2,C-1)*Math.pow(2,n),i=0));n>=8;A[t+E]=a&255,E+=I,a/=256,n-=8);for(i=i<<n|a,Q+=n;Q>0;A[t+E]=i&255,E+=I,i/=256,Q-=8);A[t+E-I]|=p*128}),Jr}var dQ;function $a(){return dQ||(dQ=1,(function(A){const e=Im(),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 C(q)}return g(q,y,M)}a.poolSize=8192;function g(q,y,M){if(typeof q=="string")return u(q,y);if(ArrayBuffer.isView(q))return I(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(At(q,ArrayBuffer)||q&&At(q.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(At(q,SharedArrayBuffer)||q&&At(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 eA=h(q);if(eA)return eA;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 Q(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 B(q,y,M){return Q(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 B(q,y,M)};function C(q){return Q(q),i(q<0?0:k(q)|0)}a.allocUnsafe=function(q){return C(q)},a.allocUnsafeSlow=function(q){return C(q)};function u(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 eA=Z.write(q,y);return eA!==M&&(Z=Z.slice(0,eA)),Z}function E(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 I(q){if(At(q,Uint8Array)){const y=new Uint8Array(q);return p(y.buffer,y.byteOffset,y.byteLength)}return E(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 h(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"||xA(q.length)?i(0):E(q);if(q.type==="Buffer"&&Array.isArray(q.data))return E(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(At(y,Uint8Array)&&(y=a.from(y,y.offset,y.byteLength)),At(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,eA=M.length;for(let iA=0,QA=Math.min(Z,eA);iA<QA;++iA)if(y[iA]!==M[iA]){Z=y[iA],eA=M[iA];break}return Z<eA?-1:eA<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 eA=a.allocUnsafe(M);let iA=0;for(Z=0;Z<y.length;++Z){let QA=y[Z];if(At(QA,Uint8Array))iA+QA.length>eA.length?(a.isBuffer(QA)||(QA=a.from(QA)),QA.copy(eA,iA)):Uint8Array.prototype.set.call(eA,QA,iA);else if(a.isBuffer(QA))QA.copy(eA,iA);else throw new TypeError('"list" argument must be an Array of Buffers');iA+=QA.length}return eA};function D(q,y){if(a.isBuffer(q))return q.length;if(ArrayBuffer.isView(q)||At(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 eA=!1;for(;;)switch(y){case"ascii":case"latin1":case"binary":return M;case"utf8":case"utf-8":return LA(q).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M*2;case"hex":return M>>>1;case"base64":return de(q).length;default:if(eA)return Z?-1:LA(q).length;y=(""+y).toLowerCase(),eA=!0}}a.byteLength=D;function T(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 j(this,y,M);case"utf8":case"utf-8":return l(this,y,M);case"ascii":return G(this,y,M);case"latin1":case"binary":return U(this,y,M);case"base64":return w(this,y,M);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,y,M);default:if(Z)throw new TypeError("Unknown encoding: "+q);q=(q+"").toLowerCase(),Z=!0}}a.prototype._isBuffer=!0;function J(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)J(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)J(this,M,M+3),J(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)J(this,M,M+7),J(this,M+1,M+6),J(this,M+2,M+5),J(this,M+3,M+4);return this},a.prototype.toString=function(){const y=this.length;return y===0?"":arguments.length===0?l(this,0,y):T.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,eA,iA){if(At(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),eA===void 0&&(eA=0),iA===void 0&&(iA=this.length),M<0||Z>y.length||eA<0||iA>this.length)throw new RangeError("out of range index");if(eA>=iA&&M>=Z)return 0;if(eA>=iA)return-1;if(M>=Z)return 1;if(M>>>=0,Z>>>=0,eA>>>=0,iA>>>=0,this===y)return 0;let QA=iA-eA,WA=Z-M;const zA=Math.min(QA,WA),HA=this.slice(eA,iA),pe=y.slice(M,Z);for(let PA=0;PA<zA;++PA)if(HA[PA]!==pe[PA]){QA=HA[PA],WA=pe[PA];break}return QA<WA?-1:WA<QA?1:0};function V(q,y,M,Z,eA){if(q.length===0)return-1;if(typeof M=="string"?(Z=M,M=0):M>2147483647?M=2147483647:M<-2147483648&&(M=-2147483648),M=+M,xA(M)&&(M=eA?0:q.length-1),M<0&&(M=q.length+M),M>=q.length){if(eA)return-1;M=q.length-1}else if(M<0)if(eA)M=0;else return-1;if(typeof y=="string"&&(y=a.from(y,Z)),a.isBuffer(y))return y.length===0?-1:AA(q,y,M,Z,eA);if(typeof y=="number")return y=y&255,typeof Uint8Array.prototype.indexOf=="function"?eA?Uint8Array.prototype.indexOf.call(q,y,M):Uint8Array.prototype.lastIndexOf.call(q,y,M):AA(q,[y],M,Z,eA);throw new TypeError("val must be string, number or Buffer")}function AA(q,y,M,Z,eA){let iA=1,QA=q.length,WA=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;iA=2,QA/=2,WA/=2,M/=2}function zA(pe,PA){return iA===1?pe[PA]:pe.readUInt16BE(PA*iA)}let HA;if(eA){let pe=-1;for(HA=M;HA<QA;HA++)if(zA(q,HA)===zA(y,pe===-1?0:HA-pe)){if(pe===-1&&(pe=HA),HA-pe+1===WA)return pe*iA}else pe!==-1&&(HA-=HA-pe),pe=-1}else for(M+WA>QA&&(M=QA-WA),HA=M;HA>=0;HA--){let pe=!0;for(let PA=0;PA<WA;PA++)if(zA(q,HA+PA)!==zA(y,PA)){pe=!1;break}if(pe)return HA}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 eA=q.length-M;Z?(Z=Number(Z),Z>eA&&(Z=eA)):Z=eA;const iA=y.length;Z>iA/2&&(Z=iA/2);let QA;for(QA=0;QA<Z;++QA){const WA=parseInt(y.substr(QA*2,2),16);if(xA(WA))return QA;q[M+QA]=WA}return QA}function L(q,y,M,Z){return ke(LA(y,q.length-M),q,M,Z)}function W(q,y,M,Z){return ke(le(y),q,M,Z)}function S(q,y,M,Z){return ke(de(y),q,M,Z)}function O(q,y,M,Z){return ke(Ne(y,q.length-M),q,M,Z)}a.prototype.write=function(y,M,Z,eA){if(M===void 0)eA="utf8",Z=this.length,M=0;else if(Z===void 0&&typeof M=="string")eA=M,Z=this.length,M=0;else if(isFinite(M))M=M>>>0,isFinite(Z)?(Z=Z>>>0,eA===void 0&&(eA="utf8")):(eA=Z,Z=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const iA=this.length-M;if((Z===void 0||Z>iA)&&(Z=iA),y.length>0&&(Z<0||M<0)||M>this.length)throw new RangeError("Attempt to write outside buffer bounds");eA||(eA="utf8");let QA=!1;for(;;)switch(eA){case"hex":return X(this,y,M,Z);case"utf8":case"utf-8":return L(this,y,M,Z);case"ascii":case"latin1":case"binary":return W(this,y,M,Z);case"base64":return S(this,y,M,Z);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,y,M,Z);default:if(QA)throw new TypeError("Unknown encoding: "+eA);eA=(""+eA).toLowerCase(),QA=!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 l(q,y,M){M=Math.min(q.length,M);const Z=[];let eA=y;for(;eA<M;){const iA=q[eA];let QA=null,WA=iA>239?4:iA>223?3:iA>191?2:1;if(eA+WA<=M){let zA,HA,pe,PA;switch(WA){case 1:iA<128&&(QA=iA);break;case 2:zA=q[eA+1],(zA&192)===128&&(PA=(iA&31)<<6|zA&63,PA>127&&(QA=PA));break;case 3:zA=q[eA+1],HA=q[eA+2],(zA&192)===128&&(HA&192)===128&&(PA=(iA&15)<<12|(zA&63)<<6|HA&63,PA>2047&&(PA<55296||PA>57343)&&(QA=PA));break;case 4:zA=q[eA+1],HA=q[eA+2],pe=q[eA+3],(zA&192)===128&&(HA&192)===128&&(pe&192)===128&&(PA=(iA&15)<<18|(zA&63)<<12|(HA&63)<<6|pe&63,PA>65535&&PA<1114112&&(QA=PA))}}QA===null?(QA=65533,WA=1):QA>65535&&(QA-=65536,Z.push(QA>>>10&1023|55296),QA=56320|QA&1023),Z.push(QA),eA+=WA}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 eA=y;eA<M;++eA)Z+=String.fromCharCode(q[eA]&127);return Z}function U(q,y,M){let Z="";M=Math.min(q.length,M);for(let eA=y;eA<M;++eA)Z+=String.fromCharCode(q[eA]);return Z}function j(q,y,M){const Z=q.length;(!y||y<0)&&(y=0),(!M||M<0||M>Z)&&(M=Z);let eA="";for(let iA=y;iA<M;++iA)eA+=_A[q[iA]];return eA}function P(q,y,M){const Z=q.slice(y,M);let eA="";for(let iA=0;iA<Z.length-1;iA+=2)eA+=String.fromCharCode(Z[iA]+Z[iA+1]*256);return eA}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 eA=this.subarray(y,M);return Object.setPrototypeOf(eA,a.prototype),eA};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 eA=this[y],iA=1,QA=0;for(;++QA<M&&(iA*=256);)eA+=this[y+QA]*iA;return eA},a.prototype.readUintBE=a.prototype.readUIntBE=function(y,M,Z){y=y>>>0,M=M>>>0,Z||b(y,M,this.length);let eA=this[y+--M],iA=1;for(;M>0&&(iA*=256);)eA+=this[y+--M]*iA;return eA},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=Be(function(y){y=y>>>0,VA(y,"offset");const M=this[y],Z=this[y+7];(M===void 0||Z===void 0)&&ZA(y,this.length-8);const eA=M+this[++y]*2**8+this[++y]*2**16+this[++y]*2**24,iA=this[++y]+this[++y]*2**8+this[++y]*2**16+Z*2**24;return BigInt(eA)+(BigInt(iA)<<BigInt(32))}),a.prototype.readBigUInt64BE=Be(function(y){y=y>>>0,VA(y,"offset");const M=this[y],Z=this[y+7];(M===void 0||Z===void 0)&&ZA(y,this.length-8);const eA=M*2**24+this[++y]*2**16+this[++y]*2**8+this[++y],iA=this[++y]*2**24+this[++y]*2**16+this[++y]*2**8+Z;return(BigInt(eA)<<BigInt(32))+BigInt(iA)}),a.prototype.readIntLE=function(y,M,Z){y=y>>>0,M=M>>>0,Z||b(y,M,this.length);let eA=this[y],iA=1,QA=0;for(;++QA<M&&(iA*=256);)eA+=this[y+QA]*iA;return iA*=128,eA>=iA&&(eA-=Math.pow(2,8*M)),eA},a.prototype.readIntBE=function(y,M,Z){y=y>>>0,M=M>>>0,Z||b(y,M,this.length);let eA=M,iA=1,QA=this[y+--eA];for(;eA>0&&(iA*=256);)QA+=this[y+--eA]*iA;return iA*=128,QA>=iA&&(QA-=Math.pow(2,8*M)),QA},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=Be(function(y){y=y>>>0,VA(y,"offset");const M=this[y],Z=this[y+7];(M===void 0||Z===void 0)&&ZA(y,this.length-8);const eA=this[y+4]+this[y+5]*2**8+this[y+6]*2**16+(Z<<24);return(BigInt(eA)<<BigInt(32))+BigInt(M+this[++y]*2**8+this[++y]*2**16+this[++y]*2**24)}),a.prototype.readBigInt64BE=Be(function(y){y=y>>>0,VA(y,"offset");const M=this[y],Z=this[y+7];(M===void 0||Z===void 0)&&ZA(y,this.length-8);const eA=(M<<24)+this[++y]*2**16+this[++y]*2**8+this[++y];return(BigInt(eA)<<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 c(q,y,M,Z,eA,iA){if(!a.isBuffer(q))throw new TypeError('"buffer" argument must be a Buffer instance');if(y>eA||y<iA)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,eA){if(y=+y,M=M>>>0,Z=Z>>>0,!eA){const WA=Math.pow(2,8*Z)-1;c(this,y,M,Z,WA,0)}let iA=1,QA=0;for(this[M]=y&255;++QA<Z&&(iA*=256);)this[M+QA]=y/iA&255;return M+Z},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(y,M,Z,eA){if(y=+y,M=M>>>0,Z=Z>>>0,!eA){const WA=Math.pow(2,8*Z)-1;c(this,y,M,Z,WA,0)}let iA=Z-1,QA=1;for(this[M+iA]=y&255;--iA>=0&&(QA*=256);)this[M+iA]=y/QA&255;return M+Z},a.prototype.writeUint8=a.prototype.writeUInt8=function(y,M,Z){return y=+y,M=M>>>0,Z||c(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||c(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||c(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||c(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||c(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 f(q,y,M,Z,eA){IA(y,Z,eA,q,M,7);let iA=Number(y&BigInt(4294967295));q[M++]=iA,iA=iA>>8,q[M++]=iA,iA=iA>>8,q[M++]=iA,iA=iA>>8,q[M++]=iA;let QA=Number(y>>BigInt(32)&BigInt(4294967295));return q[M++]=QA,QA=QA>>8,q[M++]=QA,QA=QA>>8,q[M++]=QA,QA=QA>>8,q[M++]=QA,M}function R(q,y,M,Z,eA){IA(y,Z,eA,q,M,7);let iA=Number(y&BigInt(4294967295));q[M+7]=iA,iA=iA>>8,q[M+6]=iA,iA=iA>>8,q[M+5]=iA,iA=iA>>8,q[M+4]=iA;let QA=Number(y>>BigInt(32)&BigInt(4294967295));return q[M+3]=QA,QA=QA>>8,q[M+2]=QA,QA=QA>>8,q[M+1]=QA,QA=QA>>8,q[M]=QA,M+8}a.prototype.writeBigUInt64LE=Be(function(y,M=0){return f(this,y,M,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=Be(function(y,M=0){return R(this,y,M,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(y,M,Z,eA){if(y=+y,M=M>>>0,!eA){const zA=Math.pow(2,8*Z-1);c(this,y,M,Z,zA-1,-zA)}let iA=0,QA=1,WA=0;for(this[M]=y&255;++iA<Z&&(QA*=256);)y<0&&WA===0&&this[M+iA-1]!==0&&(WA=1),this[M+iA]=(y/QA>>0)-WA&255;return M+Z},a.prototype.writeIntBE=function(y,M,Z,eA){if(y=+y,M=M>>>0,!eA){const zA=Math.pow(2,8*Z-1);c(this,y,M,Z,zA-1,-zA)}let iA=Z-1,QA=1,WA=0;for(this[M+iA]=y&255;--iA>=0&&(QA*=256);)y<0&&WA===0&&this[M+iA+1]!==0&&(WA=1),this[M+iA]=(y/QA>>0)-WA&255;return M+Z},a.prototype.writeInt8=function(y,M,Z){return y=+y,M=M>>>0,Z||c(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||c(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||c(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||c(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||c(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=Be(function(y,M=0){return f(this,y,M,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=Be(function(y,M=0){return R(this,y,M,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function K(q,y,M,Z,eA,iA){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,eA){return y=+y,M=M>>>0,eA||K(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,eA){return y=+y,M=M>>>0,eA||K(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,eA){if(!a.isBuffer(y))throw new TypeError("argument should be a Buffer");if(Z||(Z=0),!eA&&eA!==0&&(eA=this.length),M>=y.length&&(M=y.length),M||(M=0),eA>0&&eA<Z&&(eA=Z),eA===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(eA<0)throw new RangeError("sourceEnd out of bounds");eA>this.length&&(eA=this.length),y.length-M<eA-Z&&(eA=y.length-M+Z);const iA=eA-Z;return this===y&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(M,Z,eA):Uint8Array.prototype.set.call(y,this.subarray(Z,eA),M),iA},a.prototype.fill=function(y,M,Z,eA){if(typeof y=="string"){if(typeof M=="string"?(eA=M,M=0,Z=this.length):typeof Z=="string"&&(eA=Z,Z=this.length),eA!==void 0&&typeof eA!="string")throw new TypeError("encoding must be a string");if(typeof eA=="string"&&!a.isEncoding(eA))throw new TypeError("Unknown encoding: "+eA);if(y.length===1){const QA=y.charCodeAt(0);(eA==="utf8"&&QA<128||eA==="latin1")&&(y=QA)}}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 iA;if(typeof y=="number")for(iA=M;iA<Z;++iA)this[iA]=y;else{const QA=a.isBuffer(y)?y:a.from(y,eA),WA=QA.length;if(WA===0)throw new TypeError('The value "'+y+'" is invalid for argument "value"');for(iA=0;iA<Z-M;++iA)this[iA+M]=QA[iA%WA]}return this};const CA={};function aA(q,y,M){CA[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(eA){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:eA,writable:!0})}toString(){return`${this.name} [${q}]: ${this.message}`}}}aA("ERR_BUFFER_OUT_OF_BOUNDS",function(q){return q?`${q} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),aA("ERR_INVALID_ARG_TYPE",function(q,y){return`The "${q}" argument must be of type number. Received type ${typeof y}`},TypeError),aA("ERR_OUT_OF_RANGE",function(q,y,M){let Z=`The value of "${q}" is out of range.`,eA=M;return Number.isInteger(M)&&Math.abs(M)>2**32?eA=RA(String(M)):typeof M=="bigint"&&(eA=String(M),(M>BigInt(2)**BigInt(32)||M<-(BigInt(2)**BigInt(32)))&&(eA=RA(eA)),eA+="n"),Z+=` It must be ${y}. Received ${eA}`,Z},RangeError);function RA(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 MA(q,y,M){VA(y,"offset"),(q[y]===void 0||q[y+M]===void 0)&&ZA(y,q.length-(M+1))}function IA(q,y,M,Z,eA,iA){if(q>M||q<y){const QA=typeof y=="bigint"?"n":"";let WA;throw y===0||y===BigInt(0)?WA=`>= 0${QA} and < 2${QA} ** ${(iA+1)*8}${QA}`:WA=`>= -(2${QA} ** ${(iA+1)*8-1}${QA}) and < 2 ** ${(iA+1)*8-1}${QA}`,new CA.ERR_OUT_OF_RANGE("value",WA,q)}MA(Z,eA,iA)}function VA(q,y){if(typeof q!="number")throw new CA.ERR_INVALID_ARG_TYPE(y,"number",q)}function ZA(q,y,M){throw Math.floor(q)!==q?(VA(q,M),new CA.ERR_OUT_OF_RANGE("offset","an integer",q)):y<0?new CA.ERR_BUFFER_OUT_OF_BOUNDS:new CA.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${y}`,q)}const ee=/[^+/0-9A-Za-z-_]/g;function GA(q){if(q=q.split("=")[0],q=q.trim().replace(ee,""),q.length<2)return"";for(;q.length%4!==0;)q=q+"=";return q}function LA(q,y){y=y||1/0;let M;const Z=q.length;let eA=null;const iA=[];for(let QA=0;QA<Z;++QA){if(M=q.charCodeAt(QA),M>55295&&M<57344){if(!eA){if(M>56319){(y-=3)>-1&&iA.push(239,191,189);continue}else if(QA+1===Z){(y-=3)>-1&&iA.push(239,191,189);continue}eA=M;continue}if(M<56320){(y-=3)>-1&&iA.push(239,191,189),eA=M;continue}M=(eA-55296<<10|M-56320)+65536}else eA&&(y-=3)>-1&&iA.push(239,191,189);if(eA=null,M<128){if((y-=1)<0)break;iA.push(M)}else if(M<2048){if((y-=2)<0)break;iA.push(M>>6|192,M&63|128)}else if(M<65536){if((y-=3)<0)break;iA.push(M>>12|224,M>>6&63|128,M&63|128)}else if(M<1114112){if((y-=4)<0)break;iA.push(M>>18|240,M>>12&63|128,M>>6&63|128,M&63|128)}else throw new Error("Invalid code point")}return iA}function le(q){const y=[];for(let M=0;M<q.length;++M)y.push(q.charCodeAt(M)&255);return y}function Ne(q,y){let M,Z,eA;const iA=[];for(let QA=0;QA<q.length&&!((y-=2)<0);++QA)M=q.charCodeAt(QA),Z=M>>8,eA=M%256,iA.push(eA),iA.push(Z);return iA}function de(q){return e.toByteArray(GA(q))}function ke(q,y,M,Z){let eA;for(eA=0;eA<Z&&!(eA+M>=y.length||eA>=q.length);++eA)y[eA+M]=q[eA];return eA}function At(q,y){return q instanceof y||q!=null&&q.constructor!=null&&q.constructor.name!=null&&q.constructor.name===y.name}function xA(q){return q!==q}const _A=(function(){const q="0123456789abcdef",y=new Array(256);for(let M=0;M<16;++M){const Z=M*16;for(let eA=0;eA<16;++eA)y[Z+eA]=q[M]+q[eA]}return y})();function Be(q){return typeof BigInt>"u"?Ee:q}function Ee(){throw new Error("BigInt not supported")}})(ai)),ai}var mt=$a();const Fs=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Nr(A){return A instanceof Uint8Array||ArrayBuffer.isView(A)&&A.constructor.name==="Uint8Array"}function ga(A){if(!Number.isSafeInteger(A)||A<0)throw new Error("positive integer expected, got "+A)}function ws(A,...e){if(!Nr(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 Pl(A){if(typeof A!="function"||typeof A.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");ga(A.outputLen),ga(A.blockLen)}function cn(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 dm(A,e){ws(A);const t=e.outputLen;if(A.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}function js(...A){for(let e=0;e<A.length;e++)A[e].fill(0)}function gi(A){return new DataView(A.buffer,A.byteOffset,A.byteLength)}function No(A,e){return A<<32-e|A>>>e}const Wl=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",hm=Array.from({length:256},(A,e)=>e.toString(16).padStart(2,"0"));function Is(A){if(ws(A),Wl)return A.toHex();let e="";for(let t=0;t<A.length;t++)e+=hm[A[t]];return e}const Uo={_0:48,_9:57,A:65,F:70,a:97,f:102};function hQ(A){if(A>=Uo._0&&A<=Uo._9)return A-Uo._0;if(A>=Uo.A&&A<=Uo.F)return A-(Uo.A-10);if(A>=Uo.a&&A<=Uo.f)return A-(Uo.a-10)}function Cn(A){if(typeof A!="string")throw new Error("hex string expected, got "+typeof A);if(Wl)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=hQ(A.charCodeAt(r)),a=hQ(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 fm(A){if(typeof A!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(A))}function Ag(A){return typeof A=="string"&&(A=fm(A)),ws(A),A}function ko(...A){let e=0;for(let s=0;s<A.length;s++){const n=A[s];ws(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 zl{}function Vl(A){const e=s=>A().update(Ag(s)).digest(),t=A();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>A(),e}function eg(A=32){if(Fs&&typeof Fs.getRandomValues=="function")return Fs.getRandomValues(new Uint8Array(A));if(Fs&&typeof Fs.randomBytes=="function")return Uint8Array.from(Fs.randomBytes(A));throw new Error("crypto.getRandomValues must be defined")}function pm(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,Q=s?0:4;A.setUint32(e+g,i,s),A.setUint32(e+Q,a,s)}function mm(A,e,t){return A&e^~A&t}function wm(A,e,t){return A&e^A&t^e&t}class Zl extends zl{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=gi(this.buffer)}update(e){cn(this),e=Ag(e),ws(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=gi(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){cn(this),dm(e,this),this.finished=!0;const{buffer:t,view:s,blockLen:n,isLE:r}=this;let{pos:i}=this;t[i++]=128,js(this.buffer.subarray(i)),this.padOffset>n-i&&(this.process(s,0),i=0);for(let C=i;C<n;C++)t[C]=0;pm(s,n-8,BigInt(this.length*8),r),this.process(s,0);const a=gi(e),g=this.outputLen;if(g%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const Q=g/4,B=this.get();if(Q>B.length)throw new Error("_sha2: outputLen bigger than state");for(let C=0;C<Q;C++)a.setUint32(4*C,B[C],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 Yo=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]),Lr=BigInt(2**32-1),fQ=BigInt(32);function xm(A,e=!1){return e?{h:Number(A&Lr),l:Number(A>>fQ&Lr)}:{h:Number(A>>fQ&Lr)|0,l:Number(A&Lr)|0}}function Dm(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}=xm(A[r],e);[s[r],n[r]]=[i,a]}return[s,n]}const pQ=(A,e,t)=>A>>>t,mQ=(A,e,t)=>A<<32-t|e>>>t,Gs=(A,e,t)=>A>>>t|e<<32-t,vs=(A,e,t)=>A<<32-t|e>>>t,jr=(A,e,t)=>A<<64-t|e>>>t-32,Tr=(A,e,t)=>A>>>t-32|e<<64-t;function Ro(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),Nm=(A,e,t,s)=>e+t+s+(A/2**32|0)|0,km=(A,e,t,s)=>(A>>>0)+(e>>>0)+(t>>>0)+(s>>>0),Mm=(A,e,t,s,n)=>e+t+s+n+(A/2**32|0)|0,bm=(A,e,t,s,n)=>(A>>>0)+(e>>>0)+(t>>>0)+(s>>>0)+(n>>>0),Fm=(A,e,t,s,n,r)=>e+t+s+n+r+(A/2**32|0)|0,Gm=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]),Ho=new Uint32Array(64);class vm extends Zl{constructor(e=32){super(64,e,8,!1),this.A=Yo[0]|0,this.B=Yo[1]|0,this.C=Yo[2]|0,this.D=Yo[3]|0,this.E=Yo[4]|0,this.F=Yo[5]|0,this.G=Yo[6]|0,this.H=Yo[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 C=0;C<16;C++,t+=4)Ho[C]=e.getUint32(t,!1);for(let C=16;C<64;C++){const u=Ho[C-15],E=Ho[C-2],I=No(u,7)^No(u,18)^u>>>3,p=No(E,17)^No(E,19)^E>>>10;Ho[C]=p+Ho[C-7]+I+Ho[C-16]|0}let{A:s,B:n,C:r,D:i,E:a,F:g,G:Q,H:B}=this;for(let C=0;C<64;C++){const u=No(a,6)^No(a,11)^No(a,25),E=B+u+mm(a,g,Q)+Gm[C]+Ho[C]|0,p=(No(s,2)^No(s,13)^No(s,22))+wm(s,n,r)|0;B=Q,Q=g,g=a,a=i+E|0,i=r,r=n,n=s,s=E+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,Q=Q+this.G|0,B=B+this.H|0,this.set(s,n,r,i,a,g,Q,B)}roundClean(){js(Ho)}destroy(){this.set(0,0,0,0,0,0,0,0),js(this.buffer)}}const _l=Dm(["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))),Sm=_l[0],Um=_l[1],Po=new Uint32Array(80),Wo=new Uint32Array(80);class Rm extends Zl{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:Q,El:B,Fh:C,Fl:u,Gh:E,Gl:I,Hh:p,Hl:h}=this;return[e,t,s,n,r,i,a,g,Q,B,C,u,E,I,p,h]}set(e,t,s,n,r,i,a,g,Q,B,C,u,E,I,p,h){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=Q|0,this.El=B|0,this.Fh=C|0,this.Fl=u|0,this.Gh=E|0,this.Gl=I|0,this.Hh=p|0,this.Hl=h|0}process(e,t){for(let D=0;D<16;D++,t+=4)Po[D]=e.getUint32(t),Wo[D]=e.getUint32(t+=4);for(let D=16;D<80;D++){const T=Po[D-15]|0,J=Wo[D-15]|0,V=Gs(T,J,1)^Gs(T,J,8)^pQ(T,J,7),AA=vs(T,J,1)^vs(T,J,8)^mQ(T,J,7),X=Po[D-2]|0,L=Wo[D-2]|0,W=Gs(X,L,19)^jr(X,L,61)^pQ(X,L,6),S=vs(X,L,19)^Tr(X,L,61)^mQ(X,L,6),O=km(AA,S,Wo[D-7],Wo[D-16]),w=Mm(O,V,W,Po[D-7],Po[D-16]);Po[D]=w|0,Wo[D]=O|0}let{Ah:s,Al:n,Bh:r,Bl:i,Ch:a,Cl:g,Dh:Q,Dl:B,Eh:C,El:u,Fh:E,Fl:I,Gh:p,Gl:h,Hh:k,Hl:v}=this;for(let D=0;D<80;D++){const T=Gs(C,u,14)^Gs(C,u,18)^jr(C,u,41),J=vs(C,u,14)^vs(C,u,18)^Tr(C,u,41),V=C&E^~C&p,AA=u&I^~u&h,X=bm(v,J,AA,Um[D],Wo[D]),L=Fm(X,k,T,V,Sm[D],Po[D]),W=X|0,S=Gs(s,n,28)^jr(s,n,34)^jr(s,n,39),O=vs(s,n,28)^Tr(s,n,34)^Tr(s,n,39),w=s&r^s&a^r&a,l=n&i^n&g^i&g;k=p|0,v=h|0,p=E|0,h=I|0,E=C|0,I=u|0,{h:C,l:u}=Ro(Q|0,B|0,L|0,W|0),Q=a|0,B=g|0,a=r|0,g=i|0,r=s|0,i=n|0;const d=ym(W,O,l);s=Nm(d,L,S,w),n=d|0}({h:s,l:n}=Ro(this.Ah|0,this.Al|0,s|0,n|0)),{h:r,l:i}=Ro(this.Bh|0,this.Bl|0,r|0,i|0),{h:a,l:g}=Ro(this.Ch|0,this.Cl|0,a|0,g|0),{h:Q,l:B}=Ro(this.Dh|0,this.Dl|0,Q|0,B|0),{h:C,l:u}=Ro(this.Eh|0,this.El|0,C|0,u|0),{h:E,l:I}=Ro(this.Fh|0,this.Fl|0,E|0,I|0),{h:p,l:h}=Ro(this.Gh|0,this.Gl|0,p|0,h|0),{h:k,l:v}=Ro(this.Hh|0,this.Hl|0,k|0,v|0),this.set(s,n,r,i,a,g,Q,B,C,u,E,I,p,h,k,v)}roundClean(){js(Po,Wo)}destroy(){js(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const Xl=Vl(()=>new vm),Km=Vl(()=>new Rm);const tg=BigInt(0),Qa=BigInt(1);function hs(A,e=""){if(typeof A!="boolean"){const t=e&&`"${e}"`;throw new Error(t+"expected boolean, got type="+typeof A)}return A}function co(A,e,t=""){const s=Nr(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 Or(A){const e=A.toString(16);return e.length&1?"0"+e:e}function $l(A){if(typeof A!="string")throw new Error("hex string expected, got "+typeof A);return A===""?tg:BigInt("0x"+A)}function On(A){return $l(Is(A))}function Er(A){return ws(A),$l(Is(Uint8Array.from(A).reverse()))}function og(A,e){return Cn(A.toString(16).padStart(e*2,"0"))}function AE(A,e){return og(A,e).reverse()}function Et(A,e,t){let s;if(typeof e=="string")try{s=Cn(e)}catch(r){throw new Error(A+" must be hex string or Uint8Array, cause: "+r)}else if(Nr(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 wQ(A){return Uint8Array.from(A)}const Qi=A=>typeof A=="bigint"&&tg<=A;function Jm(A,e,t){return Qi(A)&&Qi(e)&&Qi(t)&&e<=A&&A<t}function Ba(A,e,t,s){if(!Jm(e,t,s))throw new Error("expected valid "+A+": "+t+" <= n < "+s+", got "+e)}function eE(A){let e;for(e=0;A>tg;A>>=Qa,e+=1);return e}const kr=A=>(Qa<<BigInt(A))-Qa;function Lm(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=E=>new Uint8Array(E),n=E=>Uint8Array.of(E);let r=s(A),i=s(A),a=0;const g=()=>{r.fill(1),i.fill(0),a=0},Q=(...E)=>t(i,r,...E),B=(E=s(0))=>{i=Q(n(0),E),r=Q(),E.length!==0&&(i=Q(n(1),E),r=Q())},C=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let E=0;const I=[];for(;E<e;){r=Q();const p=r.slice();I.push(p),E+=r.length}return ko(...I)};return(E,I)=>{g(),B(E);let p;for(;!(p=I(C()));)B();return g(),p}}function Mr(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 In(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 $t=BigInt(0),Ft=BigInt(1),ls=BigInt(2),tE=BigInt(3),oE=BigInt(4),sE=BigInt(5),jm=BigInt(7),rE=BigInt(8),Tm=BigInt(9),nE=BigInt(16);function ht(A,e){const t=A%e;return t>=$t?t:e+t}function lt(A,e,t){let s=A;for(;e-- >$t;)s*=s,s%=t;return s}function xQ(A,e){if(A===$t)throw new Error("invert: expected non-zero number");if(e<=$t)throw new Error("invert: expected positive modulus, got "+e);let t=ht(A,e),s=e,n=$t,r=Ft;for(;t!==$t;){const a=s/t,g=s%t,Q=n-r*a;s=t,t=g,n=r,r=Q}if(s!==Ft)throw new Error("invert: does not exist");return ht(n,e)}function sg(A,e,t){if(!A.eql(A.sqr(e),t))throw new Error("Cannot find square root")}function iE(A,e){const t=(A.ORDER+Ft)/oE,s=A.pow(e,t);return sg(A,s,e),s}function Om(A,e){const t=(A.ORDER-sE)/rE,s=A.mul(e,ls),n=A.pow(s,t),r=A.mul(e,n),i=A.mul(A.mul(r,ls),n),a=A.mul(r,A.sub(i,A.ONE));return sg(A,a,e),a}function qm(A){const e=xs(A),t=aE(A),s=t(e,e.neg(e.ONE)),n=t(e,s),r=t(e,e.neg(s)),i=(A+jm)/nE;return(a,g)=>{let Q=a.pow(g,i),B=a.mul(Q,s);const C=a.mul(Q,n),u=a.mul(Q,r),E=a.eql(a.sqr(B),g),I=a.eql(a.sqr(C),g);Q=a.cmov(Q,B,E),B=a.cmov(u,C,I);const p=a.eql(a.sqr(B),g),h=a.cmov(Q,B,p);return sg(a,h,g),h}}function aE(A){if(A<tE)throw new Error("sqrt is not defined for small field");let e=A-Ft,t=0;for(;e%ls===$t;)e/=ls,t++;let s=ls;const n=xs(A);for(;DQ(n,s)===1;)if(s++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(t===1)return iE;let r=n.pow(s,e);const i=(e+Ft)/ls;return function(g,Q){if(g.is0(Q))return Q;if(DQ(g,Q)!==1)throw new Error("Cannot find square root");let B=t,C=g.mul(g.ONE,r),u=g.pow(Q,e),E=g.pow(Q,i);for(;!g.eql(u,g.ONE);){if(g.is0(u))return g.ZERO;let I=1,p=g.sqr(u);for(;!g.eql(p,g.ONE);)if(I++,p=g.sqr(p),I===B)throw new Error("Cannot find square root");const h=Ft<<BigInt(B-I-1),k=g.pow(C,h);B=I,C=g.sqr(k),u=g.mul(u,C),E=g.mul(E,k)}return E}}function Ym(A){return A%oE===tE?iE:A%rE===sE?Om:A%nE===Tm?qm(A):aE(A)}const Hm=(A,e)=>(ht(A,e)&Ft)===Ft,Pm=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Wm(A){const e={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},t=Pm.reduce((s,n)=>(s[n]="function",s),e);return Mr(A,t),A}function zm(A,e,t){if(t<$t)throw new Error("invalid exponent, negatives unsupported");if(t===$t)return A.ONE;if(t===Ft)return e;let s=A.ONE,n=e;for(;t>$t;)t&Ft&&(s=A.mul(s,n)),n=A.sqr(n),t>>=Ft;return s}function gE(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 DQ(A,e){const t=(A.ORDER-Ft)/ls,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 QE(A,e){e!==void 0&&ga(e);const t=e!==void 0?e:A.toString(2).length,s=Math.ceil(t/8);return{nBitLength:t,nByteLength:s}}function xs(A,e,t=!1,s={}){if(A<=$t)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 u=e;u.BITS&&(n=u.BITS),u.sqrt&&(r=u.sqrt),typeof u.isLE=="boolean"&&(t=u.isLE),typeof u.modFromBytes=="boolean"&&(i=u.modFromBytes),a=u.allowedLengths}else typeof e=="number"&&(n=e),s.sqrt&&(r=s.sqrt);const{nBitLength:g,nByteLength:Q}=QE(A,n);if(Q>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let B;const C=Object.freeze({ORDER:A,isLE:t,BITS:g,BYTES:Q,MASK:kr(g),ZERO:$t,ONE:Ft,allowedLengths:a,create:u=>ht(u,A),isValid:u=>{if(typeof u!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof u);return $t<=u&&u<A},is0:u=>u===$t,isValidNot0:u=>!C.is0(u)&&C.isValid(u),isOdd:u=>(u&Ft)===Ft,neg:u=>ht(-u,A),eql:(u,E)=>u===E,sqr:u=>ht(u*u,A),add:(u,E)=>ht(u+E,A),sub:(u,E)=>ht(u-E,A),mul:(u,E)=>ht(u*E,A),pow:(u,E)=>zm(C,u,E),div:(u,E)=>ht(u*xQ(E,A),A),sqrN:u=>u*u,addN:(u,E)=>u+E,subN:(u,E)=>u-E,mulN:(u,E)=>u*E,inv:u=>xQ(u,A),sqrt:r||(u=>(B||(B=Ym(A)),B(C,u))),toBytes:u=>t?AE(u,Q):og(u,Q),fromBytes:(u,E=!0)=>{if(a){if(!a.includes(u.length)||u.length>Q)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+u.length);const p=new Uint8Array(Q);p.set(u,t?0:p.length-u.length),u=p}if(u.length!==Q)throw new Error("Field.fromBytes: expected "+Q+" bytes, got "+u.length);let I=t?Er(u):On(u);if(i&&(I=ht(I,A)),!E&&!C.isValid(I))throw new Error("invalid field element: outside of range 0..ORDER");return I},invertBatch:u=>gE(C,u),cmov:(u,E,I)=>I?E:u});return Object.freeze(C)}function BE(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 lE(A){const e=BE(A);return e+Math.ceil(e/2)}function Vm(A,e,t=!1){const s=A.length,n=BE(e),r=lE(e);if(s<16||s<r||s>1024)throw new Error("expected "+r+"-1024 bytes of input, got "+s);const i=t?Er(A):On(A),a=ht(i,e-Ft)+Ft;return t?AE(a,n):og(a,n)}const Ts=BigInt(0),Es=BigInt(1);function un(A,e){const t=e.negate();return A?t:e}function cs(A,e){const t=gE(A.Fp,e.map(s=>s.Z));return e.map((s,n)=>A.fromAffine(s.toAffine(t[n])))}function EE(A,e){if(!Number.isSafeInteger(A)||A<=0||A>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+A)}function Bi(A,e){EE(A,e);const t=Math.ceil(e/A)+1,s=2**(A-1),n=2**A,r=kr(A),i=BigInt(A);return{windows:t,windowSize:s,mask:r,maxNumber:n,shiftBy:i}}function yQ(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+=Es);const Q=e*s,B=Q+Math.abs(a)-1,C=a===0,u=a<0,E=e%2!==0;return{nextN:g,offset:B,isZero:C,isNeg:u,isNegF:E,offsetF:Q}}function Zm(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 _m(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 li=new WeakMap,cE=new WeakMap;function Ei(A){return cE.get(A)||1}function NQ(A){if(A!==Ts)throw new Error("invalid wNAF")}class CE{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>Ts;)t&Es&&(s=s.add(n)),n=n.double(),t>>=Es;return s}precomputeWindow(e,t){const{windows:s,windowSize:n}=Bi(t,this.bits),r=[];let i=e,a=i;for(let g=0;g<s;g++){a=i,r.push(a);for(let Q=1;Q<n;Q++)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=Bi(e,this.bits);for(let a=0;a<i.windows;a++){const{nextN:g,offset:Q,isZero:B,isNeg:C,isNegF:u,offsetF:E}=yQ(s,a,i);s=g,B?r=r.add(un(u,t[E])):n=n.add(un(C,t[Q]))}return NQ(s),{p:n,f:r}}wNAFUnsafe(e,t,s,n=this.ZERO){const r=Bi(e,this.bits);for(let i=0;i<r.windows&&s!==Ts;i++){const{nextN:a,offset:g,isZero:Q,isNeg:B}=yQ(s,i,r);if(s=a,!Q){const C=t[g];n=n.add(B?C.negate():C)}}return NQ(s),n}getPrecomputes(e,t,s){let n=li.get(t);return n||(n=this.precomputeWindow(t,e),e!==1&&(typeof s=="function"&&(n=s(n)),li.set(t,n))),n}cached(e,t,s){const n=Ei(e);return this.wNAF(n,this.getPrecomputes(n,e,s),t)}unsafe(e,t,s,n){const r=Ei(e);return r===1?this._unsafeLadder(e,t,n):this.wNAFUnsafe(r,this.getPrecomputes(r,e,s),t,n)}createCache(e,t){EE(t,this.bits),cE.set(e,t),li.delete(e)}hasCache(e){return Ei(e)!==1}}function Xm(A,e,t,s){let n=e,r=A.ZERO,i=A.ZERO;for(;t>Ts||s>Ts;)t&Es&&(r=r.add(n)),s&Es&&(i=i.add(n)),n=n.double(),t>>=Es,s>>=Es;return{p1:r,p2:i}}function IE(A,e,t,s){Zm(t,A),_m(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=eE(BigInt(n));let g=1;a>12?g=a-3:a>4?g=a-2:a>0&&(g=2);const Q=kr(g),B=new Array(Number(Q)+1).fill(i),C=Math.floor((e.BITS-1)/g)*g;let u=i;for(let E=C;E>=0;E-=g){B.fill(i);for(let p=0;p<r;p++){const h=s[p],k=Number(h>>BigInt(E)&Q);B[k]=B[k].add(t[p])}let I=i;for(let p=B.length-1,h=i;p>0;p--)h=h.add(B[p]),I=I.add(h);if(u=u.add(I),E!==0)for(let p=0;p<g;p++)u=u.double()}return u}function kQ(A,e,t){if(e){if(e.ORDER!==A)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Wm(e),e}else return xs(A,{isLE:t})}function uE(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 Q=e[g];if(!(typeof Q=="bigint"&&Q>Ts))throw new Error(`CURVE.${g} must be positive bigint`)}const n=kQ(e.p,t.Fp,s),r=kQ(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 zo=BigInt(0),wt=BigInt(1),ci=BigInt(2),$m=BigInt(8);function Aw(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 ew(A,e={}){const t=uE("edwards",A,e,e.FpFnLE),{Fp:s,Fn:n}=t;let r=t.CURVE;const{h:i}=r;Mr(e,{},{uvRatio:"function"});const a=ci<<BigInt(n.BYTES*8)-wt,g=h=>s.create(h),Q=e.uvRatio||((h,k)=>{try{return{isValid:!0,value:s.sqrt(s.div(h,k))}}catch{return{isValid:!1,value:zo}}});if(!Aw(s,r,r.Gx,r.Gy))throw new Error("bad curve params: generator point");function B(h,k,v=!1){const D=v?wt:zo;return Ba("coordinate "+h,k,D,a),k}function C(h){if(!(h instanceof I))throw new Error("ExtendedPoint expected")}const u=In((h,k)=>{const{X:v,Y:D,Z:T}=h,J=h.is0();k==null&&(k=J?$m:s.inv(T));const V=g(v*k),AA=g(D*k),X=s.mul(T,k);if(J)return{x:zo,y:wt};if(X!==wt)throw new Error("invZ was invalid");return{x:V,y:AA}}),E=In(h=>{const{a:k,d:v}=r;if(h.is0())throw new Error("bad point: ZERO");const{X:D,Y:T,Z:J,T:V}=h,AA=g(D*D),X=g(T*T),L=g(J*J),W=g(L*L),S=g(AA*k),O=g(L*g(S+X)),w=g(W+g(v*g(AA*X)));if(O!==w)throw new Error("bad point: equation left != right (1)");const l=g(D*T),d=g(J*V);if(l!==d)throw new Error("bad point: equation left != right (2)");return!0});class I{constructor(k,v,D,T){this.X=B("x",k),this.Y=B("y",v),this.Z=B("z",D,!0),this.T=B("t",T),Object.freeze(this)}static CURVE(){return r}static fromAffine(k){if(k instanceof I)throw new Error("extended point not allowed");const{x:v,y:D}=k||{};return B("x",v),B("y",D),new I(v,D,wt,g(v*D))}static fromBytes(k,v=!1){const D=s.BYTES,{a:T,d:J}=r;k=wQ(co(k,D,"point")),hs(v,"zip215");const V=wQ(k),AA=k[D-1];V[D-1]=AA&-129;const X=Er(V),L=v?a:s.ORDER;Ba("point.y",X,zo,L);const W=g(X*X),S=g(W-wt),O=g(J*W-T);let{isValid:w,value:l}=Q(S,O);if(!w)throw new Error("bad point: invalid y coordinate");const d=(l&wt)===wt,N=(AA&128)!==0;if(!v&&l===zo&&N)throw new Error("bad point: x=0 and x_0=1");return N!==d&&(l=g(-l)),I.fromAffine({x:l,y:X})}static fromHex(k,v=!1){return I.fromBytes(Et("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(ci),this}assertValidity(){E(this)}equals(k){C(k);const{X:v,Y:D,Z:T}=this,{X:J,Y:V,Z:AA}=k,X=g(v*AA),L=g(J*T),W=g(D*AA),S=g(V*T);return X===L&&W===S}is0(){return this.equals(I.ZERO)}negate(){return new I(g(-this.X),this.Y,this.Z,g(-this.T))}double(){const{a:k}=r,{X:v,Y:D,Z:T}=this,J=g(v*v),V=g(D*D),AA=g(ci*g(T*T)),X=g(k*J),L=v+D,W=g(g(L*L)-J-V),S=X+V,O=S-AA,w=X-V,l=g(W*O),d=g(S*w),N=g(W*w),G=g(O*S);return new I(l,d,G,N)}add(k){C(k);const{a:v,d:D}=r,{X:T,Y:J,Z:V,T:AA}=this,{X,Y:L,Z:W,T:S}=k,O=g(T*X),w=g(J*L),l=g(AA*D*S),d=g(V*W),N=g((T+J)*(X+L)-O-w),G=d-l,U=d+l,j=g(w-v*O),P=g(N*G),b=g(U*j),c=g(N*j),f=g(G*U);return new I(P,b,f,c)}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,T=>cs(I,T));return cs(I,[v,D])[0]}multiplyUnsafe(k,v=I.ZERO){if(!n.isValid(k))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return k===zo?I.ZERO:this.is0()||k===wt?this:p.unsafe(this,k,D=>cs(I,D),v)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return p.unsafe(this,r.n).is0()}toAffine(k){return u(this,k)}clearCofactor(){return i===wt?this:this.multiplyUnsafe(i)}toBytes(){const{x:k,y:v}=this.toAffine(),D=s.toBytes(v);return D[D.length-1]|=k&wt?128:0,D}toHex(){return Is(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 cs(I,k)}static msm(k,v){return IE(I,n,k,v)}_setWindowSize(k){this.precompute(k)}toRawBytes(){return this.toBytes()}}I.BASE=new I(r.Gx,r.Gy,wt,g(r.Gx*r.Gy)),I.ZERO=new I(zo,wt,wt,zo),I.Fp=s,I.Fn=n;const p=new CE(I,n.BITS);return I.BASE.precompute(8),I}function tw(A,e,t={}){if(typeof e!="function")throw new Error('"hash" function param is required');Mr(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||eg,g=t.adjustScalarBytes||(L=>L),Q=t.domain||((L,W,S)=>{if(hs(S,"phflag"),W.length||S)throw new Error("Contexts/pre-hash are not supported");return L});function B(L){return i.create(Er(L))}function C(L){const W=D.secretKey;L=Et("private key",L,W);const S=Et("hashed private key",e(L),2*W),O=g(S.slice(0,W)),w=S.slice(W,2*W),l=B(O);return{head:O,prefix:w,scalar:l}}function u(L){const{head:W,prefix:S,scalar:O}=C(L),w=n.multiply(O),l=w.toBytes();return{head:W,prefix:S,scalar:O,point:w,pointBytes:l}}function E(L){return u(L).pointBytes}function I(L=Uint8Array.of(),...W){const S=ko(...W);return B(e(Q(S,Et("context",L),!!s)))}function p(L,W,S={}){L=Et("message",L),s&&(L=s(L));const{prefix:O,scalar:w,pointBytes:l}=u(W),d=I(S.context,O,L),N=n.multiply(d).toBytes(),G=I(S.context,N,l,L),U=i.create(d+G*w);if(!i.isValid(U))throw new Error("sign failed: invalid s");const j=ko(N,i.toBytes(U));return co(j,D.signature,"result")}const h={zip215:!0};function k(L,W,S,O=h){const{context:w,zip215:l}=O,d=D.signature;L=Et("signature",L,d),W=Et("message",W),S=Et("publicKey",S,D.publicKey),l!==void 0&&hs(l,"zip215"),s&&(W=s(W));const N=d/2,G=L.subarray(0,N),U=Er(L.subarray(N,d));let j,P,b;try{j=A.fromBytes(S,l),P=A.fromBytes(G,l),b=n.multiplyUnsafe(U)}catch{return!1}if(!l&&j.isSmallOrder())return!1;const c=I(w,P.toBytes(),j.toBytes(),W);return P.add(j.multiplyUnsafe(c)).subtract(b).clearCofactor().is0()}const v=r.BYTES,D={secretKey:v,publicKey:v,signature:2*v,seed:v};function T(L=a(D.seed)){return co(L,D.seed,"seed")}function J(L){const W=X.randomSecretKey(L);return{secretKey:W,publicKey:E(W)}}function V(L){return Nr(L)&&L.length===i.BYTES}function AA(L,W){try{return!!A.fromBytes(L,W)}catch{return!1}}const X={getExtendedPublicKey:u,randomSecretKey:T,isValidSecretKey:V,isValidPublicKey:AA,toMontgomery(L){const{y:W}=A.fromBytes(L),S=D.publicKey,O=S===32;if(!O&&S!==57)throw new Error("only defined for 25519 and 448");const w=O?r.div(wt+W,wt-W):r.div(W-wt,W+wt);return r.toBytes(w)},toMontgomerySecret(L){const W=D.secretKey;co(L,W);const S=e(L.subarray(0,W));return g(S).subarray(0,W)},randomPrivateKey:T,precompute(L=8,W=A.BASE){return W.precompute(L,!1)}};return Object.freeze({keygen:J,getPublicKey:E,sign:p,verify:k,utils:X,Point:A,lengths:D})}function ow(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=xs(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 sw(A,e){const t=e.Point;return Object.assign({},e,{ExtendedPoint:t,CURVE:A,nBitLength:t.Fn.BITS,nByteLength:t.Fn.BYTES})}function rw(A){const{CURVE:e,curveOpts:t,hash:s,eddsaOpts:n}=ow(A),r=ew(e,t),i=tw(r,s,n);return sw(A,i)}const nw=BigInt(1),MQ=BigInt(2);BigInt(3);const iw=BigInt(5),aw=BigInt(8),rg=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),dE={p:rg,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:aw,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function gw(A){const e=BigInt(10),t=BigInt(20),s=BigInt(40),n=BigInt(80),r=rg,a=A*A%r*A%r,g=lt(a,MQ,r)*a%r,Q=lt(g,nw,r)*A%r,B=lt(Q,iw,r)*Q%r,C=lt(B,e,r)*B%r,u=lt(C,t,r)*C%r,E=lt(u,s,r)*u%r,I=lt(E,n,r)*E%r,p=lt(I,n,r)*E%r,h=lt(p,e,r)*B%r;return{pow_p_5_8:lt(h,MQ,r)*A%r,b2:a}}function Qw(A){return A[0]&=248,A[31]&=127,A[31]|=64,A}const bQ=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Bw(A,e){const t=rg,s=ht(e*e*e,t),n=ht(s*s*e,t),r=gw(A*n).pow_p_5_8;let i=ht(A*s*r,t);const a=ht(e*i*i,t),g=i,Q=ht(i*bQ,t),B=a===A,C=a===ht(-A,t),u=a===ht(-A*bQ,t);return B&&(i=g),(C||u)&&(i=Q),Hm(i,t)&&(i=ht(-i,t)),{isValid:B||C,value:i}}const lw=xs(dE.p,{isLE:!0}),Ew={...dE,Fp:lw,hash:Km,adjustScalarBytes:Qw,uvRatio:Bw},qn=rw(Ew);var on={exports:{}};const cw={},Cw=Object.freeze(Object.defineProperty({__proto__:null,default:cw},Symbol.toStringTag,{value:"Module"})),hE=pa(Cw);var Iw=on.exports,FQ;function fE(){return FQ||(FQ=1,(function(A){(function(e,t){function s(w,l){if(!w)throw new Error(l||"Assertion failed")}function n(w,l){w.super_=l;var d=function(){};d.prototype=l.prototype,w.prototype=new d,w.prototype.constructor=w}function r(w,l,d){if(r.isBN(w))return w;this.negative=0,this.words=null,this.length=0,this.red=null,w!==null&&((l==="le"||l==="be")&&(d=l,l=10),this._init(w||0,l||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=hE.Buffer}catch{}r.isBN=function(l){return l instanceof r?!0:l!==null&&typeof l=="object"&&l.constructor.wordSize===r.wordSize&&Array.isArray(l.words)},r.max=function(l,d){return l.cmp(d)>0?l:d},r.min=function(l,d){return l.cmp(d)<0?l:d},r.prototype._init=function(l,d,N){if(typeof l=="number")return this._initNumber(l,d,N);if(typeof l=="object")return this._initArray(l,d,N);d==="hex"&&(d=16),s(d===(d|0)&&d>=2&&d<=36),l=l.toString().replace(/\s+/g,"");var G=0;l[0]==="-"&&(G++,this.negative=1),G<l.length&&(d===16?this._parseHex(l,G,N):(this._parseBase(l,d,G),N==="le"&&this._initArray(this.toArray(),d,N)))},r.prototype._initNumber=function(l,d,N){l<0&&(this.negative=1,l=-l),l<67108864?(this.words=[l&67108863],this.length=1):l<4503599627370496?(this.words=[l&67108863,l/67108864&67108863],this.length=2):(s(l<9007199254740992),this.words=[l&67108863,l/67108864&67108863,1],this.length=3),N==="le"&&this._initArray(this.toArray(),d,N)},r.prototype._initArray=function(l,d,N){if(s(typeof l.length=="number"),l.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(l.length/3),this.words=new Array(this.length);for(var G=0;G<this.length;G++)this.words[G]=0;var U,j,P=0;if(N==="be")for(G=l.length-1,U=0;G>=0;G-=3)j=l[G]|l[G-1]<<8|l[G-2]<<16,this.words[U]|=j<<P&67108863,this.words[U+1]=j>>>26-P&67108863,P+=24,P>=26&&(P-=26,U++);else if(N==="le")for(G=0,U=0;G<l.length;G+=3)j=l[G]|l[G+1]<<8|l[G+2]<<16,this.words[U]|=j<<P&67108863,this.words[U+1]=j>>>26-P&67108863,P+=24,P>=26&&(P-=26,U++);return this._strip()};function a(w,l){var d=w.charCodeAt(l);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,l,d){var N=a(w,d);return d-1>=l&&(N|=a(w,d-1)<<4),N}r.prototype._parseHex=function(l,d,N){this.length=Math.ceil((l.length-d)/6),this.words=new Array(this.length);for(var G=0;G<this.length;G++)this.words[G]=0;var U=0,j=0,P;if(N==="be")for(G=l.length-1;G>=d;G-=2)P=g(l,d,G)<<U,this.words[j]|=P&67108863,U>=18?(U-=18,j+=1,this.words[j]|=P>>>26):U+=8;else{var b=l.length-d;for(G=b%2===0?d+1:d;G<l.length;G+=2)P=g(l,d,G)<<U,this.words[j]|=P&67108863,U>=18?(U-=18,j+=1,this.words[j]|=P>>>26):U+=8}this._strip()};function Q(w,l,d,N){for(var G=0,U=0,j=Math.min(w.length,d),P=l;P<j;P++){var b=w.charCodeAt(P)-48;G*=N,b>=49?U=b-49+10:b>=17?U=b-17+10:U=b,s(b>=0&&U<N,"Invalid character"),G+=U}return G}r.prototype._parseBase=function(l,d,N){this.words=[0],this.length=1;for(var G=0,U=1;U<=67108863;U*=d)G++;G--,U=U/d|0;for(var j=l.length-N,P=j%G,b=Math.min(j,j-P)+N,c=0,f=N;f<b;f+=G)c=Q(l,f,f+G,d),this.imuln(U),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(P!==0){var R=1;for(c=Q(l,f,l.length,d),f=0;f<P;f++)R*=d;this.imuln(R),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}this._strip()},r.prototype.copy=function(l){l.words=new Array(this.length);for(var d=0;d<this.length;d++)l.words[d]=this.words[d];l.length=this.length,l.negative=this.negative,l.red=this.red};function B(w,l){w.words=l.words,w.length=l.length,w.negative=l.negative,w.red=l.red}if(r.prototype._move=function(l){B(l,this)},r.prototype.clone=function(){var l=new r(null);return this.copy(l),l},r.prototype._expand=function(l){for(;this.length<l;)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")]=C}catch{r.prototype.inspect=C}else r.prototype.inspect=C;function C(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var u=["","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"],E=[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],I=[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(l,d){l=l||10,d=d|0||1;var N;if(l===16||l==="hex"){N="";for(var G=0,U=0,j=0;j<this.length;j++){var P=this.words[j],b=((P<<G|U)&16777215).toString(16);U=P>>>24-G&16777215,G+=2,G>=26&&(G-=26,j--),U!==0||j!==this.length-1?N=u[6-b.length]+b+N:N=b+N}for(U!==0&&(N=U.toString(16)+N);N.length%d!==0;)N="0"+N;return this.negative!==0&&(N="-"+N),N}if(l===(l|0)&&l>=2&&l<=36){var c=E[l],f=I[l];N="";var R=this.clone();for(R.negative=0;!R.isZero();){var K=R.modrn(f).toString(l);R=R.idivn(f),R.isZero()?N=K+N:N=u[c-K.length]+K+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 l=this.words[0];return this.length===2?l+=this.words[1]*67108864:this.length===3&&this.words[2]===1?l+=4503599627370496+this.words[1]*67108864:this.length>2&&s(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-l:l},r.prototype.toJSON=function(){return this.toString(16,2)},i&&(r.prototype.toBuffer=function(l,d){return this.toArrayLike(i,l,d)}),r.prototype.toArray=function(l,d){return this.toArrayLike(Array,l,d)};var p=function(l,d){return l.allocUnsafe?l.allocUnsafe(d):new l(d)};r.prototype.toArrayLike=function(l,d,N){this._strip();var G=this.byteLength(),U=N||Math.max(1,G);s(G<=U,"byte array longer than desired length"),s(U>0,"Requested array length <= 0");var j=p(l,U),P=d==="le"?"LE":"BE";return this["_toArrayLike"+P](j,G),j},r.prototype._toArrayLikeLE=function(l,d){for(var N=0,G=0,U=0,j=0;U<this.length;U++){var P=this.words[U]<<j|G;l[N++]=P&255,N<l.length&&(l[N++]=P>>8&255),N<l.length&&(l[N++]=P>>16&255),j===6?(N<l.length&&(l[N++]=P>>24&255),G=0,j=0):(G=P>>>24,j+=2)}if(N<l.length)for(l[N++]=G;N<l.length;)l[N++]=0},r.prototype._toArrayLikeBE=function(l,d){for(var N=l.length-1,G=0,U=0,j=0;U<this.length;U++){var P=this.words[U]<<j|G;l[N--]=P&255,N>=0&&(l[N--]=P>>8&255),N>=0&&(l[N--]=P>>16&255),j===6?(N>=0&&(l[N--]=P>>24&255),G=0,j=0):(G=P>>>24,j+=2)}if(N>=0)for(l[N--]=G;N>=0;)l[N--]=0},Math.clz32?r.prototype._countBits=function(l){return 32-Math.clz32(l)}:r.prototype._countBits=function(l){var d=l,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(l){if(l===0)return 26;var d=l,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 l=this.words[this.length-1],d=this._countBits(l);return(this.length-1)*26+d};function h(w){for(var l=new Array(w.bitLength()),d=0;d<l.length;d++){var N=d/26|0,G=d%26;l[d]=w.words[N]>>>G&1}return l}r.prototype.zeroBits=function(){if(this.isZero())return 0;for(var l=0,d=0;d<this.length;d++){var N=this._zeroBits(this.words[d]);if(l+=N,N!==26)break}return l},r.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},r.prototype.toTwos=function(l){return this.negative!==0?this.abs().inotn(l).iaddn(1):this.clone()},r.prototype.fromTwos=function(l){return this.testn(l-1)?this.notn(l).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(l){for(;this.length<l.length;)this.words[this.length++]=0;for(var d=0;d<l.length;d++)this.words[d]=this.words[d]|l.words[d];return this._strip()},r.prototype.ior=function(l){return s((this.negative|l.negative)===0),this.iuor(l)},r.prototype.or=function(l){return this.length>l.length?this.clone().ior(l):l.clone().ior(this)},r.prototype.uor=function(l){return this.length>l.length?this.clone().iuor(l):l.clone().iuor(this)},r.prototype.iuand=function(l){var d;this.length>l.length?d=l:d=this;for(var N=0;N<d.length;N++)this.words[N]=this.words[N]&l.words[N];return this.length=d.length,this._strip()},r.prototype.iand=function(l){return s((this.negative|l.negative)===0),this.iuand(l)},r.prototype.and=function(l){return this.length>l.length?this.clone().iand(l):l.clone().iand(this)},r.prototype.uand=function(l){return this.length>l.length?this.clone().iuand(l):l.clone().iuand(this)},r.prototype.iuxor=function(l){var d,N;this.length>l.length?(d=this,N=l):(d=l,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(l){return s((this.negative|l.negative)===0),this.iuxor(l)},r.prototype.xor=function(l){return this.length>l.length?this.clone().ixor(l):l.clone().ixor(this)},r.prototype.uxor=function(l){return this.length>l.length?this.clone().iuxor(l):l.clone().iuxor(this)},r.prototype.inotn=function(l){s(typeof l=="number"&&l>=0);var d=Math.ceil(l/26)|0,N=l%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(l){return this.clone().inotn(l)},r.prototype.setn=function(l,d){s(typeof l=="number"&&l>=0);var N=l/26|0,G=l%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(l){var d;if(this.negative!==0&&l.negative===0)return this.negative=0,d=this.isub(l),this.negative^=1,this._normSign();if(this.negative===0&&l.negative!==0)return l.negative=0,d=this.isub(l),l.negative=1,d._normSign();var N,G;this.length>l.length?(N=this,G=l):(N=l,G=this);for(var U=0,j=0;j<G.length;j++)d=(N.words[j]|0)+(G.words[j]|0)+U,this.words[j]=d&67108863,U=d>>>26;for(;U!==0&&j<N.length;j++)d=(N.words[j]|0)+U,this.words[j]=d&67108863,U=d>>>26;if(this.length=N.length,U!==0)this.words[this.length]=U,this.length++;else if(N!==this)for(;j<N.length;j++)this.words[j]=N.words[j];return this},r.prototype.add=function(l){var d;return l.negative!==0&&this.negative===0?(l.negative=0,d=this.sub(l),l.negative^=1,d):l.negative===0&&this.negative!==0?(this.negative=0,d=l.sub(this),this.negative=1,d):this.length>l.length?this.clone().iadd(l):l.clone().iadd(this)},r.prototype.isub=function(l){if(l.negative!==0){l.negative=0;var d=this.iadd(l);return l.negative=1,d._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(l),this.negative=1,this._normSign();var N=this.cmp(l);if(N===0)return this.negative=0,this.length=1,this.words[0]=0,this;var G,U;N>0?(G=this,U=l):(G=l,U=this);for(var j=0,P=0;P<U.length;P++)d=(G.words[P]|0)-(U.words[P]|0)+j,j=d>>26,this.words[P]=d&67108863;for(;j!==0&&P<G.length;P++)d=(G.words[P]|0)+j,j=d>>26,this.words[P]=d&67108863;if(j===0&&P<G.length&&G!==this)for(;P<G.length;P++)this.words[P]=G.words[P];return this.length=Math.max(this.length,P),G!==this&&(this.negative=1),this._strip()},r.prototype.sub=function(l){return this.clone().isub(l)};function k(w,l,d){d.negative=l.negative^w.negative;var N=w.length+l.length|0;d.length=N,N=N-1|0;var G=w.words[0]|0,U=l.words[0]|0,j=G*U,P=j&67108863,b=j/67108864|0;d.words[0]=P;for(var c=1;c<N;c++){for(var f=b>>>26,R=b&67108863,K=Math.min(c,l.length-1),_=Math.max(0,c-w.length+1);_<=K;_++){var tA=c-_|0;G=w.words[tA]|0,U=l.words[_]|0,j=G*U+R,f+=j/67108864|0,R=j&67108863}d.words[c]=R|0,b=f|0}return b!==0?d.words[c]=b|0:d.length--,d._strip()}var v=function(l,d,N){var G=l.words,U=d.words,j=N.words,P=0,b,c,f,R=G[0]|0,K=R&8191,_=R>>>13,tA=G[1]|0,CA=tA&8191,aA=tA>>>13,RA=G[2]|0,MA=RA&8191,IA=RA>>>13,VA=G[3]|0,ZA=VA&8191,ee=VA>>>13,GA=G[4]|0,LA=GA&8191,le=GA>>>13,Ne=G[5]|0,de=Ne&8191,ke=Ne>>>13,At=G[6]|0,xA=At&8191,_A=At>>>13,Be=G[7]|0,Ee=Be&8191,q=Be>>>13,y=G[8]|0,M=y&8191,Z=y>>>13,eA=G[9]|0,iA=eA&8191,QA=eA>>>13,WA=U[0]|0,zA=WA&8191,HA=WA>>>13,pe=U[1]|0,PA=pe&8191,Re=pe>>>13,Zt=U[2]|0,Ve=Zt&8191,Ze=Zt>>>13,Go=U[3]|0,Me=Go&8191,Ge=Go>>>13,yt=U[4]|0,Ye=yt&8191,KA=yt>>>13,tt=U[5]|0,He=tt&8191,be=tt>>>13,rs=U[6]|0,F=rs&8191,Y=rs>>>13,H=U[7]|0,m=H&8191,z=H>>>13,rA=U[8]|0,oA=rA&8191,uA=rA>>>13,DA=U[9]|0,FA=DA&8191,yA=DA>>>13;N.negative=l.negative^d.negative,N.length=19,b=Math.imul(K,zA),c=Math.imul(K,HA),c=c+Math.imul(_,zA)|0,f=Math.imul(_,HA);var me=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+(me>>>26)|0,me&=67108863,b=Math.imul(CA,zA),c=Math.imul(CA,HA),c=c+Math.imul(aA,zA)|0,f=Math.imul(aA,HA),b=b+Math.imul(K,PA)|0,c=c+Math.imul(K,Re)|0,c=c+Math.imul(_,PA)|0,f=f+Math.imul(_,Re)|0;var JA=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+(JA>>>26)|0,JA&=67108863,b=Math.imul(MA,zA),c=Math.imul(MA,HA),c=c+Math.imul(IA,zA)|0,f=Math.imul(IA,HA),b=b+Math.imul(CA,PA)|0,c=c+Math.imul(CA,Re)|0,c=c+Math.imul(aA,PA)|0,f=f+Math.imul(aA,Re)|0,b=b+Math.imul(K,Ve)|0,c=c+Math.imul(K,Ze)|0,c=c+Math.imul(_,Ve)|0,f=f+Math.imul(_,Ze)|0;var te=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+(te>>>26)|0,te&=67108863,b=Math.imul(ZA,zA),c=Math.imul(ZA,HA),c=c+Math.imul(ee,zA)|0,f=Math.imul(ee,HA),b=b+Math.imul(MA,PA)|0,c=c+Math.imul(MA,Re)|0,c=c+Math.imul(IA,PA)|0,f=f+Math.imul(IA,Re)|0,b=b+Math.imul(CA,Ve)|0,c=c+Math.imul(CA,Ze)|0,c=c+Math.imul(aA,Ve)|0,f=f+Math.imul(aA,Ze)|0,b=b+Math.imul(K,Me)|0,c=c+Math.imul(K,Ge)|0,c=c+Math.imul(_,Me)|0,f=f+Math.imul(_,Ge)|0;var XA=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+(XA>>>26)|0,XA&=67108863,b=Math.imul(LA,zA),c=Math.imul(LA,HA),c=c+Math.imul(le,zA)|0,f=Math.imul(le,HA),b=b+Math.imul(ZA,PA)|0,c=c+Math.imul(ZA,Re)|0,c=c+Math.imul(ee,PA)|0,f=f+Math.imul(ee,Re)|0,b=b+Math.imul(MA,Ve)|0,c=c+Math.imul(MA,Ze)|0,c=c+Math.imul(IA,Ve)|0,f=f+Math.imul(IA,Ze)|0,b=b+Math.imul(CA,Me)|0,c=c+Math.imul(CA,Ge)|0,c=c+Math.imul(aA,Me)|0,f=f+Math.imul(aA,Ge)|0,b=b+Math.imul(K,Ye)|0,c=c+Math.imul(K,KA)|0,c=c+Math.imul(_,Ye)|0,f=f+Math.imul(_,KA)|0;var ae=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+(ae>>>26)|0,ae&=67108863,b=Math.imul(de,zA),c=Math.imul(de,HA),c=c+Math.imul(ke,zA)|0,f=Math.imul(ke,HA),b=b+Math.imul(LA,PA)|0,c=c+Math.imul(LA,Re)|0,c=c+Math.imul(le,PA)|0,f=f+Math.imul(le,Re)|0,b=b+Math.imul(ZA,Ve)|0,c=c+Math.imul(ZA,Ze)|0,c=c+Math.imul(ee,Ve)|0,f=f+Math.imul(ee,Ze)|0,b=b+Math.imul(MA,Me)|0,c=c+Math.imul(MA,Ge)|0,c=c+Math.imul(IA,Me)|0,f=f+Math.imul(IA,Ge)|0,b=b+Math.imul(CA,Ye)|0,c=c+Math.imul(CA,KA)|0,c=c+Math.imul(aA,Ye)|0,f=f+Math.imul(aA,KA)|0,b=b+Math.imul(K,He)|0,c=c+Math.imul(K,be)|0,c=c+Math.imul(_,He)|0,f=f+Math.imul(_,be)|0;var ie=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+(ie>>>26)|0,ie&=67108863,b=Math.imul(xA,zA),c=Math.imul(xA,HA),c=c+Math.imul(_A,zA)|0,f=Math.imul(_A,HA),b=b+Math.imul(de,PA)|0,c=c+Math.imul(de,Re)|0,c=c+Math.imul(ke,PA)|0,f=f+Math.imul(ke,Re)|0,b=b+Math.imul(LA,Ve)|0,c=c+Math.imul(LA,Ze)|0,c=c+Math.imul(le,Ve)|0,f=f+Math.imul(le,Ze)|0,b=b+Math.imul(ZA,Me)|0,c=c+Math.imul(ZA,Ge)|0,c=c+Math.imul(ee,Me)|0,f=f+Math.imul(ee,Ge)|0,b=b+Math.imul(MA,Ye)|0,c=c+Math.imul(MA,KA)|0,c=c+Math.imul(IA,Ye)|0,f=f+Math.imul(IA,KA)|0,b=b+Math.imul(CA,He)|0,c=c+Math.imul(CA,be)|0,c=c+Math.imul(aA,He)|0,f=f+Math.imul(aA,be)|0,b=b+Math.imul(K,F)|0,c=c+Math.imul(K,Y)|0,c=c+Math.imul(_,F)|0,f=f+Math.imul(_,Y)|0;var oe=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+(oe>>>26)|0,oe&=67108863,b=Math.imul(Ee,zA),c=Math.imul(Ee,HA),c=c+Math.imul(q,zA)|0,f=Math.imul(q,HA),b=b+Math.imul(xA,PA)|0,c=c+Math.imul(xA,Re)|0,c=c+Math.imul(_A,PA)|0,f=f+Math.imul(_A,Re)|0,b=b+Math.imul(de,Ve)|0,c=c+Math.imul(de,Ze)|0,c=c+Math.imul(ke,Ve)|0,f=f+Math.imul(ke,Ze)|0,b=b+Math.imul(LA,Me)|0,c=c+Math.imul(LA,Ge)|0,c=c+Math.imul(le,Me)|0,f=f+Math.imul(le,Ge)|0,b=b+Math.imul(ZA,Ye)|0,c=c+Math.imul(ZA,KA)|0,c=c+Math.imul(ee,Ye)|0,f=f+Math.imul(ee,KA)|0,b=b+Math.imul(MA,He)|0,c=c+Math.imul(MA,be)|0,c=c+Math.imul(IA,He)|0,f=f+Math.imul(IA,be)|0,b=b+Math.imul(CA,F)|0,c=c+Math.imul(CA,Y)|0,c=c+Math.imul(aA,F)|0,f=f+Math.imul(aA,Y)|0,b=b+Math.imul(K,m)|0,c=c+Math.imul(K,z)|0,c=c+Math.imul(_,m)|0,f=f+Math.imul(_,z)|0;var $A=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+($A>>>26)|0,$A&=67108863,b=Math.imul(M,zA),c=Math.imul(M,HA),c=c+Math.imul(Z,zA)|0,f=Math.imul(Z,HA),b=b+Math.imul(Ee,PA)|0,c=c+Math.imul(Ee,Re)|0,c=c+Math.imul(q,PA)|0,f=f+Math.imul(q,Re)|0,b=b+Math.imul(xA,Ve)|0,c=c+Math.imul(xA,Ze)|0,c=c+Math.imul(_A,Ve)|0,f=f+Math.imul(_A,Ze)|0,b=b+Math.imul(de,Me)|0,c=c+Math.imul(de,Ge)|0,c=c+Math.imul(ke,Me)|0,f=f+Math.imul(ke,Ge)|0,b=b+Math.imul(LA,Ye)|0,c=c+Math.imul(LA,KA)|0,c=c+Math.imul(le,Ye)|0,f=f+Math.imul(le,KA)|0,b=b+Math.imul(ZA,He)|0,c=c+Math.imul(ZA,be)|0,c=c+Math.imul(ee,He)|0,f=f+Math.imul(ee,be)|0,b=b+Math.imul(MA,F)|0,c=c+Math.imul(MA,Y)|0,c=c+Math.imul(IA,F)|0,f=f+Math.imul(IA,Y)|0,b=b+Math.imul(CA,m)|0,c=c+Math.imul(CA,z)|0,c=c+Math.imul(aA,m)|0,f=f+Math.imul(aA,z)|0,b=b+Math.imul(K,oA)|0,c=c+Math.imul(K,uA)|0,c=c+Math.imul(_,oA)|0,f=f+Math.imul(_,uA)|0;var se=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+(se>>>26)|0,se&=67108863,b=Math.imul(iA,zA),c=Math.imul(iA,HA),c=c+Math.imul(QA,zA)|0,f=Math.imul(QA,HA),b=b+Math.imul(M,PA)|0,c=c+Math.imul(M,Re)|0,c=c+Math.imul(Z,PA)|0,f=f+Math.imul(Z,Re)|0,b=b+Math.imul(Ee,Ve)|0,c=c+Math.imul(Ee,Ze)|0,c=c+Math.imul(q,Ve)|0,f=f+Math.imul(q,Ze)|0,b=b+Math.imul(xA,Me)|0,c=c+Math.imul(xA,Ge)|0,c=c+Math.imul(_A,Me)|0,f=f+Math.imul(_A,Ge)|0,b=b+Math.imul(de,Ye)|0,c=c+Math.imul(de,KA)|0,c=c+Math.imul(ke,Ye)|0,f=f+Math.imul(ke,KA)|0,b=b+Math.imul(LA,He)|0,c=c+Math.imul(LA,be)|0,c=c+Math.imul(le,He)|0,f=f+Math.imul(le,be)|0,b=b+Math.imul(ZA,F)|0,c=c+Math.imul(ZA,Y)|0,c=c+Math.imul(ee,F)|0,f=f+Math.imul(ee,Y)|0,b=b+Math.imul(MA,m)|0,c=c+Math.imul(MA,z)|0,c=c+Math.imul(IA,m)|0,f=f+Math.imul(IA,z)|0,b=b+Math.imul(CA,oA)|0,c=c+Math.imul(CA,uA)|0,c=c+Math.imul(aA,oA)|0,f=f+Math.imul(aA,uA)|0,b=b+Math.imul(K,FA)|0,c=c+Math.imul(K,yA)|0,c=c+Math.imul(_,FA)|0,f=f+Math.imul(_,yA)|0;var nA=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+(nA>>>26)|0,nA&=67108863,b=Math.imul(iA,PA),c=Math.imul(iA,Re),c=c+Math.imul(QA,PA)|0,f=Math.imul(QA,Re),b=b+Math.imul(M,Ve)|0,c=c+Math.imul(M,Ze)|0,c=c+Math.imul(Z,Ve)|0,f=f+Math.imul(Z,Ze)|0,b=b+Math.imul(Ee,Me)|0,c=c+Math.imul(Ee,Ge)|0,c=c+Math.imul(q,Me)|0,f=f+Math.imul(q,Ge)|0,b=b+Math.imul(xA,Ye)|0,c=c+Math.imul(xA,KA)|0,c=c+Math.imul(_A,Ye)|0,f=f+Math.imul(_A,KA)|0,b=b+Math.imul(de,He)|0,c=c+Math.imul(de,be)|0,c=c+Math.imul(ke,He)|0,f=f+Math.imul(ke,be)|0,b=b+Math.imul(LA,F)|0,c=c+Math.imul(LA,Y)|0,c=c+Math.imul(le,F)|0,f=f+Math.imul(le,Y)|0,b=b+Math.imul(ZA,m)|0,c=c+Math.imul(ZA,z)|0,c=c+Math.imul(ee,m)|0,f=f+Math.imul(ee,z)|0,b=b+Math.imul(MA,oA)|0,c=c+Math.imul(MA,uA)|0,c=c+Math.imul(IA,oA)|0,f=f+Math.imul(IA,uA)|0,b=b+Math.imul(CA,FA)|0,c=c+Math.imul(CA,yA)|0,c=c+Math.imul(aA,FA)|0,f=f+Math.imul(aA,yA)|0;var SA=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+(SA>>>26)|0,SA&=67108863,b=Math.imul(iA,Ve),c=Math.imul(iA,Ze),c=c+Math.imul(QA,Ve)|0,f=Math.imul(QA,Ze),b=b+Math.imul(M,Me)|0,c=c+Math.imul(M,Ge)|0,c=c+Math.imul(Z,Me)|0,f=f+Math.imul(Z,Ge)|0,b=b+Math.imul(Ee,Ye)|0,c=c+Math.imul(Ee,KA)|0,c=c+Math.imul(q,Ye)|0,f=f+Math.imul(q,KA)|0,b=b+Math.imul(xA,He)|0,c=c+Math.imul(xA,be)|0,c=c+Math.imul(_A,He)|0,f=f+Math.imul(_A,be)|0,b=b+Math.imul(de,F)|0,c=c+Math.imul(de,Y)|0,c=c+Math.imul(ke,F)|0,f=f+Math.imul(ke,Y)|0,b=b+Math.imul(LA,m)|0,c=c+Math.imul(LA,z)|0,c=c+Math.imul(le,m)|0,f=f+Math.imul(le,z)|0,b=b+Math.imul(ZA,oA)|0,c=c+Math.imul(ZA,uA)|0,c=c+Math.imul(ee,oA)|0,f=f+Math.imul(ee,uA)|0,b=b+Math.imul(MA,FA)|0,c=c+Math.imul(MA,yA)|0,c=c+Math.imul(IA,FA)|0,f=f+Math.imul(IA,yA)|0;var bA=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+(bA>>>26)|0,bA&=67108863,b=Math.imul(iA,Me),c=Math.imul(iA,Ge),c=c+Math.imul(QA,Me)|0,f=Math.imul(QA,Ge),b=b+Math.imul(M,Ye)|0,c=c+Math.imul(M,KA)|0,c=c+Math.imul(Z,Ye)|0,f=f+Math.imul(Z,KA)|0,b=b+Math.imul(Ee,He)|0,c=c+Math.imul(Ee,be)|0,c=c+Math.imul(q,He)|0,f=f+Math.imul(q,be)|0,b=b+Math.imul(xA,F)|0,c=c+Math.imul(xA,Y)|0,c=c+Math.imul(_A,F)|0,f=f+Math.imul(_A,Y)|0,b=b+Math.imul(de,m)|0,c=c+Math.imul(de,z)|0,c=c+Math.imul(ke,m)|0,f=f+Math.imul(ke,z)|0,b=b+Math.imul(LA,oA)|0,c=c+Math.imul(LA,uA)|0,c=c+Math.imul(le,oA)|0,f=f+Math.imul(le,uA)|0,b=b+Math.imul(ZA,FA)|0,c=c+Math.imul(ZA,yA)|0,c=c+Math.imul(ee,FA)|0,f=f+Math.imul(ee,yA)|0;var jA=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+(jA>>>26)|0,jA&=67108863,b=Math.imul(iA,Ye),c=Math.imul(iA,KA),c=c+Math.imul(QA,Ye)|0,f=Math.imul(QA,KA),b=b+Math.imul(M,He)|0,c=c+Math.imul(M,be)|0,c=c+Math.imul(Z,He)|0,f=f+Math.imul(Z,be)|0,b=b+Math.imul(Ee,F)|0,c=c+Math.imul(Ee,Y)|0,c=c+Math.imul(q,F)|0,f=f+Math.imul(q,Y)|0,b=b+Math.imul(xA,m)|0,c=c+Math.imul(xA,z)|0,c=c+Math.imul(_A,m)|0,f=f+Math.imul(_A,z)|0,b=b+Math.imul(de,oA)|0,c=c+Math.imul(de,uA)|0,c=c+Math.imul(ke,oA)|0,f=f+Math.imul(ke,uA)|0,b=b+Math.imul(LA,FA)|0,c=c+Math.imul(LA,yA)|0,c=c+Math.imul(le,FA)|0,f=f+Math.imul(le,yA)|0;var TA=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+(TA>>>26)|0,TA&=67108863,b=Math.imul(iA,He),c=Math.imul(iA,be),c=c+Math.imul(QA,He)|0,f=Math.imul(QA,be),b=b+Math.imul(M,F)|0,c=c+Math.imul(M,Y)|0,c=c+Math.imul(Z,F)|0,f=f+Math.imul(Z,Y)|0,b=b+Math.imul(Ee,m)|0,c=c+Math.imul(Ee,z)|0,c=c+Math.imul(q,m)|0,f=f+Math.imul(q,z)|0,b=b+Math.imul(xA,oA)|0,c=c+Math.imul(xA,uA)|0,c=c+Math.imul(_A,oA)|0,f=f+Math.imul(_A,uA)|0,b=b+Math.imul(de,FA)|0,c=c+Math.imul(de,yA)|0,c=c+Math.imul(ke,FA)|0,f=f+Math.imul(ke,yA)|0;var UA=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+(UA>>>26)|0,UA&=67108863,b=Math.imul(iA,F),c=Math.imul(iA,Y),c=c+Math.imul(QA,F)|0,f=Math.imul(QA,Y),b=b+Math.imul(M,m)|0,c=c+Math.imul(M,z)|0,c=c+Math.imul(Z,m)|0,f=f+Math.imul(Z,z)|0,b=b+Math.imul(Ee,oA)|0,c=c+Math.imul(Ee,uA)|0,c=c+Math.imul(q,oA)|0,f=f+Math.imul(q,uA)|0,b=b+Math.imul(xA,FA)|0,c=c+Math.imul(xA,yA)|0,c=c+Math.imul(_A,FA)|0,f=f+Math.imul(_A,yA)|0;var EA=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+(EA>>>26)|0,EA&=67108863,b=Math.imul(iA,m),c=Math.imul(iA,z),c=c+Math.imul(QA,m)|0,f=Math.imul(QA,z),b=b+Math.imul(M,oA)|0,c=c+Math.imul(M,uA)|0,c=c+Math.imul(Z,oA)|0,f=f+Math.imul(Z,uA)|0,b=b+Math.imul(Ee,FA)|0,c=c+Math.imul(Ee,yA)|0,c=c+Math.imul(q,FA)|0,f=f+Math.imul(q,yA)|0;var cA=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+(cA>>>26)|0,cA&=67108863,b=Math.imul(iA,oA),c=Math.imul(iA,uA),c=c+Math.imul(QA,oA)|0,f=Math.imul(QA,uA),b=b+Math.imul(M,FA)|0,c=c+Math.imul(M,yA)|0,c=c+Math.imul(Z,FA)|0,f=f+Math.imul(Z,yA)|0;var pA=(P+b|0)+((c&8191)<<13)|0;P=(f+(c>>>13)|0)+(pA>>>26)|0,pA&=67108863,b=Math.imul(iA,FA),c=Math.imul(iA,yA),c=c+Math.imul(QA,FA)|0,f=Math.imul(QA,yA);var hA=(P+b|0)+((c&8191)<<13)|0;return P=(f+(c>>>13)|0)+(hA>>>26)|0,hA&=67108863,j[0]=me,j[1]=JA,j[2]=te,j[3]=XA,j[4]=ae,j[5]=ie,j[6]=oe,j[7]=$A,j[8]=se,j[9]=nA,j[10]=SA,j[11]=bA,j[12]=jA,j[13]=TA,j[14]=UA,j[15]=EA,j[16]=cA,j[17]=pA,j[18]=hA,P!==0&&(j[19]=P,N.length++),N};Math.imul||(v=k);function D(w,l,d){d.negative=l.negative^w.negative,d.length=w.length+l.length;for(var N=0,G=0,U=0;U<d.length-1;U++){var j=G;G=0;for(var P=N&67108863,b=Math.min(U,l.length-1),c=Math.max(0,U-w.length+1);c<=b;c++){var f=U-c,R=w.words[f]|0,K=l.words[c]|0,_=R*K,tA=_&67108863;j=j+(_/67108864|0)|0,tA=tA+P|0,P=tA&67108863,j=j+(tA>>>26)|0,G+=j>>>26,j&=67108863}d.words[U]=P,N=j,j=G}return N!==0?d.words[U]=N:d.length--,d._strip()}function T(w,l,d){return D(w,l,d)}r.prototype.mulTo=function(l,d){var N,G=this.length+l.length;return this.length===10&&l.length===10?N=v(this,l,d):G<63?N=k(this,l,d):G<1024?N=D(this,l,d):N=T(this,l,d),N},r.prototype.mul=function(l){var d=new r(null);return d.words=new Array(this.length+l.length),this.mulTo(l,d)},r.prototype.mulf=function(l){var d=new r(null);return d.words=new Array(this.length+l.length),T(this,l,d)},r.prototype.imul=function(l){return this.clone().mulTo(l,this)},r.prototype.imuln=function(l){var d=l<0;d&&(l=-l),s(typeof l=="number"),s(l<67108864);for(var N=0,G=0;G<this.length;G++){var U=(this.words[G]|0)*l,j=(U&67108863)+(N&67108863);N>>=26,N+=U/67108864|0,N+=j>>>26,this.words[G]=j&67108863}return N!==0&&(this.words[G]=N,this.length++),this.length=l===0?1:this.length,d?this.ineg():this},r.prototype.muln=function(l){return this.clone().imuln(l)},r.prototype.sqr=function(){return this.mul(this)},r.prototype.isqr=function(){return this.imul(this.clone())},r.prototype.pow=function(l){var d=h(l);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 U=N.sqr();G<d.length;G++,U=U.sqr())d[G]!==0&&(N=N.mul(U));return N},r.prototype.iushln=function(l){s(typeof l=="number"&&l>=0);var d=l%26,N=(l-d)/26,G=67108863>>>26-d<<26-d,U;if(d!==0){var j=0;for(U=0;U<this.length;U++){var P=this.words[U]&G,b=(this.words[U]|0)-P<<d;this.words[U]=b|j,j=P>>>26-d}j&&(this.words[U]=j,this.length++)}if(N!==0){for(U=this.length-1;U>=0;U--)this.words[U+N]=this.words[U];for(U=0;U<N;U++)this.words[U]=0;this.length+=N}return this._strip()},r.prototype.ishln=function(l){return s(this.negative===0),this.iushln(l)},r.prototype.iushrn=function(l,d,N){s(typeof l=="number"&&l>=0);var G;d?G=(d-d%26)/26:G=0;var U=l%26,j=Math.min((l-U)/26,this.length),P=67108863^67108863>>>U<<U,b=N;if(G-=j,G=Math.max(0,G),b){for(var c=0;c<j;c++)b.words[c]=this.words[c];b.length=j}if(j!==0)if(this.length>j)for(this.length-=j,c=0;c<this.length;c++)this.words[c]=this.words[c+j];else this.words[0]=0,this.length=1;var f=0;for(c=this.length-1;c>=0&&(f!==0||c>=G);c--){var R=this.words[c]|0;this.words[c]=f<<26-U|R>>>U,f=R&P}return b&&f!==0&&(b.words[b.length++]=f),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},r.prototype.ishrn=function(l,d,N){return s(this.negative===0),this.iushrn(l,d,N)},r.prototype.shln=function(l){return this.clone().ishln(l)},r.prototype.ushln=function(l){return this.clone().iushln(l)},r.prototype.shrn=function(l){return this.clone().ishrn(l)},r.prototype.ushrn=function(l){return this.clone().iushrn(l)},r.prototype.testn=function(l){s(typeof l=="number"&&l>=0);var d=l%26,N=(l-d)/26,G=1<<d;if(this.length<=N)return!1;var U=this.words[N];return!!(U&G)},r.prototype.imaskn=function(l){s(typeof l=="number"&&l>=0);var d=l%26,N=(l-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(l){return this.clone().imaskn(l)},r.prototype.iaddn=function(l){return s(typeof l=="number"),s(l<67108864),l<0?this.isubn(-l):this.negative!==0?this.length===1&&(this.words[0]|0)<=l?(this.words[0]=l-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(l),this.negative=1,this):this._iaddn(l)},r.prototype._iaddn=function(l){this.words[0]+=l;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(l){if(s(typeof l=="number"),s(l<67108864),l<0)return this.iaddn(-l);if(this.negative!==0)return this.negative=0,this.iaddn(l),this.negative=1,this;if(this.words[0]-=l,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(l){return this.clone().iaddn(l)},r.prototype.subn=function(l){return this.clone().isubn(l)},r.prototype.iabs=function(){return this.negative=0,this},r.prototype.abs=function(){return this.clone().iabs()},r.prototype._ishlnsubmul=function(l,d,N){var G=l.length+N,U;this._expand(G);var j,P=0;for(U=0;U<l.length;U++){j=(this.words[U+N]|0)+P;var b=(l.words[U]|0)*d;j-=b&67108863,P=(j>>26)-(b/67108864|0),this.words[U+N]=j&67108863}for(;U<this.length-N;U++)j=(this.words[U+N]|0)+P,P=j>>26,this.words[U+N]=j&67108863;if(P===0)return this._strip();for(s(P===-1),P=0,U=0;U<this.length;U++)j=-(this.words[U]|0)+P,P=j>>26,this.words[U]=j&67108863;return this.negative=1,this._strip()},r.prototype._wordDiv=function(l,d){var N=this.length-l.length,G=this.clone(),U=l,j=U.words[U.length-1]|0,P=this._countBits(j);N=26-P,N!==0&&(U=U.ushln(N),G.iushln(N),j=U.words[U.length-1]|0);var b=G.length-U.length,c;if(d!=="mod"){c=new r(null),c.length=b+1,c.words=new Array(c.length);for(var f=0;f<c.length;f++)c.words[f]=0}var R=G.clone()._ishlnsubmul(U,1,b);R.negative===0&&(G=R,c&&(c.words[b]=1));for(var K=b-1;K>=0;K--){var _=(G.words[U.length+K]|0)*67108864+(G.words[U.length+K-1]|0);for(_=Math.min(_/j|0,67108863),G._ishlnsubmul(U,_,K);G.negative!==0;)_--,G.negative=0,G._ishlnsubmul(U,1,K),G.isZero()||(G.negative^=1);c&&(c.words[K]=_)}return c&&c._strip(),G._strip(),d!=="div"&&N!==0&&G.iushrn(N),{div:c||null,mod:G}},r.prototype.divmod=function(l,d,N){if(s(!l.isZero()),this.isZero())return{div:new r(0),mod:new r(0)};var G,U,j;return this.negative!==0&&l.negative===0?(j=this.neg().divmod(l,d),d!=="mod"&&(G=j.div.neg()),d!=="div"&&(U=j.mod.neg(),N&&U.negative!==0&&U.iadd(l)),{div:G,mod:U}):this.negative===0&&l.negative!==0?(j=this.divmod(l.neg(),d),d!=="mod"&&(G=j.div.neg()),{div:G,mod:j.mod}):(this.negative&l.negative)!==0?(j=this.neg().divmod(l.neg(),d),d!=="div"&&(U=j.mod.neg(),N&&U.negative!==0&&U.isub(l)),{div:j.div,mod:U}):l.length>this.length||this.cmp(l)<0?{div:new r(0),mod:this}:l.length===1?d==="div"?{div:this.divn(l.words[0]),mod:null}:d==="mod"?{div:null,mod:new r(this.modrn(l.words[0]))}:{div:this.divn(l.words[0]),mod:new r(this.modrn(l.words[0]))}:this._wordDiv(l,d)},r.prototype.div=function(l){return this.divmod(l,"div",!1).div},r.prototype.mod=function(l){return this.divmod(l,"mod",!1).mod},r.prototype.umod=function(l){return this.divmod(l,"mod",!0).mod},r.prototype.divRound=function(l){var d=this.divmod(l);if(d.mod.isZero())return d.div;var N=d.div.negative!==0?d.mod.isub(l):d.mod,G=l.ushrn(1),U=l.andln(1),j=N.cmp(G);return j<0||U===1&&j===0?d.div:d.div.negative!==0?d.div.isubn(1):d.div.iaddn(1)},r.prototype.modrn=function(l){var d=l<0;d&&(l=-l),s(l<=67108863);for(var N=(1<<26)%l,G=0,U=this.length-1;U>=0;U--)G=(N*G+(this.words[U]|0))%l;return d?-G:G},r.prototype.modn=function(l){return this.modrn(l)},r.prototype.idivn=function(l){var d=l<0;d&&(l=-l),s(l<=67108863);for(var N=0,G=this.length-1;G>=0;G--){var U=(this.words[G]|0)+N*67108864;this.words[G]=U/l|0,N=U%l}return this._strip(),d?this.ineg():this},r.prototype.divn=function(l){return this.clone().idivn(l)},r.prototype.egcd=function(l){s(l.negative===0),s(!l.isZero());var d=this,N=l.clone();d.negative!==0?d=d.umod(l):d=d.clone();for(var G=new r(1),U=new r(0),j=new r(0),P=new r(1),b=0;d.isEven()&&N.isEven();)d.iushrn(1),N.iushrn(1),++b;for(var c=N.clone(),f=d.clone();!d.isZero();){for(var R=0,K=1;(d.words[0]&K)===0&&R<26;++R,K<<=1);if(R>0)for(d.iushrn(R);R-- >0;)(G.isOdd()||U.isOdd())&&(G.iadd(c),U.isub(f)),G.iushrn(1),U.iushrn(1);for(var _=0,tA=1;(N.words[0]&tA)===0&&_<26;++_,tA<<=1);if(_>0)for(N.iushrn(_);_-- >0;)(j.isOdd()||P.isOdd())&&(j.iadd(c),P.isub(f)),j.iushrn(1),P.iushrn(1);d.cmp(N)>=0?(d.isub(N),G.isub(j),U.isub(P)):(N.isub(d),j.isub(G),P.isub(U))}return{a:j,b:P,gcd:N.iushln(b)}},r.prototype._invmp=function(l){s(l.negative===0),s(!l.isZero());var d=this,N=l.clone();d.negative!==0?d=d.umod(l):d=d.clone();for(var G=new r(1),U=new r(0),j=N.clone();d.cmpn(1)>0&&N.cmpn(1)>0;){for(var P=0,b=1;(d.words[0]&b)===0&&P<26;++P,b<<=1);if(P>0)for(d.iushrn(P);P-- >0;)G.isOdd()&&G.iadd(j),G.iushrn(1);for(var c=0,f=1;(N.words[0]&f)===0&&c<26;++c,f<<=1);if(c>0)for(N.iushrn(c);c-- >0;)U.isOdd()&&U.iadd(j),U.iushrn(1);d.cmp(N)>=0?(d.isub(N),G.isub(U)):(N.isub(d),U.isub(G))}var R;return d.cmpn(1)===0?R=G:R=U,R.cmpn(0)<0&&R.iadd(l),R},r.prototype.gcd=function(l){if(this.isZero())return l.abs();if(l.isZero())return this.abs();var d=this.clone(),N=l.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 U=d.cmp(N);if(U<0){var j=d;d=N,N=j}else if(U===0||N.cmpn(1)===0)break;d.isub(N)}while(!0);return N.iushln(G)},r.prototype.invm=function(l){return this.egcd(l).a.umod(l)},r.prototype.isEven=function(){return(this.words[0]&1)===0},r.prototype.isOdd=function(){return(this.words[0]&1)===1},r.prototype.andln=function(l){return this.words[0]&l},r.prototype.bincn=function(l){s(typeof l=="number");var d=l%26,N=(l-d)/26,G=1<<d;if(this.length<=N)return this._expand(N+1),this.words[N]|=G,this;for(var U=G,j=N;U!==0&&j<this.length;j++){var P=this.words[j]|0;P+=U,U=P>>>26,P&=67108863,this.words[j]=P}return U!==0&&(this.words[j]=U,this.length++),this},r.prototype.isZero=function(){return this.length===1&&this.words[0]===0},r.prototype.cmpn=function(l){var d=l<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&&(l=-l),s(l<=67108863,"Number is too big");var G=this.words[0]|0;N=G===l?0:G<l?-1:1}return this.negative!==0?-N|0:N},r.prototype.cmp=function(l){if(this.negative!==0&&l.negative===0)return-1;if(this.negative===0&&l.negative!==0)return 1;var d=this.ucmp(l);return this.negative!==0?-d|0:d},r.prototype.ucmp=function(l){if(this.length>l.length)return 1;if(this.length<l.length)return-1;for(var d=0,N=this.length-1;N>=0;N--){var G=this.words[N]|0,U=l.words[N]|0;if(G!==U){G<U?d=-1:G>U&&(d=1);break}}return d},r.prototype.gtn=function(l){return this.cmpn(l)===1},r.prototype.gt=function(l){return this.cmp(l)===1},r.prototype.gten=function(l){return this.cmpn(l)>=0},r.prototype.gte=function(l){return this.cmp(l)>=0},r.prototype.ltn=function(l){return this.cmpn(l)===-1},r.prototype.lt=function(l){return this.cmp(l)===-1},r.prototype.lten=function(l){return this.cmpn(l)<=0},r.prototype.lte=function(l){return this.cmp(l)<=0},r.prototype.eqn=function(l){return this.cmpn(l)===0},r.prototype.eq=function(l){return this.cmp(l)===0},r.red=function(l){return new S(l)},r.prototype.toRed=function(l){return s(!this.red,"Already a number in reduction context"),s(this.negative===0,"red works only with positives"),l.convertTo(this)._forceRed(l)},r.prototype.fromRed=function(){return s(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},r.prototype._forceRed=function(l){return this.red=l,this},r.prototype.forceRed=function(l){return s(!this.red,"Already a number in reduction context"),this._forceRed(l)},r.prototype.redAdd=function(l){return s(this.red,"redAdd works only with red numbers"),this.red.add(this,l)},r.prototype.redIAdd=function(l){return s(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,l)},r.prototype.redSub=function(l){return s(this.red,"redSub works only with red numbers"),this.red.sub(this,l)},r.prototype.redISub=function(l){return s(this.red,"redISub works only with red numbers"),this.red.isub(this,l)},r.prototype.redShl=function(l){return s(this.red,"redShl works only with red numbers"),this.red.shl(this,l)},r.prototype.redMul=function(l){return s(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.mul(this,l)},r.prototype.redIMul=function(l){return s(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.imul(this,l)},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(l){return s(this.red&&!l.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,l)};var J={k256:null,p224:null,p192:null,p25519:null};function V(w,l){this.name=w,this.p=new r(l,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 l=new r(null);return l.words=new Array(Math.ceil(this.n/13)),l},V.prototype.ireduce=function(l){var d=l,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(l,d){l.iushrn(this.n,0,d)},V.prototype.imulK=function(l){return l.imul(this.k)};function AA(){V.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}n(AA,V),AA.prototype.split=function(l,d){for(var N=4194303,G=Math.min(l.length,9),U=0;U<G;U++)d.words[U]=l.words[U];if(d.length=G,l.length<=9){l.words[0]=0,l.length=1;return}var j=l.words[9];for(d.words[d.length++]=j&N,U=10;U<l.length;U++){var P=l.words[U]|0;l.words[U-10]=(P&N)<<4|j>>>22,j=P}j>>>=22,l.words[U-10]=j,j===0&&l.length>10?l.length-=10:l.length-=9},AA.prototype.imulK=function(l){l.words[l.length]=0,l.words[l.length+1]=0,l.length+=2;for(var d=0,N=0;N<l.length;N++){var G=l.words[N]|0;d+=G*977,l.words[N]=d&67108863,d=G*64+(d/67108864|0)}return l.words[l.length-1]===0&&(l.length--,l.words[l.length-1]===0&&l.length--),l};function X(){V.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}n(X,V);function L(){V.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}n(L,V);function W(){V.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}n(W,V),W.prototype.imulK=function(l){for(var d=0,N=0;N<l.length;N++){var G=(l.words[N]|0)*19+d,U=G&67108863;G>>>=26,l.words[N]=U,d=G}return d!==0&&(l.words[l.length++]=d),l},r._prime=function(l){if(J[l])return J[l];var d;if(l==="k256")d=new AA;else if(l==="p224")d=new X;else if(l==="p192")d=new L;else if(l==="p25519")d=new W;else throw new Error("Unknown prime "+l);return J[l]=d,d};function S(w){if(typeof w=="string"){var l=r._prime(w);this.m=l.p,this.prime=l}else s(w.gtn(1),"modulus must be greater than 1"),this.m=w,this.prime=null}S.prototype._verify1=function(l){s(l.negative===0,"red works only with positives"),s(l.red,"red works only with red numbers")},S.prototype._verify2=function(l,d){s((l.negative|d.negative)===0,"red works only with positives"),s(l.red&&l.red===d.red,"red works only with red numbers")},S.prototype.imod=function(l){return this.prime?this.prime.ireduce(l)._forceRed(this):(B(l,l.umod(this.m)._forceRed(this)),l)},S.prototype.neg=function(l){return l.isZero()?l.clone():this.m.sub(l)._forceRed(this)},S.prototype.add=function(l,d){this._verify2(l,d);var N=l.add(d);return N.cmp(this.m)>=0&&N.isub(this.m),N._forceRed(this)},S.prototype.iadd=function(l,d){this._verify2(l,d);var N=l.iadd(d);return N.cmp(this.m)>=0&&N.isub(this.m),N},S.prototype.sub=function(l,d){this._verify2(l,d);var N=l.sub(d);return N.cmpn(0)<0&&N.iadd(this.m),N._forceRed(this)},S.prototype.isub=function(l,d){this._verify2(l,d);var N=l.isub(d);return N.cmpn(0)<0&&N.iadd(this.m),N},S.prototype.shl=function(l,d){return this._verify1(l),this.imod(l.ushln(d))},S.prototype.imul=function(l,d){return this._verify2(l,d),this.imod(l.imul(d))},S.prototype.mul=function(l,d){return this._verify2(l,d),this.imod(l.mul(d))},S.prototype.isqr=function(l){return this.imul(l,l.clone())},S.prototype.sqr=function(l){return this.mul(l,l)},S.prototype.sqrt=function(l){if(l.isZero())return l.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(l,N)}for(var G=this.m.subn(1),U=0;!G.isZero()&&G.andln(1)===0;)U++,G.iushrn(1);s(!G.isZero());var j=new r(1).toRed(this),P=j.redNeg(),b=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new r(2*c*c).toRed(this);this.pow(c,b).cmp(P)!==0;)c.redIAdd(P);for(var f=this.pow(c,G),R=this.pow(l,G.addn(1).iushrn(1)),K=this.pow(l,G),_=U;K.cmp(j)!==0;){for(var tA=K,CA=0;tA.cmp(j)!==0;CA++)tA=tA.redSqr();s(CA<_);var aA=this.pow(f,new r(1).iushln(_-CA-1));R=R.redMul(aA),f=aA.redSqr(),K=K.redMul(f),_=CA}return R},S.prototype.invm=function(l){var d=l._invmp(this.m);return d.negative!==0?(d.negative=0,this.imod(d).redNeg()):this.imod(d)},S.prototype.pow=function(l,d){if(d.isZero())return new r(1).toRed(this);if(d.cmpn(1)===0)return l.clone();var N=4,G=new Array(1<<N);G[0]=new r(1).toRed(this),G[1]=l;for(var U=2;U<G.length;U++)G[U]=this.mul(G[U-1],l);var j=G[0],P=0,b=0,c=d.bitLength()%26;for(c===0&&(c=26),U=d.length-1;U>=0;U--){for(var f=d.words[U],R=c-1;R>=0;R--){var K=f>>R&1;if(j!==G[0]&&(j=this.sqr(j)),K===0&&P===0){b=0;continue}P<<=1,P|=K,b++,!(b!==N&&(U!==0||R!==0))&&(j=this.mul(j,G[P]),b=0,P=0)}c=26}return j},S.prototype.convertTo=function(l){var d=l.umod(this.m);return d===l?d.clone():d},S.prototype.convertFrom=function(l){var d=l.clone();return d.red=null,d},r.mont=function(l){return new O(l)};function O(w){S.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(O,S),O.prototype.convertTo=function(l){return this.imod(l.ushln(this.shift))},O.prototype.convertFrom=function(l){var d=this.imod(l.mul(this.rinv));return d.red=null,d},O.prototype.imul=function(l,d){if(l.isZero()||d.isZero())return l.words[0]=0,l.length=1,l;var N=l.imul(d),G=N.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),U=N.isub(G).iushrn(this.shift),j=U;return U.cmp(this.m)>=0?j=U.isub(this.m):U.cmpn(0)<0&&(j=U.iadd(this.m)),j._forceRed(this)},O.prototype.mul=function(l,d){if(l.isZero()||d.isZero())return new r(0)._forceRed(this);var N=l.mul(d),G=N.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),U=N.isub(G).iushrn(this.shift),j=U;return U.cmp(this.m)>=0?j=U.isub(this.m):U.cmpn(0)<0&&(j=U.iadd(this.m)),j._forceRed(this)},O.prototype.invm=function(l){var d=this.imod(l._invmp(this.m).mul(this.r2));return d._forceRed(this)}})(A,Iw)})(on)),on.exports}var uw=fE();const GQ=uB(uw);var qr={exports:{}};var vQ;function pE(){return vQ||(vQ=1,(function(A,e){var t=$a(),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 Q=s(i);return a!==void 0?typeof g=="string"?Q.fill(a,g):Q.fill(a):Q.fill(0),Q},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)}})(qr,qr.exports)),qr.exports}var Ci,SQ;function dw(){if(SQ)return Ci;SQ=1;var A=pE().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,Q=t.charAt(0),B=Math.log(g)/Math.log(256),C=Math.log(256)/Math.log(g);function u(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 h=0,k=0,v=0,D=p.length;v!==D&&p[v]===0;)v++,h++;for(var T=(D-v)*C+1>>>0,J=new Uint8Array(T);v!==D;){for(var V=p[v],AA=0,X=T-1;(V!==0||AA<k)&&X!==-1;X--,AA++)V+=256*J[X]>>>0,J[X]=V%g>>>0,V=V/g>>>0;if(V!==0)throw new Error("Non-zero carry");k=AA,v++}for(var L=T-k;L!==T&&J[L]===0;)L++;for(var W=Q.repeat(h);L<T;++L)W+=t.charAt(J[L]);return W}function E(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return A.alloc(0);for(var h=0,k=0,v=0;p[h]===Q;)k++,h++;for(var D=(p.length-h)*B+1>>>0,T=new Uint8Array(D);h<p.length;){var J=p.charCodeAt(h);if(J>255)return;var V=s[J];if(V===255)return;for(var AA=0,X=D-1;(V!==0||AA<v)&&X!==-1;X--,AA++)V+=g*T[X]>>>0,T[X]=V%256>>>0,V=V/256>>>0;if(V!==0)throw new Error("Non-zero carry");v=AA,h++}for(var L=D-v;L!==D&&T[L]===0;)L++;var W=A.allocUnsafe(k+(D-L));W.fill(0,0,k);for(var S=k;L!==D;)W[S++]=T[L++];return W}function I(p){var h=E(p);if(h)return h;throw new Error("Non-base"+g+" character")}return{encode:u,decodeUnsafe:E,decode:I}}return Ci=e,Ci}var Ii,UQ;function hw(){if(UQ)return Ii;UQ=1;var A=dw(),e="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";return Ii=A(e),Ii}var fw=hw();const RQ=uB(fw),KQ=Xl;var We={},ui,JQ;function pw(){if(JQ)return ui;JQ=1;var A=pE().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,Q=t.charAt(0),B=Math.log(g)/Math.log(256),C=Math.log(256)/Math.log(g);function u(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 h=0,k=0,v=0,D=p.length;v!==D&&p[v]===0;)v++,h++;for(var T=(D-v)*C+1>>>0,J=new Uint8Array(T);v!==D;){for(var V=p[v],AA=0,X=T-1;(V!==0||AA<k)&&X!==-1;X--,AA++)V+=256*J[X]>>>0,J[X]=V%g>>>0,V=V/g>>>0;if(V!==0)throw new Error("Non-zero carry");k=AA,v++}for(var L=T-k;L!==T&&J[L]===0;)L++;for(var W=Q.repeat(h);L<T;++L)W+=t.charAt(J[L]);return W}function E(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return A.alloc(0);for(var h=0,k=0,v=0;p[h]===Q;)k++,h++;for(var D=(p.length-h)*B+1>>>0,T=new Uint8Array(D);h<p.length;){var J=p.charCodeAt(h);if(J>255)return;var V=s[J];if(V===255)return;for(var AA=0,X=D-1;(V!==0||AA<v)&&X!==-1;X--,AA++)V+=g*T[X]>>>0,T[X]=V%256>>>0,V=V/256>>>0;if(V!==0)throw new Error("Non-zero carry");v=AA,h++}for(var L=D-v;L!==D&&T[L]===0;)L++;var W=A.allocUnsafe(k+(D-L));W.fill(0,0,k);for(var S=k;L!==D;)W[S++]=T[L++];return W}function I(p){var h=E(p);if(h)return h;throw new Error("Non-base"+g+" character")}return{encode:u,decodeUnsafe:E,decode:I}}return ui=e,ui}var di,LQ;function mw(){if(LQ)return di;LQ=1;var A=pw(),e="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";return di=A(e),di}function Lo(A,e,t){return e<=A&&A<=t}function Yn(A){if(A===void 0)return{};if(A===Object(A))return A;throw TypeError("Could not convert argument to dictionary")}function ww(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 xw(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 dn=-1;function ng(A){this.tokens=[].slice.call(A)}ng.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():dn},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 Os=-1;function hi(A,e){if(A)throw TypeError("Decoder error");return e||65533}var hn="utf-8";function fn(A,e){if(!(this instanceof fn))return new fn(A,e);if(A=A!==void 0?String(A).toLowerCase():hn,A!==hn)throw new Error("Encoding not supported. Only utf-8 is supported");e=Yn(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})}fn.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=Yn(t),this._streaming||(this._decoder=new Dw({fatal:this._fatal}),this._BOMseen=!1),this._streaming=!!t.stream;for(var n=new ng(s),r=[],i;!n.endOfStream()&&(i=this._decoder.handler(n,n.read()),i!==Os);)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===Os)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),xw(r)}};function pn(A,e){if(!(this instanceof pn))return new pn(A,e);if(A=A!==void 0?String(A).toLowerCase():hn,A!==hn)throw new Error("Encoding not supported. Only utf-8 is supported");e=Yn(e),this._streaming=!1,this._encoder=null,this._options={fatal:!!e.fatal},Object.defineProperty(this,"encoding",{value:"utf-8"})}pn.prototype={encode:function(e,t){e=e?String(e):"",t=Yn(t),this._streaming||(this._encoder=new yw(this._options)),this._streaming=!!t.stream;for(var s=[],n=new ng(ww(e)),r;!n.endOfStream()&&(r=this._encoder.handler(n,n.read()),r!==Os);)Array.isArray(r)?s.push.apply(s,r):s.push(r);if(!this._streaming){for(;r=this._encoder.handler(n,n.read()),r!==Os;)Array.isArray(r)?s.push.apply(s,r):s.push(r);this._encoder=null}return new Uint8Array(s)}};function Dw(A){var e=A.fatal,t=0,s=0,n=0,r=128,i=191;this.handler=function(a,g){if(g===dn&&n!==0)return n=0,hi(e);if(g===dn)return Os;if(n===0){if(Lo(g,0,127))return g;if(Lo(g,194,223))n=1,t=g-192;else if(Lo(g,224,239))g===224&&(r=160),g===237&&(i=159),n=2,t=g-224;else if(Lo(g,240,244))g===240&&(r=144),g===244&&(i=143),n=3,t=g-240;else return hi(e);return t=t<<6*n,null}if(!Lo(g,r,i))return t=n=s=0,r=128,i=191,a.prepend(g),hi(e);if(r=128,i=191,s+=1,t+=g-128<<6*(n-s),s!==n)return null;var Q=t;return t=n=s=0,Q}}function yw(A){A.fatal,this.handler=function(e,t){if(t===dn)return Os;if(Lo(t,0,127))return t;var s,n;Lo(t,128,2047)?(s=1,n=192):Lo(t,2048,65535)?(s=2,n=224):Lo(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 Nw=Object.freeze(Object.defineProperty({__proto__:null,TextDecoder:fn,TextEncoder:pn},Symbol.toStringTag,{value:"Module"})),kw=pa(Nw);var jQ;function Mw(){if(jQ)return We;jQ=1;var A=We&&We.__createBinding||(Object.create?(function(L,W,S,O){O===void 0&&(O=S),Object.defineProperty(L,O,{enumerable:!0,get:function(){return W[S]}})}):(function(L,W,S,O){O===void 0&&(O=S),L[O]=W[S]})),e=We&&We.__setModuleDefault||(Object.create?(function(L,W){Object.defineProperty(L,"default",{enumerable:!0,value:W})}):function(L,W){L.default=W}),t=We&&We.__decorate||function(L,W,S,O){var w=arguments.length,l=w<3?W:O===null?O=Object.getOwnPropertyDescriptor(W,S):O,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(L,W,S,O);else for(var N=L.length-1;N>=0;N--)(d=L[N])&&(l=(w<3?d(l):w>3?d(W,S,l):d(W,S))||l);return w>3&&l&&Object.defineProperty(W,S,l),l},s=We&&We.__importStar||function(L){if(L&&L.__esModule)return L;var W={};if(L!=null)for(var S in L)S!=="default"&&Object.hasOwnProperty.call(L,S)&&A(W,L,S);return e(W,L),W},n=We&&We.__importDefault||function(L){return L&&L.__esModule?L:{default:L}};Object.defineProperty(We,"__esModule",{value:!0}),We.deserializeUnchecked=We.deserialize=We.serialize=We.BinaryReader=We.BinaryWriter=We.BorshError=We.baseDecode=We.baseEncode=void 0;const r=n(fE()),i=n(mw()),a=s(kw),g=typeof TextDecoder!="function"?a.TextDecoder:TextDecoder,Q=new g("utf-8",{fatal:!0});function B(L){return typeof L=="string"&&(L=Buffer.from(L,"utf8")),i.default.encode(Buffer.from(L))}We.baseEncode=B;function C(L){return Buffer.from(i.default.decode(L))}We.baseDecode=C;const u=1024;class E 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(".")}}We.BorshError=E;class I{constructor(){this.buf=Buffer.alloc(u),this.length=0}maybeResize(){this.buf.length<16+this.length&&(this.buf=Buffer.concat([this.buf,Buffer.alloc(u)]))}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(u)]),this.length+=W.length}writeString(W){this.maybeResize();const S=Buffer.from(W,"utf8");this.writeU32(S.length),this.writeBuffer(S)}writeFixedArray(W){this.writeBuffer(Buffer.from(W))}writeArray(W,S){this.maybeResize(),this.writeU32(W.length);for(const O of W)this.maybeResize(),S(O)}toArray(){return this.buf.subarray(0,this.length)}}We.BinaryWriter=I;function p(L,W,S){const O=S.value;S.value=function(...w){try{return O.apply(this,w)}catch(l){if(l instanceof RangeError){const d=l.code;if(["ERR_BUFFER_OUT_OF_BOUNDS","ERR_OUT_OF_RANGE"].indexOf(d)>=0)throw new E("Reached the end of buffer when deserializing")}throw l}}}class h{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 E(`Expected buffer length ${W} isn't within bounds`);const S=this.buf.slice(this.offset,this.offset+W);return this.offset+=W,S}readString(){const W=this.readU32(),S=this.readBuffer(W);try{return Q.decode(S)}catch(O){throw new E(`Error decoding UTF-8 string: ${O}`)}}readFixedArray(W){return new Uint8Array(this.readBuffer(W))}readArray(W){const S=this.readU32(),O=Array();for(let w=0;w<S;++w)O.push(W());return O}}t([p],h.prototype,"readU8",null),t([p],h.prototype,"readU16",null),t([p],h.prototype,"readU32",null),t([p],h.prototype,"readU64",null),t([p],h.prototype,"readU128",null),t([p],h.prototype,"readU256",null),t([p],h.prototype,"readU512",null),t([p],h.prototype,"readString",null),t([p],h.prototype,"readFixedArray",null),t([p],h.prototype,"readArray",null),We.BinaryReader=h;function k(L){return L.charAt(0).toUpperCase()+L.slice(1)}function v(L,W,S,O,w){try{if(typeof O=="string")w[`write${k(O)}`](S);else if(O instanceof Array)if(typeof O[0]=="number"){if(S.length!==O[0])throw new E(`Expecting byte array of length ${O[0]}, but got ${S.length} bytes`);w.writeFixedArray(S)}else if(O.length===2&&typeof O[1]=="number"){if(S.length!==O[1])throw new E(`Expecting byte array of length ${O[1]}, but got ${S.length} bytes`);for(let l=0;l<O[1];l++)v(L,null,S[l],O[0],w)}else w.writeArray(S,l=>{v(L,W,l,O[0],w)});else if(O.kind!==void 0)switch(O.kind){case"option":{S==null?w.writeU8(0):(w.writeU8(1),v(L,W,S,O.type,w));break}case"map":{w.writeU32(S.size),S.forEach((l,d)=>{v(L,W,d,O.key,w),v(L,W,l,O.value,w)});break}default:throw new E(`FieldType ${O} unrecognized`)}else D(L,S,w)}catch(l){throw l instanceof E&&l.addToFieldPath(W),l}}function D(L,W,S){if(typeof W.borshSerialize=="function"){W.borshSerialize(S);return}const O=L.get(W.constructor);if(!O)throw new E(`Class ${W.constructor.name} is missing in schema`);if(O.kind==="struct")O.fields.map(([w,l])=>{v(L,w,W[w],l,S)});else if(O.kind==="enum"){const w=W[O.field];for(let l=0;l<O.values.length;++l){const[d,N]=O.values[l];if(d===w){S.writeU8(l),v(L,d,W[d],N,S);break}}}else throw new E(`Unexpected schema kind: ${O.kind} for ${W.constructor.name}`)}function T(L,W,S=I){const O=new S;return D(L,W,O),O.toArray()}We.serialize=T;function J(L,W,S,O){try{if(typeof S=="string")return O[`read${k(S)}`]();if(S instanceof Array){if(typeof S[0]=="number")return O.readFixedArray(S[0]);if(typeof S[1]=="number"){const w=[];for(let l=0;l<S[1];l++)w.push(J(L,null,S[0],O));return w}else return O.readArray(()=>J(L,W,S[0],O))}if(S.kind==="option")return O.readU8()?J(L,W,S.type,O):void 0;if(S.kind==="map"){let w=new Map;const l=O.readU32();for(let d=0;d<l;d++){const N=J(L,W,S.key,O),G=J(L,W,S.value,O);w.set(N,G)}return w}return V(L,S,O)}catch(w){throw w instanceof E&&w.addToFieldPath(W),w}}function V(L,W,S){if(typeof W.borshDeserialize=="function")return W.borshDeserialize(S);const O=L.get(W);if(!O)throw new E(`Class ${W.name} is missing in schema`);if(O.kind==="struct"){const w={};for(const[l,d]of L.get(W).fields)w[l]=J(L,l,d,S);return new W(w)}if(O.kind==="enum"){const w=S.readU8();if(w>=O.values.length)throw new E(`Enum index: ${w} is out of range`);const[l,d]=O.values[w],N=J(L,l,d,S);return new W({[l]:N})}throw new E(`Unexpected schema kind: ${O.kind} for ${W.constructor.name}`)}function AA(L,W,S,O=h){const w=new O(S),l=V(L,W,w);if(w.offset<S.length)throw new E(`Unexpected ${S.length-w.offset} bytes after deserialized data`);return l}We.deserialize=AA;function X(L,W,S,O=h){const w=new O(S);return V(L,W,w)}return We.deserializeUnchecked=X,We}var fi=Mw(),BA={},TQ;function bw(){if(TQ)return BA;TQ=1,Object.defineProperty(BA,"__esModule",{value:!0}),BA.s16=BA.s8=BA.nu64be=BA.u48be=BA.u40be=BA.u32be=BA.u24be=BA.u16be=BA.nu64=BA.u48=BA.u40=BA.u32=BA.u24=BA.u16=BA.u8=BA.offset=BA.greedy=BA.Constant=BA.UTF8=BA.CString=BA.Blob=BA.Boolean=BA.BitField=BA.BitStructure=BA.VariantLayout=BA.Union=BA.UnionLayoutDiscriminator=BA.UnionDiscriminator=BA.Structure=BA.Sequence=BA.DoubleBE=BA.Double=BA.FloatBE=BA.Float=BA.NearInt64BE=BA.NearInt64=BA.NearUInt64BE=BA.NearUInt64=BA.IntBE=BA.Int=BA.UIntBE=BA.UInt=BA.OffsetLayout=BA.GreedyCount=BA.ExternalLayout=BA.bindConstructorLayout=BA.nameWithProperty=BA.Layout=BA.uint8ArrayToBuffer=BA.checkUint8Array=void 0,BA.constant=BA.utf8=BA.cstr=BA.blob=BA.unionLayoutDiscriminator=BA.union=BA.seq=BA.bits=BA.struct=BA.f64be=BA.f64=BA.f32be=BA.f32=BA.ns64be=BA.s48be=BA.s40be=BA.s32be=BA.s24be=BA.s16be=BA.ns64=BA.s48=BA.s40=BA.s32=BA.s24=void 0;const A=$a();function e(c){if(!(c instanceof Uint8Array))throw new TypeError("b must be a Uint8Array")}BA.checkUint8Array=e;function t(c){return e(c),A.Buffer.from(c.buffer,c.byteOffset,c.length)}BA.uint8ArrayToBuffer=t;let s=class{constructor(f,R){if(!Number.isInteger(f))throw new TypeError("span must be an integer");this.span=f,this.property=R}makeDestinationObject(){return{}}getSpan(f,R){if(0>this.span)throw new RangeError("indeterminate span");return this.span}replicate(f){const R=Object.create(this.constructor.prototype);return Object.assign(R,this),R.property=f,R}fromArray(f){}};BA.Layout=s;function n(c,f){return f.property?c+"["+f.property+"]":c}BA.nameWithProperty=n;function r(c,f){if(typeof c!="function")throw new TypeError("Class must be constructor");if(Object.prototype.hasOwnProperty.call(c,"layout_"))throw new Error("Class is already bound to a layout");if(!(f&&f instanceof s))throw new TypeError("layout must be a Layout");if(Object.prototype.hasOwnProperty.call(f,"boundConstructor_"))throw new Error("layout is already bound to a constructor");c.layout_=f,f.boundConstructor_=c,f.makeDestinationObject=(()=>new c),Object.defineProperty(c.prototype,"encode",{value(R,K){return f.encode(this,R,K)},writable:!0}),Object.defineProperty(c,"decode",{value(R,K){return f.decode(R,K)},writable:!0})}BA.bindConstructorLayout=r;class i extends s{isCount(){throw new Error("ExternalLayout is abstract")}}BA.ExternalLayout=i;class a extends i{constructor(f=1,R){if(!Number.isInteger(f)||0>=f)throw new TypeError("elementSpan must be a (positive) integer");super(-1,R),this.elementSpan=f}isCount(){return!0}decode(f,R=0){e(f);const K=f.length-R;return Math.floor(K/this.elementSpan)}encode(f,R,K){return 0}}BA.GreedyCount=a;class g extends i{constructor(f,R=0,K){if(!(f instanceof s))throw new TypeError("layout must be a Layout");if(!Number.isInteger(R))throw new TypeError("offset must be integer or undefined");super(f.span,K||f.property),this.layout=f,this.offset=R}isCount(){return this.layout instanceof Q||this.layout instanceof B}decode(f,R=0){return this.layout.decode(f,R+this.offset)}encode(f,R,K=0){return this.layout.encode(f,R,K+this.offset)}}BA.OffsetLayout=g;class Q extends s{constructor(f,R){if(super(f,R),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(f,R=0){return t(f).readUIntLE(R,this.span)}encode(f,R,K=0){return t(R).writeUIntLE(f,K,this.span),this.span}}BA.UInt=Q;class B extends s{constructor(f,R){if(super(f,R),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(f,R=0){return t(f).readUIntBE(R,this.span)}encode(f,R,K=0){return t(R).writeUIntBE(f,K,this.span),this.span}}BA.UIntBE=B;class C extends s{constructor(f,R){if(super(f,R),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(f,R=0){return t(f).readIntLE(R,this.span)}encode(f,R,K=0){return t(R).writeIntLE(f,K,this.span),this.span}}BA.Int=C;class u extends s{constructor(f,R){if(super(f,R),6<this.span)throw new RangeError("span must not exceed 6 bytes")}decode(f,R=0){return t(f).readIntBE(R,this.span)}encode(f,R,K=0){return t(R).writeIntBE(f,K,this.span),this.span}}BA.IntBE=u;const E=Math.pow(2,32);function I(c){const f=Math.floor(c/E),R=c-f*E;return{hi32:f,lo32:R}}function p(c,f){return c*E+f}class h extends s{constructor(f){super(8,f)}decode(f,R=0){const K=t(f),_=K.readUInt32LE(R),tA=K.readUInt32LE(R+4);return p(tA,_)}encode(f,R,K=0){const _=I(f),tA=t(R);return tA.writeUInt32LE(_.lo32,K),tA.writeUInt32LE(_.hi32,K+4),8}}BA.NearUInt64=h;class k extends s{constructor(f){super(8,f)}decode(f,R=0){const K=t(f),_=K.readUInt32BE(R),tA=K.readUInt32BE(R+4);return p(_,tA)}encode(f,R,K=0){const _=I(f),tA=t(R);return tA.writeUInt32BE(_.hi32,K),tA.writeUInt32BE(_.lo32,K+4),8}}BA.NearUInt64BE=k;class v extends s{constructor(f){super(8,f)}decode(f,R=0){const K=t(f),_=K.readUInt32LE(R),tA=K.readInt32LE(R+4);return p(tA,_)}encode(f,R,K=0){const _=I(f),tA=t(R);return tA.writeUInt32LE(_.lo32,K),tA.writeInt32LE(_.hi32,K+4),8}}BA.NearInt64=v;class D extends s{constructor(f){super(8,f)}decode(f,R=0){const K=t(f),_=K.readInt32BE(R),tA=K.readUInt32BE(R+4);return p(_,tA)}encode(f,R,K=0){const _=I(f),tA=t(R);return tA.writeInt32BE(_.hi32,K),tA.writeUInt32BE(_.lo32,K+4),8}}BA.NearInt64BE=D;class T extends s{constructor(f){super(4,f)}decode(f,R=0){return t(f).readFloatLE(R)}encode(f,R,K=0){return t(R).writeFloatLE(f,K),4}}BA.Float=T;class J extends s{constructor(f){super(4,f)}decode(f,R=0){return t(f).readFloatBE(R)}encode(f,R,K=0){return t(R).writeFloatBE(f,K),4}}BA.FloatBE=J;class V extends s{constructor(f){super(8,f)}decode(f,R=0){return t(f).readDoubleLE(R)}encode(f,R,K=0){return t(R).writeDoubleLE(f,K),8}}BA.Double=V;class AA extends s{constructor(f){super(8,f)}decode(f,R=0){return t(f).readDoubleBE(R)}encode(f,R,K=0){return t(R).writeDoubleBE(f,K),8}}BA.DoubleBE=AA;class X extends s{constructor(f,R,K){if(!(f instanceof s))throw new TypeError("elementLayout must be a Layout");if(!(R instanceof i&&R.isCount()||Number.isInteger(R)&&0<=R))throw new TypeError("count must be non-negative integer or an unsigned integer ExternalLayout");let _=-1;!(R instanceof i)&&0<f.span&&(_=R*f.span),super(_,K),this.elementLayout=f,this.count=R}getSpan(f,R=0){if(0<=this.span)return this.span;let K=0,_=this.count;if(_ instanceof i&&(_=_.decode(f,R)),0<this.elementLayout.span)K=_*this.elementLayout.span;else{let tA=0;for(;tA<_;)K+=this.elementLayout.getSpan(f,R+K),++tA}return K}decode(f,R=0){const K=[];let _=0,tA=this.count;for(tA instanceof i&&(tA=tA.decode(f,R));_<tA;)K.push(this.elementLayout.decode(f,R)),R+=this.elementLayout.getSpan(f,R),_+=1;return K}encode(f,R,K=0){const _=this.elementLayout,tA=f.reduce((CA,aA)=>CA+_.encode(aA,R,K+CA),0);return this.count instanceof i&&this.count.encode(f.length,R,K),tA}}BA.Sequence=X;class L extends s{constructor(f,R,K){if(!(Array.isArray(f)&&f.reduce((tA,CA)=>tA&&CA instanceof s,!0)))throw new TypeError("fields must be array of Layout instances");typeof R=="boolean"&&K===void 0&&(K=R,R=void 0);for(const tA of f)if(0>tA.span&&tA.property===void 0)throw new Error("fields cannot contain unnamed variable-length layout");let _=-1;try{_=f.reduce((tA,CA)=>tA+CA.getSpan(),0)}catch{}super(_,R),this.fields=f,this.decodePrefixes=!!K}getSpan(f,R=0){if(0<=this.span)return this.span;let K=0;try{K=this.fields.reduce((_,tA)=>{const CA=tA.getSpan(f,R);return R+=CA,_+CA},0)}catch{throw new RangeError("indeterminate span")}return K}decode(f,R=0){e(f);const K=this.makeDestinationObject();for(const _ of this.fields)if(_.property!==void 0&&(K[_.property]=_.decode(f,R)),R+=_.getSpan(f,R),this.decodePrefixes&&f.length===R)break;return K}encode(f,R,K=0){const _=K;let tA=0,CA=0;for(const aA of this.fields){let RA=aA.span;if(CA=0<RA?RA:0,aA.property!==void 0){const MA=f[aA.property];MA!==void 0&&(CA=aA.encode(MA,R,K),0>RA&&(RA=aA.getSpan(R,K)))}tA=K,K+=RA}return tA+CA-_}fromArray(f){const R=this.makeDestinationObject();for(const K of this.fields)K.property!==void 0&&0<f.length&&(R[K.property]=f.shift());return R}layoutFor(f){if(typeof f!="string")throw new TypeError("property must be string");for(const R of this.fields)if(R.property===f)return R}offsetOf(f){if(typeof f!="string")throw new TypeError("property must be string");let R=0;for(const K of this.fields){if(K.property===f)return R;0>K.span?R=-1:0<=R&&(R+=K.span)}}}BA.Structure=L;class W{constructor(f){this.property=f}decode(f,R){throw new Error("UnionDiscriminator is abstract")}encode(f,R,K){throw new Error("UnionDiscriminator is abstract")}}BA.UnionDiscriminator=W;class S extends W{constructor(f,R){if(!(f instanceof i&&f.isCount()))throw new TypeError("layout must be an unsigned integer ExternalLayout");super(R||f.property||"variant"),this.layout=f}decode(f,R){return this.layout.decode(f,R)}encode(f,R,K){return this.layout.encode(f,R,K)}}BA.UnionLayoutDiscriminator=S;class O extends s{constructor(f,R,K){let _;if(f instanceof Q||f instanceof B)_=new S(new g(f));else if(f instanceof i&&f.isCount())_=new S(f);else if(f instanceof W)_=f;else throw new TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(R===void 0&&(R=null),!(R===null||R instanceof s))throw new TypeError("defaultLayout must be null or a Layout");if(R!==null){if(0>R.span)throw new Error("defaultLayout must have constant span");R.property===void 0&&(R=R.replicate("content"))}let tA=-1;R&&(tA=R.span,0<=tA&&(f instanceof Q||f instanceof B)&&(tA+=_.layout.span)),super(tA,K),this.discriminator=_,this.usesPrefixDiscriminator=f instanceof Q||f instanceof B,this.defaultLayout=R,this.registry={};let CA=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(aA){return CA(aA)},this.configGetSourceVariant=function(aA){CA=aA.bind(this)}}getSpan(f,R=0){if(0<=this.span)return this.span;const K=this.getVariant(f,R);if(!K)throw new Error("unable to determine span for unrecognized variant");return K.getSpan(f,R)}defaultGetSourceVariant(f){if(Object.prototype.hasOwnProperty.call(f,this.discriminator.property)){if(this.defaultLayout&&this.defaultLayout.property&&Object.prototype.hasOwnProperty.call(f,this.defaultLayout.property))return;const R=this.registry[f[this.discriminator.property]];if(R&&(!R.layout||R.property&&Object.prototype.hasOwnProperty.call(f,R.property)))return R}else for(const R in this.registry){const K=this.registry[R];if(K.property&&Object.prototype.hasOwnProperty.call(f,K.property))return K}throw new Error("unable to infer src variant")}decode(f,R=0){let K;const _=this.discriminator,tA=_.decode(f,R),CA=this.registry[tA];if(CA===void 0){const aA=this.defaultLayout;let RA=0;this.usesPrefixDiscriminator&&(RA=_.layout.span),K=this.makeDestinationObject(),K[_.property]=tA,K[aA.property]=aA.decode(f,R+RA)}else K=CA.decode(f,R);return K}encode(f,R,K=0){const _=this.getSourceVariant(f);if(_===void 0){const tA=this.discriminator,CA=this.defaultLayout;let aA=0;return this.usesPrefixDiscriminator&&(aA=tA.layout.span),tA.encode(f[tA.property],R,K),aA+CA.encode(f[CA.property],R,K+aA)}return _.encode(f,R,K)}addVariant(f,R,K){const _=new w(this,f,R,K);return this.registry[f]=_,_}getVariant(f,R=0){let K;return f instanceof Uint8Array?K=this.discriminator.decode(f,R):K=f,this.registry[K]}}BA.Union=O;class w extends s{constructor(f,R,K,_){if(!(f instanceof O))throw new TypeError("union must be a Union");if(!Number.isInteger(R)||0>R)throw new TypeError("variant must be a (non-negative) integer");if(typeof K=="string"&&_===void 0&&(_=K,K=null),K){if(!(K instanceof s))throw new TypeError("layout must be a Layout");if(f.defaultLayout!==null&&0<=K.span&&K.span>f.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=f.span;0>f.span&&(tA=K?K.span:0,0<=tA&&f.usesPrefixDiscriminator&&(tA+=f.discriminator.layout.span)),super(tA,_),this.union=f,this.variant=R,this.layout=K||null}getSpan(f,R=0){if(0<=this.span)return this.span;let K=0;this.union.usesPrefixDiscriminator&&(K=this.union.discriminator.layout.span);let _=0;return this.layout&&(_=this.layout.getSpan(f,R+K)),K+_}decode(f,R=0){const K=this.makeDestinationObject();if(this!==this.union.getVariant(f,R))throw new Error("variant mismatch");let _=0;return this.union.usesPrefixDiscriminator&&(_=this.union.discriminator.layout.span),this.layout?K[this.property]=this.layout.decode(f,R+_):this.property?K[this.property]=!0:this.union.usesPrefixDiscriminator&&(K[this.union.discriminator.property]=this.variant),K}encode(f,R,K=0){let _=0;if(this.union.usesPrefixDiscriminator&&(_=this.union.discriminator.layout.span),this.layout&&!Object.prototype.hasOwnProperty.call(f,this.property))throw new TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,R,K);let tA=_;if(this.layout&&(this.layout.encode(f[this.property],R,K+_),tA+=this.layout.getSpan(R,K+_),0<=this.union.span&&tA>this.union.span))throw new Error("encoded variant overruns containing union");return tA}fromArray(f){if(this.layout)return this.layout.fromArray(f)}}BA.VariantLayout=w;function l(c){return 0>c&&(c+=4294967296),c}class d extends s{constructor(f,R,K){if(!(f instanceof Q||f instanceof B))throw new TypeError("word must be a UInt or UIntBE layout");if(typeof R=="string"&&K===void 0&&(K=R,R=!1),4<f.span)throw new RangeError("word cannot exceed 32 bits");super(f.span,K),this.word=f,this.msb=!!R,this.fields=[];let _=0;this._packedSetValue=function(tA){return _=l(tA),this},this._packedGetValue=function(){return _}}decode(f,R=0){const K=this.makeDestinationObject(),_=this.word.decode(f,R);this._packedSetValue(_);for(const tA of this.fields)tA.property!==void 0&&(K[tA.property]=tA.decode(f));return K}encode(f,R,K=0){const _=this.word.decode(R,K);this._packedSetValue(_);for(const tA of this.fields)if(tA.property!==void 0){const CA=f[tA.property];CA!==void 0&&tA.encode(CA)}return this.word.encode(this._packedGetValue(),R,K)}addField(f,R){const K=new N(this,f,R);return this.fields.push(K),K}addBoolean(f){const R=new G(this,f);return this.fields.push(R),R}fieldFor(f){if(typeof f!="string")throw new TypeError("property must be string");for(const R of this.fields)if(R.property===f)return R}}BA.BitStructure=d;class N{constructor(f,R,K){if(!(f instanceof d))throw new TypeError("container must be a BitStructure");if(!Number.isInteger(R)||0>=R)throw new TypeError("bits must be positive integer");const _=8*f.span,tA=f.fields.reduce((CA,aA)=>CA+aA.bits,0);if(R+tA>_)throw new Error("bits too long for span remainder ("+(_-tA)+" of "+_+" remain)");this.container=f,this.bits=R,this.valueMask=(1<<R)-1,R===32&&(this.valueMask=4294967295),this.start=tA,this.container.msb&&(this.start=_-tA-R),this.wordMask=l(this.valueMask<<this.start),this.property=K}decode(f,R){const K=this.container._packedGetValue();return l(K&this.wordMask)>>>this.start}encode(f){if(typeof f!="number"||!Number.isInteger(f)||f!==l(f&this.valueMask))throw new TypeError(n("BitField.encode",this)+" value must be integer not exceeding "+this.valueMask);const R=this.container._packedGetValue(),K=l(f<<this.start);this.container._packedSetValue(l(R&~this.wordMask)|K)}}BA.BitField=N;class G extends N{constructor(f,R){super(f,1,R)}decode(f,R){return!!super.decode(f,R)}encode(f){typeof f=="boolean"&&(f=+f),super.encode(f)}}BA.Boolean=G;class U extends s{constructor(f,R){if(!(f instanceof i&&f.isCount()||Number.isInteger(f)&&0<=f))throw new TypeError("length must be positive integer or an unsigned integer ExternalLayout");let K=-1;f instanceof i||(K=f),super(K,R),this.length=f}getSpan(f,R){let K=this.span;return 0>K&&(K=this.length.decode(f,R)),K}decode(f,R=0){let K=this.span;return 0>K&&(K=this.length.decode(f,R)),t(f).slice(R,R+K)}encode(f,R,K){let _=this.length;if(this.length instanceof i&&(_=f.length),!(f instanceof Uint8Array&&_===f.length))throw new TypeError(n("Blob.encode",this)+" requires (length "+_+") Uint8Array as src");if(K+_>R.length)throw new RangeError("encoding overruns Uint8Array");const tA=t(f);return t(R).write(tA.toString("hex"),K,_,"hex"),this.length instanceof i&&this.length.encode(_,R,K),_}}BA.Blob=U;class j extends s{constructor(f){super(-1,f)}getSpan(f,R=0){e(f);let K=R;for(;K<f.length&&f[K]!==0;)K+=1;return 1+K-R}decode(f,R=0){const K=this.getSpan(f,R);return t(f).slice(R,R+K-1).toString("utf-8")}encode(f,R,K=0){typeof f!="string"&&(f=String(f));const _=A.Buffer.from(f,"utf8"),tA=_.length;if(K+tA>R.length)throw new RangeError("encoding overruns Buffer");const CA=t(R);return _.copy(CA,K),CA[K+tA]=0,tA+1}}BA.CString=j;class P extends s{constructor(f,R){if(typeof f=="string"&&R===void 0&&(R=f,f=void 0),f===void 0)f=-1;else if(!Number.isInteger(f))throw new TypeError("maxSpan must be an integer");super(-1,R),this.maxSpan=f}getSpan(f,R=0){return e(f),f.length-R}decode(f,R=0){const K=this.getSpan(f,R);if(0<=this.maxSpan&&this.maxSpan<K)throw new RangeError("text length exceeds maxSpan");return t(f).slice(R,R+K).toString("utf-8")}encode(f,R,K=0){typeof f!="string"&&(f=String(f));const _=A.Buffer.from(f,"utf8"),tA=_.length;if(0<=this.maxSpan&&this.maxSpan<tA)throw new RangeError("text length exceeds maxSpan");if(K+tA>R.length)throw new RangeError("encoding overruns Buffer");return _.copy(t(R),K),tA}}BA.UTF8=P;class b extends s{constructor(f,R){super(0,R),this.value=f}decode(f,R){return this.value}encode(f,R,K){return 0}}return BA.Constant=b,BA.greedy=((c,f)=>new a(c,f)),BA.offset=((c,f,R)=>new g(c,f,R)),BA.u8=(c=>new Q(1,c)),BA.u16=(c=>new Q(2,c)),BA.u24=(c=>new Q(3,c)),BA.u32=(c=>new Q(4,c)),BA.u40=(c=>new Q(5,c)),BA.u48=(c=>new Q(6,c)),BA.nu64=(c=>new h(c)),BA.u16be=(c=>new B(2,c)),BA.u24be=(c=>new B(3,c)),BA.u32be=(c=>new B(4,c)),BA.u40be=(c=>new B(5,c)),BA.u48be=(c=>new B(6,c)),BA.nu64be=(c=>new k(c)),BA.s8=(c=>new C(1,c)),BA.s16=(c=>new C(2,c)),BA.s24=(c=>new C(3,c)),BA.s32=(c=>new C(4,c)),BA.s40=(c=>new C(5,c)),BA.s48=(c=>new C(6,c)),BA.ns64=(c=>new v(c)),BA.s16be=(c=>new u(2,c)),BA.s24be=(c=>new u(3,c)),BA.s32be=(c=>new u(4,c)),BA.s40be=(c=>new u(5,c)),BA.s48be=(c=>new u(6,c)),BA.ns64be=(c=>new D(c)),BA.f32=(c=>new T(c)),BA.f32be=(c=>new J(c)),BA.f64=(c=>new V(c)),BA.f64be=(c=>new AA(c)),BA.struct=((c,f,R)=>new L(c,f,R)),BA.bits=((c,f,R)=>new d(c,f,R)),BA.seq=((c,f,R)=>new X(c,f,R)),BA.union=((c,f,R)=>new O(c,f,R)),BA.unionLayoutDiscriminator=((c,f)=>new S(c,f)),BA.blob=((c,f)=>new U(c,f)),BA.cstr=(c=>new j(c)),BA.utf8=((c,f)=>new P(c,f)),BA.constant=((c,f)=>new b(c,f)),BA}var sA=bw(),Fw=8078011;function mE(A){return Array.isArray(A)?"%5B"+A.map(mE).join("%2C%20")+"%5D":typeof A=="bigint"?`${A}n`:encodeURIComponent(String(A!=null&&Object.getPrototypeOf(A)===null?{...A}:A))}function Gw([A,e]){return`${A}=${mE(e)}`}function vw(A){const e=Object.entries(A).map(Gw).join("&");return btoa(e)}function Sw(A,e={}){{let t=`Solana error #${A}; Decode this error by running \`npx @solana/errors decode -- ${A}`;return Object.keys(e).length&&(t+=` '${vw(e)}'`),`${t}\``}}var Uw=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=Sw(e,s);super(r,n),this.context={__code:e,...s},this.name="SolanaError"}},Rw=8078e3,Kw=8078001,Jw=8078004,Lw=8078005,jw=8078006;function wE(A){return Array.isArray(A)?"%5B"+A.map(wE).join("%2C%20")+"%5D":typeof A=="bigint"?`${A}n`:encodeURIComponent(String(A!=null&&Object.getPrototypeOf(A)===null?{...A}:A))}function Tw([A,e]){return`${A}=${wE(e)}`}function Ow(A){const e=Object.entries(A).map(Tw).join("&");return btoa(e)}function qw(A,e={}){{let t=`Solana error #${A}; Decode this error by running \`npx @solana/errors decode -- ${A}`;return Object.keys(e).length&&(t+=` '${Ow(e)}'`),`${t}\``}}var ar=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=qw(A,t);super(n,s),this.context={__code:A,...t},this.name="SolanaError"}};function Yw(A,e){return"fixedSize"in e?e.fixedSize:e.getSizeFromValue(A)}function Hw(A){return Object.freeze({...A,encode:e=>{const t=new Uint8Array(Yw(e,A));return A.write(e,t,0),t}})}function Pw(A){return Object.freeze({...A,decode:(e,t=0)=>A.read(e,t)[0]})}function Ss(A){return"fixedSize"in A&&typeof A.fixedSize=="number"}function Ww(A,e){if(Ss(A)!==Ss(e))throw new ar(Jw);if(Ss(A)&&Ss(e)&&A.fixedSize!==e.fixedSize)throw new ar(Lw,{decoderFixedSize:e.fixedSize,encoderFixedSize:A.fixedSize});if(!Ss(A)&&!Ss(e)&&A.maxSize!==e.maxSize)throw new ar(jw,{decoderMaxSize:e.maxSize,encoderMaxSize:A.maxSize});return{...e,...A,decode:e.decode,encode:A.encode,read:e.read,write:A.write}}function zw(A,e,t=0){if(e.length-t<=0)throw new ar(Rw,{codecDescription:A})}function Vw(A,e,t,s=0){const n=t.length-s;if(n<e)throw new ar(Kw,{bytesLength:n,codecDescription:A,expected:e})}function Zw(A,e,t,s){if(s<e||s>t)throw new Uw(Fw,{codecDescription:A,max:t,min:e,value:s})}function xE(A){return A?.endian!==1}function _w(A){return Hw({fixedSize:A.size,write(e,t,s){A.range&&Zw(A.name,A.range[0],A.range[1],e);const n=new ArrayBuffer(A.size);return A.set(new DataView(n),e,xE(A.config)),t.set(new Uint8Array(n),s),s+A.size}})}function Xw(A){return Pw({fixedSize:A.size,read(e,t=0){zw(A.name,e,t),Vw(A.name,A.size,e,t);const s=new DataView($w(e,t,A.size));return[A.get(s,xE(A.config)),t+A.size]}})}function $w(A,e,t){const s=A.byteOffset+(e??0),n=t??A.byteLength;return A.buffer.slice(s,s+n)}var Ax=(A={})=>_w({config:A,name:"u64",range:[0n,BigInt("0xffffffffffffffff")],set:(e,t,s)=>e.setBigUint64(0,BigInt(t),s),size:8}),ex=(A={})=>Xw({config:A,get:(e,t)=>e.getBigUint64(0,t),name:"u64",size:8}),tx=(A={})=>Ww(Ax(A),ex(A));class ox 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 sx(A){return br(A)&&typeof A[Symbol.iterator]=="function"}function br(A){return typeof A=="object"&&A!=null}function mn(A){return br(A)&&!Array.isArray(A)}function fo(A){return typeof A=="symbol"?A.toString():typeof A=="string"?JSON.stringify(A):`${A}`}function rx(A){const{done:e,value:t}=A.next();return e?void 0:t}function nx(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: \`${fo(s)}\``}=A;return{value:s,type:i,refinement:a,key:n[n.length-1],path:n,branch:r,...A,message:g}}function*OQ(A,e,t,s){sx(A)||(A=[A]);for(const n of A){const r=nx(n,e,t,s);r&&(yield r)}}function*ig(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 Q of e.validator(A,a))Q.explanation=t.message,g="not_valid",yield[Q,void 0];for(let[Q,B,C]of e.entries(A,a)){const u=ig(B,C,{path:Q===void 0?s:[...s,Q],branch:Q===void 0?n:[...n,B],coerce:r,mask:i,message:t.message});for(const E of u)E[0]?(g=E[0].refinement!=null?"not_refined":"not_valid",yield[E[0],void 0]):r&&(B=E[1],Q===void 0?A=B:A instanceof Map?A.set(Q,B):A instanceof Set?A.add(B):br(A)&&(B!==void 0||Q in A)&&(A[Q]=B))}if(g!=="not_valid")for(const Q of e.refiner(A,a))Q.explanation=t.message,g="not_refined",yield[Q,void 0];g==="valid"&&(yield[void 0,A])}let Fo=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,Q)=>{const B=n(g,Q);return OQ(B,Q,this,g)}:this.validator=()=>[],r?this.refiner=(g,Q)=>{const B=r(g,Q);return OQ(B,Q,this,g)}:this.refiner=()=>[]}assert(e,t){return ix(e,this,t)}create(e,t){return cr(e,this,t)}is(e){return DE(e,this)}mask(e,t){return ax(e,this,t)}validate(e,t={}){return Fr(e,this,t)}};function ix(A,e,t){const s=Fr(A,e,{message:t});if(s[0])throw s[0]}function cr(A,e,t){const s=Fr(A,e,{coerce:!0,message:t});if(s[0])throw s[0];return s[1]}function ax(A,e,t){const s=Fr(A,e,{coerce:!0,mask:!0,message:t});if(s[0])throw s[0];return s[1]}function DE(A,e){return!Fr(A,e)[0]}function Fr(A,e,t={}){const s=ig(A,e,t),n=rx(s);return n[0]?[new ox(n[0],function*(){for(const i of s)i[0]&&(yield i[0])}),void 0]:[void 0,n[1]]}function Ds(A,e){return new Fo({type:A,schema:null,validator:e})}function gx(){return Ds("any",()=>!0)}function OA(A){return new Fo({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: ${fo(e)}`}})}function Mo(){return Ds("boolean",A=>typeof A=="boolean")}function ag(A){return Ds("instance",e=>e instanceof A||`Expected a \`${A.name}\` instance, but received: ${fo(e)}`)}function rt(A){const e=fo(A),t=typeof A;return new Fo({type:"literal",schema:t==="string"||t==="number"||t==="boolean"?A:null,validator(s){return s===A||`Expected the literal \`${e}\`, but received: ${fo(s)}`}})}function Qx(){return Ds("never",()=>!1)}function qA(A){return new Fo({...A,validator:(e,t)=>e===null||A.validator(e,t),refiner:(e,t)=>e===null||A.refiner(e,t)})}function gA(){return Ds("number",A=>typeof A=="number"&&!isNaN(A)||`Expected a number, but received: ${fo(A)}`)}function Ae(A){return new Fo({...A,validator:(e,t)=>e===void 0||A.validator(e,t),refiner:(e,t)=>e===void 0||A.refiner(e,t)})}function yE(A,e){return new Fo({type:"record",schema:null,*entries(t){if(br(t))for(const s in t){const n=t[s];yield[s,s,A],yield[s,n,e]}},validator(t){return mn(t)||`Expected an object, but received: ${fo(t)}`},coercer(t){return mn(t)?{...t}:t}})}function vA(){return Ds("string",A=>typeof A=="string"||`Expected a string, but received: ${fo(A)}`)}function gg(A){const e=Qx();return new Fo({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: ${fo(t)}`},coercer(t){return Array.isArray(t)?t.slice():t}})}function wA(A){const e=Object.keys(A);return new Fo({type:"type",schema:A,*entries(t){if(br(t))for(const s of e)yield[s,t[s],A[s]]},validator(t){return mn(t)||`Expected an object, but received: ${fo(t)}`},coercer(t){return mn(t)?{...t}:t}})}function Vt(A){const e=A.map(t=>t.type).join(" | ");return new Fo({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]=ig(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: ${fo(t)}`,...n]}})}function _s(){return Ds("unknown",()=>!0)}function Gr(A,e,t){return new Fo({...A,coercer:(s,n)=>DE(s,e)?A.coercer(t(s,n),n):A.coercer(s,n)})}var Yr,Bx=new Uint8Array(16);function NE(){if(!Yr&&(Yr=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!Yr))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Yr(Bx)}const lx=/^(?:[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 Hn(A){return typeof A=="string"&&lx.test(A)}var kt=[];for(var pi=0;pi<256;++pi)kt.push((pi+256).toString(16).substr(1));function Pn(A){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,t=(kt[A[e+0]]+kt[A[e+1]]+kt[A[e+2]]+kt[A[e+3]]+"-"+kt[A[e+4]]+kt[A[e+5]]+"-"+kt[A[e+6]]+kt[A[e+7]]+"-"+kt[A[e+8]]+kt[A[e+9]]+"-"+kt[A[e+10]]+kt[A[e+11]]+kt[A[e+12]]+kt[A[e+13]]+kt[A[e+14]]+kt[A[e+15]]).toLowerCase();if(!Hn(t))throw TypeError("Stringified UUID is invalid");return t}var qQ,mi,wi=0,xi=0;function Ex(A,e,t){var s=e&&t||0,n=e||new Array(16);A=A||{};var r=A.node||qQ,i=A.clockseq!==void 0?A.clockseq:mi;if(r==null||i==null){var a=A.random||(A.rng||NE)();r==null&&(r=qQ=[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(),Q=A.nsecs!==void 0?A.nsecs:xi+1,B=g-wi+(Q-xi)/1e4;if(B<0&&A.clockseq===void 0&&(i=i+1&16383),(B<0||g>wi)&&A.nsecs===void 0&&(Q=0),Q>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");wi=g,xi=Q,mi=i,g+=122192928e5;var C=((g&268435455)*1e4+Q)%4294967296;n[s++]=C>>>24&255,n[s++]=C>>>16&255,n[s++]=C>>>8&255,n[s++]=C&255;var u=g/4294967296*1e4&268435455;n[s++]=u>>>8&255,n[s++]=u&255,n[s++]=u>>>24&15|16,n[s++]=u>>>16&255,n[s++]=i>>>8|128,n[s++]=i&255;for(var E=0;E<6;++E)n[s+E]=r[E];return e||Pn(n)}function kE(A){if(!Hn(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 cx(A){A=unescape(encodeURIComponent(A));for(var e=[],t=0;t<A.length;++t)e.push(A.charCodeAt(t));return e}var Cx="6ba7b810-9dad-11d1-80b4-00c04fd430c8",Ix="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function ME(A,e,t){function s(n,r,i,a){if(typeof n=="string"&&(n=cx(n)),typeof r=="string"&&(r=kE(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 Q=0;Q<16;++Q)i[a+Q]=g[Q];return i}return Pn(g)}try{s.name=A}catch{}return s.DNS=Cx,s.URL=Ix,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 dx(hx(fx(A),A.length*8))}function dx(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 bE(A){return(A+64>>>9<<4)+14+1}function hx(A,e){A[e>>5]|=128<<e%32,A[bE(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,Q=n,B=r;t=Jt(t,s,n,r,A[i],7,-680876936),r=Jt(r,t,s,n,A[i+1],12,-389564586),n=Jt(n,r,t,s,A[i+2],17,606105819),s=Jt(s,n,r,t,A[i+3],22,-1044525330),t=Jt(t,s,n,r,A[i+4],7,-176418897),r=Jt(r,t,s,n,A[i+5],12,1200080426),n=Jt(n,r,t,s,A[i+6],17,-1473231341),s=Jt(s,n,r,t,A[i+7],22,-45705983),t=Jt(t,s,n,r,A[i+8],7,1770035416),r=Jt(r,t,s,n,A[i+9],12,-1958414417),n=Jt(n,r,t,s,A[i+10],17,-42063),s=Jt(s,n,r,t,A[i+11],22,-1990404162),t=Jt(t,s,n,r,A[i+12],7,1804603682),r=Jt(r,t,s,n,A[i+13],12,-40341101),n=Jt(n,r,t,s,A[i+14],17,-1502002290),s=Jt(s,n,r,t,A[i+15],22,1236535329),t=Lt(t,s,n,r,A[i+1],5,-165796510),r=Lt(r,t,s,n,A[i+6],9,-1069501632),n=Lt(n,r,t,s,A[i+11],14,643717713),s=Lt(s,n,r,t,A[i],20,-373897302),t=Lt(t,s,n,r,A[i+5],5,-701558691),r=Lt(r,t,s,n,A[i+10],9,38016083),n=Lt(n,r,t,s,A[i+15],14,-660478335),s=Lt(s,n,r,t,A[i+4],20,-405537848),t=Lt(t,s,n,r,A[i+9],5,568446438),r=Lt(r,t,s,n,A[i+14],9,-1019803690),n=Lt(n,r,t,s,A[i+3],14,-187363961),s=Lt(s,n,r,t,A[i+8],20,1163531501),t=Lt(t,s,n,r,A[i+13],5,-1444681467),r=Lt(r,t,s,n,A[i+2],9,-51403784),n=Lt(n,r,t,s,A[i+7],14,1735328473),s=Lt(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=_o(t,a),s=_o(s,g),n=_o(n,Q),r=_o(r,B)}return[t,s,n,r]}function fx(A){if(A.length===0)return[];for(var e=A.length*8,t=new Uint32Array(bE(e)),s=0;s<e;s+=8)t[s>>5]|=(A[s/8]&255)<<s%32;return t}function _o(A,e){var t=(A&65535)+(e&65535),s=(A>>16)+(e>>16)+(t>>16);return s<<16|t&65535}function px(A,e){return A<<e|A>>>32-e}function Wn(A,e,t,s,n,r){return _o(px(_o(_o(e,A),_o(s,r)),n),t)}function Jt(A,e,t,s,n,r,i){return Wn(e&t|~e&s,A,e,n,r,i)}function Lt(A,e,t,s,n,r,i){return Wn(e&s|t&~s,A,e,n,r,i)}function jt(A,e,t,s,n,r,i){return Wn(e^t^s,A,e,n,r,i)}function Tt(A,e,t,s,n,r,i){return Wn(t^(e|~s),A,e,n,r,i)}var mx=ME("v3",48,ux);function wx(A,e,t){A=A||{};var s=A.random||(A.rng||NE)();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 Pn(s)}function xx(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 Di(A,e){return A<<e|A>>>32-e}function Dx(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 Q=new Uint32Array(16),B=0;B<16;++B)Q[B]=A[g*64+B*4]<<24|A[g*64+B*4+1]<<16|A[g*64+B*4+2]<<8|A[g*64+B*4+3];a[g]=Q}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 C=0;C<i;++C){for(var u=new Uint32Array(80),E=0;E<16;++E)u[E]=a[C][E];for(var I=16;I<80;++I)u[I]=Di(u[I-3]^u[I-8]^u[I-14]^u[I-16],1);for(var p=t[0],h=t[1],k=t[2],v=t[3],D=t[4],T=0;T<80;++T){var J=Math.floor(T/20),V=Di(p,5)+xx(J,h,k,v)+D+e[J]+u[T]>>>0;D=v,v=k,k=Di(h,30)>>>0,h=p,p=V}t[0]=t[0]+p>>>0,t[1]=t[1]+h>>>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=ME("v5",80,Dx);const Nx="00000000-0000-0000-0000-000000000000";function kx(A){if(!Hn(A))throw TypeError("Invalid UUID");return parseInt(A.substr(14,1),16)}const Mx=Object.freeze(Object.defineProperty({__proto__:null,NIL:Nx,parse:kE,stringify:Pn,v1:Ex,v3:mx,v4:wx,v5:yx,validate:Hn,version:kx},Symbol.toStringTag,{value:"Module"})),FE=pa(Mx);var yi,YQ;function bx(){if(YQ)return yi;YQ=1;const A=FE.v4;return yi=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},yi}var Ni,HQ;function Fx(){if(HQ)return Ni;HQ=1;const A=FE.v4,e=bx(),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 Ni=t,t.prototype.request=function(s,n,r,i){const a=this;let g=null;const Q=Array.isArray(s)&&typeof n=="function";if(this.options.version===1&&Q)throw new TypeError("JSON-RPC 1.0 does not support batching");if(Q||!Q&&s&&typeof s=="object"&&typeof n=="function")i=n,g=s;else{typeof r=="function"&&(i=r,r=void 0);const u=typeof i=="function";try{g=e(s,n,r,{generator:this.options.generator,version:this.options.version,notificationIdNull:this.options.notificationIdNull})}catch(E){if(u){i(E);return}throw E}if(!u)return g}let C;try{C=JSON.stringify(g,this.options.replacer)}catch(u){i(u);return}return this.callServer(C,function(u,E){a._parseResponse(u,E,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(Q){return typeof Q.error<"u"},g=function(Q){return!a(Q)};r(null,i.filter(a),i.filter(g));return}else{r(null,i.error,i.result);return}r(null,i)},Ni}Fx();var ki={exports:{}},PQ;function Gx(){return PQ||(PQ=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,Q,B){this.fn=g,this.context=Q,this.once=B||!1}function r(g,Q,B,C,u){if(typeof B!="function")throw new TypeError("The listener must be a function");var E=new n(B,C||g,u),I=t?t+Q:Q;return g._events[I]?g._events[I].fn?g._events[I]=[g._events[I],E]:g._events[I].push(E):(g._events[I]=E,g._eventsCount++),g}function i(g,Q){--g._eventsCount===0?g._events=new s:delete g._events[Q]}function a(){this._events=new s,this._eventsCount=0}a.prototype.eventNames=function(){var Q=[],B,C;if(this._eventsCount===0)return Q;for(C in B=this._events)e.call(B,C)&&Q.push(t?C.slice(1):C);return Object.getOwnPropertySymbols?Q.concat(Object.getOwnPropertySymbols(B)):Q},a.prototype.listeners=function(Q){var B=t?t+Q:Q,C=this._events[B];if(!C)return[];if(C.fn)return[C.fn];for(var u=0,E=C.length,I=new Array(E);u<E;u++)I[u]=C[u].fn;return I},a.prototype.listenerCount=function(Q){var B=t?t+Q:Q,C=this._events[B];return C?C.fn?1:C.length:0},a.prototype.emit=function(Q,B,C,u,E,I){var p=t?t+Q:Q;if(!this._events[p])return!1;var h=this._events[p],k=arguments.length,v,D;if(h.fn){switch(h.once&&this.removeListener(Q,h.fn,void 0,!0),k){case 1:return h.fn.call(h.context),!0;case 2:return h.fn.call(h.context,B),!0;case 3:return h.fn.call(h.context,B,C),!0;case 4:return h.fn.call(h.context,B,C,u),!0;case 5:return h.fn.call(h.context,B,C,u,E),!0;case 6:return h.fn.call(h.context,B,C,u,E,I),!0}for(D=1,v=new Array(k-1);D<k;D++)v[D-1]=arguments[D];h.fn.apply(h.context,v)}else{var T=h.length,J;for(D=0;D<T;D++)switch(h[D].once&&this.removeListener(Q,h[D].fn,void 0,!0),k){case 1:h[D].fn.call(h[D].context);break;case 2:h[D].fn.call(h[D].context,B);break;case 3:h[D].fn.call(h[D].context,B,C);break;case 4:h[D].fn.call(h[D].context,B,C,u);break;default:if(!v)for(J=1,v=new Array(k-1);J<k;J++)v[J-1]=arguments[J];h[D].fn.apply(h[D].context,v)}}return!0},a.prototype.on=function(Q,B,C){return r(this,Q,B,C,!1)},a.prototype.once=function(Q,B,C){return r(this,Q,B,C,!0)},a.prototype.removeListener=function(Q,B,C,u){var E=t?t+Q:Q;if(!this._events[E])return this;if(!B)return i(this,E),this;var I=this._events[E];if(I.fn)I.fn===B&&(!u||I.once)&&(!C||I.context===C)&&i(this,E);else{for(var p=0,h=[],k=I.length;p<k;p++)(I[p].fn!==B||u&&!I[p].once||C&&I[p].context!==C)&&h.push(I[p]);h.length?this._events[E]=h.length===1?h[0]:h:i(this,E)}return this},a.prototype.removeAllListeners=function(Q){var B;return Q?(B=t?t+Q:Q,this._events[B]&&i(this,B)):(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})(ki)),ki.exports}Gx();class GE extends zl{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Pl(e);const s=Ag(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),js(r)}update(e){return cn(this),this.iHash.update(e),this}digestInto(e){cn(this),ws(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 vE=(A,e,t)=>new GE(A,e).update(t).digest();vE.create=(A,e)=>new GE(A,e);const WQ=(A,e)=>(A+(A>=0?e:-e)/SE)/e;function vx(A,e,t){const[[s,n],[r,i]]=e,a=WQ(i*A,t),g=WQ(-n*A,t);let Q=A-a*s-g*r,B=-a*n-g*i;const C=Q<jo,u=B<jo;C&&(Q=-Q),u&&(B=-B);const E=kr(Math.ceil(eE(t)/2))+Js;if(Q<jo||Q>=E||B<jo||B>=E)throw new Error("splitScalar (endomorphism): failed, k="+A);return{k1neg:C,k1:Q,k2neg:u,k2:B}}function la(A){if(!["compact","recovered","der"].includes(A))throw new Error('Signature format must be "compact", "recovered", or "der"');return A}function Mi(A,e){const t={};for(let s of Object.keys(e))t[s]=A[s]===void 0?e[s]:A[s];return hs(t.lowS,"lowS"),hs(t.prehash,"prehash"),t.format!==void 0&&la(t.format),t}class Sx extends Error{constructor(e=""){super(e)}}const Jo={Err:Sx,_tlv:{encode:(A,e)=>{const{Err:t}=Jo;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=Or(s);if(n.length/2&128)throw new t("tlv.encode: long form length too big");const r=s>127?Or(n.length/2|128):"";return Or(A)+r+n+e},decode(A,e){const{Err:t}=Jo;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 Q=e.subarray(s,s+g);if(Q.length!==g)throw new t("tlv.decode: length bytes not complete");if(Q[0]===0)throw new t("tlv.decode(long): zero leftmost byte");for(const B of Q)i=i<<8|B;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}=Jo;if(A<jo)throw new e("integer: negative integers are not allowed");let t=Or(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}=Jo;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 On(A)}},toSig(A){const{Err:e,_int:t,_tlv:s}=Jo,n=Et("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:Q,l:B}=s.decode(2,g);if(B.length)throw new e("invalid signature: left bytes after parsing");return{r:t.decode(a),s:t.decode(Q)}},hexFromSig(A){const{_tlv:e,_int:t}=Jo,s=e.encode(2,t.encode(A.r)),n=e.encode(2,t.encode(A.s)),r=s+n;return e.encode(48,r)}},jo=BigInt(0),Js=BigInt(1),SE=BigInt(2),Hr=BigInt(3),Ux=BigInt(4);function Us(A,e){const{BYTES:t}=A;let s;if(typeof e=="bigint")s=e;else{let n=Et("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 Rx(A,e={}){const t=uE("weierstrass",A,e),{Fp:s,Fn:n}=t;let r=t.CURVE;const{h:i,n:a}=r;Mr(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 Q=RE(s,n);function B(){if(!s.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function C(O,w,l){const{x:d,y:N}=w.toAffine(),G=s.toBytes(d);if(hs(l,"isCompressed"),l){B();const U=!s.isOdd(N);return ko(UE(U),G)}else return ko(Uint8Array.of(4),G,s.toBytes(N))}function u(O){co(O,void 0,"Point");const{publicKey:w,publicKeyUncompressed:l}=Q,d=O.length,N=O[0],G=O.subarray(1);if(d===w&&(N===2||N===3)){const U=s.fromBytes(G);if(!s.isValid(U))throw new Error("bad point: is not on curve, wrong x");const j=p(U);let P;try{P=s.sqrt(j)}catch(f){const R=f instanceof Error?": "+f.message:"";throw new Error("bad point: is not on curve, sqrt error"+R)}B();const b=s.isOdd(P);return(N&1)===1!==b&&(P=s.neg(P)),{x:U,y:P}}else if(d===l&&N===4){const U=s.BYTES,j=s.fromBytes(G.subarray(0,U)),P=s.fromBytes(G.subarray(U,U*2));if(!h(j,P))throw new Error("bad point: is not on curve");return{x:j,y:P}}else throw new Error(`bad point: got length ${d}, expected compressed=${w} or uncompressed=${l}`)}const E=e.toBytes||C,I=e.fromBytes||u;function p(O){const w=s.sqr(O),l=s.mul(w,O);return s.add(s.add(l,s.mul(O,r.a)),r.b)}function h(O,w){const l=s.sqr(w),d=p(O);return s.eql(l,d)}if(!h(r.Gx,r.Gy))throw new Error("bad curve params: generator point");const k=s.mul(s.pow(r.a,Hr),Ux),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(O,w,l=!1){if(!s.isValid(w)||l&&s.is0(w))throw new Error(`bad point coordinate ${O}`);return w}function T(O){if(!(O instanceof L))throw new Error("ProjectivePoint expected")}function J(O){if(!g||!g.basises)throw new Error("no endo");return vx(O,g.basises,n.ORDER)}const V=In((O,w)=>{const{X:l,Y:d,Z:N}=O;if(s.eql(N,s.ONE))return{x:l,y:d};const G=O.is0();w==null&&(w=G?s.ONE:s.inv(N));const U=s.mul(l,w),j=s.mul(d,w),P=s.mul(N,w);if(G)return{x:s.ZERO,y:s.ZERO};if(!s.eql(P,s.ONE))throw new Error("invZ was invalid");return{x:U,y:j}}),AA=In(O=>{if(O.is0()){if(e.allowInfinityPoint&&!s.is0(O.Y))return;throw new Error("bad point: ZERO")}const{x:w,y:l}=O.toAffine();if(!s.isValid(w)||!s.isValid(l))throw new Error("bad point: x or y not field elements");if(!h(w,l))throw new Error("bad point: equation left != right");if(!O.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function X(O,w,l,d,N){return l=new L(s.mul(l.X,O),l.Y,l.Z),w=un(d,w),l=un(N,l),w.add(l)}class L{constructor(w,l,d){this.X=D("x",w),this.Y=D("y",l,!0),this.Z=D("z",d),Object.freeze(this)}static CURVE(){return r}static fromAffine(w){const{x:l,y:d}=w||{};if(!w||!s.isValid(l)||!s.isValid(d))throw new Error("invalid affine point");if(w instanceof L)throw new Error("projective point not allowed");return s.is0(l)&&s.is0(d)?L.ZERO:new L(l,d,s.ONE)}static fromBytes(w){const l=L.fromAffine(I(co(w,void 0,"point")));return l.assertValidity(),l}static fromHex(w){return L.fromBytes(Et("pointHex",w))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(w=8,l=!0){return S.createCache(this,w),l||this.multiply(Hr),this}assertValidity(){AA(this)}hasEvenY(){const{y:w}=this.toAffine();if(!s.isOdd)throw new Error("Field doesn't support isOdd");return!s.isOdd(w)}equals(w){T(w);const{X:l,Y:d,Z:N}=this,{X:G,Y:U,Z:j}=w,P=s.eql(s.mul(l,j),s.mul(G,N)),b=s.eql(s.mul(d,j),s.mul(U,N));return P&&b}negate(){return new L(this.X,s.neg(this.Y),this.Z)}double(){const{a:w,b:l}=r,d=s.mul(l,Hr),{X:N,Y:G,Z:U}=this;let j=s.ZERO,P=s.ZERO,b=s.ZERO,c=s.mul(N,N),f=s.mul(G,G),R=s.mul(U,U),K=s.mul(N,G);return K=s.add(K,K),b=s.mul(N,U),b=s.add(b,b),j=s.mul(w,b),P=s.mul(d,R),P=s.add(j,P),j=s.sub(f,P),P=s.add(f,P),P=s.mul(j,P),j=s.mul(K,j),b=s.mul(d,b),R=s.mul(w,R),K=s.sub(c,R),K=s.mul(w,K),K=s.add(K,b),b=s.add(c,c),c=s.add(b,c),c=s.add(c,R),c=s.mul(c,K),P=s.add(P,c),R=s.mul(G,U),R=s.add(R,R),c=s.mul(R,K),j=s.sub(j,c),b=s.mul(R,f),b=s.add(b,b),b=s.add(b,b),new L(j,P,b)}add(w){T(w);const{X:l,Y:d,Z:N}=this,{X:G,Y:U,Z:j}=w;let P=s.ZERO,b=s.ZERO,c=s.ZERO;const f=r.a,R=s.mul(r.b,Hr);let K=s.mul(l,G),_=s.mul(d,U),tA=s.mul(N,j),CA=s.add(l,d),aA=s.add(G,U);CA=s.mul(CA,aA),aA=s.add(K,_),CA=s.sub(CA,aA),aA=s.add(l,N);let RA=s.add(G,j);return aA=s.mul(aA,RA),RA=s.add(K,tA),aA=s.sub(aA,RA),RA=s.add(d,N),P=s.add(U,j),RA=s.mul(RA,P),P=s.add(_,tA),RA=s.sub(RA,P),c=s.mul(f,aA),P=s.mul(R,tA),c=s.add(P,c),P=s.sub(_,c),c=s.add(_,c),b=s.mul(P,c),_=s.add(K,K),_=s.add(_,K),tA=s.mul(f,tA),aA=s.mul(R,aA),_=s.add(_,tA),tA=s.sub(K,tA),tA=s.mul(f,tA),aA=s.add(aA,tA),K=s.mul(_,aA),b=s.add(b,K),K=s.mul(RA,aA),P=s.mul(CA,P),P=s.sub(P,K),K=s.mul(CA,_),c=s.mul(RA,c),c=s.add(c,K),new L(P,b,c)}subtract(w){return this.add(w.negate())}is0(){return this.equals(L.ZERO)}multiply(w){const{endo:l}=e;if(!n.isValidNot0(w))throw new Error("invalid scalar: out of range");let d,N;const G=U=>S.cached(this,U,j=>cs(L,j));if(l){const{k1neg:U,k1:j,k2neg:P,k2:b}=J(w),{p:c,f}=G(j),{p:R,f:K}=G(b);N=f.add(K),d=X(l.beta,c,R,U,P)}else{const{p:U,f:j}=G(w);d=U,N=j}return cs(L,[d,N])[0]}multiplyUnsafe(w){const{endo:l}=e,d=this;if(!n.isValid(w))throw new Error("invalid scalar: out of range");if(w===jo||d.is0())return L.ZERO;if(w===Js)return d;if(S.hasCache(this))return this.multiply(w);if(l){const{k1neg:N,k1:G,k2neg:U,k2:j}=J(w),{p1:P,p2:b}=Xm(L,d,G,j);return X(l.beta,P,b,N,U)}else return S.unsafe(d,w)}multiplyAndAddUnsafe(w,l,d){const N=this.multiplyUnsafe(l).add(w.multiplyUnsafe(d));return N.is0()?void 0:N}toAffine(w){return V(this,w)}isTorsionFree(){const{isTorsionFree:w}=e;return i===Js?!0:w?w(L,this):S.unsafe(this,a).is0()}clearCofactor(){const{clearCofactor:w}=e;return i===Js?this:w?w(L,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(w=!0){return hs(w,"isCompressed"),this.assertValidity(),E(L,this,w)}toHex(w=!0){return Is(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 cs(L,w)}static msm(w,l){return IE(L,n,w,l)}static fromPrivateKey(w){return L.BASE.multiply(Us(n,w))}}L.BASE=new L(r.Gx,r.Gy,s.ONE),L.ZERO=new L(s.ZERO,s.ONE,s.ZERO),L.Fp=s,L.Fn=n;const W=n.BITS,S=new CE(L,e.endo?Math.ceil(W/2):W);return L.BASE.precompute(8),L}function UE(A){return Uint8Array.of(A?2:3)}function RE(A,e){return{secretKey:e.BYTES,publicKey:1+A.BYTES,publicKeyUncompressed:1+2*A.BYTES,publicKeyHasPrefix:!0,signature:2*e.BYTES}}function Kx(A,e={}){const{Fn:t}=A,s=e.randomBytes||eg,n=Object.assign(RE(A.Fp,t),{seed:lE(t.ORDER)});function r(E){try{return!!Us(t,E)}catch{return!1}}function i(E,I){const{publicKey:p,publicKeyUncompressed:h}=n;try{const k=E.length;return I===!0&&k!==p||I===!1&&k!==h?!1:!!A.fromBytes(E)}catch{return!1}}function a(E=s(n.seed)){return Vm(co(E,n.seed,"seed"),t.ORDER)}function g(E,I=!0){return A.BASE.multiply(Us(t,E)).toBytes(I)}function Q(E){const I=a(E);return{secretKey:I,publicKey:g(I)}}function B(E){if(typeof E=="bigint")return!1;if(E instanceof A)return!0;const{secretKey:I,publicKey:p,publicKeyUncompressed:h}=n;if(t.allowedLengths||I===p)return;const k=Et("key",E).length;return k===p||k===h}function C(E,I,p=!0){if(B(E)===!0)throw new Error("first arg must be private key");if(B(I)===!1)throw new Error("second arg must be public key");const h=Us(t,E);return A.fromHex(I).multiply(h).toBytes(p)}return Object.freeze({getPublicKey:g,getSharedSecret:C,keygen:Q,Point:A,utils:{isValidSecretKey:r,isValidPublicKey:i,randomSecretKey:a,isValidPrivateKey:r,randomPrivateKey:a,normPrivateKeyToScalar:E=>Us(t,E),precompute(E=8,I=A.BASE){return I.precompute(E,!1)}},lengths:n})}function Jx(A,e,t={}){Pl(e),Mr(t,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const s=t.randomBytes||eg,n=t.hmac||((l,...d)=>vE(e,l,ko(...d))),{Fp:r,Fn:i}=A,{ORDER:a,BITS:g}=i,{keygen:Q,getPublicKey:B,getSharedSecret:C,utils:u,lengths:E}=Kx(A,t),I={prehash:!1,lowS:typeof t.lowS=="boolean"?t.lowS:!1,format:void 0,extraEntropy:!1},p="compact";function h(l){const d=a>>Js;return l>d}function k(l,d){if(!i.isValidNot0(d))throw new Error(`invalid signature ${l}: out of range 1..Point.Fn.ORDER`);return d}function v(l,d){la(d);const N=E.signature,G=d==="compact"?N:d==="recovered"?N+1:void 0;return co(l,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:c}=Jo.toSig(co(d));return new D(b,c)}N==="recovered"&&(G=d[0],N="compact",d=d.subarray(1));const U=i.BYTES,j=d.subarray(0,U),P=d.subarray(U,U*2);return new D(i.fromBytes(j),i.fromBytes(P),G)}static fromHex(d,N){return this.fromBytes(Cn(d),N)}addRecoveryBit(d){return new D(this.r,this.s,d)}recoverPublicKey(d){const N=r.ORDER,{r:G,s:U,recovery:j}=this;if(j==null||![0,1,2,3].includes(j))throw new Error("recovery id invalid");if(a*SE<N&&j>1)throw new Error("recovery id is ambiguous for h>1 curve");const b=j===2||j===3?G+a:G;if(!r.isValid(b))throw new Error("recovery id 2 or 3 invalid");const c=r.toBytes(b),f=A.fromBytes(ko(UE((j&1)===0),c)),R=i.inv(b),K=J(Et("msgHash",d)),_=i.create(-K*R),tA=i.create(U*R),CA=A.BASE.multiplyUnsafe(_).add(f.multiplyUnsafe(tA));if(CA.is0())throw new Error("point at infinify");return CA.assertValidity(),CA}hasHighS(){return h(this.s)}toBytes(d=p){if(la(d),d==="der")return Cn(Jo.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 ko(Uint8Array.of(this.recovery),N,G)}return ko(N,G)}toHex(d){return Is(this.toBytes(d))}assertValidity(){}static fromCompact(d){return D.fromBytes(Et("sig",d),"compact")}static fromDER(d){return D.fromBytes(Et("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 Is(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return Is(this.toBytes("compact"))}}const T=t.bits2int||function(d){if(d.length>8192)throw new Error("input is too large");const N=On(d),G=d.length*8-g;return G>0?N>>BigInt(G):N},J=t.bits2int_modN||function(d){return i.create(T(d))},V=kr(g);function AA(l){return Ba("num < 2^"+g,l,jo,V),i.toBytes(l)}function X(l,d){return co(l,void 0,"message"),d?co(e(l),void 0,"prehashed message"):l}function L(l,d,N){if(["recovered","canonical"].some(_=>_ in N))throw new Error("sign() legacy options not supported");const{lowS:G,prehash:U,extraEntropy:j}=Mi(N,I);l=X(l,U);const P=J(l),b=Us(i,d),c=[AA(b),AA(P)];if(j!=null&&j!==!1){const _=j===!0?s(E.secretKey):j;c.push(Et("extraEntropy",_))}const f=ko(...c),R=P;function K(_){const tA=T(_);if(!i.isValidNot0(tA))return;const CA=i.inv(tA),aA=A.BASE.multiply(tA).toAffine(),RA=i.create(aA.x);if(RA===jo)return;const MA=i.create(CA*i.create(R+RA*b));if(MA===jo)return;let IA=(aA.x===RA?0:2)|Number(aA.y&Js),VA=MA;return G&&h(MA)&&(VA=i.neg(MA),IA^=1),new D(RA,VA,IA)}return{seed:f,k2sig:K}}function W(l,d,N={}){l=Et("message",l);const{seed:G,k2sig:U}=L(l,d,N);return Lm(e.outputLen,i.BYTES,n)(G,U)}function S(l){let d;const N=typeof l=="string"||Nr(l),G=!N&&l!==null&&typeof l=="object"&&typeof l.r=="bigint"&&typeof l.s=="bigint";if(!N&&!G)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(G)d=new D(l.r,l.s);else if(N){try{d=D.fromBytes(Et("sig",l),"der")}catch(U){if(!(U instanceof Jo.Err))throw U}if(!d)try{d=D.fromBytes(Et("sig",l),"compact")}catch{return!1}}return d||!1}function O(l,d,N,G={}){const{lowS:U,prehash:j,format:P}=Mi(G,I);if(N=Et("publicKey",N),d=X(Et("message",d),j),"strict"in G)throw new Error("options.strict was renamed to lowS");const b=P===void 0?S(l):D.fromBytes(Et("sig",l),P);if(b===!1)return!1;try{const c=A.fromBytes(N);if(U&&b.hasHighS())return!1;const{r:f,s:R}=b,K=J(d),_=i.inv(R),tA=i.create(K*_),CA=i.create(f*_),aA=A.BASE.multiplyUnsafe(tA).add(c.multiplyUnsafe(CA));return aA.is0()?!1:i.create(aA.x)===f}catch{return!1}}function w(l,d,N={}){const{prehash:G}=Mi(N,I);return d=X(d,G),D.fromBytes(l,"recovered").recoverPublicKey(d).toBytes()}return Object.freeze({keygen:Q,getPublicKey:B,getSharedSecret:C,utils:u,lengths:E,Point:A,sign:W,verify:O,recoverPublicKey:w,Signature:D,hash:e})}function Lx(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=xs(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 jx(A){const{CURVE:e,curveOpts:t}=Lx(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 Tx(A,e){const t=e.Point;return Object.assign({},e,{ProjectivePoint:t,CURVE:Object.assign({},A,QE(t.Fn.ORDER,t.Fn.BITS))})}function Ox(A){const{CURVE:e,curveOpts:t,hash:s,ecdsaOpts:n}=jx(A),r=Rx(e,t),i=Jx(r,s,n);return Tx(A,i)}function qx(A,e){const t=s=>Ox({...A,hash:s});return{...t(e),create:t}}const Qg={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Yx={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]},zQ=BigInt(2);function Hx(A){const e=Qg.p,t=BigInt(3),s=BigInt(6),n=BigInt(11),r=BigInt(22),i=BigInt(23),a=BigInt(44),g=BigInt(88),Q=A*A*A%e,B=Q*Q*A%e,C=lt(B,t,e)*B%e,u=lt(C,t,e)*B%e,E=lt(u,zQ,e)*Q%e,I=lt(E,n,e)*E%e,p=lt(I,r,e)*I%e,h=lt(p,a,e)*p%e,k=lt(h,g,e)*h%e,v=lt(k,a,e)*p%e,D=lt(v,t,e)*B%e,T=lt(D,i,e)*I%e,J=lt(T,s,e)*Q%e,V=lt(J,zQ,e);if(!Ea.eql(Ea.sqr(V),A))throw new Error("Cannot find square root");return V}const Ea=xs(Qg.p,{sqrt:Hx}),Px=qx({...Qg,Fp:Ea,lowS:!0,endo:Yx},Xl);qn.utils.randomPrivateKey;qn.getPublicKey;function VQ(A){try{return qn.ExtendedPoint.fromHex(A),!0}catch{return!1}}qn.verify;const Wx=A=>mt.Buffer.isBuffer(A)?A:A instanceof Uint8Array?mt.Buffer.from(A.buffer,A.byteOffset,A.byteLength):mt.Buffer.from(A);class zx{constructor(e){Object.assign(this,e)}encode(){return mt.Buffer.from(fi.serialize(sn,this))}static decode(e){return fi.deserialize(sn,this,e)}static decodeUnchecked(e){return fi.deserializeUnchecked(sn,this,e)}}const sn=new Map;var KE;const Vx=32,bi=32;function Zx(A){return A._bn!==void 0}let ZQ=1;class je extends zx{constructor(e){if(super({}),this._bn=void 0,Zx(e))this._bn=e._bn;else{if(typeof e=="string"){const t=RQ.decode(e);if(t.length!=bi)throw new Error("Invalid public key input");this._bn=new GQ(t)}else this._bn=new GQ(e);if(this._bn.byteLength()>bi)throw new Error("Invalid public key input")}}static unique(){const e=new je(ZQ);return ZQ+=1,new je(e.toBuffer())}equals(e){return this._bn.eq(e._bn)}toBase58(){return RQ.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(mt.Buffer);if(e.length===bi)return e;const t=mt.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=mt.Buffer.concat([e.toBuffer(),mt.Buffer.from(t),s.toBuffer()]),r=KQ(n);return new je(r)}static createProgramAddressSync(e,t){let s=mt.Buffer.alloc(0);e.forEach(function(r){if(r.length>Vx)throw new TypeError("Max seed length exceeded");s=mt.Buffer.concat([s,Wx(r)])}),s=mt.Buffer.concat([s,t.toBuffer(),mt.Buffer.from("ProgramDerivedAddress")]);const n=KQ(s);if(VQ(n))throw new Error("Invalid seeds, address must fall off the curve");return new je(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(mt.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 je(e);return VQ(t.toBytes())}}KE=je;je.default=new KE("11111111111111111111111111111111");sn.set(je,{kind:"struct",fields:[["_bn","u256"]]});new je("BPFLoader1111111111111111111111111111111111");const _x=64,Te=(A="publicKey")=>sA.blob(32,A),Rs=(A="string")=>{const e=sA.struct([sA.u32("length"),sA.u32("lengthPadding"),sA.blob(sA.offset(sA.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:mt.Buffer.from(r,"utf8")};return s(g,i,a)},n.alloc=r=>sA.u32().span+sA.u32().span+mt.Buffer.from(r,"utf8").length,n},Xx=(A="authorized")=>sA.struct([Te("staker"),Te("withdrawer")],A),$x=(A="lockup")=>sA.struct([sA.ns64("unixTimestamp"),sA.ns64("epoch"),Te("custodian")],A),AD=(A="voteInit")=>sA.struct([Te("nodePubkey"),Te("authorizedVoter"),Te("authorizedWithdrawer"),sA.u8("commission")],A),eD=(A="voteAuthorizeWithSeedArgs")=>sA.struct([sA.u32("voteAuthorizationType"),Te("currentAuthorityDerivedKeyOwnerPubkey"),Rs("currentAuthorityDerivedKeySeed"),Te("newAuthorized")],A);mt.Buffer.alloc(_x).fill(0);new je("SysvarC1ock11111111111111111111111111111111");new je("SysvarEpochSchedu1e111111111111111111111111");new je("Sysvar1nstructions1111111111111111111111111");new je("SysvarRecentB1ockHashes11111111111111111111");new je("SysvarRent111111111111111111111111111111111");new je("SysvarRewards111111111111111111111111111111");new je("SysvarS1otHashes111111111111111111111111111");new je("SysvarS1otHistory11111111111111111111111111");new je("SysvarStakeHistory1111111111111111111111111");const tD=sA.nu64("lamportsPerSignature"),oD=sA.struct([sA.u32("version"),sA.u32("state"),Te("authorizedPubkey"),Te("nonce"),sA.struct([tD],"feeCalculator")]);oD.span;function qs(A){const e=sA.blob(8,A),t=e.decode.bind(e),s=e.encode.bind(e),n=e,r=tx();return n.decode=(i,a)=>{const g=t(i,a);return r.decode(g)},n.encode=(i,a,g)=>{const Q=r.encode(i);return s(Q,a,g)},n}Object.freeze({Create:{index:0,layout:sA.struct([sA.u32("instruction"),sA.ns64("lamports"),sA.ns64("space"),Te("programId")])},Assign:{index:1,layout:sA.struct([sA.u32("instruction"),Te("programId")])},Transfer:{index:2,layout:sA.struct([sA.u32("instruction"),qs("lamports")])},CreateWithSeed:{index:3,layout:sA.struct([sA.u32("instruction"),Te("base"),Rs("seed"),sA.ns64("lamports"),sA.ns64("space"),Te("programId")])},AdvanceNonceAccount:{index:4,layout:sA.struct([sA.u32("instruction")])},WithdrawNonceAccount:{index:5,layout:sA.struct([sA.u32("instruction"),sA.ns64("lamports")])},InitializeNonceAccount:{index:6,layout:sA.struct([sA.u32("instruction"),Te("authorized")])},AuthorizeNonceAccount:{index:7,layout:sA.struct([sA.u32("instruction"),Te("authorized")])},Allocate:{index:8,layout:sA.struct([sA.u32("instruction"),sA.ns64("space")])},AllocateWithSeed:{index:9,layout:sA.struct([sA.u32("instruction"),Te("base"),Rs("seed"),sA.ns64("space"),Te("programId")])},AssignWithSeed:{index:10,layout:sA.struct([sA.u32("instruction"),Te("base"),Rs("seed"),Te("programId")])},TransferWithSeed:{index:11,layout:sA.struct([sA.u32("instruction"),qs("lamports"),Rs("seed"),Te("programId")])},UpgradeNonceAccount:{index:12,layout:sA.struct([sA.u32("instruction")])}});new je("11111111111111111111111111111111");new je("BPFLoader2111111111111111111111111111111111");sA.struct([sA.u32("typeIndex"),qs("deactivationSlot"),sA.nu64("lastExtendedSlot"),sA.u8("lastExtendedStartIndex"),sA.u8(),sA.seq(Te(),sA.offset(sA.u8(),-1),"authority")]);const ct=Gr(ag(je),vA(),A=>new je(A)),JE=gg([vA(),rt("base64")]),Bg=Gr(ag(mt.Buffer),JE,A=>mt.Buffer.from(A[0],"base64"));function LE(A){return Vt([wA({jsonrpc:rt("2.0"),id:vA(),result:A}),wA({jsonrpc:rt("2.0"),id:vA(),error:wA({code:_s(),message:vA(),data:Ae(gx())})})])}const sD=LE(_s());function $e(A){return Gr(LE(A),sD,e=>"error"in e?e:{...e,result:cr(e.result,A)})}function wo(A){return $e(wA({context:wA({slot:gA()}),value:A}))}function zn(A){return wA({context:wA({slot:gA()}),value:A})}const rD=wA({foundation:gA(),foundationTerm:gA(),initial:gA(),taper:gA(),terminal:gA()});$e(OA(qA(wA({epoch:gA(),effectiveSlot:gA(),amount:gA(),postBalance:gA(),commission:Ae(qA(gA()))}))));const nD=OA(wA({slot:gA(),prioritizationFee:gA()})),iD=wA({total:gA(),validator:gA(),foundation:gA(),epoch:gA()}),aD=wA({epoch:gA(),slotIndex:gA(),slotsInEpoch:gA(),absoluteSlot:gA(),blockHeight:Ae(gA()),transactionCount:Ae(gA())}),gD=wA({slotsPerEpoch:gA(),leaderScheduleSlotOffset:gA(),warmup:Mo(),firstNormalEpoch:gA(),firstNormalSlot:gA()}),QD=yE(vA(),OA(gA())),ys=qA(Vt([wA({}),vA()])),BD=wA({err:ys}),lD=rt("receivedSignature");wA({"solana-core":vA(),"feature-set":Ae(gA())});const ED=wA({program:vA(),programId:ct,parsed:_s()}),cD=wA({programId:ct,accounts:OA(ct),data:vA()});wo(wA({err:qA(Vt([wA({}),vA()])),logs:qA(OA(vA())),accounts:Ae(qA(OA(qA(wA({executable:Mo(),owner:vA(),lamports:gA(),data:OA(vA()),rentEpoch:Ae(gA())}))))),unitsConsumed:Ae(gA()),returnData:Ae(qA(wA({programId:vA(),data:gg([vA(),rt("base64")])}))),innerInstructions:Ae(qA(OA(wA({index:gA(),instructions:OA(Vt([ED,cD]))}))))}));wo(wA({byIdentity:yE(vA(),OA(gA())),range:wA({firstSlot:gA(),lastSlot:gA()})}));$e(rD);$e(iD);$e(nD);$e(aD);$e(gD);$e(QD);$e(gA());wo(wA({total:gA(),circulating:gA(),nonCirculating:gA(),nonCirculatingAccounts:OA(ct)}));const CD=wA({amount:vA(),uiAmount:qA(gA()),decimals:gA(),uiAmountString:Ae(vA())});wo(OA(wA({address:ct,amount:vA(),uiAmount:qA(gA()),decimals:gA(),uiAmountString:Ae(vA())})));wo(OA(wA({pubkey:ct,account:wA({executable:Mo(),owner:ct,lamports:gA(),data:Bg,rentEpoch:gA()})})));const ca=wA({program:vA(),parsed:_s(),space:gA()});wo(OA(wA({pubkey:ct,account:wA({executable:Mo(),owner:ct,lamports:gA(),data:ca,rentEpoch:gA()})})));wo(OA(wA({lamports:gA(),address:ct})));const lg=wA({executable:Mo(),owner:ct,lamports:gA(),data:Bg,rentEpoch:gA()});wA({pubkey:ct,account:lg});const ID=Gr(Vt([ag(mt.Buffer),ca]),Vt([JE,ca]),A=>Array.isArray(A)?cr(A,Bg):A),uD=wA({executable:Mo(),owner:ct,lamports:gA(),data:ID,rentEpoch:gA()});wA({pubkey:ct,account:uD});wA({state:Vt([rt("active"),rt("inactive"),rt("activating"),rt("deactivating")]),active:gA(),inactive:gA()});$e(OA(wA({signature:vA(),slot:gA(),err:ys,memo:qA(vA()),blockTime:Ae(qA(gA()))})));$e(OA(wA({signature:vA(),slot:gA(),err:ys,memo:qA(vA()),blockTime:Ae(qA(gA()))})));wA({subscription:gA(),result:zn(lg)});const dD=wA({pubkey:ct,account:lg});wA({subscription:gA(),result:zn(dD)});const hD=wA({parent:gA(),slot:gA(),root:gA()});wA({subscription:gA(),result:hD});const fD=Vt([wA({type:Vt([rt("firstShredReceived"),rt("completed"),rt("optimisticConfirmation"),rt("root")]),slot:gA(),timestamp:gA()}),wA({type:rt("createdBank"),parent:gA(),slot:gA(),timestamp:gA()}),wA({type:rt("frozen"),slot:gA(),timestamp:gA(),stats:wA({numTransactionEntries:gA(),numSuccessfulTransactions:gA(),numFailedTransactions:gA(),maxTransactionsPerEntry:gA()})}),wA({type:rt("dead"),slot:gA(),timestamp:gA(),err:vA()})]);wA({subscription:gA(),result:fD});wA({subscription:gA(),result:zn(Vt([BD,lD]))});wA({subscription:gA(),result:gA()});wA({pubkey:vA(),gossip:qA(vA()),tpu:qA(vA()),rpc:qA(vA()),version:qA(vA())});const _Q=wA({votePubkey:vA(),nodePubkey:vA(),activatedStake:gA(),epochVoteAccount:Mo(),epochCredits:OA(gg([gA(),gA(),gA()])),commission:gA(),lastVote:gA(),rootSlot:qA(gA())});$e(wA({current:OA(_Q),delinquent:OA(_Q)}));const pD=Vt([rt("processed"),rt("confirmed"),rt("finalized")]),mD=wA({slot:gA(),confirmations:qA(gA()),err:ys,confirmationStatus:Ae(pD)});wo(OA(qA(mD)));$e(gA());const jE=wA({accountKey:ct,writableIndexes:OA(gA()),readonlyIndexes:OA(gA())}),Eg=wA({signatures:OA(vA()),message:wA({accountKeys:OA(vA()),header:wA({numRequiredSignatures:gA(),numReadonlySignedAccounts:gA(),numReadonlyUnsignedAccounts:gA()}),instructions:OA(wA({accounts:OA(gA()),data:vA(),programIdIndex:gA()})),recentBlockhash:vA(),addressTableLookups:Ae(OA(jE))})}),TE=wA({pubkey:ct,signer:Mo(),writable:Mo(),source:Ae(Vt([rt("transaction"),rt("lookupTable")]))}),OE=wA({accountKeys:OA(TE),signatures:OA(vA())}),qE=wA({parsed:_s(),program:vA(),programId:ct}),YE=wA({accounts:OA(ct),data:vA(),programId:ct}),wD=Vt([YE,qE]),xD=Vt([wA({parsed:_s(),program:vA(),programId:vA()}),wA({accounts:OA(vA()),data:vA(),programId:vA()})]),HE=Gr(wD,xD,A=>"accounts"in A?cr(A,YE):cr(A,qE)),PE=wA({signatures:OA(vA()),message:wA({accountKeys:OA(TE),instructions:OA(HE),recentBlockhash:vA(),addressTableLookups:Ae(qA(OA(jE)))})}),wn=wA({accountIndex:gA(),mint:vA(),owner:Ae(vA()),programId:Ae(vA()),uiTokenAmount:CD}),WE=wA({writable:OA(ct),readonly:OA(ct)}),Vn=wA({err:ys,fee:gA(),innerInstructions:Ae(qA(OA(wA({index:gA(),instructions:OA(wA({accounts:OA(gA()),data:vA(),programIdIndex:gA()}))})))),preBalances:OA(gA()),postBalances:OA(gA()),logMessages:Ae(qA(OA(vA()))),preTokenBalances:Ae(qA(OA(wn))),postTokenBalances:Ae(qA(OA(wn))),loadedAddresses:Ae(WE),computeUnitsConsumed:Ae(gA()),costUnits:Ae(gA())}),cg=wA({err:ys,fee:gA(),innerInstructions:Ae(qA(OA(wA({index:gA(),instructions:OA(HE)})))),preBalances:OA(gA()),postBalances:OA(gA()),logMessages:Ae(qA(OA(vA()))),preTokenBalances:Ae(qA(OA(wn))),postTokenBalances:Ae(qA(OA(wn))),loadedAddresses:Ae(WE),computeUnitsConsumed:Ae(gA()),costUnits:Ae(gA())}),Xs=Vt([rt(0),rt("legacy")]),Ns=wA({pubkey:vA(),lamports:gA(),postBalance:qA(gA()),rewardType:qA(vA()),commission:Ae(qA(gA()))});$e(qA(wA({blockhash:vA(),previousBlockhash:vA(),parentSlot:gA(),transactions:OA(wA({transaction:Eg,meta:qA(Vn),version:Ae(Xs)})),rewards:Ae(OA(Ns)),blockTime:qA(gA()),blockHeight:qA(gA())})));$e(qA(wA({blockhash:vA(),previousBlockhash:vA(),parentSlot:gA(),rewards:Ae(OA(Ns)),blockTime:qA(gA()),blockHeight:qA(gA())})));$e(qA(wA({blockhash:vA(),previousBlockhash:vA(),parentSlot:gA(),transactions:OA(wA({transaction:OE,meta:qA(Vn),version:Ae(Xs)})),rewards:Ae(OA(Ns)),blockTime:qA(gA()),blockHeight:qA(gA())})));$e(qA(wA({blockhash:vA(),previousBlockhash:vA(),parentSlot:gA(),transactions:OA(wA({transaction:PE,meta:qA(cg),version:Ae(Xs)})),rewards:Ae(OA(Ns)),blockTime:qA(gA()),blockHeight:qA(gA())})));$e(qA(wA({blockhash:vA(),previousBlockhash:vA(),parentSlot:gA(),transactions:OA(wA({transaction:OE,meta:qA(cg),version:Ae(Xs)})),rewards:Ae(OA(Ns)),blockTime:qA(gA()),blockHeight:qA(gA())})));$e(qA(wA({blockhash:vA(),previousBlockhash:vA(),parentSlot:gA(),rewards:Ae(OA(Ns)),blockTime:qA(gA()),blockHeight:qA(gA())})));$e(qA(wA({blockhash:vA(),previousBlockhash:vA(),parentSlot:gA(),transactions:OA(wA({transaction:Eg,meta:qA(Vn)})),rewards:Ae(OA(Ns)),blockTime:qA(gA())})));$e(qA(wA({blockhash:vA(),previousBlockhash:vA(),parentSlot:gA(),signatures:OA(vA()),blockTime:qA(gA())})));$e(qA(wA({slot:gA(),meta:qA(Vn),blockTime:Ae(qA(gA())),transaction:Eg,version:Ae(Xs)})));$e(qA(wA({slot:gA(),transaction:PE,meta:qA(cg),blockTime:Ae(qA(gA())),version:Ae(Xs)})));wo(wA({blockhash:vA(),lastValidBlockHeight:gA()}));wo(Mo());const DD=wA({slot:gA(),numTransactions:gA(),numSlots:gA(),samplePeriodSecs:gA()});$e(OA(DD));wo(qA(wA({feeCalculator:wA({lamportsPerSignature:gA()})})));$e(vA());$e(vA());const yD=wA({err:ys,logs:OA(vA()),signature:vA()});wA({result:zn(yD),subscription:gA()});Object.freeze({CreateLookupTable:{index:0,layout:sA.struct([sA.u32("instruction"),qs("recentSlot"),sA.u8("bumpSeed")])},FreezeLookupTable:{index:1,layout:sA.struct([sA.u32("instruction")])},ExtendLookupTable:{index:2,layout:sA.struct([sA.u32("instruction"),qs(),sA.seq(Te(),sA.offset(sA.u32(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:sA.struct([sA.u32("instruction")])},CloseLookupTable:{index:4,layout:sA.struct([sA.u32("instruction")])}});new je("AddressLookupTab1e1111111111111111111111111");Object.freeze({RequestUnits:{index:0,layout:sA.struct([sA.u8("instruction"),sA.u32("units"),sA.u32("additionalFee")])},RequestHeapFrame:{index:1,layout:sA.struct([sA.u8("instruction"),sA.u32("bytes")])},SetComputeUnitLimit:{index:2,layout:sA.struct([sA.u8("instruction"),sA.u32("units")])},SetComputeUnitPrice:{index:3,layout:sA.struct([sA.u8("instruction"),qs("microLamports")])}});new je("ComputeBudget111111111111111111111111111111");sA.struct([sA.u8("numSignatures"),sA.u8("padding"),sA.u16("signatureOffset"),sA.u16("signatureInstructionIndex"),sA.u16("publicKeyOffset"),sA.u16("publicKeyInstructionIndex"),sA.u16("messageDataOffset"),sA.u16("messageDataSize"),sA.u16("messageInstructionIndex")]);new je("Ed25519SigVerify111111111111111111111111111");Px.utils.isValidPrivateKey;sA.struct([sA.u8("numSignatures"),sA.u16("signatureOffset"),sA.u8("signatureInstructionIndex"),sA.u16("ethAddressOffset"),sA.u8("ethAddressInstructionIndex"),sA.u16("messageDataOffset"),sA.u16("messageDataSize"),sA.u8("messageInstructionIndex"),sA.blob(20,"ethAddress"),sA.blob(64,"signature"),sA.u8("recoveryId")]);new je("KeccakSecp256k11111111111111111111111111111");var zE;new je("StakeConfig11111111111111111111111111111111");class VE{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}}zE=VE;VE.default=new zE(0,0,je.default);Object.freeze({Initialize:{index:0,layout:sA.struct([sA.u32("instruction"),Xx(),$x()])},Authorize:{index:1,layout:sA.struct([sA.u32("instruction"),Te("newAuthorized"),sA.u32("stakeAuthorizationType")])},Delegate:{index:2,layout:sA.struct([sA.u32("instruction")])},Split:{index:3,layout:sA.struct([sA.u32("instruction"),sA.ns64("lamports")])},Withdraw:{index:4,layout:sA.struct([sA.u32("instruction"),sA.ns64("lamports")])},Deactivate:{index:5,layout:sA.struct([sA.u32("instruction")])},Merge:{index:7,layout:sA.struct([sA.u32("instruction")])},AuthorizeWithSeed:{index:8,layout:sA.struct([sA.u32("instruction"),Te("newAuthorized"),sA.u32("stakeAuthorizationType"),Rs("authoritySeed"),Te("authorityOwner")])}});new je("Stake11111111111111111111111111111111111111");Object.freeze({InitializeAccount:{index:0,layout:sA.struct([sA.u32("instruction"),AD()])},Authorize:{index:1,layout:sA.struct([sA.u32("instruction"),Te("newAuthorized"),sA.u32("voteAuthorizationType")])},Withdraw:{index:3,layout:sA.struct([sA.u32("instruction"),sA.ns64("lamports")])},UpdateValidatorIdentity:{index:4,layout:sA.struct([sA.u32("instruction")])},AuthorizeWithSeed:{index:10,layout:sA.struct([sA.u32("instruction"),eD()])}});new je("Vote111111111111111111111111111111111111111");new je("Va1idator1nfo111111111111111111111111111111");wA({name:vA(),website:Ae(vA()),details:Ae(vA()),iconUrl:Ae(vA()),keybaseUsername:Ae(vA())});new je("Vote111111111111111111111111111111111111111");sA.struct([Te("nodePubkey"),Te("authorizedWithdrawer"),sA.u8("commission"),sA.nu64(),sA.seq(sA.struct([sA.nu64("slot"),sA.u32("confirmationCount")]),sA.offset(sA.u32(),-8),"votes"),sA.u8("rootSlotValid"),sA.nu64("rootSlot"),sA.nu64(),sA.seq(sA.struct([sA.nu64("epoch"),Te("authorizedVoter")]),sA.offset(sA.u32(),-8),"authorizedVoters"),sA.struct([sA.seq(sA.struct([Te("authorizedPubkey"),sA.nu64("epochOfLastAuthorizedSwitch"),sA.nu64("targetEpoch")]),32,"buf"),sA.nu64("idx"),sA.u8("isEmpty")],"priorVoters"),sA.nu64(),sA.seq(sA.struct([sA.nu64("epoch"),sA.nu64("credits"),sA.nu64("prevCredits")]),sA.offset(sA.u32(),-8),"epochCredits"),sA.struct([sA.nu64("slot"),sA.nu64("timestamp")],"lastTimestamp")]);function ND(A){if(A.length>=255)throw new TypeError("Alphabet too long");const e=new Uint8Array(256);for(let Q=0;Q<e.length;Q++)e[Q]=255;for(let Q=0;Q<A.length;Q++){const B=A.charAt(Q),C=B.charCodeAt(0);if(e[C]!==255)throw new TypeError(B+" is ambiguous");e[C]=Q}const t=A.length,s=A.charAt(0),n=Math.log(t)/Math.log(256),r=Math.log(256)/Math.log(t);function i(Q){if(Q instanceof Uint8Array||(ArrayBuffer.isView(Q)?Q=new Uint8Array(Q.buffer,Q.byteOffset,Q.byteLength):Array.isArray(Q)&&(Q=Uint8Array.from(Q))),!(Q instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(Q.length===0)return"";let B=0,C=0,u=0;const E=Q.length;for(;u!==E&&Q[u]===0;)u++,B++;const I=(E-u)*r+1>>>0,p=new Uint8Array(I);for(;u!==E;){let v=Q[u],D=0;for(let T=I-1;(v!==0||D<C)&&T!==-1;T--,D++)v+=256*p[T]>>>0,p[T]=v%t>>>0,v=v/t>>>0;if(v!==0)throw new Error("Non-zero carry");C=D,u++}let h=I-C;for(;h!==I&&p[h]===0;)h++;let k=s.repeat(B);for(;h<I;++h)k+=A.charAt(p[h]);return k}function a(Q){if(typeof Q!="string")throw new TypeError("Expected String");if(Q.length===0)return new Uint8Array;let B=0,C=0,u=0;for(;Q[B]===s;)C++,B++;const E=(Q.length-B)*n+1>>>0,I=new Uint8Array(E);for(;B<Q.length;){const v=Q.charCodeAt(B);if(v>255)return;let D=e[v];if(D===255)return;let T=0;for(let J=E-1;(D!==0||T<u)&&J!==-1;J--,T++)D+=t*I[J]>>>0,I[J]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");u=T,B++}let p=E-u;for(;p!==E&&I[p]===0;)p++;const h=new Uint8Array(C+(E-p));let k=C;for(;p!==E;)h[k++]=I[p++];return h}function g(Q){const B=a(Q);if(B)return B;throw new Error("Non-base"+t+" character")}return{encode:i,decodeUnsafe:a,decode:g}}var kD="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";ND(kD);function MD(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 Fi={exports:{}},XQ;function bD(){return XQ||(XQ=1,(function(A){(function(e){var t=function(F){var Y,H=new Float64Array(16);if(F)for(Y=0;Y<F.length;Y++)H[Y]=F[Y];return H},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]),Q=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),B=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),C=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),u=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),E=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function I(F,Y,H,m){F[Y]=H>>24&255,F[Y+1]=H>>16&255,F[Y+2]=H>>8&255,F[Y+3]=H&255,F[Y+4]=m>>24&255,F[Y+5]=m>>16&255,F[Y+6]=m>>8&255,F[Y+7]=m&255}function p(F,Y,H,m,z){var rA,oA=0;for(rA=0;rA<z;rA++)oA|=F[Y+rA]^H[m+rA];return(1&oA-1>>>8)-1}function h(F,Y,H,m){return p(F,Y,H,m,16)}function k(F,Y,H,m){return p(F,Y,H,m,32)}function v(F,Y,H,m){for(var z=m[0]&255|(m[1]&255)<<8|(m[2]&255)<<16|(m[3]&255)<<24,rA=H[0]&255|(H[1]&255)<<8|(H[2]&255)<<16|(H[3]&255)<<24,oA=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,DA=H[12]&255|(H[13]&255)<<8|(H[14]&255)<<16|(H[15]&255)<<24,FA=m[4]&255|(m[5]&255)<<8|(m[6]&255)<<16|(m[7]&255)<<24,yA=Y[0]&255|(Y[1]&255)<<8|(Y[2]&255)<<16|(Y[3]&255)<<24,me=Y[4]&255|(Y[5]&255)<<8|(Y[6]&255)<<16|(Y[7]&255)<<24,JA=Y[8]&255|(Y[9]&255)<<8|(Y[10]&255)<<16|(Y[11]&255)<<24,te=Y[12]&255|(Y[13]&255)<<8|(Y[14]&255)<<16|(Y[15]&255)<<24,XA=m[8]&255|(m[9]&255)<<8|(m[10]&255)<<16|(m[11]&255)<<24,ae=H[16]&255|(H[17]&255)<<8|(H[18]&255)<<16|(H[19]&255)<<24,ie=H[20]&255|(H[21]&255)<<8|(H[22]&255)<<16|(H[23]&255)<<24,oe=H[24]&255|(H[25]&255)<<8|(H[26]&255)<<16|(H[27]&255)<<24,$A=H[28]&255|(H[29]&255)<<8|(H[30]&255)<<16|(H[31]&255)<<24,se=m[12]&255|(m[13]&255)<<8|(m[14]&255)<<16|(m[15]&255)<<24,nA=z,SA=rA,bA=oA,jA=uA,TA=DA,UA=FA,EA=yA,cA=me,pA=JA,hA=te,fA=XA,NA=ae,re=ie,Ce=oe,he=$A,Ie=se,$,we=0;we<20;we+=2)$=nA+re|0,TA^=$<<7|$>>>25,$=TA+nA|0,pA^=$<<9|$>>>23,$=pA+TA|0,re^=$<<13|$>>>19,$=re+pA|0,nA^=$<<18|$>>>14,$=UA+SA|0,hA^=$<<7|$>>>25,$=hA+UA|0,Ce^=$<<9|$>>>23,$=Ce+hA|0,SA^=$<<13|$>>>19,$=SA+Ce|0,UA^=$<<18|$>>>14,$=fA+EA|0,he^=$<<7|$>>>25,$=he+fA|0,bA^=$<<9|$>>>23,$=bA+he|0,EA^=$<<13|$>>>19,$=EA+bA|0,fA^=$<<18|$>>>14,$=Ie+NA|0,jA^=$<<7|$>>>25,$=jA+Ie|0,cA^=$<<9|$>>>23,$=cA+jA|0,NA^=$<<13|$>>>19,$=NA+cA|0,Ie^=$<<18|$>>>14,$=nA+jA|0,SA^=$<<7|$>>>25,$=SA+nA|0,bA^=$<<9|$>>>23,$=bA+SA|0,jA^=$<<13|$>>>19,$=jA+bA|0,nA^=$<<18|$>>>14,$=UA+TA|0,EA^=$<<7|$>>>25,$=EA+UA|0,cA^=$<<9|$>>>23,$=cA+EA|0,TA^=$<<13|$>>>19,$=TA+cA|0,UA^=$<<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,$=Ie+he|0,re^=$<<7|$>>>25,$=re+Ie|0,Ce^=$<<9|$>>>23,$=Ce+re|0,he^=$<<13|$>>>19,$=he+Ce|0,Ie^=$<<18|$>>>14;nA=nA+z|0,SA=SA+rA|0,bA=bA+oA|0,jA=jA+uA|0,TA=TA+DA|0,UA=UA+FA|0,EA=EA+yA|0,cA=cA+me|0,pA=pA+JA|0,hA=hA+te|0,fA=fA+XA|0,NA=NA+ae|0,re=re+ie|0,Ce=Ce+oe|0,he=he+$A|0,Ie=Ie+se|0,F[0]=nA>>>0&255,F[1]=nA>>>8&255,F[2]=nA>>>16&255,F[3]=nA>>>24&255,F[4]=SA>>>0&255,F[5]=SA>>>8&255,F[6]=SA>>>16&255,F[7]=SA>>>24&255,F[8]=bA>>>0&255,F[9]=bA>>>8&255,F[10]=bA>>>16&255,F[11]=bA>>>24&255,F[12]=jA>>>0&255,F[13]=jA>>>8&255,F[14]=jA>>>16&255,F[15]=jA>>>24&255,F[16]=TA>>>0&255,F[17]=TA>>>8&255,F[18]=TA>>>16&255,F[19]=TA>>>24&255,F[20]=UA>>>0&255,F[21]=UA>>>8&255,F[22]=UA>>>16&255,F[23]=UA>>>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]=re>>>0&255,F[49]=re>>>8&255,F[50]=re>>>16&255,F[51]=re>>>24&255,F[52]=Ce>>>0&255,F[53]=Ce>>>8&255,F[54]=Ce>>>16&255,F[55]=Ce>>>24&255,F[56]=he>>>0&255,F[57]=he>>>8&255,F[58]=he>>>16&255,F[59]=he>>>24&255,F[60]=Ie>>>0&255,F[61]=Ie>>>8&255,F[62]=Ie>>>16&255,F[63]=Ie>>>24&255}function D(F,Y,H,m){for(var z=m[0]&255|(m[1]&255)<<8|(m[2]&255)<<16|(m[3]&255)<<24,rA=H[0]&255|(H[1]&255)<<8|(H[2]&255)<<16|(H[3]&255)<<24,oA=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,DA=H[12]&255|(H[13]&255)<<8|(H[14]&255)<<16|(H[15]&255)<<24,FA=m[4]&255|(m[5]&255)<<8|(m[6]&255)<<16|(m[7]&255)<<24,yA=Y[0]&255|(Y[1]&255)<<8|(Y[2]&255)<<16|(Y[3]&255)<<24,me=Y[4]&255|(Y[5]&255)<<8|(Y[6]&255)<<16|(Y[7]&255)<<24,JA=Y[8]&255|(Y[9]&255)<<8|(Y[10]&255)<<16|(Y[11]&255)<<24,te=Y[12]&255|(Y[13]&255)<<8|(Y[14]&255)<<16|(Y[15]&255)<<24,XA=m[8]&255|(m[9]&255)<<8|(m[10]&255)<<16|(m[11]&255)<<24,ae=H[16]&255|(H[17]&255)<<8|(H[18]&255)<<16|(H[19]&255)<<24,ie=H[20]&255|(H[21]&255)<<8|(H[22]&255)<<16|(H[23]&255)<<24,oe=H[24]&255|(H[25]&255)<<8|(H[26]&255)<<16|(H[27]&255)<<24,$A=H[28]&255|(H[29]&255)<<8|(H[30]&255)<<16|(H[31]&255)<<24,se=m[12]&255|(m[13]&255)<<8|(m[14]&255)<<16|(m[15]&255)<<24,nA=z,SA=rA,bA=oA,jA=uA,TA=DA,UA=FA,EA=yA,cA=me,pA=JA,hA=te,fA=XA,NA=ae,re=ie,Ce=oe,he=$A,Ie=se,$,we=0;we<20;we+=2)$=nA+re|0,TA^=$<<7|$>>>25,$=TA+nA|0,pA^=$<<9|$>>>23,$=pA+TA|0,re^=$<<13|$>>>19,$=re+pA|0,nA^=$<<18|$>>>14,$=UA+SA|0,hA^=$<<7|$>>>25,$=hA+UA|0,Ce^=$<<9|$>>>23,$=Ce+hA|0,SA^=$<<13|$>>>19,$=SA+Ce|0,UA^=$<<18|$>>>14,$=fA+EA|0,he^=$<<7|$>>>25,$=he+fA|0,bA^=$<<9|$>>>23,$=bA+he|0,EA^=$<<13|$>>>19,$=EA+bA|0,fA^=$<<18|$>>>14,$=Ie+NA|0,jA^=$<<7|$>>>25,$=jA+Ie|0,cA^=$<<9|$>>>23,$=cA+jA|0,NA^=$<<13|$>>>19,$=NA+cA|0,Ie^=$<<18|$>>>14,$=nA+jA|0,SA^=$<<7|$>>>25,$=SA+nA|0,bA^=$<<9|$>>>23,$=bA+SA|0,jA^=$<<13|$>>>19,$=jA+bA|0,nA^=$<<18|$>>>14,$=UA+TA|0,EA^=$<<7|$>>>25,$=EA+UA|0,cA^=$<<9|$>>>23,$=cA+EA|0,TA^=$<<13|$>>>19,$=TA+cA|0,UA^=$<<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,$=Ie+he|0,re^=$<<7|$>>>25,$=re+Ie|0,Ce^=$<<9|$>>>23,$=Ce+re|0,he^=$<<13|$>>>19,$=he+Ce|0,Ie^=$<<18|$>>>14;F[0]=nA>>>0&255,F[1]=nA>>>8&255,F[2]=nA>>>16&255,F[3]=nA>>>24&255,F[4]=UA>>>0&255,F[5]=UA>>>8&255,F[6]=UA>>>16&255,F[7]=UA>>>24&255,F[8]=fA>>>0&255,F[9]=fA>>>8&255,F[10]=fA>>>16&255,F[11]=fA>>>24&255,F[12]=Ie>>>0&255,F[13]=Ie>>>8&255,F[14]=Ie>>>16&255,F[15]=Ie>>>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 T(F,Y,H,m){v(F,Y,H,m)}function J(F,Y,H,m){D(F,Y,H,m)}var V=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function AA(F,Y,H,m,z,rA,oA){var uA=new Uint8Array(16),DA=new Uint8Array(64),FA,yA;for(yA=0;yA<16;yA++)uA[yA]=0;for(yA=0;yA<8;yA++)uA[yA]=rA[yA];for(;z>=64;){for(T(DA,uA,oA,V),yA=0;yA<64;yA++)F[Y+yA]=H[m+yA]^DA[yA];for(FA=1,yA=8;yA<16;yA++)FA=FA+(uA[yA]&255)|0,uA[yA]=FA&255,FA>>>=8;z-=64,Y+=64,m+=64}if(z>0)for(T(DA,uA,oA,V),yA=0;yA<z;yA++)F[Y+yA]=H[m+yA]^DA[yA];return 0}function X(F,Y,H,m,z){var rA=new Uint8Array(16),oA=new Uint8Array(64),uA,DA;for(DA=0;DA<16;DA++)rA[DA]=0;for(DA=0;DA<8;DA++)rA[DA]=m[DA];for(;H>=64;){for(T(oA,rA,z,V),DA=0;DA<64;DA++)F[Y+DA]=oA[DA];for(uA=1,DA=8;DA<16;DA++)uA=uA+(rA[DA]&255)|0,rA[DA]=uA&255,uA>>>=8;H-=64,Y+=64}if(H>0)for(T(oA,rA,z,V),DA=0;DA<H;DA++)F[Y+DA]=oA[DA];return 0}function L(F,Y,H,m,z){var rA=new Uint8Array(32);J(rA,m,z,V);for(var oA=new Uint8Array(8),uA=0;uA<8;uA++)oA[uA]=m[uA+16];return X(F,Y,H,oA,rA)}function W(F,Y,H,m,z,rA,oA){var uA=new Uint8Array(32);J(uA,rA,oA,V);for(var DA=new Uint8Array(8),FA=0;FA<8;FA++)DA[FA]=rA[FA+16];return AA(F,Y,H,m,z,DA,uA)}var S=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 Y,H,m,z,rA,oA,uA,DA;Y=F[0]&255|(F[1]&255)<<8,this.r[0]=Y&8191,H=F[2]&255|(F[3]&255)<<8,this.r[1]=(Y>>>13|H<<3)&8191,m=F[4]&255|(F[5]&255)<<8,this.r[2]=(H>>>10|m<<6)&7939,z=F[6]&255|(F[7]&255)<<8,this.r[3]=(m>>>7|z<<9)&8191,rA=F[8]&255|(F[9]&255)<<8,this.r[4]=(z>>>4|rA<<12)&255,this.r[5]=rA>>>1&8190,oA=F[10]&255|(F[11]&255)<<8,this.r[6]=(rA>>>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};S.prototype.blocks=function(F,Y,H){for(var m=this.fin?0:2048,z,rA,oA,uA,DA,FA,yA,me,JA,te,XA,ae,ie,oe,$A,se,nA,SA,bA,jA=this.h[0],TA=this.h[1],UA=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],re=this.h[9],Ce=this.r[0],he=this.r[1],Ie=this.r[2],$=this.r[3],we=this.r[4],Ke=this.r[5],Je=this.r[6],fe=this.r[7],ve=this.r[8],Se=this.r[9];H>=16;)z=F[Y+0]&255|(F[Y+1]&255)<<8,jA+=z&8191,rA=F[Y+2]&255|(F[Y+3]&255)<<8,TA+=(z>>>13|rA<<3)&8191,oA=F[Y+4]&255|(F[Y+5]&255)<<8,UA+=(rA>>>10|oA<<6)&8191,uA=F[Y+6]&255|(F[Y+7]&255)<<8,EA+=(oA>>>7|uA<<9)&8191,DA=F[Y+8]&255|(F[Y+9]&255)<<8,cA+=(uA>>>4|DA<<12)&8191,pA+=DA>>>1&8191,FA=F[Y+10]&255|(F[Y+11]&255)<<8,hA+=(DA>>>14|FA<<2)&8191,yA=F[Y+12]&255|(F[Y+13]&255)<<8,fA+=(FA>>>11|yA<<5)&8191,me=F[Y+14]&255|(F[Y+15]&255)<<8,NA+=(yA>>>8|me<<8)&8191,re+=me>>>5|m,JA=0,te=JA,te+=jA*Ce,te+=TA*(5*Se),te+=UA*(5*ve),te+=EA*(5*fe),te+=cA*(5*Je),JA=te>>>13,te&=8191,te+=pA*(5*Ke),te+=hA*(5*we),te+=fA*(5*$),te+=NA*(5*Ie),te+=re*(5*he),JA+=te>>>13,te&=8191,XA=JA,XA+=jA*he,XA+=TA*Ce,XA+=UA*(5*Se),XA+=EA*(5*ve),XA+=cA*(5*fe),JA=XA>>>13,XA&=8191,XA+=pA*(5*Je),XA+=hA*(5*Ke),XA+=fA*(5*we),XA+=NA*(5*$),XA+=re*(5*Ie),JA+=XA>>>13,XA&=8191,ae=JA,ae+=jA*Ie,ae+=TA*he,ae+=UA*Ce,ae+=EA*(5*Se),ae+=cA*(5*ve),JA=ae>>>13,ae&=8191,ae+=pA*(5*fe),ae+=hA*(5*Je),ae+=fA*(5*Ke),ae+=NA*(5*we),ae+=re*(5*$),JA+=ae>>>13,ae&=8191,ie=JA,ie+=jA*$,ie+=TA*Ie,ie+=UA*he,ie+=EA*Ce,ie+=cA*(5*Se),JA=ie>>>13,ie&=8191,ie+=pA*(5*ve),ie+=hA*(5*fe),ie+=fA*(5*Je),ie+=NA*(5*Ke),ie+=re*(5*we),JA+=ie>>>13,ie&=8191,oe=JA,oe+=jA*we,oe+=TA*$,oe+=UA*Ie,oe+=EA*he,oe+=cA*Ce,JA=oe>>>13,oe&=8191,oe+=pA*(5*Se),oe+=hA*(5*ve),oe+=fA*(5*fe),oe+=NA*(5*Je),oe+=re*(5*Ke),JA+=oe>>>13,oe&=8191,$A=JA,$A+=jA*Ke,$A+=TA*we,$A+=UA*$,$A+=EA*Ie,$A+=cA*he,JA=$A>>>13,$A&=8191,$A+=pA*Ce,$A+=hA*(5*Se),$A+=fA*(5*ve),$A+=NA*(5*fe),$A+=re*(5*Je),JA+=$A>>>13,$A&=8191,se=JA,se+=jA*Je,se+=TA*Ke,se+=UA*we,se+=EA*$,se+=cA*Ie,JA=se>>>13,se&=8191,se+=pA*he,se+=hA*Ce,se+=fA*(5*Se),se+=NA*(5*ve),se+=re*(5*fe),JA+=se>>>13,se&=8191,nA=JA,nA+=jA*fe,nA+=TA*Je,nA+=UA*Ke,nA+=EA*we,nA+=cA*$,JA=nA>>>13,nA&=8191,nA+=pA*Ie,nA+=hA*he,nA+=fA*Ce,nA+=NA*(5*Se),nA+=re*(5*ve),JA+=nA>>>13,nA&=8191,SA=JA,SA+=jA*ve,SA+=TA*fe,SA+=UA*Je,SA+=EA*Ke,SA+=cA*we,JA=SA>>>13,SA&=8191,SA+=pA*$,SA+=hA*Ie,SA+=fA*he,SA+=NA*Ce,SA+=re*(5*Se),JA+=SA>>>13,SA&=8191,bA=JA,bA+=jA*Se,bA+=TA*ve,bA+=UA*fe,bA+=EA*Je,bA+=cA*Ke,JA=bA>>>13,bA&=8191,bA+=pA*we,bA+=hA*$,bA+=fA*Ie,bA+=NA*he,bA+=re*Ce,JA+=bA>>>13,bA&=8191,JA=(JA<<2)+JA|0,JA=JA+te|0,te=JA&8191,JA=JA>>>13,XA+=JA,jA=te,TA=XA,UA=ae,EA=ie,cA=oe,pA=$A,hA=se,fA=nA,NA=SA,re=bA,Y+=16,H-=16;this.h[0]=jA,this.h[1]=TA,this.h[2]=UA,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]=re},S.prototype.finish=function(F,Y){var H=new Uint16Array(10),m,z,rA,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,H[0]=this.h[0]+5,m=H[0]>>>13,H[0]&=8191,oA=1;oA<10;oA++)H[oA]=this.h[oA]+m,m=H[oA]>>>13,H[oA]&=8191;for(H[9]-=8192,z=(m^1)-1,oA=0;oA<10;oA++)H[oA]&=z;for(z=~z,oA=0;oA<10;oA++)this.h[oA]=this.h[oA]&z|H[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,rA=this.h[0]+this.pad[0],this.h[0]=rA&65535,oA=1;oA<8;oA++)rA=(this.h[oA]+this.pad[oA]|0)+(rA>>>16)|0,this.h[oA]=rA&65535;F[Y+0]=this.h[0]>>>0&255,F[Y+1]=this.h[0]>>>8&255,F[Y+2]=this.h[1]>>>0&255,F[Y+3]=this.h[1]>>>8&255,F[Y+4]=this.h[2]>>>0&255,F[Y+5]=this.h[2]>>>8&255,F[Y+6]=this.h[3]>>>0&255,F[Y+7]=this.h[3]>>>8&255,F[Y+8]=this.h[4]>>>0&255,F[Y+9]=this.h[4]>>>8&255,F[Y+10]=this.h[5]>>>0&255,F[Y+11]=this.h[5]>>>8&255,F[Y+12]=this.h[6]>>>0&255,F[Y+13]=this.h[6]>>>8&255,F[Y+14]=this.h[7]>>>0&255,F[Y+15]=this.h[7]>>>8&255},S.prototype.update=function(F,Y,H){var m,z;if(this.leftover){for(z=16-this.leftover,z>H&&(z=H),m=0;m<z;m++)this.buffer[this.leftover+m]=F[Y+m];if(H-=z,Y+=z,this.leftover+=z,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(H>=16&&(z=H-H%16,this.blocks(F,Y,z),Y+=z,H-=z),H){for(m=0;m<H;m++)this.buffer[this.leftover+m]=F[Y+m];this.leftover+=H}};function O(F,Y,H,m,z,rA){var oA=new S(rA);return oA.update(H,m,z),oA.finish(F,Y),0}function w(F,Y,H,m,z,rA){var oA=new Uint8Array(16);return O(oA,0,H,m,z,rA),h(F,Y,oA,0)}function l(F,Y,H,m,z){var rA;if(H<32)return-1;for(W(F,0,Y,0,H,m,z),O(F,16,F,32,H-32,F),rA=0;rA<16;rA++)F[rA]=0;return 0}function d(F,Y,H,m,z){var rA,oA=new Uint8Array(32);if(H<32||(L(oA,0,32,m,z),w(Y,16,Y,32,H-32,oA)!==0))return-1;for(W(F,0,Y,0,H,m,z),rA=0;rA<32;rA++)F[rA]=0;return 0}function N(F,Y){var H;for(H=0;H<16;H++)F[H]=Y[H]|0}function G(F){var Y,H,m=1;for(Y=0;Y<16;Y++)H=F[Y]+m+65535,m=Math.floor(H/65536),F[Y]=H-m*65536;F[0]+=m-1+37*(m-1)}function U(F,Y,H){for(var m,z=~(H-1),rA=0;rA<16;rA++)m=z&(F[rA]^Y[rA]),F[rA]^=m,Y[rA]^=m}function j(F,Y){var H,m,z,rA=t(),oA=t();for(H=0;H<16;H++)oA[H]=Y[H];for(G(oA),G(oA),G(oA),m=0;m<2;m++){for(rA[0]=oA[0]-65517,H=1;H<15;H++)rA[H]=oA[H]-65535-(rA[H-1]>>16&1),rA[H-1]&=65535;rA[15]=oA[15]-32767-(rA[14]>>16&1),z=rA[15]>>16&1,rA[14]&=65535,U(oA,rA,1-z)}for(H=0;H<16;H++)F[2*H]=oA[H]&255,F[2*H+1]=oA[H]>>8}function P(F,Y){var H=new Uint8Array(32),m=new Uint8Array(32);return j(H,F),j(m,Y),k(H,0,m,0)}function b(F){var Y=new Uint8Array(32);return j(Y,F),Y[0]&1}function c(F,Y){var H;for(H=0;H<16;H++)F[H]=Y[2*H]+(Y[2*H+1]<<8);F[15]&=32767}function f(F,Y,H){for(var m=0;m<16;m++)F[m]=Y[m]+H[m]}function R(F,Y,H){for(var m=0;m<16;m++)F[m]=Y[m]-H[m]}function K(F,Y,H){var m,z,rA=0,oA=0,uA=0,DA=0,FA=0,yA=0,me=0,JA=0,te=0,XA=0,ae=0,ie=0,oe=0,$A=0,se=0,nA=0,SA=0,bA=0,jA=0,TA=0,UA=0,EA=0,cA=0,pA=0,hA=0,fA=0,NA=0,re=0,Ce=0,he=0,Ie=0,$=H[0],we=H[1],Ke=H[2],Je=H[3],fe=H[4],ve=H[5],Se=H[6],It=H[7],Pe=H[8],at=H[9],gt=H[10],Qt=H[11],ft=H[12],vt=H[13],St=H[14],Ut=H[15];m=Y[0],rA+=m*$,oA+=m*we,uA+=m*Ke,DA+=m*Je,FA+=m*fe,yA+=m*ve,me+=m*Se,JA+=m*It,te+=m*Pe,XA+=m*at,ae+=m*gt,ie+=m*Qt,oe+=m*ft,$A+=m*vt,se+=m*St,nA+=m*Ut,m=Y[1],oA+=m*$,uA+=m*we,DA+=m*Ke,FA+=m*Je,yA+=m*fe,me+=m*ve,JA+=m*Se,te+=m*It,XA+=m*Pe,ae+=m*at,ie+=m*gt,oe+=m*Qt,$A+=m*ft,se+=m*vt,nA+=m*St,SA+=m*Ut,m=Y[2],uA+=m*$,DA+=m*we,FA+=m*Ke,yA+=m*Je,me+=m*fe,JA+=m*ve,te+=m*Se,XA+=m*It,ae+=m*Pe,ie+=m*at,oe+=m*gt,$A+=m*Qt,se+=m*ft,nA+=m*vt,SA+=m*St,bA+=m*Ut,m=Y[3],DA+=m*$,FA+=m*we,yA+=m*Ke,me+=m*Je,JA+=m*fe,te+=m*ve,XA+=m*Se,ae+=m*It,ie+=m*Pe,oe+=m*at,$A+=m*gt,se+=m*Qt,nA+=m*ft,SA+=m*vt,bA+=m*St,jA+=m*Ut,m=Y[4],FA+=m*$,yA+=m*we,me+=m*Ke,JA+=m*Je,te+=m*fe,XA+=m*ve,ae+=m*Se,ie+=m*It,oe+=m*Pe,$A+=m*at,se+=m*gt,nA+=m*Qt,SA+=m*ft,bA+=m*vt,jA+=m*St,TA+=m*Ut,m=Y[5],yA+=m*$,me+=m*we,JA+=m*Ke,te+=m*Je,XA+=m*fe,ae+=m*ve,ie+=m*Se,oe+=m*It,$A+=m*Pe,se+=m*at,nA+=m*gt,SA+=m*Qt,bA+=m*ft,jA+=m*vt,TA+=m*St,UA+=m*Ut,m=Y[6],me+=m*$,JA+=m*we,te+=m*Ke,XA+=m*Je,ae+=m*fe,ie+=m*ve,oe+=m*Se,$A+=m*It,se+=m*Pe,nA+=m*at,SA+=m*gt,bA+=m*Qt,jA+=m*ft,TA+=m*vt,UA+=m*St,EA+=m*Ut,m=Y[7],JA+=m*$,te+=m*we,XA+=m*Ke,ae+=m*Je,ie+=m*fe,oe+=m*ve,$A+=m*Se,se+=m*It,nA+=m*Pe,SA+=m*at,bA+=m*gt,jA+=m*Qt,TA+=m*ft,UA+=m*vt,EA+=m*St,cA+=m*Ut,m=Y[8],te+=m*$,XA+=m*we,ae+=m*Ke,ie+=m*Je,oe+=m*fe,$A+=m*ve,se+=m*Se,nA+=m*It,SA+=m*Pe,bA+=m*at,jA+=m*gt,TA+=m*Qt,UA+=m*ft,EA+=m*vt,cA+=m*St,pA+=m*Ut,m=Y[9],XA+=m*$,ae+=m*we,ie+=m*Ke,oe+=m*Je,$A+=m*fe,se+=m*ve,nA+=m*Se,SA+=m*It,bA+=m*Pe,jA+=m*at,TA+=m*gt,UA+=m*Qt,EA+=m*ft,cA+=m*vt,pA+=m*St,hA+=m*Ut,m=Y[10],ae+=m*$,ie+=m*we,oe+=m*Ke,$A+=m*Je,se+=m*fe,nA+=m*ve,SA+=m*Se,bA+=m*It,jA+=m*Pe,TA+=m*at,UA+=m*gt,EA+=m*Qt,cA+=m*ft,pA+=m*vt,hA+=m*St,fA+=m*Ut,m=Y[11],ie+=m*$,oe+=m*we,$A+=m*Ke,se+=m*Je,nA+=m*fe,SA+=m*ve,bA+=m*Se,jA+=m*It,TA+=m*Pe,UA+=m*at,EA+=m*gt,cA+=m*Qt,pA+=m*ft,hA+=m*vt,fA+=m*St,NA+=m*Ut,m=Y[12],oe+=m*$,$A+=m*we,se+=m*Ke,nA+=m*Je,SA+=m*fe,bA+=m*ve,jA+=m*Se,TA+=m*It,UA+=m*Pe,EA+=m*at,cA+=m*gt,pA+=m*Qt,hA+=m*ft,fA+=m*vt,NA+=m*St,re+=m*Ut,m=Y[13],$A+=m*$,se+=m*we,nA+=m*Ke,SA+=m*Je,bA+=m*fe,jA+=m*ve,TA+=m*Se,UA+=m*It,EA+=m*Pe,cA+=m*at,pA+=m*gt,hA+=m*Qt,fA+=m*ft,NA+=m*vt,re+=m*St,Ce+=m*Ut,m=Y[14],se+=m*$,nA+=m*we,SA+=m*Ke,bA+=m*Je,jA+=m*fe,TA+=m*ve,UA+=m*Se,EA+=m*It,cA+=m*Pe,pA+=m*at,hA+=m*gt,fA+=m*Qt,NA+=m*ft,re+=m*vt,Ce+=m*St,he+=m*Ut,m=Y[15],nA+=m*$,SA+=m*we,bA+=m*Ke,jA+=m*Je,TA+=m*fe,UA+=m*ve,EA+=m*Se,cA+=m*It,pA+=m*Pe,hA+=m*at,fA+=m*gt,NA+=m*Qt,re+=m*ft,Ce+=m*vt,he+=m*St,Ie+=m*Ut,rA+=38*SA,oA+=38*bA,uA+=38*jA,DA+=38*TA,FA+=38*UA,yA+=38*EA,me+=38*cA,JA+=38*pA,te+=38*hA,XA+=38*fA,ae+=38*NA,ie+=38*re,oe+=38*Ce,$A+=38*he,se+=38*Ie,z=1,m=rA+z+65535,z=Math.floor(m/65536),rA=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=FA+z+65535,z=Math.floor(m/65536),FA=m-z*65536,m=yA+z+65535,z=Math.floor(m/65536),yA=m-z*65536,m=me+z+65535,z=Math.floor(m/65536),me=m-z*65536,m=JA+z+65535,z=Math.floor(m/65536),JA=m-z*65536,m=te+z+65535,z=Math.floor(m/65536),te=m-z*65536,m=XA+z+65535,z=Math.floor(m/65536),XA=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=$A+z+65535,z=Math.floor(m/65536),$A=m-z*65536,m=se+z+65535,z=Math.floor(m/65536),se=m-z*65536,m=nA+z+65535,z=Math.floor(m/65536),nA=m-z*65536,rA+=z-1+37*(z-1),z=1,m=rA+z+65535,z=Math.floor(m/65536),rA=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=FA+z+65535,z=Math.floor(m/65536),FA=m-z*65536,m=yA+z+65535,z=Math.floor(m/65536),yA=m-z*65536,m=me+z+65535,z=Math.floor(m/65536),me=m-z*65536,m=JA+z+65535,z=Math.floor(m/65536),JA=m-z*65536,m=te+z+65535,z=Math.floor(m/65536),te=m-z*65536,m=XA+z+65535,z=Math.floor(m/65536),XA=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=$A+z+65535,z=Math.floor(m/65536),$A=m-z*65536,m=se+z+65535,z=Math.floor(m/65536),se=m-z*65536,m=nA+z+65535,z=Math.floor(m/65536),nA=m-z*65536,rA+=z-1+37*(z-1),F[0]=rA,F[1]=oA,F[2]=uA,F[3]=DA,F[4]=FA,F[5]=yA,F[6]=me,F[7]=JA,F[8]=te,F[9]=XA,F[10]=ae,F[11]=ie,F[12]=oe,F[13]=$A,F[14]=se,F[15]=nA}function _(F,Y){K(F,Y,Y)}function tA(F,Y){var H=t(),m;for(m=0;m<16;m++)H[m]=Y[m];for(m=253;m>=0;m--)_(H,H),m!==2&&m!==4&&K(H,H,Y);for(m=0;m<16;m++)F[m]=H[m]}function CA(F,Y){var H=t(),m;for(m=0;m<16;m++)H[m]=Y[m];for(m=250;m>=0;m--)_(H,H),m!==1&&K(H,H,Y);for(m=0;m<16;m++)F[m]=H[m]}function aA(F,Y,H){var m=new Uint8Array(32),z=new Float64Array(80),rA,oA,uA=t(),DA=t(),FA=t(),yA=t(),me=t(),JA=t();for(oA=0;oA<31;oA++)m[oA]=Y[oA];for(m[31]=Y[31]&127|64,m[0]&=248,c(z,H),oA=0;oA<16;oA++)DA[oA]=z[oA],yA[oA]=uA[oA]=FA[oA]=0;for(uA[0]=yA[0]=1,oA=254;oA>=0;--oA)rA=m[oA>>>3]>>>(oA&7)&1,U(uA,DA,rA),U(FA,yA,rA),f(me,uA,FA),R(uA,uA,FA),f(FA,DA,yA),R(DA,DA,yA),_(yA,me),_(JA,uA),K(uA,FA,uA),K(FA,DA,me),f(me,uA,FA),R(uA,uA,FA),_(DA,uA),R(FA,yA,JA),K(uA,FA,g),f(uA,uA,yA),K(FA,FA,uA),K(uA,yA,JA),K(yA,DA,z),_(DA,me),U(uA,DA,rA),U(FA,yA,rA);for(oA=0;oA<16;oA++)z[oA+16]=uA[oA],z[oA+32]=FA[oA],z[oA+48]=DA[oA],z[oA+64]=yA[oA];var te=z.subarray(32),XA=z.subarray(16);return tA(te,te),K(XA,XA,te),j(F,XA),0}function RA(F,Y){return aA(F,Y,r)}function MA(F,Y){return s(Y,32),RA(F,Y)}function IA(F,Y,H){var m=new Uint8Array(32);return aA(m,H,Y),J(F,n,m,V)}var VA=l,ZA=d;function ee(F,Y,H,m,z,rA){var oA=new Uint8Array(32);return IA(oA,z,rA),VA(F,Y,H,m,oA)}function GA(F,Y,H,m,z,rA){var oA=new Uint8Array(32);return IA(oA,z,rA),ZA(F,Y,H,m,oA)}var LA=[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 le(F,Y,H,m){for(var z=new Int32Array(16),rA=new Int32Array(16),oA,uA,DA,FA,yA,me,JA,te,XA,ae,ie,oe,$A,se,nA,SA,bA,jA,TA,UA,EA,cA,pA,hA,fA,NA,re=F[0],Ce=F[1],he=F[2],Ie=F[3],$=F[4],we=F[5],Ke=F[6],Je=F[7],fe=Y[0],ve=Y[1],Se=Y[2],It=Y[3],Pe=Y[4],at=Y[5],gt=Y[6],Qt=Y[7],ft=0;m>=128;){for(TA=0;TA<16;TA++)UA=8*TA+ft,z[TA]=H[UA+0]<<24|H[UA+1]<<16|H[UA+2]<<8|H[UA+3],rA[TA]=H[UA+4]<<24|H[UA+5]<<16|H[UA+6]<<8|H[UA+7];for(TA=0;TA<80;TA++)if(oA=re,uA=Ce,DA=he,FA=Ie,yA=$,me=we,JA=Ke,te=Je,XA=fe,ae=ve,ie=Se,oe=It,$A=Pe,se=at,nA=gt,SA=Qt,EA=Je,cA=Qt,pA=cA&65535,hA=cA>>>16,fA=EA&65535,NA=EA>>>16,EA=($>>>14|Pe<<18)^($>>>18|Pe<<14)^(Pe>>>9|$<<23),cA=(Pe>>>14|$<<18)^(Pe>>>18|$<<14)^($>>>9|Pe<<23),pA+=cA&65535,hA+=cA>>>16,fA+=EA&65535,NA+=EA>>>16,EA=$&we^~$&Ke,cA=Pe&at^~Pe&gt,pA+=cA&65535,hA+=cA>>>16,fA+=EA&65535,NA+=EA>>>16,EA=LA[TA*2],cA=LA[TA*2+1],pA+=cA&65535,hA+=cA>>>16,fA+=EA&65535,NA+=EA>>>16,EA=z[TA%16],cA=rA[TA%16],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,jA=pA&65535|hA<<16,EA=bA,cA=jA,pA=cA&65535,hA=cA>>>16,fA=EA&65535,NA=EA>>>16,EA=(re>>>28|fe<<4)^(fe>>>2|re<<30)^(fe>>>7|re<<25),cA=(fe>>>28|re<<4)^(re>>>2|fe<<30)^(re>>>7|fe<<25),pA+=cA&65535,hA+=cA>>>16,fA+=EA&65535,NA+=EA>>>16,EA=re&Ce^re&he^Ce&he,cA=fe&ve^fe&Se^ve&Se,pA+=cA&65535,hA+=cA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,te=fA&65535|NA<<16,SA=pA&65535|hA<<16,EA=FA,cA=oe,pA=cA&65535,hA=cA>>>16,fA=EA&65535,NA=EA>>>16,EA=bA,cA=jA,pA+=cA&65535,hA+=cA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,FA=fA&65535|NA<<16,oe=pA&65535|hA<<16,Ce=oA,he=uA,Ie=DA,$=FA,we=yA,Ke=me,Je=JA,re=te,ve=XA,Se=ae,It=ie,Pe=oe,at=$A,gt=se,Qt=nA,fe=SA,TA%16===15)for(UA=0;UA<16;UA++)EA=z[UA],cA=rA[UA],pA=cA&65535,hA=cA>>>16,fA=EA&65535,NA=EA>>>16,EA=z[(UA+9)%16],cA=rA[(UA+9)%16],pA+=cA&65535,hA+=cA>>>16,fA+=EA&65535,NA+=EA>>>16,bA=z[(UA+1)%16],jA=rA[(UA+1)%16],EA=(bA>>>1|jA<<31)^(bA>>>8|jA<<24)^bA>>>7,cA=(jA>>>1|bA<<31)^(jA>>>8|bA<<24)^(jA>>>7|bA<<25),pA+=cA&65535,hA+=cA>>>16,fA+=EA&65535,NA+=EA>>>16,bA=z[(UA+14)%16],jA=rA[(UA+14)%16],EA=(bA>>>19|jA<<13)^(jA>>>29|bA<<3)^bA>>>6,cA=(jA>>>19|bA<<13)^(bA>>>29|jA<<3)^(jA>>>6|bA<<26),pA+=cA&65535,hA+=cA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,z[UA]=fA&65535|NA<<16,rA[UA]=pA&65535|hA<<16;EA=re,cA=fe,pA=cA&65535,hA=cA>>>16,fA=EA&65535,NA=EA>>>16,EA=F[0],cA=Y[0],pA+=cA&65535,hA+=cA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,F[0]=re=fA&65535|NA<<16,Y[0]=fe=pA&65535|hA<<16,EA=Ce,cA=ve,pA=cA&65535,hA=cA>>>16,fA=EA&65535,NA=EA>>>16,EA=F[1],cA=Y[1],pA+=cA&65535,hA+=cA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,F[1]=Ce=fA&65535|NA<<16,Y[1]=ve=pA&65535|hA<<16,EA=he,cA=Se,pA=cA&65535,hA=cA>>>16,fA=EA&65535,NA=EA>>>16,EA=F[2],cA=Y[2],pA+=cA&65535,hA+=cA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,F[2]=he=fA&65535|NA<<16,Y[2]=Se=pA&65535|hA<<16,EA=Ie,cA=It,pA=cA&65535,hA=cA>>>16,fA=EA&65535,NA=EA>>>16,EA=F[3],cA=Y[3],pA+=cA&65535,hA+=cA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,F[3]=Ie=fA&65535|NA<<16,Y[3]=It=pA&65535|hA<<16,EA=$,cA=Pe,pA=cA&65535,hA=cA>>>16,fA=EA&65535,NA=EA>>>16,EA=F[4],cA=Y[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,Y[4]=Pe=pA&65535|hA<<16,EA=we,cA=at,pA=cA&65535,hA=cA>>>16,fA=EA&65535,NA=EA>>>16,EA=F[5],cA=Y[5],pA+=cA&65535,hA+=cA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,F[5]=we=fA&65535|NA<<16,Y[5]=at=pA&65535|hA<<16,EA=Ke,cA=gt,pA=cA&65535,hA=cA>>>16,fA=EA&65535,NA=EA>>>16,EA=F[6],cA=Y[6],pA+=cA&65535,hA+=cA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,F[6]=Ke=fA&65535|NA<<16,Y[6]=gt=pA&65535|hA<<16,EA=Je,cA=Qt,pA=cA&65535,hA=cA>>>16,fA=EA&65535,NA=EA>>>16,EA=F[7],cA=Y[7],pA+=cA&65535,hA+=cA>>>16,fA+=EA&65535,NA+=EA>>>16,hA+=pA>>>16,fA+=hA>>>16,NA+=fA>>>16,F[7]=Je=fA&65535|NA<<16,Y[7]=Qt=pA&65535|hA<<16,ft+=128,m-=128}return m}function Ne(F,Y,H){var m=new Int32Array(8),z=new Int32Array(8),rA=new Uint8Array(256),oA,uA=H;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,le(m,z,Y,H),H%=128,oA=0;oA<H;oA++)rA[oA]=Y[uA-H+oA];for(rA[H]=128,H=256-128*(H<112?1:0),rA[H-9]=0,I(rA,H-8,uA/536870912|0,uA<<3),le(m,z,rA,H),oA=0;oA<8;oA++)I(F,8*oA,m[oA],z[oA]);return 0}function de(F,Y){var H=t(),m=t(),z=t(),rA=t(),oA=t(),uA=t(),DA=t(),FA=t(),yA=t();R(H,F[1],F[0]),R(yA,Y[1],Y[0]),K(H,H,yA),f(m,F[0],F[1]),f(yA,Y[0],Y[1]),K(m,m,yA),K(z,F[3],Y[3]),K(z,z,B),K(rA,F[2],Y[2]),f(rA,rA,rA),R(oA,m,H),R(uA,rA,z),f(DA,rA,z),f(FA,m,H),K(F[0],oA,uA),K(F[1],FA,DA),K(F[2],DA,uA),K(F[3],oA,FA)}function ke(F,Y,H){var m;for(m=0;m<4;m++)U(F[m],Y[m],H)}function At(F,Y){var H=t(),m=t(),z=t();tA(z,Y[2]),K(H,Y[0],z),K(m,Y[1],z),j(F,m),F[31]^=b(H)<<7}function xA(F,Y,H){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=H[z/8|0]>>(z&7)&1,ke(F,Y,m),de(Y,F),de(F,F),ke(F,Y,m)}function _A(F,Y){var H=[t(),t(),t(),t()];N(H[0],C),N(H[1],u),N(H[2],a),K(H[3],C,u),xA(F,H,Y)}function Be(F,Y,H){var m=new Uint8Array(64),z=[t(),t(),t(),t()],rA;for(H||s(Y,32),Ne(m,Y,32),m[0]&=248,m[31]&=127,m[31]|=64,_A(z,m),At(F,z),rA=0;rA<32;rA++)Y[rA+32]=F[rA];return 0}var Ee=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,Y){var H,m,z,rA;for(m=63;m>=32;--m){for(H=0,z=m-32,rA=m-12;z<rA;++z)Y[z]+=H-16*Y[m]*Ee[z-(m-32)],H=Math.floor((Y[z]+128)/256),Y[z]-=H*256;Y[z]+=H,Y[m]=0}for(H=0,z=0;z<32;z++)Y[z]+=H-(Y[31]>>4)*Ee[z],H=Y[z]>>8,Y[z]&=255;for(z=0;z<32;z++)Y[z]-=H*Ee[z];for(m=0;m<32;m++)Y[m+1]+=Y[m]>>8,F[m]=Y[m]&255}function y(F){var Y=new Float64Array(64),H;for(H=0;H<64;H++)Y[H]=F[H];for(H=0;H<64;H++)F[H]=0;q(F,Y)}function M(F,Y,H,m){var z=new Uint8Array(64),rA=new Uint8Array(64),oA=new Uint8Array(64),uA,DA,FA=new Float64Array(64),yA=[t(),t(),t(),t()];Ne(z,m,32),z[0]&=248,z[31]&=127,z[31]|=64;var me=H+64;for(uA=0;uA<H;uA++)F[64+uA]=Y[uA];for(uA=0;uA<32;uA++)F[32+uA]=z[32+uA];for(Ne(oA,F.subarray(32),H+32),y(oA),_A(yA,oA),At(F,yA),uA=32;uA<64;uA++)F[uA]=m[uA];for(Ne(rA,F,H+64),y(rA),uA=0;uA<64;uA++)FA[uA]=0;for(uA=0;uA<32;uA++)FA[uA]=oA[uA];for(uA=0;uA<32;uA++)for(DA=0;DA<32;DA++)FA[uA+DA]+=rA[uA]*z[DA];return q(F.subarray(32),FA),me}function Z(F,Y){var H=t(),m=t(),z=t(),rA=t(),oA=t(),uA=t(),DA=t();return N(F[2],a),c(F[1],Y),_(z,F[1]),K(rA,z,Q),R(z,z,F[2]),f(rA,F[2],rA),_(oA,rA),_(uA,oA),K(DA,uA,oA),K(H,DA,z),K(H,H,rA),CA(H,H),K(H,H,z),K(H,H,rA),K(H,H,rA),K(F[0],H,rA),_(m,F[0]),K(m,m,rA),P(m,z)&&K(F[0],F[0],E),_(m,F[0]),K(m,m,rA),P(m,z)?-1:(b(F[0])===Y[31]>>7&&R(F[0],i,F[0]),K(F[3],F[0],F[1]),0)}function eA(F,Y,H,m){var z,rA=new Uint8Array(32),oA=new Uint8Array(64),uA=[t(),t(),t(),t()],DA=[t(),t(),t(),t()];if(H<64||Z(DA,m))return-1;for(z=0;z<H;z++)F[z]=Y[z];for(z=0;z<32;z++)F[z+32]=m[z];if(Ne(oA,F,H),y(oA),xA(uA,DA,oA),_A(DA,Y.subarray(32)),de(uA,DA),At(rA,uA),H-=64,k(Y,0,rA,0)){for(z=0;z<H;z++)F[z]=0;return-1}for(z=0;z<H;z++)F[z]=Y[z+64];return H}var iA=32,QA=24,WA=32,zA=16,HA=32,pe=32,PA=32,Re=32,Zt=32,Ve=QA,Ze=WA,Go=zA,Me=64,Ge=32,yt=64,Ye=32,KA=64;e.lowlevel={crypto_core_hsalsa20:J,crypto_stream_xor:W,crypto_stream:L,crypto_stream_salsa20_xor:AA,crypto_stream_salsa20:X,crypto_onetimeauth:O,crypto_onetimeauth_verify:w,crypto_verify_16:h,crypto_verify_32:k,crypto_secretbox:l,crypto_secretbox_open:d,crypto_scalarmult:aA,crypto_scalarmult_base:RA,crypto_box_beforenm:IA,crypto_box_afternm:VA,crypto_box:ee,crypto_box_open:GA,crypto_box_keypair:MA,crypto_hash:Ne,crypto_sign:M,crypto_sign_keypair:Be,crypto_sign_open:eA,crypto_secretbox_KEYBYTES:iA,crypto_secretbox_NONCEBYTES:QA,crypto_secretbox_ZEROBYTES:WA,crypto_secretbox_BOXZEROBYTES:zA,crypto_scalarmult_BYTES:HA,crypto_scalarmult_SCALARBYTES:pe,crypto_box_PUBLICKEYBYTES:PA,crypto_box_SECRETKEYBYTES:Re,crypto_box_BEFORENMBYTES:Zt,crypto_box_NONCEBYTES:Ve,crypto_box_ZEROBYTES:Ze,crypto_box_BOXZEROBYTES:Go,crypto_sign_BYTES:Me,crypto_sign_PUBLICKEYBYTES:Ge,crypto_sign_SECRETKEYBYTES:yt,crypto_sign_SEEDBYTES:Ye,crypto_hash_BYTES:KA,gf:t,D:Q,L:Ee,pack25519:j,unpack25519:c,M:K,A:f,S:_,Z:R,pow2523:CA,add:de,set25519:N,modL:q,scalarmult:xA,scalarbase:_A};function tt(F,Y){if(F.length!==iA)throw new Error("bad key size");if(Y.length!==QA)throw new Error("bad nonce size")}function He(F,Y){if(F.length!==PA)throw new Error("bad public key size");if(Y.length!==Re)throw new Error("bad secret key size")}function be(){for(var F=0;F<arguments.length;F++)if(!(arguments[F]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function rs(F){for(var Y=0;Y<F.length;Y++)F[Y]=0}e.randomBytes=function(F){var Y=new Uint8Array(F);return s(Y,F),Y},e.secretbox=function(F,Y,H){be(F,Y,H),tt(H,Y);for(var m=new Uint8Array(WA+F.length),z=new Uint8Array(m.length),rA=0;rA<F.length;rA++)m[rA+WA]=F[rA];return l(z,m,m.length,Y,H),z.subarray(zA)},e.secretbox.open=function(F,Y,H){be(F,Y,H),tt(H,Y);for(var m=new Uint8Array(zA+F.length),z=new Uint8Array(m.length),rA=0;rA<F.length;rA++)m[rA+zA]=F[rA];return m.length<32||d(z,m,m.length,Y,H)!==0?null:z.subarray(WA)},e.secretbox.keyLength=iA,e.secretbox.nonceLength=QA,e.secretbox.overheadLength=zA,e.scalarMult=function(F,Y){if(be(F,Y),F.length!==pe)throw new Error("bad n size");if(Y.length!==HA)throw new Error("bad p size");var H=new Uint8Array(HA);return aA(H,F,Y),H},e.scalarMult.base=function(F){if(be(F),F.length!==pe)throw new Error("bad n size");var Y=new Uint8Array(HA);return RA(Y,F),Y},e.scalarMult.scalarLength=pe,e.scalarMult.groupElementLength=HA,e.box=function(F,Y,H,m){var z=e.box.before(H,m);return e.secretbox(F,Y,z)},e.box.before=function(F,Y){be(F,Y),He(F,Y);var H=new Uint8Array(Zt);return IA(H,F,Y),H},e.box.after=e.secretbox,e.box.open=function(F,Y,H,m){var z=e.box.before(H,m);return e.secretbox.open(F,Y,z)},e.box.open.after=e.secretbox.open,e.box.keyPair=function(){var F=new Uint8Array(PA),Y=new Uint8Array(Re);return MA(F,Y),{publicKey:F,secretKey:Y}},e.box.keyPair.fromSecretKey=function(F){if(be(F),F.length!==Re)throw new Error("bad secret key size");var Y=new Uint8Array(PA);return RA(Y,F),{publicKey:Y,secretKey:new Uint8Array(F)}},e.box.publicKeyLength=PA,e.box.secretKeyLength=Re,e.box.sharedKeyLength=Zt,e.box.nonceLength=Ve,e.box.overheadLength=e.secretbox.overheadLength,e.sign=function(F,Y){if(be(F,Y),Y.length!==yt)throw new Error("bad secret key size");var H=new Uint8Array(Me+F.length);return M(H,F,F.length,Y),H},e.sign.open=function(F,Y){if(be(F,Y),Y.length!==Ge)throw new Error("bad public key size");var H=new Uint8Array(F.length),m=eA(H,F,F.length,Y);if(m<0)return null;for(var z=new Uint8Array(m),rA=0;rA<z.length;rA++)z[rA]=H[rA];return z},e.sign.detached=function(F,Y){for(var H=e.sign(F,Y),m=new Uint8Array(Me),z=0;z<m.length;z++)m[z]=H[z];return m},e.sign.detached.verify=function(F,Y,H){if(be(F,Y,H),Y.length!==Me)throw new Error("bad signature size");if(H.length!==Ge)throw new Error("bad public key size");var m=new Uint8Array(Me+F.length),z=new Uint8Array(Me+F.length),rA;for(rA=0;rA<Me;rA++)m[rA]=Y[rA];for(rA=0;rA<F.length;rA++)m[rA+Me]=F[rA];return eA(z,m,m.length,H)>=0},e.sign.keyPair=function(){var F=new Uint8Array(Ge),Y=new Uint8Array(yt);return Be(F,Y),{publicKey:F,secretKey:Y}},e.sign.keyPair.fromSecretKey=function(F){if(be(F),F.length!==yt)throw new Error("bad secret key size");for(var Y=new Uint8Array(Ge),H=0;H<Y.length;H++)Y[H]=F[32+H];return{publicKey:Y,secretKey:new Uint8Array(F)}},e.sign.keyPair.fromSeed=function(F){if(be(F),F.length!==Ye)throw new Error("bad seed size");for(var Y=new Uint8Array(Ge),H=new Uint8Array(yt),m=0;m<32;m++)H[m]=F[m];return Be(Y,H,!0),{publicKey:Y,secretKey:H}},e.sign.publicKeyLength=Ge,e.sign.secretKeyLength=yt,e.sign.seedLength=Ye,e.sign.signatureLength=Me,e.hash=function(F){be(F);var Y=new Uint8Array(KA);return Ne(Y,F,F.length),Y},e.hash.hashLength=KA,e.verify=function(F,Y){return be(F,Y),F.length===0||Y.length===0||F.length!==Y.length?!1:p(F,0,Y,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 Y=65536;e.setPRNG(function(H,m){var z,rA=new Uint8Array(m);for(z=0;z<m;z+=Y)F.getRandomValues(rA.subarray(z,z+Math.min(m-z,Y)));for(z=0;z<m;z++)H[z]=rA[z];rs(rA)})}else typeof MD<"u"&&(F=hE,F&&F.randomBytes&&e.setPRNG(function(H,m){var z,rA=F.randomBytes(m);for(z=0;z<m;z++)H[z]=rA[z];rs(rA)}))})()})(A.exports?A.exports:self.nacl=self.nacl||{})})(Fi)),Fi.exports}bD();const FD={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:"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:!1,temperature:!1,knowledge:"2025-01",release_date:"2026-04-20",last_updated:"2026-04-20",open_weights:!0,modalities:{input:["text","image","video"],output:["text"]},pricing:{input:.9547499999999999,output:4.02,cache_read:.1608,cache_write:.9547499999999999}},{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}}]},ZE="ollama-cloud",_E="ottorouter",GD={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 vD(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:GD[e]}}}function SD(){const A=FD.models.map(vD);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:_E,label:"OttoRouter",env:["OTTOROUTER_PRIVATE_KEY"],api:"https://api.ottorouter.org/v1",doc:"https://ottorouter.org/docs",models:A}}function UD(){return{id:ZE,label:"Ollama Cloud",env:["OLLAMA_API_KEY"],npm:"ai-sdk-ollama",api:"https://ollama.com",doc:"https://docs.ollama.com/cloud",models:[]}}function RD(A){const e=UD(),t=SD(),s={...A};return s[ZE]=e,t&&(s[_E]=t),s}const XE=RD(Cm),KD={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 JD(A,e){const t=KD[A];if(t)return t.find(s=>{try{return s.match(e)}catch{return!1}})}function LD(A,e){const t=XE[A];if(!t)return;const s=e.toLowerCase();return t.models.find(n=>n.id?.toLowerCase()===s)}function $E(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=LD(A,e);if(a?.cost?.input!=null||a?.cost?.output!=null){const E=typeof a.cost?.input=="number"?a.cost.input:0,I=typeof a.cost?.output=="number"?a.cost.output:0,p=typeof a.cost?.cacheRead=="number"?a.cost.cacheRead:0,h=typeof a.cost?.cacheWrite=="number"?a.cost.cacheWrite:0,v=Math.max(0,s-r-i)*E/1e6,D=n*I/1e6,T=r*p/1e6,J=i*h/1e6,V=v+D+T+J;return Number.isFinite(V)?Number(V.toFixed(6)):void 0}const g=JD(A,e.toLowerCase());if(!g)return;const B=Math.max(0,s-r-i)*g.inputPerMillion/1e6,C=n*g.outputPerMillion/1e6,u=B+C;return Number.isFinite(u)?Number(u.toFixed(6)):void 0}function Ac(A,e){const t=XE[A];if(t)return t.models?.find(s=>s.id===e)}function ec({sessionId:A,title:e,className:t=""}){const[s,n]=x.useState(!1),[r,i]=x.useState(e||""),a=x.useRef(null),{mutate:g}=Wa(A);x.useEffect(()=>{s&&a.current&&(a.current.focus(),a.current.select())},[s]),x.useEffect(()=>{i(e||"")},[e]);const Q=x.useCallback(()=>{const C=r.trim();C&&C!==(e||"")&&g({title:C}),n(!1)},[r,e,g]),B=x.useCallback(()=>{i(e||""),n(!1)},[e]);return s?o.jsx("input",{ref:a,type:"text",value:r,onChange:C=>i(C.target.value),onBlur:Q,onKeyDown:C=>{C.key==="Enter"&&Q(),C.key==="Escape"&&B()},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(nn,{className:"h-3.5 w-3.5 opacity-0 group-hover:opacity-50 flex-shrink-0 transition-opacity"})]})}function jD({session:A,onNavigateToSession:e}){const{data:t}=ql(A.sessionType==="branch"?A.id:void 0),{preferences:s}=Ws(),{data:n}=Ha(A.id),r=x.useMemo(()=>{const k=A.totalInputTokens||0,v=A.totalOutputTokens||0,D=A.totalCachedTokens||0,T=A.totalCacheCreationTokens||0;return $E(A.provider,A.model,{inputTokens:k,outputTokens:v,cachedInputTokens:D,cacheCreationInputTokens:T})??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),T=Math.floor(D/60);return T>0?`${T}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(),Q=A.currentContextTokens||0,B=A.totalOutputTokens||0,C=A.sessionType==="branch",u=t?.parent,E=x.useMemo(()=>Ac(A.provider,A.model)?.limit?.context,[A.provider,A.model]),I=E?Q/E*100:0,p=()=>I>=90?"text-red-600 dark:text-red-400":I>=70?"text-amber-600 dark:text-amber-400":"text-foreground",h=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:h,children:[C&&o.jsxs("div",{className:"flex items-center gap-2 mb-3 text-sm",children:[o.jsx(no,{className:"h-4 w-4 text-violet-500"}),o.jsx("span",{className:"text-violet-600 dark:text-violet-400 font-medium",children:"Branch"}),u&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground",children:"from"}),o.jsxs("button",{type:"button",onClick:()=>e?.(u.id),className:"text-primary hover:underline flex items-center gap-1",children:[u.title||`Session ${u.id.slice(0,8)}`,o.jsx(MB,{className:"h-3 w-3"})]})]}),!u&&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(ec,{sessionId:A.id,title:A.title,className:"text-2xl font-semibold text-foreground leading-tight"}),n?.shared&&o.jsxs("button",{type:"button",onClick:()=>Co(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(Na,{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(Pt,{className:"h-2.5 w-2.5"}),n.pendingMessages]}):o.jsx(bt,{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(Q)} tokens`,children:[o.jsx("span",{className:"text-xs opacity-70",children:"ctx"}),o.jsx("span",{className:`font-medium ${p()}`,children:g(Q)})]}),o.jsxs("div",{className:"flex items-center gap-1.5",title:`Total output: ${a(B)} tokens`,children:[o.jsx("span",{className:"text-xs opacity-70",children:"out"}),o.jsx("span",{className:"font-medium text-foreground",children:g(B)})]})]}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(Ma,{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(bB,{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 go=Ct(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})})),as=22,Ca=2.5,Ia=(as-Ca)/2,Gi=2*Math.PI*Ia;function TD(A){return A>=90?"#ef4444":A>=70?"#f59e0b":"#3b82f6"}const $Q=x.memo(function({usage:e,provider:t}){const s=go(a=>a.openModal),n=e.primaryWindow?.usedPercent??0,r=Gi-n/100*Gi,i=TD(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:as,height:as,className:"-rotate-90",role:"img","aria-label":"Usage ring",children:[o.jsx("circle",{cx:as/2,cy:as/2,r:Ia,fill:"none",stroke:"hsl(var(--muted))",strokeWidth:Ca}),o.jsx("circle",{cx:as/2,cy:as/2,r:Ia,fill:"none",stroke:i,strokeWidth:Ca,strokeDasharray:Gi,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 OD(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 AB(A){return A<=18e3?"5 Hour":A<=86400?"24 Hour":"7 Day"}function vi({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 ",OD(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 qD=x.memo(function(){const e=go(i=>i.isModalOpen),t=go(i=>i.modalProvider),s=go(i=>i.closeModal),n=go(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(qo,{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(vi,{label:`${AB(n.primaryWindow.windowSeconds)} Window`,window:n.primaryWindow}),n.secondaryWindow&&o.jsx(vi,{label:`${AB(n.secondaryWindow.windowSeconds)} Window`,window:n.secondaryWindow}),n.sonnetWindow&&n.sonnetWindow.usedPercent>0&&o.jsx(vi,{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}),YD=6e4,HD=3e4,Si=new Set;function PD(A,e){const t=go(Q=>Q.setUsage),s=go(Q=>Q.setLoading),n=go(Q=>Q.setLastFetched),r=go(Q=>A?Q.usage[A]:void 0),i=e==="oauth"&&(A==="anthropic"||A==="openai"),a=x.useCallback(async()=>{if(!A||!i||Si.has(A))return;const Q=go.getState().lastFetched[A]??0;if(!(Q&&Date.now()-Q<HD)){Si.add(A),s(A,!0);try{const B=await mA.getProviderUsage(A);t(A,B),n(A,Date.now())}catch{}finally{s(A,!1),Si.delete(A)}}},[A,i,t,s,n]),g=x.useRef(a);return g.current=a,x.useEffect(()=>{if(!A||!i)return;g.current();const Q=setInterval(()=>g.current(),YD);return()=>clearInterval(Q)},[i,A]),{usage:r,fetchUsage:a,isOAuthProvider:i}}function Zn(A){const e=xe(h=>h.setBalance),t=xe(h=>h.setUsdcBalance),s=xe(h=>h.setWalletAddress),n=xe(h=>h.setLoading),r=xe(h=>h.setScope),i=xe(h=>h.setPayg),a=xe(h=>h.setSubscription),g=xe(h=>h.setLimits),Q=go(h=>h.setUsage),B=xe(h=>h.balance),C=xe(h=>h.usdcBalance),u=xe(h=>h.subscription),E=xe(h=>h.network),I=x.useCallback(async()=>{if(A==="ottorouter"){n(!0);try{const[h,k,v]=await Promise.all([mA.getOttoRouterBalance(),mA.getOttoRouterUsdcBalance(E),mA.getOttoRouterWallet()]);if(h){e(h.balance),s(h.walletAddress),r(h.scope??null),i(h.payg??null),a(h.subscription??null),g(h.limits??null);const D=h.subscription;D?.active&&D.usageWindows&&Q("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),!h&&k.walletAddress&&s(k.walletAddress))}catch{}finally{n(!1)}}},[A,E,e,t,s,n,r,i,a,g,Q]),p=u?.active&&!u.usageWindows;return x.useEffect(()=>{A==="ottorouter"&&(B===null||C===null||p)&&I()},[A,B,C,p,I]),{fetchBalance:I}}function WD({session:A,isVisible:e,isGenerating:t,onNavigateToSession:s}){const{data:n}=ql(A.sessionType==="branch"?A.id:void 0),{data:r}=Ha(A.id),i=x.useMemo(()=>{const T=A.totalInputTokens||0,J=A.totalOutputTokens||0,V=A.totalCachedTokens||0,AA=A.totalCacheCreationTokens||0;return $E(A.provider,A.model,{inputTokens:T,outputTokens:J,cachedInputTokens:V,cacheCreationInputTokens:AA})??0},[A.provider,A.model,A.totalInputTokens,A.totalOutputTokens,A.totalCachedTokens,A.totalCacheCreationTokens]),a=T=>T>=1e6?`${(T/1e6).toFixed(1)}M`:T>=1e3?`${(T/1e3).toFixed(1)}K`:T.toString(),g=A.currentContextTokens||0,Q=A.sessionType==="branch",B=n?.parent,C=x.useMemo(()=>Ac(A.provider,A.model)?.limit?.context,[A.provider,A.model]),u=C?g/C*100:0,E=()=>u>=90?"text-red-600 dark:text-red-400":u>=70?"text-amber-600 dark:text-amber-400":"text-foreground",{data:I}=Ps(),p=I?.[A.provider]?.authType,{usage:h,isOAuthProvider:k}=PD(A.provider,p),v=A.provider==="ottorouter";Zn(v?"ottorouter":void 0);const D=go(T=>T.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:[Q?o.jsx(no,{className:"w-4 h-4 flex-shrink-0 text-violet-500"}):o.jsx(Xc,{className:"w-4 h-4 flex-shrink-0"}),o.jsx(ec,{sessionId:A.id,title:A.title,className:"text-foreground font-medium text-sm"}),r?.shared&&o.jsxs("button",{type:"button",onClick:()=>Co(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(Na,{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(Pt,{className:"h-2.5 w-2.5"}),r.pendingMessages]}):o.jsx(bt,{className:"h-2.5 w-2.5 opacity-60"})]}),Q&&B&&o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"text-muted-foreground hidden sm:inline",children:"from"}),o.jsxs("button",{type:"button",onClick:()=>s?.(B.id),className:"text-primary hover:underline flex items-center gap-0.5 truncate max-w-32",title:B.title||`Session ${B.id.slice(0,8)}`,children:[o.jsx("span",{className:"truncate",children:B.title||`Session ${B.id.slice(0,8)}`}),o.jsx(MB,{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(Of,{sessionId:A.id}),k&&h&&o.jsx($Q,{usage:h,provider:A.provider}),v&&D&&o.jsx($Q,{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 ${E()}`,children:a(g)})]})}),i>0&&o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx(bB,{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(qD,{})]})}const zD=x.memo(function({pendingTopup:e,onMethodSelected:t,onCancel:s}){const[n,r]=x.useState(!1),[i,a]=x.useState(null),g=xe(E=>E.openTopupModal),Q=xe(E=>!!E.subscription?.active),B=async()=>{a("crypto"),r(!0);try{await mA.selectTopupMethod(e.sessionId,"crypto"),t("crypto")}catch(E){ce.error(E instanceof Error?E.message:"Failed to process payment"),r(!1),a(null)}},C=async()=>{a("fiat"),g(),mA.selectTopupMethod(e.sessionId,"fiat").catch(()=>{}),t("fiat")},u=async()=>{r(!0);try{await mA.cancelTopup(e.sessionId),s()}catch(E){ce.error(E instanceof Error?E.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(po,{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"})]}),Q&&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:u,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(nt,{className:"w-3 h-3"}),"Cancel"]}),o.jsxs("button",{type:"button",onClick:B,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(Le,{className:"w-3 h-3 animate-spin"}):o.jsx(ba,{className:"w-3 h-3"}),"Pay with USDC"]}),o.jsxs("button",{type:"button",onClick:C,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(Le,{className:"w-3 h-3 animate-spin"}):o.jsx(Cr,{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."})]})}),xn=Ct(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})})),VD=x.memo(function({messages:e,session:t,sessionId:s,isGenerating:n,compact:r=!1,disableAutoScroll:i=!1,onSelectSession:a}){const g=De(),{preferences:Q}=Ws(),B=x.useRef(null),C=x.useRef(null),u=x.useRef(null),[E,I]=x.useState(!0),p=x.useRef(!0),[h,k]=x.useState(!1),v=x.useRef(!1),D=x.useRef(void 0),T=x.useRef(0),J=x.useRef(void 0),V=x.useRef(!1),AA=x.useRef(t?.id),X=x.useRef(e.length),L=x.useRef(n),W=x.useRef(0),S=x.useRef(0),O=xn(b=>b.pendingTopup),w=xn(b=>b.clearPendingTopup),l=O&&O.sessionId===s,d=x.useCallback(()=>{const b=C.current;if(!b)return;const{scrollTop:c,scrollHeight:f,clientHeight:R}=b,K=f-c-R,_=f>W.current,tA=c<S.current-5;W.current=f,S.current=c,K<100?(p.current=!0,I(!0)):tA?(p.current=!1,I(!1),v.current=!0):!_&&p.current&&(p.current=!1,I(!1)),(tA||!p.current&&K>=100)&&(D.current&&clearTimeout(D.current),D.current=setTimeout(()=>{v.current=!1},150));const CA=u.current;if(CA){const aA=CA.getBoundingClientRect(),RA=b.getBoundingClientRect();k(aA.bottom<RA.top)}},[]);x.useEffect(()=>{if(i)return;const b=t?.id!==AA.current;if(AA.current=t?.id,b&&(V.current=!1),!V.current&&e.length>0){V.current=!0;const c=C.current;c&&(c.scrollTop=c.scrollHeight)}},[e.length,t?.id,i]),x.useEffect(()=>{if(i)return;const b=n&&!L.current,c=e.length>X.current;L.current=n,X.current=e.length,b?(v.current=!1,p.current=!0,I(!0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{const f=C.current;f&&(f.scrollTop=f.scrollHeight)})})):c&&!v.current&&!n&&(p.current=!0,I(!0))},[e.length,n,i]),x.useEffect(()=>{if(i)return;const b=C.current;if(!b||!E||v.current)return;T.current=b.scrollHeight-b.clientHeight;const c=()=>{const f=C.current;if(!f||v.current)return;const R=f.scrollTop,_=f.scrollHeight-f.clientHeight-R;if(Math.abs(_)<1){f.scrollTop=f.scrollHeight-f.clientHeight;return}if(Math.abs(_)<10){f.scrollTop=f.scrollHeight-f.clientHeight;return}f.scrollTop=R+_*.15,J.current=requestAnimationFrame(c)};J.current&&cancelAnimationFrame(J.current),J.current=requestAnimationFrame(c)},[e,E]),x.useEffect(()=>()=>{D.current&&clearTimeout(D.current),J.current&&cancelAnimationFrame(J.current)},[]);const N=()=>{v.current=!1,p.current=!0,I(!0);const b=C.current;b&&(b.scrollTop=b.scrollHeight)},G=x.useMemo(()=>e.filter(b=>b.role!=="system"),[e]),U=Q.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",j=x.useCallback(b=>async()=>{if(s&&b){g.setQueryData(["messages",s],c=>c&&c.map(f=>{if(f.id!==b)return f;const R=f.parts?.filter(K=>!(K.type==="error"||K.type==="tool_call"&&K.toolName==="finish"))??[];return{...f,status:"pending",parts:R,error:null}}));try{await mA.retryMessage(s,b)}catch(c){ce.error(c instanceof Error?c.message:"Failed to retry")}}},[s,g]),P=x.useCallback(async()=>{if(s)try{await mA.sendMessage(s,{content:"/compact"})}catch(b){ce.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(WD,{session:t,isVisible:h,isGenerating:n,onNavigateToSession:a}),o.jsxs("div",{ref:C,className:"flex-1 overflow-y-auto",onScroll:d,children:[o.jsx("div",{ref:u,children:t&&o.jsx(jD,{session:t,onNavigateToSession:a})}),o.jsx("div",{className:r?"p-4 pb-56":"p-6 pb-64",children:o.jsxs("div",{className:U,children:[G.map((b,c)=>{const f=G[c-1],R=G[c+1],K=c===G.length-1;if(b.role==="user"){const _=R&&R.role==="assistant"?R:void 0;return o.jsx(Hl,{sessionId:s,message:b,isFirst:c===0,nextAssistantMessageId:_?.id},b.id)}if(b.role==="assistant"){const _=!f||f.role!=="assistant",tA=R&&R.role==="assistant";return o.jsx(Yl,{sessionId:s,message:b,showHeader:_,hasNextAssistantMessage:tA,isLastMessage:K,onBranchCreated:a,onRetry:K?j(b.id):void 0,compact:r,onCompact:K?P:void 0},b.id)}return null}),l&&O&&o.jsx("div",{className:"py-4",children:o.jsx(zD,{pendingTopup:O,onMethodSelected:()=>w(),onCancel:()=>w()})}),o.jsx("div",{ref:B})]})})]}),!E&&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($c,{className:"w-4 h-4"}),o.jsx("span",{children:"Scroll to bottom"})]})]})});class tc{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 Q=i.indexOf(`
114
+
115
+ `);for(;Q!==-1;){const B=i.slice(0,Q);i=i.slice(Q+2);const C=B.split(`
116
+ `);let u="message",E="";for(const I of C)I.startsWith("event: ")?u=I.slice(7).trim():I.startsWith("data: ")?E+=(E?`
117
+ `:"")+I.slice(6):I.startsWith(":");if(E)try{const I=JSON.parse(E);this.emit({type:u,payload:I})}catch(I){console.error(`[SSE] Failed to parse ${u}:`,I)}Q=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 oc(A,e=!0){const t=De(),s=x.useRef(null),n=x.useRef(null),{addPendingApproval:r,removePendingApproval:i,updatePendingApproval:a,setPendingApprovals:g}=wr();x.useEffect(()=>{if(!A||!e)return;n.current=null;let Q=0;mA.getPendingApprovals(A).then(l=>{l.ok&&l.pending.length>0?g(l.pending):g([])}).catch(()=>{g([])});const B=new tc;s.current=B;const C=mA.getStreamUrl(A);console.log("[useSessionStream] Connecting to stream:",C),B.connect(C);const u=l=>{if(n.current){const d=l.findIndex(N=>N.id===n.current);if(d!==-1)return d}for(let d=l.length-1;d>=0;d-=1){const N=l[d];if(N.role==="assistant"&&N.status!=="complete")return d}return-1},E=l=>{if(l.contentJson&&typeof l.contentJson=="object"&&!Array.isArray(l.contentJson)&&"text"in l.contentJson)return String(l.contentJson.text??"");if(typeof l.content=="string"){try{const d=JSON.parse(l.content);if(d&&typeof d.text=="string")return d.text}catch{}return l.content}return""},I=l=>typeof l?.callId=="string"?l.callId:typeof l?.toolCallId=="string"?l.toolCallId:null,p=l=>typeof l?.name=="string"?l.name:typeof l?.toolName=="string"?l.toolName:null,h=l=>l?.args??l?.input,k=l=>typeof l?.delta=="string"?l.delta:typeof l?.inputTextDelta=="string"?l.inputTextDelta:null,v=l=>typeof l?.delta=="string"?l.delta:typeof l?.outputTextDelta=="string"?l.outputTextDelta:null,D=(l,d)=>{if(typeof d!="number")return l.length;const N=l.filter(b=>b.stepIndex===d).map(b=>b.index).filter(b=>Number.isFinite(b));if(N.length>0)return Math.max(...N)+.001;const G=l.filter(b=>typeof b.stepIndex=="number"&&b.stepIndex<d).map(b=>b.index).filter(b=>Number.isFinite(b)),U=l.filter(b=>typeof b.stepIndex=="number"&&b.stepIndex>d).map(b=>b.index).filter(b=>Number.isFinite(b)),j=G.length>0?Math.max(...G):null,P=U.length>0?Math.min(...U):null;return j!==null&&P!==null?(j+P)/2:j!==null?j+1:P!==null?P-1:l.length},T=l=>{const d=typeof l?.messageId=="string"?l.messageId:null,N=typeof l?.partId=="string"?l.partId:null,G=typeof l?.delta=="string"?l.delta:null;!d||!N||G===null||t.setQueryData(["messages",A],U=>{if(!U)return U;const j=[...U],P=j.findIndex(K=>K.id===d);if(P===-1)return U;const b=j[P],c=b.parts?[...b.parts]:[];let f=c.findIndex(K=>K.id===N);const R=typeof l?.stepIndex=="number"?l.stepIndex:null;if(f===-1){const K={id:N,messageId:d,index:D(c,R),stepIndex:R,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};c.push(K),f=c.length-1}else{const K=c[f],tA=`${E(K)}${G}`;c[f]={...K,content:JSON.stringify({text:tA}),contentJson:{text:tA},stepIndex:R??K.stepIndex??null,completedAt:null}}return j[P]={...b,parts:c},j})},J=l=>{const d=typeof l?.messageId=="string"?l.messageId:null,N=typeof l?.partId=="string"?l.partId:null,G=typeof l?.delta=="string"?l.delta:null;!d||!N||G===null||t.setQueryData(["messages",A],U=>{if(!U)return U;const j=[...U],P=j.findIndex(K=>K.id===d);if(P===-1)return U;const b=j[P],c=b.parts?[...b.parts]:[];let f=c.findIndex(K=>K.id===N);const R=typeof l?.stepIndex=="number"?l.stepIndex:null;if(f===-1){const K={id:N,messageId:d,index:D(c,R),stepIndex:R,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};c.push(K),f=c.length-1}else{const K=c[f],tA=`${E(K)}${G}`;c[f]={...K,content:JSON.stringify({text:tA}),contentJson:{text:tA},stepIndex:R??K.stepIndex??null,completedAt:null}}return j[P]={...b,parts:c},j})},V=l=>{if(!l)return;const d=I(l),N=p(l);N&&t.setQueryData(["messages",A],G=>{if(!G)return G;const U=[...G];let j=u(U);if(typeof l.messageId=="string"){const _=U.findIndex(tA=>tA.id===l.messageId);_!==-1&&(j=_)}if(j===-1)return G;const P=U[j],b=P.parts?[...P.parts]:[];let c=-1;d&&(c=b.findIndex(_=>_.toolCallId===d&&_.ephemeral)),c===-1&&!d&&(c=b.findIndex(_=>_.ephemeral&&_.toolName===N));const f=h(l),R=typeof l.stepIndex=="number"?l.stepIndex:null,K={name:N};if(d&&(K.callId=d),f!==void 0&&(K.args=f),c===-1){const _={id:d?`ephemeral-tool-call-${d}`:`ephemeral-tool-call-${N}-${Date.now()}`,messageId:P.id,index:D(b,R),stepIndex:R,type:"tool_call",content:JSON.stringify(K),contentJson:K,agent:P.agent,provider:P.provider,model:P.model,startedAt:Date.now(),completedAt:null,toolName:N,toolCallId:d,toolDurationMs:null,ephemeral:!0};b.push(_)}else{const _=b[c],tA={...typeof _.contentJson=="object"&&!Array.isArray(_.contentJson)?_.contentJson:{},name:N};d&&(tA.callId=d),f!==void 0&&(tA.args=f),b[c]={..._,content:JSON.stringify(tA),contentJson:tA,stepIndex:R??_.stepIndex??null,toolCallId:d??_.toolCallId,toolName:N}}return U[j]={...P,parts:b},U})},AA=(l,d)=>{if(!l)return;const N=I(l),G=p(l);G&&t.setQueryData(["messages",A],U=>{if(!U)return U;const j=[...U];let P=u(j);if(typeof l.messageId=="string"){const K=j.findIndex(_=>_.id===l.messageId);K!==-1&&(P=K)}if(P===-1)return U;const b=j[P],c=b.parts?[...b.parts]:[];let f=-1;N&&(f=c.findIndex(K=>K.toolCallId===N&&K.ephemeral)),f===-1&&!N&&(f=c.findIndex(K=>K.ephemeral&&K.toolName===G));const R=typeof l.stepIndex=="number"?l.stepIndex:null;if(f===-1){const K={name:G,_streamedInput:d};N&&(K.callId=N);const _={id:N?`ephemeral-tool-call-${N}`:`ephemeral-tool-call-${G}-${Date.now()}`,messageId:b.id,index:D(c,R),stepIndex:R,type:"tool_call",content:JSON.stringify(K),contentJson:K,agent:b.agent,provider:b.provider,model:b.model,startedAt:Date.now(),completedAt:null,toolName:G,toolCallId:N,toolDurationMs:null,ephemeral:!0};c.push(_)}else{const K=c[f],_=typeof K.contentJson?._streamedInput=="string"?K.contentJson._streamedInput:"",tA={...typeof K.contentJson=="object"&&!Array.isArray(K.contentJson)?K.contentJson:{},_streamedInput:_+d};c[f]={...K,content:JSON.stringify(tA),contentJson:tA,stepIndex:R??K.stepIndex??null}}return j[P]={...b,parts:c},j})},X=(l,d)=>{if(!l)return;const N=I(l),G=p(l);G&&t.setQueryData(["messages",A],U=>{if(!U)return U;const j=[...U];let P=u(j);if(typeof l.messageId=="string"){const K=j.findIndex(_=>_.id===l.messageId);K!==-1&&(P=K)}if(P===-1)return U;const b=j[P],c=b.parts?[...b.parts]:[];let f=-1;N&&(f=c.findIndex(K=>K.toolCallId===N&&K.ephemeral)),f===-1&&!N&&(f=c.findIndex(K=>K.ephemeral&&K.toolName===G));const R=typeof l.stepIndex=="number"?l.stepIndex:null;if(f===-1){const K={name:G,_streamedOutput:d};N&&(K.callId=N);const _={id:N?`ephemeral-tool-call-${N}`:`ephemeral-tool-call-${G}-${Date.now()}`,messageId:b.id,index:D(c,R),stepIndex:R,type:"tool_call",content:JSON.stringify(K),contentJson:K,agent:b.agent,provider:b.provider,model:b.model,startedAt:Date.now(),completedAt:null,toolName:G,toolCallId:N,toolDurationMs:null,ephemeral:!0};c.push(_)}else{const K=c[f],_=typeof K.contentJson?._streamedOutput=="string"?K.contentJson._streamedOutput:"",tA={...typeof K.contentJson=="object"&&!Array.isArray(K.contentJson)?K.contentJson:{},_streamedOutput:_+d};c[f]={...K,content:JSON.stringify(tA),contentJson:tA,stepIndex:R??K.stepIndex??null}}return j[P]={...b,parts:c},j})},L=l=>{const d=I(l);if(!d)return;const N=p(l),G=typeof l?.stepIndex=="number"?l.stepIndex:null,U=l?.result,j=l?.artifact,P=h(l);t.setQueryData(["messages",A],b=>{if(!b)return b;let c=!1;const f=Date.now(),R=b.map(K=>{if(!K.parts?.length)return K;let _=!1;const tA=K.parts.map(CA=>{if(!(CA.ephemeral&&CA.toolCallId===d))return CA;_=!0,c=!0;const aA={...typeof CA.contentJson=="object"&&!Array.isArray(CA.contentJson)?CA.contentJson:{},name:N??CA.toolName??"tool",callId:d};P!==void 0&&(aA.args=P),U!==void 0&&(aA.result=U),j!==void 0&&(aA.artifact=j);const RA=CA.startedAt&&Number.isFinite(CA.startedAt)?Math.max(0,f-CA.startedAt):CA.toolDurationMs;return{...CA,type:"tool_result",content:JSON.stringify(aA),contentJson:aA,stepIndex:G??CA.stepIndex??null,completedAt:f,toolName:N??CA.toolName,toolDurationMs:RA??null}});return _?{...K,parts:tA}:K});return c?R:b})},W=l=>{const d=I(l);d&&t.setQueryData(["messages",A],N=>{if(!N)return N;let G=!1;const U=N.map(j=>{if(!j.parts?.length)return j;const P=j.parts.filter(b=>!(b.ephemeral&&b.toolCallId===d));return P.length===j.parts.length?j:(G=!0,{...j,parts:P})});return G?U:N})},S=l=>{l&&t.setQueryData(["messages",A],d=>{if(!d)return d;const N=d.findIndex(j=>j.id===l);if(N===-1)return d;const G=d[N];if(!G.parts?.some(j=>j.ephemeral&&j.type==="tool_call"))return d;const U=[...d];return U[N]={...G,parts:G.parts?.filter(j=>!(j.ephemeral&&j.type==="tool_call"))??[]},U})},O=l=>{const d=typeof l?.id=="string"?l.id:null;d&&t.setQueryData(["messages",A],N=>{if(!N)return N;const G=[...N],U=G.findIndex(P=>P.id===d);if(U===-1)return N;const j=G[U];return G[U]={...j,status:"complete",completedAt:Date.now()},G})},w=B.on("*",l=>{const d=l.payload;switch(l.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 U=typeof d?.agent=="string"?d.agent:"",j=typeof d?.provider=="string"?d.provider:"",P=typeof d?.model=="string"?d.model:"",b=typeof d?.content=="string"?d.content:null,c=N==="user"&&b?[{id:`${G}-text`,messageId:G,index:0,stepIndex:null,type:"text",content:JSON.stringify({text:b}),contentJson:{text:b},agent:U,provider:j,model:P,startedAt:Date.now(),completedAt:Date.now(),toolName:null,toolCallId:null,toolDurationMs:null}]:[];t.setQueryData(["messages",A],f=>{if(!f||f.some(_=>_.id===G))return f;const R={id:G,sessionId:A,role:N,status:N==="user"?"complete":"pending",agent:U,provider:j,model:P,createdAt:Date.now(),completedAt:null,latencyMs:null,promptTokens:null,completionTokens:null,totalTokens:null,error:null,parts:c},K=[...f,R];return K.sort((_,tA)=>_.createdAt-tA.createdAt),K})}break}case"message.part.delta":{J(d);break}case"reasoning.delta":{T(d);break}case"message.completed":{const N=typeof d?.id=="string"?d.id:null;N&&n.current===N&&(n.current=null),O(d),S(N),t.invalidateQueries({queryKey:["messages",A]}),t.invalidateQueries({queryKey:ho});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?AA(d,G):V(d):N==="output"&&G&&X(d,G);break}case"tool.call":{V(d);break}case"tool.result":{L(d);break}case"tool.approval.required":{const N=typeof d?.callId=="string"?d.callId:null,G=typeof d?.toolName=="string"?d.toolName:null,U=typeof d?.messageId=="string"?d.messageId:null,j=d?.args;N&&G&&U&&r({callId:N,toolName:G,args:j,messageId:U,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&&S(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],U=>{if(!U)return U;const j=U.findIndex(b=>b.id===N);if(j===-1)return U;const P=[...U];return P[j]={...P[j],status:G},P});break}case"queue.updated":{const N={currentMessageId:d?.currentMessageId,queuedMessages:d?.queuedMessages??[],queueLength:d?.queueLength??0};t.setQueryData(["queueState",A],N);break}}if(l.type==="finish-step"){const N=Date.now();N-Q>=2e3&&(Q=N,t.invalidateQueries({queryKey:ho}))}});return()=>{w(),B.disconnect()}},[A,t,r,i,e,g,a])}function ZD(A){const{pendingApprovals:e,removePendingApproval:t}=wr(),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 Q=s[0];g.key==="y"||g.key==="Y"?(g.preventDefault(),n(Q.callId)):g.key==="n"||g.key==="N"||g.key==="Escape"?(g.preventDefault(),r(Q.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 _D=({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"})})},XD={sm:{ring:48,icon:20,iconSize:16},md:{ring:72,icon:32,iconSize:24},lg:{ring:96,icon:40,iconSize:32}},Ui=x.memo(function({status:e,label:t,sublabel:s,size:n="md"}){const{ring:r,icon:i,iconSize:a}=XD[n],g={position:"relative",display:"flex",alignItems:"center",justifyContent:"center",width:r,height:r},Q={content:'""',position:"absolute",inset:0,borderRadius:"50%"},B=()=>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:{...Q,border:"2px solid hsl(var(--muted))"}}),e==="loading"&&o.jsx("div",{className:"animate-spin",style:{...Q,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:{...Q,border:`2px solid ${B()}`,opacity:.3}}),e==="error"&&o.jsx("div",{style:{...Q,border:`2px solid ${B()}`,opacity:.3}}),o.jsxs("div",{style:{position:"relative",zIndex:1},children:[e==="loading"&&o.jsx(_D,{height:Math.round(i*.65)}),e==="success"&&o.jsx(hB,{className:"text-green-500",style:{width:a,height:a}}),e==="error"&&o.jsx(Da,{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})]})]})}),$D=[10,25,50,100],Ri=5,Ki=2,is=500,A2=5e3,e2="https://share.ottocode.io/checkout/success";function t2(){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 o2({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 Cg=x.memo(function(){const e=xe(GA=>GA.isTopupModalOpen),t=xe(GA=>GA.closeTopupModal),s=xe(GA=>GA.balance),n=xe(GA=>GA.setBalance),r=xe(GA=>GA.usdcBalance),i=xe(GA=>GA.subscription),[a,g]=x.useState("amount"),[Q,B]=x.useState("polar"),[C,u]=x.useState(25),[E,I]=x.useState(""),[p,h]=x.useState(!1),[k,v]=x.useState(null),[D,T]=x.useState(null),[J,V]=x.useState(!1),[AA,X]=x.useState(!1),[L,W]=x.useState(null),[S,O]=x.useState(!1),[w,l]=x.useState(null),[d,N]=x.useState(0),[G,U]=x.useState(!1),j=x.useRef(null),P=p?parseFloat(E)||0:C,b=!!i?.active,c=Q==="razorpay"?Ki:Ri,f=x.useCallback(async GA=>{if(GA<c||GA>is){v(null),T(null);return}V(!0);try{if(Q==="polar"){const LA=await mA.getPolarTopupEstimate(GA);v(LA),T(null)}else{const LA=await mA.getRazorpayTopupEstimate(GA);T(LA),v(null)}}catch{v(null),T(null)}finally{V(!1)}},[Q,c]);x.useEffect(()=>{if(e&&P>=c&&a==="amount"){const GA=setTimeout(()=>f(P),300);return()=>clearTimeout(GA)}},[e,P,f,a,c]);const R=x.useCallback(()=>{j.current&&(clearInterval(j.current),j.current=null),O(!1)},[]);x.useEffect(()=>{e||(R(),g("amount"),W(null),l(null),N(0))},[e,R]),x.useEffect(()=>()=>R(),[R]);const K=x.useCallback(GA=>{if(j.current)return;O(!0),N(0);const LA=async()=>{try{const le=await mA.getPolarTopupStatus(GA);if(N(Ne=>Ne+1),le?.confirmed){R(),l(le.amountUsd),localStorage.removeItem("pendingPolarCheckout");const Ne=await mA.getOttoRouterBalance();Ne?.balance!==void 0&&n(Ne.balance),g("confirmed")}}catch{N(le=>le+1)}};LA(),j.current=setInterval(LA,A2)},[R,n]),_=GA=>{u(GA),h(!1),I("")},tA=GA=>{I(GA),h(!0)},CA=x.useCallback(GA=>{window.self!==window.top?window.parent.postMessage({type:"otto-open-url",url:GA},"*"):window.open(GA,"_blank")},[]),aA=async()=>{if(P<Ri||P>is){ce.error(`Amount must be between $${Ri} and $${is}`);return}X(!0);try{const GA=await mA.createPolarCheckout(P,e2);if(GA.checkoutUrl&&GA.checkoutId){const LA={url:GA.checkoutUrl,checkoutId:GA.checkoutId,creditAmount:GA.creditAmount,chargeAmount:GA.chargeAmount};W(LA),localStorage.setItem("pendingPolarCheckout",GA.checkoutId),g("checkout"),CA(GA.checkoutUrl),K(GA.checkoutId)}}catch(GA){ce.error(GA instanceof Error?GA.message:"Failed to create checkout")}finally{X(!1)}},RA=async()=>{if(P<Ki||P>is){ce.error(`Amount must be between $${Ki} and $${is}`);return}X(!0);try{await t2();const GA=await mA.createRazorpayOrder(P);g("razorpay-processing");const LA=new window.Razorpay({key:GA.keyId,amount:GA.amount,currency:GA.currency,name:"Setu",description:`Top up $${GA.creditAmountUsd.toFixed(2)} credits`,order_id:GA.orderId,handler:async le=>{try{const Ne=await mA.verifyRazorpayPayment({razorpay_order_id:le.razorpay_order_id,razorpay_payment_id:le.razorpay_payment_id,razorpay_signature:le.razorpay_signature});if(Ne.success){l(Ne.credited);const de=await mA.getOttoRouterBalance();de?.balance!==void 0&&n(de.balance),g("confirmed")}}catch(Ne){ce.error(Ne instanceof Error?Ne.message:"Payment verification failed"),g("amount")}},modal:{ondismiss:()=>{g("amount")}},theme:{color:"#7c3aed"}});LA.on("payment.failed",()=>{ce.error("Payment failed. Please try again."),g("amount")}),LA.open()}catch(GA){ce.error(GA instanceof Error?GA.message:"Failed to create order"),g("amount")}finally{X(!1)}},MA=()=>{Q==="polar"?aA():RA()},IA=async()=>{if(L){U(!0);try{const GA=await mA.getPolarTopupStatus(L.checkoutId);if(GA?.confirmed){R(),l(GA.amountUsd),localStorage.removeItem("pendingPolarCheckout");const LA=await mA.getOttoRouterBalance();LA?.balance!==void 0&&n(LA.balance),g("confirmed")}else ce.error("Payment not confirmed yet. Keep waiting or try again.")}catch(GA){console.error("[OttoRouterTopupModal] Check failed:",GA),ce.error("Failed to check payment status")}finally{U(!1)}}},VA=()=>{t()},ZA=P>=c&&P<=is,ee=a==="confirmed"?"Payment Confirmed":a==="checkout"?"Waiting for Payment":a==="razorpay-processing"?"Processing Payment":"Add Credits";return o.jsx(qo,{isOpen:e,onClose:t,title:ee,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(Ui,{status:"success",label:`+$${w?.toFixed(2)??L?.creditAmount.toFixed(2)}`,sublabel:"Credits added to your balance"})}),o.jsx("button",{type:"button",onClick:VA,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(Ui,{status:"loading",label:"Complete payment in the Razorpay window",sublabel:"Do not close this page"})}),a==="checkout"&&L&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"py-4",children:[o.jsx(Ui,{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:S?`Checking... (${d})`:"Paused"})]})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsxs("button",{type:"button",onClick:IA,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(Le,{className:"w-4 h-4 animate-spin"}):o.jsx(Pt,{className:"w-4 h-4"}),G?"Checking...":"Check Now"]}),o.jsxs("button",{type:"button",onClick:()=>CA(L.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(bt,{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:()=>B("polar"),className:`flex-1 flex items-center justify-center gap-2 py-2.5 text-sm font-medium transition-colors ${Q==="polar"?"bg-foreground text-background":"bg-transparent text-muted-foreground hover:text-foreground"}`,children:[o.jsx(o2,{className:"w-3.5 h-3.5"}),"Polar"]}),o.jsxs("button",{type:"button",onClick:()=>B("razorpay"),className:`flex-1 flex items-center justify-center gap-2 py-2.5 text-sm font-medium transition-colors ${Q==="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:$D.map(GA=>o.jsxs("button",{type:"button",onClick:()=>_(GA),className:`h-12 text-base font-mono rounded-lg border-2 transition-all ${!p&&C===GA?"bg-foreground text-background border-foreground":"bg-transparent border-border text-foreground hover:border-foreground/40"}`,children:["$",GA]},GA))}),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:E,onChange:GA=>tA(GA.target.value),onFocus:()=>h(!0),min:c,max:is,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 ${ZA?"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:J?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"})]})]}):Q==="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)]})]})]}):Q==="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:MA,disabled:!ZA||AA,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:[AA?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):o.jsx(Cr,{className:"w-4 h-4"}),Q==="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(ba,{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."})]})]})]})]})]})})}),r2=x.memo(function({sessionId:e,onSelectSession:t}){const{data:s=[],isLoading:n}=sa(e),{data:r=[]}=Ln(),{preferences:i}=Ws();oc(e),ZD(e);const a=x.useMemo(()=>r.find(Q=>Q.id===e),[r,e]),g=x.useMemo(()=>s.some(Q=>Q.role==="assistant"&&Q.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(VD,{messages:s,sessionId:e,session:a,isGenerating:g,compact:i.compactThread,onSelectSession:t}),o.jsx(Cg,{})]})}),eB=1440*60*1e3;function n2(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 i2(A){const e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),s=t-eB,n=t-eB*7;return A>=t?"Today":A>=s?"Yesterday":A>=n?"Earlier":"Older"}const a2=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=n2(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"}`})]})]})]})})}),Ig=Ct(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})})),g2=x.memo(function({activeSessionId:e,onSelectSession:t}){const{data:s=[],isLoading:n,hasNextPage:r,fetchNextPage:i,isFetchingNextPage:a}=Ln(),{currentFocus:g,sessionIndex:Q}=Ig(),B=x.useRef(new Map),C=x.useRef(null),u=x.useRef(void 0),E=x.useCallback(v=>{u.current=v,t(v)},[t]),I=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]),h=x.useMemo(()=>{const v=new Map;for(const D of I){const T=i2(D.activityAt),J=v.get(T)??[];J.push(D),v.set(T,J)}return Array.from(v.entries()).map(([D,T])=>({label:D,sessions:T}))},[I]);if(x.useEffect(()=>{if(g==="sessions"){const v=I[Q];v&&B.current.get(v.id)?.scrollIntoView({block:"nearest",behavior:"smooth"})}},[g,Q,I]),x.useEffect(()=>{if(!e||u.current===e||s.length===0)return;const v=s.findIndex(D=>D.id===e);if(v===-1&&r){i();return}v!==-1&&(u.current=e,requestAnimationFrame(()=>{B.current.get(e)?.scrollIntoView({block:"nearest",behavior:"smooth"})}))},[e,s,r,i]),x.useEffect(()=>{const v=C.current;if(!v)return;const D=()=>{const{scrollTop:T,scrollHeight:J,clientHeight:V}=v;J-T-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(I.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 T=g==="sessions"&&Q===v.index;return o.jsx("div",{ref:J=>{J?B.current.set(v.id,J):B.current.delete(v.id)},className:T?"ring-1 ring-sidebar-ring/40 rounded-md":"",children:o.jsx(a2,{session:D,isActive:v.id===e,onClick:()=>E(v.id)})},v.id)};return o.jsxs("div",{ref:C,className:"flex flex-col h-full overflow-y-auto scrollbar-hide",children:[o.jsx("div",{className:"h-14 shrink-0","aria-hidden":"true"}),h.length>0&&o.jsx("div",{className:"px-3 pt-3 pb-1",children:o.jsx("div",{className:"space-y-3",children:h.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(Le,{className:"h-4 w-4 animate-spin text-sidebar-muted-foreground"})})]})}),Q2=new Set(["png","jpg","jpeg","gif","svg","webp","ico","bmp","avif"]);function B2(A){const e=A.split(".").pop()?.toLowerCase()??"";return Q2.has(e)}const l2={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 E2(A){const e=A.split(".").pop()?.toLowerCase()??"";return e?l2[e]??"plaintext":"plaintext"}function c2(A){const e=A.split("/");return e[e.length-1]}function C2({diff:A}){const e=document?.documentElement.classList.contains("dark")?Bo:lo,t=A.language&&A.language.trim().length>0?A.language:E2(A.file),s=c2(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(qt,{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 B=B2(A.file)?`${El()}/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"})})]}),B?o.jsx("div",{className:"flex-1 flex items-center justify-center p-4 overflow-auto",children:o.jsx("img",{src:B,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 Q of n)if(Q.startsWith("@@")){const B=Q.match(/@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);B&&(i=parseInt(B[1],10),a=parseInt(B[2],10)),r.push({oldLineNumber:null,newLineNumber:null,content:Q,codeContent:Q,type:"hunk"})}else Q.startsWith("diff")||Q.startsWith("index")||Q.startsWith("---")||Q.startsWith("+++")?r.push({oldLineNumber:null,newLineNumber:null,content:Q,codeContent:Q,type:"meta"}):Q.startsWith("+")?(r.push({oldLineNumber:null,newLineNumber:a,content:Q,codeContent:Q.slice(1),type:"add"}),a++):Q.startsWith("-")?(r.push({oldLineNumber:i,newLineNumber:null,content:Q,codeContent:Q.slice(1),type:"delete"}),i++):(r.push({oldLineNumber:i,newLineNumber:a,content:Q,codeContent:Q,type:"context"}),i++,a++);const g=(Q,B)=>{let C="flex hover:bg-muted/20",u="flex-shrink-0 w-20 px-2 py-0.5 text-xs font-mono select-none border-r border-border",E="flex-1 px-4 py-0.5 font-mono text-xs overflow-x-auto";Q.type==="hunk"?(C+=" bg-blue-500/10",u+=" text-blue-600 dark:text-blue-400",E+=" text-blue-600 dark:text-blue-400 font-semibold"):Q.type==="add"?(C+=" bg-green-500/10",u+=" text-green-700 dark:text-green-400",E+=" text-green-700 dark:text-green-400"):Q.type==="delete"?(C+=" bg-red-500/10",u+=" text-red-600 dark:text-red-400",E+=" text-red-600 dark:text-red-400"):Q.type==="meta"?(E+=" text-muted-foreground",u+=" text-muted-foreground"):(E+=" text-foreground/80",u+=" text-muted-foreground");const I=Q.oldLineNumber!==null?Q.oldLineNumber.toString():"",p=Q.newLineNumber!==null?Q.newLineNumber.toString():"";let h=Q.content||" ";return Q.type!=="meta"&&Q.type!=="hunk"&&t!=="plaintext"&&Q.codeContent.trim()&&(h=o.jsx(qt,{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:Q.codeContent}),Q.type==="add"?h=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"+"}),h]}):Q.type==="delete"&&(h=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"-"}),h]}))),o.jsxs("div",{className:C,children:[o.jsx("div",{className:u,"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:I}),o.jsx("span",{className:"text-right w-8",children:p})]})}),o.jsx("div",{className:E,children:h})]},B)};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 I2(A,e=2){const t=A.split("/");return t.length<=e+1?A:`../${t.slice(-e).join("/")}`}function Pr({file:A,staged:e,showModifiedIndicator:t=!1}){const{openDiff:s}=Ue(),n=Tn(),r=za(),i=Ml(),a=bl(),g=ja(D=>D.openConfirmation),[Q,B]=x.useState(e),C=async D=>{D.stopPropagation();const T=D.target.checked;B(T);try{T?await n.mutateAsync([A.path]):await r.mutateAsync([A.path])}catch(J){B(!T),console.error("Failed to stage/unstage file:",J)}},u=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(T){throw console.error("Failed to restore file:",T),T}}})},E=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(T){throw console.error("Failed to delete file:",T),T}}})},I=()=>{s(A.path,e)},h=(()=>{switch(A.status){case"added":case"untracked":return{icon:GB,color:"text-green-500",label:"A",labelColor:"text-green-500"};case"deleted":return{icon:AC,color:"text-red-500",label:"D",labelColor:"text-red-500"};case"modified":return{icon:Xo,color:"text-blue-500",label:"M",labelColor:"text-blue-500"};case"renamed":return{icon:Xo,color:"text-purple-500",label:"R",labelColor:"text-purple-500"};case"conflicted":return{icon:FB,color:"text-red-500",label:"C",labelColor:"text-red-500"};default:return{icon:Xo,color:"text-muted-foreground",label:"?",labelColor:"text-muted-foreground"}}})(),k=h.icon,v=I2(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:I,children:[o.jsx("input",{type:"checkbox",checked:Q,onChange:C,onClick:D=>D.stopPropagation(),className:"w-4 h-4 rounded border-border","aria-label":`${Q?"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 ${h.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 ${h.labelColor}`,children:h.label}),t&&o.jsx("div",{title:"Also modified in working directory",children:o.jsx(po,{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:E,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(Ir,{className:"w-4 h-4 text-destructive"})}),!e&&A.status!=="untracked"&&A.status!=="added"&&o.jsx("button",{type:"button",onClick:u,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(kB,{className:"w-4 h-4 text-destructive"})}),e&&!t&&o.jsx(Yt,{className:"w-4 h-4 text-green-500 opacity-0 group-hover:opacity-100 transition-opacity"})]})]})}function u2({status:A}){const{openCommitModal:e,openDiff:t}=Ue(),s=Tn();za();const{currentFocus:n,gitFileIndex:r}=Ig(),i=x.useRef(new Map),a=(A.conflicted?.length??0)>0,g=A.staged.length>0,Q=A.unstaged.length>0||A.untracked.length>0,B=[...A.unstaged,...A.untracked],C=B.length>0;x.useMemo(()=>[...A.conflicted??[],...A.staged,...A.unstaged,...A.untracked],[A]);const u=new Set(A.unstaged.map(p=>p.path)),E=()=>{const p=B.map(h=>h.path);p.length>0&&s.mutate(p)},I=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(FB,{className:"w-3.5 h-3.5"}),"Conflicts (",I,")"]})}),o.jsx("div",{className:"divide-y divide-border",children:A.conflicted?.map((p,h)=>{const k=h,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(Pr,{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(Qe,{variant:"primary",size:"sm",onClick:e,className:"h-6 text-xs",children:[o.jsx(an,{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,h)=>{const k=I+h,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(Pr,{file:p,staged:!0,showModifiedIndicator:u.has(p.path)})},p.path)})})]}),Q&&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,")"]}),C&&o.jsxs(Qe,{variant:"ghost",size:"sm",onClick:E,title:"Stage all changes",className:"h-6 text-xs",children:[o.jsx(eC,{className:"w-3 h-3 mr-1"}),"Stage All"]})]}),o.jsxs("div",{className:"divide-y divide-border",children:[A.unstaged.map((p,h)=>{const k=I+A.staged.length+h,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(Pr,{file:p,staged:!1})},p.path)}),A.untracked.map((p,h)=>{const k=I+A.staged.length+A.unstaged.length+h,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(Pr,{file:p,staged:!1})},p.path)})]})]}),!a&&!g&&!Q&&o.jsx("div",{className:"p-4 text-sm text-muted-foreground text-center",children:"No changes"})]})}const tB="git",oB=320,d2=320,h2=600,f2=x.memo(function({onFixWithAI:e}){const t=Ue(aA=>aA.isExpanded),s=Ue(aA=>aA.collapseSidebar),n=As(aA=>aA.widths[tB]??oB),{data:r,isLoading:i,error:a,refetch:g}=jn(),{data:Q}=Nf(),B=De(),C=xf(),u=Df(),E=yf(),I=kf(),p=Mf(),[h,k]=x.useState([]),[v,D]=x.useState(!1),[T,J]=x.useState(!1),[V,AA]=x.useState("origin"),[X,L]=x.useState(""),[W,S]=x.useState(null);x.useEffect(()=>{t&&B.invalidateQueries({queryKey:["git","status"]})},[t,B]);const O=()=>{g()},w=x.useCallback((aA,RA)=>{const MA=`${Date.now()}-${Math.random().toString(36).slice(2,7)}`;k(IA=>[...IA,{id:MA,message:aA,context:RA}])},[]),l=x.useCallback(aA=>{k(RA=>RA.filter(MA=>MA.id!==aA))},[]),d=async()=>{try{await C.mutateAsync()}catch(aA){w(aA instanceof Error?aA.message:"Failed to push","git push")}},N=async()=>{try{await u.mutateAsync()}catch(aA){w(aA instanceof Error?aA.message:"Failed to pull","git pull")}},G=async()=>{if(!(!V.trim()||!X.trim()))try{await I.mutateAsync({name:V.trim(),url:X.trim()}),AA("origin"),L(""),J(!1)}catch(aA){w(aA instanceof Error?aA.message:"Failed to add remote","git remote add")}},U=async aA=>{if(W!==aA){S(aA);return}S(null);try{await p.mutateAsync(aA)}catch(RA){w(RA instanceof Error?RA.message:"Failed to remove remote","git remote remove")}},j=x.useCallback(aA=>{const RA=aA.context?`I got a git error during ${aA.context}:
122
+
123
+ ${aA.message}
124
+
125
+ Please help me fix this.`:`I got a git error:
126
+
127
+ ${aA.message}
128
+
129
+ Please help me fix this.`;l(aA.id),e?.(RA)},[e,l]);if(!t)return null;const b=[...r?.conflicted||[],...r?.staged||[],...r?.unstaged||[],...r?.untracked||[]].length,c=r?.remotes&&r.remotes.length>0,f=r?.hasUpstream??!1,R=r&&c&&(r.ahead>0||!f),K=r&&r.behind>0,_=C.isPending||u.isPending,tA=a instanceof Error&&a.message.toLowerCase().includes("not a git repository"),CA=c?f?R?`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(Hs,{panelKey:tB,side:"right",minWidth:d2,maxWidth:h2,defaultWidth:oB}),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(no,{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(Qe,{variant:"ghost",size:"icon",onClick:s,title:"Close sidebar",children:o.jsx(it,{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(tC,{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(Qe,{variant:"secondary",size:"sm",onClick:()=>E.mutate(),disabled:E.isPending,className:"gap-1.5",children:[o.jsx(no,{className:`w-3.5 h-3.5 ${E.isPending?"animate-spin":""}`}),E.isPending?"Initializing...":"Initialize Repository"]}),E.isError&&o.jsx("span",{className:"text-xs text-orange-500",children:E.error instanceof Error?E.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(Qe,{variant:"secondary",size:"sm",onClick:O,children:"Retry"})]})}):!r||b===0?o.jsx("div",{className:"p-3 text-sm text-muted-foreground",children:"No changes detected"}):o.jsx(u2,{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(zt,{className:"w-3 h-3"}):o.jsx(it,{className:"w-3 h-3"}),o.jsx(Oo,{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:[Q&&Q.length>0?Q.filter(aA=>aA.type==="fetch").map(aA=>o.jsxs("div",{className:"flex items-center gap-2 text-xs group",children:[o.jsx("span",{className:"font-medium text-foreground",children:aA.name}),o.jsx("span",{className:"truncate text-muted-foreground flex-1 min-w-0",children:aA.url}),o.jsx("button",{type:"button",onClick:()=>{W===aA.name?U(aA.name):S(aA.name)},onBlur:()=>S(null),disabled:p.isPending,className:`${W===aA.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===aA.name?`Click again to confirm removing ${aA.name}`:`Remove ${aA.name}`,children:W===aA.name?o.jsx("span",{className:"text-[10px] font-medium",children:"Remove?"}):o.jsx(Ir,{className:"w-3 h-3"})})]},aA.name)):o.jsx("div",{className:"text-xs text-muted-foreground py-1",children:"No remotes configured"}),T?o.jsxs("div",{className:"space-y-1.5 pt-1",children:[o.jsx("input",{type:"text",value:V,onChange:aA=>AA(aA.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:aA=>L(aA.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:aA=>{aA.key==="Enter"&&G(),aA.key==="Escape"&&J(!1)}}),o.jsxs("div",{className:"flex gap-1",children:[o.jsx(Qe,{variant:"secondary",size:"sm",onClick:G,disabled:I.isPending||!V.trim()||!X.trim(),className:"flex-1 h-6 text-[10px]",children:I.isPending?"Adding...":"Add"}),o.jsx(Qe,{variant:"ghost",size:"sm",onClick:()=>J(!1),className:"h-6 text-[10px]",children:"Cancel"})]})]}):o.jsxs("button",{type:"button",onClick:()=>J(!0),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors pt-1",children:[o.jsx(Io,{className:"w-3 h-3"}),o.jsx("span",{children:"Add remote"})]})]})]}),h.length>0&&o.jsx("div",{className:"border-t border-border",children:h.map(aA=>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:aA.message}),o.jsxs("div",{className:"flex items-center gap-1 flex-shrink-0",children:[e&&o.jsxs("button",{type:"button",onClick:()=>j(aA),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(ro,{className:"w-3 h-3"}),"Fix"]}),o.jsx("button",{type:"button",onClick:()=>l(aA.id),className:"text-muted-foreground hover:text-foreground transition-colors p-0.5",title:"Dismiss",children:o.jsx(nt,{className:"w-3 h-3"})})]})]},aA.id))}),o.jsxs("div",{className:"h-12 border-t border-border flex items-center gap-1 px-2",children:[o.jsxs(Qe,{variant:"secondary",size:"sm",onClick:N,disabled:_||!c||!f,title:c?f?K?`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(oC,{className:`w-3.5 h-3.5 ${u.isPending?"animate-pulse":""}`}),"Pull",K&&o.jsxs("span",{className:"text-orange-500",children:["↓",r?.behind]})]}),o.jsxs(Qe,{variant:"secondary",size:"sm",onClick:d,disabled:!R||_,title:CA,className:"flex-1 h-8 text-xs gap-1.5",children:[o.jsx(sC,{className:`w-3.5 h-3.5 ${C.isPending?"animate-pulse":""}`}),!f&&c?"Publish":"Push",f&&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(no,{className:"w-3 h-3 flex-shrink-0"}),r?.branch&&o.jsx("span",{className:"truncate",children:r.branch}),r&&!f&&c&&o.jsx("span",{className:"text-[10px] text-orange-500 flex-shrink-0",children:"unpublished"})]}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:O,title:"Refresh git status",className:"h-6 w-6 flex-shrink-0",disabled:i,children:o.jsx(Pt,{className:`w-3 h-3 ${i?"animate-spin":""}`})})]})]})]})}),p2=x.memo(function(){const e=Ue(r=>r.isExpanded),t=Ue(r=>r.toggleSidebar),{data:s}=jn(),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(no,{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})]})}),fs=Ct()(cl(A=>({isCollapsed:!1,toggleCollapse:()=>A(e=>({isCollapsed:!e.isCollapsed})),setCollapsed:e=>A({isCollapsed:e})}),{name:"sidebar-storage"}));function sc(A,e=!0){return ot({queryKey:["files","tree",A],queryFn:()=>mA.getFileTree(A),enabled:e,staleTime:1e4,retry:1})}function m2(A){return ot({queryKey:["files","read",A],queryFn:()=>A?mA.readFileContent(A):null,enabled:!!A,staleTime:5e3,retry:1})}function w2(A,e=!1,t=!1){return ot({queryKey:["git","diff","fullFile",A,e],queryFn:()=>A?mA.getGitDiffFullFile(A,e):null,enabled:t&&!!A,retry:1,refetchInterval:!1})}const x2=x.memo(function(){const e=Ue(h=>h.isDiffOpen),t=Ue(h=>h.selectedFile),s=Ue(h=>h.selectedFileStaged),n=Ue(h=>h.closeDiff),r=fs(h=>h.setCollapsed),i=x.useRef(null),a=x.useRef(!1),{data:g,isLoading:Q}=pf(t,s),[B,C]=x.useState(!1),{data:u,isLoading:E}=w2(t,s,B),I=B&&u?u:g,p=B?E:Q;return x.useEffect(()=>{if(e||C(!1),e&&!a.current){const{isCollapsed:h}=fs.getState();i.current=h,r(!0)}else!e&&a.current&&i.current!==null&&(r(i.current),i.current=null);a.current=e},[e,r]),x.useEffect(()=>{const h=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&&C(T=>!T)};return document.addEventListener("keydown",h),()=>document.removeEventListener("keydown",h)},[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(Qe,{variant:"ghost",size:"icon",onClick:n,title:"Close diff viewer (ESC)",children:o.jsx(nt,{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
+ ${I?.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(Qe,{variant:B?"secondary":"ghost",size:"sm",onClick:()=>C(h=>!h),title:B?"Show diff only (f)":"Show full file with diff (f)",className:"flex items-center gap-1.5 text-xs h-7",children:[B?o.jsx(xa,{className:"w-3.5 h-3.5"}):o.jsx(dB,{className:"w-3.5 h-3.5"}),B?"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..."}):I?o.jsx(C2,{diff:I}):o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"No diff available"})})]})});function D2(){const{isCommitModalOpen:A,closeCommitModal:e}=Ue(),t=Ue(C=>C.commitSessionId),s=wf(),n=mf(t),[r,i]=x.useState(""),a=x.useId(),g=x.useCallback(async()=>{if(r.trim())try{await s.mutateAsync(r),i(""),e()}catch(C){console.error("Failed to commit:",C)}},[r,s,e]),Q=()=>{i(""),e()},B=x.useCallback(async()=>{try{const C=await n.mutateAsync();i(C.message)}catch(C){console.error("Failed to generate commit message:",C)}},[n]);return x.useEffect(()=>{if(!A)return;const C=u=>{(u.metaKey||u.ctrlKey)&&u.key==="Enter"&&(u.preventDefault(),u.stopPropagation(),r.trim()&&!s.isPending&&g()),(u.metaKey||u.ctrlKey)&&u.key==="g"&&(u.preventDefault(),u.stopPropagation(),B())};return document.addEventListener("keydown",C),()=>document.removeEventListener("keydown",C)},[A,r,s.isPending,g,B]),o.jsx(qo,{isOpen:A,onClose:Q,title:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(an,{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(Rn,{id:a,value:r,onChange:C=>i(C.target.value),placeholder:"Enter commit message...",rows:6,className:"w-full resize-none",autoFocus:!0,disabled:n.isPending})]}),o.jsx(Qe,{variant:"secondary",onClick:B,className:"w-full",disabled:n.isPending,children:n.isPending?o.jsxs(o.Fragment,{children:[o.jsx(Le,{className:"w-4 h-4 mr-2 animate-spin"}),"Generating..."]}):o.jsxs(o.Fragment,{children:[o.jsx(ro,{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(Qe,{variant:"ghost",onClick:Q,children:["Cancel ",o.jsx("span",{className:"text-muted-foreground ml-1",children:"(Esc)"})]}),o.jsx(Qe,{variant:"primary",onClick:g,disabled:!r.trim()||s.isPending,children:s.isPending?o.jsx("span",{children:"Committing..."}):o.jsxs(o.Fragment,{children:[o.jsx(an,{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 rc(A,e=!0){const t=Xe(s=>s.isExpanded);return ot({queryKey:["session",A,"files"],queryFn:()=>A?mA.getSessionFiles(A):null,enabled:!!A&&e,refetchInterval:t&&e?5e3:!1,retry:1,staleTime:3e3})}const sB="session-files",rB=320,y2=320,N2=600;function k2(A){switch(A){case"write":return o.jsx(GB,{className:"w-3 h-3 text-green-500"});case"patch":return o.jsx(To,{className:"w-3 h-3 text-blue-500"});default:return o.jsx(To,{className:"w-3 h-3 text-muted-foreground"})}}function M2(A){return A.split("/").pop()||A}function b2(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 F2({file:A}){const e=Xe(g=>g.openDiff),s=Xe(g=>g.selectedFile)===A.path,n=A.operations[A.operations.length-1],{totalAdditions:r,totalDeletions:i}=x.useMemo(()=>{let g=0,Q=0;for(const B of A.operations){const C=b2(B);g+=C.additions,Q+=C.deletions}return{totalAdditions:g,totalDeletions:Q}},[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:[k2(n?.operation||"write"),o.jsx("div",{className:"flex-1 min-w-0",children:o.jsx("div",{className:"text-sm font-medium truncate",children:M2(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 G2=x.memo(function({sessionId:e}){const t=Xe(Q=>Q.isExpanded),s=Xe(Q=>Q.collapseSidebar),n=As(Q=>Q.widths[sB]??rB),{data:r,isLoading:i,error:a,refetch:g}=rc(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(Hs,{panelKey:sB,side:"right",minWidth:y2,maxWidth:N2,defaultWidth:rB}),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(To,{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(Qe,{variant:"ghost",size:"icon",onClick:s,children:o.jsx(it,{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(Q=>o.jsx(F2,{file:Q},Q.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(To,{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(Qe,{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(Pt,{className:`w-3 h-3 ${i?"animate-spin":""}`})})})]})]})]}):null}),v2=x.memo(function({sessionId:e}){const t=Xe(i=>i.isExpanded),s=Xe(i=>i.toggleSidebar),{data:n}=rc(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(To,{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 S2(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 U2(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 R2(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 Q=a.match(/\+\+\+ b\/(.+)/)||a.match(/\*\*\* Update File: (.+)/);Q&&(i=Q[1])}if(a.startsWith("*** Add File:")){const Q=a.match(/\*\*\* Add File: (.+)/);Q&&(i=Q[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 K2({patch:A}){const{lines:e,filePath:t}=R2(A),s=U2(t),n=document?.documentElement.classList.contains("dark")?Bo:lo;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="",Q="";switch(r.type){case"add":g="text-emerald-700 dark:text-emerald-300",Q="bg-emerald-500/10";break;case"remove":g="text-red-600 dark:text-red-300",Q="bg-red-500/10";break;default:g="text-foreground/80"}let B=r.content;return r.codeContent.trim()&&s!=="text"&&(B=o.jsx(qt,{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"?B=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"+"}),B]}):r.type==="remove"?B=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:"-"}),B]}):r.type==="context"&&(B=o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"select-none",children:" "}),B]}))),o.jsxs("div",{className:`flex ${Q}`,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:B})]},a)})})})}function J2(A){return new Date(A).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}const L2=x.memo(function(){const e=Xe(E=>E.isDiffOpen),t=Xe(E=>E.selectedFile),s=Xe(E=>E.allOperations),n=Xe(E=>E.selectedOperationIndex),r=Xe(E=>E.selectOperation),i=Xe(E=>E.closeDiff),a=fs(E=>E.setCollapsed),g=x.useRef(null),Q=x.useRef(!1),B=s[n],C=x.useMemo(()=>{if(!B||!t)return null;let E=null;if(B.artifact?.patch)E=B.artifact.patch;else if(B.patch)E=B.patch;else if(B.content){const p=B.content.split(`
136
+ `);E=`*** Add File: ${t}
137
+ ${p.map(h=>`+${h}`).join(`
138
+ `)}`}return E?/@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/.test(E)?E:S2(E):null},[B,t]);if(x.useEffect(()=>{if(e&&!Q.current){const{isCollapsed:E}=fs.getState();g.current=E,a(!0)}else!e&&Q.current&&g.current!==null&&(a(g.current),g.current=null);Q.current=e},[e,a]),x.useEffect(()=>{const E=I=>{const p=I.target,h=p.tagName==="INPUT"||p.tagName==="TEXTAREA"||p.isContentEditable;(I.key==="Escape"||I.key==="q"&&!h)&&e&&i(),!h&&e&&s.length>1&&(I.key==="ArrowLeft"||I.key==="["?(I.preventDefault(),r(Math.max(0,n-1))):(I.key==="ArrowRight"||I.key==="]")&&(I.preventDefault(),r(Math.min(s.length-1,n+1))))};return document.addEventListener("keydown",E),()=>document.removeEventListener("keydown",E)},[e,i,s.length,n,r]),!e||!t||!B)return null;const u=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(Qe,{variant:"ghost",size:"icon",onClick:i,title:"Close diff viewer (ESC)",children:o.jsx(nt,{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:B.operation}),B.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:["+",B.artifact.summary.additions]}),o.jsxs("span",{className:"text-red-500",children:["-",B.artifact.summary.deletions]})]})]}),u&&o.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[o.jsx(Qe,{variant:"ghost",size:"icon",onClick:()=>r(Math.max(0,n-1)),disabled:n===0,title:"Previous operation (←)",children:o.jsx(rC,{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(Qe,{variant:"ghost",size:"icon",onClick:()=>r(Math.min(s.length-1,n+1)),disabled:n===s.length-1,title:"Next operation (→)",children:o.jsx(it,{className:"w-4 h-4"})})]})]}),u&&o.jsx("div",{className:"border-b border-border px-4 py-2 flex gap-2 overflow-x-auto shrink-0",children:s.map((E,I)=>o.jsxs("button",{type:"button",onClick:()=>r(I),className:`px-3 py-1.5 text-xs rounded-md flex items-center gap-2 shrink-0 transition-colors ${I===n?"bg-primary text-primary-foreground":"bg-muted hover:bg-muted/80 text-muted-foreground"}`,children:[o.jsx("span",{className:"capitalize",children:E.operation}),o.jsx("span",{className:"opacity-70",children:J2(E.timestamp)}),E.artifact?.summary&&o.jsxs("span",{className:"opacity-70",children:["+",E.artifact.summary.additions,"/-",E.artifact.summary.deletions]})]},E.toolCallId))}),o.jsx("div",{className:"flex-1 overflow-hidden p-4",children:C?o.jsx(K2,{patch:C}):o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"No diff content available"})})]})}),j2={};class T2{get baseUrl(){const e=window;if(e.OTTO_SERVER_URL)return e.OTTO_SERVER_URL;if(!j2?.VITE_API_BASE_URL)return es}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 _n=new T2;function nc(A,e=!0){return ot({queryKey:["research","sessions",A],queryFn:()=>_n.listResearchSessions(A),enabled:!!A&&e,staleTime:3e4})}function O2(){const A=De();return qe({mutationFn:({parentSessionId:e,data:t})=>_n.createResearchSession(e,t??{}),onSuccess:(e,{parentSessionId:t})=>{A.invalidateQueries({queryKey:["research","sessions",t]})}})}function q2(){const A=en(e=>e.addContext);return qe({mutationFn:({parentSessionId:e,researchSessionId:t,label:s})=>_n.injectContext(e,t,s),onSuccess:(e,{parentSessionId:t})=>{A(t,{id:e.sessionId,sessionId:e.sessionId,label:e.label,content:e.content})}})}function Y2(){const A=De();return qe({mutationFn:({researchId:e,data:t})=>_n.exportToNewSession(e,t),onSuccess:()=>{A.invalidateQueries({queryKey:ho})}})}const nB="research",iB=384,H2=384,P2=640,W2=x.memo(function({parentSessionId:e,onNavigateToSession:t}){const s=ut(IA=>IA.isExpanded),n=ut(IA=>IA.collapseSidebar),r=As(IA=>IA.widths[nB]??iB),i=ut(IA=>IA.activeResearchSessionId),a=ut(IA=>IA.selectResearchSession),[g,Q]=x.useState(!1),[B,C]=x.useState(""),[u,E]=x.useState(!1),[I,p]=x.useState("idle"),h=x.useRef(null),k=x.useRef(null),{data:v,isLoading:D,refetch:T}=nc(e,s),J=O2(),V=q2(),AA=Y2(),{data:X}=Ps(),{data:L}=sa(i??void 0,{enabled:s}),{data:W}=sa(e??void 0,{enabled:s});oc(i??void 0,s);const S=Wa(i??""),O=De(),w=qe({mutationFn:async({sessionId:IA,content:VA})=>mA.sendMessage(IA,{content:VA}),onSuccess:(IA,{sessionId:VA})=>{O.invalidateQueries({queryKey:["messages",VA]})}});x.useEffect(()=>{e&&ut.getState().setParentSessionId(e)},[e]),x.useEffect(()=>{v?.sessions?.length?v.sessions.some(VA=>VA.id===i)||a(v.sessions[0].id):v?.sessions?.length===0&&a(null)},[v,i,a]),x.useEffect(()=>{k.current?.scrollIntoView({behavior:"smooth"})},[]);const l=x.useCallback(()=>{const IA=h.current;IA&&(IA.style.height="auto",IA.style.height=`${Math.min(IA.scrollHeight,120)}px`)},[]);x.useEffect(()=>{l()},[l]);const d=x.useCallback(async()=>{if(e)try{const IA=await J.mutateAsync({parentSessionId:e,data:{}});await T(),a(IA.session.id),Q(!1)}catch(IA){console.error("Failed to create research session:",IA)}},[e,J,a,T]),N=x.useCallback(IA=>{a(IA.id),Q(!1)},[a]),G=x.useCallback(async()=>{if(!e||!i)return;if(W?.some(GA=>GA.role==="system"&&GA.parts?.some(LA=>typeof LA.content=="string"&&LA.content.includes(`from="${i}"`)))){p("error"),setTimeout(()=>p("idle"),3e3);return}const ee=`Research ${new Date().toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}`;try{await V.mutateAsync({parentSessionId:e,researchSessionId:i,label:ee}),p("success"),setTimeout(()=>p("idle"),5e3),O.invalidateQueries({queryKey:["messages",e]})}catch(GA){console.error("Failed to inject context:",GA),p("error"),setTimeout(()=>p("idle"),3e3)}},[e,i,V,W,O]),U=x.useCallback(async()=>{if(i)try{const IA=await AA.mutateAsync({researchId:i});t&&IA.newSession?.id&&t(IA.newSession.id)}catch(IA){console.error("Failed to export to session:",IA)}},[i,AA,t]),j=x.useCallback(async()=>{if(!(!B.trim()||!e))try{let IA=i;IA||(IA=(await J.mutateAsync({parentSessionId:e,data:{}})).session.id,a(IA)),await w.mutateAsync({sessionId:IA,content:B}),C(""),h.current&&(h.current.style.height="auto")}catch(IA){console.error("Failed to send message:",IA)}},[B,e,i,J,a,w]),P=x.useCallback(IA=>{IA.key==="Enter"&&!IA.shiftKey&&(IA.preventDefault(),j())},[j]),b=x.useMemo(()=>L?.some(IA=>IA.role==="assistant"&&IA.status==="pending")??!1,[L]),c=x.useMemo(()=>!i||!W?!1:W.some(IA=>IA.role==="system"&&IA.parts?.some(VA=>typeof VA.content=="string"&&VA.content.includes(`from="${i}"`))),[i,W]),f=x.useCallback(async(IA,VA)=>{if(!i){E(!1);return}try{await S.mutateAsync({provider:IA,model:VA}),await O.invalidateQueries({queryKey:["research","sessions",e]}),E(!1)}catch(ZA){console.error("Failed to update research session model:",ZA)}},[i,S,O,e]),R=Pa(e??"");if(!s)return null;const K=v?.sessions??[],_=K.find(IA=>IA.id===i),tA=L??[],CA=_?.provider??R?.provider??"",aA=_?.model??R?.model??"",RA=X?.[CA]?.label??CA,MA=X?.[CA]?.models.find(IA=>IA.id===aA)?.label??aA;return o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:r},children:[o.jsx(Hs,{panelKey:nB,side:"right",minWidth:H2,maxWidth:P2,defaultWidth:iB}),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(gr,{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(Qe,{variant:"ghost",size:"icon",onClick:()=>Q(!g),title:"Research history",className:"h-8 w-8",children:o.jsx(nC,{className:"w-4 h-4"})}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:d,disabled:!e||J.isPending,title:"New research session",className:"h-8 w-8",children:J.isPending?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):o.jsx(Io,{className:"w-4 h-4"})}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:n,title:"Close sidebar",className:"h-8 w-8",children:o.jsx(it,{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..."}):K.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:K.map(IA=>o.jsxs("button",{type:"button",onClick:()=>N(IA),className:`w-full text-left p-2 rounded-md text-sm transition-colors ${IA.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:IA.title||"Untitled"}),o.jsxs("div",{className:"text-xs text-muted-foreground",children:[IA.messageCount," messages •"," ",z2(IA.lastActiveAt??IA.createdAt)]})]},IA.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((IA,VA)=>{if(IA.role==="user"){const ZA=tA[VA+1];return o.jsx(Hl,{sessionId:i,message:IA,isFirst:VA===0,nextAssistantMessageId:ZA?.role==="assistant"?ZA.id:void 0},IA.id)}if(IA.role==="assistant"){const ZA=VA>0?tA[VA-1]:null,ee=tA[VA+1],GA=ZA?.role!=="assistant",LA=ee?.role==="assistant";return o.jsx(Yl,{sessionId:i,message:IA,showHeader:GA,hasNextAssistantMessage:LA,isLastMessage:VA===tA.length-1,compact:!0,onNavigateToSession:t},IA.id)}return null}),o.jsx("div",{ref:k})]}):o.jsxs("div",{className:"text-xs text-muted-foreground text-center py-8",children:[o.jsx(gr,{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(Rn,{ref:h,value:B,onChange:IA=>C(IA.target.value),onKeyDown:P,placeholder:"Ask anything...",disabled:!e||w.isPending||J.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:j,disabled:!B.trim()||!e||w.isPending||J.isPending||b,className:`flex items-center justify-center w-9 h-9 rounded-full transition-colors flex-shrink-0 ${B.trim()&&e&&!b?"bg-teal-500 hover:bg-teal-600 text-white":"bg-transparent text-muted-foreground"}`,children:w.isPending||J.isPending?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):o.jsx(wB,{className:"w-4 h-4"})})]})}),I==="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(Yt,{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(nt,{className:"w-3 h-3"})})]}),I==="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(nt,{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(nt,{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||c,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 ${c?"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:c?"Already injected into main session":"Inject findings into main session",children:[V.isPending?o.jsx(Le,{className:"w-3 h-3 animate-spin"}):c?o.jsx(Yt,{className:"w-3 h-3"}):o.jsx(iC,{className:"w-3 h-3"}),c?"Injected":"Inject"]}),o.jsxs("button",{type:"button",onClick:U,disabled:!i||AA.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:[AA.isPending?o.jsx(Le,{className:"w-3 h-3 animate-spin"}):o.jsx(bt,{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:[K.length," research session",K.length!==1?"s":""]}),(RA||MA)&&o.jsxs("button",{type:"button",onClick:()=>E(!0),className:"flex items-center gap-1 text-[10px] hover:text-foreground transition-colors",children:[o.jsx("span",{className:"opacity-60",children:RA}),o.jsx("span",{className:"opacity-40",children:"/"}),o.jsx("span",{children:MA}),o.jsx(zt,{className:"w-3 h-3 opacity-40"})]})]}),o.jsx(qo,{isOpen:u,onClose:()=>E(!1),title:"Select Model for Research",maxWidth:"md",children:(CA||aA)&&o.jsx(Sl,{provider:CA,model:aA,onChange:f})})]})]})});function z2(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 V2=x.memo(function({parentSessionId:e}){const t=ut(i=>i.isExpanded),s=ut(i=>i.toggleSidebar),{data:n}=nc(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(gr,{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 Z2=Object.defineProperty,Dn=Object.getOwnPropertySymbols,ic=Object.prototype.hasOwnProperty,ac=Object.prototype.propertyIsEnumerable,aB=(A,e,t)=>e in A?Z2(A,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):A[e]=t,ua=(A,e)=>{for(var t in e||(e={}))ic.call(e,t)&&aB(A,t,e[t]);if(Dn)for(var t of Dn(e))ac.call(e,t)&&aB(A,t,e[t]);return A},da=(A,e)=>{var t={};for(var s in A)ic.call(A,s)&&e.indexOf(s)<0&&(t[s]=A[s]);if(A!=null&&Dn)for(var s of Dn(A))e.indexOf(s)<0&&ac.call(A,s)&&(t[s]=A[s]);return t};var ps;(A=>{const e=class ye{constructor(g,Q,B,C){if(this.version=g,this.errorCorrectionLevel=Q,this.modules=[],this.isFunction=[],g<ye.MIN_VERSION||g>ye.MAX_VERSION)throw new RangeError("Version value out of range");if(C<-1||C>7)throw new RangeError("Mask value out of range");this.size=g*4+17;let u=[];for(let I=0;I<this.size;I++)u.push(!1);for(let I=0;I<this.size;I++)this.modules.push(u.slice()),this.isFunction.push(u.slice());this.drawFunctionPatterns();const E=this.addEccAndInterleave(B);if(this.drawCodewords(E),C==-1){let I=1e9;for(let p=0;p<8;p++){this.applyMask(p),this.drawFormatBits(p);const h=this.getPenaltyScore();h<I&&(C=p,I=h),this.applyMask(p)}}n(0<=C&&C<=7),this.mask=C,this.applyMask(C),this.drawFormatBits(C),this.isFunction=[]}static encodeText(g,Q){const B=A.QrSegment.makeSegments(g);return ye.encodeSegments(B,Q)}static encodeBinary(g,Q){const B=A.QrSegment.makeBytes(g);return ye.encodeSegments([B],Q)}static encodeSegments(g,Q,B=1,C=40,u=-1,E=!0){if(!(ye.MIN_VERSION<=B&&B<=C&&C<=ye.MAX_VERSION)||u<-1||u>7)throw new RangeError("Invalid value");let I,p;for(I=B;;I++){const D=ye.getNumDataCodewords(I,Q)*8,T=i.getTotalBits(g,I);if(T<=D){p=T;break}if(I>=C)throw new RangeError("Data too long")}for(const D of[ye.Ecc.MEDIUM,ye.Ecc.QUARTILE,ye.Ecc.HIGH])E&&p<=ye.getNumDataCodewords(I,D)*8&&(Q=D);let h=[];for(const D of g){t(D.mode.modeBits,4,h),t(D.numChars,D.mode.numCharCountBits(I),h);for(const T of D.getData())h.push(T)}n(h.length==p);const k=ye.getNumDataCodewords(I,Q)*8;n(h.length<=k),t(0,Math.min(4,k-h.length),h),t(0,(8-h.length%8)%8,h),n(h.length%8==0);for(let D=236;h.length<k;D^=253)t(D,8,h);let v=[];for(;v.length*8<h.length;)v.push(0);return h.forEach((D,T)=>v[T>>>3]|=D<<7-(T&7)),new ye(I,Q,v,u)}getModule(g,Q){return 0<=g&&g<this.size&&0<=Q&&Q<this.size&&this.modules[Q][g]}getModules(){return this.modules}drawFunctionPatterns(){for(let B=0;B<this.size;B++)this.setFunctionModule(6,B,B%2==0),this.setFunctionModule(B,6,B%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);const g=this.getAlignmentPatternPositions(),Q=g.length;for(let B=0;B<Q;B++)for(let C=0;C<Q;C++)B==0&&C==0||B==0&&C==Q-1||B==Q-1&&C==0||this.drawAlignmentPattern(g[B],g[C]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(g){const Q=this.errorCorrectionLevel.formatBits<<3|g;let B=Q;for(let u=0;u<10;u++)B=B<<1^(B>>>9)*1335;const C=(Q<<10|B)^21522;n(C>>>15==0);for(let u=0;u<=5;u++)this.setFunctionModule(8,u,s(C,u));this.setFunctionModule(8,7,s(C,6)),this.setFunctionModule(8,8,s(C,7)),this.setFunctionModule(7,8,s(C,8));for(let u=9;u<15;u++)this.setFunctionModule(14-u,8,s(C,u));for(let u=0;u<8;u++)this.setFunctionModule(this.size-1-u,8,s(C,u));for(let u=8;u<15;u++)this.setFunctionModule(8,this.size-15+u,s(C,u));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let g=this.version;for(let B=0;B<12;B++)g=g<<1^(g>>>11)*7973;const Q=this.version<<12|g;n(Q>>>18==0);for(let B=0;B<18;B++){const C=s(Q,B),u=this.size-11+B%3,E=Math.floor(B/3);this.setFunctionModule(u,E,C),this.setFunctionModule(E,u,C)}}drawFinderPattern(g,Q){for(let B=-4;B<=4;B++)for(let C=-4;C<=4;C++){const u=Math.max(Math.abs(C),Math.abs(B)),E=g+C,I=Q+B;0<=E&&E<this.size&&0<=I&&I<this.size&&this.setFunctionModule(E,I,u!=2&&u!=4)}}drawAlignmentPattern(g,Q){for(let B=-2;B<=2;B++)for(let C=-2;C<=2;C++)this.setFunctionModule(g+C,Q+B,Math.max(Math.abs(C),Math.abs(B))!=1)}setFunctionModule(g,Q,B){this.modules[Q][g]=B,this.isFunction[Q][g]=!0}addEccAndInterleave(g){const Q=this.version,B=this.errorCorrectionLevel;if(g.length!=ye.getNumDataCodewords(Q,B))throw new RangeError("Invalid argument");const C=ye.NUM_ERROR_CORRECTION_BLOCKS[B.ordinal][Q],u=ye.ECC_CODEWORDS_PER_BLOCK[B.ordinal][Q],E=Math.floor(ye.getNumRawDataModules(Q)/8),I=C-E%C,p=Math.floor(E/C);let h=[];const k=ye.reedSolomonComputeDivisor(u);for(let D=0,T=0;D<C;D++){let J=g.slice(T,T+p-u+(D<I?0:1));T+=J.length;const V=ye.reedSolomonComputeRemainder(J,k);D<I&&J.push(0),h.push(J.concat(V))}let v=[];for(let D=0;D<h[0].length;D++)h.forEach((T,J)=>{(D!=p-u||J>=I)&&v.push(T[D])});return n(v.length==E),v}drawCodewords(g){if(g.length!=Math.floor(ye.getNumRawDataModules(this.version)/8))throw new RangeError("Invalid argument");let Q=0;for(let B=this.size-1;B>=1;B-=2){B==6&&(B=5);for(let C=0;C<this.size;C++)for(let u=0;u<2;u++){const E=B-u,p=(B+1&2)==0?this.size-1-C:C;!this.isFunction[p][E]&&Q<g.length*8&&(this.modules[p][E]=s(g[Q>>>3],7-(Q&7)),Q++)}}n(Q==g.length*8)}applyMask(g){if(g<0||g>7)throw new RangeError("Mask value out of range");for(let Q=0;Q<this.size;Q++)for(let B=0;B<this.size;B++){let C;switch(g){case 0:C=(B+Q)%2==0;break;case 1:C=Q%2==0;break;case 2:C=B%3==0;break;case 3:C=(B+Q)%3==0;break;case 4:C=(Math.floor(B/3)+Math.floor(Q/2))%2==0;break;case 5:C=B*Q%2+B*Q%3==0;break;case 6:C=(B*Q%2+B*Q%3)%2==0;break;case 7:C=((B+Q)%2+B*Q%3)%2==0;break;default:throw new Error("Unreachable")}!this.isFunction[Q][B]&&C&&(this.modules[Q][B]=!this.modules[Q][B])}}getPenaltyScore(){let g=0;for(let u=0;u<this.size;u++){let E=!1,I=0,p=[0,0,0,0,0,0,0];for(let h=0;h<this.size;h++)this.modules[u][h]==E?(I++,I==5?g+=ye.PENALTY_N1:I>5&&g++):(this.finderPenaltyAddHistory(I,p),E||(g+=this.finderPenaltyCountPatterns(p)*ye.PENALTY_N3),E=this.modules[u][h],I=1);g+=this.finderPenaltyTerminateAndCount(E,I,p)*ye.PENALTY_N3}for(let u=0;u<this.size;u++){let E=!1,I=0,p=[0,0,0,0,0,0,0];for(let h=0;h<this.size;h++)this.modules[h][u]==E?(I++,I==5?g+=ye.PENALTY_N1:I>5&&g++):(this.finderPenaltyAddHistory(I,p),E||(g+=this.finderPenaltyCountPatterns(p)*ye.PENALTY_N3),E=this.modules[h][u],I=1);g+=this.finderPenaltyTerminateAndCount(E,I,p)*ye.PENALTY_N3}for(let u=0;u<this.size-1;u++)for(let E=0;E<this.size-1;E++){const I=this.modules[u][E];I==this.modules[u][E+1]&&I==this.modules[u+1][E]&&I==this.modules[u+1][E+1]&&(g+=ye.PENALTY_N2)}let Q=0;for(const u of this.modules)Q=u.reduce((E,I)=>E+(I?1:0),Q);const B=this.size*this.size,C=Math.ceil(Math.abs(Q*20-B*10)/B)-1;return n(0<=C&&C<=9),g+=C*ye.PENALTY_N4,n(0<=g&&g<=2568888),g}getAlignmentPatternPositions(){if(this.version==1)return[];{const g=Math.floor(this.version/7)+2,Q=this.version==32?26:Math.ceil((this.version*4+4)/(g*2-2))*2;let B=[6];for(let C=this.size-7;B.length<g;C-=Q)B.splice(1,0,C);return B}}static getNumRawDataModules(g){if(g<ye.MIN_VERSION||g>ye.MAX_VERSION)throw new RangeError("Version number out of range");let Q=(16*g+128)*g+64;if(g>=2){const B=Math.floor(g/7)+2;Q-=(25*B-10)*B-55,g>=7&&(Q-=36)}return n(208<=Q&&Q<=29648),Q}static getNumDataCodewords(g,Q){return Math.floor(ye.getNumRawDataModules(g)/8)-ye.ECC_CODEWORDS_PER_BLOCK[Q.ordinal][g]*ye.NUM_ERROR_CORRECTION_BLOCKS[Q.ordinal][g]}static reedSolomonComputeDivisor(g){if(g<1||g>255)throw new RangeError("Degree out of range");let Q=[];for(let C=0;C<g-1;C++)Q.push(0);Q.push(1);let B=1;for(let C=0;C<g;C++){for(let u=0;u<Q.length;u++)Q[u]=ye.reedSolomonMultiply(Q[u],B),u+1<Q.length&&(Q[u]^=Q[u+1]);B=ye.reedSolomonMultiply(B,2)}return Q}static reedSolomonComputeRemainder(g,Q){let B=Q.map(C=>0);for(const C of g){const u=C^B.shift();B.push(0),Q.forEach((E,I)=>B[I]^=ye.reedSolomonMultiply(E,u))}return B}static reedSolomonMultiply(g,Q){if(g>>>8||Q>>>8)throw new RangeError("Byte out of range");let B=0;for(let C=7;C>=0;C--)B=B<<1^(B>>>7)*285,B^=(Q>>>C&1)*g;return n(B>>>8==0),B}finderPenaltyCountPatterns(g){const Q=g[1];n(Q<=this.size*3);const B=Q>0&&g[2]==Q&&g[3]==Q*3&&g[4]==Q&&g[5]==Q;return(B&&g[0]>=Q*4&&g[6]>=Q?1:0)+(B&&g[6]>=Q*4&&g[0]>=Q?1:0)}finderPenaltyTerminateAndCount(g,Q,B){return g&&(this.finderPenaltyAddHistory(Q,B),Q=0),Q+=this.size,this.finderPenaltyAddHistory(Q,B),this.finderPenaltyCountPatterns(B)}finderPenaltyAddHistory(g,Q){Q[0]==0&&(g+=this.size),Q.pop(),Q.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,Q){if(g<0||g>31||a>>>g)throw new RangeError("Value out of range");for(let B=g-1;B>=0;B--)Q.push(a>>>B&1)}function s(a,g){return(a>>>g&1)!=0}function n(a){if(!a)throw new Error("Assertion error")}const r=class Bt{constructor(g,Q,B){if(this.mode=g,this.numChars=Q,this.bitData=B,Q<0)throw new RangeError("Invalid argument");this.bitData=B.slice()}static makeBytes(g){let Q=[];for(const B of g)t(B,8,Q);return new Bt(Bt.Mode.BYTE,g.length,Q)}static makeNumeric(g){if(!Bt.isNumeric(g))throw new RangeError("String contains non-numeric characters");let Q=[];for(let B=0;B<g.length;){const C=Math.min(g.length-B,3);t(parseInt(g.substring(B,B+C),10),C*3+1,Q),B+=C}return new Bt(Bt.Mode.NUMERIC,g.length,Q)}static makeAlphanumeric(g){if(!Bt.isAlphanumeric(g))throw new RangeError("String contains unencodable characters in alphanumeric mode");let Q=[],B;for(B=0;B+2<=g.length;B+=2){let C=Bt.ALPHANUMERIC_CHARSET.indexOf(g.charAt(B))*45;C+=Bt.ALPHANUMERIC_CHARSET.indexOf(g.charAt(B+1)),t(C,11,Q)}return B<g.length&&t(Bt.ALPHANUMERIC_CHARSET.indexOf(g.charAt(B)),6,Q),new Bt(Bt.Mode.ALPHANUMERIC,g.length,Q)}static makeSegments(g){return g==""?[]:Bt.isNumeric(g)?[Bt.makeNumeric(g)]:Bt.isAlphanumeric(g)?[Bt.makeAlphanumeric(g)]:[Bt.makeBytes(Bt.toUtf8ByteArray(g))]}static makeEci(g){let Q=[];if(g<0)throw new RangeError("ECI assignment value out of range");if(g<128)t(g,8,Q);else if(g<16384)t(2,2,Q),t(g,14,Q);else if(g<1e6)t(6,3,Q),t(g,21,Q);else throw new RangeError("ECI assignment value out of range");return new Bt(Bt.Mode.ECI,0,Q)}static isNumeric(g){return Bt.NUMERIC_REGEX.test(g)}static isAlphanumeric(g){return Bt.ALPHANUMERIC_REGEX.test(g)}getData(){return this.bitData.slice()}static getTotalBits(g,Q){let B=0;for(const C of g){const u=C.mode.numCharCountBits(Q);if(C.numChars>=1<<u)return 1/0;B+=4+u+C.bitData.length}return B}static toUtf8ByteArray(g){g=encodeURI(g);let Q=[];for(let B=0;B<g.length;B++)g.charAt(B)!="%"?Q.push(g.charCodeAt(B)):(Q.push(parseInt(g.substring(B+1,B+3),16)),B+=2);return Q}};r.NUMERIC_REGEX=/^[0-9]*$/,r.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,r.ALPHANUMERIC_CHARSET="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";let i=r;A.QrSegment=r})(ps||(ps={}));(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={}))})(ps||(ps={}));(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={}))})(ps||(ps={}));var Ks=ps;var _2={L:Ks.QrCode.Ecc.LOW,M:Ks.QrCode.Ecc.MEDIUM,Q:Ks.QrCode.Ecc.QUARTILE,H:Ks.QrCode.Ecc.HIGH},gc=128,Qc="L",Bc="#FFFFFF",lc="#000000",Ec=!1,cc=1,X2=4,$2=0,A1=.1;function Cc(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 Ic(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 e1(A,e,t,s){if(s==null)return null;const n=A.length+t*2,r=Math.floor(e*A1),i=n/e,a=(s.width||r)*i,g=(s.height||r)*i,Q=s.x==null?A.length/2-a/2:s.x*i,B=s.y==null?A.length/2-g/2:s.y*i,C=s.opacity==null?1:s.opacity;let u=null;if(s.excavate){let I=Math.floor(Q),p=Math.floor(B),h=Math.ceil(a+Q-I),k=Math.ceil(g+B-p);u={x:I,y:p,w:h,h:k}}const E=s.crossOrigin;return{x:Q,y:B,h:g,w:a,excavation:u,opacity:C,crossOrigin:E}}function t1(A,e){return e!=null?Math.max(Math.floor(e),0):A?X2:$2}function uc({value:A,level:e,minVersion:t,includeMargin:s,marginSize:n,imageSettings:r,size:i,boostLevel:a}){let g=st.useMemo(()=>{const I=(Array.isArray(A)?A:[A]).reduce((p,h)=>(p.push(...Ks.QrSegment.makeSegments(h)),p),[]);return Ks.QrCode.encodeSegments(I,_2[e],t,void 0,void 0,a)},[A,e,t,a]);const{cells:Q,margin:B,numCells:C,calculatedImageSettings:u}=st.useMemo(()=>{let E=g.getModules();const I=t1(s,n),p=E.length+I*2,h=e1(E,i,I,r);return{cells:E,margin:I,numCells:p,calculatedImageSettings:h}},[g,i,r,s,n]);return{qrcode:g,margin:B,cells:Q,numCells:C,calculatedImageSettings:u}}var o1=(function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0})(),s1=st.forwardRef(function(e,t){const s=e,{value:n,size:r=gc,level:i=Qc,bgColor:a=Bc,fgColor:g=lc,includeMargin:Q=Ec,minVersion:B=cc,boostLevel:C,marginSize:u,imageSettings:E}=s,p=da(s,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","marginSize","imageSettings"]),{style:h}=p,k=da(p,["style"]),v=E?.src,D=st.useRef(null),T=st.useRef(null),J=st.useCallback(l=>{D.current=l,typeof t=="function"?t(l):t&&(t.current=l)},[t]),[V,AA]=st.useState(!1),{margin:X,cells:L,numCells:W,calculatedImageSettings:S}=uc({value:n,level:i,minVersion:B,boostLevel:C,includeMargin:Q,marginSize:u,imageSettings:E,size:r});st.useEffect(()=>{if(D.current!=null){const l=D.current,d=l.getContext("2d");if(!d)return;let N=L;const G=T.current,U=S!=null&&G!==null&&G.complete&&G.naturalHeight!==0&&G.naturalWidth!==0;U&&S.excavation!=null&&(N=Ic(L,S.excavation));const j=window.devicePixelRatio||1;l.height=l.width=r*j;const P=r/W*j;d.scale(P,P),d.fillStyle=a,d.fillRect(0,0,W,W),d.fillStyle=g,o1?d.fill(new Path2D(Cc(N,X))):L.forEach(function(b,c){b.forEach(function(f,R){f&&d.fillRect(R+X,c+X,1,1)})}),S&&(d.globalAlpha=S.opacity),U&&d.drawImage(G,S.x+X,S.y+X,S.w,S.h)}}),st.useEffect(()=>{AA(!1)},[v]);const O=ua({height:r,width:r},h);let w=null;return v!=null&&(w=st.createElement("img",{src:v,key:v,style:{display:"none"},onLoad:()=>{AA(!0)},ref:T,crossOrigin:S?.crossOrigin})),st.createElement(st.Fragment,null,st.createElement("canvas",ua({style:O,height:r,width:r,ref:J,role:"img"},k)),w)});s1.displayName="QRCodeCanvas";var Xn=st.forwardRef(function(e,t){const s=e,{value:n,size:r=gc,level:i=Qc,bgColor:a=Bc,fgColor:g=lc,includeMargin:Q=Ec,minVersion:B=cc,boostLevel:C,title:u,marginSize:E,imageSettings:I}=s,p=da(s,["value","size","level","bgColor","fgColor","includeMargin","minVersion","boostLevel","title","marginSize","imageSettings"]),{margin:h,cells:k,numCells:v,calculatedImageSettings:D}=uc({value:n,level:i,minVersion:B,boostLevel:C,includeMargin:Q,marginSize:E,imageSettings:I,size:r});let T=k,J=null;I!=null&&D!=null&&(D.excavation!=null&&(T=Ic(k,D.excavation)),J=st.createElement("image",{href:I.src,height:D.h,width:D.w,x:D.x+h,y:D.y+h,preserveAspectRatio:"none",opacity:D.opacity,crossOrigin:D.crossOrigin}));const V=Cc(T,h);return st.createElement("svg",ua({height:r,width:r,viewBox:`0 0 ${v} ${v}`,ref:t,role:"img"},p),!!u&&st.createElement("title",null,u),st.createElement("path",{fill:a,d:`M0,0 h${v}v${v}H0z`,shapeRendering:"crispEdges"}),st.createElement("path",{fill:g,d:V,shapeRendering:"crispEdges"}),J)});Xn.displayName="QRCodeSVG";const er=["wallet","defaults"],Mt=Ct((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=er.indexOf(t);s<er.length-1&&A({currentStep:er[s+1]})},prevStep:()=>{const{currentStep:t}=e(),s=er.indexOf(t);s>0&&A({currentStep:er[s-1]})},reset:()=>A({isOpen:!1,currentStep:"wallet",manageMode:!1,isLoading:!1,error:null})})),Ji=typeof window<"u"&&window.self!==window.top;function ug(){const A=Mt(S=>S.setAuthStatus),e=Mt(S=>S.setOpen),t=Mt(S=>S.setLoading),s=Mt(S=>S.setError),n=Mt(S=>S.authStatus),r=Mt(S=>S.isOpen),i=De(),[a,g]=x.useState(!1),[Q,B]=x.useState(!1),C=x.useRef(null),u=x.useRef(new Set),E=x.useCallback(async()=>{t(!0),s(null);try{const S=await mA.getAuthStatus();return A(S),i.invalidateQueries({queryKey:["config"]}),i.invalidateQueries({queryKey:["models"]}),S}catch(S){const O=S instanceof Error?S.message:"Failed to load";return s(O),null}finally{t(!1)}},[A,t,s,i]),I=x.useCallback(async()=>{const S=await E();if(S){const O=Object.values(S.providers).some(l=>l.configured);(!S.onboardingComplete||!O||!S.ottorouter.configured)&&e(!0)}g(!0)},[E,e]),p=x.useCallback(async()=>{t(!0),s(null);try{const S=await mA.setupOttoRouterWallet();return await E(),S}catch(S){const O=S instanceof Error?S.message:"Setup failed";throw s(O),S}finally{t(!1)}},[E,t,s]),h=x.useCallback(async S=>{t(!0),s(null);try{const O=await mA.importOttoRouterWallet(S);return await E(),O}catch(O){const w=O instanceof Error?O.message:"Import failed";throw s(w),O}finally{t(!1)}},[E,t,s]),k=x.useCallback(async(S,O)=>{t(!0),s(null);try{const w=await mA.addProvider(S,O);return await E(),w}catch(w){const l=w instanceof Error?w.message:"Failed to add provider";throw s(l),w}finally{t(!1)}},[E,t,s]),v=x.useCallback(async S=>{t(!0),s(null);try{const O=await mA.removeProvider(S);return await E(),O}catch(O){const w=O instanceof Error?O.message:"Failed to remove provider";throw s(w),O}finally{t(!1)}},[E,t,s]),D=x.useCallback(async()=>{t(!0),s(null);try{await mA.completeOnboarding(),await E(),e(!1)}catch(S){const O=S instanceof Error?S.message:"Failed to complete onboarding";throw s(O),S}finally{t(!1)}},[E,t,s,e]),T=x.useCallback(()=>{const S=Mt.getState().authStatus;S&&(u.current=new Set(Object.entries(S.providers).filter(([,O])=>O.configured).map(([O])=>O)))},[]),J=x.useCallback((S,O)=>{const w=mA.getOAuthStartUrl(S,O);if(Ji)return T(),window.parent.postMessage({type:"otto-open-url",url:w},"*"),B(!0),null;const l=600,d=700,N=window.screenX+(window.outerWidth-l)/2,G=window.screenY+(window.outerHeight-d)/2;return window.open(w,"oauth_popup",`width=${l},height=${d},left=${N},top=${G},toolbar=no,menubar=no`)},[T]),V=x.useCallback(async(S,O)=>{const{url:w,sessionId:l}=await mA.getOAuthUrl(S,O);if(Ji)return T(),window.parent.postMessage({type:"otto-open-url",url:w},"*"),B(!0),{popup:null,sessionId:l};const d=600,N=700,G=window.screenX+(window.outerWidth-d)/2,U=window.screenY+(window.outerHeight-N)/2;return{popup:window.open(w,"oauth_popup",`width=${d},height=${N},left=${G},top=${U},toolbar=no,menubar=no`),sessionId:l}},[T]),AA=x.useCallback(async(S,O,w)=>{t(!0),s(null);try{return await mA.exchangeOAuthCode(S,O,w),await E(),!0}catch(l){const d=l instanceof Error?l.message:"Failed to exchange code";throw s(d),l}finally{t(!1)}},[E,t,s]);x.useEffect(()=>{if(!Q||!Ji)return;C.current=setInterval(()=>{E()},3e3);const S=setTimeout(()=>{B(!1)},3e5);return()=>{clearInterval(C.current),clearTimeout(S)}},[Q,E]),x.useEffect(()=>{if(!Q||!n)return;Object.entries(n.providers).filter(([,w])=>w.configured).some(([w])=>!u.current.has(w))&&B(!1)},[n,Q]),x.useEffect(()=>{const S=O=>{O.data?.type==="oauth-success"&&E()};return window.addEventListener("message",S),()=>window.removeEventListener("message",S)},[E]);const X=x.useCallback(async S=>{const O=await mA.pollCopilotDeviceFlow(S);return O.status==="complete"&&await E(),O},[E]),L=x.useCallback(async S=>{t(!0),s(null);try{const O=await mA.saveCopilotToken(S);return await E(),O}catch(O){const w=O instanceof Error?O.message:"Failed to save Copilot token";throw s(w),O}finally{t(!1)}},[E,t,s]),W=x.useCallback(async()=>{t(!0),s(null);try{const S=await mA.importCopilotTokenFromGh();return await E(),S}catch(S){const O=S instanceof Error?S.message:"Failed to import Copilot token from GH";throw s(O),S}finally{t(!1)}},[E,t,s]);return{authStatus:n,isOpen:r,initialized:a,fetchAuthStatus:E,checkOnboarding:I,setupWallet:p,importWallet:h,addProvider:k,removeProvider:v,completeOnboarding:D,startOAuth:J,startOAuthManual:V,exchangeOAuthCode:AA,startCopilotDeviceFlow:mA.startCopilotDeviceFlow.bind(mA),pollCopilotDeviceFlow:X,getCopilotAuthMethods:mA.getCopilotAuthMethods.bind(mA),saveCopilotToken:L,importCopilotTokenFromGh:W,getCopilotDiagnostics:mA.getCopilotDiagnostics.bind(mA)}}const Wr="pendingPolarCheckout";function r1(){const A=x.useRef(!1),e=x.useRef(null),t=xe(n=>n.setBalance),s=uo(n=>n.removeToast);x.useEffect(()=>{if(A.current)return;const r=new URLSearchParams(window.location.search).get("topup"),i=localStorage.getItem(Wr);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){ce.info("Checking top-up status...");return}e.current=ce.loading("Verifying top-up...");let g=0;const Q=10,B=2e3,C=()=>{e.current&&(s(e.current),e.current=null)},u=async()=>{g++;try{const E=await mA.getPolarTopupStatus(i);if(E?.confirmed){localStorage.removeItem(Wr),C();const I=await mA.getOttoRouterBalance();I?.balance!==void 0&&t(I.balance),ce.success(`Top-up confirmed! +$${E.amountUsd?.toFixed(2)} credited`);return}g<Q?setTimeout(u,B):(localStorage.removeItem(Wr),C(),ce.info("Top-up is still processing. Balance will update automatically."))}catch{g<Q?setTimeout(u,B):(localStorage.removeItem(Wr),C(),ce.error("Could not verify top-up. Please check your balance."))}};setTimeout(u,1500)}},[t,s])}const gB="settings",QB=320,n1=320,i1=500,rn=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})]})}),Qs=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})]})}),tr=x.memo(function({label:e,checked:t,onChange:s}){return o.jsxs("div",{className:"flex items-center justify-between text-sm",children:[o.jsx("span",{className:"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 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"}`})})]})}),or=x.memo(function({label:e,value:t,options:s,onChange:n,disabled:r}){const[i,a]=x.useState(!1),g=s.find(Q=>Q.id===t);return 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",{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:g?.label||t||"Select..."}),o.jsx(zt,{className:"w-3 h-3"})]}),i&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>a(!1),role:"presentation"}),o.jsx("div",{className:"absolute right-0 top-full mt-1 z-50 min-w-[160px] max-h-[200px] overflow-y-auto bg-popover border border-border rounded-md shadow-lg",children:s.map(Q=>o.jsx("button",{type:"button",onClick:()=>{n(Q.id),a(!1)},className:`w-full px-3 py-2 text-left text-xs font-mono hover:bg-muted truncate ${Q.id===t?"bg-muted/50":""}`,children:Q.label},Q.id))})]})]})]})}),a1=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 Q=t!=null?String(t):"",B=a.trim(),C=B?Number(B.replaceAll(",","")):null,u=C!==null&&Number.isFinite(C)&&C>0?String(Math.floor(C)):B===""?"":null,E=u!==null&&u!==Q,I=x.useCallback(()=>{u===null||u===Q||(g(u),s(u===""?null:Number(u)))},[u,s,Q]);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(),I()),p.key==="Escape"&&(g(Q),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:I,disabled:i||!E,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(Yt,{className:"h-4 w-4"})})]})]}),r?o.jsx("p",{className:"text-xs text-muted-foreground",children:r}):null]})}),g1=x.memo(function(){const e=xt(S=>S.isExpanded),t=xt(S=>S.collapseSidebar),s=As(S=>S.widths[gB]??QB),{data:n}=ss(),{data:r}=Ps(),{preferences:i,updatePreferences:a}=Ws(),g=Kn(),Q=xe(S=>S.balance),B=xe(S=>S.walletAddress),C=xe(S=>S.usdcBalance),u=xe(S=>S.isLoading),E=xe(S=>S.openTopupModal);r1();const I=n?.providers?.includes("ottorouter"),{fetchBalance:p}=Zn(I?"ottorouter":void 0),h=Mt(S=>S.setOpen),k=Mt(S=>S.setStep),v=Mt(S=>S.setManageMode),{fetchAuthStatus:D}=ug(),T=x.useCallback(async()=>await mA.exportOttoRouterWallet(),[]),J=x.useMemo(()=>!n?.providers||!r?[]:n.providers.filter(S=>r[S]).map(S=>({id:S,label:r[S]?.label||S})),[n?.providers,r]),V=x.useMemo(()=>{const S=n?.defaults?.provider;return!S||!r?.[S]?[]:r[S].models.map(O=>({id:O.id,label:O.label}))},[n?.defaults?.provider,r]),AA=x.useMemo(()=>n?.agents?n.agents.map(S=>({id:S,label:S})):[],[n?.agents]);if(!e)return null;const X=S=>{const O=r?.[S]?.models?.[0]?.id;g.mutate({provider:S,model:O||n?.defaults?.model,scope:"global"})},L=S=>{g.mutate({model:S,scope:"global"})},W=S=>{g.mutate({agent:S,scope:"global"})};return o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:s},children:[o.jsx(Hs,{panelKey:gB,side:"right",minWidth:n1,maxWidth:i1,defaultWidth:QB}),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(vB,{className:"w-4 h-4"}),o.jsx("span",{className:"font-medium",children:"Settings"})]}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:t,children:o.jsx(it,{className:"w-4 h-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-y-auto",children:[o.jsxs(rn,{title:"Default Model",icon:o.jsx(aC,{className:"w-4 h-4 text-muted-foreground"}),children:[o.jsx(or,{label:"Provider",value:n?.defaults?.provider??"",options:J,onChange:X,disabled:g.isPending}),o.jsx(or,{label:"Model",value:n?.defaults?.model??"",options:V,onChange:L,disabled:g.isPending}),o.jsx(or,{label:"Agent",value:n?.defaults?.agent??"",options:AA,onChange:W,disabled:g.isPending})]}),o.jsxs(rn,{title:"Preferences",icon:o.jsx(wa,{className:"w-4 h-4 text-muted-foreground"}),children:[o.jsx(tr,{label:"Vim Mode",checked:i.vimMode,onChange:S=>a({vimMode:S})}),o.jsx(tr,{label:"Compact Thread",checked:i.compactThread,onChange:S=>a({compactThread:S})}),o.jsx(tr,{label:"Full Width Content",checked:i.fullWidthContent,onChange:S=>a({fullWidthContent:S})}),o.jsx(a1,{label:"Auto Compact",value:n?.defaults?.autoCompactThresholdTokens,onCommit:S=>g.mutate({autoCompactThresholdTokens:S,scope:"global"}),placeholder:"Tokens",disabled:g.isPending}),o.jsx(tr,{label:"Show Reasoning",checked:n?.defaults?.reasoningText??!0,onChange:S=>g.mutate({reasoningText:S,scope:"global"})}),o.jsx(or,{label:"Reasoning Level",value:n?.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:S=>g.mutate({reasoningLevel:S,scope:"global"}),disabled:g.isPending}),o.jsx(or,{label:"Tool Approval",value:n?.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:S=>g.mutate({toolApproval:S,scope:"global"}),disabled:g.isPending}),o.jsx(tr,{label:"Guided Mode",checked:n?.defaults?.guidedMode??!1,onChange:S=>g.mutate({guidedMode:S,scope:"global"})})]}),o.jsx(rn,{title:"Providers",icon:o.jsx(gC,{className:"w-4 h-4 text-muted-foreground"}),action:o.jsx("button",{type:"button",onClick:()=>{D().then(()=>{k("wallet"),v(!0),h(!0)})},className:"p-1 hover:bg-muted rounded transition-colors",title:"Manage providers",children:o.jsx(nn,{className:"w-3.5 h-3.5 text-muted-foreground"})}),children:o.jsx("div",{className:"flex flex-wrap gap-2",children:n?.providers?.map(S=>o.jsx("span",{className:"px-2 py-1 text-xs bg-muted rounded-md font-mono",children:S},S))??o.jsx("span",{className:"text-muted-foreground text-sm",children:"None"})})}),n?.providers?.includes("ottorouter")&&o.jsx(B1,{ottorouterWallet:B,ottorouterBalance:Q,ottorouterUsdcBalance:C,ottorouterLoading:u,refreshSetuBalance:p,openTopupModal:E,onExportPrivateKey:T}),o.jsx(Cg,{})]})]})]})});function Q1(){const A=xe(t=>t.subscription),e=xe(t=>t.payg);return A?.active?o.jsxs(o.Fragment,{children:[o.jsx(Qs,{label:"Plan",value:A.tierName??"GO"}),A.usageWindows&&o.jsxs(o.Fragment,{children:[o.jsx(Qs,{label:"5h",value:`${Math.round(A.usageWindows.fiveHour.percentUsed)}%`}),o.jsx(Qs,{label:"Week",value:`${Math.round(A.usageWindows.weekly.percentUsed)}%`})]}),e&&e.effectiveSpendableUsd>0&&o.jsx(Qs,{label:"Credits",value:`$${e.effectiveSpendableUsd.toFixed(2)}`}),A.periodEnd&&o.jsx(Qs,{label:"Renews",value:new Date(A.periodEnd).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}).replace(",","")})]}):null}const B1=x.memo(function({ottorouterWallet:e,ottorouterBalance:t,ottorouterUsdcBalance:s,ottorouterLoading:n,refreshSetuBalance:r,openTopupModal:i,onExportPrivateKey:a}){const g=xe(w=>!!w.subscription?.active),[Q,B]=x.useState(!1),[C,u]=x.useState(!1),[E,I]=x.useState(null),[p,h]=x.useState(!1),[k,v]=x.useState(null),[D,T]=x.useState(!1),J=x.useCallback(async()=>{e&&(await navigator.clipboard.writeText(e),B(!0),setTimeout(()=>B(!1),2e3))},[e]),V=async()=>{u(!0),T(!1),I(null),v(null),h(!0);try{const w=await a();I(w.privateKey)}catch(w){v(w instanceof Error?w.message:"Failed to export private key")}finally{h(!1)}},AA=()=>{p||(u(!1),T(!1),I(null),v(null))},X=async()=>{E&&(await navigator.clipboard.writeText(E),T(!0),setTimeout(()=>T(!1),2e3))},L=w=>w?`${w.slice(0,4)}...${w.slice(-4)}`:"Not configured",W=w=>w===null?"—":`$${w.toFixed(4)}`,S=w=>w===null?"—":`${w.toFixed(2)} USDC`,O=e!==null;return o.jsxs(rn,{title:"Setu Credits",icon:o.jsx(ba,{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(Pt,{className:`w-3.5 h-3.5 text-muted-foreground ${n?"animate-spin":""}`})}),children:[O?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(Xn,{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:J,className:"flex items-center gap-1.5 font-mono text-foreground hover:text-muted-foreground transition-colors",title:"Copy address",children:[L(e),Q?o.jsx(Yt,{className:"w-3 h-3 text-green-500"}):o.jsx(us,{className:"w-3 h-3 text-muted-foreground"})]})]}),o.jsx(Q1,{}),!g&&o.jsxs(o.Fragment,{children:[o.jsx(Qs,{label:"Balance",value:W(t)}),o.jsx(Qs,{label:"USDC",value:S(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(Qe,{variant:"secondary",size:"sm",onClick:i,className:"w-full mt-2 gap-2",children:[o.jsx(Io,{className:"w-4 h-4"}),"Top Up Balance"]}),o.jsxs(Qe,{variant:"ghost",size:"sm",onClick:V,className:"w-full gap-2",children:[o.jsx(gn,{className:"w-4 h-4"}),"Export Private Key"]}),C&&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(gn,{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(Le,{className:"w-4 h-4 animate-spin"}),"Exporting private key..."]}),!p&&E&&o.jsxs("div",{className:"space-y-3",children:[o.jsx("textarea",{readOnly:!0,value:E,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(Qe,{variant:"secondary",size:"sm",onClick:X,className:"w-full gap-2",children:[D?o.jsx(Yt,{className:"w-4 h-4 text-green-500"}):o.jsx(us,{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:AA,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"})})]})]})})]})}),l1=x.memo(function(){const e=xt(s=>s.isExpanded),t=xt(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(vB,{className:"w-5 h-5 text-muted-foreground mx-auto"})})});async function E1(){const A=await fetch(`${es}/v1/tunnel/status`);if(!A.ok)throw new Error("Failed to fetch tunnel status");return A.json()}async function c1(){return(await fetch(`${es}/v1/tunnel/start`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({})})).json()}async function C1(){return(await fetch(`${es}/v1/tunnel/stop`,{method:"POST"})).json()}function I1(){const A=Fe(n=>n.setStatus),e=Fe(n=>n.setUrl),t=Fe(n=>n.setError),s=ot({queryKey:["tunnel","status"],queryFn:E1,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 u1(){const A=De(),e=Fe(r=>r.setStatus),t=Fe(r=>r.setUrl),s=Fe(r=>r.setError),n=Fe(r=>r.setProgress);return qe({mutationFn:()=>c1(),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 d1(){const A=De(),e=Fe(t=>t.reset);return qe({mutationFn:C1,onSuccess:()=>{e(),A.invalidateQueries({queryKey:["tunnel"]})}})}function h1(){const A=Fe(a=>a.setStatus),e=Fe(a=>a.setUrl),t=Fe(a=>a.setError),s=Fe(a=>a.setProgress),n=Fe(a=>a.isExpanded),r=x.useRef(null),i=x.useCallback(()=>{r.current&&r.current.close();const a=new EventSource(`${es}/v1/tunnel/stream`);return r.current=a,a.onmessage=g=>{try{const Q=JSON.parse(g.data);Q.type==="status"&&(A(Q.status),e(Q.url),t(Q.error),s(Q.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 f1(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 p1=x.memo(function(){const e=Fe(I=>I.isExpanded),t=Fe(I=>I.collapseSidebar),s=Fe(I=>I.status),n=Fe(I=>I.url),r=Fe(I=>I.error),i=Fe(I=>I.progress),a=u1(),g=d1(),[Q,B]=x.useState(!1);I1(),h1();const C=async()=>{n&&(await navigator.clipboard.writeText(n),B(!0),setTimeout(()=>B(!1),2e3))},u=()=>{a.mutate()},E=()=>{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(Oo,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium text-sm",children:"Remote Access"})]}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:t,title:"Close sidebar",children:o.jsx(it,{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(Oo,{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:u,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(Le,{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(Xn,{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:C,className:"flex items-center gap-1.5 font-mono text-foreground hover:text-muted-foreground transition-colors",title:"Copy URL",children:[f1(n),Q?o.jsx(Yt,{className:"w-3 h-3 text-green-500"}):o.jsx(us,{className:"w-3 h-3 text-muted-foreground"})]})]}),o.jsxs("button",{type:"button",onClick:()=>Co(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(bt,{className:"w-3.5 h-3.5"}),"Open in browser"]}),o.jsx("button",{type:"button",onClick:E,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(Ma,{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(po,{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:u,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}),m1=x.memo(function(){const e=Fe(r=>r.isExpanded),t=Fe(r=>r.toggleSidebar),n=Fe(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(Oo,{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 w1(){const A=ze(t=>t.setServers),e=ot({queryKey:["mcp","servers"],queryFn:async()=>{const{data:t}=await td();return t},refetchInterval:1e4});return x.useEffect(()=>{e.data?.servers&&A(e.data.servers)},[e.data,A]),e}function x1(){const A=De();return qe({mutationFn:async e=>{const{data:t,error:s}=await rd({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 D1(){const A=De(),e=ze(t=>t.setLoading);return qe({mutationFn:async t=>{e(t,!0);const{data:s,error:n}=await nd({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 y1(){const A=De();return qe({mutationFn:async e=>{const{data:t,error:s}=await od({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 N1(){const A=De();return qe({mutationFn:async e=>{const{data:t,error:s}=await sd({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 k1(){const A=De();return qe({mutationFn:async e=>{const{data:t,error:s}=await id({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 M1(A){return ot({queryKey:["mcp","auth",A],queryFn:async()=>{if(!A)return{authenticated:!1};const{data:e}=await gd({path:{name:A}});return e},enabled:!!A,refetchInterval:3e3})}function b1(){const A=ze(i=>i.copilotDevice),e=ze(i=>i.setCopilotDevice),t=ze(i=>i.setLoading),s=De(),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,Q=(g||5)*1e3+1e3;return n.current=setInterval(async()=>{try{const{data:B}=await ad({path:{name:a},body:{sessionId:i}}),C=B;C?.status==="complete"?(r(),e(null),t(a,!1),s.invalidateQueries({queryKey:["mcp","servers"]})):C?.status==="error"&&(r(),e(null),t(a,!1))}catch{r(),e(null),t(a,!1)}},Q),r},[A,e,t,s,r]),A}function F1(A){const e=A.trim().split(/\s+/);return{command:e[0]??"",args:e.slice(1)}}function G1(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 v1(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 S1=x.memo(function({isOpen:e,onClose:t}){const[s,n]=x.useState("local"),[r,i]=x.useState(""),[a,g]=x.useState(""),[Q,B]=x.useState(""),[C,u]=x.useState("http"),[E,I]=x.useState(""),[p,h]=x.useState(""),[k,v]=x.useState("global"),[D,T]=x.useState(null),J=y1(),V=x.useCallback(()=>{i(""),g(""),B(""),u("http"),I(""),h(""),v("global"),T(null),n("local")},[]),AA=x.useCallback(()=>{V(),t()},[V,t]),X=x.useCallback(async()=>{T(null);const O=r.trim();if(!O){T("Server name is required");return}try{if(s==="local"){const w=a.trim();if(!w){T("Command is required");return}if(/^https?:\/\//i.test(w)){T("Local commands cannot be URLs. Switch to Remote (HTTP) for remote servers.");return}const{command:l,args:d}=F1(w);await J.mutateAsync({name:O,transport:"stdio",command:l,args:d,env:G1(p),scope:k})}else{const w=Q.trim();if(!w){T("URL is required");return}await J.mutateAsync({name:O,transport:C,url:w,headers:v1(E),scope:k})}AA()}catch(w){T(w instanceof Error?w.message:"Failed to add server")}},[r,s,a,p,Q,C,E,k,J,AA]),L=x.useRef(null),[W,S]=x.useState(void 0);return x.useEffect(()=>{const O=L.current;if(!O)return;const w=new ResizeObserver(()=>{S(O.scrollHeight)});return w.observe(O),()=>w.disconnect()},[]),o.jsx(qo,{isOpen:e,onClose:AA,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:L,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(Ao,{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(Oo,{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(Xr,{value:r,onChange:O=>i(O.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(Xr,{value:a,onChange:O=>g(O.target.value),placeholder:"e.g. npx -y @modelcontextprotocol/server-github",onKeyDown:O=>{O.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:O=>h(O.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(Xr,{value:Q,onChange:O=>B(O.target.value),placeholder:"e.g. https://mcp.linear.app/mcp",onKeyDown:O=>{O.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:C==="http"?"2px":"50%",right:C==="sse"?"2px":"50%"}}),o.jsx("button",{type:"button",onClick:()=>u("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 ${C==="http"?"text-foreground":"text-muted-foreground/50"}`,children:"HTTP (recommended)"}),o.jsx("button",{type:"button",onClick:()=>u("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 ${C==="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:E,onChange:O=>I(O.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(Fa,{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(nr,{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(Qe,{variant:"ghost",onClick:AA,children:"Cancel"}),o.jsx(Qe,{variant:"primary",onClick:X,disabled:J.isPending,children:J.isPending?o.jsxs(o.Fragment,{children:[o.jsx(Le,{className:"w-3 h-3 animate-spin mr-1"}),"Adding..."]}):"Add Server"})]})]})})})}),ha=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(Le,{className:"w-3.5 h-3.5 animate-spin text-white"}):null})})}),U1=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(Le,{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(QC,{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(),Co(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(bt,{className:"w-3 h-3"})]})]})})}),R1=x.memo(function({server:e,isLoading:t,authUrl:s,copilotDevice:n,onStart:r,onStop:i,onRemove:a,onAuth:g}){const[Q,B]=x.useState(!1),C=e.connected&&e.tools.length>0,u=e.transport==="http"||e.transport==="sse",E=(!!s||!!n)&&!e.connected,I=x.useCallback(()=>{e.authRequired&&!e.connected?g():e.connected?i():r()},[e.connected,e.authRequired,g,i,r]),p=x.useCallback(()=>{C&&B(h=>!h)},[C]);return o.jsxs("div",{className:`rounded-lg border transition-colors duration-200 group ${e.connected?"border-green-500/30 bg-green-500/5":E?"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(ha,{checked:e.connected,loading:t||E,onChange:I}),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}),u&&o.jsx(Oo,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}),e.authRequired&&!e.connected&&o.jsx(BC,{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:u?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(nr,{className:"w-3 h-3"}):o.jsx(Fa,{className:"w-3 h-3"})})]})]}),o.jsxs("div",{className:"flex items-center gap-0.5 flex-shrink-0",children:[C&&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(lC,{className:"w-3 h-3"}),e.tools.length,Q?o.jsx(zt,{className:"w-3 h-3"}):o.jsx(it,{className:"w-3 h-3"})]}),o.jsx(Qe,{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(Ir,{className:"w-3 h-3 text-muted-foreground hover:text-red-400"})})]})]}),n&&!e.connected&&o.jsx(U1,{userCode:n.userCode,verificationUri:n.verificationUri}),!n&&E&&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(Le,{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:h=>{h.preventDefault(),Co(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(bt,{className:"w-3 h-3"})]})]})}),C&&Q&&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(h=>o.jsx("span",{className:"text-xs bg-muted px-1.5 py-0.5 rounded",title:h,children:h.split("__").pop()},h))})})]})});function K1(A,e){const{data:t}=M1(A),s=x.useRef(!1);x.useEffect(()=>{t?.authenticated&&!s.current&&e(),s.current=t?.authenticated??!1},[t?.authenticated,e])}const J1=x.memo(function(){const e=ze(O=>O.isExpanded),t=ze(O=>O.collapseSidebar),s=ze(O=>O.servers),n=ze(O=>O.loading),r=ze(O=>O.authUrls),i=ze(O=>O.setAuthUrl),a=ze(O=>O.setLoading),g=ze(O=>O.setCopilotDevice),{isLoading:Q}=w1(),B=x1(),C=D1(),u=N1(),E=k1(),I=b1(),[p,h]=x.useState(!1),[k,v]=x.useState(null),[D,T]=x.useState(null),J=De(),V=x.useCallback(()=>{k&&(i(k,null),v(null),J.invalidateQueries({queryKey:["mcp","servers"]}))},[k,i,J]);K1(k,V),x.useEffect(()=>{for(const O of n)s.find(l=>l.name===O)?.connected&&a(O,!1)},[s,n,a]);const AA=x.useCallback((O,w)=>{w.sessionId&&w.userCode&&w.verificationUri&&(g({sessionId:w.sessionId,userCode:w.userCode,verificationUri:w.verificationUri,interval:w.interval??5,serverName:O}),Co(w.verificationUri))},[g]),X=x.useCallback(async O=>{try{a(O,!0);const w=await E.mutateAsync(O);if(w.authType==="copilot-device"){if(w.authenticated){a(O,!1),J.invalidateQueries({queryKey:["mcp","servers"]});return}AA(O,w)}else w.authUrl?(i(O,w.authUrl),v(O),Co(w.authUrl)):a(O,!1)}catch{a(O,!1),i(O,null)}},[E,i,a,AA,J]),L=x.useCallback(async O=>{try{a(O,!0);const w=await B.mutateAsync(O);w.authType==="copilot-device"&&!w.connected?AA(O,w):w.authRequired&&w.authUrl?(i(O,w.authUrl),v(O),Co(w.authUrl)):a(O,!1)}catch{a(O,!1),i(O,null)}},[B,i,a,AA]),W=x.useMemo(()=>[...s].sort((O,w)=>O.connected&&!w.connected?-1:!O.connected&&w.connected?1:O.name.localeCompare(w.name)),[s]);if(!e)return null;const S=s.filter(O=>O.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(ur,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium text-sm",children:"MCP Servers"}),S>0&&o.jsxs("span",{className:"text-xs bg-green-500/20 text-green-400 px-1.5 py-0.5 rounded-full",children:[S," active"]})]}),o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx(Qe,{variant:"ghost",size:"icon",onClick:()=>h(!0),title:"Add MCP server",className:"h-7 w-7",children:o.jsx(Io,{className:"w-4 h-4"})}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:t,title:"Close sidebar",children:o.jsx(it,{className:"w-4 h-4"})})]})]}),o.jsx("div",{className:"flex-1 overflow-y-auto",children:Q&&s.length===0?o.jsxs("div",{className:"flex items-center justify-center h-32 text-muted-foreground",children:[o.jsx(Le,{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(Qe,{variant:"primary",size:"sm",onClick:()=>h(!0),className:"w-full",children:[o.jsx(Io,{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(O=>o.jsx(R1,{server:O,isLoading:n.has(O.name),authUrl:r.get(O.name),copilotDevice:I?.serverName===O.name?I:null,onStart:()=>L(O.name),onStop:()=>C.mutate(O.name),onRemove:()=>T(O.name),onAuth:()=>X(O.name)},O.name))})}),o.jsx(S1,{isOpen:p,onClose:()=>h(!1)}),o.jsxs(qo,{isOpen:!!D,onClose:()=>T(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(Qe,{variant:"secondary",size:"sm",onClick:()=>T(null),children:"Cancel"}),o.jsx(Qe,{variant:"primary",size:"sm",className:"bg-red-500 hover:bg-red-600 text-white",onClick:()=>{D&&u.mutate(D),T(null)},children:"Remove"})]})]})]})}),L1=x.memo(function(){const e=ze(r=>r.isExpanded),t=ze(r=>r.toggleSidebar),n=ze(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(ur,{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 j1(){const A=Oe(t=>t.setSkillsConfig),e=ot({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 T1(){const A=De(),e=Oe(t=>t.setSkillsConfig);return qe({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 dc(A){return ot({queryKey:["skills",A],queryFn:async()=>A?mA.getSkill(A):null,enabled:!!A})}function O1(A){return ot({queryKey:["skills",A,"files"],queryFn:async()=>A?mA.getSkillFiles(A):null,enabled:!!A})}function q1(A,e){return ot({queryKey:["skills",A,"files",e],queryFn:async()=>!A||!e?null:mA.getSkillFileContent(A,e),enabled:!!A&&!!e})}const Y1={cwd:nr,parent:nr,repo:nr,user:Fa,system:Oo},BB={cwd:"Project",parent:"Parent",repo:"Repository",user:"User",system:"System"};function H1(A){return A<1024?`${A} B`:A<1024*1024?`${(A/1024).toFixed(1)} KB`:`${(A/(1024*1024)).toFixed(1)} MB`}const P1=x.memo(function(){const e=Oe(D=>D.isExpanded),t=Oe(D=>D.collapseSidebar),s=Oe(D=>D.skills),n=Oe(D=>D.globalEnabled),r=Oe(D=>D.totalCount),i=Oe(D=>D.enabledCount),a=Oe(D=>D.selectedSkill),g=Oe(D=>D.selectSkill),Q=Oe(D=>D.openViewer),B=Oe(D=>D.viewingFile),{isLoading:C,isFetching:u,refetch:E}=j1(),I=T1(),{data:p}=dc(a),{data:h}=O1(a),k=h?.files??[],v=x.useMemo(()=>{const D=new Map;for(const T of s){const J=D.get(T.scope)??[];J.push(T),D.set(T.scope,J)}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(ro,{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(ha,{checked:n,loading:I.isPending,onChange:()=>I.mutate({enabled:!n})}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:t,title:"Close sidebar",children:o.jsx(it,{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:BB[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:()=>Q(null),className:`w-full text-left px-3 py-2 hover:bg-accent transition-colors ${B===null?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx($o,{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:()=>Q(D.relativePath),className:`w-full text-left px-3 py-2 hover:bg-accent transition-colors ${B===D.relativePath?"bg-accent":""}`,children:o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(yn,{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:H1(D.size)})]})},D.relativePath))]})]}):o.jsx("div",{className:"flex-1 overflow-y-auto",children:C?o.jsx("div",{className:"flex items-center justify-center py-8",children:o.jsx(Le,{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(ro,{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(ro,{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 T=v.get(D);if(!T?.length)return null;const J=Y1[D]??Oo;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(J,{className:"w-3 h-3"}),BB[D]??D]}),T.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($o,{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(ha,{checked:V.enabled!==!1,loading:I.isPending,onChange:()=>I.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(ro,{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(ro,{className:"w-3 h-3 flex-shrink-0"}),o.jsxs("span",{className:"truncate",children:[i,"/",r," ",r===1?"skill":"skills"]})]}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:()=>E(),title:"Refresh skills",className:"h-6 w-6 flex-shrink-0",disabled:u,children:o.jsx(Pt,{className:`w-3 h-3 ${u?"animate-spin":""}`})})]})]}):null}),W1=x.memo(function(){const e=Oe(s=>s.isExpanded),t=Oe(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(ro,{className:"w-5 h-5 text-muted-foreground mx-auto"})})}),z1={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 V1(A){const e=A.split(".").pop()?.toLowerCase()??"";return z1[e]??"plaintext"}const Z1=x.memo(function(){const e=Oe(I=>I.isViewerOpen),t=Oe(I=>I.viewingFile),s=Oe(I=>I.selectedSkill),n=Oe(I=>I.closeViewer),{data:r}=dc(s),{data:i,isLoading:a}=q1(s,t),g=t===null,Q=g?r?.content:i?.content,B=g?!r:a,C=g?"SKILL.md":t??"",u=V1(C);if(x.useEffect(()=>{const I=p=>{const h=p.target,k=h.tagName==="INPUT"||h.tagName==="TEXTAREA"||h.isContentEditable;(p.key==="Escape"||p.key==="q"&&!k)&&e&&n()};return document.addEventListener("keydown",I),()=>document.removeEventListener("keydown",I)},[e,n]),!e||!s)return null;const E=document?.documentElement.classList.contains("dark")?Bo:lo;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(Qe,{variant:"ghost",size:"icon",onClick:n,title:"Close viewer (ESC)",children:o.jsx(nt,{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:C,children:C})]}),o.jsx("span",{className:"text-xs text-muted-foreground",children:u})]}),o.jsx("div",{className:"flex-1 overflow-auto",children:B?o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"Loading..."}):Q?o.jsx("div",{className:"code-with-line-numbers",children:o.jsx(qt,{language:u,style:E,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:Q})}):o.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:"Unable to load file"})})]})}),lB="file-browser",EB=320,_1=280,X1=600;function $1({dirPath:A}){const t=_e(r=>r.expandedDirs).has(A),{data:s,isLoading:n}=sc(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(hc,{name:r.name,path:r.path,type:r.type,gitignored:r.gitignored},r.path))}):null}function hc({name:A,path:e,type:t,gitignored:s}){const n=_e(C=>C.expandedDirs),r=_e(C=>C.toggleDir),i=_e(C=>C.openFile),a=_e(C=>C.selectedFile),g=n.has(e),Q=a===e,B=x.useCallback(()=>{t==="directory"?r(e):i(e)},[t,e,r,i]);return o.jsxs("div",{children:[o.jsxs("button",{type:"button",onClick:B,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?"opacity-40":""}`,children:[t==="directory"?o.jsxs(o.Fragment,{children:[g?o.jsx(zt,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}):o.jsx(it,{className:"w-3 h-3 text-muted-foreground flex-shrink-0"}),g?o.jsx(xB,{className:"w-3.5 h-3.5 text-blue-500 flex-shrink-0"}):o.jsx(DB,{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(yn,{className:"w-3.5 h-3.5 text-muted-foreground flex-shrink-0"})]}),o.jsx("span",{className:"truncate",children:A})]}),t==="directory"&&o.jsx($1,{dirPath:e})]})}const Ay=x.memo(function(){const e=_e(a=>a.isExpanded),t=_e(a=>a.collapseSidebar),s=As(a=>a.widths[lB]??EB),{data:n,isLoading:r,refetch:i}=sc(".");return e?o.jsxs("div",{className:"border-l border-sidebar-border sidebar-fade-in flex h-full relative",style:{width:s},children:[o.jsx(Hs,{panelKey:lB,side:"right",minWidth:_1,maxWidth:X1,defaultWidth:EB}),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(Qr,{className:"w-4 h-4 text-muted-foreground"}),o.jsx("span",{className:"font-medium",children:"Files"})]}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:t,children:o.jsx(it,{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(hc,{name:a.name,path:a.path,type:a.type,gitignored:a.gitignored},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(Qr,{className:"w-3 h-3 flex-shrink-0"}),o.jsx("span",{className:"truncate",children:"Project Files"})]}),o.jsx(Qe,{variant:"ghost",size:"icon",onClick:()=>i(),title:"Refresh file tree",className:"h-6 w-6 flex-shrink-0",disabled:r,children:o.jsx(Pt,{className:`w-3 h-3 ${r?"animate-spin":""}`})})]})]})]}):null}),ey=x.memo(function(){const e=_e(s=>s.isExpanded),t=_e(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(Qr,{className:"w-5 h-5 text-muted-foreground mx-auto"})})}),ty={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 fc(A){return A.split(".").pop()?.toLowerCase()??""}function oy(A){const e=fc(A);return ty[e]??"plaintext"}function sy(A){const e=fc(A);return e==="md"||e==="markdown"||e==="mdx"}const ry=x.memo(function(){const e=_e(Q=>Q.isViewerOpen),t=_e(Q=>Q.selectedFile),s=_e(Q=>Q.closeViewer),{data:n,isLoading:r}=m2(t);if(x.useEffect(()=>{const Q=B=>{const C=B.target,u=C.tagName==="INPUT"||C.tagName==="TEXTAREA"||C.isContentEditable;(B.key==="Escape"||B.key==="q"&&!u)&&e&&s()};return document.addEventListener("keydown",Q),()=>document.removeEventListener("keydown",Q)},[e,s]),!e||!t)return null;const i=document?.documentElement.classList.contains("dark")?Bo:lo,a=oy(t),g=sy(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(Qe,{variant:"ghost",size:"icon",onClick:s,title:"Close file viewer (ESC)",children:o.jsx(nt,{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(Ga,{remarkPlugins:[va],components:{a:({href:Q,children:B,...C})=>o.jsx("a",{href:Q,target:"_blank",rel:"noopener noreferrer",onClick:u=>{window.self!==window.top&&Q&&(u.preventDefault(),window.parent.postMessage({type:"otto-open-url",url:Q},"*"))},...C,children:B}),table:({children:Q,...B})=>o.jsx("div",{className:"overflow-x-auto max-w-full min-w-0 my-3",children:o.jsx("table",{...B,children:Q})})},children:n.content})}):o.jsx("div",{className:"code-with-line-numbers",children:o.jsx(qt,{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"})})]})}),fa=Ct(A=>({isOpen:!1,open:()=>A({isOpen:!0}),close:()=>A({isOpen:!1}),toggle:()=>A(e=>({isOpen:!e.isOpen}))}));function ny(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 iy=x.memo(function(){const e=fa(k=>k.isOpen),t=fa(k=>k.close),s=_e(k=>k.openFile),n=_e(k=>k.expandSidebar),[r,i]=x.useState(""),[a,g]=x.useState(0),Q=x.useRef(null),B=x.useRef(null),{data:C}=Nl(),u=x.useMemo(()=>new Set(C?.ignoredFiles??[]),[C?.ignoredFiles]),E=x.useMemo(()=>C?.files?r?C.files.map(v=>({file:v,...ny(r,v)})).filter(v=>v.match).sort((v,D)=>D.score-v.score).slice(0,50).map(v=>v.file):C.files.slice(0,50):[],[C?.files,r]);x.useEffect(()=>{e&&(i(""),g(0),setTimeout(()=>Q.current?.focus(),0))},[e]),x.useEffect(()=>{B.current?.children[a]?.scrollIntoView({block:"nearest"})},[a]);const I=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,E.length-1))):k.key==="ArrowUp"||k.ctrlKey&&k.key==="k"?(k.preventDefault(),g(v=>Math.max(v-1,0))):k.key==="Enter"&&E[a]?(k.preventDefault(),I(E[a])):k.key==="Escape"&&(k.preventDefault(),t())},[E,a,I,t]),h=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:h,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(ms,{className:"w-4 h-4 text-muted-foreground flex-shrink-0"}),o.jsx("input",{ref:Q,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:B,className:"max-h-[40vh] overflow-y-auto",children:E.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"}):E.map((k,v)=>{const D=u.has(k);return o.jsxs("button",{type:"button",onClick:()=>I(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(yn,{className:"w-3.5 h-3.5 text-muted-foreground flex-shrink-0"}),o.jsx(ay,{path:k,query:r}),D&&o.jsx("span",{className:"ml-auto text-[10px] text-muted-foreground italic",children:"ignored"})]},k)})}),E.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:[E.length," files"]})]})]})}):null});function ay({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 gy=x.memo(function({authStatus:e,onSetupWallet:t,onImportWallet:s,onAddProvider:n,onRemoveProvider:r,onStartOAuth:i,onStartOAuthManual:a,onExchangeOAuthCode:g,onOpenTopup:Q,onNext:B,manageMode:C=!1,onClose:u,hideHeader:E=!1,onStartCopilotDeviceFlow:I,onPollCopilotDeviceFlow:p,onGetCopilotAuthMethods:h,onSaveCopilotToken:k,onImportCopilotTokenFromGh:v,onGetCopilotDiagnostics:D}){const[T,J]=x.useState(!1),[V,AA]=x.useState(!1),[X,L]=x.useState(!1),[W,S]=x.useState(""),[O,w]=x.useState(!1),[l,d]=x.useState(null),[N,G]=x.useState(null),[U,j]=x.useState(""),[P,b]=x.useState(null),[c,f]=x.useState(null),[R,K]=x.useState(null),[_,tA]=x.useState(""),[CA,aA]=x.useState(!1),[RA,MA]=x.useState(!1),[IA,VA]=x.useState(null),[ZA,ee]=x.useState(!1),[GA,LA]=x.useState(null),[le,Ne]=x.useState("oauth"),[de,ke]=x.useState(""),[At,xA]=x.useState(!1),[_A,Be]=x.useState(!1),[Ee,q]=x.useState(null),[y,M]=x.useState(null),[Z,eA]=x.useState(!1),[iA,QA]=x.useState(!1),[WA,zA]=x.useState(!1),HA=x.useRef(void 0),pe=x.useRef(!1),PA=x.useRef(p);PA.current=p;const Re=xe(nA=>nA.balance),Zt=xe(nA=>nA.usdcBalance),Ve=xe(nA=>nA.payg),Ze=xe(nA=>nA.subscription),Go=xe(nA=>nA.isLoading),Me=x.useRef(null),Ge=x.useRef(null),yt=x.useRef(null),Ye=xe(nA=>nA.isTopupModalOpen),KA=x.useRef(!1),{fetchBalance:tt}=Zn("ottorouter"),He=Ve?.effectiveSpendableUsd??Re??0,be=Ze?.active?`GO ${(Ze.creditsRemaining??0).toFixed(1)} credits`:`$${He.toFixed(2)}`;x.useEffect(()=>{KA.current&&!Ye&&tt(),KA.current=Ye},[Ye,tt]),x.useEffect(()=>{!e.ottorouter.configured&&!V&&(AA(!0),t().finally(()=>AA(!1)))},[e.ottorouter.configured,t,V]),x.useEffect(()=>{N&&Me.current&&Me.current.focus()},[N]),x.useEffect(()=>{R&&Ge.current&&Ge.current.focus()},[R]),x.useEffect(()=>{X&&yt.current&&yt.current.focus()},[X]),x.useEffect(()=>{if(!ZA||!IA||!PA.current)return;pe.current=!1;const nA=Math.max((IA.interval||5)*1e3+2e3,7e3),SA=()=>{HA.current=setTimeout(async()=>{if(!pe.current)try{const jA=PA.current;if(!jA)return;const TA=await jA(IA.sessionId);if(pe.current)return;TA.status==="complete"?(VA(null),ee(!1),LA(null),QA(!1)):TA.status==="error"?(LA(TA.error||"Authorization failed"),ee(!1)):SA()}catch{pe.current||SA()}},nA)};SA();const bA=setTimeout(()=>{ee(!1),LA("Authorization timed out. Please try again.")},3e5);return()=>{pe.current=!0,HA.current&&clearTimeout(HA.current),clearTimeout(bA)}},[ZA,IA]);const rs=async()=>{e.ottorouter.publicKey&&(await navigator.clipboard.writeText(e.ottorouter.publicKey),J(!0),setTimeout(()=>J(!1),2e3))},F=nA=>`${nA.slice(0,8)}...${nA.slice(-6)}`,Y=async nA=>{if(U.trim())try{await n(nA,U.trim()),G(null),j("")}catch{}},H=async nA=>{if(c===nA){b(nA);try{await r(nA)}finally{b(null),f(null)}}else f(nA)},m=()=>{f(null)},z=()=>{I&&(zA(!0),LA(null),I().then(nA=>{VA(nA),zA(!1)}).catch(nA=>{LA(nA instanceof Error?nA.message:"Failed to start device flow"),zA(!1)}))},rA=async(nA,SA)=>{nA==="anthropic"?K({provider:nA,sessionId:null,mode:SA}):nA==="copilot"?(Ne("oauth"),ke(""),M(null),q(null),ee(!1),VA(null),LA(null),QA(!0),h&&h().then(bA=>q(bA)).catch(()=>{}),D&&D().then(bA=>M(bA)).catch(()=>{}),z()):i(nA,SA)},oA=async()=>{if(R){MA(!0);try{const{sessionId:nA}=await a(R.provider,R.mode);K({...R,sessionId:nA})}catch(nA){console.error("Failed to start OAuth:",nA)}MA(!1)}},uA=async()=>{if(!(!R||!R.sessionId||!_.trim())){aA(!0);try{await g(R.provider,_.trim(),R.sessionId),K(null),tA("")}catch{}aA(!1)}},DA=()=>{K(null),tA("")},FA=()=>{IA&&(Co(IA.verificationUri),ee(!0))},yA=nA=>{Ne(nA),LA(null),nA==="token"&&ee(!1),nA==="oauth"&&!IA&&!WA&&z()},me=async()=>{if(!(!de.trim()||!k)){xA(!0),LA(null);try{await k(de.trim()),XA()}catch(nA){LA(nA instanceof Error?nA.message:"Failed to save Copilot token")}finally{xA(!1)}}},JA=async()=>{if(v){Be(!0),LA(null);try{await v(),XA()}catch(nA){LA(nA instanceof Error?nA.message:"Failed to import token from GitHub CLI")}finally{Be(!1)}}},te=async()=>{IA&&(await navigator.clipboard.writeText(IA.userCode),eA(!0),setTimeout(()=>eA(!1),2e3))},XA=()=>{VA(null),ee(!1),LA(null),ke(""),xA(!1),Be(!1),Ne("oauth"),eA(!1),QA(!1),zA(!1),pe.current=!0,HA.current&&(clearTimeout(HA.current),HA.current=void 0)},ae=()=>{d(null),S(""),L(!0)},ie=()=>{O||(L(!1),d(null),S(""))},oe=async()=>{if(!(!W.trim()||O)){w(!0),d(null);try{await s(W.trim()),L(!1),S(""),tt()}catch(nA){d(nA instanceof Error?nA.message:"Failed to import wallet")}finally{w(!1)}}},$A=Object.entries(e.providers).filter(([nA,SA])=>SA.configured&&nA!=="ottorouter"),se=Object.entries(e.providers).filter(([nA,SA])=>!SA.configured&&nA!=="ottorouter");return o.jsxs("div",{className:"min-h-screen flex flex-col",children:[!E&&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 ${E?"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(Xn,{value:e.ottorouter.publicKey,size:140,level:"M"})})}),o.jsxs("div",{className:"space-y-2 mt-4",children:[o.jsxs("button",{type:"button",onClick:rs,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:[F(e.ottorouter.publicKey),T?o.jsx(Yt,{className:"w-3.5 h-3.5 text-green-500"}):o.jsx(us,{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:be})}),o.jsx("button",{type:"button",onClick:tt,disabled:Go,className:"p-0.5 text-muted-foreground hover:text-foreground transition-colors disabled:opacity-50",children:o.jsx(Pt,{className:`w-3 h-3 ${Go?"animate-spin":""}`})})]}),o.jsxs("span",{className:"text-[10px] text-muted-foreground font-mono",children:["Balance $",(Re??0).toFixed(2)," • On-chain"," ",(Zt??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(Cr,{className:"w-4 h-4"}),"Top Up with Card"]}),o.jsxs("button",{type:"button",onClick:ae,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(gn,{className:"w-4 h-4"}),"Import Wallet"]})]}):o.jsx("div",{className:"flex items-center justify-center py-16",children:o.jsx(Le,{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"}),$A.length>0&&o.jsxs("span",{className:"text-sm text-muted-foreground",children:[$A.length," active"]})]}),$A.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:$A.map(([nA,SA])=>o.jsxs("div",{className:`flex items-center gap-2 pl-3 pr-2 py-2 rounded-full transition-all duration-200 ${c===nA?"bg-destructive/10 border border-destructive/30":"group bg-green-500/10 border border-green-500/20"}`,children:[o.jsx(_t,{provider:nA,size:16}),o.jsx("span",{className:`text-sm font-medium transition-colors ${c===nA?"text-destructive":"text-green-600 dark:text-green-400"}`,children:SA.label}),c!==nA&&o.jsx("span",{className:"text-xs text-green-600/60 dark:text-green-500/60",children:SA.type==="oauth"?"OAuth":"API"}),c===nA?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:()=>H(nA),disabled:P===nA,className:"px-2 py-0.5 text-xs bg-destructive text-destructive-foreground rounded hover:bg-destructive/90 transition-colors disabled:opacity-50",children:P===nA?o.jsx(Le,{className:"w-3 h-3 animate-spin"}):"Yes"}),o.jsx("button",{type:"button",onClick:m,className:"px-2 py-0.5 text-xs bg-muted text-muted-foreground rounded hover:bg-muted/80 transition-colors",children:"No"})]}):nA!=="ottorouter"&&o.jsx("button",{type:"button",onClick:()=>H(nA),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(nt,{className:"w-3 h-3"})})]},nA))})]}),o.jsxs("div",{children:[o.jsx("h2",{className:"font-semibold text-foreground mb-4",children:"Add Providers"}),o.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3 items-start",children:se.map(([nA,SA])=>o.jsx("div",{children:N===nA?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:nA,size:18})}),o.jsx("input",{ref:Me,type:"password",value:U,onChange:bA=>j(bA.target.value),placeholder:`${SA.label} API key...`,className:"flex-1 min-w-0 bg-transparent text-sm outline-none placeholder:text-muted-foreground text-foreground",onKeyDown:bA=>{bA.key==="Enter"&&Y(nA),bA.key==="Escape"&&(G(null),j(""))}}),o.jsx("button",{type:"button",onClick:()=>Y(nA),disabled:!U.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:()=>{G(null),j("")},className:"shrink-0 p-1.5 text-muted-foreground hover:text-foreground",children:o.jsx(nt,{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:nA,size:20}),o.jsxs("div",{className:"min-w-0",children:[o.jsx("div",{className:"font-medium text-foreground truncate",children:SA.label}),o.jsxs("div",{className:"text-xs text-muted-foreground",children:[SA.modelCount," models"]})]})]}),o.jsxs("div",{className:"flex items-center gap-1",children:[nA!=="copilot"&&o.jsxs("button",{type:"button",onClick:()=>G(nA),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(gn,{className:"w-3.5 h-3.5"}),"API"]}),SA.supportsOAuth&&o.jsxs("button",{type:"button",onClick:()=>rA(nA,nA==="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(bt,{className:"w-3.5 h-3.5"}),nA==="anthropic"?"Pro":nA==="copilot"?"Login":"OAuth"]})]})]})},nA))})]})]})]})]})}),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:u,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:B,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(yB,{className:"w-4 h-4"})]})]})}),X&&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:yt,value:W,onChange:nA=>S(nA.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:nA=>{(nA.metaKey||nA.ctrlKey)&&nA.key==="Enter"&&(nA.preventDefault(),oe()),nA.key==="Escape"&&ie()}}),l&&o.jsx("p",{className:"text-sm text-red-500 mt-3",children:l}),o.jsxs("div",{className:"flex gap-3 mt-5",children:[o.jsx("button",{type:"button",onClick:ie,disabled:O,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:oe,disabled:!W.trim()||O,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:O?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):"Import Wallet"})]})]})]})}),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:R.provider,size:24}),o.jsxs("h3",{className:"text-lg font-semibold",children:["Connect"," ",e.providers[R.provider]?.label||R.provider]})]}),R.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:Ge,value:_,onChange:nA=>tA(nA.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:nA=>{nA.key==="Enter"&&uA(),nA.key==="Escape"&&DA()}}),o.jsxs("div",{className:"flex gap-3",children:[o.jsx("button",{type:"button",onClick:DA,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:uA,disabled:!_.trim()||CA,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:CA?o.jsx(Le,{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[R.provider]?.label||R.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:DA,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:oA,disabled:RA,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:RA?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):o.jsxs(o.Fragment,{children:["Continue",o.jsx(bt,{className:"w-4 h-4"})]})})]})]})]})}),iA&&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:()=>yA("oauth"),className:`px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${le==="oauth"?"bg-foreground text-background":"bg-muted text-muted-foreground hover:text-foreground"}`,children:"OAuth"}),o.jsx("button",{type:"button",onClick:()=>yA("token"),className:`px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ${le==="token"?"bg-foreground text-background":"bg-muted text-muted-foreground hover:text-foreground"}`,children:"Token"})]}),le==="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:WA?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"})}):IA?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:IA.userCode}),o.jsx("button",{type:"button",onClick:te,className:"p-2 text-muted-foreground hover:text-foreground transition-colors",children:Z?o.jsx(Yt,{className:"w-5 h-5 text-green-500"}):o.jsx(us,{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:de,onChange:nA=>ke(nA.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"}),Ee?.ghImport.available&&o.jsx("button",{type:"button",onClick:JA,disabled:_A,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:_A?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):"Import from GH CLI"}),Ee?.ghImport.available&&!Ee.ghImport.authenticated&&o.jsx("p",{className:"text-xs text-muted-foreground",children:Ee.ghImport.reason||"GitHub CLI is not authenticated"}),Ee&&!Ee.ghImport.available&&Ee.ghImport.reason&&o.jsx("p",{className:"text-xs text-muted-foreground",children:Ee.ghImport.reason})]}),y&&y.tokenSources.length>0&&o.jsx("div",{className:"text-xs text-muted-foreground space-y-1",children:y.tokenSources.map(nA=>o.jsxs("div",{children:[nA.source,":"," ",nA.configured?nA.error?nA.error:`${nA.modelCount??0} models visible`:"not configured",nA.restrictedByOrgPolicy&&nA.restrictedOrg?` (org restriction: ${nA.restrictedOrg})`:""]},nA.source))}),GA&&o.jsx("p",{className:"text-sm text-red-500 text-center",children:GA}),ZA&&le==="oauth"&&o.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground",children:[o.jsx(Le,{className:"w-4 h-4 animate-spin"}),"Waiting for authorization..."]}),o.jsxs("div",{className:"flex gap-3",children:[o.jsx("button",{type:"button",onClick:XA,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"}),le==="oauth"?o.jsx("button",{type:"button",onClick:FA,disabled:ZA||WA,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:ZA||WA?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):o.jsxs(o.Fragment,{children:["Open GitHub",o.jsx(bt,{className:"w-4 h-4"})]})}):o.jsx("button",{type:"button",onClick:me,disabled:!de.trim()||At,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:At?o.jsx(Le,{className:"w-4 h-4 animate-spin"}):"Save token"})]})]})]})})]})}),Qy=x.memo(function({authStatus:e,onComplete:t,onBack:s,hideHeader:n=!1}){const[r,i]=x.useState(null),[a,g]=x.useState(null),[Q,B]=x.useState(!0),[C,u]=x.useState(!1),[E,I]=x.useState("ottorouter"),[p,h]=x.useState("kimi-k2.5"),[k,v]=x.useState(e.defaults.agent||"build"),[D,T]=x.useState(e.defaults.toolApproval||"dangerous"),[J,V]=x.useState(!1),AA=x.useRef(!1),X=x.useId(),L=x.useId(),W=x.useId(),S=x.useId();x.useEffect(()=>{(async()=>{try{const[N,G]=await Promise.all([mA.getConfig(),mA.getAllModels()]);i(N),g(G);const U=N?.defaults?.provider||"ottorouter",j=N?.defaults?.model||"kimi-k2.5",P=G?.[U]?.models?.length>0,b=P?U:"ottorouter",c=P&&G[U].models.some(f=>f.id===j)?j:G?.[b]?.models?.[0]?.id||"kimi-k2.5";I(b),h(c),N?.defaults?.agent&&v(N.defaults.agent),N?.defaults?.toolApproval&&T(N.defaults.toolApproval),N?.defaults?.guidedMode&&V(N.defaults.guidedMode)}catch{}finally{B(!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?.[E]&&AA.current){const d=a[E];d.models.some(N=>N.id===p)||h(d.models[0]?.id||"")}},[E,a,p]);const O=async()=>{u(!0);try{await mA.updateDefaults({provider:E,model:p,agent:k,toolApproval:D,guidedMode:J,fullWidthContent:r?.defaults?.fullWidthContent??!0,scope:"global"}),await t()}catch{}finally{u(!1)}};if(Q)return o.jsx("div",{className:"min-h-screen flex items-center justify-center",children:o.jsx(Le,{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"],l=a?.[E]?.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:E,onChange:d=>{AA.current=!0,I(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(zt,{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:L,className:"block text-sm font-medium text-muted-foreground mb-2",children:"Default Model"}),o.jsxs("div",{className:"relative",children:[o.jsx("select",{id:L,value:p,onChange:d=>h(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:l.map(d=>o.jsx("option",{value:d.id,children:d.label||d.id},d.id))}),o.jsx(zt,{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(zt,{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:S,className:"block text-sm font-medium text-muted-foreground mb-2",children:"Tool Approval"}),o.jsxs("div",{className:"relative",children:[o.jsxs("select",{id:S,value:D,onChange:d=>T(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(zt,{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":J,onClick:()=>V(!J),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 ${J?"bg-primary":"bg-muted"}`,children:o.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full transition-transform ${J?"translate-x-6":"translate-x-1"} ${J?"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(EC,{className:"w-4 h-4"}),"Back"]}),o.jsx("button",{type:"button",onClick:O,disabled: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 disabled:opacity-50",children:C?o.jsxs(o.Fragment,{children:[o.jsx(Le,{className:"w-4 h-4 animate-spin"}),"Setting up..."]}):o.jsxs(o.Fragment,{children:["Start Using otto",o.jsx(ro,{className:"w-4 h-4"})]})})]})})]})}),By=x.memo(function({hideHeader:e=!1}){const t=Mt(X=>X.isOpen),s=Mt(X=>X.currentStep),n=Mt(X=>X.manageMode),r=Mt(X=>X.authStatus),i=Mt(X=>X.nextStep),a=Mt(X=>X.prevStep),g=Mt(X=>X.reset),Q=xe(X=>X.openTopupModal),{setupWallet:B,importWallet:C,addProvider:u,removeProvider:E,completeOnboarding:I,startOAuth:p,startOAuthManual:h,exchangeOAuthCode:k,startCopilotDeviceFlow:v,pollCopilotDeviceFlow:D,getCopilotAuthMethods:T,saveCopilotToken:J,importCopilotTokenFromGh:V,getCopilotDiagnostics:AA}=ug();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(gy,{authStatus:r,onSetupWallet:B,onImportWallet:C,onAddProvider:u,onRemoveProvider:E,onStartOAuth:p,onStartOAuthManual:h,onExchangeOAuthCode:k,onOpenTopup:Q,onNext:i,manageMode:n,onClose:g,hideHeader:e,onStartCopilotDeviceFlow:v,onPollCopilotDeviceFlow:D,onGetCopilotAuthMethods:T,onSaveCopilotToken:J,onImportCopilotTokenFromGh:V,onGetCopilotDiagnostics:AA}),s==="defaults"&&o.jsx(Qy,{authStatus:r,onComplete:I,onBack:a,hideHeader:e})]})}),pc="otto-theme";function ly(){if(typeof window>"u")return"dark";const A=window.localStorage.getItem(pc);return A==="light"||A==="dark"?A:window.matchMedia?.("(prefers-color-scheme: light)").matches?"light":"dark"}function Ey(){const[A,e]=x.useState(()=>ly());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(pc,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 cy(){const[A,e]=x.useState(null);return x.useEffect(()=>{(async()=>{try{const r=`${window.OTTO_SERVER_URL||es}/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 Cy({sessionIds:A,activeSessionId:e,gitFiles:t,onSelectSession:s,onNewSession:n,onStageFile:r,onUnstageFile:i,onRestoreFile:a,onDeleteFile:g,onStageAll:Q,onUnstageAll:B,onOpenCommitModal:C,onViewDiff:u,onReturnToInput:E}){const{currentFocus:I,sessionIndex:p,gitFileIndex:h,setFocus:k,setSessionIndex:v,setGitFileIndex:D,resetGitFileIndex:T}=Ig(),{setCollapsed:J,toggleCollapse:V}=fs(),{isExpanded:AA,toggleSidebar:X}=Ue(),L=Ue(w=>w.closeDiff),W=ut(w=>w.toggleSidebar),S=A.indexOf(e||""),O=x.useCallback(w=>{const l=w.target,d=l.tagName==="INPUT"||l.tagName==="TEXTAREA"||l.isContentEditable,N=!!l.closest("[data-terminal-viewer]");if((w.ctrlKey||w.metaKey)&&w.key==="h"){w.preventDefault(),I==="sessions"?(document.activeElement?.blur(),k("input"),J(!0),setTimeout(()=>E?.(),50)):I==="git"?(document.activeElement?.blur(),k("input"),X(),L(),setTimeout(()=>E?.(),50)):(document.activeElement?.blur(),k("sessions"),J(!1),S>=0&&v(S));return}if((w.ctrlKey||w.metaKey)&&w.key==="l"){w.preventDefault(),I==="git"?(document.activeElement?.blur(),k("input"),X(),L(),setTimeout(()=>E?.(),50)):I==="sessions"?(document.activeElement?.blur(),k("input"),J(!0),setTimeout(()=>E?.(),50)):(document.activeElement?.blur(),AA||X(),k("git"),T());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(),fa.getState().toggle();return}if(w.key==="Escape"&&!N||w.key==="q"&&!d&&(I==="sessions"||I==="git")){w.preventDefault(),I==="sessions"?J(!0):I==="git"&&(X(),L()),k("input"),E?.();return}if(I==="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(I==="git"&&!d){if(w.key==="j"&&t.length>0){w.preventDefault();const G=Math.min(h+1,t.length-1);D(G);return}if(w.key==="k"&&t.length>0){w.preventDefault();const G=Math.max(h-1,0);D(G);return}if(w.key===" "&&t[h]){w.preventDefault();const G=t[h];G.staged?i?.(G.path):r?.(G.path);return}if(w.key==="a"){w.preventDefault(),Q?.();return}if(w.key==="u"){w.preventDefault(),B?.();return}if(w.key==="R"&&t[h]){w.preventDefault();const G=t[h];!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[h];G&&!G.staged&&G.status==="untracked"&&g?.(G.path);return}if(w.key==="c"){w.preventDefault(),C?.();return}if(w.key==="Enter"&&t[h]){w.preventDefault();const G=t[h];u?.(G.path,G.staged);return}}},[I,p,h,A,t,S,AA,k,v,D,T,J,X,W,V,s,n,r,i,a,g,Q,B,C,u,E,L]);return x.useEffect(()=>(window.addEventListener("keydown",O),()=>window.removeEventListener("keydown",O)),[O]),{currentFocus:I,sessionIndex:p,gitFileIndex:h}}function Iy(A){const e=x.useRef(null),t=x.useRef(null),s=xe(Q=>Q.setBalance),n=xe(Q=>Q.setPaymentPending),r=uo(Q=>Q.removeToast),i=uo(Q=>Q.updateToast),a=xn(Q=>Q.setPendingTopup),g=xn(Q=>Q.clearPendingTopup);x.useEffect(()=>{if(!A)return;const Q=new tc;e.current=Q;const B=mA.getStreamUrl(A);Q.connect(B);const C=Q.on("*",u=>{const E=u.payload;switch(u.type){case"ottorouter.topup.required":{const I=typeof E?.amountUsd=="number"?E.amountUsd:0,p=typeof E?.currentBalance=="number"?E.currentBalance:0,h=typeof E?.minTopupUsd=="number"?E.minTopupUsd:5,k=typeof E?.suggestedTopupUsd=="number"?E.suggestedTopupUsd:10,v=typeof E?.messageId=="string"?E.messageId:"";a({sessionId:A,messageId:v,amountUsd:I,currentBalance:p,minTopupUsd:h,suggestedTopupUsd:k});break}case"ottorouter.topup.method_selected":{E?.method==="crypto"&&(n(!0),t.current=ce.loading("💳 Processing crypto payment..."));break}case"ottorouter.topup.cancelled":{g();const I=typeof E?.reason=="string"?E.reason:"Request cancelled";ce(`⚠️ ${I}`);break}case"ottorouter.payment.required":{const I=typeof E?.amountUsd=="number"?E.amountUsd:0;n(!0),t.current||(t.current=ce.loading(`💳 Payment required: $${I.toFixed(2)}`));break}case"ottorouter.payment.signing":{t.current?i(t.current,{message:"✍️ Signing transaction..."}):t.current=ce.loading("✍️ Signing transaction...");break}case"ottorouter.payment.complete":{g();const I=E?.amountUsd,p=E?.newBalance,h=typeof E?.transactionId=="string"?E.transactionId:void 0,k=typeof I=="number"?I:typeof I=="string"?parseFloat(I):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)}`;h?ce.successWithAction(D,{label:"View Tx",href:`https://orbmarkets.io/tx/${h}`}):ce.success(D);break}case"ottorouter.fiat.checkout_created":{g(),n(!1),t.current&&(r(t.current),t.current=null),ce.success("💳 Complete payment, then retry your message");break}case"ottorouter.balance.updated":{const I=E?.balanceRemaining,p=typeof I=="number"?I:typeof I=="string"?parseFloat(I):null;p!==null&&!Number.isNaN(p)&&s(p);break}case"ottorouter.payment.error":{g();const I=typeof E?.error=="string"?E.error:"Payment failed";n(!1),t.current&&(r(t.current),t.current=null),ce.error(`❌ ${I}`);break}}});return()=>{C(),Q.disconnect()}},[A,s,n,r,i,a,g])}const $n=Nc({component:uy});function uy(){const{checkOnboarding:A}=ug();return x.useEffect(()=>{A()},[A]),o.jsxs(o.Fragment,{children:[o.jsx(kc,{}),o.jsx(By,{}),o.jsx(Cg,{}),null]})}const dy=ma("/")({beforeLoad:()=>{throw Mc({to:"/sessions"})},component:()=>null});function cB({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 CB="left-sidebar",IB=272,hy=256,fy=480,py=x.memo(function({children:e,onNewSession:t}){const s=Ue(a=>a.isDiffOpen),n=fs(a=>a.isCollapsed),r=fs(a=>a.toggleCollapse),i=As(a=>a.widths[CB]??IB);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(Qe,{variant:"ghost",size:"icon",onClick:t,title:"New session",className:"rounded-full touch-manipulation text-muted-foreground hover:bg-muted/50",children:o.jsx(Io,{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(Qe,{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(it,{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(Qe,{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(nt,{className:"w-5 h-5"})}),o.jsx("div",{className:"flex-1 flex items-center",children:o.jsx(cB,{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(cB,{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(Io,{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(Qe,{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(Hs,{panelKey:CB,side:"left",minWidth:hy,maxWidth:fy,defaultWidth:IB})})]})]})}),my=x.memo(function({sidebar:e,children:t,onNewSession:s,theme:n,onToggleTheme:r,sessionId:i,onNavigateToSession:a,onFixWithAI:g}){const Q=Ue(v=>v.isExpanded),B=Xe(v=>v.isExpanded),C=ut(v=>v.isExpanded),u=xt(v=>v.isExpanded),E=Fe(v=>v.isExpanded),I=_e(v=>v.isExpanded),p=ze(v=>v.isExpanded),h=Oe(v=>v.isExpanded),k=Q||B||C||u||E||I||p||h;return o.jsxs("div",{className:"h-screen flex bg-background touch-manipulation border-t border-border/50",children:[o.jsx(py,{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(x2,{}),o.jsx(L2,{}),o.jsx(ry,{}),o.jsx(Z1,{}),t]}),o.jsxs("div",{className:"hidden md:flex",children:[o.jsx(f2,{onFixWithAI:g}),o.jsx(G2,{sessionId:i}),o.jsx(W2,{parentSessionId:i??null,onNavigateToSession:a}),o.jsx(g1,{}),o.jsx(p1,{}),o.jsx(Ay,{}),o.jsx(J1,{}),o.jsx(P1,{}),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(p2,{}),o.jsx(v2,{sessionId:i}),o.jsx(V2,{parentSessionId:i}),o.jsx(ey,{}),o.jsx(l1,{}),o.jsx(m1,{}),o.jsx(L1,{}),o.jsx(W1,{}),o.jsx("div",{className:"flex-1"}),o.jsx(Nh,{}),o.jsx("div",{className:"h-12 border-t border-border flex items-center justify-center",children:o.jsx(Qe,{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(cC,{className:"w-4 h-4"}):o.jsx(CC,{className:"w-4 h-4"})})})]})]})]}),o.jsx(yh,{})]}),o.jsx(D2,{}),o.jsx(Mh,{}),o.jsx(iy,{})]})});function mc({sessionId:A}){const e=x.useRef(null),t=df(),{data:s}=ss(),{theme:n,toggleTheme:r}=Ey(),{openCommitModal:i,openDiff:a}=Ue(),g=bc(),{data:Q=[]}=Ln(),{data:B}=jn(),C=Tn(),u=za(),E=Ml(),I=bl(),p=ja(L=>L.openConfirmation);cy(),Iy(A),Zn(s?.defaults?.provider);const h=x.useCallback(()=>{setTimeout(()=>{e.current?.focus()},100)},[]),k=x.useCallback(()=>{g({to:"/sessions"})},[g]),v=x.useCallback(L=>{g({to:"/sessions/$sessionId",params:{sessionId:L},replace:!1}),h()},[g,h]),D=x.useCallback(()=>{g({to:"/sessions"})},[g]),T=x.useCallback(L=>{g({to:"/sessions/$sessionId",params:{sessionId:L}}),h()},[g,h]),J=x.useCallback(async L=>{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:L})}catch(W){console.error("Failed to create fix session:",W)}},[t,s,g]),V=x.useMemo(()=>B?[...(B.conflicted??[]).map(L=>({path:L.path,staged:!1,status:L.status})),...B.staged.map(L=>({path:L.path,staged:!0,status:L.status})),...B.unstaged.map(L=>({path:L.path,staged:!1,status:L.status})),...B.untracked.map(L=>({path:L.path,staged:!1,status:L.status}))]:[],[B]),AA=x.useMemo(()=>Q.map(L=>L.id),[Q]);Cy({sessionIds:AA,activeSessionId:A,gitFiles:V,onSelectSession:T,onNewSession:k,onStageFile:L=>C.mutate([L]),onUnstageFile:L=>u.mutate([L]),onRestoreFile:L=>E.mutate([L]),onDeleteFile:L=>{p({title:"Delete File",message:`Delete ${L}? This will permanently remove the untracked file.`,confirmLabel:"Delete",variant:"destructive",onConfirm:async()=>{await I.mutateAsync([L])}})},onStageAll:()=>{const L=V.filter(W=>!W.staged).map(W=>W.path);L.length>0&&C.mutate(L)},onUnstageAll:()=>{const L=V.filter(W=>W.staged).map(W=>W.path);L.length>0&&u.mutate(L)},onOpenCommitModal:i,onViewDiff:a,onReturnToInput:h}),x.useEffect(()=>{A&&h()},[A,h]);const X=x.useMemo(()=>A?o.jsxs(o.Fragment,{children:[o.jsx(r2,{sessionId:A,onSelectSession:T}),o.jsx(Tf,{ref:e,sessionId:A,onNewSession:k,onDeleteSession:D})]}):o.jsx(qf,{onSessionCreated:v}),[A,k,T,D,v]);return o.jsxs(o.Fragment,{children:[o.jsx(my,{onNewSession:k,theme:n,onToggleTheme:r,sessionId:A,onNavigateToSession:T,onFixWithAI:J,sidebar:o.jsx(g2,{activeSessionId:A,onSelectSession:T}),children:X}),o.jsx(vh,{})]})}const wy=ma("/sessions/")({component:xy});function xy(){return o.jsx(mc,{})}const wc=ma("/sessions/$sessionId")({component:Dy});function Dy(){const{sessionId:A}=wc.useParams();return o.jsx(mc,{sessionId:A})}const yy=dy.update({id:"/",path:"/",getParentRoute:()=>$n}),Ny=wy.update({id:"/sessions/",path:"/sessions/",getParentRoute:()=>$n}),ky=wc.update({id:"/sessions/$sessionId",path:"/sessions/$sessionId",getParentRoute:()=>$n}),My={IndexRoute:yy,SessionsSessionIdRoute:ky,SessionsIndexRoute:Ny},by=$n._addFileChildren(My)._addFileTypes(),Fy=()=>{const t=(typeof globalThis<"u"?globalThis.OTTO_ROUTER_BASEPATH:void 0)??"/"??"/";if(!t||t==="/")return"/";const s=t.replace(/\/+$/,"")||"/";return s.startsWith("/")?s:`/${s}`},Gy=Fc({routeTree:by,basepath:Fy()}),dg=new Gc({defaultOptions:{queries:{refetchOnWindowFocus:!1,retry:1,structuralSharing:!0}}});dg.prefetchQuery({queryKey:["sessions"],queryFn:()=>mA.getSessions()});dg.prefetchQuery({queryKey:["config"],queryFn:()=>mA.getConfig()});function vy(){return o.jsx(vc,{client:dg,children:o.jsx(Sc,{router:Gy})})}const xc=document.getElementById("root");if(!xc)throw new Error("Root element not found");Uc.createRoot(xc).render(o.jsx(x.StrictMode,{children:o.jsx(vy,{})}));