@rtrvr-ai/rover 4.2.0 → 4.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -9
- package/dist/agentDiscovery.js +2 -1
- package/dist/embed.js +33 -33
- package/dist/index.d.ts +30 -1
- package/dist/ownerInstall.js +2 -0
- package/dist/rover.js +33 -33
- package/dist/worker/rover-worker.js +11 -13
- package/package.json +1 -1
package/dist/embed.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
var __ROVER_SCRIPT_EL__=document.currentScript||null;var __ROVER_SCRIPT_URL__=(__ROVER_SCRIPT_EL__&&__ROVER_SCRIPT_EL__.src)||'';
|
|
2
|
-
"use strict";var __roverSDK=(()=>{var fl=Object.defineProperty;var D0=Object.getOwnPropertyDescriptor;var P0=Object.getOwnPropertyNames;var O0=Object.prototype.hasOwnProperty;var B0=(e,t,n)=>t in e?fl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var U0=(e,t)=>{for(var n in t)fl(e,n,{get:t[n],enumerable:!0})},F0=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of P0(t))!O0.call(e,o)&&o!==n&&fl(e,o,{get:()=>t[o],enumerable:!(r=D0(t,o))||r.enumerable});return e};var z0=e=>F0(fl({},"__esModule",{value:!0}),e);var q=(e,t,n)=>B0(e,typeof t!="symbol"?t+"":t,n);var $M={};U0($M,{__roverInternalsForTests:()=>jM,attachLaunch:()=>Th,boot:()=>Gc,close:()=>Mu,createRoverAgentCard:()=>Go,createRoverAgentCardJson:()=>Da,createRoverAgentDiscoveryTags:()=>Ak,createRoverBookmarklet:()=>ck,createRoverConsoleSnippet:()=>sk,createRoverOwnerInstallBundle:()=>Lk,createRoverScriptTagSnippet:()=>lk,createRoverServiceDescLinkHeader:()=>_d,createRoverSiteProfile:()=>La,createRoverSiteProfileJson:()=>pc,createRoverWellKnownAgentCard:()=>Ek,createRoverWellKnownSiteProfile:()=>Ik,endTask:()=>Nu,getAgentCard:()=>zm,getState:()=>Ih,hide:()=>wh,identify:()=>vh,init:()=>kh,installGlobal:()=>g0,newTask:()=>cl,open:()=>Nn,readRoverScriptDataAttributes:()=>Ep,registerPromptContextProvider:()=>Eh,registerTool:()=>Ah,requestSigned:()=>_h,send:()=>Sh,show:()=>xh,shutdown:()=>yu,update:()=>bu});var pl;(function(e){e.FLASH_LITE="Gemini Flash Lite",e.FLASH="Gemini Flash",e.PRO="Gemini Pro"})(pl||(pl={}));var Uh;(function(e){e[e.NativeHostConnected=0]="NativeHostConnected",e[e.NativeHostDisconnected=1]="NativeHostDisconnected"})(Uh||(Uh={}));var H0=["image/png","image/jpeg","image/webp"],j0=["application/pdf","text/plain"],KM=[...H0,...j0];var gn;(function(e){e.ACT="act_on_tab",e.CRAWL="crawl_and_extract_from_tab",e.EXTRACT="extract_from_tab",e.SHEETS_WORKFLOW="sheets_workflow",e.INFER_SHEET_DATA="infer_sheet_data",e.GRAPHBOT="graph_bot",e.PDF_FILLER="pdf_filler",e.CUSTOM_TOOL_GENERATOR="custom_tool_generator",e.WEBPAGE_GENERATOR="webpage_generator",e.GOOGLE_DOC_GENERATOR="google_doc_generator",e.GOOGLE_SLIDES_GENERATOR="google_slides_generator",e.PROCESS_TEXT="process_text",e.CREATE_SHEET_FROM_DATA="create_sheet_from_data",e.ROVER_EXTERNAL_READ_CONTEXT="rover_external_read_context",e.ROVER_EXTERNAL_ACT_CONTEXT="rover_external_act_context",e.CONFIGURE_API_KEY="configure_api_key",e.TASK_COMPLETE="task_complete",e.ASK_USER="ask_user",e.EXECUTE_MULTIPLE_TOOLS="execute_multiple_tools",e.QUERY_RTRVR_AI_DOCUMENTATION="query_rtrvr_ai_documentation"})(gn||(gn={}));var ln;(function(e){e.PLANNER="Planner",e.AGENTIC_SEEK="Agentic Action",e.CRAWL_PAGES="Crawl Pages",e.EXTRACT_PAGE="Extract Page",e.SHEETS_WORKFLOW="Sheets Workflow",e.INFER_SHEET_DATA="Infer Sheet Data",e.MULTI_STEPS="Multi Steps",e.PDF_FILLER="PDF Filler",e.CUSTOM_TOOL_GENERATOR="Custom Tool Generator",e.WEBPAGE_GENERATOR="WebPage Generator",e.GOOGLE_DOC_GENERATOR="Google Doc Generator",e.GOOGLE_SLIDES_GENERATOR="Google Slides Generator",e.PROCESS_TEXT="Process Text",e.CREATE_SHEET_FROM_DATA="Create Sheet From Data",e.ROVER_EXTERNAL_READ_CONTEXT="Rover External Read Context",e.ROVER_EXTERNAL_ACT_CONTEXT="Rover External Act Context",e.EXECUTE_MULTIPLE_TOOLS="Execute Multiple User Tools",e.CONFIGURE_API_KEY="Configure Gemini API Key",e.QUERY_RTRVR_AI_DOCUMENTATION="query_rtrvr_ai_documentation"})(ln||(ln={}));var GM={[gn.ACT]:ln.AGENTIC_SEEK,[gn.CRAWL]:ln.CRAWL_PAGES,[gn.EXTRACT]:ln.EXTRACT_PAGE,[gn.SHEETS_WORKFLOW]:ln.SHEETS_WORKFLOW,[gn.INFER_SHEET_DATA]:ln.INFER_SHEET_DATA,[gn.PDF_FILLER]:ln.PDF_FILLER,[gn.CUSTOM_TOOL_GENERATOR]:ln.CUSTOM_TOOL_GENERATOR,[gn.WEBPAGE_GENERATOR]:ln.WEBPAGE_GENERATOR,[gn.GOOGLE_DOC_GENERATOR]:ln.GOOGLE_DOC_GENERATOR,[gn.GOOGLE_SLIDES_GENERATOR]:ln.GOOGLE_SLIDES_GENERATOR,[gn.PROCESS_TEXT]:ln.PROCESS_TEXT,[gn.CREATE_SHEET_FROM_DATA]:ln.CREATE_SHEET_FROM_DATA,[gn.ROVER_EXTERNAL_READ_CONTEXT]:ln.ROVER_EXTERNAL_READ_CONTEXT,[gn.ROVER_EXTERNAL_ACT_CONTEXT]:ln.ROVER_EXTERNAL_ACT_CONTEXT,[gn.EXECUTE_MULTIPLE_TOOLS]:ln.EXECUTE_MULTIPLE_TOOLS,[gn.CONFIGURE_API_KEY]:ln.CONFIGURE_API_KEY,[gn.QUERY_RTRVR_AI_DOCUMENTATION]:ln.QUERY_RTRVR_AI_DOCUMENTATION};var Ou=200;var $0=30,q0=320,V0=0,W0=50,K0=1,XM=pl.FLASH;var YM=ln.PLANNER;var Bu="application/pdf",Uu="application/gsheet";var JM=20*1024*1024;var Fo={maxParallelTabs:4,pageLoadDelay:2e3,disableAutoScroll:!0,makeNewTabsActive:!1,writeRowProcessingTime:!1,totalBudgetMs:25e3,pageDataTimeoutMs:22e3,adaptiveSettleDebounceMs:$0,adaptiveSettleMaxWaitMs:q0,adaptiveSettleRetries:V0,sparseTreeRetryDelayMs:W0,sparseTreeRetryMaxAttempts:K0,pdfTextSelectionTimeoutMs:12e3,onlyTextContent:!1};function sr(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function qt(e,t=0){let n=String(e||"").replace(/\s+/g," ").trim();return!t||n.length<=t?n:n.slice(0,t).trim()}function Fu(e,t=!1){return typeof e=="boolean"?e:t}function bo(e,t){if(!Array.isArray(e))return[];let n=new Set,r=[],o=Math.max(1,Number(t?.max)||24),i=Math.max(8,Number(t?.maxLen)||240);for(let a of e){let s=qt(a,i);if(!s)continue;let c=s.toLowerCase();if(!n.has(c)&&(n.add(c),r.push(s),r.length>=o))break}return r}function G0(e){return e==="browser"||e==="cloud"||e==="auto"?e:"auto"}function zh(e){return e==="run"||e==="shortcut"||e==="client_tool"||e==="webmcp"?e:void 0}function Hh(e){return e==="shortcut"||e==="client_tool"||e==="webmcp"||e==="additional"?e:void 0}function jh(e){return e==="silent"||e==="beacon"||e==="integrated"||e==="debug"?e:void 0}function X0(e){return e==="site"||e==="co"||e==="rover"?e:void 0}function $h(e){return e==="auto"||e==="existing-assistant"||e==="floating-corner"||e==="inline-primary"?e:void 0}function qh(e){return e==="click"||e==="focus"||e==="keyboard"||e==="agent-handshake"?e:void 0}function Vh(e){let t=sr(e);return t?{...t}:void 0}function Y0(e){return e==="text"||e==="markdown"||e==="json"||e==="observation"||e==="artifacts"?e:void 0}function J0(e){let t=sr(e);if(!t)return null;let n=sr(t.rover),r=qt(t.id,120),o=qt(t.name,180);return!r||!o?null:{id:r,name:o,preferredInterface:zh(t.preferredInterface),source:Hh(n?.source),deepLink:qt(n?.deepLink,2048)||void 0,toolName:qt(n?.toolName,120)||void 0,runPayload:Vh(sr(n?.run)?.payload)}}function Q0(e){let t=sr(e);if(!t)return null;let n=sr(t.rover),r=qt(t.capabilityId||t.id,120),o=qt(t.label||t.name,180);if(!r||!o)return null;let i=Array.isArray(t.resultModes)?t.resultModes.map(a=>Y0(a)).filter(a=>!!a):[];return{capabilityId:r,version:qt(t.version,80)||void 0,label:o,description:qt(t.description,320)||void 0,preferredInterface:zh(t.preferredInterface),source:Hh(n?.source),...i.length?{resultModes:i}:{},pageScope:bo(t.pageScope,{max:24,maxLen:80}),analyticsTags:bo(t.analyticsTags,{max:24,maxLen:64}),deepLink:qt(n?.deepLink,2048)||void 0,toolName:qt(n?.toolName,120)||void 0,runPayload:Vh(sr(n?.run)?.payload)}}function Z0(e){let t=sr(e);if(!t)return;let n=jh(t.mode),r=X0(t.branding),o=$h(t.hostSurface),i=qh(t.actionReveal);if(!(!n||!r||!o||!i))return{mode:n,branding:r,hostSurface:o,actionReveal:i,beaconLabel:qt(t.beaconLabel,180)||void 0,agentModeEntryHints:bo(t.agentModeEntryHints,{max:8,maxLen:240})}}function Fh(e){let t=sr(e);if(!t)return null;let n=qt(t.pageId||t.id,120);if(!n)return null;let r=qt(t.beaconLabel||t.visibleCueLabel,180)||void 0;return{pageId:n,route:qt(t.route,512)||void 0,label:qt(t.label,180)||void 0,capabilityIds:bo(t.capabilityIds,{max:48,maxLen:120}),entityHints:bo(t.entityHints,{max:24,maxLen:120}),formHints:bo(t.formHints,{max:24,maxLen:120}),visibleCueLabel:r,beaconLabel:r,discoveryMode:jh(t.discoveryMode),hostSurface:$h(t.hostSurface),actionReveal:qh(t.actionReveal),agentModeEntryHints:bo(t.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:bo(t.capabilitySummary,{max:12,maxLen:180})}}function Wh(e){let t=sr(e);if(!t)return;let n=sr(t.extensions),r=sr(n?.rover);if(!r)return;let o=qt(r.siteUrl,2048),i=qt(r.runEndpoint||t.url,2048),a=qt(r.workflowEndpoint,2048);if(!o||!i||!a)return;let s=Fu(r.a2wRunsEnabled),c=Fu(r.delegatedHandoffs),l=sr(r.webmcp),d=Fu(l?.available),m=Z0(r.discoverySurface),f=Array.isArray(t.skills)?t.skills.map(S=>J0(S)).filter(S=>!!S):[],u=Array.isArray(r.capabilitiesGraph)?r.capabilitiesGraph.map(S=>Q0(S)).filter(S=>!!S):[],h=Array.isArray(r.pages)?r.pages.map(S=>Fh(S)).filter(S=>!!S):[],b=Fh(r.currentPage),v=bo(r.instructions,{max:12,maxLen:280});return{roverEnabled:s||d,siteUrl:o,runEndpoint:i,workflowEndpoint:a,serviceDescUrl:qt(r.serviceDescUrl,2048)||void 0,llmsUrl:qt(r.llmsUrl,2048)||void 0,roverSiteUrl:qt(r.roverSiteUrl,2048)||void 0,preferredExecution:G0(r.preferredExecution),a2wRunsEnabled:s,delegatedHandoffs:c,webmcpAvailable:d,skills:f,...m?{discoverySurface:m}:{},...u.length?{capabilities:u}:{},...h.length?{pages:h}:{},...b?{page:b}:{},instructions:v}}var Gh={semanticIdStart:1,interactiveIdStart:1,includeFrameContents:!0,clearIframes:!0,frameContextLabel:null,signalProvider:null,disableDomAnnotations:!1},$n={...Gh},hl=globalThis;function Xh(e){$n={...Gh,...e||{}}}function gi(){return $n.signalProvider??null}function Vt(){try{return typeof hl.document<"u"?hl.document:null}catch{return null}}function Lr(){try{return typeof hl.window<"u"?hl.window:null}catch{return null}}function pe(e,t){if(e&&typeof e=="object"){let n=e.ownerDocument;if(n)return n;if(e.nodeType===9)return e}return t??Vt()??{}}function Ge(e,t){return pe(e,t?t.document:null)?.defaultView??t??Lr()??{}}function we(e,t){return e?.defaultView??t??Lr()??{}}function gl(e,t){try{return e?.getElementById?.(t)??null}catch{return null}}function bl(e,t){try{return e?.querySelector?.(t)??null}catch{return null}}function zu(e,t){try{return Array.from(e?.querySelectorAll?.(t)??[])}catch{return[]}}function Ts(e){try{return e.contentDocument||(e.contentWindow?.document??null)}catch{return null}}function yl(e,t){let n=e.CSS?.escape;return typeof n=="function"?n(t):t.replace(/([^\w-])/g,"\\$1")}function cr(e,t){try{return e[t]}catch{return}}function Zr(e,t){return!!e&&String(e.tagName||"").toUpperCase()===t.toUpperCase()}function Yh(e,t){let n=cr(t,"HTMLAnchorElement");return n?e instanceof n:Zr(e,"A")}function wr(e,t){let n=cr(t,"HTMLInputElement");return n?e instanceof n:Zr(e,"INPUT")}function Dr(e,t){let n=cr(t,"HTMLTextAreaElement");return n?e instanceof n:Zr(e,"TEXTAREA")}function Jh(e,t){let n=cr(t,"HTMLLabelElement");return n?e instanceof n:Zr(e,"LABEL")}function Qh(e,t){let n=cr(t,"HTMLSelectElement");return n?e instanceof n:Zr(e,"SELECT")}function Zh(e,t){let n=cr(t,"HTMLSlotElement");return n?e instanceof n:Zr(e,"SLOT")}function eg(e,t){let n=cr(t,"HTMLButtonElement");return n?e instanceof n:Zr(e,"BUTTON")}function tg(e,t){let n=cr(t,"HTMLImageElement");return n?e instanceof n:Zr(e,"IMG")}function ng(e,t){let n=cr(t,"HTMLVideoElement");return n?e instanceof n:Zr(e,"VIDEO")}function rg(e,t){let n=cr(t,"HTMLCanvasElement");return n?e instanceof n:Zr(e,"CANVAS")}function dn(e,t){if(!e||e.nodeType!==1)return!1;let n=cr(t,"HTMLElement");return n?e instanceof n:typeof e.tagName=="string"}function lr(e){return!!e&&e.nodeType===11&&typeof e.host=="object"&&typeof e.mode=="string"}function bi(e){if(!e||e.nodeType!==1)return!1;let t=pe(e),r=we(t).Element;return r?e instanceof r:typeof e.tagName=="string"}function _s(e){if(!e||e.nodeType!==1)return!1;let t=pe(e),r=we(t).HTMLIFrameElement;return r&&e instanceof r?!0:String(e.tagName||"").toUpperCase()==="IFRAME"}function eS(e,t){if(!e)return!1;if(e.nodeType===9)return!0;let n=cr(t,"Document");return n?e instanceof n:!1}function tS(e,t){if(!e)return!1;let n=cr(t,"Window");if(n)return e instanceof n;try{return e.window===e}catch{return!1}}function vl(e){try{return e.document}catch{return null}}function kl(e,t){if(eS(e,t))try{return e.documentElement}catch{return null}if(tS(e,t)){let n=vl(e);if(!n)return null;try{return n.documentElement}catch{return null}}return null}function ml(e){if(!e)return null;if(typeof e=="string")return e;if(typeof e=="object"&&typeof e.baseVal=="string")return e.baseVal;try{return String(e)}catch{return null}}function Kh(e,t,n){try{let r=pe(t,n);return new URL(e,r.baseURI).href}catch{return e}}function og(e,t){let n=e.tagName.includes("-"),r=e.getAttribute("href")||e.getAttribute("src")||e.getAttribute("data")||e.getAttribute("action");if(r){let o=Kh(r,e,t);return o.trim().toLowerCase().startsWith("javascript:")?null:o}if(n)return null;try{let o=e,i=ml(o.href)||ml(o.src)||ml(o.data)||ml(o.action);return i?Kh(i,e,t):null}catch{return null}}var ig=["click","dblclick","doubleclick","mousedown","mouseup","mouseenter","mouseleave","mousemove","mouseover","mouseout","contextmenu","auxclick","keydown","keyup","keypress","input","change","submit","reset","select","search","invalid","beforeinput","focus","blur","focusin","focusout","touchstart","touchend","touchmove","touchcancel","pointerdown","pointerup","pointermove","pointerenter","pointerleave","pointercancel","pointerover","dragstart","dragend","drag","dragenter","dragleave","dragover","drop","copy","cut","paste","scroll","wheel","play","pause","ended","volumechange","seeking","seeked","animationstart","animationend","transitionend","transitionstart","resize","toggle","fullscreenchange","load","error","abort","beforeunload","unload","hashchange","popstate","storage","message"],wt={};ig.forEach((e,t)=>{wt[e]=t});var yo={};ig.forEach((e,t)=>{yo[t]=e});function yi(e){if(!e)return null;let t=e.trim();if(!t||!t.includes("~"))return null;let n=[];for(let r of t.split(",")){if(!r)continue;let[o,i]=r.split("~"),a=Number(o);if(!Number.isFinite(a))continue;let s=i&&parseInt(i,36)||0;n.push({id:a,mask:s})}return n.length?{entries:n}:null}function nS(e){let t=yi(e);if(t){let n=new Set;for(let{id:r}of t.entries)n.add(r);return[...n]}return[]}function Es(e){return aa(e).map(n=>yo[n]).filter(n=>!!n)}function aa(e){let t=gi();if(t?.getEventHandlerIds)try{let o=t.getEventHandlerIds(e);if(o&&o.length)return o}catch{}let n=e.getAttribute(zo),r=nS(n);return!r||r.length===0?[]:r}var Hu=["media"],ag=new Set(Hu),ju=["alert","alertdialog","application","directory","feed","grid","log","marquee","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","note","radiogroup","scrollbar","search","switch","tab","tablist","tabpanel","timer","toolbar","tooltip","tree","treegrid","treeitem"];var sg=new Set(ju),vo=new Set(["button","checkbox","combobox","figure","img","link","listbox","option","radio","scrollbar","searchbox","separator","slider","spinbutton","switch","tab","tabpanel","textbox","tooltip","treeitem","grid","gridcell","table","cell","columnheader","rowheader","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","tree","treegrid","radiogroup","application","dialog","alertdialog","alert","status","progressbar","meter","search","code","media"]),Is=new Set(["group","region","section","banner","contentinfo","main","navigation","complementary","form","article","document","presentation","none"]);var cg=["none","presentation"],ct;(function(e){e[e.ANCESTOR_ROLE_REQUIRED=6]="ANCESTOR_ROLE_REQUIRED",e[e.PROPERTY_VALUE_MATCH=5]="PROPERTY_VALUE_MATCH",e[e.HAS_TABLE_ROW_DATA=7]="HAS_TABLE_ROW_DATA",e[e.BOOLEAN_PROPERTY=0]="BOOLEAN_PROPERTY",e[e.ATTRIBUTE_GREATER_THAN=2]="ATTRIBUTE_GREATER_THAN",e[e.HAS_TABLE_COLUMN_DATA=8]="HAS_TABLE_COLUMN_DATA",e[e.FORBIDDEN_ANCESTORS=1]="FORBIDDEN_ANCESTORS",e[e.HAS_ACCESSIBLE_NAME=4]="HAS_ACCESSIBLE_NAME",e[e.ATTRIBUTE_LESS_THAN=3]="ATTRIBUTE_LESS_THAN"})(ct||(ct={}));var lg={a:["link"],area:["link"],article:["article"],aside:["complementary"],body:["document"],button:["button"],datalist:["listbox"],dd:["definition"],details:["group"],dfn:["term"],dialog:["dialog"],dt:["term"],fieldset:["group"],figure:["figure"],footer:["contentinfo"],form:["form"],h1:["heading"],h2:["heading"],h3:["heading"],h4:["heading"],h5:["heading"],h6:["heading"],header:["banner"],hr:["separator"],img:["img"],input:["button","checkbox","combobox","radio","searchbox","slider","spinbutton","textbox"],li:["listitem"],link:["link"],main:["main"],math:["math"],menu:["list"],nav:["navigation"],ol:["list"],optgroup:["group"],option:["option"],output:["status"],progress:["progressbar"],section:["region"],select:["combobox","listbox"],summary:["button"],table:["table"],tbody:["rowgroup"],td:["cell","gridcell"],textarea:["textbox"],tfoot:["rowgroup"],th:["cell","columnheader","gridcell","rowheader"],thead:["rowgroup"],tr:["row"],ul:["list"],code:["code"],pre:["code"]},As={heading:{selector:"h6,h1,h3,h2,h5,h4"},checkbox:{conditionalSelectors:[{selector:"input",conditions:[{type:ct.PROPERTY_VALUE_MATCH,property:"type",values:["checkbox"]}]}]},navigation:{selector:"nav"},row:{selector:"tr"},complementary:{selector:"aside"},table:{selector:"table"},gridcell:{conditionalSelectors:[{selector:"td",conditions:[{type:ct.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"grid"}]},{selector:"td",conditions:[{type:ct.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"treegrid"}]},{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:ct.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"treegrid"},{type:ct.HAS_TABLE_COLUMN_DATA,hasData:!0},{type:ct.HAS_TABLE_ROW_DATA,hasData:!0}]}]},slider:{conditionalSelectors:[{selector:"input",conditions:[{type:ct.PROPERTY_VALUE_MATCH,property:"type",values:["range"]}]}]},listitem:{selector:"li"},contentinfo:{conditionalSelectors:[{selector:"footer",conditions:[{type:ct.FORBIDDEN_ANCESTORS,selector:'section,nav,main,aside,article,[role="region"],[role="navigation"],[role="main"],[role="complementary"],[role="article"]'}]}]},definition:{selector:"dd"},button:{selector:"summary,button",conditionalSelectors:[{selector:"input",conditions:[{type:ct.PROPERTY_VALUE_MATCH,property:"type",values:["submit","reset","image","button"]}]}]},status:{selector:"output"},form:{conditionalSelectors:[{selector:"form",conditions:[{type:ct.HAS_ACCESSIBLE_NAME}]}]},article:{selector:"article"},textbox:{selector:"textarea",conditionalSelectors:[{selector:"input:not([list])",conditions:[{type:ct.PROPERTY_VALUE_MATCH,property:"type",values:["url","text","tel","email"]}]}]},radio:{conditionalSelectors:[{selector:"input",conditions:[{type:ct.PROPERTY_VALUE_MATCH,property:"type",values:["radio"]}]}]},columnheader:{selector:'th[scope="colgroup"],th[scope="col"]',conditionalSelectors:[{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:ct.HAS_TABLE_ROW_DATA,hasData:!1}]}]},list:{selector:"ul,ol,menu"},region:{conditionalSelectors:[{selector:"section",conditions:[{type:ct.HAS_ACCESSIBLE_NAME}]}]},document:{selector:"body"},option:{selector:"select > option,select > optgroup > option,datalist > option"},separator:{selector:"hr"},link:{selector:"area[href],a[href],link[href]"},img:{selector:"img[alt],img:not([alt])"},main:{selector:"main"},searchbox:{conditionalSelectors:[{selector:"input:not([list])",conditions:[{type:ct.PROPERTY_VALUE_MATCH,property:"type",values:["search"]}]}]},cell:{conditionalSelectors:[{selector:"td",conditions:[{type:ct.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"table"}]},{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:ct.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"table"},{type:ct.HAS_TABLE_COLUMN_DATA,hasData:!0},{type:ct.HAS_TABLE_ROW_DATA,hasData:!0}]}]},rowheader:{selector:'th[scope="rowgroup"],th[scope="row"]',conditionalSelectors:[{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:ct.HAS_TABLE_COLUMN_DATA,hasData:!1},{type:ct.HAS_TABLE_ROW_DATA,hasData:!0}]}]},dialog:{selector:"dialog"},listbox:{selector:"select[multiple],datalist",conditionalSelectors:[{selector:"select",conditions:[{type:ct.ATTRIBUTE_GREATER_THAN,attribute:"size",value:1}]}]},group:{selector:"optgroup,fieldset,details"},term:{selector:"dt,dfn"},progressbar:{selector:"progress"},figure:{selector:"figure"},spinbutton:{conditionalSelectors:[{selector:"input",conditions:[{type:ct.PROPERTY_VALUE_MATCH,property:"type",values:["number"]}]}]},math:{selector:"math"},combobox:{selector:"select:not([size]):not([multiple])",conditionalSelectors:[{selector:"select:not([multiple])",conditions:[{type:ct.ATTRIBUTE_LESS_THAN,attribute:"size",value:2}]},{selector:"input[list]",conditions:[{type:ct.PROPERTY_VALUE_MATCH,property:"type",values:["url","text","tel","search","email"]}]}]},banner:{conditionalSelectors:[{selector:"header",conditions:[{type:ct.FORBIDDEN_ANCESTORS,selector:'[role="region"],[role="navigation"],[role="main"],[role="complementary"],[role="article"],section,nav,main,aside,article'}]}]},rowgroup:{selector:"thead,tfoot,tbody"},code:{selector:"code,pre"}},zo="rtrvr-ls",ko="rtrvr-ro",$u="rtrvr-mw-ready",vi="rtrvr-mw-busy",qu="rtrvr-mwa-ready",dg=new Set(["button","cell","checkbox","columnheader","gridcell","heading","link","menuitem","menuitemcheckbox","menuitemradio","option","radio","row","rowgroup","rowheader","switch","tab","tooltip","tree","treeitem","sectionhead","definition","term","deletion","insertion"]),ug=["BUTTON","INPUT","METER","OUTPUT","PROGRESS","SELECT","TEXTAREA"],fg=["h1","h2","h3","h4","h5","h6"],pg="http://www.w3.org/1999/xhtml",mg="http://www.w3.org/2000/svg",Ln="rtrvr-label";var Sl=new Set(["NOSCRIPT","SCRIPT","STYLE","META"]),ki="CODE",xi="PRE",hg="aria-hidden",gg="target";var xl;(function(e){e[e.value=0]="value",e[e.alt=1]="alt",e[e.list=2]="list",e[e.title=3]="title"})(xl||(xl={}));var sa;(function(e){e[e["data-icon"]=13]="data-icon",e[e["data-name"]=14]="data-name",e[e["data-tooltip"]=15]="data-tooltip",e[e["data-label"]=16]="data-label"})(sa||(sa={}));var wl;(function(e){e[e.VALUENOW=0]="VALUENOW",e[e.VALUETEXT=1]="VALUETEXT"})(wl||(wl={}));var Vu=new Set([wt.click,wt.dblclick,wt.doubleclick,wt.contextmenu,wt.auxclick,wt.pointerdown,wt.pointerup,wt.mousedown,wt.mouseup,wt.touchstart,wt.touchend,wt.keydown,wt.keyup,wt.input,wt.beforeinput,wt.change,wt.submit,wt.reset,wt.paste,wt.dragstart,wt.dragend,wt.drop]),bg=new Set([...Vu,wt.scroll,wt.wheel,wt.mouseenter,wt.mouseover,wt.focus,wt.blur,wt.focusin,wt.focusout]),Tl=new Set(["click","dblclick","auxclick","contextmenu","mousedown","mouseup","pointerdown","pointerup","touchstart","touchend"]),Wu=new Set(["input","change","beforeinput","keydown","keyup","keypress","paste","compositionstart","compositionend"]),Ku=new Set(["drag","dragstart","dragend","dragenter","dragleave","dragover","drop"]);var Rs;(function(e){e[e.ELEMENT=1]="ELEMENT",e[e.ATTRIBUTE=2]="ATTRIBUTE",e[e.TEXT=3]="TEXT",e[e.CDATA_SECTION=4]="CDATA_SECTION",e[e.ENTITY_REFERENCE=5]="ENTITY_REFERENCE",e[e.ENTITY=6]="ENTITY",e[e.PROCESSING_INSTRUCTION=7]="PROCESSING_INSTRUCTION",e[e.COMMENT=8]="COMMENT",e[e.DOCUMENT=9]="DOCUMENT",e[e.DOCUMENT_TYPE=10]="DOCUMENT_TYPE",e[e.DOCUMENT_FRAGMENT=11]="DOCUMENT_FRAGMENT",e[e.NOTATION=12]="NOTATION"})(Rs||(Rs={}));var Cs;(function(e){e[e.HTML=0]="HTML",e[e.SVG=1]="SVG"})(Cs||(Cs={}));var Pr;(function(e){e[e.SameOrigin=0]="SameOrigin",e[e.Cooperative=1]="Cooperative",e[e.Adapter=2]="Adapter",e[e.Opaque=3]="Opaque",e[e.Verification=4]="Verification"})(Pr||(Pr={}));var Or;(function(e){e[e.None=0]="None",e[e.CrossOriginNoAgent=1]="CrossOriginNoAgent",e[e.EmptyDom=2]="EmptyDom",e[e.NotReady=3]="NotReady",e[e.Timeout=4]="Timeout",e[e.SandboxBlocked=5]="SandboxBlocked",e[e.AdapterUnavailable=6]="AdapterUnavailable",e[e.TreeFailed=7]="TreeFailed"})(Or||(Or={}));var _l;(function(e){e[e.VALUENOW=0]="VALUENOW",e[e.VALUETEXT=1]="VALUETEXT",e[e.ATOMIC=2]="ATOMIC",e[e.AUTOCOMPLETE=3]="AUTOCOMPLETE",e[e.COLCOUNT=4]="COLCOUNT",e[e.COLINDEX=5]="COLINDEX",e[e.COLSPAN=6]="COLSPAN",e[e.ERRORMESSAGE=7]="ERRORMESSAGE",e[e.HASPOPUP=8]="HASPOPUP",e[e.LEVEL=9]="LEVEL",e[e.LIVE=10]="LIVE",e[e.MULTILINE=11]="MULTILINE",e[e.MULTISELECTABLE=12]="MULTISELECTABLE",e[e.ORIENTATION=13]="ORIENTATION",e[e.PLACEHOLDER=14]="PLACEHOLDER",e[e.POSINSET=15]="POSINSET",e[e.READONLY=16]="READONLY",e[e.RELEVANT=17]="RELEVANT",e[e.REQUIRED=18]="REQUIRED",e[e.ROWCOUNT=19]="ROWCOUNT",e[e.ROWINDEX=20]="ROWINDEX",e[e.ROWSPAN=21]="ROWSPAN",e[e.SETSIZE=22]="SETSIZE",e[e.SORT=23]="SORT",e[e.VALUEMAX=24]="VALUEMAX",e[e.VALUEMIN=25]="VALUEMIN",e[e.KEYSHORTCUTS=26]="KEYSHORTCUTS",e[e.ROLEDESCRIPTION=27]="ROLEDESCRIPTION"})(_l||(_l={}));var El;(function(e){e[e.BUSY=0]="BUSY",e[e.CHECKED=1]="CHECKED",e[e.CURRENT=2]="CURRENT",e[e.EXPANDED=3]="EXPANDED",e[e.INVALID=4]="INVALID",e[e.PRESSED=5]="PRESSED",e[e.SELECTED=6]="SELECTED"})(El||(El={}));var Jn;(function(e){e[e["rtrvr-label"]=0]="rtrvr-label",e[e.role=1]="role",e[e.value=2]="value",e[e.alt=3]="alt",e[e.list=4]="list",e[e.title=5]="title",e[e["aria-label"]=6]="aria-label",e[e["aria-labelledby"]=7]="aria-labelledby",e[e["aria-description"]=8]="aria-description",e[e["aria-describedby"]=9]="aria-describedby",e[e.disabled=10]="disabled",e[e.href=11]="href",e[e.placeholder=12]="placeholder",e[e.type=13]="type",e[e.tabindex=14]="tabindex",e[e.id=15]="id",e[e._ngcontent=16]="_ngcontent",e[e["ng-reflect-*"]=17]="ng-reflect-*",e[e["data-reactroot"]=18]="data-reactroot",e[e["data-v-*"]=19]="data-v-*",e[e.required=20]="required",e[e.contenteditable=21]="contenteditable",e[e.accept=22]="accept"})(Jn||(Jn={}));var In;(function(e){e[e.display=0]="display",e[e.content=1]="content",e[e.beforeDisplay=2]="beforeDisplay",e[e.afterDisplay=3]="afterDisplay",e[e.beforeContent=4]="beforeContent",e[e.afterContent=5]="afterContent",e[e.width=6]="width",e[e.height=7]="height",e[e.minWidth=8]="minWidth",e[e.minHeight=9]="minHeight",e[e.position=10]="position",e[e.top=11]="top",e[e.left=12]="left",e[e.right=13]="right",e[e.bottom=14]="bottom",e[e.paddingTop=15]="paddingTop",e[e.paddingRight=16]="paddingRight",e[e.paddingBottom=17]="paddingBottom",e[e.paddingLeft=18]="paddingLeft",e[e.marginTop=19]="marginTop",e[e.marginRight=20]="marginRight",e[e.marginBottom=21]="marginBottom",e[e.marginLeft=22]="marginLeft",e[e.cursor=23]="cursor",e[e.opacity=24]="opacity",e[e.visibility=25]="visibility",e[e.overflowX=26]="overflowX",e[e.overflowY=27]="overflowY",e[e.backgroundColor=28]="backgroundColor",e[e.color=29]="color",e[e.borderWidth=30]="borderWidth",e[e.borderStyle=31]="borderStyle",e[e.boxShadow=32]="boxShadow",e[e.outline=33]="outline"})(In||(In={}));var xo;(function(e){e[e.text=0]="text",e[e.elText=1]="elText",e[e.viewBox=2]="viewBox",e[e.paths=3]="paths",e[e.pathData=4]="pathData",e[e.circles=5]="circles",e[e.rects=6]="rects",e[e.lines=7]="lines",e[e.polygons=8]="polygons",e[e.polylines=9]="polylines",e[e.ellipses=10]="ellipses"})(xo||(xo={}));var rS=[...ju,...Object.keys(As),...Hu],yg=[...new Set(rS)],ca={};yg.forEach((e,t)=>{ca[e]=t});var Ms={};yg.forEach((e,t)=>{Ms[t]=e});var Il=class{constructor(t=1){q(this,"currentId");this.currentId=t}generateId(){let t=this.currentId;return this.currentId++,t}initialize(t=1){this.currentId=t}getCurrentValue(){return this.currentId}};function Ns(e){let t=gi();if(t?.getRoleHint)try{let o=t.getRoleHint(e);if(o)return o}catch{}let n=e.getAttribute(ko);if(!n)return null;let r=n.trim();if(!r)return null;if(r.startsWith("s:"))return r.slice(2);if(/^\d+$/.test(r)){let o=Number(r);if(Number.isFinite(o)){let i=Ms[o];if(i)return i}}return r}function la(e){return Array.from(new Set(e))}function vg(e,t){if(!e||e.length===0)return la(t);let n=new Set([...e,...t]);return la(Array.from(n))}function dr(e,t){let r=gi()?.getEventHandlerIds?.(e)??aa(e),o=r.length>0&&r.some(s=>Vu.has(s)),i=Al(e),a=t?Is.has(t):!1;return{element:e,semanticRole:t,eventHandlerIndices:r,isEditableRegion:i,hasNodeWorthyHandlers:o,isLikelyStructuralContainer:a}}var oS=new Set(["text","search","url","tel","password","email","number","date","datetime-local","time","month","week","color"]);function iS(e){let n=Ge(e).getComputedStyle(e);if(n.display==="none"||n.visibility==="hidden"||n.pointerEvents==="none")return!1;let r=e.getBoundingClientRect();return!(r.width===0||r.height===0)}function aS(e){let t=Ge(e);if(!wr(e,t))return!1;let n=(e.type||"text").toLowerCase();return oS.has(n)?!e.disabled&&!e.readOnly:!1}function sS(e){let t=Ge(e);return Dr(e,t)&&!e.disabled&&!e.readOnly}function cS(e){let t=e;return!(!t.isContentEditable||t.getAttribute("aria-readonly")==="true"||t.getAttribute("aria-disabled")==="true")}function Al(e){return!e||!iS(e)?!1:!!(aS(e)||sS(e)||cS(e))}function Ls(e){if(!e)return null;let t=e.match(/^\s*\[id=(\d+)\]/);if(t?.[1]){let o=parseInt(t[1],10);return Number.isFinite(o)?o:null}let n=/\[id=(\d+)\]/g,r;for(;r=n.exec(e);){let o=r.index??0,i=e.slice(Math.max(0,o-30),o);if(/iframeRoot\s*=\s*$/.test(i)||i.includes("iframeRoot="))continue;let a=parseInt(r[1],10);if(Number.isFinite(a))return a}try{let o=e.match(LABEL_ID_PATTERN);if(o?.[1]){let i=parseInt(o[1],10);return Number.isFinite(i)?i:null}}catch{}return null}function Ds(e){let t=String(e??"").replace(/[\n\r\t]/g," ").replace(/\s+/g," ").trim();return t=t.replace(/\[/g,"[").replace(/\]/g,"]"),t}function kg({element:e,elementID:t,frameContextLabel:n}){let r=!$n.disableDomAnnotations,o=[`[id=${t}]`],i=Ge(e);if(_s(e)){let c=Ds(e.id||e.getAttribute("name")||"unnamed");o.push(`[iframe=${c}]`)}if(n){let c=Ds(n);o.push(`[iframeRoot=${c}]`)}if(tg(e,i)&&o.push(`[size=${e.clientWidth}x${e.clientHeight}]`),(ng(e,i)||rg(e,i))&&o.push(`[size=${e.clientWidth}x${e.clientHeight}]`),wr(e,i)||Dr(e,i)){let c=lS(e);o.push(...c)}e.getAttribute(hg)==="true"&&o.push("[aria-hidden=true]"),e.disabled&&o.push("[disabled]"),r&&Yh(e,i)&&e.setAttribute(gg,"_self");let s=o.join(" ");return r&&e.setAttribute(Ln,s),s}function lS(e){let t=[],n=Ge(e),r=wr(e,n);if(r&&e.type&&e.type!=="text"&&t.push(`[type=${e.type}]`),e.name){let o=Ds(e.name);o&&t.push(`[name=${o}]`)}if(r&&e.multiple&&t.push("[multiple]"),r&&(e.type==="checkbox"||e.type==="radio")&&t.push(`[checked=${e.checked}]`),r&&e.type==="file"&&e.files?.length&&t.push(`[files=${e.files.length}]`),r&&e.type==="number"&&(e.min!==""&&t.push(`[min=${e.min}]`),e.max!==""&&t.push(`[max=${e.max}]`),e.step!==""&&e.step!=="1"&&t.push(`[step=${e.step}]`)),r&&e.type==="range"&&(t.push(`[min=${e.min||"0"}]`),t.push(`[max=${e.max||"100"}]`),t.push(`[value=${e.value}]`)),e.readOnly&&t.push("[readonly]"),e.required&&t.push("[required]"),e.maxLength&&e.maxLength!==-1&&e.maxLength<524288&&t.push(`[maxlength=${e.maxLength}]`),r&&e.pattern&&t.push("[pattern]"),e.autocomplete&&e.autocomplete!=="off"&&t.push(`[autocomplete=${e.autocomplete}]`),e.placeholder){let o=Ds(e.placeholder).replace(/\\/g,"\\\\").replace(/"/g,'\\"');o&&t.push(`[placeholder="${o}"]`)}if(e.value){let o=e.value;r&&e.type==="password"&&(o="*".repeat(Math.min(o.length,10)));let i=Ds(o).replace(/\\/g,"\\\\").replace(/"/g,'\\"');t.push(`[value="${i}"]`)}return t}var Ps=new Il,Gu=new WeakMap;function xg(){Gu=new WeakMap}function Ho(e){let t=Gu.get(e);if(t)return t;let n=Ps.generateId();return Gu.set(e,n),n}var Rl=new Map,Xu=new WeakMap;function wg(){Rl.clear(),Xu=new WeakMap}function Yu(e,t){try{typeof WeakRef<"u"?Rl.set(e,new WeakRef(t)):Rl.set(e,t)}catch{}}function Os(e){let t=Rl.get(e);if(!t)return null;let n=t instanceof WeakRef?t.deref():t;return!n||n.isConnected===!1?null:n}function jo(e){let t=null,n=Ho(e);if($n.frameContextLabel)t=$n.frameContextLabel;else{let o=Vt();if(o&&e.ownerDocument!==o)try{let a=e.ownerDocument?.defaultView?.frameElement?.getAttribute(Ln)||"",s=a?Ls(a):null;t=s?String(s):null}catch{t=""}}let r=kg({element:e,elementID:n,frameContextLabel:t});if(Yu(n,e),r)try{Xu.set(e,r)}catch{}return r}function Sg(e){return Xu.get(e)??null}function Ju(e,t){try{e.querySelectorAll?.(`[${Ln}]`)?.forEach(r=>r.removeAttribute(Ln))}catch{}if(t.includeShadow)try{let n=e.querySelectorAll?.("*");if(n)for(let r of Array.from(n))try{let o=r.shadowRoot;o&&Ju(o,t)}catch{}}catch{}if(t.includeIframes)try{let n=e.querySelectorAll?.("iframe");if(n)for(let r of Array.from(n))try{let o=Ts(r);o?.body&&Ju(o.body,t)}catch{}}catch{}}function Tg(e,t={}){if($n.disableDomAnnotations)return;let n=bi(e)?Ge(e):we(e)??window,r=kl(e,n)??e;if(r){try{r.removeAttribute?.(Ln)}catch{}Ju(r,{includeShadow:t.includeShadow??!0,includeIframes:t.includeIframes??!0})}}var $o={},Qu=new WeakMap,Cl=new WeakSet;function _g(){$o={},Qu=new WeakMap,Cl=new WeakSet,xg()}function Dn({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:i,frameRealm:a,originatedFromParent:s,elementContext:c}){let l=Ho(e);Yu(l,e);let d=$o[l];if(s){if(!d){let m={nodeCategory:e.nodeType,provisionalFromParent:!0},f=e.nodeName;f&&f.trim()&&(m.elementName=f);let u=e.getAttribute("role");u&&(m.preservedAttributes={1:u});let h=e.tagName;h&&(m.elementTag=h),$o[l]=m}}else{if(d&&!d.provisionalFromParent){if((o||da(e))&&(d.isFrameElement=!0,i&&i.length>0&&(d.frameContent=i),a&&(d.frameRealm=a)),c){let{eventHandlerIndices:m,isEditableRegion:f}=c;if(m&&m.length>0){let u=la(m);u.length>0&&(d.eventHandlers=vg(d.eventHandlers,u))}f&&(d.isEditable=!0)}return l}if(Cl.has(e))return l;Cl.add(e);try{$o[l]=Eg({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:i,frameRealm:a,elementContext:c})}finally{Cl.delete(e)}}return l}function Bs(e){let t=Qu.get(e);if(t!==void 0)return t;let r=(e.textContent||"").replace(/\s+/g," ").trim(),o=e.data?.replace(/\s+/g," ").trim();if(!r&&!o)return 0;let i=Ps.generateId(),a={textContent:r,nodeCategory:e.nodeType};return o&&o!==r&&(a.rawData=o),$o[i]=a,Qu.set(e,i),i}function Ag(e,t){let n=Cg(e),{minY:r,maxY:o}=n.getCellBounds(t);return n.getRows().slice(r,o+1).some(i=>i.some(Us))}function Rg(e,t){let n=Cg(e),{minX:r,maxX:o}=n.getCellBounds(t);return n.getRows().some(i=>i.slice(r,o+1).some(Us))}var Nl=class{constructor(t=[]){q(this,"cells");q(this,"getCellAt",(t,n)=>this.getRowAt(n)[t]);q(this,"setCellAt",(t,n,r)=>{this.getRowAt(n)[t]=r});q(this,"getRowAt",t=>(this.cells[t]===void 0&&(this.cells[t]=[]),this.cells[t]));q(this,"getRows",()=>this.cells);q(this,"getCellBounds",t=>{let n=this.columnCount,r=this.rowCount,o=-1,i=-1;for(let a=0;a<this.rowCount;a++){let s=this.getRowAt(a),c=s.indexOf(t);c!==-1&&(o=Math.max(o,s.lastIndexOf(t)),i=Math.max(i,a),n=Math.min(n,c),r=Math.min(r,a))}return{minX:n,minY:r,maxX:o,maxY:i}});q(this,"merge",t=>{this.cells=this.getRows().concat(t.getRows())});this.cells=t}get rowCount(){return this.cells.length}get columnCount(){return Math.max(...this.cells.map(t=>t.length))}};function Cg(e){let n=Ge(e).TableGrid||Nl,r=new n;e.tHead!==null&&r.merge(Ml(e.tHead.rows)),Array.from(e.tBodies).forEach(i=>{r.merge(Ml(i.rows))});let o=[];for(let i of Array.from(e.children))Zu(i)&&wi(i,"tr")&&o.push(i);return r.merge(Ml(o)),e.tFoot!==null&&r.merge(Ml(e.tFoot.rows)),r}function Ml(e){let t=new Nl,n=[];for(let r=0;r<e.length;r++){let o=0;for(let i of Array.from(e[r].cells)){for(;t.getCellAt(o,r)||n[o];)!Us(t.getCellAt(o,r))&&n[o]&&t.setCellAt(o,r,n[o]),o++;for(let a=o;a<o+i.colSpan;a++){Ig(i)===0&&(n[a]=i,t.setCellAt(a,r,i));for(let s=r;s<r+Ig(i);s++)Us(t.getCellAt(a,s))||t.setCellAt(a,s,i)}o+=i.colSpan}for(let i=o;i<t.columnCount;i++){let a=n[i];a!==void 0&&!Us(t.getCellAt(i,r))&&t.setCellAt(i,r,a)}}return t}function Ig(e){let t=e.getAttribute("rowSpan");if(t===null||t.trim()==="")return 1;let n=Number(t);return isNaN(n)?1:n}function Us(e){return e!==void 0&&wi(e,"td")}function Br(e){let t=e.tagName?.toLowerCase();if(t==="code"||t==="pre"){let r=yS(e);if(r)return r}let n=Mg(e);if(n===null){if(t==="dl")return"list";if(t==="form")return"form";if(t==="header")return"banner";if(t==="footer")return"contentinfo";if(t==="option")return"option";if(t==="textarea")return"textbox";if(t==="input"){let o=e;switch(o.type.toLowerCase()){case"checkbox":return"checkbox";case"radio":return"radio";case"button":case"submit":case"reset":case"image":return"button";case"number":return"spinbutton";case"range":return"slider";case"hidden":return null;default:return o.hasAttribute("list")?"combobox":"textbox"}}if(t==="select")return e.multiple?"listbox":"combobox";if(t==="svg"){if(e.getAttribute("aria-hidden")==="true")return null;let o=e.querySelector("title"),i=e.querySelector("desc"),a=e.hasAttribute("aria-label"),s=e.hasAttribute("role");return o||i||a||s||aa(e).length>0||e.getAttribute("tabindex")!==null?"img":null}if(aa(e).length>0){let o=e.tagName.toLowerCase();if(["div","span","li","p","i","em","strong","b"].includes(o))return dS(e)}}if(t==="td"&&e.getAttribute("role")===null)return"cell";if(n!==null&&t==="th"){let r=e.getAttribute("role");if(r&&Ng(r))return r;let o=e;return o.scope==="col"||o.hasAttribute("aria-sort")?"columnheader":o.scope==="row"?"rowheader":"cell"}return n}function dS(e){return Ns(e)??null}function Mg(e){let t=e.getAttribute("role");if(t!==null)return cg.includes(t)||!Ng(t)?null:t;let n=e.tagName.toLowerCase();return(lg[n]??[]).find(o=>uS(e,o))||null}function uS(e,t){let n=As[t],r=n?.selector;if(r&&Ll(e,r))return!0;let o=n?.conditionalSelectors;return o?o.some(a=>Ll(e,a.selector)&&a.conditions.every(c=>pS(e,c))):!1}function fS(e,t){let n=(t||"").trim().replace(/^#/,"");if(!n)return null;try{let r=e.getRootNode?.();if(lr(r)){let o=Ge(e),i=`#${yl(o,n)}`,a=bl(r,i);if(a)return a}}catch{}return gl(pe(e),n)}function pS(e,t){switch(t.type){case ct.ATTRIBUTE_GREATER_THAN:{let n=e.getAttribute(t.attribute);return n!==null&&Number(n)>t.value}case ct.ATTRIBUTE_LESS_THAN:{let n=e.getAttribute(t.attribute);return n!==null&&Number(n)<t.value}case ct.HAS_ACCESSIBLE_NAME:return e.hasAttribute("aria-label")?!0:(e.getAttribute("aria-labelledby")||"").split(/\s+/).filter(Boolean).some(r=>fS(e,r)!=null);case ct.FORBIDDEN_ANCESTORS:return wo(e,t.selector)===null;case ct.BOOLEAN_PROPERTY:return e[t.property]===t.value;case ct.PROPERTY_VALUE_MATCH:return t.values.some(n=>n===e[t.property]);case ct.ANCESTOR_ROLE_REQUIRED:{let n=e.parentElement;if(n===null)return!1;let r=wo(n,t.tag);return r!==null&&Mg(r)===t.role}case ct.HAS_TABLE_COLUMN_DATA:{let n=wo(e,"table");return n===null?!1:t.hasData===Rg(n,e)}case ct.HAS_TABLE_ROW_DATA:{let n=wo(e,"table");return n===null?!1:t.hasData===Ag(n,e)}default:return mS(t),!1}}function mS(e){throw new Error(`unexpected value ${e}!`)}function Ng(e){return gS(e)||bS(e)||hS(e)}function hS(e){return ag.has(e)}function gS(e){return sg.has(e)}function bS(e){return As.hasOwnProperty(e)}function yS(e){if(e.tagName!==ki&&e.tagName!==xi)return null;if(Es(e).some(r=>r==="click"||r==="copy"))return"button";let n=e.getAttribute("tabindex");return n!==null&&parseInt(n,10)>=0?"button":e.tagName===xi||e.tagName===ki&&e.closest("pre")?"code":null}var vS={[In.display]:[In.beforeDisplay,In.afterDisplay],[In.content]:[In.beforeContent,In.afterContent]},ef=new Map,kS={minWidth:"min-width",minHeight:"min-height",backgroundColor:"background-color",borderWidth:"border-width",borderStyle:"border-style",boxShadow:"box-shadow",paddingTop:"padding-top",paddingRight:"padding-right",paddingBottom:"padding-bottom",paddingLeft:"padding-left",marginTop:"margin-top",marginRight:"margin-right",marginBottom:"margin-bottom",marginLeft:"margin-left",overflowX:"overflow-x",overflowY:"overflow-y"};function xS(e,t){if(!ef.has(e)){let n=kS[t]||t.replace(/([A-Z])/g,"-$1").toLowerCase();ef.set(e,n)}return ef.get(e)}var wS={display:e=>e!=="block"&&e!=="inline"&&e!=="",visibility:e=>e!=="visible",opacity:e=>parseFloat(e)<1,position:e=>e!=="static",cursor:e=>e!=="auto"&&e!=="default"&&e!=="text",width:e=>e!=="auto"&&e!=="",height:e=>e!=="auto"&&e!=="",minWidth:e=>e!=="0px"&&e!=="",minHeight:e=>e!=="0px"&&e!=="",paddingTop:e=>parseFloat(e)>0,paddingRight:e=>parseFloat(e)>0,paddingBottom:e=>parseFloat(e)>0,paddingLeft:e=>parseFloat(e)>0,marginTop:e=>Math.abs(parseFloat(e))>5,marginRight:e=>Math.abs(parseFloat(e))>5,marginBottom:e=>Math.abs(parseFloat(e))>5,marginLeft:e=>Math.abs(parseFloat(e))>5,overflowX:e=>e!=="visible",overflowY:e=>e!=="visible",backgroundColor:e=>e!=="transparent"&&e!=="rgba(0, 0, 0, 0)"&&e!=="initial",color:e=>e!=="initial"&&e!=="inherit"&&e!=="",borderWidth:e=>e!=="0px"&&parseFloat(e)>0,borderStyle:e=>e!=="none"&&e!=="initial",boxShadow:e=>e!=="none"&&e!=="",outline:e=>e!=="none"&&e!==""&&!e.includes("0px")};function Pg(e,t,n){let r=wS[e];return r?r(t,n):t.trim()!==""&&!["initial","inherit","unset"].includes(t)}function Og(e){let t={},n=Ge(e);if(!dn(e,n))return t;let r=n.getComputedStyle(e),o=new Map([[In.beforeDisplay,n.getComputedStyle(e,"::before")],[In.afterDisplay,n.getComputedStyle(e,"::after")],[In.beforeContent,n.getComputedStyle(e,"::before")],[In.afterContent,n.getComputedStyle(e,"::after")]]);for(let i in In)if(isNaN(Number(i))){let a=In[i],s=xS(a,i),c=vS[a];c?((a===In.display||a===In.content)&&Lg(r,s,a,i,t,e),Dg(o.get(c[0]),s,c[0],"beforeContent",t),Dg(o.get(c[1]),s,c[1],"afterContent",t)):Lg(r,s,a,i,t,e)}return t}function Lg(e,t,n,r,o,i){if(e){let a=e.getPropertyValue(t);a&&Pg(r,a,i)&&(o[n]=a)}}function Dg(e,t,n,r,o){if(e){let i=e.getPropertyValue(t);(t==="content"&&i&&i!=="none"&&i!=='""'&&i!=="''"||i&&Pg(r,i))&&(o[n]=i)}}function Fs(e){try{return e.id==="rover-widget-root"}catch{return!1}}function Si(e,t){let n=Ge(e);if(!dn(e,n))return!0;if(t&&vo.has(t))return!1;if(e.hasAttribute("hidden")||wo(e,"[hidden]")!==null||wo(e,"[inert]")!==null)return!0;let r=n.getComputedStyle(e);if(r.display==="none"||r.visibility==="hidden"||r.visibility==="collapse"||e.getClientRects().length===0)return!0;let o=e.getBoundingClientRect(),i=1e6;return Math.abs(o.left)>i||Math.abs(o.top)>i}function zs(e){return Ur(e)&&e.classList.contains("jasmine_html-reporter")}function SS(e){let t=e.getAttribute("role");return t==="presentation"||t==="none"}function Bg(e){return e?e.split(/\s+/).map(t=>t.trim()).filter(Boolean).map(t=>t.replace(/^#/,"")):[]}function Ug(e,t){let n=(t||"").trim().replace(/^#/,"");if(!n)return null;try{let o=e.getRootNode?.();if(lr(o)){let i=Ge(e),a=`#${yl(i,n)}`,s=bl(o,a);if(s)return s}}catch{}let r=pe(e);return gl(r,n)}function tf(e){let n=[];for(let r=0;r<arguments.length;r++){let o=arguments[r];if(Array.isArray(o))for(let i=0;i<o.length;i+=8192){let a=TS(o,i,i+8192),s=tf.apply(null,a);for(let c=0;c<s.length;c++)n.push(s[c])}else n.push(o)}return n}function TS(e,t,n){return arguments.length<=2?Array.prototype.slice.call(e,t):Array.prototype.slice.call(e,t,n)}function Fg(e,t){return _S(e,t).concat(ES(e))}function _S(e,t){return tf(rf(e).map(r=>Wg(r)&&Ur(r)?zg(r,t):r))}function zg(e,t){if(!e||Si(e,t))return[];if(!SS(e))return[e];let n=Array.from(e.children);return tf(n.map(r=>zg(r,t)))}function Hg(e){let t=Bg(e.getAttribute("aria-owns"));if(!t.length)return[];let n=[],r=new Set;for(let o of t){if(r.has(o))continue;r.add(o);let i=Ug(e,o);i&&i!==e&&n.push(i)}return n}function ES(e){let t=Hg(e);for(let n of t)n["aria-owned-by"]=e;return t}function jg(e){let t=Ge(e),n=pe(e);if(e.getAttribute("role")!=="dialog"&&e.getAttribute("role")!=="alertdialog"||e.getAttribute("aria-modal")!=="true")return!1;let r=t.getComputedStyle(e);if(r?.position!=="fixed"&&r?.position!=="absolute"||parseInt(r?.zIndex,10)<=CS(e))return!1;let o=IS(e);return!o||!RS(o)||!NS(e)||o.getAttribute("role")==="dialog"||e.getAttribute("role")==="dialog"?!1:MS(e)}function IS(e){return[e.previousElementSibling,e.nextElementSibling,...Array.from(e.children),...e.parentElement?[e.parentElement.previousElementSibling,e.parentElement.nextElementSibling]:[]].filter(n=>n!==null).find(AS)||null}function AS(e){if(Si(e))return!1;let n=Ge(e).getComputedStyle(e);return(n?.position==="fixed"||n?.position==="absolute")&&n?.backgroundColor!=="rgba(0, 0, 0, 0)"&&n?.backgroundColor!=="transparent"&&n?.pointerEvents!=="none"}function RS(e){let t=Ge(e),n=e.getBoundingClientRect();return n.top<=0&&n.left<=0&&n.bottom>=t.innerHeight&&n.right>=t.innerWidth}function CS(e){let t=pe(e),n=Ge(e),r=n?.getComputedStyle;if(!r)return 0;let o=zu(t,"*").filter(i=>i!==e&&!Si(i)).map(i=>parseInt(r.call(n,i)?.zIndex,10)).filter(i=>Number.isFinite(i)&&!isNaN(i));return o.length?Math.max(...o):0}function MS(e){return e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])').length>0}function NS(e){let t=e.parentElement;if(!t)return!1;for(let n of Array.from(t.children))if(n!==e&&!Si(n)&&n.getAttribute("aria-hidden")!=="true")return!1;return!0}function LS(){try{let t=Vt()?.querySelector?.("dialog:modal");return'[aria-modal="true"], dialog:modal'}catch{return'[aria-modal="true"]'}}var $g=LS();function DS(e){return e.getAttribute("aria-disabled")==="true"||e.hasAttribute("disabled")}function nf(e){let t=e.getAttribute("href")||e.getAttribute("src")||e.getAttribute("data")||e.getAttribute("action");if(!t&&!e.tagName.includes("-"))try{let n=e;t=n.href||n.src||n.data||n.action||null}catch{return!1}if(!t)return!1;try{let n=pe(e),r=new URL(t,n.baseURI);return r.protocol==="javascript:"&&(r.pathname.trim()!==""||r.search.trim()!==""||r.hash.trim()!=="")}catch{return!1}}function qg(e){return dg.has(e)}function PS(e){let t=e.parentElement,n=pe(e);if(!(!t||t===n.body||t===n.documentElement))return Dn({targetElement:t,originatedFromParent:!0})}function Eg({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:i,frameRealm:a,elementContext:s}){let c={nodeCategory:e.nodeType},l=t||DS(e),d=PS(e);if(d&&(c.parent=d),n){let ie=ca[n];typeof ie=="number"?c.semanticRole=ie:c.semanticRole=n}if(l&&(c.isDisabled=!0),s){let{eventHandlerIndices:ie,isEditableRegion:me}=s,he=la(ie);he.length>0&&(c.eventHandlers=he),me&&(c.isEditable=!0)}let m=BS(e);m&&Object.keys(m).length>0&&(c.ariaProperties=m);let f=US(e);f&&Object.keys(f).length>0&&(c.ariaStates=f);let u=e.nodeName;u&&u.trim()&&(c.elementName=u);let h=Og(e);h&&Object.keys(h).length>0&&(c.computedStyles=h),Si(e)&&(c.isInvisible=!0);let b=OS(e,n);b&&Object.keys(b).length>0&&(c.preservedAttributes=b),e.draggable&&(c.isDraggable=!0),e.scrollWidth&&e.clientWidth&&e.scrollWidth>e.clientWidth&&(c.supportsHorizontalSwipe=!0),e.scrollHeight&&e.clientHeight&&e.scrollHeight>e.clientHeight&&(c.supportsVerticalSwipe=!0);let v=e.getAttribute("class");if(v?.trim()){v.includes("handle")&&(c.isDragHandle=!0),c.supportsHorizontalSwipe||(v.includes("horizontal")||v.includes("carousel"))&&(c.supportsHorizontalSwipe=!0),c.supportsVerticalSwipe||(v.includes("vertical")||v.includes("feed"))&&(c.supportsVerticalSwipe=!0),v.includes("dismissible")&&(c.supportsDismissSwipe=!0),(v.includes("long-press")||v.includes("hold")||v.includes("press-hold"))&&(c.supportsLongPress=!0);let ie=c.inputType||c.preservedAttributes?.[Jn.type];ie==="submit"||ie==="reset"||ie==="clear"||(v.includes("submit")&&(c.preservedAttributes={...c.preservedAttributes||{},[Jn.type]:"submit"}),v.includes("clear")&&(c.preservedAttributes={...c.preservedAttributes||{},[Jn.type]:"clear"}),v.includes("reset")&&(c.preservedAttributes={...c.preservedAttributes||{},[Jn.type]:"reset"}))}let S=VS({element:e});S&&S.length>0&&(c.labelReferences=S);let k=e.tagName;if(k&&(c.elementTag=k),zS(e)&&(c.hasFocus=!0),!o){let ie=of({element:e,semanticRole:n,parentDisabled:l,excludeLabels:r});ie&&ie.length>0&&(c.childElements=ie)}let x=QS({element:e});x&&x.length>0&&(c.ownedElements=x);let C=og(e);C&&(c.resourceLocator=C),(o||da(e))&&(c.isFrameElement=!0),i&&i.length>0&&(c.frameContent=i),a&&(c.frameRealm=a);let _=e.type;_&&typeof _=="string"&&_.trim()&&(c.inputType=_);let I=e.placeholder;I&&typeof I=="string"&&I.trim()&&(c.placeholderText=I);let M=e.value;M&&typeof M=="string"&&M.trim()&&(c.elementValue=M);let X=WS({element:e,parentDisabled:t,semanticRole:n});if(X&&X.length>0&&(c.selectedOptions=X),wo(e,"select,datalist")&&(c.nearestSelectList=!0),Zu(e))c.elementNamespace=Cs.HTML;else if(FS(e)){c.elementNamespace=Cs.SVG,c.svgStructure=HS(e);let ie=jS(e);ie&&Object.keys(ie).length>0&&(c.preservedAttributes?c.preservedAttributes={...c.preservedAttributes,...ie}:c.preservedAttributes=ie)}let J=r?void 0:KS({element:e});J&&J.length>0&&(c.associatedLabels=J);let ee=e.scope;ee&&typeof ee=="string"&&ee.trim()&&(c.tableScope=ee);let se=XS({element:e});se&&(c.tableCaption=se);let H=YS({element:e});H&&(c.figureCaption=H);let Y=JS({element:e});return Y&&(c.fieldsetLegend=Y),wo(e,"table")&&(c.nearestTable=!0),c}function OS(e,t){let n={},r=new Set(Object.values(Jn).filter(s=>typeof s=="string")),o=new Set(Object.keys(xl).filter(s=>isNaN(Number(s)))),i=new Set(["_ngcontent","ng-reflect-*","data-v-*"]),a=e?.attributes?Array.from(e.attributes):[];for(let s of a){let c=s.name,l=s.value;if(c==="id"&&(!t||!vo.has(t)))continue;let d;if(r.has(c)?d=c:c.startsWith("data-v-")?d="data-v-*":c.startsWith("ng-reflect-")?d="ng-reflect-*":c.startsWith("_ngcontent")&&(d="_ngcontent"),d){let m=l.trim()!=="",f=o.has(d);if(m||f){let u=Jn[d],h=i.has(d)?"true":l;n[u]=h}}}if(!n[Jn[Ln]]){let s=Sg(e);s&&(n[Jn[Ln]]=s)}return n}function BS(e){return Vg(e,_l,wl)}function US(e){return Vg(e,El,null)}function Vg(e,t,n){let r={};for(let o in t)if(isNaN(Number(o))){let i=t[o],s=`aria-${o.toLowerCase().replace(/_/g,"-")}`,c=e.getAttribute(s),l=!1;n!==null&&(l=Object.values(n).filter(m=>typeof m=="number").includes(i)),e.hasAttribute(s)&&l||c?.trim()?r[i]=c:s==="aria-level"&&fg.includes(e.tagName.toLowerCase()?.trim())&&(r[i]=e.tagName.substring(1))}return r}function Ur(e){return Wg(e)&&e.nodeType===Rs.ELEMENT}function Dl(e){return e.nodeType===Rs.TEXT}function Wg(e){let t=typeof e;return t=="object"&&e!=null||t=="function"}function Zu(e){return Ur(e)&&(!e.namespaceURI||e.namespaceURI===pg)}function FS(e){return Ur(e)&&e.namespaceURI===mg}function da(e){return e.tagName==="IFRAME"}function wi(e,t){return"tagName"in e?e.tagName?.toLowerCase()===t:e.elementTag?.toLowerCase()===t}function wo(e,t){if(e.closest)return e.closest(t);for(;!Ll(e,t);){if(e.parentElement===null)return null;e=e.parentElement}return e}function Ll(e,t){return e.matches?.(t)??e.msMatchesSelector?.(t)??e.webkitMatchesSelector(t)}function zS(e){let t=e.ownerDocument,n=t?.hasFocus()?t.activeElement:null;if(n){let r=n.getAttribute("aria-activedescendant");r&&(n=t.getElementById(r)||n)}return e===n}function HS(e){let t={},n=xo.text,r=xo.elText;e.textContent?.trim()&&(t[n]=e.textContent);let o=e.querySelector("title"),i=e.querySelector("img");o?.textContent?.trim()?t[r]=o.textContent:i?.alt?.trim()&&(t[r]=i.alt);let a=e.getAttribute("viewBox");a&&(t[xo.viewBox]=a);let s=e.querySelectorAll("path");s.length>0&&(t[xo.paths]=s.length,t[xo.pathData]=Array.from(s).slice(0,3).map(l=>l.getAttribute("d")).filter(Boolean).map(l=>l.substring(0,100)));let c={circles:e.querySelectorAll("circle").length,rects:e.querySelectorAll("rect").length,lines:e.querySelectorAll("line").length,polygons:e.querySelectorAll("polygon").length,polylines:e.querySelectorAll("polyline").length,ellipses:e.querySelectorAll("ellipse").length};return Object.entries(c).forEach(([l,d])=>{if(d>0){let m=xo[l];t[m]=d}}),Object.keys(t).length>0?t:void 0}function jS(e){let t={};if(!e?.hasAttributes())return t;for(let n of Object.values(sa).filter(r=>typeof r=="number")){let r=sa[n];if(r){let o=r;if(sa.hasOwnProperty(o)&&e.hasAttribute(o)){let i=e.getAttribute(o);i?.trim()&&(t[n]=i)}}}return t}function $S({frameElement:e,parentDisabled:t,excludeLabels:n}){if(!$n.includeFrameContents)return{nodes:[]};let r=null;try{let i=e.contentDocument||e.contentWindow?.document||null;r=i?.body||i?.documentElement||null}catch{return{nodes:[],capability:Pr.Opaque,unavailable:Or.CrossOriginNoAgent}}if(!r)return{nodes:[],capability:Pr.SameOrigin,unavailable:Or.NotReady};let o=[];for(let i of rf(r))if(!(zs(i)||Kg(i))){if(Ur(i)){let a=i,s=Br(a),c=dr(a,s),{shouldCreate:l,shouldAnnotate:d}=Pl(c);if(l){d&&jo(a);let m=Dn({targetElement:a,parentDisabled:t,semanticRole:s??void 0,excludeLabels:n,elementContext:c});m&&o.push(m)}else{let m=of({element:a,semanticRole:s??void 0,parentDisabled:t,excludeLabels:n});o.push(...m)}}else if(Dl(i)){let a=Bs(i);a&&o.push(a)}}return{nodes:o,capability:Pr.SameOrigin,unavailable:o.length>0?void 0:Or.EmptyDom}}function qS(e,t){if(t.capability!==void 0)return t.unavailable===void 0?[e,t.capability]:[e,t.capability,t.unavailable]}function rf(e){if(Fs(e))return[];let t=Ge(e);if(Zh(e,t)){try{let n=e.assignedNodes({flatten:!0});if(n&&n.length)return n}catch{}return Array.from(e.childNodes)}try{let n=e.shadowRoot||gi()?.getShadowRoot?.(e)||null;if(n){let r=Array.from(n.childNodes),o=Array.from(e.childNodes).filter(i=>!i.assignedSlot);return r.concat(o)}}catch{}return Array.from(e.childNodes)}function of({element:e,semanticRole:t,parentDisabled:n,excludeLabels:r}){let o=[];for(let i of rf(e))if(!(zs(i)||Kg(i))){if(Ur(i)){let a=i,s=Br(a),c=dr(a,s);if(da(a)){jo(a);let m=$S({frameElement:a,parentDisabled:n,excludeLabels:r}),f=Dn({targetElement:a,parentDisabled:n,semanticRole:s??void 0,excludeLabels:r,isFrameNode:!0,frameContentNodes:m.nodes,frameRealm:qS(Ho(a),m),elementContext:c});f&&o.push(f);continue}let{shouldCreate:l,shouldAnnotate:d}=Pl(c);if(l){d&&jo(a);let m=Dn({targetElement:a,parentDisabled:n,semanticRole:s??void 0,excludeLabels:r,elementContext:c});m&&o.push(m)}else{let m=of({element:a,semanticRole:s??void 0,parentDisabled:n,excludeLabels:r});o.push(...m)}}else if(Dl(i)){let a=Bs(i);a&&o.push(a)}}return o}function VS({element:e}){let t=Bg(e.getAttribute("aria-labelledby")),n=new Set;for(let r of t){let o=Ug(e,r);if(!(!o||o===e)&&o){let i=Br(o),a=Dn({targetElement:o,semanticRole:i,elementContext:dr(o,i)});n.add(a)}}return Array.from(n)}function WS({element:e,parentDisabled:t,semanticRole:n}){let r=[];return e&&(n&&n==="listbox"?r=Array.from(e.querySelectorAll('[role="option"][aria-selected="true"]')).map(o=>Dn({targetElement:o,parentDisabled:t,semanticRole:"option",elementContext:dr(o,"option")})):wi(e,"select")&&(r=Array.from(e.selectedOptions).map(o=>Dn({targetElement:o,parentDisabled:t,semanticRole:"option",elementContext:dr(o,"option")})))),r}function KS({element:e}){if(ug.includes(e.tagName)){let t=pe(e),n=zu(t,"label"),r=new Set;return Array.from(n).filter(o=>o!==e&&GS(o,e)).map(o=>{let i=Br(o),a=Dn({targetElement:o,semanticRole:i,excludeLabels:!0,elementContext:dr(o,i)});r.add(a)}),Array.from(r)}}function GS(e,t){let n=e.control;return n!==void 0?n===t:e.htmlFor!==""&&e.htmlFor===t.id?!0:!!(e.htmlFor===""&&e.contains(t))}function XS({element:e}){if(wi(e,"table")){let t=e.querySelector("caption");if(t&&t!==e){let n=Br(t);return Dn({targetElement:t,semanticRole:n,elementContext:dr(t,n)})}}}function YS({element:e}){if(wi(e,"figure")){let t=e.querySelector("figcaption");if(t&&t!==e){let n=Br(t);return Dn({targetElement:t,semanticRole:n,elementContext:dr(t,n)})}}}function JS({element:e}){if(wi(e,"fieldset")){let t=e.querySelector("legend");if(t&&t!==e){let n=Br(t);return Dn({targetElement:t,semanticRole:n,elementContext:dr(t,n)})}}}function QS({element:e}){let t=new Set,n=Hg(e);for(let r of n){let o=Br(r),i=Dn({targetElement:r,semanticRole:o,elementContext:dr(r,o)});t.add(i)}return Array.from(t)}function Pl(e){let{semanticRole:t,eventHandlerIndices:n,isEditableRegion:r,hasNodeWorthyHandlers:o,isLikelyStructuralContainer:i}=e,a=n.length>0&&n.some(m=>bg.has(m)),c=!!t||!i&&(o||r),l=!!t&&vo.has(t);return{shouldCreate:c,shouldAnnotate:c&&(l||r||a)}}function Kg(e){if(!Ur(e))return!1;let t=e;if(Fs(t))return!0;let n=t.tagName;return Sl.has(n)?!0:n===ki||n===xi?ZS(t):!1}function ZS(e){let t=Ge(e),n=t?.getComputedStyle;if(!n||n.call(t,e).display==="none")return!0;let o=e.getBoundingClientRect();return o.width===0&&o.height===0&&!(typeof e.closest=="function"&&e.closest("pre"))||o.right<-1e3||o.left>t.innerWidth+1e3}function af(e,t={}){return Xh(t),_g(),wg(),Tg(e,{includeShadow:!0,includeIframes:$n.clearIframes}),Ps.initialize($n.semanticIdStart),{rootNodes:Gg(e),semanticNodes:$o}}function Gg(e){let t=[];try{let n=pe(e),o=Array.from(n.querySelectorAll($g)).filter(i=>!Si(i)&&jg(i));if(o.length===0)t=ua({targetElement:e});else if(o.length===1){let i=o[0];i.contains(e)?t=ua({targetElement:e}):e.contains(i)?t=ua({targetElement:i}):t=ua({targetElement:e})}else t=ua({targetElement:e})}catch(n){throw console.error("Error constructing semantic tree",n),n}return t}function ua({targetElement:e,parentNode:t}){if(zs(e)||Xg(e))return[];let n=Br(e),r=dr(e,n);if(da(e))return[tT({frameElement:e,role:n,parentNode:t,elementContext:r})];let o=0,{shouldCreate:i,shouldAnnotate:a}=Pl(r);i&&(a&&jo(e),o=Dn({targetElement:e,parentDisabled:t?.isDisabled,semanticRole:n,elementContext:r}));let s=$o[o],c=eT(e,n,o?s:t);return o&&c.length>0&&(s.semanticChildren=c),o?[o]:c}function eT(e,t,n){let r=[],o=Fg(e,t);for(let i of o)if(!(zs(i)||Xg(i))){if(Ur(i)){let a=ua({targetElement:i,parentNode:n});r.push(...a)}else if(Dl(i)&&iT(i,n)){let a=Bs(i);a&&r.push(a)}}return r}function tT({frameElement:e,role:t,parentNode:n,elementContext:r}){jo(e);let o=nT(e),i=rT(Ho(e),o);return Dn({targetElement:e,parentDisabled:n?.isDisabled,semanticRole:t,isFrameNode:!0,frameContentNodes:o.nodes,frameRealm:i,elementContext:r})}function nT(e){if(!$n.includeFrameContents)return{nodes:[]};let t=oT(e);if(t.kind==="content"){let n=Gg(t.rootElement);return{nodes:n,capability:Pr.SameOrigin,unavailable:n.length>0?void 0:Or.EmptyDom}}return t.reason==="cross_origin_blocked"?{nodes:[],capability:Pr.Opaque,unavailable:Or.CrossOriginNoAgent}:{nodes:[],capability:Pr.SameOrigin,unavailable:Or.NotReady}}function rT(e,t){if(t.capability!==void 0)return t.unavailable===void 0?[e,t.capability]:[e,t.capability,t.unavailable]}function oT(e){let t=null;try{t=e.contentDocument||e.contentWindow?.document||null}catch{return{kind:"unavailable",reason:"cross_origin_blocked"}}let n=t?.body||t?.documentElement||null;return n?{kind:"content",rootElement:n}:{kind:"unavailable",reason:"iframe_not_ready_or_empty"}}function iT(e,t){let n=e.data.trim();if(!n||n==="")return!1;if(t?.semanticRole!==void 0&&t?.semanticRole!==null){let r=typeof t.semanticRole=="number"?Ms[t.semanticRole]:t.semanticRole;if(qg(r))return!1}return!0}function Xg(e){if(!Ur(e))return!1;let t=e;if(Fs(t))return!0;let n=t.tagName;return Sl.has(n)?!0:n===ki||n===xi?aT(t):!1}function aT(e){let t=Ge(e);if(t.getComputedStyle(e).display==="none")return!0;let r=e.getBoundingClientRect();return r.width===0&&r.height===0&&!e.closest("pre")||r.right<-1e3||r.left>t.innerWidth+1e3}function Bl(e){let t=e.activeElement;for(;t&&t.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;return t}function sT(e){let t=e.getBoundingClientRect();return{x:t.left+t.width/2,y:t.top+t.height/2}}function pa(e,t,n){let r=pe(e,t),o=we(r,n);try{e.focus?.({preventScroll:!0})}catch{}if(Bl(r)===e)return!0;try{let{x:i,y:a}=sT(e),s=o.PointerEvent||PointerEvent,c=o.MouseEvent||MouseEvent;e.dispatchEvent(new s("pointerdown",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:1,button:0,pointerType:"mouse"})),e.dispatchEvent(new c("mousedown",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:1,button:0})),e.dispatchEvent(new c("mouseup",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:0,button:0})),e.dispatchEvent(new s("pointerup",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:0,button:0,pointerType:"mouse"})),(e.isContentEditable||wr(e,o)||Dr(e,o)||e.getAttribute("contenteditable")==="true")&&e.dispatchEvent(new c("click",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,button:0}))}catch{}try{e.focus?.({preventScroll:!0})}catch{}return Bl(r)===e}function Hs(e,t){let n=Ge(e),r=Dr(e,n)?n.HTMLTextAreaElement.prototype:n.HTMLInputElement.prototype,o=Object.getOwnPropertyDescriptor(r,"value");o?.set?o.set.call(e,t):e.value=t}function _i(e,t,n="insertText"){let r=Ge(e),o=r.InputEvent||(typeof InputEvent<"u"?InputEvent:null),i=r.Event||Event;try{o?e.dispatchEvent(new o("beforeinput",{bubbles:!0,cancelable:!0,composed:!0,data:String(t??""),inputType:n})):e.dispatchEvent(new i("beforeinput",{bubbles:!0,cancelable:!0,composed:!0}))}catch{try{e.dispatchEvent(new i("beforeinput",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}try{o?e.dispatchEvent(new o("input",{bubbles:!0,cancelable:!1,composed:!0,data:String(t??""),inputType:n})):e.dispatchEvent(new i("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{try{e.dispatchEvent(new i("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{}}try{e.dispatchEvent(new i("change",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}function cT(e){let n=Ge(e).KeyboardEvent||KeyboardEvent,r={key:"Enter",code:"Enter",keyCode:13,which:13,bubbles:!0,cancelable:!0,composed:!0},o=e.dispatchEvent(new n("keydown",r)),i=e.dispatchEvent(new n("keypress",r)),a=e.dispatchEvent(new n("keyup",r));return{canceled:!(o&&i&&a)}}function Ti(e){if(!e)return!1;let t=Ge(e);if(Dr(e,t))return!e.disabled&&!e.readOnly;if(wr(e,t)){let n=(e.type||"text").toLowerCase();return(n==="text"||n==="search"||n==="email"||n==="url"||n==="tel"||n==="password"||n==="number")&&!e.disabled&&!e.readOnly}return!1}function sf(e){let t=Ge(e);if(!e||!dn(e,t))return!1;if(e.isContentEditable)return!0;let n=e.getAttribute("contenteditable");return!!(n&&n!=="false"||e.getAttribute("role")==="textbox"&&!("value"in e))}function lT(e,t){let n=e.getRootNode();return lr(n)?n:pe(e)??t}function dT(e,t){let n=[];for(let r of t.split(/\s+/).filter(Boolean)){let o=e.getElementById?.(r)||e.querySelector?.(`#${CSS.escape(r)}`),i=Ge(o);dn(o,i)&&n.push(o)}return n}function Zg(e,t){if(!e)return{kind:"none",el:null,via:"no-root"};if(Ti(e))return{kind:"input",el:e,via:"self-input"};if(sf(e))return{kind:"contenteditable",el:e,via:"self-contenteditable"};let n=pe(e)??t,r=we(n),o=lT(e,n);if(Jh(e,r)){let c=e.control;if(Ti(c))return{kind:"input",el:c,via:"label.control"};let l=e.htmlFor;if(l){let d=o.getElementById?.(l)||o.querySelector?.(`#${CSS.escape(l)}`);if(Ti(d))return{kind:"input",el:d,via:"label.for"}}}let i=e.getAttribute("aria-controls")||e.getAttribute("aria-owns");if(i)for(let c of dT(o,i)){if(Ti(c))return{kind:"input",el:c,via:"aria-controls/owns"};if(sf(c))return{kind:"contenteditable",el:c,via:"aria-controls/owns"};let l=c.querySelector?.("input,textarea");if(Ti(l))return{kind:"input",el:l,via:"aria-controls->desc"}}let a=e.querySelector?.("input,textarea");if(Ti(a))return{kind:"input",el:a,via:"descendant"};let s=e.shadowRoot||null;if(s){let c=s.querySelector?.("input,textarea");if(Ti(c))return{kind:"input",el:c,via:"open-shadow-input"};let l=s.querySelector?.('[contenteditable="true"],[contenteditable=""],[role="textbox"]');if(sf(l))return{kind:"contenteditable",el:l,via:"open-shadow-contenteditable"}}return e.getAttribute("role")==="textbox"&&!("value"in e)?{kind:"contenteditable",el:e,via:"role=textbox"}:{kind:"none",el:null,via:"not-found"}}function fa(e,t,n,r=!1){let o=pe(e,t),a=we(o,n).getSelection?.();if(!a)return!1;try{let s=o.createRange();return s.selectNodeContents(e),r&&s.collapse(!1),a.removeAllRanges(),a.addRange(s),!0}catch{return!1}}function Ei(e){return(e.textContent??"").replace(/\u00A0/g," ").trim()}var Ol=e=>String(e??"").replace(/\s+/g," ").trim(),eb=new MessageChannel,tb=[];eb.port1.onmessage=()=>{let e=tb.shift();e&&e()};function Yg(){return new Promise(e=>{tb.push(e),eb.port2.postMessage(0)})}async function Jg(e,t,n){await Promise.resolve();let r=Math.max(0,Math.min(4,Number(n)||0));for(let o=0;o<r;o++)e.hidden?await Yg():await new Promise(i=>{try{t.requestAnimationFrame(()=>i())}catch{Yg().then(i)}})}function uT(e){let t=String(e??"");return t===" "?{code:"Space",which:32}:/^[a-z]$/i.test(t)?{code:`Key${t.toUpperCase()}`,which:t.toUpperCase().charCodeAt(0)}:/^[0-9]$/.test(t)?{code:`Digit${t}`,which:t.charCodeAt(0)}:{code:"",which:t.length===1?t.charCodeAt(0):0}}function Qg(e,t,n,r){let o=pe(e,t),a=we(o,n).KeyboardEvent||KeyboardEvent,s=String(r??"");for(let c of s){let{code:l,which:d}=uT(c),m={key:c,code:l,bubbles:!0,cancelable:!0,composed:!0,keyCode:d,which:d};e.dispatchEvent(new a("keydown",m)),e.dispatchEvent(new a("keypress",m)),e.dispatchEvent(new a("keyup",m))}}async function nb(e,t,n,r,o){let i=String(r??"");if(e.disabled||e.readOnly)return{success:!1,method:"type-native-setter",details:"disabled_or_readonly",allowFallback:!0};let a=String(e.value??""),s=pe(e,t),c=we(s,n),l=pa(e,s,c),d=Number.isFinite(Number(o?.settleFrames))?Math.max(0,Math.min(4,Number(o?.settleFrames))):s.hidden?1:2,m=!!o?.useKeyFallback,f=Number.isFinite(Number(o?.keyFallbackMaxLen))?Number(o?.keyFallbackMaxLen):140,u=m&&i.length>0&&i.length<=f;Hs(e,i),_i(e,i,"insertReplacementText"),u&&Qg(e,s,c,i),await Jg(s,c,d);let h=String(e.value??""),b=Ol(a),v=Ol(h),S=Ol(i),k=b===S,x=v===S,C=h!==a,_=i.length>0&&!k&&h===a,I=1;if(!k&&!x&&!C){I=2;try{e.focus?.({preventScroll:!0}),e.select?.()}catch{}let ee=!1;try{s.execCommand?.("selectAll",!1,void 0),ee=!!s.execCommand?.("insertText",!1,i)}catch{ee=!1}if(!ee)try{Hs(e,i)}catch{}try{_i(e,i,"insertReplacementText")}catch{}u&&Qg(e,s,c,i),await Jg(s,c,d),h=String(e.value??"")}let X=Ol(h)===S,O=h!==a;_=i.length>0&&!k&&h===a;let J=k||X||O;return{success:J,method:"type-native-setter",details:`focus=${l};attempts=${I};settleFrames=${d};beforeLen=${a.length};afterLen=${h.length};changed=${O};alreadyCorrect=${k};nowCorrect=${X};reverted=${_};keyFallback=${u}`,allowFallback:J?void 0:!0}}function fT(e,t,n){let o=Ge(e).InputEvent||InputEvent,i=new o("beforeinput",{bubbles:!0,cancelable:!0,composed:!0,data:t,inputType:n});return{ok:e.dispatchEvent(i),defaultPrevented:i.defaultPrevented}}function rb(e,t,n,r){let o=pe(e,n),i=we(o,r),a=i.InputEvent||InputEvent,s=i.Event||Event,c=String(t??""),l=Ei(e),d=pa(e,o,i),m=fa(e,o,i,!0),f=fT(e,c,"insertText"),u=!1,h="execCommand",b=!1,v=()=>{b=!0};try{e.addEventListener("input",v,{capture:!0})}catch{}if(f.ok&&!f.defaultPrevented)try{u=!!o.execCommand?.("insertText",!1,c)}catch{}if(!u)try{let x=i.getSelection?.(),C=x&&x.rangeCount?x.getRangeAt(0):null;if(!C||!e.contains(C.commonAncestorContainer)){fa(e,o,i,!0);let _=i.getSelection?.();C=_&&_.rangeCount?_.getRangeAt(0):null}C&&(C.insertNode(o.createTextNode(c)),C.collapse(!1),x?.removeAllRanges(),x?.addRange(C),u=!0,h="range")}catch{}if(u&&!b){try{e.dispatchEvent(new a("input",{bubbles:!0,cancelable:!1,composed:!0,data:c,inputType:"insertText"}))}catch{try{e.dispatchEvent(new s("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{}}try{e.dispatchEvent(new s("change",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}try{e.removeEventListener("input",v,{capture:!0})}catch{}let S=Ei(e);return{success:S!==l||!!c&&S.includes(c),method:`type-contenteditable-${h}`,details:`focus=${d};selectedWithin=${m};inserted=${u}`}}function ob(e){let{canceled:t}=cT(e);if(t)return{submitted:!1,method:"enter-handled"};let n=e.form||e.closest?.("form");return n?(n.requestSubmit?.()??n.submit?.(),{submitted:!0,method:"enter->form-submit"}):{submitted:!1,method:"enter-dispatched"}}function ib(e,t,n){if(e.disabled||e.readOnly)return{success:!1,method:"clear-native-setter",details:"disabled_or_readonly",allowFallback:!0};let r=pe(e,t),o=we(r,n),i=String(e.value??""),a=pa(e,r,o);Hs(e,""),_i(e,"","deleteByCut");let s=String(e.value??""),c=s!==i;return{success:c||s.length===0,method:"clear-native-setter",details:`focus=${a};beforeLen=${i.length};afterLen=${s.length};changed=${c}`}}function ab(e,t,n){let r=pe(e,t),o=we(r,n),i=Ei(e),a=pa(e,r,o),s=fa(e,r,o,!1),c=!1,l="execCommand";try{c=!!r.execCommand?.("delete",!1,void 0)}catch{c=!1}if(!c)try{let u=o.getSelection?.(),h=u&&u.rangeCount?u.getRangeAt(0):null;(!h||!e.contains(h.commonAncestorContainer))&&fa(e,r,o,!1);let b=o.getSelection?.(),v=b&&b.rangeCount?b.getRangeAt(0):null;v&&(v.deleteContents(),v.collapse(!1),b?.removeAllRanges(),b?.addRange(v),c=!0,l="range")}catch{}if(!c)try{e.textContent="",c=!0,l="textContent"}catch{}_i(e,"","deleteByCut");let d=Ei(e),m=d!==i;return{success:c||m||d.length===0,method:`clear-contenteditable-${l}`,details:`focus=${a};selectedWithin=${s};cleared=${c};changed=${m}`}}function sb(e,t){if(e===t||e.contains(t))return!0;let n=t;for(;n;){let r=n.getRootNode?.();if(lr(r)){let o=r.host;if(o===e||e.contains(o))return!0;n=o;continue}n=n.parentNode||null}return!1}var pT=1,mT=9,hT=11,lf="application/gdoc",ma="text/html",Ul="text/plain";function gT(e){return!!e&&typeof e=="object"&&e.nodeType===mT}function cb(e){return!!e&&typeof e=="object"&&e.nodeType===pT}function bT(e){return!!e&&typeof e=="object"&&e.nodeType===hT&&typeof e.host=="object"&&typeof e.mode=="string"}function lb(e){return cb(e)&&String(e.tagName).toUpperCase()==="IFRAME"}function cf(e){let t;if(typeof e=="number")t=e;else if(typeof e=="bigint")t=Number(e);else if(typeof e=="string")t=Number(e.trim());else return null;if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n<=0?null:n}function yT(e){try{let t=e.shadowRoot;return t||globalThis?.chrome?.dom?.openOrClosedShadowRoot?.(e)||null}catch{return null}}function vT(e,t,n={}){let r=n.traverseShadow!==!1,o=n.traverseIframes!==!1,i=n.requireOwnerDocument,a=[e],s=new WeakSet;for(;a.length;){let c=a.pop();if(c&&typeof c=="object"){if(s.has(c))continue;s.add(c)}if(gT(c)){let m=c.documentElement||c.body;m&&a.push(m);continue}if(bT(c)){let m=c.children;if(m&&m.length)for(let f=m.length-1;f>=0;f--)a.push(m[f]);continue}if(!cb(c))continue;let l=c;if(i&&l.ownerDocument!==i)continue;let d=l.getAttribute?.(Ln);if(d&&Ls(d)===t)return l;if(r)try{let m=yT(l);m&&a.push(m)}catch{}if(o&&lb(l))try{let m=Ts(l);m&&a.push(m)}catch{}for(let m=l.lastElementChild;m;m=m.previousElementSibling)a.push(m)}return null}function ur(e,t,n={}){let r=cf(t);if(!r)return null;let o=Os(r);return o&&(!n.requireOwnerDocument||o.ownerDocument===n.requireOwnerDocument)?o:vT(e,r,{requireOwnerDocument:n.requireOwnerDocument,traverseShadow:n.traverseShadow,traverseIframes:n.traverseIframes})}function df(e=document){return e.querySelector('embed[type="application/pdf"], embed[type="application/x-google-chrome-pdf"]')}function db(e){if(e==null)return[];if(Array.isArray(e)){let t=[];for(let n of e){let r=cf(n);r&&t.push(r)}return t}if(typeof e=="number"||typeof e=="bigint"){let t=cf(e);return t?[t]:[]}if(typeof e=="string"){let t=e.match(/\d+/g);return t?t.map(r=>parseInt(r,10)).filter(r=>Number.isFinite(r)&&r>0):[]}if(typeof e=="object"){let t=e.path??e.ids??e.iframe_path;if(t!==void 0)return db(t)}return[]}function ha(e,t){let n=db(t),r=e.defaultView||window;if(!n.length)return{doc:e,win:r,iframePath:n,resolvedPath:[],unresolvedPath:[]};let o=e,i=[];for(let a=0;a<n.length;a++){let s=n[a],c=n.length===1,l=ur(o,s,{requireOwnerDocument:c?void 0:o,traverseShadow:!0,traverseIframes:c});if(!l||!lb(l))return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:i,unresolvedPath:n.slice(a)};let d=null;try{d=Ts(l)||null}catch{d=null}if(!d)return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:i,unresolvedPath:n.slice(a)};i.push(s),o=d}return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:i,unresolvedPath:[]}}function ub(e){return e==="application/pdf"||e==="application/x-pdf"||e==="application/x-google-chrome-pdf"}function kT(e){let t={...Fo,...e??{}},n=Number(e?.pdfTextSelectionTimeoutMs);return Number.isFinite(n)&&(t.pdfTextSelectionTimeoutMs=Math.floor(n)),t.totalBudgetMs!==void 0&&(t.totalBudgetMs=Math.max(1500,Math.floor(t.totalBudgetMs))),t.pageDataTimeoutMs!==void 0&&(t.pageDataTimeoutMs=Math.max(500,Math.floor(t.pageDataTimeoutMs))),t.pdfTextSelectionTimeoutMs!==void 0&&(t.pdfTextSelectionTimeoutMs=Math.max(150,Math.floor(t.pdfTextSelectionTimeoutMs))),t.adaptiveSettleDebounceMs!==void 0&&(t.adaptiveSettleDebounceMs=Math.max(20,Math.min(500,Math.floor(t.adaptiveSettleDebounceMs)))),t.adaptiveSettleMaxWaitMs!==void 0&&(t.adaptiveSettleMaxWaitMs=Math.max(120,Math.min(5e3,Math.floor(t.adaptiveSettleMaxWaitMs)))),t.adaptiveSettleRetries!==void 0&&(t.adaptiveSettleRetries=Math.max(0,Math.min(6,Math.floor(t.adaptiveSettleRetries)))),t.sparseTreeRetryDelayMs!==void 0&&(t.sparseTreeRetryDelayMs=Math.max(40,Math.min(1e3,Math.floor(t.sparseTreeRetryDelayMs)))),t.sparseTreeRetryMaxAttempts!==void 0&&(t.sparseTreeRetryMaxAttempts=Math.max(0,Math.min(4,Math.floor(t.sparseTreeRetryMaxAttempts)))),t}var xT=["disableAutoScroll","onlyTextContent","totalBudgetMs","pageDataTimeoutMs","pdfTextSelectionTimeoutMs","adaptiveSettleDebounceMs","adaptiveSettleMaxWaitMs","adaptiveSettleRetries","sparseTreeRetryDelayMs","sparseTreeRetryMaxAttempts"];function Fl(e){if(!e||typeof e!="object")return;let t=e,n={};typeof t.disableAutoScroll=="boolean"&&(n.disableAutoScroll=t.disableAutoScroll),typeof t.onlyTextContent=="boolean"&&(n.onlyTextContent=t.onlyTextContent);let r=["totalBudgetMs","pageDataTimeoutMs","pdfTextSelectionTimeoutMs","adaptiveSettleDebounceMs","adaptiveSettleMaxWaitMs","adaptiveSettleRetries","sparseTreeRetryDelayMs","sparseTreeRetryMaxAttempts"];for(let a of r){let s=Number(t[a]);Number.isFinite(s)&&(n[a]=Math.trunc(s))}if(!Object.keys(n).length)return;let o=kT(n),i={};for(let a of xT)n[a]!==void 0&&o[a]!==void 0&&(i[a]=o[a]);return Object.keys(i).length?i:void 0}function wT(){return Date.now()}function un(e){return!e||!Number.isFinite(e)?Number.POSITIVE_INFINITY:Math.max(0,e-wT())}async function fb(e,t,n){if(!Number.isFinite(e)||e<=0)return;let r=un(n);r<=0||r<e+40||await bn(e,t)}async function ga(e,t,n){let r=Math.max(0,Math.floor(t));return r?await Promise.race([e.then(i=>({ok:!0,value:i})),(async()=>(await bn(r,n),{ok:!1,reason:"timeout"}))()]):{ok:!1,reason:"timeout"}}var bn=(()=>{let e=new MessageChannel,t=[];e.port1.onmessage=()=>{let r=t.shift();r&&r()};let n=()=>new Promise(r=>{t.push(r),e.port2.postMessage(0)});return async(r,o)=>{let i=Number(r);if(!Number.isFinite(i)||i<=0)return;if(!o.hidden){let s=o.defaultView||window,c=s.setTimeout?s.setTimeout.bind(s):setTimeout;await new Promise(l=>c(l,i));return}let a=Date.now();for(;Date.now()-a<i;)await n()}})();var ST=3e4;function pb(e){return(String(e??"").replace(/\\/g,"/").split("/").pop()||"upload").replace(/[\u0000-\u001f\u007f]/g,"").trim()||"upload"}var uf=class extends Error{constructor(n,r){super(n);q(this,"url");q(this,"status");q(this,"statusText");q(this,"bodySnippet");this.name="FetchFileError",this.url=r.url,this.status=r.status,this.statusText=r.statusText,this.bodySnippet=r.bodySnippet}};function TT(e){return e&&e.split(";")[0].trim()||"application/octet-stream"}function _T(e){if(!e)return;let t=/filename\*\s*=\s*UTF-8''([^;]+)/i.exec(e);if(t?.[1])try{return decodeURIComponent(t[1].trim().replace(/^\"(.*)\"$/,"$1"))}catch{}let n=/filename\s*=\s*(\"?)([^\";]+)\1/i.exec(e);if(n?.[2])return n[2].trim()}function ff(e,t){try{let r=(t??window).URL||URL,i=new r(e).pathname.match(/\/o\/(.+?)(\?|$)/);if(i?.[1]){let s=decodeURIComponent(i[1]).split("/");return s[s.length-1].replace(/^\d+-/,"")}}catch{}}function mb(e){let t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}async function ET(e,t={},n,r=fetch){let o=new AbortController,i=ST,a=!1,s=()=>{};if(n){let l=!1;s=()=>{l=!0},(async()=>{try{if(await bn(i,n),l)return;a=!0,o.abort()}catch{}})().catch(()=>{})}else{let l=setTimeout(()=>{a=!0,o.abort()},i);s=()=>clearTimeout(l)}let c=new Headers(t.headers);c.has("Accept")||c.set("Accept","*/*");try{let l=await r(e,{method:"GET",redirect:t.redirect??"follow",cache:t.cache??"no-store",mode:t.mode??"cors",credentials:t.credentials??"include",...t,headers:c,signal:o.signal});if(!l.ok){let u=await l.text().catch(()=>"");throw new uf(`Fetch failed (${l.status})`,{url:e,status:l.status,statusText:l.statusText,bodySnippet:u.slice(0,256)})}let d=await l.arrayBuffer(),m=TT(l.headers.get("content-type")),f=_T(l.headers.get("content-disposition"))||ff(e);return{bytes:d,mimeType:m,fileName:f}}finally{s()}}async function hb(e,t,n){return await ET(t,{referrer:n??void 0,referrerPolicy:"strict-origin-when-cross-origin"})}var Wt={plannerHistory:16,prevSteps:8,uiMessages:40,timelineEvents:60,localPersistBytes:131072,snapshotBytes:262144};var gb={activation:"on_demand",idleCloseMs:3e4,fallbackPollMinMs:2e3,fallbackPollMaxMs:15e3,maxInflightCommands:1};var z;(function(e){e.click_element="click_element",e.type_into_element="type_into_element",e.type_and_enter="type_and_enter",e.select_dropdown_value="select_dropdown_value",e.clear_element="clear_element",e.focus_element="focus_element",e.check_field_validity="check_field_validity",e.select_text="select_text",e.hover_element="hover_element",e.right_click_element="right_click_element",e.double_click_element="double_click_element",e.press_key="press_key",e.mouse_wheel="mouse_wheel",e.dispatch_pointer_path="dispatch_pointer_path",e.drag_element="drag_element",e.drag_and_drop="drag_and_drop",e.adjust_slider="adjust_slider",e.scroll_page="scroll_page",e.scroll_to_element="scroll_to_element",e.swipe_element="swipe_element",e.long_press_element="long_press_element",e.pinch_zoom="pinch_zoom",e.go_back="go_back",e.go_forward="go_forward",e.goto_url="goto_url",e.refresh_page="refresh_page",e.open_new_tab="open_new_tab",e.switch_tab="switch_tab",e.close_tab="close_tab",e.describe_images="describe_images",e.google_search="google_search",e.network_run_recipe="network_run_recipe",e.rover_external_read_context="rover_external_read_context",e.rover_external_act_context="rover_external_act_context",e.copy_text="copy_text",e.paste_text="paste_text",e.wait_action="wait_action",e.wait_for_element="wait_for_element",e.answer_task="answer_task",e.upload_file="upload_file",e.solve_captcha="solve_captcha"})(z||(z={}));var IT=new Set(Object.values(z)),ba=["element_id","source_element_id","target_element_id","center_element_id","element_ids"],AT=40;function bb(e){let t=Array.isArray(e?.element_ids)?e.element_ids:e?.element_id!=null?[e.element_id]:[];return Array.from(new Set(t.map(r=>Math.trunc(Number(r))))).filter(r=>Number.isFinite(r)&&r>0).slice(0,AT)}var fr;(function(e){e[e.Unknown=0]="Unknown",e[e.React=1]="React",e[e.Vue=2]="Vue",e[e.Angular=3]="Angular",e[e.Svelte=4]="Svelte",e[e.JQuery=5]="JQuery"})(fr||(fr={}));var yb={[fr.Unknown]:"unknown",[fr.React]:"react",[fr.Vue]:"vue",[fr.Angular]:"angular",[fr.Svelte]:"svelte",[fr.JQuery]:"jquery"},pf={react:fr.React,vue:fr.Vue,angular:fr.Angular,svelte:fr.Svelte,jquery:fr.JQuery},fn;(function(e){e[e.Other=0]="Other",e[e.Inline=1]="Inline",e[e.Delegated=2]="Delegated",e[e.React=3]="React",e[e.Vue=4]="Vue",e[e.Angular=5]="Angular",e[e.Svelte=6]="Svelte",e[e.JQuery=7]="JQuery",e[e.Native=8]="Native"})(fn||(fn={}));var qL={[fn.Other]:"other",[fn.Inline]:"inline",[fn.Delegated]:"delegated",[fn.React]:"react",[fn.Vue]:"vue",[fn.Angular]:"angular",[fn.Svelte]:"svelte",[fn.JQuery]:"jquery",[fn.Native]:"native"},VL={inline:fn.Inline,delegated:fn.Delegated,react:fn.React,vue:fn.Vue,angular:fn.Angular,svelte:fn.Svelte,jquery:fn.JQuery,other:fn.Other,native:fn.Native},Qe;(function(e){e[e.click_element=1]="click_element",e[e.type_into_element=2]="type_into_element",e[e.type_and_enter=3]="type_and_enter",e[e.select_dropdown_value=4]="select_dropdown_value",e[e.clear_element=5]="clear_element",e[e.focus_element=6]="focus_element",e[e.hover_element=7]="hover_element",e[e.right_click_element=8]="right_click_element",e[e.double_click_element=9]="double_click_element",e[e.long_press_element=10]="long_press_element",e[e.drag_element=11]="drag_element",e[e.drag_and_drop=12]="drag_and_drop",e[e.swipe_element=13]="swipe_element",e[e.adjust_slider=14]="adjust_slider",e[e.describe_images=15]="describe_images",e[e.scroll_to_element=16]="scroll_to_element",e[e.paste_text=17]="paste_text",e[e.check_field_validity=18]="check_field_validity",e[e.select_text=19]="select_text",e[e.mouse_wheel=20]="mouse_wheel",e[e.copy_text=21]="copy_text",e[e.upload_file=22]="upload_file",e[e.go_back=23]="go_back",e[e.go_forward=24]="go_forward",e[e.refresh_page=25]="refresh_page",e[e.press_key=26]="press_key",e[e.scroll_page=27]="scroll_page",e[e.wait_action=28]="wait_action",e[e.wait_for_element=29]="wait_for_element",e[e.pinch_zoom=30]="pinch_zoom",e[e.goto_url=31]="goto_url",e[e.google_search=32]="google_search",e[e.open_new_tab=33]="open_new_tab",e[e.switch_tab=34]="switch_tab",e[e.close_tab=35]="close_tab",e[e.solve_captcha=36]="solve_captcha",e[e.answer_task=37]="answer_task",e[e.dispatch_pointer_path=38]="dispatch_pointer_path",e[e.network_run_recipe=40]="network_run_recipe",e[e.rover_external_read_context=41]="rover_external_read_context",e[e.rover_external_act_context=42]="rover_external_act_context"})(Qe||(Qe={}));var zl={[z.click_element]:Qe.click_element,[z.type_into_element]:Qe.type_into_element,[z.type_and_enter]:Qe.type_and_enter,[z.select_dropdown_value]:Qe.select_dropdown_value,[z.clear_element]:Qe.clear_element,[z.focus_element]:Qe.focus_element,[z.hover_element]:Qe.hover_element,[z.right_click_element]:Qe.right_click_element,[z.double_click_element]:Qe.double_click_element,[z.long_press_element]:Qe.long_press_element,[z.drag_element]:Qe.drag_element,[z.drag_and_drop]:Qe.drag_and_drop,[z.swipe_element]:Qe.swipe_element,[z.adjust_slider]:Qe.adjust_slider,[z.describe_images]:Qe.describe_images,[z.scroll_to_element]:Qe.scroll_to_element,[z.paste_text]:Qe.paste_text,[z.check_field_validity]:Qe.check_field_validity,[z.select_text]:Qe.select_text,[z.mouse_wheel]:Qe.mouse_wheel,[z.copy_text]:Qe.copy_text,[z.upload_file]:Qe.upload_file,[z.go_back]:Qe.go_back,[z.go_forward]:Qe.go_forward,[z.refresh_page]:Qe.refresh_page,[z.press_key]:Qe.press_key,[z.scroll_page]:Qe.scroll_page,[z.wait_action]:Qe.wait_action,[z.wait_for_element]:Qe.wait_for_element,[z.pinch_zoom]:Qe.pinch_zoom,[z.goto_url]:Qe.goto_url,[z.google_search]:Qe.google_search,[z.open_new_tab]:Qe.open_new_tab,[z.switch_tab]:Qe.switch_tab,[z.close_tab]:Qe.close_tab,[z.solve_captcha]:Qe.solve_captcha,[z.answer_task]:Qe.answer_task,[z.dispatch_pointer_path]:Qe.dispatch_pointer_path,[z.network_run_recipe]:Qe.network_run_recipe,[z.rover_external_read_context]:Qe.rover_external_read_context,[z.rover_external_act_context]:Qe.rover_external_act_context},vb=Object.fromEntries(Object.entries(zl).map(([e,t])=>[t,e]));function Hl(e){let t=[];return e&&(e&1&&t.push("native"),e&2&&t.push("inline"),e&4&&t.push("react"),e&8&&t.push("vue"),e&16&&t.push("angular"),e&32&&t.push("svelte"),e&64&&t.push("jquery"),e&128&&t.push("delegated"),e&256&&t.push("other")),t}var Kt;(function(e){e.UP="UP",e.DOWN="DOWN",e.LEFT="LEFT",e.RIGHT="RIGHT",e.TOP="TOP",e.BOTTOM="BOTTOM"})(Kt||(Kt={}));var An;(function(e){e.START="START",e.CENTER="CENTER",e.END="END",e.NEAREST="NEAREST"})(An||(An={}));function xb(e){if(!e)return An.CENTER;let t=typeof e=="string"?e.toUpperCase():String(e).toUpperCase();return An&&t in An?An[t]:An.CENTER}function mf(e){return globalThis.CSS&&typeof globalThis.CSS.escape=="function"?globalThis.CSS.escape(e):e.replace(/([ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g,"\\$1")}function ya(e,t){if(!e)return"";let n=pe(e,t);if(e===n.documentElement)return"html";if(e===n.body)return"body";if(e.id)return`#${mf(e.id)}`;let r=[],o=e;for(;o&&o!==n.body&&o!==n.documentElement;){let i=o.tagName.toLowerCase();if(o.id){i+=`#${mf(o.id)}`,r.unshift(i);break}let s=(o.classList&&o.classList.length?Array.from(o.classList):(o.className||"").toString().split(/\s+/).filter(Boolean)).filter(c=>c&&c.length<=48).sort((c,l)=>c.length-l.length).slice(0,3).map(mf);if(s.length)i+="."+s.join(".");else{let c=o.parentElement;if(c){let l=Array.from(c.children).filter(d=>d.tagName===o.tagName);if(l.length>1){let d=l.indexOf(o)+1;i+=`:nth-of-type(${d})`}}}r.unshift(i),o=o.parentElement}return r.join(" > ")}function Ii(e){return e.scrollingElement||e.documentElement||e.body}function jl(e,t,n,r,o){let i=pe(e,t),a=we(i,n),s=Ii(i),c=e===i.documentElement||e===i.body||e===s,l=c?s:e,d=c?a.innerHeight:l.clientHeight,m=c?a.innerWidth:l.clientWidth,f=o??d*.8;switch(r){case Kt.DOWN:{l.scrollTop+=f;break}case Kt.UP:{l.scrollTop=Math.max(0,l.scrollTop-f);break}case Kt.LEFT:return l.scrollLeft=Math.max(0,l.scrollLeft-(o??m*.8)),{success:!0,scrollLeft:l.scrollLeft};case Kt.RIGHT:return l.scrollLeft+=o??m*.8,{success:!0,scrollLeft:l.scrollLeft};default:return{success:!1,error:`Unsupported scroll direction: ${String(r)}`}}let u=l.scrollHeight,h=c?a.innerHeight:l.clientHeight,b=u-h;return{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:l.scrollTop>=b-5}}function RT(e,t,n){let r=pe(e,t),o=we(r,n),i=Ii(r),a=e;for(;a&&a!==r.body&&a!==r.documentElement;){let c=o.getComputedStyle(a).overflowY;if((c==="auto"||c==="scroll"||c==="overlay")&&a.scrollHeight>a.clientHeight+5)return a;a=a.parentElement}return i}function kb(e,t,n){let r=pe(e,t),o=we(r,n),i=Ii(r),a=e===r.documentElement||e===r.body||e===i,s=a?i:e,c=s.scrollHeight,l=a?o.innerHeight:s.clientHeight,d=c-l;return s.scrollTop>=d-5}function hf(e,t,n,r){let o=pe(e,t),i=we(o,n),a=Ii(o),s=RT(e,o,i),c=s===o.documentElement||s===o.body||s===a,l=c?a:s,d=e.getBoundingClientRect(),m=c?new(i.DOMRect||DOMRect)(0,0,i.innerWidth,i.innerHeight):s.getBoundingClientRect(),f=c?i.innerHeight:s.clientHeight,u=24,h=d.top-m.top,b=l.scrollTop+h,v;switch(r){case An.START:v=b-u;break;case An.END:v=b+d.height-f+u;break;case An.NEAREST:{if(d.top>=m.top&&d.bottom<=m.bottom)return{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:kb(l,o,i)};d.top<m.top?v=b-u:v=b+d.height-f+u;break}case An.CENTER:default:v=b-f/2+d.height/2;break}let S=l.scrollHeight-f;return l.scrollTop=Math.max(0,Math.min(v,S)),{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:kb(l,o,i)}}function wb(e){let t=Number(e);if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n>0?n:null}function Sb(e){let t=[];for(let n of ba){let r=e?.[n];if(r==null)continue;if(Array.isArray(r)){for(let i of r){let a=wb(i);a!=null&&t.push(a)}continue}let o=wb(r);o!=null&&t.push(o)}return Array.from(new Set(t))}function CT(e){return Sb(e).length>0}function MT(e){let t=Sb(e);return t.length?t[0]:null}var NT=new Set([z.click_element,z.type_into_element,z.type_and_enter,z.hover_element,z.right_click_element,z.double_click_element,z.press_key,z.scroll_page,z.scroll_to_element,z.mouse_wheel,z.drag_element,z.drag_and_drop,z.swipe_element,z.long_press_element,z.adjust_slider,z.select_dropdown_value,z.clear_element,z.focus_element,z.check_field_validity,z.select_text,z.copy_text,z.paste_text,z.pinch_zoom,z.upload_file,z.dispatch_pointer_path]);(()=>{let e="__RTRVR_ACTION_EXECUTOR__";if(window[e])return;window[e]=!0;try{document.documentElement?.setAttribute(qu,"1")}catch{}let n="__RTRVR_INTERNAL__";try{window.__RTRVR_INTERNAL_KEY__=window.__RTRVR_INTERNAL_KEY__||n}catch{}let r=window.__RTRVR_INTERNAL_KEY__||n,o=window[r],i=o&&typeof o=="object"?o:{};if(!o)try{Object.defineProperty(window,r,{value:i,writable:!1,configurable:!1,enumerable:!1})}catch{window[r]=i}async function a(g){let D={};try{let N=vb[g.opcode];if(!N)throw new Error(`Unknown tool opcode: ${g.opcode}`);let R={...g.call,name:N};D=(await b({tabIndex:g.tabIndex,call:R,elementData:h(g.elementData),payload:g.payload}))[0]?.response??{success:!1,error:"Empty tool response",allowFallback:!0}}catch(N){D={success:!1,error:N?.message||String(N),allowFallback:!0}}return D}try{Object.defineProperty(i,"actions",{value:Object.freeze({execute:a}),writable:!1,configurable:!1,enumerable:!1})}catch{}let s="__RTRVR_UPLOAD_BYTES_REQ__",c="__RTRVR_UPLOAD_BYTES_RES__",l="__RTRVR_UPLOAD_BYTES_BRIDGE__",d="__RTRVR_WINDOW_MESSAGE_MUX__";function m(g){let D=g,N=D[d];if(!N||typeof N!="object"){N={handlers:new Set,installed:!1};try{Object.defineProperty(D,d,{value:N,enumerable:!1,configurable:!1})}catch{D[d]=N}}if(!N.installed){N.installed=!0,g.addEventListener("message",R=>{if(R.source===g)for(let T of Array.from(N.handlers))try{T(R)}catch{}},!0);try{g.addEventListener("pagehide",()=>{let T=g[l]?.pending;if(T)for(let[w,E]of T){try{E.cancelTimeout()}catch{}E.reject(new Error("pagehide: upload bytes request canceled")),T.delete(w)}},!0)}catch{}}return N}function f(g){let D=g,N=D[l];if(!N||typeof N!="object"){N={pending:new Map};try{Object.defineProperty(D,l,{value:N,enumerable:!1,configurable:!1})}catch{D[l]=N}m(g).handlers.add(T=>{let w=T?.data;if(!w||typeof w!="object"||w.type!==c)return;let E=String(w.requestId||"");if(!E)return;let U=N.pending.get(E);if(!U)return;N.pending.delete(E);try{U.cancelTimeout()}catch{}if(!w.ok){U.reject(new Error(w.error||"Failed to get bytes"));return}let Q=w.bytes;if(!(Q instanceof ArrayBuffer)){U.reject(new Error("Invalid bytes payload (expected ArrayBuffer)"));return}if(typeof U.expectedByteLength=="number"&&Q.byteLength!==U.expectedByteLength){U.reject(new Error(`Byte length mismatch: got=${Q.byteLength}, expected=${U.expectedByteLength}`));return}U.resolve(Q)})}return N}function u(g,D,N,R=9e4){let T=g.__ROVER_UPLOAD_BYTES__||g.rover?.uploadBytes||g.rtrvr?.uploadBytes;if(typeof T=="function")return Promise.resolve().then(()=>T({token:D,byteLength:N,timeoutMs:R})).then(G=>{if(G instanceof ArrayBuffer)return G;if(G&&G.buffer instanceof ArrayBuffer)return G.buffer;throw new Error("Upload bytes provider returned invalid buffer")});let w=f(g),E=globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(16).slice(2)}`,U=Math.max(1e3,Math.min(Number(R)||9e4,18e4)),Q=vl(g)||document;return new Promise((G,Z)=>{let re=!1,ce=!1,xe=()=>{ce=!0};(async()=>{await bn(U,Q),!(ce||re)&&(w.pending.delete(E),re=!0,Z(new Error("Timed out waiting for upload bytes")))})().catch(()=>{}),w.pending.set(E,{cancelTimeout:xe,expectedByteLength:N,resolve:_e=>{re||(re=!0,xe(),G(_e))},reject:_e=>{re||(re=!0,xe(),Z(_e))}}),g.postMessage({type:s,requestId:E,token:D,byteLength:N},"*")})}function h(g){if(g)return{frameworks:g.frameworks?g.frameworks.map(D=>yb[D]).filter(D=>D&&D!=="unknown"):[],listenersRaw:g.listenersRaw??"",role:g.role??void 0,pattern:g.pattern??void 0,value:g.value??void 0}}async function b({tabIndex:g,call:D,elementData:N,payload:R}){let T=(()=>{try{return Lr()?.top?.document||document}catch{return document}})(),w=D.args,E=CT(w),U,Q,G=[],Z=[],re=[];try{({doc:U,win:Q,iframePath:G,resolvedPath:Z,unresolvedPath:re}=ha(T,w.iframe_id))}catch{if(w.iframe_id!=null){let Re=`Cannot access iframe ${w.iframe_id} (cross-origin or not found)`;return[{name:D.name,args:D.args,response:{success:!1,error:Re,allowFallback:!1,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:Re,retryable:!1},iframe_context:{requested_iframe_id:w.iframe_id}}}}]}U=document,Q=we(U)}if(w.iframe_id!=null&&re.length>0&&!E){let He=`iframe_id unresolved: remaining=${re.join(">")||"(none)"} (cross-origin, not-ready, or not found)`;return[{name:D.name,args:D.args,response:{success:!1,error:He,allowFallback:!1,details:`requested=${G.join(">")||"(none)"} resolved=${Z.join(">")||"(none)"}`,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:He,retryable:!1},iframe_context:{requested_iframe_id:w.iframe_id,requested_path:G,resolved_path:Z,unresolved_path:re}}}}]}let ce=D.name,xe=MT(w),_e=xe?ur(U,xe):null,Je=_e?.ownerDocument??null,Pe;if(!NT.has(ce))Pe={success:!1,error:`Tool not promotable to main: ${ce}`,allowFallback:!0};else{let Re=Je??U,He=we(Re,Q);Pe=await S(ce,_e,w,N,Re,He,R)}return[{name:D.name,args:D.args,response:Pe}]}async function v(g,D,N){try{let R=g.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",w=g[R]?.scroll?.execute;if(typeof w!="function")throw new Error("main-world scroll detector not available");let E=N?.doc||vl(g)||document,U=Math.max(250,Math.min(Number(N?.timeoutMs??3500),8e3)),Q=await ga(Promise.resolve().then(()=>w(D)),U,E);if(!Q.ok)throw new Error("scroll detector timeout");return Q.value}catch(R){throw new Error(R?.message||"main-world scroll detector not available")}}async function S(g,D,N,R,T,w,E){let U=ce=>({success:ce.success,error:ce.success?void 0:ce.details||"Action failed",allowFallback:ce.success?void 0:ce.allowFallback??!0}),Q=g===z.press_key||g===z.scroll_page||g===z.drag_and_drop||g===z.pinch_zoom;if(!D&&!Q)return U({success:!1,method:"missing-element-race",details:"Target element missing",allowFallback:!0});let G=new Set([z.type_into_element,z.type_and_enter,z.clear_element,z.focus_element,z.select_text,z.check_field_validity]),Z=D,re=pe(Z,T);if(Z&&G.has(g)){let ce=Zg(Z,re);(ce.kind==="input"||ce.kind==="contenteditable")&&(Z=ce.el)}try{switch(g){case z.click_element:return U(_(D,T,w,R));case z.double_click_element:return U(sn(D,T,w));case z.right_click_element:return U(mn(D,T,w));case z.hover_element:return U(await Y(D,T,w,R,N.duration));case z.type_into_element:return U(await ze(Z,T,w,N.text,R));case z.type_and_enter:return U(await Oe(Z,T,w,N.text,R));case z.clear_element:return U(await ke(Z,T,w,R));case z.focus_element:return U(B(Z,T,w));case z.select_dropdown_value:return U(K(D,T,w,N.value,R));case z.adjust_slider:return U(F(D,T,w,R?.value??N.value,R));case z.check_field_validity:return U(te(Z,T,w));case z.select_text:return U(fe(Z,T,w,N.start_offset,N.end_offset));case z.scroll_page:return U(await Ne(D,T,w,N));case z.scroll_to_element:return U(await ge(D,T,w,N));case z.mouse_wheel:return U(dt(D,T,w,N.delta_x,N.delta_y));case z.drag_element:return U(await it(D,T,w,N,R));case z.drag_and_drop:return U(await je(N,D,T,w));case z.swipe_element:return U(await jt(D,T,w,N));case z.long_press_element:return U(await ut(D,T,w,N.duration));case z.pinch_zoom:return U(await We(D,T,w,N));case z.press_key:return U(Le(N.key,N.modifiers,D,T,w));case z.copy_text:return U(await Ye(D,T,w));case z.paste_text:return U(await Pt(D,T,w,R));case z.upload_file:return U(await tn(N,T,w,E,D,R));case z.dispatch_pointer_path:return U(await nn(N,T,w));default:return U({success:!1,method:"unhandled",details:`Unhandled ${g}`,allowFallback:!0})}}catch(ce){return U({success:!1,method:"exception",details:ce?.message||"exception",allowFallback:!0})}}function k(g){let D=new Map;if(!g)return D;let N=g.trim();if(!N)return D;let R=yi(N);if(R){for(let{id:T,mask:w}of R.entries){let E=yo[T];if(!E)continue;let U=new Set(Hl(w)),Q=D.get(E);if(Q)for(let G of U)Q.add(G);else D.set(E,U)}return D}return D}function x(g,...D){return g?D.some(N=>g.has(N)):!1}function C(g,D){let N=k(D?.listenersRaw),R=new Set;for(let[,G]of N)for(let Z of G)(Z==="react"||Z==="vue"||Z==="angular"||Z==="svelte"||Z==="jquery")&&R.add(Z);let T=new Set;for(let[G,Z]of N)if(["click","input","change","keydown","keyup","pointerdown","pointerup","mousedown","mouseup","submit","dragstart","drop","wheel","scroll"].includes(G))for(let re of Z)T.add(re);let w=R.size>0||[...T].some(G=>["react","vue","angular","svelte","jquery"].includes(G)),E=x(N.get("click"),"delegated"),U=x(N.get("input"),"delegated")||x(N.get("change"),"delegated")||x(N.get("keydown"),"delegated"),Q=D?.role||Ns(g)||g.getAttribute("role");return{sourcesByType:N,fws:R,isFrameworkElement:w,delegatedClick:E,delegatedInput:U,role:Q}}function _(g,D,N,R){let T=C(g,R),w=pe(g,D),E=we(w,N);Nt(g,w,E),R?.pattern==="hover-activate"&&Y(g,w,E,R,120);let U=T.fws.has("react")||x(T.sourcesByType.get("click"),"react"),Q=T.fws.has("vue")||x(T.sourcesByType.get("click"),"vue"),G=T.fws.has("angular")||x(T.sourcesByType.get("click"),"angular"),Z=T.fws.has("svelte")||x(T.sourcesByType.get("click"),"svelte"),re=T.fws.has("jquery")||x(T.sourcesByType.get("click"),"jquery");return Tn(()=>I(g,w,E),()=>M(g,w,E),()=>U?O(g,w,E):null,()=>Q?J(g,w,E):null,()=>G?ee(g,w,E):null,()=>Z?se(g,w,E):null,()=>re?H(g,w,E):null)}function I(g,D,N){let R=pe(g,D),T=we(R,N),w=T.PointerEvent||PointerEvent,E=T.MouseEvent||MouseEvent,{x:U,y:Q}=X(g,R,T),G={bubbles:!0,cancelable:!0,composed:!0,view:T,clientX:U,clientY:Q,button:0,buttons:1};return g.focus?.({preventScroll:!0}),[new w("pointerover",G),new w("pointerenter",{...G,bubbles:!1}),new E("mouseover",G),new E("mouseenter",{...G,bubbles:!1}),new w("pointerdown",G),new E("mousedown",G),new w("pointerup",{...G,buttons:0}),new E("mouseup",{...G,buttons:0}),new E("click",{...G,buttons:0})].forEach(re=>g.dispatchEvent(re)),{success:!0,method:"pointer-mouse-click"}}function M(g,D,N){let R=pe(g,D),T=we(R,N);try{if(g instanceof HTMLAnchorElement){let w=g.getAttribute("target");try{g.setAttribute("target","_self"),g.click()}finally{w===null?g.removeAttribute("target"):g.setAttribute("target",w)}}else g.click?.();return{success:!0,method:"native-click"}}catch{return{success:!1,method:"native-click"}}}function X(g,D,N){let R=pe(g,D),T=g.getBoundingClientRect(),w=[{x:T.left+T.width/2,y:T.top+T.height/2},{x:T.left+4,y:T.top+4},{x:T.right-4,y:T.top+4},{x:T.left+4,y:T.bottom-4},{x:T.right-4,y:T.bottom-4}],E=null;for(let U=0;U<w.length;U++){let Q=w[U],G=R.elementFromPoint(Q.x,Q.y);if(U===0&&(E=G),G&&sb(g,G))return{...Q,hit:G,ok:!0}}return{...w[0],hit:E,ok:!1}}function O(g,D,N){let R=pe(g,D),T=we(R,N);try{let w=yr(g);if(!w)return{success:!1,method:"react-no-fiber"};let E=vr(w),U=E.onClick||E.onClickCapture;return U?(U(Lt("click",g,R,T)),{success:!0,method:"react-fiber-onClick"}):{success:!1,method:"react-no-onClick"}}catch{return{success:!1,method:"react-fiber-onClick"}}}function J(g,D,N){let R=pe(g,D),w=we(R,N).MouseEvent||MouseEvent;try{let E=Rr(g);if(!E)return{success:!1,method:"vue-none"};let U=Qr(E);return U.click?(U.click(new w("click",{bubbles:!0})),{success:!0,method:"vue-handler"}):E.$emit?(E.$emit("click"),{success:!0,method:"vue-emit"}):{success:!1,method:"vue-no-click"}}catch{return{success:!1,method:"vue-handler"}}}function ee(g,D,N){let R=pe(g,D),T=we(R,N),w=T.MouseEvent||MouseEvent;try{let E=T.ng?.getZone?.()||null;return E?.run?(E.run(()=>g.dispatchEvent(new w("click",{bubbles:!0,cancelable:!0}))),{success:!0,method:"angular-zone-click"}):(g.dispatchEvent(new w("click",{bubbles:!0,cancelable:!0})),g.click?.(),{success:!0,method:"angular-click"})}catch{return{success:!1,method:"angular-click",allowFallback:!0}}}function se(g,D,N){let R=pe(g,D),w=we(R,N).MouseEvent||MouseEvent;try{let E=g.getBoundingClientRect(),U={bubbles:!0,cancelable:!0,view:g.ownerDocument?.defaultView||window,clientX:E.left+E.width/2,clientY:E.top+E.height/2};return g.dispatchEvent(new w("mousedown",U)),g.dispatchEvent(new w("mouseup",U)),g.dispatchEvent(new w("click",U)),{success:!0,method:"svelte-click"}}catch{return{success:!1,method:"svelte-click"}}}function H(g,D,N){let R=pe(g,D),T=we(R,N);try{return T.jQuery?.(g)?.trigger?.("click"),{success:!0,method:"jquery-trigger"}}catch{return{success:!1,method:"jquery-trigger"}}}async function Y(g,D,N,R,T=500){let w=Math.min(Math.max(0,Number(T)||500),3e4),E=pe(g,D),U=we(E,N),Q=C(g,R);Nt(g,E,U);let G=U.PointerEvent||PointerEvent,Z=U.MouseEvent||MouseEvent,re=g.getBoundingClientRect(),ce=re.left+re.width/2,xe=re.top+re.height/2;if(Q.fws.has("react")){let Pe=yr(g),Re=Pe?vr(Pe):{};Re.onMouseEnter?.(Lt("mouseenter",g,E,U)),Re.onPointerEnter?.(Lt("pointerenter",g,E,U))}else if(Q.fws.has("vue")){let Pe=Rr(g),Re=Pe?Qr(Pe):{};Re.mouseenter?.(new Z("mouseenter",{bubbles:!0})),Re.mouseover?.(new Z("mouseover",{bubbles:!0}))}let _e={bubbles:!0,cancelable:!0,composed:!0,view:U,clientX:ce,clientY:xe};return[new G("pointerover",_e),new G("pointerenter",{..._e,bubbles:!1}),new Z("mouseover",_e),new Z("mouseenter",{..._e,bubbles:!1})].forEach(Pe=>g.dispatchEvent(Pe)),await bn(w,E),{success:!0,method:"hover-seq"}}async function oe(g,D,N=1){await Promise.resolve();for(let R=0;R<N;R++)g.hidden?await zn():await new Promise(T=>{try{D.requestAnimationFrame(()=>T())}catch{zn().then(T)}})}let ie=g=>String(g??"").replace(/\s+/g," ").trim();function me(g){try{if("value"in g)return String(g.value??"")}catch{}return""}function he(g){try{return typeof Ei=="function"?Ei(g):ie(g.textContent)}catch{return""}}function Te(g,D){if(!(D.isFrameworkElement||D.delegatedInput))return!1;let N=String(g??"").length;return N>0&&N<=140}async function ze(g,D,N,R,T){let w=C(g,T),E=pe(g,D),U=we(E,N);if(Nt(g,E,U),wr(g,U)||Dr(g,U)){let G=Te(String(R??""),w),Z=await nb(g,E,U,R,{settleFrames:E.hidden?1:2,useKeyFallback:G,keyFallbackMaxLen:140});return{success:Z.success,method:Z.method,details:Z.details,allowFallback:!Z.success}}if(g.isContentEditable===!0||w.role==="textbox"&&!("value"in g)){let G=he(g),Z=rb(g,R,E,U);await oe(E,U,E.hidden?1:2);let re=he(g),ce=!1;if(String(R??"").length>0&&re===G){ce=!0;try{pa(g,E,U),fa(g,E,U,!0);try{E.execCommand?.("insertText",!1,String(R??""))}catch{}_i(g,String(R??""),"insertText")}catch{}await oe(E,U,E.hidden?1:2)}let xe=he(g),_e=xe!==G||!!String(R??"")&&xe.includes(String(R??""));return{success:_e,method:Z.method,details:`${Z.details};beforeLen=${G.length};afterLen=${xe.length};reverted=${re===G};fallback=${ce}`,allowFallback:_e?void 0:!0}}return{success:!1,method:"type",details:"target not editable",allowFallback:!0}}async function Oe(g,D,N,R,T){let w=pe(g,D),E=we(w,N),U=await ze(g,w,E,R,T);if(!U.success)return U;let Q=ob(g);return{success:!0,method:"type+enter",details:`${U.details};enter=${Q.method}`}}async function ke(g,D,N,R){let T=pe(g,D),w=we(T,N),E=w.Event||Event;if(Nt(g,T,w),wr(g,w)||Dr(g,w)){let Q=me(g),G=ib(g,T,w);if(await oe(T,w,T.hidden?1:2),me(g)===Q&&Q.length>0){try{Hs(g,""),_i(g,"","deleteByCut")}catch{}await oe(T,w,T.hidden?1:2)}let ce=me(g),xe=ce.length===0||ce!==Q;return{success:G.success,method:G.method,details:G.details,allowFallback:!G.success}}if(g.isContentEditable===!0||C(g,R).role==="textbox"&&!("value"in g)){let Q=ab(g,T,w);return await oe(T,w,T.hidden?1:2),{success:Q.success,method:Q.method,details:Q.details,allowFallback:!Q.success}}if("value"in g){try{g.value=""}catch{}return g.dispatchEvent(new E("input",{bubbles:!0,composed:!0})),g.dispatchEvent(new E("change",{bubbles:!0,composed:!0})),{success:!0,method:"clear-generic-value"}}return{success:!1,method:"clear",details:"target not clearable",allowFallback:!0}}function B(g,D,N){try{let R=pe(g,D),T=we(R,N),w=T.FocusEvent||FocusEvent;return Nt(g,R,T),g.focus?.({preventScroll:!0}),g.dispatchEvent(new w("focus",{bubbles:!0})),g.dispatchEvent(new w("focusin",{bubbles:!0})),{success:!0,method:"focus"}}catch(R){return{success:!1,method:"focus",details:R.message,allowFallback:!0}}}function K(g,D,N,R,T){try{let w=pe(g,D),E=we(w,N),U=E.Event||Event;if(!Qh(g,E))return{success:!1,method:"select",details:"target not select",allowFallback:!0};Nt(g,w,E),g.focus?.({preventScroll:!0});let Q=Array.from(g.options).find(ce=>ce.value===R||ce.text.trim()===R.trim());if(!Q)return{success:!1,method:"select",details:`Option not found: ${R}`,allowFallback:!0};Q.selected=!0;let G=Object.getPrototypeOf(g),Z=Object.getOwnPropertyDescriptor(G,"value");if(Z?.set?Z.set.call(g,Q.value):g.value=Q.value,g.dispatchEvent(new U("input",{bubbles:!0,composed:!0})),g.dispatchEvent(new U("change",{bubbles:!0,composed:!0})),C(g,T).fws.has("react")){let ce=yr(g);if(ce){let xe=vr(ce);if(xe.onChange){let _e=Lt("change",g,w,E);_e.target.value=Q.value,xe.onChange(_e)}}}return{success:!0,method:"select"}}catch(w){return{success:!1,method:"select",details:w.message,allowFallback:!0}}}function F(g,D,N,R,T){try{let w=pe(g,D),E=we(w,N),U=E.Event||Event;if(!wr(g,E))return{success:!1,method:"slider",details:"target not input",allowFallback:!0};Nt(g,w,E),g.focus?.({preventScroll:!0});let Q=Object.getPrototypeOf(g),G=Object.getOwnPropertyDescriptor(Q,"value");if(G?.set?G.set.call(g,String(R)):g.value=String(R),g.dispatchEvent(new U("input",{bubbles:!0,composed:!0})),g.dispatchEvent(new U("change",{bubbles:!0,composed:!0})),C(g,T).fws.has("react")){let re=yr(g);if(re){let ce=vr(re);if(ce.onChange){let xe=Lt("change",g,w,E);xe.target.value=String(R),ce.onChange(xe)}}}return{success:!0,method:"slider"}}catch(w){return{success:!1,method:"slider",details:w.message,allowFallback:!0}}}function te(g,D,N){try{let R=g.checkValidity?.()??!0;return R||g.reportValidity?.(),{success:R,method:"check-validity",details:R?void 0:g.validationMessage}}catch(R){return{success:!1,method:"check-validity",details:R.message,allowFallback:!0}}}function fe(g,D,N,R,T){try{let w=pe(g,D),E=we(w,N);if("setSelectionRange"in g){let G=g;G.focus?.();let Z=G.value?.length??0;return G.setSelectionRange(R??0,T??Z),{success:!0,method:"select-range"}}let U=E.getSelection();if(!U)return{success:!1,method:"select-range",allowFallback:!0};let Q=w.createRange();return Q.selectNodeContents(g),U.removeAllRanges(),U.addRange(Q),{success:!0,method:"select-range-node"}}catch(w){return{success:!1,method:"select-range",details:w.message,allowFallback:!0}}}function le(g,D,N,R,T){let w=Ii((g&&pe(g))??D),E=g||w,U=pe(E,D),Q=we(U,N),G=E===U.documentElement||E===U.body||E===w;if(R===Kt.TOP||R===Kt.BOTTOM){let Z=E.scrollHeight,re=G?Q.innerHeight:E.clientHeight,ce=Math.max(0,Z-re);return E.scrollTop=R===Kt.TOP?0:ce,{success:!0,scrollTop:E.scrollTop}}return jl(E,U,Q,R,T)}async function Ne(g,D,N,R){let T=R.direction,w=R.amount,E=pe(g,D),U=we(E,N),Q=!E.hidden,G=Q?"smooth":"auto";try{if(g){let re=mt(g,E,U),ce=le(re,E,U,T,w);return ce?.success?{success:!0,method:"direct-element-scroll",details:JSON.stringify(ce)}:{success:!1,method:"direct-element-scroll",details:ce?.error||"direct scroll failed",allowFallback:!0}}if(T===Kt.TOP||T===Kt.BOTTOM){let re=await v(U,{action:"scrollTo",direction:T,options:{behavior:G,isTabActive:Q}},{doc:E,timeoutMs:E.hidden?5200:2800});return{success:!0,method:"detector-scrollTo",details:JSON.stringify(re)}}let Z=await v(U,{action:"scrollBy",direction:T,options:{amount:w,behavior:G,isTabActive:Q}},{doc:E,timeoutMs:E.hidden?5200:2800});return{success:!0,method:"detector-scrollBy",details:JSON.stringify(Z)}}catch(Z){let re=E?le(Ii(E),E,U,T,w):void 0;return re?.success?{success:!0,method:"direct-primary-scroll-fallback",details:JSON.stringify(re)}:{success:!1,method:"scroll-page-failed",details:Z?.message||re?.error||"scroll_page failed",allowFallback:!0}}}async function ge(g,D,N,R){let T=pe(g,D),w=we(T,N),E=!T.hidden,U=E?"smooth":"auto",Q=xb(R.position),G=ya(g,T);if(!G){let Z=hf(g,T,w,Q);return{success:Z.success,method:"direct-scrollElement-no-selector",details:Z.error,allowFallback:!Z.success}}try{let Z=await v(w,{action:"scrollElement",selector:G,position:Q,options:{behavior:U,isTabActive:E}},{doc:T,timeoutMs:T.hidden?5600:3e3});return{success:!0,method:"detector-scrollElement",details:JSON.stringify(Z)}}catch(Z){let re=hf(g,T,w,Q);return re.success?{success:!0,method:"direct-scrollElement-fallback",details:JSON.stringify(re)}:{success:!1,method:"scroll-to-element-failed",details:Z?.message||re.error||"scroll_to_element failed",allowFallback:!0}}}function dt(g,D,N,R,T){try{let w=pe(g,D),E=we(w,N),U=E.WheelEvent||WheelEvent;Nt(g,w,E);let Q=mt(g,w,E);return Q.dispatchEvent(new U("wheel",{bubbles:!0,cancelable:!0,composed:!0,view:E,deltaX:R||0,deltaY:T||0,deltaMode:U.DOM_DELTA_PIXEL})),Q.scrollBy({left:R||0,top:T||0,behavior:"auto"}),{success:!0,method:"wheel"}}catch(w){return{success:!1,method:"wheel",details:w.message,allowFallback:!0}}}function mt(g,D,N){let R=pe(g,D),T=we(R,N),w=R.scrollingElement||R.documentElement||R.body,E=g;for(;E&&E!==R.body&&E!==R.documentElement;){let Q=T.getComputedStyle(E).overflowY;if((Q==="auto"||Q==="scroll"||Q==="overlay")&&E.scrollHeight>E.clientHeight+5)return E;E=E.parentElement}return w}async function it(g,D,N,R,T){try{let w=pe(g,D),E=we(w,N),U=E.PointerEvent||PointerEvent,Q=E.MouseEvent||MouseEvent,G=E.DragEvent||DragEvent,Z=E.DataTransfer||DataTransfer;Nt(g,w,E);let re=X(g,w,E),ce=dn(re.hit,E)?re.hit:g,xe=g.getBoundingClientRect(),_e=Number.isFinite(Number(R?.distance))?Number(R.distance):160,Je=0,Pe=0;switch(String(R?.direction||"").toUpperCase()){case"UP":Pe=-_e;break;case"DOWN":Pe=_e;break;case"LEFT":Je=-_e;break;case"RIGHT":Je=_e;break;default:Je=Number(R?.delta_x)||0,Pe=Number(R?.delta_y)||0}let Re=(ve,Be)=>({x:Math.max(2,Math.min(ve,E.innerWidth-3)),y:Math.max(2,Math.min(Be,E.innerHeight-3))}),He=Re(re.x,re.y),vt=Re(re.x+Je,re.y+Pe),cn=500+Date.now()%1e4,et=Math.max(12,Math.min(36,Number(R?.steps)||18)),rt=(ve,Be)=>({bubbles:!0,cancelable:!0,composed:!0,view:E,clientX:ve,clientY:Be,pageX:ve+(E.scrollX||0),pageY:Be+(E.scrollY||0)}),tt=(ve,Be,pt)=>({...rt(ve,Be),pointerId:cn,pointerType:"mouse",isPrimary:!0,width:1,height:1,pressure:pt?.5:0,buttons:pt,button:0}),at=(ve,Be,pt)=>({...rt(ve,Be),buttons:pt,button:0});ce.dispatchEvent(new U("pointerdown",tt(He.x,He.y,1))),ce.dispatchEvent(new Q("mousedown",at(He.x,He.y,1)));try{ce.setPointerCapture?.(cn)}catch{}let Tt=null;try{(g.draggable||C(g,T).sourcesByType.has("dragstart"))&&(Tt=new Z)}catch{Tt=null}if(Tt)try{g.dispatchEvent(new G("dragstart",{bubbles:!0,cancelable:!0,clientX:He.x,clientY:He.y,dataTransfer:Tt}))}catch{}let Et=null;for(let ve=1;ve<=et;ve++){let Be=He.x+(vt.x-He.x)*ve/et,pt=He.y+(vt.y-He.y)*ve/et,_n=w.elementFromPoint(Be,pt)||g;if(_n.dispatchEvent(new U("pointermove",tt(Be,pt,1))),_n.dispatchEvent(new Q("mousemove",at(Be,pt,1))),Tt)try{Et&&Et!==_n&&Et.dispatchEvent(new G("dragleave",{bubbles:!0,cancelable:!0,clientX:Be,clientY:pt,dataTransfer:Tt})),_n.dispatchEvent(new G("dragover",{bubbles:!0,cancelable:!0,clientX:Be,clientY:pt,dataTransfer:Tt})),Et=_n}catch{}ve%3===0&&await zn()}let be=w.elementFromPoint(vt.x,vt.y)||g;if(be.dispatchEvent(new U("pointerup",tt(vt.x,vt.y,0))),be.dispatchEvent(new Q("mouseup",at(vt.x,vt.y,0))),Tt)try{g.dispatchEvent(new G("dragend",{bubbles:!0,cancelable:!0,clientX:vt.x,clientY:vt.y,dataTransfer:Tt}))}catch{}return{success:!0,method:"drag",details:`dx=${Je};dy=${Pe};steps=${et};hitOk=${re.ok}`}}catch(w){return{success:!1,method:"drag",details:w?.message||"drag failed",allowFallback:!0}}}async function je(g,D,N,R){try{let T=pe(D,N),w=we(T,R),E=w.PointerEvent||PointerEvent,U=w.MouseEvent||MouseEvent,Q=w.DragEvent||DragEvent,G=w.DataTransfer||DataTransfer,Z=g?.source_element_id??g?.element_id,re=(Z?ur(T,String(Z)):null)||D;if(!re)return{success:!1,method:"drag-drop",details:"source missing",allowFallback:!0};let ce=null,xe=Number(g?.target_x),_e=Number(g?.target_y);if(g?.target_element_id){if(ce=ur(T,String(g.target_element_id)),!ce)return{success:!1,method:"drag-drop",details:"target missing",allowFallback:!0};let be=ce.getBoundingClientRect();xe=be.left+be.width/2,_e=be.top+be.height/2}if((!Number.isFinite(xe)||!Number.isFinite(_e))&&!ce)return{success:!1,method:"drag-drop",details:"missing target coords",allowFallback:!0};Nt(re,T,w),ce&&Nt(ce,T,w);let Je=(be,ve)=>({x:Math.max(2,Math.min(be,w.innerWidth-3)),y:Math.max(2,Math.min(ve,w.innerHeight-3))}),Pe=re.getBoundingClientRect(),Re=Je(Pe.left+Pe.width/2,Pe.top+Pe.height/2),He=Je(Number(xe),Number(_e)),vt=600+Date.now()%1e4,cn=Math.max(14,Math.min(42,Number(g?.steps)||22)),et=(be,ve)=>({bubbles:!0,cancelable:!0,composed:!0,view:w,clientX:be,clientY:ve,pageX:be+(w.scrollX||0),pageY:ve+(w.scrollY||0)}),rt=(be,ve,Be)=>({...et(be,ve),pointerId:vt,pointerType:"mouse",isPrimary:!0,width:1,height:1,pressure:Be?.5:0,buttons:Be,button:0}),tt=(be,ve,Be)=>({...et(be,ve),buttons:Be,button:0}),at=null;try{at=new G}catch{at=null}re.dispatchEvent(new E("pointerdown",rt(Re.x,Re.y,1))),re.dispatchEvent(new U("mousedown",tt(Re.x,Re.y,1)));try{re.setPointerCapture?.(vt)}catch{}if(at)try{re.dispatchEvent(new Q("dragstart",{bubbles:!0,cancelable:!0,clientX:Re.x,clientY:Re.y,dataTransfer:at}))}catch{}let Tt=null;for(let be=1;be<=cn;be++){let ve=Re.x+(He.x-Re.x)*be/cn,Be=Re.y+(He.y-Re.y)*be/cn,pt=T.elementFromPoint(ve,Be)||ce||T.body;if(pt.dispatchEvent(new E("pointermove",rt(ve,Be,1))),pt.dispatchEvent(new U("mousemove",tt(ve,Be,1))),at)try{Tt&&Tt!==pt&&Tt.dispatchEvent(new Q("dragleave",{bubbles:!0,cancelable:!0,clientX:ve,clientY:Be,dataTransfer:at})),pt.dispatchEvent(new Q("dragenter",{bubbles:!0,cancelable:!0,clientX:ve,clientY:Be,dataTransfer:at})),pt.dispatchEvent(new Q("dragover",{bubbles:!0,cancelable:!0,clientX:ve,clientY:Be,dataTransfer:at})),Tt=pt}catch{}be%3===0&&await zn()}let Et=ce||T.elementFromPoint(He.x,He.y)||T.body;if(at)try{Et.dispatchEvent(new Q("drop",{bubbles:!0,cancelable:!0,clientX:He.x,clientY:He.y,dataTransfer:at}))}catch{}if(Et.dispatchEvent(new E("pointerup",rt(He.x,He.y,0))),Et.dispatchEvent(new U("mouseup",tt(He.x,He.y,0))),at)try{re.dispatchEvent(new Q("dragend",{bubbles:!0,cancelable:!0,clientX:He.x,clientY:He.y,dataTransfer:at}))}catch{}return{success:!0,method:"html5+pointer-dragdrop",details:`steps=${cn};source=${String(Z)}`}}catch(T){return{success:!1,method:"drag-drop",details:T?.message||"drag-drop failed",allowFallback:!0}}}async function jt(g,D,N,R){try{let T=pe(g,D),w=we(T,N),E=w.PointerEvent||PointerEvent,U=w.MouseEvent||MouseEvent;Nt(g,T,w);let Q=X(g,T,w),G={x:Q.x,y:Q.y},Z=g.getBoundingClientRect(),re=Number.isFinite(Number(R?.distance))?Number(R.distance):Math.min(Math.max(80,Math.min(Z.width,Z.height)),220),ce=String(R?.direction||"RIGHT").toUpperCase(),xe=G.x,_e=G.y;ce==="LEFT"&&(xe-=re),ce==="RIGHT"&&(xe+=re),ce==="UP"&&(_e-=re),ce==="DOWN"&&(_e+=re);let Je=(ve,Be)=>({x:Math.max(2,Math.min(ve,w.innerWidth-3)),y:Math.max(2,Math.min(Be,w.innerHeight-3))}),Pe=Je(G.x,G.y),Re=Je(xe,_e),He=700+Date.now()%1e4,vt=Math.max(10,Math.min(28,Number(R?.steps)||16)),cn=(ve,Be)=>({bubbles:!0,cancelable:!0,composed:!0,view:w,clientX:ve,clientY:Be,pageX:ve+(w.scrollX||0),pageY:Be+(w.scrollY||0)}),et=(ve,Be,pt)=>({...cn(ve,Be),pointerId:He,pointerType:"touch",isPrimary:!0,width:1,height:1,pressure:pt?.5:0,buttons:pt,button:0}),rt=(ve,Be,pt)=>({...cn(ve,Be),buttons:pt,button:0}),tt=T.elementFromPoint(Pe.x,Pe.y)||g;tt.dispatchEvent(new E("pointerdown",et(Pe.x,Pe.y,1))),tt.dispatchEvent(new U("mousedown",rt(Pe.x,Pe.y,1)));let at=w.Touch,Tt=w.TouchEvent,Et=!!at&&!!Tt;if(Et)try{let ve=new at({identifier:He,target:tt,clientX:Pe.x,clientY:Pe.y,pageX:Pe.x,pageY:Pe.y,screenX:Pe.x,screenY:Pe.y,radiusX:1,radiusY:1,rotationAngle:0,force:1});tt.dispatchEvent(new Tt("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[ve],targetTouches:[ve],changedTouches:[ve]}))}catch{}for(let ve=1;ve<=vt;ve++){let Be=Pe.x+(Re.x-Pe.x)*ve/vt,pt=Pe.y+(Re.y-Pe.y)*ve/vt,_n=T.elementFromPoint(Be,pt)||g;if(_n.dispatchEvent(new E("pointermove",et(Be,pt,1))),_n.dispatchEvent(new U("mousemove",rt(Be,pt,1))),Et)try{let wn=new at({identifier:He,target:_n,clientX:Be,clientY:pt,pageX:Be,pageY:pt,screenX:Be,screenY:pt,radiusX:1,radiusY:1,rotationAngle:0,force:1});_n.dispatchEvent(new Tt("touchmove",{bubbles:!0,cancelable:!0,composed:!0,touches:[wn],targetTouches:[wn],changedTouches:[wn]}))}catch{}ve%3===0&&await zn()}let be=T.elementFromPoint(Re.x,Re.y)||g;if(be.dispatchEvent(new E("pointerup",et(Re.x,Re.y,0))),be.dispatchEvent(new U("mouseup",rt(Re.x,Re.y,0))),Et)try{let ve=new at({identifier:He,target:be,clientX:Re.x,clientY:Re.y,pageX:Re.x,pageY:Re.y,screenX:Re.x,screenY:Re.y,radiusX:1,radiusY:1,rotationAngle:0,force:0});be.dispatchEvent(new Tt("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[ve]}))}catch{}return{success:!0,method:"swipe",details:`dir=${ce};dist=${re};steps=${vt};hitOk=${Q.ok}`}}catch(T){return{success:!1,method:"swipe",details:T?.message||"swipe failed",allowFallback:!0}}}async function We(g,D,N,R){try{let T=g||D.body,w=pe(T,D),E=we(w,N),U=E.PointerEvent||PointerEvent,Q=E.WheelEvent||WheelEvent;Nt(T,w,E);let G=Number.isFinite(Number(R?.scale))?Number(R.scale):1.2,Z=T.getBoundingClientRect(),re=Z.left+Z.width/2,ce=Z.top+Z.height/2,xe=24,_e=Math.max(6,Math.min(200,xe*G)),Je=Math.max(6,Math.min(18,Number(R?.steps)||10)),Pe=E.Touch,Re=E.TouchEvent;if(!!Pe&&!!Re)try{let et=(Et,be)=>new Pe({identifier:Et,target:T,clientX:be,clientY:ce,pageX:be,pageY:ce,screenX:be,screenY:ce,radiusX:1,radiusY:1,rotationAngle:0,force:1}),rt=et(911,re-xe),tt=et(912,re+xe);T.dispatchEvent(new Re("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[rt,tt],targetTouches:[rt,tt],changedTouches:[rt,tt]}));for(let Et=1;Et<=Je;Et++){let be=xe+(_e-xe)*Et/Je,ve=et(911,re-be),Be=et(912,re+be);T.dispatchEvent(new Re("touchmove",{bubbles:!0,cancelable:!0,composed:!0,touches:[ve,Be],targetTouches:[ve,Be],changedTouches:[ve,Be]})),Et%2===0&&await zn()}let at=et(911,re-_e),Tt=et(912,re+_e);T.dispatchEvent(new Re("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[at,Tt]}))}catch{}try{let et=(rt,tt,at)=>({bubbles:!0,cancelable:!0,composed:!0,view:E,clientX:tt,clientY:ce,pointerId:rt,pointerType:"touch",isPrimary:rt===821,width:1,height:1,pressure:at?.5:0,buttons:at,button:0});T.dispatchEvent(new U("pointerdown",et(821,re-xe,1))),T.dispatchEvent(new U("pointerdown",et(822,re+xe,1)));for(let rt=1;rt<=Je;rt++){let tt=xe+(_e-xe)*rt/Je;T.dispatchEvent(new U("pointermove",et(821,re-tt,1))),T.dispatchEvent(new U("pointermove",et(822,re+tt,1))),rt%2===0&&await zn()}T.dispatchEvent(new U("pointerup",et(821,re-_e,0))),T.dispatchEvent(new U("pointerup",et(822,re+_e,0)))}catch{}try{let vt=G>=1?-120:120;T.dispatchEvent(new Q("wheel",{bubbles:!0,cancelable:!0,composed:!0,view:E,clientX:re,clientY:ce,ctrlKey:!0,deltaY:vt,deltaMode:Q.DOM_DELTA_PIXEL}))}catch{}return{success:!0,method:"pinch-zoom",details:`scale=${G};steps=${Je}`}}catch(T){return{success:!1,method:"pinch-zoom",details:T?.message||"pinch-zoom failed",allowFallback:!0}}}async function ut(g,D,N,R=800){try{let T=pe(g,D),w=we(T,N),E=w.PointerEvent||PointerEvent,U=w.MouseEvent||MouseEvent,Q=w.FocusEvent||FocusEvent;Nt(g,T,w);let G=X(g,T,w),Z=g;!G.ok&&dn(G.hit,w)?Z=G.hit.closest?.('a,button,input,select,textarea,summary,[role="button"],[role="link"],[onclick]')||G.hit:dn(G.hit,w)&&(Z=G.hit);let re=Yn(Z,T,w),ce=G.x,xe=G.y,_e=1+Date.now()%1e4,Je={bubbles:!0,cancelable:!0,composed:!0,view:w,clientX:ce,clientY:xe,pageX:ce+(w.scrollX||0),pageY:xe+(w.scrollY||0),screenX:ce+(w.screenX||0),screenY:xe+(w.screenY||0)},Pe={...Je,pointerId:_e,pointerType:"touch",isPrimary:!0,width:1,height:1,pressure:0,buttons:0,button:0};try{Z.dispatchEvent(new E("pointerover",Pe)),Z.dispatchEvent(new E("pointerenter",{...Pe,bubbles:!1}))}catch{}try{Z.dispatchEvent(new U("mouseover",Je)),Z.dispatchEvent(new U("mouseenter",{...Je,bubbles:!1}))}catch{}try{Z.focus?.({preventScroll:!0}),Z.dispatchEvent(new Q("focus",{bubbles:!0,composed:!0})),Z.dispatchEvent(new Q("focusin",{bubbles:!0,composed:!0}))}catch{}try{Z.dispatchEvent(new E("pointerdown",{...Pe,buttons:1,pressure:.5}))}catch{}try{Z.dispatchEvent(new U("mousedown",{...Je,buttons:1,button:0}))}catch{}try{let et=w.Touch,rt=w.TouchEvent;if(typeof et<"u"&&typeof rt<"u"){let tt=new et({identifier:_e,target:Z,clientX:ce,clientY:xe,pageX:ce+(w.scrollX||0),pageY:xe+(w.scrollY||0),screenX:ce+(w.screenX||0),screenY:xe+(w.screenY||0),radiusX:1,radiusY:1,rotationAngle:0,force:1});Z.dispatchEvent(new rt("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[tt],targetTouches:[tt],changedTouches:[tt]}))}}catch{}let Re=Number(R),He=Number.isFinite(Re)&&Re>0?Re:800,vt=T.hidden?Math.max(He,1200):He;await bn(vt,T);try{Z.dispatchEvent(new U("contextmenu",{...Je,button:2,buttons:2}))}catch{}try{Z.dispatchEvent(new E("pointerup",{...Pe,buttons:0,pressure:0}))}catch{}try{Z.dispatchEvent(new U("mouseup",{...Je,buttons:0,button:0}))}catch{}try{let et=w.Touch,rt=w.TouchEvent;if(typeof et<"u"&&typeof rt<"u"){let tt=new et({identifier:_e,target:Z,clientX:ce,clientY:xe,pageX:ce+(w.scrollX||0),pageY:xe+(w.scrollY||0),screenX:ce+(w.screenX||0),screenY:xe+(w.screenY||0),radiusX:1,radiusY:1,rotationAngle:0,force:0});Z.dispatchEvent(new rt("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[tt]}))}}catch{}let cn=await br(Z,T,w,re);return{success:!0,method:"long-press",details:`holdMs=${vt};verified=${cn};hitOk=${G.ok};target=${Z.tagName.toLowerCase()}`}}catch(T){return{success:!1,method:"long-press",details:T?.message||"long-press failed",allowFallback:!0}}}function Le(g,D,N,R,T){try{let w=pe(N,R),U=we(w,T).KeyboardEvent||KeyboardEvent,Q=N||w.activeElement||w.body||w.documentElement;Q.focus?.();let G={key:g,code:ar(g),bubbles:!0,cancelable:!0,ctrlKey:D?.includes("CTRL"),altKey:D?.includes("ALT"),shiftKey:D?.includes("SHIFT"),metaKey:D?.includes("META")},Z=Q.dispatchEvent(new U("keydown",G)),re=Q.dispatchEvent(new U("keypress",G)),ce=Q.dispatchEvent(new U("keyup",G));if(g==="Enter"&&!!(Z&&re&&ce)){let _e=Q.form||Q.closest?.("form");_e?.requestSubmit?_e.requestSubmit():_e?.submit?.()}return{success:!0,method:"press-key"}}catch(w){return{success:!1,method:"press-key",details:w.message,allowFallback:!0}}}async function Ye(g,D,N){try{let R=g.innerText||g.value||"";if(!R)return{success:!1,method:"copy",details:"nothing to copy",allowFallback:!0};let T=pe(g,D),w=we(T,N);if(w.navigator?.clipboard?.writeText)return await w.navigator.clipboard.writeText(R),{success:!0,method:"clipboard-copy"};let E=T.createRange();E.selectNodeContents(g);let U=w.getSelection?.()||(T.defaultView||window).getSelection?.();U?.removeAllRanges(),U?.addRange(E);let Q=T.execCommand?.("copy")??!1;return U?.removeAllRanges(),{success:!!Q,method:"execCommand-copy",allowFallback:!Q}}catch(R){return{success:!1,method:"clipboard-copy",details:R.message,allowFallback:!0}}}async function Pt(g,D,N,R){try{g.focus?.();let T=pe(g,D),w=we(T,N);if(w.navigator?.clipboard?.readText){let U=await w.navigator.clipboard.readText();if(U)return await ze(g,T,w,U,R)}return T.execCommand?.("paste")??!1?{success:!0,method:"execCommand-paste"}:{success:!1,method:"paste",details:"clipboard empty or denied",allowFallback:!0}}catch(T){return{success:!1,method:"paste",details:T.message,allowFallback:!0}}}function $t(g){return`${(g/1024).toFixed(1)}KB`}function St(g,D){if(g instanceof D.defaultView.HTMLInputElement){let E=g;if((E.type||"").toLowerCase()==="file")return E}let N=g.closest?.("label"),R=N?.htmlFor||g.htmlFor||"";if(R){let E=D.getElementById(R);if(E&&(E.type||"").toLowerCase()==="file")return E}if(N){let E=N.querySelector?.('input[type="file"]');if(E)return E}let T=g.closest?.("form");if(T){let E=T.querySelector?.('input[type="file"]');if(E)return E}let w=g.closest?.("div,section,main,article")||g.parentElement;if(w){let E=w.querySelector?.('input[type="file"]');if(E)return E}return null}function nt(g,D,N){try{let R=N.HTMLInputElement?.prototype,T=R?Object.getOwnPropertyDescriptor(R,"files")?.set:void 0;if(!T){let w=Object.getPrototypeOf(g);for(;w&&!T;)T=Object.getOwnPropertyDescriptor(w,"files")?.set,w=Object.getPrototypeOf(w)}return T?(T.call(g,D),!0):(g.files=D,!0)}catch{try{return g.files=D,!0}catch{return!1}}}async function tn(g,D,N,R,T,w){try{let{file_url:E,element_id:U,file_name:Q}=g,G=null;if(T&&(G=St(T,D)),!G&&U!==void 0&&(G=D.querySelector(`input[type="file"][${Ln}*="[id=${U}]"]`)),!G){let be=D.querySelectorAll('input[type="file"]');for(let ve of be){if(ve.disabled)continue;let Be=ve.getBoundingClientRect();if(Be.width>0&&Be.height>0){G=ve;break}}}if(!G)return{success:!1,method:"upload-file",details:"No file input found",allowFallback:!0};if(G.disabled)return{success:!1,method:"upload-file",details:"File input is disabled",allowFallback:!0};let Z=pe(G,D),re=we(Z,N);if(!(R?.kind==="upload_file"&&typeof R.byteLength=="number"&&R.byteLength>=0&&typeof R.mimeType=="string"&&(typeof R.inlineB64=="string"||typeof R.token=="string")))return{success:!1,method:"upload-file",details:"Missing upload payload (need inlineB64 or token)",allowFallback:!0};let xe=Number(R.byteLength),_e=(R.mimeType||"application/octet-stream").split(";")[0].trim()||"application/octet-stream",Je;if(R.inlineB64&&typeof R.inlineB64=="string"){let be=mb(R.inlineB64);if(be.byteLength!==xe)return{success:!1,method:"upload-file",details:`Inline bytes length mismatch: got=${be.byteLength} expected=${xe}`,allowFallback:!0};Je=be.buffer}else{let be=String(R.token);Je=await u(re,be,xe,9e4)}let Pe=re.Blob||Blob,Re=new Pe([Je],{type:_e}),He=Q||R?.fileName;!He&&E&&typeof E=="string"&&(He=ff(E,re)),He=pb(He||"upload");let vt=re.File||File,cn=new vt([Re],He,{type:_e,lastModified:Date.now()}),et=re.Event||Event,rt=re.DataTransfer||DataTransfer;if(!rt)return{success:!1,method:"upload-file",details:"DataTransfer unavailable in this context",allowFallback:!0};let tt=new rt;if(tt.items.add(cn),!nt(G,tt.files,re))return{success:!1,method:"upload-file",details:"Failed to set input.files",allowFallback:!0};G.dispatchEvent(new et("input",{bubbles:!0,composed:!0,cancelable:!0})),G.dispatchEvent(new et("change",{bubbles:!0,composed:!0,cancelable:!0}));let Tt=yr(G);if(Tt){let be=vr(Tt);if(be.onChange){let ve=Lt("change",G,Z,re);ve.target.files=tt.files,be.onChange(ve)}}let Et=Rr(G);if(Et){let be=Qr(Et);if(be.change){let ve=new et("change",{bubbles:!0});ve.target=G,ve.target.files=tt.files,be.change(ve)}}try{let be=re.jQuery||re.$;be&&typeof be=="function"&&be(G).triggerHandler?.("change")}catch{}return G.focus?.({preventScroll:!0}),await oe(Z,re,2),{success:!0,method:"upload-file",details:`Uploaded ${He} (${$t(Re.size)}) [token]`}}catch(E){return{success:!1,method:"upload-file",details:E?.message||"Upload failed",allowFallback:!0}}}async function nn(g,D,N){let R=Array.isArray(g.path)?g.path:[];if(!R.length)return{success:!1,method:"dispatch_pointer_path",details:"Empty path",allowFallback:!0};let T=N.PointerEvent||PointerEvent,w=N.MouseEvent||MouseEvent,E=16;for(let U=0;U<R.length;U++){let Q=R[U],G=Number(Q.x)||0,Z=Number(Q.y)||0,re=Number(Q.pressure)||(U===0||U===R.length-1?0:.5),ce=D.elementFromPoint(G,Z)||D.documentElement,xe={bubbles:!0,cancelable:!0,clientX:G,clientY:Z,screenX:G,screenY:Z,view:N};if(U===0?(ce.dispatchEvent(new T("pointerdown",{...xe,pressure:re,pointerId:1,pointerType:"mouse"})),ce.dispatchEvent(new w("mousedown",{...xe,button:0,buttons:1}))):(ce.dispatchEvent(new T("pointermove",{...xe,pressure:re,pointerId:1,pointerType:"mouse"})),ce.dispatchEvent(new w("mousemove",{...xe,button:0,buttons:1}))),U===R.length-1&&(ce.dispatchEvent(new T("pointerup",{...xe,pressure:0,pointerId:1,pointerType:"mouse"})),ce.dispatchEvent(new w("mouseup",{...xe,button:0,buttons:0}))),U<R.length-1){let _e=Number(Q.timestamp)||0,Je=Number(R[U+1].timestamp)||0,Pe=_e&&Je?Math.max(0,Math.min(Je-_e,1e3)):E;Pe>0&&await bn(Pe,D)}}return{success:!0,method:"dispatch_pointer_path",details:`Dispatched ${R.length} point(s)`}}function sn(g,D,N){let R=pe(g,D),T=we(R,N),w=T.MouseEvent||MouseEvent;Nt(g,R,T),I(g,R,T),I(g,R,T);let E=g.getBoundingClientRect();return g.dispatchEvent(new w("dblclick",{bubbles:!0,cancelable:!0,clientX:E.left+E.width/2,clientY:E.top+E.height/2,detail:2,view:T})),{success:!0,method:"dblclick"}}function mn(g,D,N){let R=pe(g,D),T=we(R,N),w=T.PointerEvent||PointerEvent,E=T.MouseEvent||MouseEvent;Nt(g,R,T);let U=g.getBoundingClientRect(),Q=U.left+U.width/2,G=U.top+U.height/2,Z={bubbles:!0,cancelable:!0,composed:!0,view:T,clientX:Q,clientY:G,button:2,buttons:2};return g.dispatchEvent(new w("pointerdown",Z)),g.dispatchEvent(new E("mousedown",Z)),g.dispatchEvent(new w("pointerup",{...Z,buttons:0})),g.dispatchEvent(new E("mouseup",{...Z,buttons:0})),g.dispatchEvent(new E("contextmenu",Z)),{success:!0,method:"contextmenu"}}function Yn(g,D,N){let R=pe(g,D),T=we(R,N),w=g,E=g.getBoundingClientRect();return{href:String(T.location.href),hash:String(T.location.hash),ariaExpanded:g.getAttribute("aria-expanded"),ariaPressed:g.getAttribute("aria-pressed"),ariaDisabled:g.getAttribute("aria-disabled"),disabled:!!w.disabled,open:typeof w.open<"u"?w.open:void 0,checked:typeof w.checked<"u"?w.checked:void 0,value:typeof w.value<"u"?w.value:void 0,active:Bl(R),rect:{w:E.width,h:E.height}}}function Me(g,D){let N=Math.abs(g.rect.w-D.rect.w)>2||Math.abs(g.rect.h-D.rect.h)>2;return g.href!==D.href||g.hash!==D.hash||g.ariaExpanded!==D.ariaExpanded||g.ariaPressed!==D.ariaPressed||g.ariaDisabled!==D.ariaDisabled||g.disabled!==D.disabled||g.open!==D.open||g.checked!==D.checked||g.value!==D.value||g.active!==D.active||N}async function br(g,D,N,R){await Promise.resolve();let T=pe(g,D),w=we(T,N);D.hidden||await zn();let E=Yn(g,T,w);return Me(R,E)}function De(g,D,N){g.focus?.({preventScroll:!0});let R=pe(g,D),T=we(R,N),U=g.getAttribute("role")==="button"||eg(g,T)||g.tagName.toLowerCase()==="button"?[" ","Enter"]:["Enter"],Q=T.KeyboardEvent||KeyboardEvent;for(let G of U){let Z={key:G,code:G===" "?"Space":"Enter",bubbles:!0,cancelable:!0,composed:!0};g.dispatchEvent(new Q("keydown",Z)),g.dispatchEvent(new Q("keypress",Z)),g.dispatchEvent(new Q("keyup",Z))}return{success:!0,method:"keyboard-activate"}}async function Bt(g,D,N,...R){let T=null;for(let w of R){let E=pe(g,D),U=we(E,N),Q=Yn(g,E,U),G=w();if(!G||!G.success)continue;if(await br(g,E,U,Q))return{...G,details:(G.details?G.details+";":"")+"verified=true"};T=G}return T?{...T,details:(T.details?T.details+";":"")+"verified=false"}:{success:!1,method:"all-strategies-unverified",details:"no verified effect",allowFallback:!0}}function Tn(...g){for(let D of g)try{let N=D();if(N&&N.success)return N}catch{}return{success:!1,method:"all-strategies-failed",allowFallback:!0}}function Nt(g,D,N){let R=pe(g,D),T=we(R,N),w=g.getBoundingClientRect();w.top>=0&&w.left>=0&&w.bottom<=T.innerHeight&&w.right<=T.innerWidth||(g.scrollIntoView({behavior:"auto",block:"center",inline:"center"}),g.offsetHeight)}function xs(g,D,N,R){let T=pe(g,D),E=we(T,N).KeyboardEvent||KeyboardEvent;for(let U of R){let Q=String(U??""),G="";/^[a-z]$/i.test(Q)?G=`Key${Q.toUpperCase()}`:/^[0-9]$/.test(Q)?G=`Digit${Q}`:Q===" "&&(G="Space");let Z=Q.length===1?Q.charCodeAt(0):0,re={key:Q,code:G,bubbles:!0,cancelable:!0,composed:!0,keyCode:Z,which:Z};g.dispatchEvent(new E("keydown",re)),g.dispatchEvent(new E("keypress",re)),g.dispatchEvent(new E("keyup",re))}}function ws(g,D,N){let R=pe(g,D),w=we(R,N).KeyboardEvent||KeyboardEvent,E={key:"Enter",code:"Enter",keyCode:13,which:13,bubbles:!0,cancelable:!0,composed:!0},U=g.dispatchEvent(new w("keydown",E)),Q=g.dispatchEvent(new w("keypress",E)),G=g.dispatchEvent(new w("keyup",E));if(!!(U&&Q&&G)){let re=g.form||g.closest?.("form");re?.requestSubmit?.()??re?.submit?.()}}function ar(g){return{Enter:"Enter",Tab:"Tab",Escape:"Escape",Space:"Space"," ":"Space",ArrowUp:"ArrowUp",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",Backspace:"Backspace",Delete:"Delete",Home:"Home",End:"End",PageUp:"PageUp",PageDown:"PageDown",F1:"F1",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",F10:"F10",F11:"F11",F12:"F12"}[g]||`Key${g.toUpperCase()}`}let ft=new MessageChannel,xn=[];ft.port1.onmessage=()=>{let g=xn.shift();g&&g()};function zn(){return new Promise(g=>{xn.push(g),ft.port2.postMessage(0)})}function yr(g){let D=R=>{if(!R)return null;let T=Object.keys(R);for(let w of T)if(w.startsWith("__reactFiber")||w.startsWith("__reactInternalInstance")||w.includes("reactFiber")||w.includes("reactProps")||w.includes("reactEventHandlers")||/^__r\d+/.test(w))return R[w];return null},N=g;for(let R=0;R<4&&N;R++){let T=D(N);if(T)return T;N=N.parentElement}return null}function vr(g){let D={},N=g,R=0;for(;N&&R++<10;){let T=[N.memoizedProps,N.pendingProps,N.stateNode?.props,N._memoizedProps,N._pendingProps,N.alternate?.memoizedProps].filter(Boolean);for(let w of T)if(!(!w||typeof w!="object"))for(let E in w)E.startsWith("on")&&typeof w[E]=="function"&&(D[E]=w[E]);if(Object.keys(D).length)break;N=N.return||N.alternate}return D}function go(g,D){let N=g;for(;N;){if(N._reactRootContainer||N.__reactContainer||N.hasAttribute("data-reactroot")||N.hasAttribute("data-react-root")||["root","app","__next"].includes(N.id))return N;N=N.parentElement}return pe(g,D).querySelector("#root,#app,#__next,[data-reactroot],[data-react-root]")}function Lt(g,D,N,R){let T=pe(D,N),w=we(T,R),E=w.MouseEvent||MouseEvent,U=D.getBoundingClientRect(),Q=new E(g,{bubbles:!0,cancelable:!0,view:w,clientX:U.left+U.width/2,clientY:U.top+U.height/2});return{type:g,target:D,currentTarget:D,bubbles:!0,cancelable:!0,nativeEvent:Q,isTrusted:!0,preventDefault(){Q.preventDefault()},stopPropagation(){Q.stopPropagation()}}}function Rr(g){let D=g;if(D.__vue__)return D.__vue__;if(D.__vueParentComponent)return D.__vueParentComponent;if(D._vnode)return D._vnode;let N=g.parentElement;for(let R=0;R<3&&N;R++){let T=N;if(T.__vue__||T.__vueParentComponent||T._vnode)return T.__vue__||T.__vueParentComponent||T._vnode;N=N.parentElement}return null}function Qr(g){let D={};if(g?.$listeners&&Object.assign(D,g.$listeners),g?._events)for(let N in g._events){let R=g._events[N];D[N]=Array.isArray(R)?R[0]:R}if(g?.props)for(let N in g.props)N.startsWith("on")&&typeof g.props[N]=="function"&&(D[N.substring(2).toLowerCase()]=g.props[N]);if(g?.vnode?.props)for(let N in g.vnode.props)N.startsWith("on")&&typeof g.vnode.props[N]=="function"&&(D[N.substring(2).toLowerCase()]=g.vnode.props[N]);return D}})();function Tb(){let e=window,t=e.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__";e[t]?.actions?.execute}async function _b(e){let t=window,n=t.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t[n]?.actions?.execute;if(typeof o!="function")throw new Error("Rover main-world action executor not initialized");return o(e)}function js(e,t,n={}){let{rootNodes:r,semanticNodes:o}=af(e,{includeFrameContents:n.includeFrames??!0,clearIframes:n.includeFrames??!0,frameContextLabel:n.frameContextLabel??null,signalProvider:t.signalProvider,disableDomAnnotations:n.disableDomAnnotations??!0}),i={};for(let a of Object.keys(o)){let s=Number(a);if(!Number.isFinite(s))continue;let c=Os(s);c&&(i[s]=t.getFrameworkMetadata(c))}return{rootNodes:r,semanticNodes:o,elementMeta:i}}(()=>{let e="__rtrvr_scroll_detector",t="__RTRVR_SCROLL_API__",n="__RTRVR_INTERNAL__";if(window[e])return;class r{constructor(d=document,m=window){q(this,"doc");q(this,"win");q(this,"viewport");q(this,"lastDetectedPrimary",null);q(this,"detectionCache",new Map);q(this,"lastDetectionTime",0);q(this,"CACHE_TTL",5e3);this.doc=d,this.win=m,this.viewport={width:m.innerWidth,height:m.innerHeight},this.updateViewport()}getValidPrimary(){return this.lastDetectedPrimary&&!this.doc.contains(this.lastDetectedPrimary)&&(this.lastDetectedPrimary=null),this.lastDetectedPrimary}async handleCommand(d){switch(d.action){case"detectPrimary":{let m=this.detectPrimaryScrollable();if(!m)return null;let{target:f,isRoot:u}=this.getScrollContext(m.element),h=f.scrollHeight,b=Lr(),v=u&&b?b.innerHeight:f.clientHeight,S=Math.max(0,h-v),k=f.scrollTop;return{selector:m.selector,score:m.score,type:m.type,metrics:{scrollTop:k,scrollHeight:h,clientHeight:v,isAtTop:k<=5,isAtBottom:k>=S-5}}}case"scrollTo":if(!d.direction)throw new Error("scrollTo requires direction");return this.scrollToDirection(d.direction,d.options);case"scrollBy":if(!d.direction)throw new Error("scrollBy requires direction");return this.scrollByAmount(d.direction,d.options);case"scrollElement":if(!d.selector)throw new Error("scrollElement requires selector");return this.scrollElementIntoView(d.selector,d.position,d.options);case"getMetrics":return this.getScrollMetrics();default:throw new Error(`Unknown command: ${d.action}`)}}updateViewport(){this.viewport={width:this.win.innerWidth,height:this.win.innerHeight}}async execute(d){return this.handleCommand(d)}detectPrimaryScrollable(){if(Date.now()-this.lastDetectionTime<this.CACHE_TTL&&this.detectionCache.size>0){let u=Array.from(this.detectionCache.values()).sort((h,b)=>b.score-h.score)[0];if(u)return this.lastDetectedPrimary=u.element,u}this.updateViewport();let d=this.collectScrollableCandidates();if(d.length===0){let u=this.doc.scrollingElement||this.doc.documentElement||this.doc.body;if(!u)return null;let h=this.buildFeatures(u),b=pe(u,this.doc),v={element:u,selector:ya(u,b),score:.5,features:h,type:"document"};return this.detectionCache.clear(),this.detectionCache.set(v.selector,v),this.lastDetectionTime=Date.now(),this.lastDetectedPrimary=u,v}let m=this.scoreCandidates(d);if(m.length===0)return null;this.detectionCache.clear();for(let u of m)this.detectionCache.set(u.selector,u);this.lastDetectionTime=Date.now();let f=m[0];return f&&(this.lastDetectedPrimary=f.element),f||null}collectAllElementsDeep(d,m=15e4){let f=[],u=[],h=d.body||d.documentElement;h&&u.push(h);let b=0,v=S=>{try{let k=this.win.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",C=this.win[k]?.shadow?.getRoot;if(typeof C=="function"){let _=C(S);if(_)return _}}catch{}try{return S.shadowRoot||null}catch{return null}};for(;u.length&&!(++b>m);){let S=u.pop();if(lr(S)){let C=S.children;for(let _=C.length-1;_>=0;_--)u.push(C[_]);continue}let k=S,x=Ge(k);dn(k,x)&&f.push(k);try{let C=v(k);C&&u.push(C)}catch{}for(let C=k.lastElementChild;C;C=C.previousElementSibling)u.push(C)}return f}collectScrollableCandidates(){let d=[],m=new WeakSet,f=[this.doc.scrollingElement,this.doc.documentElement,this.doc.body];for(let h of f){if(!h||m.has(h))continue;let b=this.isScrollable(h);(b.vertical||b.horizontal)&&(d.push(h),m.add(h))}let u=this.collectAllElementsDeep(this.doc);for(let h of Array.from(u)){if(m.has(h))continue;let b=h.getBoundingClientRect(),v=this.win.getComputedStyle(h);if(!this.isElementRendered(h,b,v)||!this.isScrollable(h).vertical)continue;let k=40,x=this.viewport.width*.15;if(b.height<k||b.width<x){let C=(h.className||"").toLowerCase().includes("scroll"),_=v.overflowY==="auto"||v.overflowY==="scroll"||v.overflow==="auto"||v.overflow==="scroll";if(!C&&!_)continue}d.push(h),m.add(h)}return d}isElementRendered(d,m,f){if(f.display==="none"||f.visibility==="hidden")return!1;let u=parseFloat(f.opacity||"1");return!(!Number.isNaN(u)&&u<.01||m.width<=1||m.height<=1)}isScrollable(d){let m=this.win.getComputedStyle(d),f=m.overflowY,u=m.overflowX,h=this.doc.scrollingElement,b=d===this.doc.documentElement||d===this.doc.body||!!h&&d===h,v=d.scrollHeight,S=d.clientHeight,k=d.scrollWidth,x=d.clientWidth;if(b){let ee=this.doc.documentElement,se=this.doc.body;v=Math.max(ee?ee.scrollHeight:0,se?se.scrollHeight:0),S=this.win.innerHeight}let C=v-S>8,_=k-x>8,I=f==="auto"||f==="scroll"||f==="overlay",M=u==="auto"||u==="scroll"||u==="overlay";return{vertical:b?C:C&&I,horizontal:b?_:_&&M,byOverflow:I||M}}calculateVisibleIntersection(d){let m=Math.max(0,d.left),f=Math.max(0,d.top),u=Math.min(this.viewport.width,d.right),h=Math.min(this.viewport.height,d.bottom),b=Math.max(0,u-m),v=Math.max(0,h-f);return{width:b,height:v,area:b*v}}analyzeTextContent(d,m=2e3){let f=0,u=0,h=d.ownerDocument||this.doc,v=(h.defaultView||this.win).NodeFilter||NodeFilter,S=h.createTreeWalker(d,v.SHOW_ELEMENT|v.SHOW_TEXT,null),k=0,x=S.currentNode,C=[];for(;x&&k<m;){if(x.nodeType===Node.TEXT_NODE){let O=(x.textContent||"").replace(/\s+/g,"").length;if(O>0){f+=O;let J=x.parentElement;J&&J.closest("a")&&(u+=O)}}else x.nodeType===Node.ELEMENT_NODE&&C.push(x);k++,x=S.nextNode()}let _=C.length||1,I=f/_,M=f>0?u/f:0;return{textChars:f,linkChars:u,textDensity:I,linkDensity:M}}calculateRepetitionScore(d){let m=Array.from(d.children);if(m.length<3)return 0;let f=m.slice(0,50),u=new Map,h=new Map,b=new Map;for(let X of f){let O=Ge(X);if(!dn(X,O))continue;let J=X.getBoundingClientRect();if(J.height<5||J.width<this.viewport.width*.1)continue;let ee=Math.round(J.height/10)*10,se=Math.round(J.width/10)*10;u.set(ee,(u.get(ee)||0)+1),h.set(se,(h.get(se)||0)+1);let H=(X.className||X.tagName).toString();b.set(H,(b.get(H)||0)+1)}let v=f.length||1,S=Math.max(0,...u.values()),k=Math.max(0,...h.values()),x=Math.max(0,...b.values()),C=S/v,_=k/v,I=x/v,M=.4*C+.3*_+.3*I;return Math.min(1,Math.max(0,M))}calculateSemanticScore(d){let m=0,f=null,u=!1,h=(d.getAttribute("role")||"").toLowerCase(),b=d.tagName.toLowerCase(),v=(d.id||"").toLowerCase(),S=(d.className||"").toLowerCase(),k=`${h} ${b} ${v} ${S}`;return(b==="main"||h==="main")&&(m+=1.2,f="article"),b==="article"&&(m+=1,f=f||"article"),(h==="feed"||k.includes("feed"))&&(m+=1,f="feed"),(h==="log"||k.includes("chat")||k.includes("messages"))&&(m+=1,f="chat"),k.includes("content")&&(m+=.5),(k.includes("results")||k.includes("list"))&&(m+=.4),(k.includes("job")||k.includes("jobs"))&&(m+=.4),(b==="nav"||h==="navigation"||k.includes("sidebar"))&&(m-=1,u=!0),(b==="aside"||h==="complementary")&&(m-=.7,u=!0),(b==="footer"||h==="contentinfo"||k.includes("footer"))&&(m-=.8,u=!0),k.includes("header")&&(m-=.6),m=Math.max(-1,Math.min(1,m)),{semanticScore:m,typeHint:f,navLike:u}}detectScrollListeners(d){return[d.querySelector('[class*="infinite"]'),d.querySelector('[class*="load-more"]'),d.querySelector("[data-infinite]"),d.querySelector('[loading="lazy"]'),d.querySelector(".observer-target"),d.querySelector("[data-scroll]")].some(f=>f!==null)}buildFeatures(d){let m=d.getBoundingClientRect(),f=this.win.getComputedStyle(d),u=this.calculateVisibleIntersection(m),h=this.viewport.width*this.viewport.height||1,b=u.area/h,v=this.viewport.width>0?u.width/this.viewport.width:0,S=m.top+m.height/2,k=this.viewport.height/2||1,x=Math.min(1,Math.abs(S-k)/k),C=this.isScrollable(d),_=this.doc.scrollingElement,I=d===this.doc.documentElement||d===this.doc.body||!!_&&d===_,M=d.scrollHeight,X=d.clientHeight;if(I){let he=this.doc.documentElement,Te=this.doc.body;M=Math.max(he?he.scrollHeight:0,Te?Te.scrollHeight:0),X=this.win.innerHeight}let O=Math.max(0,M-X),J=O*u.width,ee=this.analyzeTextContent(d),se=this.calculateRepetitionScore(d),H=this.calculateSemanticScore(d),Y=d.contains(this.doc.activeElement),oe=this.detectScrollListeners(d),ie=parseInt(f.zIndex||"0",10),me=Number.isFinite(ie)?ie:0;return{geometry:{viewportCoverage:b,widthProminence:v,centerDistance:x,scrollCapacity:O,scrollSurface:J,zIndex:me},content:{textDensity:ee.textDensity,linkDensity:ee.linkDensity,repetitionScore:se,semanticScore:H.semanticScore},interaction:{hasScrollListeners:oe,hasFocus:Y,recentActivity:Y?1:0}}}inferElementType(d,m,f,u){if(f)return f;let h=(d.getAttribute("role")||"").toLowerCase(),b=(d.className||"").toLowerCase(),v=d.tagName.toLowerCase(),S=m.geometry,k=m.content;if(h==="log"||b.includes("chat")||b.includes("messages"))return"chat";let x=this.win.getComputedStyle(d);if((x.position==="fixed"||x.position==="absolute")&&S.zIndex>100&&S.viewportCoverage>.2&&S.centerDistance<.4)return"modal";if(h==="feed"||k.repetitionScore>.3&&S.scrollCapacity>400&&S.widthProminence>=.25)return"feed";if(v==="article"||k.textDensity>40&&k.linkDensity<.4&&S.widthProminence>.4)return"article";if(u||S.widthProminence<.3&&k.linkDensity>.3)return"sidebar";let _=this.doc.scrollingElement;return d===this.doc.documentElement||d===this.doc.body||_&&d===_?"document":"unknown"}scoreCandidates(d){let m=[],f=[],u=[],h=[],b=[],v=[];for(let I of d){let M=this.buildFeatures(I),X=M.content.semanticScore,O=this.calculateSemanticScore(I),J=this.inferElementType(I,M,O.typeHint,O.navLike);v.push({element:I,features:{geometry:{...M.geometry},content:{...M.content,semanticScore:O.semanticScore},interaction:M.interaction},type:J,navLike:O.navLike,semanticScore:O.semanticScore}),f.push(M.geometry.scrollSurface),u.push(M.content.textDensity),h.push(Math.abs(O.semanticScore)),b.push(M.content.repetitionScore)}let S=Math.max(0,...f),k=Math.max(0,...u),x=Math.max(0,...h),C=Math.max(0,...b),_=-1/0;for(let I of v){let{element:M,features:X,type:O,navLike:J,semanticScore:ee}=I,se=X.geometry,H=X.content,Y=X.interaction,oe=S>0?se.scrollSurface/S:0,ie=k>0?H.textDensity/k:0,me=x>0?(ee/x+1)/2:.5,he=O==="feed"||H.repetitionScore>.3&&se.scrollCapacity>400,Te=H.linkDensity>.5?(H.linkDensity-.5)/.5:0,ze=he?0:Te,Oe=(he?1:.5)*H.repetitionScore*Math.min(1,se.scrollCapacity/4e3),B={feed:.2,chat:.2,article:.08,modal:.08,document:.05,sidebar:-.12,unknown:0}[O]||0,K=0;K+=se.viewportCoverage*.18,K+=se.widthProminence*.15,K+=(1-se.centerDistance)*.07,K+=oe*.22,K+=Oe*.18,K+=ie*.08,K+=(C>0?H.repetitionScore/C:0)*.05,K+=me*.07,K-=ze*.05,Y.hasFocus&&(K+=.05),Y.hasScrollListeners&&(K+=.05),K+=B,J&&(K-=.05);let F=Math.max(0,Math.min(1,K));F>_&&(_=F),m.push({element:M,selector:ya(M,pe(M)),score:F,features:X,type:O})}if(m.sort((I,M)=>M.score-I.score),m.length>=2){let I=m[0],M=m[1];Math.abs(I.score-M.score)<.08&&I.type==="article"&&M.type==="feed"&&(m[0]=M,m[1]=I)}return m}getScrollContext(d){let m=document.scrollingElement;return d===document.documentElement||d===document.body||!!m&&d===m?{target:m||document.documentElement||document.body,isRoot:!0}:{target:d,isRoot:!1}}async scrollToDirection(d,m){let f=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!f)return{success:!1,error:"No scrollable element found"};let{target:u,isRoot:h}=this.getScrollContext(f),b=pe(u),v=we(b),S=m?.isTabActive??!b.hidden,k=m?.behavior,x=S&&k==="smooth",C=h?Math.max(b.documentElement?b.documentElement.scrollHeight:0,b.body?b.body.scrollHeight:0):u.scrollHeight,_=h?v.innerHeight:u.clientHeight,I=Math.max(0,C-_),M=()=>h?v.scrollY:u.scrollTop,X=O=>{if(x)try{h?v.scrollTo({top:O,behavior:"smooth"}):u.scrollTo({top:O,behavior:"smooth"})}catch{h?(b.scrollingElement||b.documentElement||b.body).scrollTop=O:u.scrollTop=O}else if(h){let J=b.scrollingElement||b.documentElement||b.body;J.scrollTop=O}else u.scrollTop=O};switch(d){case Kt.TOP:return X(0),{success:!0,scrollTop:0,isAtTop:!0};case Kt.BOTTOM:return X(I),{success:!0,scrollTop:I,isAtBottom:!0};default:return{success:!1,error:`Unknown direction: ${d}`}}}async scrollByAmount(d,m){let f=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!f)return{success:!1,error:"No scrollable element found"};let{target:u,isRoot:h}=this.getScrollContext(f),b=m?.isTabActive??!document.hidden,v=m?.behavior,S=b&&v==="smooth",k=Lr(),x=h&&k?k.innerHeight:u.clientHeight,C=h&&k?k.innerWidth:u.clientWidth,_=m?.amount??x*.8,I=h?Math.max(document.documentElement?document.documentElement.scrollHeight:0,document.body?document.body.scrollHeight:0):u.scrollHeight,M=h&&k?k.innerHeight:u.clientHeight,X=Math.max(0,I-M),O=ee=>{if(S)try{h?k?.scrollTo({top:ee,behavior:"smooth"}):u.scrollTo({top:ee,behavior:"smooth"})}catch{let se=document.scrollingElement||document.documentElement||document.body;se.scrollTop=ee}else{let se=h?document.scrollingElement||document.documentElement||document.body:u;se.scrollTop=ee}},J=ee=>{if(S)try{u.scrollBy({left:ee,behavior:"smooth"})}catch{u.scrollLeft+=ee}else u.scrollLeft+=ee};switch(d){case Kt.DOWN:{let se=(h&&k?k.scrollY:u.scrollTop)+_;O(se);let H=h&&k?k.scrollY:u.scrollTop;return{success:!0,scrollTop:H,isAtTop:H<=5,isAtBottom:H>=X-5}}case Kt.UP:{let ee=h&&k?k.scrollY:u.scrollTop,se=Math.max(0,ee-_);O(se);let H=h&&k?k.scrollY:u.scrollTop;return{success:!0,scrollTop:H,isAtTop:H<=5,isAtBottom:H>=X-5}}case Kt.LEFT:{let ee=-(m?.amount??C*.8);return J(ee),{success:!0,scrollLeft:u.scrollLeft}}case Kt.RIGHT:{let ee=m?.amount??C*.8;return J(ee),{success:!0,scrollLeft:u.scrollLeft}}default:return{success:!1,error:`Unknown direction: ${d}`}}}normalizeScrollPosition(d){switch(d){case An.START:return"start";case An.END:return"end";case An.NEAREST:return"nearest";case An.CENTER:default:return"center"}}getScrollContainerForElement(d){let m=document.scrollingElement,f=d;for(;f&&f!==document.body&&f!==document.documentElement;){let b=getComputedStyle(f).overflowY,v=b==="auto"||b==="scroll"||b==="overlay",S=f.scrollHeight-f.clientHeight>8;if(v&&S)return{container:f,isRoot:!1};f=f.parentElement}return{container:m||document.documentElement||document.body,isRoot:!0}}scrollElementIntoView(d,m,f){let u=document.querySelector(d);if(!u)return{success:!1,error:`Element not found for selector: ${d}`};let{container:h,isRoot:b}=this.getScrollContainerForElement(u),v=Ge(h),S=v?.DOMRect||DOMRect,k=b?new S(0,0,v.innerWidth??0,v.innerHeight??0):h.getBoundingClientRect(),x=u.getBoundingClientRect(),C=24,_=x.top>=k.top+C&&x.bottom<=k.bottom-C,I=f?.isTabActive??!document.hidden,M=f?.behavior,X=I&&M==="smooth",O=this.normalizeScrollPosition(m);if(m===An.NEAREST&&_)return{success:!0,alreadyVisible:!0,...this.getScrollMetricsForContainer(h,b)};try{u.scrollIntoView({behavior:X?"smooth":"auto",block:O,inline:"nearest"})}catch{u.scrollIntoView()}let J=this.getScrollMetricsForContainer(h,b);return{success:!0,position:O,...J}}getScrollMetricsForContainer(d,m){let f=m?Math.max(document.documentElement?document.documentElement.scrollHeight:0,document.body?document.body.scrollHeight:0):d.scrollHeight,u=pe(d),h=Ge(d),b=m&&h?h.innerHeight:d.clientHeight,v=Math.max(0,f-b),k=(m?u.scrollingElement||u.documentElement||u.body:d).scrollTop;return{scrollTop:k,scrollHeight:f,clientHeight:b,maxScroll:v,isAtTop:k<=5,isAtBottom:k>=v-5,scrollPercentage:v>0?k/v*100:0}}getScrollMetrics(){let d=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!d)return null;let{target:m,isRoot:f}=this.getScrollContext(d),u=pe(m),h=we(u),b=f?Math.max(u.documentElement?u.documentElement.scrollHeight:0,u.body?u.body.scrollHeight:0):m.scrollHeight,v=f?h.innerHeight:m.clientHeight,S=Math.max(0,b-v),x=(f?u.scrollingElement||u.documentElement||u.body:m).scrollTop;return{element:ya(m,u),scrollTop:x,scrollHeight:b,clientHeight:v,maxScroll:S,isAtTop:x<=5,isAtBottom:x>=S-5,scrollPercentage:S>0?x/S*100:0}}}let o=new r;window[e]=o;let i={execute:l=>o.execute(l)};try{Object.defineProperty(window,t,{value:i,writable:!1,configurable:!1,enumerable:!1})}catch{try{window[t]=i}catch{}}let a=window.__RTRVR_INTERNAL_KEY__||n,s=window[a],c=s&&typeof s=="object"?s:null;if(c){try{c.scroll=c.scroll||i}catch{}try{c.scroll||Object.defineProperty(c,"scroll",{value:i,writable:!1,configurable:!1,enumerable:!1})}catch{}}if(a!==n)try{!window[n]&&c&&Object.defineProperty(window,n,{value:c,writable:!1,configurable:!1,enumerable:!1})}catch{}})();var LT=/\[id=(\d+)\]/,pn;(function(e){e.HTML="html",e.PDF="pdf",e.GOOGLE_DOC="google_doc",e.GOOGLE_SHEET="google_sheet",e.PLAIN_TEXT="plain_text"})(pn||(pn={}));var DT=20,va=new Map;function PT(e,t){if(va.size>=DT&&!va.has(e)){let n=va.keys().next().value;n!==void 0&&va.delete(n)}va.set(e,t)}var OT=24,BT=220,UT=0,FT=250,zT=2,HT=300,jT=new Set(["BODY","DIV","SPAN","IMG","PICTURE","SVG"]),$T=new Set(["A","BUTTON","INPUT","SELECT","TEXTAREA","H1","H2","H3","H4","H5","H6","MAIN","NAV","HEADER","FOOTER","ARTICLE","SECTION","ASIDE"]);function qT(e){let t={};for(let n of Object.keys(e)){let r=e[Number(n)],o=r?.preservedAttributes?.[Jn["rtrvr-label"]],i=r?.resourceLocator;if(typeof o=="string"&&typeof i=="string"){let a=o.match(LT);if(a?.[1]){let s=Number(a[1]);Number.isFinite(s)&&(t[s]=i)}}}return t}function Eb(e,t){let n={};for(let r of Object.keys(e)){let o=e[Number(r)],i=Array.isArray(o?.frameRealm)?Number(o.frameRealm[0]):NaN;if(!Number.isFinite(i)||i<=0)continue;let a=typeof o.resourceLocator=="string"&&o.resourceLocator.trim()?o.resourceLocator.trim():void 0,s;if(a)try{s=new URL(a,t).origin}catch{s=void 0}let c=typeof o.computedName=="string"&&o.computedName.trim()?o.computedName.trim():void 0;n[Math.trunc(i)]={...s?{origin:s}:{},...a?{url:a}:{},...c?{title:c}:{},hostElementId:Number(r)}}return Object.keys(n).length>0?{version:1,realms:n}:void 0}function VT(e){try{let n=(e.defaultView||Lr)?.rover,r=n&&typeof n.getAgentCard=="function"?n.getAgentCard.bind(n):null;return r?Wh(r()):void 0}catch{return}}async function Db(e,t,n={}){let r=e.ownerDocument||document,o=n.pageConfig||Fo,i=String(r.contentType||"").trim().toLowerCase(),a=YT(i,r),s=XT(a.documentType,i),c=VT(r),l={url:r.URL,title:r.title,contentType:s,agentDiscovery:c},d=GT(o),m=WT(o);if(a.documentType!==pn.HTML){let O=Number(o?.pageDataTimeoutMs),J=Number.isFinite(O)?Math.max(200,Math.floor(O)):9e3,ee=Math.max(200,Math.min(J,un(d))),se=e_(r,a.documentType,o,d),H=await ga(se,ee,r);if(!H.ok)return{...l,content:"",error:`non_html_timeout:${s}`,metadata:{extractionMethod:"timeout"}};let Y=H.value||{},oe=a.documentType===pn.GOOGLE_SHEET?C_(r):void 0;return{...l,...Y,contentType:Y.contentType||l.contentType,sheetInfo:Y.sheetInfo||oe}}if(o?.onlyTextContent)return{...l,contentType:ma,content:$s(r)};let f=Math.max(0,Math.min(1e3,un(d))),u=performance.now(),h=!1;if(!o?.disableAutoScroll&&f>80){let O=r.hidden?200:400,J=Math.min(O,f);J>80&&(h=await I_(r,{profile:"light",timeBudgetMs:J,delayMs:r.hidden?0:160,finalWaitMs:r.hidden?0:200}))}let b=Math.max(0,f-(performance.now()-u));b>60&&await Ib(r,{...m,deadlineEpochMs:d,totalBudgetMs:b});let v=Math.max(0,f-(performance.now()-u));v>80&&await R_(r,{mode:"full",totalBudgetMs:Math.min(r.hidden?300:400,v),budgetMs:Math.min(r.hidden?200:300,v),maxPasses:r.hidden?1:2});let S=js(e,t,{includeFrames:n.includeFrames??!0,disableDomAnnotations:n.disableDomAnnotations??!0}),k="normal",x=0,C=0,_=[],I=Math.max(0,m.sparseTreeRetryMaxAttempts)>0,M=Rb(r,S.rootNodes,S.semanticNodes);if(M.needsStabilization){_=[...M.reasons],k="suspicious_unrecovered";let O=I?Math.max(0,Math.min(HT,un(d)-20)):0;if(O>20){let J=Date.now();await Ib(r,{...m,retries:0,deadlineEpochMs:d,totalBudgetMs:O}),C=Date.now()-J,x=1,S=js(e,t,{includeFrames:n.includeFrames??!0,disableDomAnnotations:n.disableDomAnnotations??!0});let ee=Rb(r,S.rootNodes,S.semanticNodes);ee.reasons.length>0&&(_=[...ee.reasons]),!ee.needsStabilization&&!Ab(S.rootNodes,S.semanticNodes)&&(k="suspicious_recovered")}}if(Ab(S.rootNodes,S.semanticNodes)){let O=Eb(S.semanticNodes,r.URL);return{...l,contentType:ma,content:$s(r),metadata:{scrollingPerformed:h,extractionMethod:"empty_tree_fallback",...O?{frameRealms:O}:{},treeCapture:{status:k,attempts:x,waitedMs:C,reasons:_}}}}let X=Eb(S.semanticNodes,r.URL);return{...l,contentType:ma,roots:S.rootNodes,nodes:S.semanticNodes,elementLinkRecord:qT(S.semanticNodes),metadata:{scrollingPerformed:h,extractionMethod:k!=="normal"?k:void 0,...X?{frameRealms:X}:{},treeCapture:{status:k,attempts:x,waitedMs:C,reasons:_}}}}function WT(e){let t=Number(e?.adaptiveSettleDebounceMs),n=Number(e?.adaptiveSettleMaxWaitMs),r=Number(e?.adaptiveSettleRetries),o=Number(e?.sparseTreeRetryDelayMs),i=Number(e?.sparseTreeRetryMaxAttempts);return{debounceMs:Number.isFinite(t)?Math.max(8,Math.min(500,Math.floor(t))):OT,maxWaitMs:Number.isFinite(n)?Math.max(80,Math.min(5e3,Math.floor(n))):BT,retries:Number.isFinite(r)?Math.max(0,Math.min(6,Math.floor(r))):UT,sparseTreeRetryDelayMs:Number.isFinite(o)?Math.max(20,Math.min(1e3,Math.floor(o))):FT,sparseTreeRetryMaxAttempts:Number.isFinite(i)?Math.max(0,Math.min(4,Math.floor(i))):zT}}async function Ib(e,t){let n=un(t.deadlineEpochMs);if(n<=20)return;let r=Math.max(20,Math.min(Math.floor(t.totalBudgetMs),n)),o=Date.now()+r,i=0;for(;i<=t.retries&&un(o)>20;){let a=Math.max(40,Math.min(t.maxWaitMs,un(o)));if(await KT(e,{debounceMs:t.debounceMs,windowBudgetMs:a,deadlineEpochMs:o}))return;i+=1}}async function KT(e,t){let n=e.documentElement;if(!n||typeof MutationObserver>"u")return!0;let r=Date.now(),o=new MutationObserver(()=>{r=Date.now()});try{o.observe(n,{subtree:!0,childList:!0,attributes:!0,characterData:!0})}catch{return!0}let i=Date.now()+Math.max(40,Math.floor(t.windowBudgetMs));try{for(;un(t.deadlineEpochMs)>20&&un(i)>20;){let a=Date.now()-r;if(a>=t.debounceMs)return!0;let s=Math.max(10,Math.min(60,t.debounceMs-a,un(t.deadlineEpochMs),un(i)));await bn(s,e)}}finally{o.disconnect()}return!1}function GT(e){let t=Number(e?.deadlineEpochMs);if(Number.isFinite(t)&&t>0)return t;let n=Number(e?.totalBudgetMs),r=Number.isFinite(n)?Math.max(1500,Math.floor(n)):9e3;return Date.now()+r}function XT(e,t){switch(e){case pn.PDF:return Bu;case pn.GOOGLE_DOC:return lf;case pn.GOOGLE_SHEET:return Uu;case pn.PLAIN_TEXT:return Ul;case pn.HTML:default:return t||ma}}function YT(e,t){let n=e||String(t.contentType||"").toLowerCase();return ub(n)?{documentType:pn.PDF}:JT(t)&&(ZT(t)||QT(t.URL))?{documentType:pn.PDF}:f_(t)?{documentType:pn.GOOGLE_DOC}:p_(t)?{documentType:pn.GOOGLE_SHEET}:n.includes(Ul)?{documentType:pn.PLAIN_TEXT}:{documentType:pn.HTML}}function JT(e){try{let t=i_(e);return df(t)?!0:!!t.querySelector?.('object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]')}catch{return!1}}function QT(e){try{return e?e.toLowerCase().includes(".pdf")?!0:(new URL(e).searchParams.get("file")||"").toLowerCase().includes(".pdf"):!1}catch{return String(e||"").toLowerCase().includes(".pdf")}}function ZT(e){try{let t=e.body;return!t||t.querySelectorAll('embed[type="application/pdf"],embed[type="application/x-google-chrome-pdf"],object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]').length===0||(t.innerText||"").trim().length>40?!1:Array.from(t.children).filter(i=>!["SCRIPT","STYLE"].includes(String(i.tagName).toUpperCase())).length<=3}catch{return!1}}async function e_(e,t,n,r){switch(t){case pn.PDF:return t_(e,n,r);case pn.GOOGLE_DOC:return n_(e);case pn.GOOGLE_SHEET:return T_(e,n);case pn.PLAIN_TEXT:return{content:$s(e),contentType:Ul};case pn.HTML:default:return{content:$s(e),contentType:ma}}}async function t_(e,t,n){un(n)>Ou+50&&await fb(Ou,e,n);let o=(()=>{let d=Number(t?.pdfTextSelectionTimeoutMs),m=Fo.pdfTextSelectionTimeoutMs;return Number.isFinite(d)?Math.max(150,Math.floor(d)):m})(),i=un(n),s=Number.isFinite(i)?Math.max(150,Math.min(o,Math.max(0,i-150))):o,c=await s_(e,s),l=!!c.success&&!!(c.data||"").trim();return{content:l&&c.data||"",contentType:Bu,error:l?void 0:`pdf_extraction_failed:${c.reason||"unknown"}`}}async function n_(e){return{content:S_(),contentType:lf}}function Ab(e,t){return!Array.isArray(e)||e.length===0||!t||Object.keys(t).length===0}function r_(e){return!!(e.documentElement?.hasAttribute(vi)||e.body?.hasAttribute(vi)||e.body?.getAttribute?.("aria-busy")==="true")}function o_(e,t,n){let r=Array.isArray(t)?t.length:0,o=n&&typeof n=="object"?Object.keys(n).length:0,i=o?Object.values(n):[],a=0,s=0;for(let c of i){let l=String(c?.elementName||c?.elementTag||"").trim().toUpperCase();(String(c?.textContent||c?.computedName||c?.computedDescription||"").trim().length>=2||$T.has(l))&&(s+=1),jT.has(l)&&(a+=1)}return{rootsCount:r,semanticCount:o,meaningfulNodeCount:s,genericNodeRatio:o>0?a/o:1,visibleTextLength:0,isDocumentComplete:e.readyState==="complete",busy:r_(e)}}function Rb(e,t,n){let r=o_(e,t,n),o=0;!(r.rootsCount>0&&r.semanticCount>0&&r.isDocumentComplete&&!r.busy&&r.meaningfulNodeCount>=2)&&r.semanticCount>0&&r.semanticCount<=6&&(r.meaningfulNodeCount>=1||r.genericNodeRatio>=.8)&&(o=$s(e).trim().length);let s={...r,visibleTextLength:o},c=s.rootsCount>0&&s.semanticCount>0&&s.isDocumentComplete&&!s.busy&&(s.meaningfulNodeCount>=2||s.semanticCount<=6&&s.meaningfulNodeCount>=1&&s.visibleTextLength<160),l=[];return(s.rootsCount===0||s.semanticCount===0)&&l.push("empty_tree"),s.semanticCount>0&&s.semanticCount<=4&&s.meaningfulNodeCount===0&&l.push("generic_shell"),s.semanticCount<=6&&s.meaningfulNodeCount<=1&&s.genericNodeRatio>=.8&&s.visibleTextLength>=80&&(l.includes("generic_shell")||l.push("generic_shell"),l.push("text_semantic_mismatch")),(!s.isDocumentComplete||s.busy)&&s.semanticCount<=8&&s.meaningfulNodeCount<=1&&l.push("dom_not_ready"),{proceedImmediately:c,needsStabilization:!c&&l.length>0,reasons:l,signals:s}}function $s(e){return e.body?.innerText||e.body?.textContent||e.documentElement?.innerText||e.documentElement?.textContent||""}function i_(e){try{let t=e.defaultView||window,n=t.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t[n]?.shadow?.getRoot;if(typeof o=="function"){let i=o(e.body||e.documentElement);if(i)return i}}catch{}return e}function a_(e){let t=e.URL||"";try{let n=new URL(t),r=n.searchParams.get("file")||n.searchParams.get("src")||"";return r||t}catch{return t}}async function s_(e,t){let n=Number.isFinite(t)&&t>0?Math.floor(t):Fo.pdfTextSelectionTimeoutMs,r=a_(e),o=va.get(r)??"";if(o.trim().length>0)return{success:!0,data:o,reason:"ok"};let i=await c_(e,n);return i.success&&i.data.trim()&&PT(r,i.data),i}async function c_(e,t){let n=e.defaultView||window,r=l_(e);if(!r||typeof r.postMessage!="function")return{success:!1,data:"",reason:"no_viewer"};let o=globalThis.crypto&&"randomUUID"in globalThis.crypto?globalThis.crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`,i=!1,a="",s=d=>{if(i||!d_(String(d.origin||""),e))return;let m=d.data;u_(m,o)&&typeof m.selectedText=="string"&&m.selectedText.trim().length>0&&(a=m.selectedText,i=!0)};n.addEventListener("message",s);try{r.postMessage({type:"selectAll",requestId:o},"*")}catch{}let c=Date.now();for(;!i&&Date.now()-c<t;){try{r.postMessage({type:"getSelectedText",requestId:o},"*")}catch{}if(await bn(200,e),a.trim()){i=!0;break}}return n.removeEventListener("message",s),a.trim()?{success:!0,data:a,reason:"ok"}:{success:!1,data:"",reason:Date.now()-c>=t?"timeout":"no_response"}}function l_(e){let t=df(e)||e.querySelector?.('object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]');if(t&&typeof t.postMessage=="function")return t;let n=e.querySelector?.('iframe[type="application/pdf"]');return n?.contentWindow?n.contentWindow:null}function d_(e,t){let n=(e||"").toLowerCase();if(!n||n==="null"||n.startsWith("chrome-extension://")||n.startsWith("chrome://")||n.startsWith("chrome-untrusted://"))return!0;try{let r=new URL(t.URL||"").origin.toLowerCase();if(r&&n===r)return!0}catch{}return!1}function u_(e,t){return!(!e||typeof e!="object"||e.type!=="getSelectedTextReply"||typeof e.selectedText!="string"||e.requestId&&e.requestId!==t)}function f_(e){try{let t=e.defaultView||Lr();if(t?.location.hostname==="docs.google.com"&&t?.location.pathname.startsWith("/document/d/"))return!0}catch{}try{if(e.querySelector('iframe[src^="https://docs.google.com/document/d/"]'))return!0}catch{}return ka(e)!==null}function p_(e){let n=(e.defaultView||Lr())?.location.href??"";return/^https:\/\/docs\.google\.com\/spreadsheets\/(?:u\/\d+\/)?d\/[a-zA-Z0-9_-]+/.test(n)}function m_(e){try{return e.defaultView?.top?.document??e}catch{return e}}function Wl(e){let t=[e],n=m_(e);return n!==e&&t.push(n),t}var h_=".docs-texteventtarget-iframe",g_=".kix-cursor",b_=".docos-replyview-body",y_=".docos-replyview",v_=".docos-author",Pb="\u200B",k_="\xA0";function ka(e){for(let t of Wl(e)){let n=t.querySelector(h_);if(n)return n}return null}function x_(e){for(let t of Wl(e)){let n=t.querySelector(g_);if(n)return n}return null}function $l(e){let t=x_(e);return t?(t.ownerDocument?.defaultView?.getComputedStyle(t).display??t.style.display)==="none":!1}function ql(e,t){let n=ka(e);if(!n)return;let r=t?"ArrowUp":"ArrowDown",i={key:r,keyCode:t?38:40,altKey:!0,shiftKey:!0,code:r,bubbles:!0,cancelable:!0},a=n.contentDocument,s=n.contentWindow;if(!a)return;let c=s?.KeyboardEvent||KeyboardEvent;a.dispatchEvent(new c("keydown",i))}function Cb(e){let t=ka(e);if(!t)return;let n={key:"ArrowLeft",keyCode:37,code:"ArrowLeft",bubbles:!0,cancelable:!0},r=t.contentDocument,o=t.contentWindow;if(!r)return;let i=o?.KeyboardEvent||KeyboardEvent;r.dispatchEvent(new i("keydown",n))}function w_(e){let t=ka(e);if(!t)return;let r=(typeof navigator<"u"?String(navigator.platform||""):"").toUpperCase().indexOf("MAC")>=0,o={key:"a",code:"KeyA",ctrlKey:!r,metaKey:r,bubbles:!0,cancelable:!0},i=t.contentDocument,a=t.contentWindow;if(!i)return;let s=a?.KeyboardEvent||KeyboardEvent;i.dispatchEvent(new s("keydown",o))}function Vl(e){let t=ka(e);if(!t)return"";let n=t.contentDocument,r=t.contentWindow,o=n?.body;if(!n||!o)return"";try{let s=r?.ClipboardEvent||ClipboardEvent,c=new s("copy",{bubbles:!0,cancelable:!0});o.firstChild?.dispatchEvent?.(c),o.firstChild?.dispatchEvent||o.dispatchEvent(c)}catch{}let i=o.innerText||o.textContent||"";return String(i).replace(new RegExp(Pb,"g"),"")??""}function gf(e){let t=`
|
|
2
|
+
"use strict";var __roverSDK=(()=>{var ml=Object.defineProperty;var P0=Object.getOwnPropertyDescriptor;var O0=Object.getOwnPropertyNames;var B0=Object.prototype.hasOwnProperty;var U0=(e,t,n)=>t in e?ml(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var F0=(e,t)=>{for(var n in t)ml(e,n,{get:t[n],enumerable:!0})},z0=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of O0(t))!B0.call(e,o)&&o!==n&&ml(e,o,{get:()=>t[o],enumerable:!(r=P0(t,o))||r.enumerable});return e};var H0=e=>z0(ml({},"__esModule",{value:!0}),e);var q=(e,t,n)=>U0(e,typeof t!="symbol"?t+"":t,n);var $M={};F0($M,{__roverInternalsForTests:()=>jM,attachLaunch:()=>_h,boot:()=>Yc,close:()=>Lu,createRoverAgentCard:()=>Xo,createRoverAgentCardJson:()=>Ba,createRoverAgentDiscoveryTags:()=>Rk,createRoverBookmarklet:()=>lk,createRoverConsoleSnippet:()=>ck,createRoverOwnerInstallBundle:()=>Dk,createRoverScriptTagSnippet:()=>dk,createRoverServiceDescLinkHeader:()=>Id,createRoverSiteProfile:()=>Oa,createRoverSiteProfileJson:()=>hc,createRoverWellKnownAgentCard:()=>Ik,createRoverWellKnownSiteProfile:()=>Ak,endTask:()=>Du,getAgentCard:()=>jm,getState:()=>Ah,hide:()=>Sh,identify:()=>kh,init:()=>xh,installGlobal:()=>b0,newTask:()=>dl,open:()=>Nn,readRoverScriptDataAttributes:()=>Ap,registerPromptContextProvider:()=>Ih,registerTool:()=>Rh,requestSigned:()=>Eh,send:()=>Th,show:()=>wh,shutdown:()=>ku,update:()=>vu});var hl;(function(e){e.FLASH_LITE="Gemini Flash Lite",e.FLASH="Gemini Flash",e.PRO="Gemini Pro"})(hl||(hl={}));var Fh;(function(e){e[e.NativeHostConnected=0]="NativeHostConnected",e[e.NativeHostDisconnected=1]="NativeHostDisconnected"})(Fh||(Fh={}));var j0=["image/png","image/jpeg","image/webp"],$0=["application/pdf","text/plain"],KM=[...j0,...$0];var bn;(function(e){e.ACT="act_on_tab",e.CRAWL="crawl_and_extract_from_tab",e.EXTRACT="extract_from_tab",e.SHEETS_WORKFLOW="sheets_workflow",e.INFER_SHEET_DATA="infer_sheet_data",e.GRAPHBOT="graph_bot",e.PDF_FILLER="pdf_filler",e.CUSTOM_TOOL_GENERATOR="custom_tool_generator",e.WEBPAGE_GENERATOR="webpage_generator",e.GOOGLE_DOC_GENERATOR="google_doc_generator",e.GOOGLE_SLIDES_GENERATOR="google_slides_generator",e.PROCESS_TEXT="process_text",e.CREATE_SHEET_FROM_DATA="create_sheet_from_data",e.ROVER_EXTERNAL_READ_CONTEXT="rover_external_read_context",e.ROVER_EXTERNAL_ACT_CONTEXT="rover_external_act_context",e.CONFIGURE_API_KEY="configure_api_key",e.TASK_COMPLETE="task_complete",e.ASK_USER="ask_user",e.EXECUTE_MULTIPLE_TOOLS="execute_multiple_tools",e.QUERY_RTRVR_AI_DOCUMENTATION="query_rtrvr_ai_documentation"})(bn||(bn={}));var dn;(function(e){e.PLANNER="Planner",e.AGENTIC_SEEK="Agentic Action",e.CRAWL_PAGES="Crawl Pages",e.EXTRACT_PAGE="Extract Page",e.SHEETS_WORKFLOW="Sheets Workflow",e.INFER_SHEET_DATA="Infer Sheet Data",e.MULTI_STEPS="Multi Steps",e.PDF_FILLER="PDF Filler",e.CUSTOM_TOOL_GENERATOR="Custom Tool Generator",e.WEBPAGE_GENERATOR="WebPage Generator",e.GOOGLE_DOC_GENERATOR="Google Doc Generator",e.GOOGLE_SLIDES_GENERATOR="Google Slides Generator",e.PROCESS_TEXT="Process Text",e.CREATE_SHEET_FROM_DATA="Create Sheet From Data",e.ROVER_EXTERNAL_READ_CONTEXT="Rover External Read Context",e.ROVER_EXTERNAL_ACT_CONTEXT="Rover External Act Context",e.EXECUTE_MULTIPLE_TOOLS="Execute Multiple User Tools",e.CONFIGURE_API_KEY="Configure Gemini API Key",e.QUERY_RTRVR_AI_DOCUMENTATION="query_rtrvr_ai_documentation"})(dn||(dn={}));var GM={[bn.ACT]:dn.AGENTIC_SEEK,[bn.CRAWL]:dn.CRAWL_PAGES,[bn.EXTRACT]:dn.EXTRACT_PAGE,[bn.SHEETS_WORKFLOW]:dn.SHEETS_WORKFLOW,[bn.INFER_SHEET_DATA]:dn.INFER_SHEET_DATA,[bn.PDF_FILLER]:dn.PDF_FILLER,[bn.CUSTOM_TOOL_GENERATOR]:dn.CUSTOM_TOOL_GENERATOR,[bn.WEBPAGE_GENERATOR]:dn.WEBPAGE_GENERATOR,[bn.GOOGLE_DOC_GENERATOR]:dn.GOOGLE_DOC_GENERATOR,[bn.GOOGLE_SLIDES_GENERATOR]:dn.GOOGLE_SLIDES_GENERATOR,[bn.PROCESS_TEXT]:dn.PROCESS_TEXT,[bn.CREATE_SHEET_FROM_DATA]:dn.CREATE_SHEET_FROM_DATA,[bn.ROVER_EXTERNAL_READ_CONTEXT]:dn.ROVER_EXTERNAL_READ_CONTEXT,[bn.ROVER_EXTERNAL_ACT_CONTEXT]:dn.ROVER_EXTERNAL_ACT_CONTEXT,[bn.EXECUTE_MULTIPLE_TOOLS]:dn.EXECUTE_MULTIPLE_TOOLS,[bn.CONFIGURE_API_KEY]:dn.CONFIGURE_API_KEY,[bn.QUERY_RTRVR_AI_DOCUMENTATION]:dn.QUERY_RTRVR_AI_DOCUMENTATION};var Uu=200;var q0=30,V0=320,W0=0,K0=50,G0=1,XM=hl.FLASH;var YM=dn.PLANNER;var Fu="application/pdf",zu="application/gsheet";var JM=20*1024*1024;var zo={maxParallelTabs:4,pageLoadDelay:2e3,disableAutoScroll:!0,makeNewTabsActive:!1,writeRowProcessingTime:!1,totalBudgetMs:25e3,pageDataTimeoutMs:22e3,adaptiveSettleDebounceMs:q0,adaptiveSettleMaxWaitMs:V0,adaptiveSettleRetries:W0,sparseTreeRetryDelayMs:K0,sparseTreeRetryMaxAttempts:G0,pdfTextSelectionTimeoutMs:12e3,onlyTextContent:!1};function sr(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function qt(e,t=0){let n=String(e||"").replace(/\s+/g," ").trim();return!t||n.length<=t?n:n.slice(0,t).trim()}function Hu(e,t=!1){return typeof e=="boolean"?e:t}function yo(e,t){if(!Array.isArray(e))return[];let n=new Set,r=[],o=Math.max(1,Number(t?.max)||24),i=Math.max(8,Number(t?.maxLen)||240);for(let a of e){let s=qt(a,i);if(!s)continue;let c=s.toLowerCase();if(!n.has(c)&&(n.add(c),r.push(s),r.length>=o))break}return r}function X0(e){return e==="browser"||e==="cloud"||e==="auto"?e:"auto"}function Hh(e){return e==="run"||e==="shortcut"||e==="client_tool"||e==="webmcp"?e:void 0}function jh(e){return e==="shortcut"||e==="client_tool"||e==="webmcp"||e==="additional"?e:void 0}function $h(e){return e==="silent"||e==="beacon"||e==="integrated"||e==="debug"?e:void 0}function Y0(e){return e==="site"||e==="co"||e==="rover"?e:void 0}function qh(e){return e==="auto"||e==="existing-assistant"||e==="floating-corner"||e==="inline-primary"?e:void 0}function Vh(e){return e==="click"||e==="focus"||e==="keyboard"||e==="agent-handshake"?e:void 0}function Wh(e){let t=sr(e);return t?{...t}:void 0}function J0(e){return e==="text"||e==="markdown"||e==="json"||e==="observation"||e==="artifacts"?e:void 0}function Q0(e){let t=sr(e);if(!t)return null;let n=sr(t.rover),r=qt(t.id,120),o=qt(t.name,180);return!r||!o?null:{id:r,name:o,preferredInterface:Hh(t.preferredInterface),source:jh(n?.source),deepLink:qt(n?.deepLink,2048)||void 0,toolName:qt(n?.toolName,120)||void 0,runPayload:Wh(sr(n?.run)?.payload)}}function Z0(e){let t=sr(e);if(!t)return null;let n=sr(t.rover),r=qt(t.capabilityId||t.id,120),o=qt(t.label||t.name,180);if(!r||!o)return null;let i=Array.isArray(t.resultModes)?t.resultModes.map(a=>J0(a)).filter(a=>!!a):[];return{capabilityId:r,version:qt(t.version,80)||void 0,label:o,description:qt(t.description,320)||void 0,preferredInterface:Hh(t.preferredInterface),source:jh(n?.source),...i.length?{resultModes:i}:{},pageScope:yo(t.pageScope,{max:24,maxLen:80}),analyticsTags:yo(t.analyticsTags,{max:24,maxLen:64}),deepLink:qt(n?.deepLink,2048)||void 0,toolName:qt(n?.toolName,120)||void 0,runPayload:Wh(sr(n?.run)?.payload)}}function eS(e){let t=sr(e);if(!t)return;let n=$h(t.mode),r=Y0(t.branding),o=qh(t.hostSurface),i=Vh(t.actionReveal);if(!(!n||!r||!o||!i))return{mode:n,branding:r,hostSurface:o,actionReveal:i,beaconLabel:qt(t.beaconLabel,180)||void 0,agentModeEntryHints:yo(t.agentModeEntryHints,{max:8,maxLen:240})}}function zh(e){let t=sr(e);if(!t)return null;let n=qt(t.pageId||t.id,120);if(!n)return null;let r=qt(t.beaconLabel||t.visibleCueLabel,180)||void 0;return{pageId:n,route:qt(t.route,512)||void 0,label:qt(t.label,180)||void 0,capabilityIds:yo(t.capabilityIds,{max:48,maxLen:120}),entityHints:yo(t.entityHints,{max:24,maxLen:120}),formHints:yo(t.formHints,{max:24,maxLen:120}),visibleCueLabel:r,beaconLabel:r,discoveryMode:$h(t.discoveryMode),hostSurface:qh(t.hostSurface),actionReveal:Vh(t.actionReveal),agentModeEntryHints:yo(t.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:yo(t.capabilitySummary,{max:12,maxLen:180})}}function Kh(e){let t=sr(e);if(!t)return;let n=sr(t.extensions),r=sr(n?.rover);if(!r)return;let o=qt(r.siteUrl,2048),i=qt(r.runEndpoint||t.url,2048),a=qt(r.workflowEndpoint,2048);if(!o||!i||!a)return;let s=Hu(r.a2wRunsEnabled),c=Hu(r.delegatedHandoffs),l=sr(r.webmcp),d=Hu(l?.available),m=eS(r.discoverySurface),f=Array.isArray(t.skills)?t.skills.map(S=>Q0(S)).filter(S=>!!S):[],u=Array.isArray(r.capabilitiesGraph)?r.capabilitiesGraph.map(S=>Z0(S)).filter(S=>!!S):[],h=Array.isArray(r.pages)?r.pages.map(S=>zh(S)).filter(S=>!!S):[],b=zh(r.currentPage),v=yo(r.instructions,{max:12,maxLen:280});return{roverEnabled:s||d,siteUrl:o,runEndpoint:i,workflowEndpoint:a,serviceDescUrl:qt(r.serviceDescUrl,2048)||void 0,llmsUrl:qt(r.llmsUrl,2048)||void 0,roverSiteUrl:qt(r.roverSiteUrl,2048)||void 0,preferredExecution:X0(r.preferredExecution),a2wRunsEnabled:s,delegatedHandoffs:c,webmcpAvailable:d,skills:f,...m?{discoverySurface:m}:{},...u.length?{capabilities:u}:{},...h.length?{pages:h}:{},...b?{page:b}:{},instructions:v}}var Xh={semanticIdStart:1,interactiveIdStart:1,includeFrameContents:!0,clearIframes:!0,frameContextLabel:null,signalProvider:null,disableDomAnnotations:!1},$n={...Xh},bl=globalThis;function Yh(e){$n={...Xh,...e||{}}}function yi(){return $n.signalProvider??null}function Vt(){try{return typeof bl.document<"u"?bl.document:null}catch{return null}}function Lr(){try{return typeof bl.window<"u"?bl.window:null}catch{return null}}function pe(e,t){if(e&&typeof e=="object"){let n=e.ownerDocument;if(n)return n;if(e.nodeType===9)return e}return t??Vt()??{}}function Ge(e,t){return pe(e,t?t.document:null)?.defaultView??t??Lr()??{}}function we(e,t){return e?.defaultView??t??Lr()??{}}function yl(e,t){try{return e?.getElementById?.(t)??null}catch{return null}}function vl(e,t){try{return e?.querySelector?.(t)??null}catch{return null}}function ju(e,t){try{return Array.from(e?.querySelectorAll?.(t)??[])}catch{return[]}}function Es(e){try{return e.contentDocument||(e.contentWindow?.document??null)}catch{return null}}function kl(e,t){let n=e.CSS?.escape;return typeof n=="function"?n(t):t.replace(/([^\w-])/g,"\\$1")}function cr(e,t){try{return e[t]}catch{return}}function Zr(e,t){return!!e&&String(e.tagName||"").toUpperCase()===t.toUpperCase()}function Jh(e,t){let n=cr(t,"HTMLAnchorElement");return n?e instanceof n:Zr(e,"A")}function wr(e,t){let n=cr(t,"HTMLInputElement");return n?e instanceof n:Zr(e,"INPUT")}function Dr(e,t){let n=cr(t,"HTMLTextAreaElement");return n?e instanceof n:Zr(e,"TEXTAREA")}function Qh(e,t){let n=cr(t,"HTMLLabelElement");return n?e instanceof n:Zr(e,"LABEL")}function Zh(e,t){let n=cr(t,"HTMLSelectElement");return n?e instanceof n:Zr(e,"SELECT")}function eg(e,t){let n=cr(t,"HTMLSlotElement");return n?e instanceof n:Zr(e,"SLOT")}function tg(e,t){let n=cr(t,"HTMLButtonElement");return n?e instanceof n:Zr(e,"BUTTON")}function ng(e,t){let n=cr(t,"HTMLImageElement");return n?e instanceof n:Zr(e,"IMG")}function rg(e,t){let n=cr(t,"HTMLVideoElement");return n?e instanceof n:Zr(e,"VIDEO")}function og(e,t){let n=cr(t,"HTMLCanvasElement");return n?e instanceof n:Zr(e,"CANVAS")}function un(e,t){if(!e||e.nodeType!==1)return!1;let n=cr(t,"HTMLElement");return n?e instanceof n:typeof e.tagName=="string"}function lr(e){return!!e&&e.nodeType===11&&typeof e.host=="object"&&typeof e.mode=="string"}function vi(e){if(!e||e.nodeType!==1)return!1;let t=pe(e),r=we(t).Element;return r?e instanceof r:typeof e.tagName=="string"}function Is(e){if(!e||e.nodeType!==1)return!1;let t=pe(e),r=we(t).HTMLIFrameElement;return r&&e instanceof r?!0:String(e.tagName||"").toUpperCase()==="IFRAME"}function tS(e,t){if(!e)return!1;if(e.nodeType===9)return!0;let n=cr(t,"Document");return n?e instanceof n:!1}function nS(e,t){if(!e)return!1;let n=cr(t,"Window");if(n)return e instanceof n;try{return e.window===e}catch{return!1}}function xl(e){try{return e.document}catch{return null}}function wl(e,t){if(tS(e,t))try{return e.documentElement}catch{return null}if(nS(e,t)){let n=xl(e);if(!n)return null;try{return n.documentElement}catch{return null}}return null}function gl(e){if(!e)return null;if(typeof e=="string")return e;if(typeof e=="object"&&typeof e.baseVal=="string")return e.baseVal;try{return String(e)}catch{return null}}function Gh(e,t,n){try{let r=pe(t,n);return new URL(e,r.baseURI).href}catch{return e}}function ig(e,t){let n=e.tagName.includes("-"),r=e.getAttribute("href")||e.getAttribute("src")||e.getAttribute("data")||e.getAttribute("action");if(r){let o=Gh(r,e,t);return o.trim().toLowerCase().startsWith("javascript:")?null:o}if(n)return null;try{let o=e,i=gl(o.href)||gl(o.src)||gl(o.data)||gl(o.action);return i?Gh(i,e,t):null}catch{return null}}var ag=["click","dblclick","doubleclick","mousedown","mouseup","mouseenter","mouseleave","mousemove","mouseover","mouseout","contextmenu","auxclick","keydown","keyup","keypress","input","change","submit","reset","select","search","invalid","beforeinput","focus","blur","focusin","focusout","touchstart","touchend","touchmove","touchcancel","pointerdown","pointerup","pointermove","pointerenter","pointerleave","pointercancel","pointerover","dragstart","dragend","drag","dragenter","dragleave","dragover","drop","copy","cut","paste","scroll","wheel","play","pause","ended","volumechange","seeking","seeked","animationstart","animationend","transitionend","transitionstart","resize","toggle","fullscreenchange","load","error","abort","beforeunload","unload","hashchange","popstate","storage","message"],wt={};ag.forEach((e,t)=>{wt[e]=t});var vo={};ag.forEach((e,t)=>{vo[t]=e});function ki(e){if(!e)return null;let t=e.trim();if(!t||!t.includes("~"))return null;let n=[];for(let r of t.split(",")){if(!r)continue;let[o,i]=r.split("~"),a=Number(o);if(!Number.isFinite(a))continue;let s=i&&parseInt(i,36)||0;n.push({id:a,mask:s})}return n.length?{entries:n}:null}function rS(e){let t=ki(e);if(t){let n=new Set;for(let{id:r}of t.entries)n.add(r);return[...n]}return[]}function As(e){return da(e).map(n=>vo[n]).filter(n=>!!n)}function da(e){let t=yi();if(t?.getEventHandlerIds)try{let o=t.getEventHandlerIds(e);if(o&&o.length)return o}catch{}let n=e.getAttribute(Ho),r=rS(n);return!r||r.length===0?[]:r}var $u=["media"],sg=new Set($u),qu=["alert","alertdialog","application","directory","feed","grid","log","marquee","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","note","radiogroup","scrollbar","search","switch","tab","tablist","tabpanel","timer","toolbar","tooltip","tree","treegrid","treeitem"];var cg=new Set(qu),ko=new Set(["button","checkbox","combobox","figure","img","link","listbox","option","radio","scrollbar","searchbox","separator","slider","spinbutton","switch","tab","tabpanel","textbox","tooltip","treeitem","grid","gridcell","table","cell","columnheader","rowheader","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","tree","treegrid","radiogroup","application","dialog","alertdialog","alert","status","progressbar","meter","search","code","media"]),Rs=new Set(["group","region","section","banner","contentinfo","main","navigation","complementary","form","article","document","presentation","none"]);var lg=["none","presentation"],ct;(function(e){e[e.ANCESTOR_ROLE_REQUIRED=6]="ANCESTOR_ROLE_REQUIRED",e[e.PROPERTY_VALUE_MATCH=5]="PROPERTY_VALUE_MATCH",e[e.HAS_TABLE_ROW_DATA=7]="HAS_TABLE_ROW_DATA",e[e.BOOLEAN_PROPERTY=0]="BOOLEAN_PROPERTY",e[e.ATTRIBUTE_GREATER_THAN=2]="ATTRIBUTE_GREATER_THAN",e[e.HAS_TABLE_COLUMN_DATA=8]="HAS_TABLE_COLUMN_DATA",e[e.FORBIDDEN_ANCESTORS=1]="FORBIDDEN_ANCESTORS",e[e.HAS_ACCESSIBLE_NAME=4]="HAS_ACCESSIBLE_NAME",e[e.ATTRIBUTE_LESS_THAN=3]="ATTRIBUTE_LESS_THAN"})(ct||(ct={}));var dg={a:["link"],area:["link"],article:["article"],aside:["complementary"],body:["document"],button:["button"],datalist:["listbox"],dd:["definition"],details:["group"],dfn:["term"],dialog:["dialog"],dt:["term"],fieldset:["group"],figure:["figure"],footer:["contentinfo"],form:["form"],h1:["heading"],h2:["heading"],h3:["heading"],h4:["heading"],h5:["heading"],h6:["heading"],header:["banner"],hr:["separator"],img:["img"],input:["button","checkbox","combobox","radio","searchbox","slider","spinbutton","textbox"],li:["listitem"],link:["link"],main:["main"],math:["math"],menu:["list"],nav:["navigation"],ol:["list"],optgroup:["group"],option:["option"],output:["status"],progress:["progressbar"],section:["region"],select:["combobox","listbox"],summary:["button"],table:["table"],tbody:["rowgroup"],td:["cell","gridcell"],textarea:["textbox"],tfoot:["rowgroup"],th:["cell","columnheader","gridcell","rowheader"],thead:["rowgroup"],tr:["row"],ul:["list"],code:["code"],pre:["code"]},Cs={heading:{selector:"h6,h1,h3,h2,h5,h4"},checkbox:{conditionalSelectors:[{selector:"input",conditions:[{type:ct.PROPERTY_VALUE_MATCH,property:"type",values:["checkbox"]}]}]},navigation:{selector:"nav"},row:{selector:"tr"},complementary:{selector:"aside"},table:{selector:"table"},gridcell:{conditionalSelectors:[{selector:"td",conditions:[{type:ct.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"grid"}]},{selector:"td",conditions:[{type:ct.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"treegrid"}]},{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:ct.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"treegrid"},{type:ct.HAS_TABLE_COLUMN_DATA,hasData:!0},{type:ct.HAS_TABLE_ROW_DATA,hasData:!0}]}]},slider:{conditionalSelectors:[{selector:"input",conditions:[{type:ct.PROPERTY_VALUE_MATCH,property:"type",values:["range"]}]}]},listitem:{selector:"li"},contentinfo:{conditionalSelectors:[{selector:"footer",conditions:[{type:ct.FORBIDDEN_ANCESTORS,selector:'section,nav,main,aside,article,[role="region"],[role="navigation"],[role="main"],[role="complementary"],[role="article"]'}]}]},definition:{selector:"dd"},button:{selector:"summary,button",conditionalSelectors:[{selector:"input",conditions:[{type:ct.PROPERTY_VALUE_MATCH,property:"type",values:["submit","reset","image","button"]}]}]},status:{selector:"output"},form:{conditionalSelectors:[{selector:"form",conditions:[{type:ct.HAS_ACCESSIBLE_NAME}]}]},article:{selector:"article"},textbox:{selector:"textarea",conditionalSelectors:[{selector:"input:not([list])",conditions:[{type:ct.PROPERTY_VALUE_MATCH,property:"type",values:["url","text","tel","email"]}]}]},radio:{conditionalSelectors:[{selector:"input",conditions:[{type:ct.PROPERTY_VALUE_MATCH,property:"type",values:["radio"]}]}]},columnheader:{selector:'th[scope="colgroup"],th[scope="col"]',conditionalSelectors:[{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:ct.HAS_TABLE_ROW_DATA,hasData:!1}]}]},list:{selector:"ul,ol,menu"},region:{conditionalSelectors:[{selector:"section",conditions:[{type:ct.HAS_ACCESSIBLE_NAME}]}]},document:{selector:"body"},option:{selector:"select > option,select > optgroup > option,datalist > option"},separator:{selector:"hr"},link:{selector:"area[href],a[href],link[href]"},img:{selector:"img[alt],img:not([alt])"},main:{selector:"main"},searchbox:{conditionalSelectors:[{selector:"input:not([list])",conditions:[{type:ct.PROPERTY_VALUE_MATCH,property:"type",values:["search"]}]}]},cell:{conditionalSelectors:[{selector:"td",conditions:[{type:ct.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"table"}]},{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:ct.ANCESTOR_ROLE_REQUIRED,tag:"table",role:"table"},{type:ct.HAS_TABLE_COLUMN_DATA,hasData:!0},{type:ct.HAS_TABLE_ROW_DATA,hasData:!0}]}]},rowheader:{selector:'th[scope="rowgroup"],th[scope="row"]',conditionalSelectors:[{selector:'th:not([scope="rowgroup"]):not([scope="row"]):not([scope="colgroup"]):not([scope="col"])',conditions:[{type:ct.HAS_TABLE_COLUMN_DATA,hasData:!1},{type:ct.HAS_TABLE_ROW_DATA,hasData:!0}]}]},dialog:{selector:"dialog"},listbox:{selector:"select[multiple],datalist",conditionalSelectors:[{selector:"select",conditions:[{type:ct.ATTRIBUTE_GREATER_THAN,attribute:"size",value:1}]}]},group:{selector:"optgroup,fieldset,details"},term:{selector:"dt,dfn"},progressbar:{selector:"progress"},figure:{selector:"figure"},spinbutton:{conditionalSelectors:[{selector:"input",conditions:[{type:ct.PROPERTY_VALUE_MATCH,property:"type",values:["number"]}]}]},math:{selector:"math"},combobox:{selector:"select:not([size]):not([multiple])",conditionalSelectors:[{selector:"select:not([multiple])",conditions:[{type:ct.ATTRIBUTE_LESS_THAN,attribute:"size",value:2}]},{selector:"input[list]",conditions:[{type:ct.PROPERTY_VALUE_MATCH,property:"type",values:["url","text","tel","search","email"]}]}]},banner:{conditionalSelectors:[{selector:"header",conditions:[{type:ct.FORBIDDEN_ANCESTORS,selector:'[role="region"],[role="navigation"],[role="main"],[role="complementary"],[role="article"],section,nav,main,aside,article'}]}]},rowgroup:{selector:"thead,tfoot,tbody"},code:{selector:"code,pre"}},Ho="rtrvr-ls",xo="rtrvr-ro",Vu="rtrvr-mw-ready",xi="rtrvr-mw-busy",Wu="rtrvr-mwa-ready",ug=new Set(["button","cell","checkbox","columnheader","gridcell","heading","link","menuitem","menuitemcheckbox","menuitemradio","option","radio","row","rowgroup","rowheader","switch","tab","tooltip","tree","treeitem","sectionhead","definition","term","deletion","insertion"]),fg=["BUTTON","INPUT","METER","OUTPUT","PROGRESS","SELECT","TEXTAREA"],pg=["h1","h2","h3","h4","h5","h6"],mg="http://www.w3.org/1999/xhtml",hg="http://www.w3.org/2000/svg",Ln="rtrvr-label";var _l=new Set(["NOSCRIPT","SCRIPT","STYLE","META"]),wi="CODE",Si="PRE",gg="aria-hidden",bg="target";var Sl;(function(e){e[e.value=0]="value",e[e.alt=1]="alt",e[e.list=2]="list",e[e.title=3]="title"})(Sl||(Sl={}));var ua;(function(e){e[e["data-icon"]=13]="data-icon",e[e["data-name"]=14]="data-name",e[e["data-tooltip"]=15]="data-tooltip",e[e["data-label"]=16]="data-label"})(ua||(ua={}));var Tl;(function(e){e[e.VALUENOW=0]="VALUENOW",e[e.VALUETEXT=1]="VALUETEXT"})(Tl||(Tl={}));var Ku=new Set([wt.click,wt.dblclick,wt.doubleclick,wt.contextmenu,wt.auxclick,wt.pointerdown,wt.pointerup,wt.mousedown,wt.mouseup,wt.touchstart,wt.touchend,wt.keydown,wt.keyup,wt.input,wt.beforeinput,wt.change,wt.submit,wt.reset,wt.paste,wt.dragstart,wt.dragend,wt.drop]),yg=new Set([...Ku,wt.scroll,wt.wheel,wt.mouseenter,wt.mouseover,wt.focus,wt.blur,wt.focusin,wt.focusout]),El=new Set(["click","dblclick","auxclick","contextmenu","mousedown","mouseup","pointerdown","pointerup","touchstart","touchend"]),Gu=new Set(["input","change","beforeinput","keydown","keyup","keypress","paste","compositionstart","compositionend"]),Xu=new Set(["drag","dragstart","dragend","dragenter","dragleave","dragover","drop"]);var Ms;(function(e){e[e.ELEMENT=1]="ELEMENT",e[e.ATTRIBUTE=2]="ATTRIBUTE",e[e.TEXT=3]="TEXT",e[e.CDATA_SECTION=4]="CDATA_SECTION",e[e.ENTITY_REFERENCE=5]="ENTITY_REFERENCE",e[e.ENTITY=6]="ENTITY",e[e.PROCESSING_INSTRUCTION=7]="PROCESSING_INSTRUCTION",e[e.COMMENT=8]="COMMENT",e[e.DOCUMENT=9]="DOCUMENT",e[e.DOCUMENT_TYPE=10]="DOCUMENT_TYPE",e[e.DOCUMENT_FRAGMENT=11]="DOCUMENT_FRAGMENT",e[e.NOTATION=12]="NOTATION"})(Ms||(Ms={}));var Ns;(function(e){e[e.HTML=0]="HTML",e[e.SVG=1]="SVG"})(Ns||(Ns={}));var Pr;(function(e){e[e.SameOrigin=0]="SameOrigin",e[e.Cooperative=1]="Cooperative",e[e.Adapter=2]="Adapter",e[e.Opaque=3]="Opaque",e[e.Verification=4]="Verification"})(Pr||(Pr={}));var Or;(function(e){e[e.None=0]="None",e[e.CrossOriginNoAgent=1]="CrossOriginNoAgent",e[e.EmptyDom=2]="EmptyDom",e[e.NotReady=3]="NotReady",e[e.Timeout=4]="Timeout",e[e.SandboxBlocked=5]="SandboxBlocked",e[e.AdapterUnavailable=6]="AdapterUnavailable",e[e.TreeFailed=7]="TreeFailed"})(Or||(Or={}));var Il;(function(e){e[e.VALUENOW=0]="VALUENOW",e[e.VALUETEXT=1]="VALUETEXT",e[e.ATOMIC=2]="ATOMIC",e[e.AUTOCOMPLETE=3]="AUTOCOMPLETE",e[e.COLCOUNT=4]="COLCOUNT",e[e.COLINDEX=5]="COLINDEX",e[e.COLSPAN=6]="COLSPAN",e[e.ERRORMESSAGE=7]="ERRORMESSAGE",e[e.HASPOPUP=8]="HASPOPUP",e[e.LEVEL=9]="LEVEL",e[e.LIVE=10]="LIVE",e[e.MULTILINE=11]="MULTILINE",e[e.MULTISELECTABLE=12]="MULTISELECTABLE",e[e.ORIENTATION=13]="ORIENTATION",e[e.PLACEHOLDER=14]="PLACEHOLDER",e[e.POSINSET=15]="POSINSET",e[e.READONLY=16]="READONLY",e[e.RELEVANT=17]="RELEVANT",e[e.REQUIRED=18]="REQUIRED",e[e.ROWCOUNT=19]="ROWCOUNT",e[e.ROWINDEX=20]="ROWINDEX",e[e.ROWSPAN=21]="ROWSPAN",e[e.SETSIZE=22]="SETSIZE",e[e.SORT=23]="SORT",e[e.VALUEMAX=24]="VALUEMAX",e[e.VALUEMIN=25]="VALUEMIN",e[e.KEYSHORTCUTS=26]="KEYSHORTCUTS",e[e.ROLEDESCRIPTION=27]="ROLEDESCRIPTION"})(Il||(Il={}));var Al;(function(e){e[e.BUSY=0]="BUSY",e[e.CHECKED=1]="CHECKED",e[e.CURRENT=2]="CURRENT",e[e.EXPANDED=3]="EXPANDED",e[e.INVALID=4]="INVALID",e[e.PRESSED=5]="PRESSED",e[e.SELECTED=6]="SELECTED"})(Al||(Al={}));var Jn;(function(e){e[e["rtrvr-label"]=0]="rtrvr-label",e[e.role=1]="role",e[e.value=2]="value",e[e.alt=3]="alt",e[e.list=4]="list",e[e.title=5]="title",e[e["aria-label"]=6]="aria-label",e[e["aria-labelledby"]=7]="aria-labelledby",e[e["aria-description"]=8]="aria-description",e[e["aria-describedby"]=9]="aria-describedby",e[e.disabled=10]="disabled",e[e.href=11]="href",e[e.placeholder=12]="placeholder",e[e.type=13]="type",e[e.tabindex=14]="tabindex",e[e.id=15]="id",e[e._ngcontent=16]="_ngcontent",e[e["ng-reflect-*"]=17]="ng-reflect-*",e[e["data-reactroot"]=18]="data-reactroot",e[e["data-v-*"]=19]="data-v-*",e[e.required=20]="required",e[e.contenteditable=21]="contenteditable",e[e.accept=22]="accept"})(Jn||(Jn={}));var In;(function(e){e[e.display=0]="display",e[e.content=1]="content",e[e.beforeDisplay=2]="beforeDisplay",e[e.afterDisplay=3]="afterDisplay",e[e.beforeContent=4]="beforeContent",e[e.afterContent=5]="afterContent",e[e.width=6]="width",e[e.height=7]="height",e[e.minWidth=8]="minWidth",e[e.minHeight=9]="minHeight",e[e.position=10]="position",e[e.top=11]="top",e[e.left=12]="left",e[e.right=13]="right",e[e.bottom=14]="bottom",e[e.paddingTop=15]="paddingTop",e[e.paddingRight=16]="paddingRight",e[e.paddingBottom=17]="paddingBottom",e[e.paddingLeft=18]="paddingLeft",e[e.marginTop=19]="marginTop",e[e.marginRight=20]="marginRight",e[e.marginBottom=21]="marginBottom",e[e.marginLeft=22]="marginLeft",e[e.cursor=23]="cursor",e[e.opacity=24]="opacity",e[e.visibility=25]="visibility",e[e.overflowX=26]="overflowX",e[e.overflowY=27]="overflowY",e[e.backgroundColor=28]="backgroundColor",e[e.color=29]="color",e[e.borderWidth=30]="borderWidth",e[e.borderStyle=31]="borderStyle",e[e.boxShadow=32]="boxShadow",e[e.outline=33]="outline"})(In||(In={}));var wo;(function(e){e[e.text=0]="text",e[e.elText=1]="elText",e[e.viewBox=2]="viewBox",e[e.paths=3]="paths",e[e.pathData=4]="pathData",e[e.circles=5]="circles",e[e.rects=6]="rects",e[e.lines=7]="lines",e[e.polygons=8]="polygons",e[e.polylines=9]="polylines",e[e.ellipses=10]="ellipses"})(wo||(wo={}));var oS=[...qu,...Object.keys(Cs),...$u],vg=[...new Set(oS)],fa={};vg.forEach((e,t)=>{fa[e]=t});var Ls={};vg.forEach((e,t)=>{Ls[t]=e});var Rl=class{constructor(t=1){q(this,"currentId");this.currentId=t}generateId(){let t=this.currentId;return this.currentId++,t}initialize(t=1){this.currentId=t}getCurrentValue(){return this.currentId}};function Ds(e){let t=yi();if(t?.getRoleHint)try{let o=t.getRoleHint(e);if(o)return o}catch{}let n=e.getAttribute(xo);if(!n)return null;let r=n.trim();if(!r)return null;if(r.startsWith("s:"))return r.slice(2);if(/^\d+$/.test(r)){let o=Number(r);if(Number.isFinite(o)){let i=Ls[o];if(i)return i}}return r}function pa(e){return Array.from(new Set(e))}function kg(e,t){if(!e||e.length===0)return pa(t);let n=new Set([...e,...t]);return pa(Array.from(n))}function dr(e,t){let r=yi()?.getEventHandlerIds?.(e)??da(e),o=r.length>0&&r.some(s=>Ku.has(s)),i=Cl(e),a=t?Rs.has(t):!1;return{element:e,semanticRole:t,eventHandlerIndices:r,isEditableRegion:i,hasNodeWorthyHandlers:o,isLikelyStructuralContainer:a}}var iS=new Set(["text","search","url","tel","password","email","number","date","datetime-local","time","month","week","color"]);function aS(e){let n=Ge(e).getComputedStyle(e);if(n.display==="none"||n.visibility==="hidden"||n.pointerEvents==="none")return!1;let r=e.getBoundingClientRect();return!(r.width===0||r.height===0)}function sS(e){let t=Ge(e);if(!wr(e,t))return!1;let n=(e.type||"text").toLowerCase();return iS.has(n)?!e.disabled&&!e.readOnly:!1}function cS(e){let t=Ge(e);return Dr(e,t)&&!e.disabled&&!e.readOnly}function lS(e){let t=e;return!(!t.isContentEditable||t.getAttribute("aria-readonly")==="true"||t.getAttribute("aria-disabled")==="true")}function Cl(e){return!e||!aS(e)?!1:!!(sS(e)||cS(e)||lS(e))}function Ps(e){if(!e)return null;let t=e.match(/^\s*\[id=(\d+)\]/);if(t?.[1]){let o=parseInt(t[1],10);return Number.isFinite(o)?o:null}let n=/\[id=(\d+)\]/g,r;for(;r=n.exec(e);){let o=r.index??0,i=e.slice(Math.max(0,o-30),o);if(/iframeRoot\s*=\s*$/.test(i)||i.includes("iframeRoot="))continue;let a=parseInt(r[1],10);if(Number.isFinite(a))return a}try{let o=e.match(LABEL_ID_PATTERN);if(o?.[1]){let i=parseInt(o[1],10);return Number.isFinite(i)?i:null}}catch{}return null}function Os(e){let t=String(e??"").replace(/[\n\r\t]/g," ").replace(/\s+/g," ").trim();return t=t.replace(/\[/g,"[").replace(/\]/g,"]"),t}function xg({element:e,elementID:t,frameContextLabel:n}){let r=!$n.disableDomAnnotations,o=[`[id=${t}]`],i=Ge(e);if(Is(e)){let c=Os(e.id||e.getAttribute("name")||"unnamed");o.push(`[iframe=${c}]`)}if(n){let c=Os(n);o.push(`[iframeRoot=${c}]`)}if(ng(e,i)&&o.push(`[size=${e.clientWidth}x${e.clientHeight}]`),(rg(e,i)||og(e,i))&&o.push(`[size=${e.clientWidth}x${e.clientHeight}]`),wr(e,i)||Dr(e,i)){let c=dS(e);o.push(...c)}e.getAttribute(gg)==="true"&&o.push("[aria-hidden=true]"),e.disabled&&o.push("[disabled]"),r&&Jh(e,i)&&e.setAttribute(bg,"_self");let s=o.join(" ");return r&&e.setAttribute(Ln,s),s}function dS(e){let t=[],n=Ge(e),r=wr(e,n);if(r&&e.type&&e.type!=="text"&&t.push(`[type=${e.type}]`),e.name){let o=Os(e.name);o&&t.push(`[name=${o}]`)}if(r&&e.multiple&&t.push("[multiple]"),r&&(e.type==="checkbox"||e.type==="radio")&&t.push(`[checked=${e.checked}]`),r&&e.type==="file"&&e.files?.length&&t.push(`[files=${e.files.length}]`),r&&e.type==="number"&&(e.min!==""&&t.push(`[min=${e.min}]`),e.max!==""&&t.push(`[max=${e.max}]`),e.step!==""&&e.step!=="1"&&t.push(`[step=${e.step}]`)),r&&e.type==="range"&&(t.push(`[min=${e.min||"0"}]`),t.push(`[max=${e.max||"100"}]`),t.push(`[value=${e.value}]`)),e.readOnly&&t.push("[readonly]"),e.required&&t.push("[required]"),e.maxLength&&e.maxLength!==-1&&e.maxLength<524288&&t.push(`[maxlength=${e.maxLength}]`),r&&e.pattern&&t.push("[pattern]"),e.autocomplete&&e.autocomplete!=="off"&&t.push(`[autocomplete=${e.autocomplete}]`),e.placeholder){let o=Os(e.placeholder).replace(/\\/g,"\\\\").replace(/"/g,'\\"');o&&t.push(`[placeholder="${o}"]`)}if(e.value){let o=e.value;r&&e.type==="password"&&(o="*".repeat(Math.min(o.length,10)));let i=Os(o).replace(/\\/g,"\\\\").replace(/"/g,'\\"');t.push(`[value="${i}"]`)}return t}var Bs=new Rl,Yu=new WeakMap;function wg(){Yu=new WeakMap}function jo(e){let t=Yu.get(e);if(t)return t;let n=Bs.generateId();return Yu.set(e,n),n}var Ml=new Map,Ju=new WeakMap;function Sg(){Ml.clear(),Ju=new WeakMap}function Qu(e,t){try{typeof WeakRef<"u"?Ml.set(e,new WeakRef(t)):Ml.set(e,t)}catch{}}function Us(e){let t=Ml.get(e);if(!t)return null;let n=t instanceof WeakRef?t.deref():t;return!n||n.isConnected===!1?null:n}function $o(e){let t=null,n=jo(e);if($n.frameContextLabel)t=$n.frameContextLabel;else{let o=Vt();if(o&&e.ownerDocument!==o)try{let a=e.ownerDocument?.defaultView?.frameElement?.getAttribute(Ln)||"",s=a?Ps(a):null;t=s?String(s):null}catch{t=""}}let r=xg({element:e,elementID:n,frameContextLabel:t});if(Qu(n,e),r)try{Ju.set(e,r)}catch{}return r}function Tg(e){return Ju.get(e)??null}function Zu(e,t){try{e.querySelectorAll?.(`[${Ln}]`)?.forEach(r=>r.removeAttribute(Ln))}catch{}if(t.includeShadow)try{let n=e.querySelectorAll?.("*");if(n)for(let r of Array.from(n))try{let o=r.shadowRoot;o&&Zu(o,t)}catch{}}catch{}if(t.includeIframes)try{let n=e.querySelectorAll?.("iframe");if(n)for(let r of Array.from(n))try{let o=Es(r);o?.body&&Zu(o.body,t)}catch{}}catch{}}function _g(e,t={}){if($n.disableDomAnnotations)return;let n=vi(e)?Ge(e):we(e)??window,r=wl(e,n)??e;if(r){try{r.removeAttribute?.(Ln)}catch{}Zu(r,{includeShadow:t.includeShadow??!0,includeIframes:t.includeIframes??!0})}}var qo={},ef=new WeakMap,Nl=new WeakSet;function Eg(){qo={},ef=new WeakMap,Nl=new WeakSet,wg()}function Dn({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:i,frameRealm:a,originatedFromParent:s,elementContext:c}){let l=jo(e);Qu(l,e);let d=qo[l];if(s){if(!d){let m={nodeCategory:e.nodeType,provisionalFromParent:!0},f=e.nodeName;f&&f.trim()&&(m.elementName=f);let u=e.getAttribute("role");u&&(m.preservedAttributes={1:u});let h=e.tagName;h&&(m.elementTag=h),qo[l]=m}}else{if(d&&!d.provisionalFromParent){if((o||ma(e))&&(d.isFrameElement=!0,i&&i.length>0&&(d.frameContent=i),a&&(d.frameRealm=a)),c){let{eventHandlerIndices:m,isEditableRegion:f}=c;if(m&&m.length>0){let u=pa(m);u.length>0&&(d.eventHandlers=kg(d.eventHandlers,u))}f&&(d.isEditable=!0)}return l}if(Nl.has(e))return l;Nl.add(e);try{qo[l]=Ig({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:i,frameRealm:a,elementContext:c})}finally{Nl.delete(e)}}return l}function Fs(e){let t=ef.get(e);if(t!==void 0)return t;let r=(e.textContent||"").replace(/\s+/g," ").trim(),o=e.data?.replace(/\s+/g," ").trim();if(!r&&!o)return 0;let i=Bs.generateId(),a={textContent:r,nodeCategory:e.nodeType};return o&&o!==r&&(a.rawData=o),qo[i]=a,ef.set(e,i),i}function Rg(e,t){let n=Mg(e),{minY:r,maxY:o}=n.getCellBounds(t);return n.getRows().slice(r,o+1).some(i=>i.some(zs))}function Cg(e,t){let n=Mg(e),{minX:r,maxX:o}=n.getCellBounds(t);return n.getRows().some(i=>i.slice(r,o+1).some(zs))}var Dl=class{constructor(t=[]){q(this,"cells");q(this,"getCellAt",(t,n)=>this.getRowAt(n)[t]);q(this,"setCellAt",(t,n,r)=>{this.getRowAt(n)[t]=r});q(this,"getRowAt",t=>(this.cells[t]===void 0&&(this.cells[t]=[]),this.cells[t]));q(this,"getRows",()=>this.cells);q(this,"getCellBounds",t=>{let n=this.columnCount,r=this.rowCount,o=-1,i=-1;for(let a=0;a<this.rowCount;a++){let s=this.getRowAt(a),c=s.indexOf(t);c!==-1&&(o=Math.max(o,s.lastIndexOf(t)),i=Math.max(i,a),n=Math.min(n,c),r=Math.min(r,a))}return{minX:n,minY:r,maxX:o,maxY:i}});q(this,"merge",t=>{this.cells=this.getRows().concat(t.getRows())});this.cells=t}get rowCount(){return this.cells.length}get columnCount(){return Math.max(...this.cells.map(t=>t.length))}};function Mg(e){let n=Ge(e).TableGrid||Dl,r=new n;e.tHead!==null&&r.merge(Ll(e.tHead.rows)),Array.from(e.tBodies).forEach(i=>{r.merge(Ll(i.rows))});let o=[];for(let i of Array.from(e.children))tf(i)&&Ti(i,"tr")&&o.push(i);return r.merge(Ll(o)),e.tFoot!==null&&r.merge(Ll(e.tFoot.rows)),r}function Ll(e){let t=new Dl,n=[];for(let r=0;r<e.length;r++){let o=0;for(let i of Array.from(e[r].cells)){for(;t.getCellAt(o,r)||n[o];)!zs(t.getCellAt(o,r))&&n[o]&&t.setCellAt(o,r,n[o]),o++;for(let a=o;a<o+i.colSpan;a++){Ag(i)===0&&(n[a]=i,t.setCellAt(a,r,i));for(let s=r;s<r+Ag(i);s++)zs(t.getCellAt(a,s))||t.setCellAt(a,s,i)}o+=i.colSpan}for(let i=o;i<t.columnCount;i++){let a=n[i];a!==void 0&&!zs(t.getCellAt(i,r))&&t.setCellAt(i,r,a)}}return t}function Ag(e){let t=e.getAttribute("rowSpan");if(t===null||t.trim()==="")return 1;let n=Number(t);return isNaN(n)?1:n}function zs(e){return e!==void 0&&Ti(e,"td")}function Br(e){let t=e.tagName?.toLowerCase();if(t==="code"||t==="pre"){let r=vS(e);if(r)return r}let n=Ng(e);if(n===null){if(t==="dl")return"list";if(t==="form")return"form";if(t==="header")return"banner";if(t==="footer")return"contentinfo";if(t==="option")return"option";if(t==="textarea")return"textbox";if(t==="input"){let o=e;switch(o.type.toLowerCase()){case"checkbox":return"checkbox";case"radio":return"radio";case"button":case"submit":case"reset":case"image":return"button";case"number":return"spinbutton";case"range":return"slider";case"hidden":return null;default:return o.hasAttribute("list")?"combobox":"textbox"}}if(t==="select")return e.multiple?"listbox":"combobox";if(t==="svg"){if(e.getAttribute("aria-hidden")==="true")return null;let o=e.querySelector("title"),i=e.querySelector("desc"),a=e.hasAttribute("aria-label"),s=e.hasAttribute("role");return o||i||a||s||da(e).length>0||e.getAttribute("tabindex")!==null?"img":null}if(da(e).length>0){let o=e.tagName.toLowerCase();if(["div","span","li","p","i","em","strong","b"].includes(o))return uS(e)}}if(t==="td"&&e.getAttribute("role")===null)return"cell";if(n!==null&&t==="th"){let r=e.getAttribute("role");if(r&&Lg(r))return r;let o=e;return o.scope==="col"||o.hasAttribute("aria-sort")?"columnheader":o.scope==="row"?"rowheader":"cell"}return n}function uS(e){return Ds(e)??null}function Ng(e){let t=e.getAttribute("role");if(t!==null)return lg.includes(t)||!Lg(t)?null:t;let n=e.tagName.toLowerCase();return(dg[n]??[]).find(o=>fS(e,o))||null}function fS(e,t){let n=Cs[t],r=n?.selector;if(r&&Pl(e,r))return!0;let o=n?.conditionalSelectors;return o?o.some(a=>Pl(e,a.selector)&&a.conditions.every(c=>mS(e,c))):!1}function pS(e,t){let n=(t||"").trim().replace(/^#/,"");if(!n)return null;try{let r=e.getRootNode?.();if(lr(r)){let o=Ge(e),i=`#${kl(o,n)}`,a=vl(r,i);if(a)return a}}catch{}return yl(pe(e),n)}function mS(e,t){switch(t.type){case ct.ATTRIBUTE_GREATER_THAN:{let n=e.getAttribute(t.attribute);return n!==null&&Number(n)>t.value}case ct.ATTRIBUTE_LESS_THAN:{let n=e.getAttribute(t.attribute);return n!==null&&Number(n)<t.value}case ct.HAS_ACCESSIBLE_NAME:return e.hasAttribute("aria-label")?!0:(e.getAttribute("aria-labelledby")||"").split(/\s+/).filter(Boolean).some(r=>pS(e,r)!=null);case ct.FORBIDDEN_ANCESTORS:return So(e,t.selector)===null;case ct.BOOLEAN_PROPERTY:return e[t.property]===t.value;case ct.PROPERTY_VALUE_MATCH:return t.values.some(n=>n===e[t.property]);case ct.ANCESTOR_ROLE_REQUIRED:{let n=e.parentElement;if(n===null)return!1;let r=So(n,t.tag);return r!==null&&Ng(r)===t.role}case ct.HAS_TABLE_COLUMN_DATA:{let n=So(e,"table");return n===null?!1:t.hasData===Cg(n,e)}case ct.HAS_TABLE_ROW_DATA:{let n=So(e,"table");return n===null?!1:t.hasData===Rg(n,e)}default:return hS(t),!1}}function hS(e){throw new Error(`unexpected value ${e}!`)}function Lg(e){return bS(e)||yS(e)||gS(e)}function gS(e){return sg.has(e)}function bS(e){return cg.has(e)}function yS(e){return Cs.hasOwnProperty(e)}function vS(e){if(e.tagName!==wi&&e.tagName!==Si)return null;if(As(e).some(r=>r==="click"||r==="copy"))return"button";let n=e.getAttribute("tabindex");return n!==null&&parseInt(n,10)>=0?"button":e.tagName===Si||e.tagName===wi&&e.closest("pre")?"code":null}var kS={[In.display]:[In.beforeDisplay,In.afterDisplay],[In.content]:[In.beforeContent,In.afterContent]},nf=new Map,xS={minWidth:"min-width",minHeight:"min-height",backgroundColor:"background-color",borderWidth:"border-width",borderStyle:"border-style",boxShadow:"box-shadow",paddingTop:"padding-top",paddingRight:"padding-right",paddingBottom:"padding-bottom",paddingLeft:"padding-left",marginTop:"margin-top",marginRight:"margin-right",marginBottom:"margin-bottom",marginLeft:"margin-left",overflowX:"overflow-x",overflowY:"overflow-y"};function wS(e,t){if(!nf.has(e)){let n=xS[t]||t.replace(/([A-Z])/g,"-$1").toLowerCase();nf.set(e,n)}return nf.get(e)}var SS={display:e=>e!=="block"&&e!=="inline"&&e!=="",visibility:e=>e!=="visible",opacity:e=>parseFloat(e)<1,position:e=>e!=="static",cursor:e=>e!=="auto"&&e!=="default"&&e!=="text",width:e=>e!=="auto"&&e!=="",height:e=>e!=="auto"&&e!=="",minWidth:e=>e!=="0px"&&e!=="",minHeight:e=>e!=="0px"&&e!=="",paddingTop:e=>parseFloat(e)>0,paddingRight:e=>parseFloat(e)>0,paddingBottom:e=>parseFloat(e)>0,paddingLeft:e=>parseFloat(e)>0,marginTop:e=>Math.abs(parseFloat(e))>5,marginRight:e=>Math.abs(parseFloat(e))>5,marginBottom:e=>Math.abs(parseFloat(e))>5,marginLeft:e=>Math.abs(parseFloat(e))>5,overflowX:e=>e!=="visible",overflowY:e=>e!=="visible",backgroundColor:e=>e!=="transparent"&&e!=="rgba(0, 0, 0, 0)"&&e!=="initial",color:e=>e!=="initial"&&e!=="inherit"&&e!=="",borderWidth:e=>e!=="0px"&&parseFloat(e)>0,borderStyle:e=>e!=="none"&&e!=="initial",boxShadow:e=>e!=="none"&&e!=="",outline:e=>e!=="none"&&e!==""&&!e.includes("0px")};function Og(e,t,n){let r=SS[e];return r?r(t,n):t.trim()!==""&&!["initial","inherit","unset"].includes(t)}function Bg(e){let t={},n=Ge(e);if(!un(e,n))return t;let r=n.getComputedStyle(e),o=new Map([[In.beforeDisplay,n.getComputedStyle(e,"::before")],[In.afterDisplay,n.getComputedStyle(e,"::after")],[In.beforeContent,n.getComputedStyle(e,"::before")],[In.afterContent,n.getComputedStyle(e,"::after")]]);for(let i in In)if(isNaN(Number(i))){let a=In[i],s=wS(a,i),c=kS[a];c?((a===In.display||a===In.content)&&Dg(r,s,a,i,t,e),Pg(o.get(c[0]),s,c[0],"beforeContent",t),Pg(o.get(c[1]),s,c[1],"afterContent",t)):Dg(r,s,a,i,t,e)}return t}function Dg(e,t,n,r,o,i){if(e){let a=e.getPropertyValue(t);a&&Og(r,a,i)&&(o[n]=a)}}function Pg(e,t,n,r,o){if(e){let i=e.getPropertyValue(t);(t==="content"&&i&&i!=="none"&&i!=='""'&&i!=="''"||i&&Og(r,i))&&(o[n]=i)}}function Hs(e){try{return e.id==="rover-widget-root"}catch{return!1}}function _i(e,t){let n=Ge(e);if(!un(e,n))return!0;if(t&&ko.has(t))return!1;if(e.hasAttribute("hidden")||So(e,"[hidden]")!==null||So(e,"[inert]")!==null)return!0;let r=n.getComputedStyle(e);if(r.display==="none"||r.visibility==="hidden"||r.visibility==="collapse"||e.getClientRects().length===0)return!0;let o=e.getBoundingClientRect(),i=1e6;return Math.abs(o.left)>i||Math.abs(o.top)>i}function js(e){return Ur(e)&&e.classList.contains("jasmine_html-reporter")}function TS(e){let t=e.getAttribute("role");return t==="presentation"||t==="none"}function Ug(e){return e?e.split(/\s+/).map(t=>t.trim()).filter(Boolean).map(t=>t.replace(/^#/,"")):[]}function Fg(e,t){let n=(t||"").trim().replace(/^#/,"");if(!n)return null;try{let o=e.getRootNode?.();if(lr(o)){let i=Ge(e),a=`#${kl(i,n)}`,s=vl(o,a);if(s)return s}}catch{}let r=pe(e);return yl(r,n)}function rf(e){let n=[];for(let r=0;r<arguments.length;r++){let o=arguments[r];if(Array.isArray(o))for(let i=0;i<o.length;i+=8192){let a=_S(o,i,i+8192),s=rf.apply(null,a);for(let c=0;c<s.length;c++)n.push(s[c])}else n.push(o)}return n}function _S(e,t,n){return arguments.length<=2?Array.prototype.slice.call(e,t):Array.prototype.slice.call(e,t,n)}function zg(e,t){return ES(e,t).concat(IS(e))}function ES(e,t){return rf(af(e).map(r=>Kg(r)&&Ur(r)?Hg(r,t):r))}function Hg(e,t){if(!e||_i(e,t))return[];if(!TS(e))return[e];let n=Array.from(e.children);return rf(n.map(r=>Hg(r,t)))}function jg(e){let t=Ug(e.getAttribute("aria-owns"));if(!t.length)return[];let n=[],r=new Set;for(let o of t){if(r.has(o))continue;r.add(o);let i=Fg(e,o);i&&i!==e&&n.push(i)}return n}function IS(e){let t=jg(e);for(let n of t)n["aria-owned-by"]=e;return t}function $g(e){let t=Ge(e),n=pe(e);if(e.getAttribute("role")!=="dialog"&&e.getAttribute("role")!=="alertdialog"||e.getAttribute("aria-modal")!=="true")return!1;let r=t.getComputedStyle(e);if(r?.position!=="fixed"&&r?.position!=="absolute"||parseInt(r?.zIndex,10)<=MS(e))return!1;let o=AS(e);return!o||!CS(o)||!LS(e)||o.getAttribute("role")==="dialog"||e.getAttribute("role")==="dialog"?!1:NS(e)}function AS(e){return[e.previousElementSibling,e.nextElementSibling,...Array.from(e.children),...e.parentElement?[e.parentElement.previousElementSibling,e.parentElement.nextElementSibling]:[]].filter(n=>n!==null).find(RS)||null}function RS(e){if(_i(e))return!1;let n=Ge(e).getComputedStyle(e);return(n?.position==="fixed"||n?.position==="absolute")&&n?.backgroundColor!=="rgba(0, 0, 0, 0)"&&n?.backgroundColor!=="transparent"&&n?.pointerEvents!=="none"}function CS(e){let t=Ge(e),n=e.getBoundingClientRect();return n.top<=0&&n.left<=0&&n.bottom>=t.innerHeight&&n.right>=t.innerWidth}function MS(e){let t=pe(e),n=Ge(e),r=n?.getComputedStyle;if(!r)return 0;let o=ju(t,"*").filter(i=>i!==e&&!_i(i)).map(i=>parseInt(r.call(n,i)?.zIndex,10)).filter(i=>Number.isFinite(i)&&!isNaN(i));return o.length?Math.max(...o):0}function NS(e){return e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])').length>0}function LS(e){let t=e.parentElement;if(!t)return!1;for(let n of Array.from(t.children))if(n!==e&&!_i(n)&&n.getAttribute("aria-hidden")!=="true")return!1;return!0}function DS(){try{let t=Vt()?.querySelector?.("dialog:modal");return'[aria-modal="true"], dialog:modal'}catch{return'[aria-modal="true"]'}}var qg=DS();function PS(e){return e.getAttribute("aria-disabled")==="true"||e.hasAttribute("disabled")}function of(e){let t=e.getAttribute("href")||e.getAttribute("src")||e.getAttribute("data")||e.getAttribute("action");if(!t&&!e.tagName.includes("-"))try{let n=e;t=n.href||n.src||n.data||n.action||null}catch{return!1}if(!t)return!1;try{let n=pe(e),r=new URL(t,n.baseURI);return r.protocol==="javascript:"&&(r.pathname.trim()!==""||r.search.trim()!==""||r.hash.trim()!=="")}catch{return!1}}function Vg(e){return ug.has(e)}function OS(e){let t=e.parentElement,n=pe(e);if(!(!t||t===n.body||t===n.documentElement))return Dn({targetElement:t,originatedFromParent:!0})}function Ig({targetElement:e,parentDisabled:t,semanticRole:n,excludeLabels:r,isFrameNode:o,frameContentNodes:i,frameRealm:a,elementContext:s}){let c={nodeCategory:e.nodeType},l=t||PS(e),d=OS(e);if(d&&(c.parent=d),n){let ie=fa[n];typeof ie=="number"?c.semanticRole=ie:c.semanticRole=n}if(l&&(c.isDisabled=!0),s){let{eventHandlerIndices:ie,isEditableRegion:me}=s,he=pa(ie);he.length>0&&(c.eventHandlers=he),me&&(c.isEditable=!0)}let m=US(e);m&&Object.keys(m).length>0&&(c.ariaProperties=m);let f=FS(e);f&&Object.keys(f).length>0&&(c.ariaStates=f);let u=e.nodeName;u&&u.trim()&&(c.elementName=u);let h=Bg(e);h&&Object.keys(h).length>0&&(c.computedStyles=h),_i(e)&&(c.isInvisible=!0);let b=BS(e,n);b&&Object.keys(b).length>0&&(c.preservedAttributes=b),e.draggable&&(c.isDraggable=!0),e.scrollWidth&&e.clientWidth&&e.scrollWidth>e.clientWidth&&(c.supportsHorizontalSwipe=!0),e.scrollHeight&&e.clientHeight&&e.scrollHeight>e.clientHeight&&(c.supportsVerticalSwipe=!0);let v=e.getAttribute("class");if(v?.trim()){v.includes("handle")&&(c.isDragHandle=!0),c.supportsHorizontalSwipe||(v.includes("horizontal")||v.includes("carousel"))&&(c.supportsHorizontalSwipe=!0),c.supportsVerticalSwipe||(v.includes("vertical")||v.includes("feed"))&&(c.supportsVerticalSwipe=!0),v.includes("dismissible")&&(c.supportsDismissSwipe=!0),(v.includes("long-press")||v.includes("hold")||v.includes("press-hold"))&&(c.supportsLongPress=!0);let ie=c.inputType||c.preservedAttributes?.[Jn.type];ie==="submit"||ie==="reset"||ie==="clear"||(v.includes("submit")&&(c.preservedAttributes={...c.preservedAttributes||{},[Jn.type]:"submit"}),v.includes("clear")&&(c.preservedAttributes={...c.preservedAttributes||{},[Jn.type]:"clear"}),v.includes("reset")&&(c.preservedAttributes={...c.preservedAttributes||{},[Jn.type]:"reset"}))}let S=WS({element:e});S&&S.length>0&&(c.labelReferences=S);let k=e.tagName;if(k&&(c.elementTag=k),HS(e)&&(c.hasFocus=!0),!o){let ie=sf({element:e,semanticRole:n,parentDisabled:l,excludeLabels:r});ie&&ie.length>0&&(c.childElements=ie)}let x=ZS({element:e});x&&x.length>0&&(c.ownedElements=x);let C=ig(e);C&&(c.resourceLocator=C),(o||ma(e))&&(c.isFrameElement=!0),i&&i.length>0&&(c.frameContent=i),a&&(c.frameRealm=a);let _=e.type;_&&typeof _=="string"&&_.trim()&&(c.inputType=_);let I=e.placeholder;I&&typeof I=="string"&&I.trim()&&(c.placeholderText=I);let M=e.value;M&&typeof M=="string"&&M.trim()&&(c.elementValue=M);let X=KS({element:e,parentDisabled:t,semanticRole:n});if(X&&X.length>0&&(c.selectedOptions=X),So(e,"select,datalist")&&(c.nearestSelectList=!0),tf(e))c.elementNamespace=Ns.HTML;else if(zS(e)){c.elementNamespace=Ns.SVG,c.svgStructure=jS(e);let ie=$S(e);ie&&Object.keys(ie).length>0&&(c.preservedAttributes?c.preservedAttributes={...c.preservedAttributes,...ie}:c.preservedAttributes=ie)}let J=r?void 0:GS({element:e});J&&J.length>0&&(c.associatedLabels=J);let ee=e.scope;ee&&typeof ee=="string"&&ee.trim()&&(c.tableScope=ee);let se=YS({element:e});se&&(c.tableCaption=se);let H=JS({element:e});H&&(c.figureCaption=H);let Y=QS({element:e});return Y&&(c.fieldsetLegend=Y),So(e,"table")&&(c.nearestTable=!0),c}function BS(e,t){let n={},r=new Set(Object.values(Jn).filter(s=>typeof s=="string")),o=new Set(Object.keys(Sl).filter(s=>isNaN(Number(s)))),i=new Set(["_ngcontent","ng-reflect-*","data-v-*"]),a=e?.attributes?Array.from(e.attributes):[];for(let s of a){let c=s.name,l=s.value;if(c==="id"&&(!t||!ko.has(t)))continue;let d;if(r.has(c)?d=c:c.startsWith("data-v-")?d="data-v-*":c.startsWith("ng-reflect-")?d="ng-reflect-*":c.startsWith("_ngcontent")&&(d="_ngcontent"),d){let m=l.trim()!=="",f=o.has(d);if(m||f){let u=Jn[d],h=i.has(d)?"true":l;n[u]=h}}}if(!n[Jn[Ln]]){let s=Tg(e);s&&(n[Jn[Ln]]=s)}return n}function US(e){return Wg(e,Il,Tl)}function FS(e){return Wg(e,Al,null)}function Wg(e,t,n){let r={};for(let o in t)if(isNaN(Number(o))){let i=t[o],s=`aria-${o.toLowerCase().replace(/_/g,"-")}`,c=e.getAttribute(s),l=!1;n!==null&&(l=Object.values(n).filter(m=>typeof m=="number").includes(i)),e.hasAttribute(s)&&l||c?.trim()?r[i]=c:s==="aria-level"&&pg.includes(e.tagName.toLowerCase()?.trim())&&(r[i]=e.tagName.substring(1))}return r}function Ur(e){return Kg(e)&&e.nodeType===Ms.ELEMENT}function Ol(e){return e.nodeType===Ms.TEXT}function Kg(e){let t=typeof e;return t=="object"&&e!=null||t=="function"}function tf(e){return Ur(e)&&(!e.namespaceURI||e.namespaceURI===mg)}function zS(e){return Ur(e)&&e.namespaceURI===hg}function ma(e){return e.tagName==="IFRAME"}function Ti(e,t){return"tagName"in e?e.tagName?.toLowerCase()===t:e.elementTag?.toLowerCase()===t}function So(e,t){if(e.closest)return e.closest(t);for(;!Pl(e,t);){if(e.parentElement===null)return null;e=e.parentElement}return e}function Pl(e,t){return e.matches?.(t)??e.msMatchesSelector?.(t)??e.webkitMatchesSelector(t)}function HS(e){let t=e.ownerDocument,n=t?.hasFocus()?t.activeElement:null;if(n){let r=n.getAttribute("aria-activedescendant");r&&(n=t.getElementById(r)||n)}return e===n}function jS(e){let t={},n=wo.text,r=wo.elText;e.textContent?.trim()&&(t[n]=e.textContent);let o=e.querySelector("title"),i=e.querySelector("img");o?.textContent?.trim()?t[r]=o.textContent:i?.alt?.trim()&&(t[r]=i.alt);let a=e.getAttribute("viewBox");a&&(t[wo.viewBox]=a);let s=e.querySelectorAll("path");s.length>0&&(t[wo.paths]=s.length,t[wo.pathData]=Array.from(s).slice(0,3).map(l=>l.getAttribute("d")).filter(Boolean).map(l=>l.substring(0,100)));let c={circles:e.querySelectorAll("circle").length,rects:e.querySelectorAll("rect").length,lines:e.querySelectorAll("line").length,polygons:e.querySelectorAll("polygon").length,polylines:e.querySelectorAll("polyline").length,ellipses:e.querySelectorAll("ellipse").length};return Object.entries(c).forEach(([l,d])=>{if(d>0){let m=wo[l];t[m]=d}}),Object.keys(t).length>0?t:void 0}function $S(e){let t={};if(!e?.hasAttributes())return t;for(let n of Object.values(ua).filter(r=>typeof r=="number")){let r=ua[n];if(r){let o=r;if(ua.hasOwnProperty(o)&&e.hasAttribute(o)){let i=e.getAttribute(o);i?.trim()&&(t[n]=i)}}}return t}function qS({frameElement:e,parentDisabled:t,excludeLabels:n}){if(!$n.includeFrameContents)return{nodes:[]};let r=null;try{let i=e.contentDocument||e.contentWindow?.document||null;r=i?.body||i?.documentElement||null}catch{return{nodes:[],capability:Pr.Opaque,unavailable:Or.CrossOriginNoAgent}}if(!r)return{nodes:[],capability:Pr.SameOrigin,unavailable:Or.NotReady};let o=[];for(let i of af(r))if(!(js(i)||Gg(i))){if(Ur(i)){let a=i,s=Br(a),c=dr(a,s),{shouldCreate:l,shouldAnnotate:d}=Bl(c);if(l){d&&$o(a);let m=Dn({targetElement:a,parentDisabled:t,semanticRole:s??void 0,excludeLabels:n,elementContext:c});m&&o.push(m)}else{let m=sf({element:a,semanticRole:s??void 0,parentDisabled:t,excludeLabels:n});o.push(...m)}}else if(Ol(i)){let a=Fs(i);a&&o.push(a)}}return{nodes:o,capability:Pr.SameOrigin,unavailable:o.length>0?void 0:Or.EmptyDom}}function VS(e,t){if(t.capability!==void 0)return t.unavailable===void 0?[e,t.capability]:[e,t.capability,t.unavailable]}function af(e){if(Hs(e))return[];let t=Ge(e);if(eg(e,t)){try{let n=e.assignedNodes({flatten:!0});if(n&&n.length)return n}catch{}return Array.from(e.childNodes)}try{let n=e.shadowRoot||yi()?.getShadowRoot?.(e)||null;if(n){let r=Array.from(n.childNodes),o=Array.from(e.childNodes).filter(i=>!i.assignedSlot);return r.concat(o)}}catch{}return Array.from(e.childNodes)}function sf({element:e,semanticRole:t,parentDisabled:n,excludeLabels:r}){let o=[];for(let i of af(e))if(!(js(i)||Gg(i))){if(Ur(i)){let a=i,s=Br(a),c=dr(a,s);if(ma(a)){$o(a);let m=qS({frameElement:a,parentDisabled:n,excludeLabels:r}),f=Dn({targetElement:a,parentDisabled:n,semanticRole:s??void 0,excludeLabels:r,isFrameNode:!0,frameContentNodes:m.nodes,frameRealm:VS(jo(a),m),elementContext:c});f&&o.push(f);continue}let{shouldCreate:l,shouldAnnotate:d}=Bl(c);if(l){d&&$o(a);let m=Dn({targetElement:a,parentDisabled:n,semanticRole:s??void 0,excludeLabels:r,elementContext:c});m&&o.push(m)}else{let m=sf({element:a,semanticRole:s??void 0,parentDisabled:n,excludeLabels:r});o.push(...m)}}else if(Ol(i)){let a=Fs(i);a&&o.push(a)}}return o}function WS({element:e}){let t=Ug(e.getAttribute("aria-labelledby")),n=new Set;for(let r of t){let o=Fg(e,r);if(!(!o||o===e)&&o){let i=Br(o),a=Dn({targetElement:o,semanticRole:i,elementContext:dr(o,i)});n.add(a)}}return Array.from(n)}function KS({element:e,parentDisabled:t,semanticRole:n}){let r=[];return e&&(n&&n==="listbox"?r=Array.from(e.querySelectorAll('[role="option"][aria-selected="true"]')).map(o=>Dn({targetElement:o,parentDisabled:t,semanticRole:"option",elementContext:dr(o,"option")})):Ti(e,"select")&&(r=Array.from(e.selectedOptions).map(o=>Dn({targetElement:o,parentDisabled:t,semanticRole:"option",elementContext:dr(o,"option")})))),r}function GS({element:e}){if(fg.includes(e.tagName)){let t=pe(e),n=ju(t,"label"),r=new Set;return Array.from(n).filter(o=>o!==e&&XS(o,e)).map(o=>{let i=Br(o),a=Dn({targetElement:o,semanticRole:i,excludeLabels:!0,elementContext:dr(o,i)});r.add(a)}),Array.from(r)}}function XS(e,t){let n=e.control;return n!==void 0?n===t:e.htmlFor!==""&&e.htmlFor===t.id?!0:!!(e.htmlFor===""&&e.contains(t))}function YS({element:e}){if(Ti(e,"table")){let t=e.querySelector("caption");if(t&&t!==e){let n=Br(t);return Dn({targetElement:t,semanticRole:n,elementContext:dr(t,n)})}}}function JS({element:e}){if(Ti(e,"figure")){let t=e.querySelector("figcaption");if(t&&t!==e){let n=Br(t);return Dn({targetElement:t,semanticRole:n,elementContext:dr(t,n)})}}}function QS({element:e}){if(Ti(e,"fieldset")){let t=e.querySelector("legend");if(t&&t!==e){let n=Br(t);return Dn({targetElement:t,semanticRole:n,elementContext:dr(t,n)})}}}function ZS({element:e}){let t=new Set,n=jg(e);for(let r of n){let o=Br(r),i=Dn({targetElement:r,semanticRole:o,elementContext:dr(r,o)});t.add(i)}return Array.from(t)}function Bl(e){let{semanticRole:t,eventHandlerIndices:n,isEditableRegion:r,hasNodeWorthyHandlers:o,isLikelyStructuralContainer:i}=e,a=n.length>0&&n.some(m=>yg.has(m)),c=!!t||!i&&(o||r),l=!!t&&ko.has(t);return{shouldCreate:c,shouldAnnotate:c&&(l||r||a)}}function Gg(e){if(!Ur(e))return!1;let t=e;if(Hs(t))return!0;let n=t.tagName;return _l.has(n)?!0:n===wi||n===Si?eT(t):!1}function eT(e){let t=Ge(e),n=t?.getComputedStyle;if(!n||n.call(t,e).display==="none")return!0;let o=e.getBoundingClientRect();return o.width===0&&o.height===0&&!(typeof e.closest=="function"&&e.closest("pre"))||o.right<-1e3||o.left>t.innerWidth+1e3}function cf(e,t={}){return Yh(t),Eg(),Sg(),_g(e,{includeShadow:!0,includeIframes:$n.clearIframes}),Bs.initialize($n.semanticIdStart),{rootNodes:Xg(e),semanticNodes:qo}}function Xg(e){let t=[];try{let n=pe(e),o=Array.from(n.querySelectorAll(qg)).filter(i=>!_i(i)&&$g(i));if(o.length===0)t=ha({targetElement:e});else if(o.length===1){let i=o[0];i.contains(e)?t=ha({targetElement:e}):e.contains(i)?t=ha({targetElement:i}):t=ha({targetElement:e})}else t=ha({targetElement:e})}catch(n){throw console.error("Error constructing semantic tree",n),n}return t}function ha({targetElement:e,parentNode:t}){if(js(e)||Yg(e))return[];let n=Br(e),r=dr(e,n);if(ma(e))return[nT({frameElement:e,role:n,parentNode:t,elementContext:r})];let o=0,{shouldCreate:i,shouldAnnotate:a}=Bl(r);i&&(a&&$o(e),o=Dn({targetElement:e,parentDisabled:t?.isDisabled,semanticRole:n,elementContext:r}));let s=qo[o],c=tT(e,n,o?s:t);return o&&c.length>0&&(s.semanticChildren=c),o?[o]:c}function tT(e,t,n){let r=[],o=zg(e,t);for(let i of o)if(!(js(i)||Yg(i))){if(Ur(i)){let a=ha({targetElement:i,parentNode:n});r.push(...a)}else if(Ol(i)&&aT(i,n)){let a=Fs(i);a&&r.push(a)}}return r}function nT({frameElement:e,role:t,parentNode:n,elementContext:r}){$o(e);let o=rT(e),i=oT(jo(e),o);return Dn({targetElement:e,parentDisabled:n?.isDisabled,semanticRole:t,isFrameNode:!0,frameContentNodes:o.nodes,frameRealm:i,elementContext:r})}function rT(e){if(!$n.includeFrameContents)return{nodes:[]};let t=iT(e);if(t.kind==="content"){let n=Xg(t.rootElement);return{nodes:n,capability:Pr.SameOrigin,unavailable:n.length>0?void 0:Or.EmptyDom}}return t.reason==="cross_origin_blocked"?{nodes:[],capability:Pr.Opaque,unavailable:Or.CrossOriginNoAgent}:{nodes:[],capability:Pr.SameOrigin,unavailable:Or.NotReady}}function oT(e,t){if(t.capability!==void 0)return t.unavailable===void 0?[e,t.capability]:[e,t.capability,t.unavailable]}function iT(e){let t=null;try{t=e.contentDocument||e.contentWindow?.document||null}catch{return{kind:"unavailable",reason:"cross_origin_blocked"}}let n=t?.body||t?.documentElement||null;return n?{kind:"content",rootElement:n}:{kind:"unavailable",reason:"iframe_not_ready_or_empty"}}function aT(e,t){let n=e.data.trim();if(!n||n==="")return!1;if(t?.semanticRole!==void 0&&t?.semanticRole!==null){let r=typeof t.semanticRole=="number"?Ls[t.semanticRole]:t.semanticRole;if(Vg(r))return!1}return!0}function Yg(e){if(!Ur(e))return!1;let t=e;if(Hs(t))return!0;let n=t.tagName;return _l.has(n)?!0:n===wi||n===Si?sT(t):!1}function sT(e){let t=Ge(e);if(t.getComputedStyle(e).display==="none")return!0;let r=e.getBoundingClientRect();return r.width===0&&r.height===0&&!e.closest("pre")||r.right<-1e3||r.left>t.innerWidth+1e3}function Fl(e){let t=e.activeElement;for(;t&&t.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;return t}function cT(e){let t=e.getBoundingClientRect();return{x:t.left+t.width/2,y:t.top+t.height/2}}function ba(e,t,n){let r=pe(e,t),o=we(r,n);try{e.focus?.({preventScroll:!0})}catch{}if(Fl(r)===e)return!0;try{let{x:i,y:a}=cT(e),s=o.PointerEvent||PointerEvent,c=o.MouseEvent||MouseEvent;e.dispatchEvent(new s("pointerdown",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:1,button:0,pointerType:"mouse"})),e.dispatchEvent(new c("mousedown",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:1,button:0})),e.dispatchEvent(new c("mouseup",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:0,button:0})),e.dispatchEvent(new s("pointerup",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,buttons:0,button:0,pointerType:"mouse"})),(e.isContentEditable||wr(e,o)||Dr(e,o)||e.getAttribute("contenteditable")==="true")&&e.dispatchEvent(new c("click",{bubbles:!0,cancelable:!0,composed:!0,clientX:i,clientY:a,button:0}))}catch{}try{e.focus?.({preventScroll:!0})}catch{}return Fl(r)===e}function $s(e,t){let n=Ge(e),r=Dr(e,n)?n.HTMLTextAreaElement.prototype:n.HTMLInputElement.prototype,o=Object.getOwnPropertyDescriptor(r,"value");o?.set?o.set.call(e,t):e.value=t}function Ii(e,t,n="insertText"){let r=Ge(e),o=r.InputEvent||(typeof InputEvent<"u"?InputEvent:null),i=r.Event||Event;try{o?e.dispatchEvent(new o("beforeinput",{bubbles:!0,cancelable:!0,composed:!0,data:String(t??""),inputType:n})):e.dispatchEvent(new i("beforeinput",{bubbles:!0,cancelable:!0,composed:!0}))}catch{try{e.dispatchEvent(new i("beforeinput",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}try{o?e.dispatchEvent(new o("input",{bubbles:!0,cancelable:!1,composed:!0,data:String(t??""),inputType:n})):e.dispatchEvent(new i("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{try{e.dispatchEvent(new i("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{}}try{e.dispatchEvent(new i("change",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}function lT(e){let n=Ge(e).KeyboardEvent||KeyboardEvent,r={key:"Enter",code:"Enter",keyCode:13,which:13,bubbles:!0,cancelable:!0,composed:!0},o=e.dispatchEvent(new n("keydown",r)),i=e.dispatchEvent(new n("keypress",r)),a=e.dispatchEvent(new n("keyup",r));return{canceled:!(o&&i&&a)}}function Ei(e){if(!e)return!1;let t=Ge(e);if(Dr(e,t))return!e.disabled&&!e.readOnly;if(wr(e,t)){let n=(e.type||"text").toLowerCase();return(n==="text"||n==="search"||n==="email"||n==="url"||n==="tel"||n==="password"||n==="number")&&!e.disabled&&!e.readOnly}return!1}function lf(e){let t=Ge(e);if(!e||!un(e,t))return!1;if(e.isContentEditable)return!0;let n=e.getAttribute("contenteditable");return!!(n&&n!=="false"||e.getAttribute("role")==="textbox"&&!("value"in e))}function dT(e,t){let n=e.getRootNode();return lr(n)?n:pe(e)??t}function uT(e,t){let n=[];for(let r of t.split(/\s+/).filter(Boolean)){let o=e.getElementById?.(r)||e.querySelector?.(`#${CSS.escape(r)}`),i=Ge(o);un(o,i)&&n.push(o)}return n}function eb(e,t){if(!e)return{kind:"none",el:null,via:"no-root"};if(Ei(e))return{kind:"input",el:e,via:"self-input"};if(lf(e))return{kind:"contenteditable",el:e,via:"self-contenteditable"};let n=pe(e)??t,r=we(n),o=dT(e,n);if(Qh(e,r)){let c=e.control;if(Ei(c))return{kind:"input",el:c,via:"label.control"};let l=e.htmlFor;if(l){let d=o.getElementById?.(l)||o.querySelector?.(`#${CSS.escape(l)}`);if(Ei(d))return{kind:"input",el:d,via:"label.for"}}}let i=e.getAttribute("aria-controls")||e.getAttribute("aria-owns");if(i)for(let c of uT(o,i)){if(Ei(c))return{kind:"input",el:c,via:"aria-controls/owns"};if(lf(c))return{kind:"contenteditable",el:c,via:"aria-controls/owns"};let l=c.querySelector?.("input,textarea");if(Ei(l))return{kind:"input",el:l,via:"aria-controls->desc"}}let a=e.querySelector?.("input,textarea");if(Ei(a))return{kind:"input",el:a,via:"descendant"};let s=e.shadowRoot||null;if(s){let c=s.querySelector?.("input,textarea");if(Ei(c))return{kind:"input",el:c,via:"open-shadow-input"};let l=s.querySelector?.('[contenteditable="true"],[contenteditable=""],[role="textbox"]');if(lf(l))return{kind:"contenteditable",el:l,via:"open-shadow-contenteditable"}}return e.getAttribute("role")==="textbox"&&!("value"in e)?{kind:"contenteditable",el:e,via:"role=textbox"}:{kind:"none",el:null,via:"not-found"}}function ga(e,t,n,r=!1){let o=pe(e,t),a=we(o,n).getSelection?.();if(!a)return!1;try{let s=o.createRange();return s.selectNodeContents(e),r&&s.collapse(!1),a.removeAllRanges(),a.addRange(s),!0}catch{return!1}}function Ai(e){return(e.textContent??"").replace(/\u00A0/g," ").trim()}var Ul=e=>String(e??"").replace(/\s+/g," ").trim(),tb=new MessageChannel,nb=[];tb.port1.onmessage=()=>{let e=nb.shift();e&&e()};function Jg(){return new Promise(e=>{nb.push(e),tb.port2.postMessage(0)})}async function Qg(e,t,n){await Promise.resolve();let r=Math.max(0,Math.min(4,Number(n)||0));for(let o=0;o<r;o++)e.hidden?await Jg():await new Promise(i=>{try{t.requestAnimationFrame(()=>i())}catch{Jg().then(i)}})}function fT(e){let t=String(e??"");return t===" "?{code:"Space",which:32}:/^[a-z]$/i.test(t)?{code:`Key${t.toUpperCase()}`,which:t.toUpperCase().charCodeAt(0)}:/^[0-9]$/.test(t)?{code:`Digit${t}`,which:t.charCodeAt(0)}:{code:"",which:t.length===1?t.charCodeAt(0):0}}function Zg(e,t,n,r){let o=pe(e,t),a=we(o,n).KeyboardEvent||KeyboardEvent,s=String(r??"");for(let c of s){let{code:l,which:d}=fT(c),m={key:c,code:l,bubbles:!0,cancelable:!0,composed:!0,keyCode:d,which:d};e.dispatchEvent(new a("keydown",m)),e.dispatchEvent(new a("keypress",m)),e.dispatchEvent(new a("keyup",m))}}async function rb(e,t,n,r,o){let i=String(r??"");if(e.disabled||e.readOnly)return{success:!1,method:"type-native-setter",details:"disabled_or_readonly",allowFallback:!0};let a=String(e.value??""),s=pe(e,t),c=we(s,n),l=ba(e,s,c),d=Number.isFinite(Number(o?.settleFrames))?Math.max(0,Math.min(4,Number(o?.settleFrames))):s.hidden?1:2,m=!!o?.useKeyFallback,f=Number.isFinite(Number(o?.keyFallbackMaxLen))?Number(o?.keyFallbackMaxLen):140,u=m&&i.length>0&&i.length<=f;$s(e,i),Ii(e,i,"insertReplacementText"),u&&Zg(e,s,c,i),await Qg(s,c,d);let h=String(e.value??""),b=Ul(a),v=Ul(h),S=Ul(i),k=b===S,x=v===S,C=h!==a,_=i.length>0&&!k&&h===a,I=1;if(!k&&!x&&!C){I=2;try{e.focus?.({preventScroll:!0}),e.select?.()}catch{}let ee=!1;try{s.execCommand?.("selectAll",!1,void 0),ee=!!s.execCommand?.("insertText",!1,i)}catch{ee=!1}if(!ee)try{$s(e,i)}catch{}try{Ii(e,i,"insertReplacementText")}catch{}u&&Zg(e,s,c,i),await Qg(s,c,d),h=String(e.value??"")}let X=Ul(h)===S,O=h!==a;_=i.length>0&&!k&&h===a;let J=k||X||O;return{success:J,method:"type-native-setter",details:`focus=${l};attempts=${I};settleFrames=${d};beforeLen=${a.length};afterLen=${h.length};changed=${O};alreadyCorrect=${k};nowCorrect=${X};reverted=${_};keyFallback=${u}`,allowFallback:J?void 0:!0}}function pT(e,t,n){let o=Ge(e).InputEvent||InputEvent,i=new o("beforeinput",{bubbles:!0,cancelable:!0,composed:!0,data:t,inputType:n});return{ok:e.dispatchEvent(i),defaultPrevented:i.defaultPrevented}}function ob(e,t,n,r){let o=pe(e,n),i=we(o,r),a=i.InputEvent||InputEvent,s=i.Event||Event,c=String(t??""),l=Ai(e),d=ba(e,o,i),m=ga(e,o,i,!0),f=pT(e,c,"insertText"),u=!1,h="execCommand",b=!1,v=()=>{b=!0};try{e.addEventListener("input",v,{capture:!0})}catch{}if(f.ok&&!f.defaultPrevented)try{u=!!o.execCommand?.("insertText",!1,c)}catch{}if(!u)try{let x=i.getSelection?.(),C=x&&x.rangeCount?x.getRangeAt(0):null;if(!C||!e.contains(C.commonAncestorContainer)){ga(e,o,i,!0);let _=i.getSelection?.();C=_&&_.rangeCount?_.getRangeAt(0):null}C&&(C.insertNode(o.createTextNode(c)),C.collapse(!1),x?.removeAllRanges(),x?.addRange(C),u=!0,h="range")}catch{}if(u&&!b){try{e.dispatchEvent(new a("input",{bubbles:!0,cancelable:!1,composed:!0,data:c,inputType:"insertText"}))}catch{try{e.dispatchEvent(new s("input",{bubbles:!0,cancelable:!1,composed:!0}))}catch{}}try{e.dispatchEvent(new s("change",{bubbles:!0,cancelable:!0,composed:!0}))}catch{}}try{e.removeEventListener("input",v,{capture:!0})}catch{}let S=Ai(e);return{success:S!==l||!!c&&S.includes(c),method:`type-contenteditable-${h}`,details:`focus=${d};selectedWithin=${m};inserted=${u}`}}function ib(e){let{canceled:t}=lT(e);if(t)return{submitted:!1,method:"enter-handled"};let n=e.form||e.closest?.("form");return n?(n.requestSubmit?.()??n.submit?.(),{submitted:!0,method:"enter->form-submit"}):{submitted:!1,method:"enter-dispatched"}}function ab(e,t,n){if(e.disabled||e.readOnly)return{success:!1,method:"clear-native-setter",details:"disabled_or_readonly",allowFallback:!0};let r=pe(e,t),o=we(r,n),i=String(e.value??""),a=ba(e,r,o);$s(e,""),Ii(e,"","deleteByCut");let s=String(e.value??""),c=s!==i;return{success:c||s.length===0,method:"clear-native-setter",details:`focus=${a};beforeLen=${i.length};afterLen=${s.length};changed=${c}`}}function sb(e,t,n){let r=pe(e,t),o=we(r,n),i=Ai(e),a=ba(e,r,o),s=ga(e,r,o,!1),c=!1,l="execCommand";try{c=!!r.execCommand?.("delete",!1,void 0)}catch{c=!1}if(!c)try{let u=o.getSelection?.(),h=u&&u.rangeCount?u.getRangeAt(0):null;(!h||!e.contains(h.commonAncestorContainer))&&ga(e,r,o,!1);let b=o.getSelection?.(),v=b&&b.rangeCount?b.getRangeAt(0):null;v&&(v.deleteContents(),v.collapse(!1),b?.removeAllRanges(),b?.addRange(v),c=!0,l="range")}catch{}if(!c)try{e.textContent="",c=!0,l="textContent"}catch{}Ii(e,"","deleteByCut");let d=Ai(e),m=d!==i;return{success:c||m||d.length===0,method:`clear-contenteditable-${l}`,details:`focus=${a};selectedWithin=${s};cleared=${c};changed=${m}`}}function cb(e,t){if(e===t||e.contains(t))return!0;let n=t;for(;n;){let r=n.getRootNode?.();if(lr(r)){let o=r.host;if(o===e||e.contains(o))return!0;n=o;continue}n=n.parentNode||null}return!1}var mT=1,hT=9,gT=11,uf="application/gdoc",ya="text/html",zl="text/plain";function bT(e){return!!e&&typeof e=="object"&&e.nodeType===hT}function lb(e){return!!e&&typeof e=="object"&&e.nodeType===mT}function yT(e){return!!e&&typeof e=="object"&&e.nodeType===gT&&typeof e.host=="object"&&typeof e.mode=="string"}function db(e){return lb(e)&&String(e.tagName).toUpperCase()==="IFRAME"}function df(e){let t;if(typeof e=="number")t=e;else if(typeof e=="bigint")t=Number(e);else if(typeof e=="string")t=Number(e.trim());else return null;if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n<=0?null:n}function vT(e){try{let t=e.shadowRoot;return t||globalThis?.chrome?.dom?.openOrClosedShadowRoot?.(e)||null}catch{return null}}function kT(e,t,n={}){let r=n.traverseShadow!==!1,o=n.traverseIframes!==!1,i=n.requireOwnerDocument,a=[e],s=new WeakSet;for(;a.length;){let c=a.pop();if(c&&typeof c=="object"){if(s.has(c))continue;s.add(c)}if(bT(c)){let m=c.documentElement||c.body;m&&a.push(m);continue}if(yT(c)){let m=c.children;if(m&&m.length)for(let f=m.length-1;f>=0;f--)a.push(m[f]);continue}if(!lb(c))continue;let l=c;if(i&&l.ownerDocument!==i)continue;let d=l.getAttribute?.(Ln);if(d&&Ps(d)===t)return l;if(r)try{let m=vT(l);m&&a.push(m)}catch{}if(o&&db(l))try{let m=Es(l);m&&a.push(m)}catch{}for(let m=l.lastElementChild;m;m=m.previousElementSibling)a.push(m)}return null}function ur(e,t,n={}){let r=df(t);if(!r)return null;let o=Us(r);return o&&(!n.requireOwnerDocument||o.ownerDocument===n.requireOwnerDocument)?o:kT(e,r,{requireOwnerDocument:n.requireOwnerDocument,traverseShadow:n.traverseShadow,traverseIframes:n.traverseIframes})}function ff(e=document){return e.querySelector('embed[type="application/pdf"], embed[type="application/x-google-chrome-pdf"]')}function ub(e){if(e==null)return[];if(Array.isArray(e)){let t=[];for(let n of e){let r=df(n);r&&t.push(r)}return t}if(typeof e=="number"||typeof e=="bigint"){let t=df(e);return t?[t]:[]}if(typeof e=="string"){let t=e.match(/\d+/g);return t?t.map(r=>parseInt(r,10)).filter(r=>Number.isFinite(r)&&r>0):[]}if(typeof e=="object"){let t=e.path??e.ids??e.iframe_path;if(t!==void 0)return ub(t)}return[]}function va(e,t){let n=ub(t),r=e.defaultView||window;if(!n.length)return{doc:e,win:r,iframePath:n,resolvedPath:[],unresolvedPath:[]};let o=e,i=[];for(let a=0;a<n.length;a++){let s=n[a],c=n.length===1,l=ur(o,s,{requireOwnerDocument:c?void 0:o,traverseShadow:!0,traverseIframes:c});if(!l||!db(l))return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:i,unresolvedPath:n.slice(a)};let d=null;try{d=Es(l)||null}catch{d=null}if(!d)return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:i,unresolvedPath:n.slice(a)};i.push(s),o=d}return{doc:o,win:o.defaultView||r,iframePath:n,resolvedPath:i,unresolvedPath:[]}}function fb(e){return e==="application/pdf"||e==="application/x-pdf"||e==="application/x-google-chrome-pdf"}function xT(e){let t={...zo,...e??{}},n=Number(e?.pdfTextSelectionTimeoutMs);return Number.isFinite(n)&&(t.pdfTextSelectionTimeoutMs=Math.floor(n)),t.totalBudgetMs!==void 0&&(t.totalBudgetMs=Math.max(1500,Math.floor(t.totalBudgetMs))),t.pageDataTimeoutMs!==void 0&&(t.pageDataTimeoutMs=Math.max(500,Math.floor(t.pageDataTimeoutMs))),t.pdfTextSelectionTimeoutMs!==void 0&&(t.pdfTextSelectionTimeoutMs=Math.max(150,Math.floor(t.pdfTextSelectionTimeoutMs))),t.adaptiveSettleDebounceMs!==void 0&&(t.adaptiveSettleDebounceMs=Math.max(20,Math.min(500,Math.floor(t.adaptiveSettleDebounceMs)))),t.adaptiveSettleMaxWaitMs!==void 0&&(t.adaptiveSettleMaxWaitMs=Math.max(120,Math.min(5e3,Math.floor(t.adaptiveSettleMaxWaitMs)))),t.adaptiveSettleRetries!==void 0&&(t.adaptiveSettleRetries=Math.max(0,Math.min(6,Math.floor(t.adaptiveSettleRetries)))),t.sparseTreeRetryDelayMs!==void 0&&(t.sparseTreeRetryDelayMs=Math.max(40,Math.min(1e3,Math.floor(t.sparseTreeRetryDelayMs)))),t.sparseTreeRetryMaxAttempts!==void 0&&(t.sparseTreeRetryMaxAttempts=Math.max(0,Math.min(4,Math.floor(t.sparseTreeRetryMaxAttempts)))),t}var wT=["disableAutoScroll","onlyTextContent","totalBudgetMs","pageDataTimeoutMs","pdfTextSelectionTimeoutMs","adaptiveSettleDebounceMs","adaptiveSettleMaxWaitMs","adaptiveSettleRetries","sparseTreeRetryDelayMs","sparseTreeRetryMaxAttempts"];function Hl(e){if(!e||typeof e!="object")return;let t=e,n={};typeof t.disableAutoScroll=="boolean"&&(n.disableAutoScroll=t.disableAutoScroll),typeof t.onlyTextContent=="boolean"&&(n.onlyTextContent=t.onlyTextContent);let r=["totalBudgetMs","pageDataTimeoutMs","pdfTextSelectionTimeoutMs","adaptiveSettleDebounceMs","adaptiveSettleMaxWaitMs","adaptiveSettleRetries","sparseTreeRetryDelayMs","sparseTreeRetryMaxAttempts"];for(let a of r){let s=Number(t[a]);Number.isFinite(s)&&(n[a]=Math.trunc(s))}if(!Object.keys(n).length)return;let o=xT(n),i={};for(let a of wT)n[a]!==void 0&&o[a]!==void 0&&(i[a]=o[a]);return Object.keys(i).length?i:void 0}function ST(){return Date.now()}function fn(e){return!e||!Number.isFinite(e)?Number.POSITIVE_INFINITY:Math.max(0,e-ST())}async function pb(e,t,n){if(!Number.isFinite(e)||e<=0)return;let r=fn(n);r<=0||r<e+40||await yn(e,t)}async function ka(e,t,n){let r=Math.max(0,Math.floor(t));return r?await Promise.race([e.then(i=>({ok:!0,value:i})),(async()=>(await yn(r,n),{ok:!1,reason:"timeout"}))()]):{ok:!1,reason:"timeout"}}var yn=(()=>{let e=new MessageChannel,t=[];e.port1.onmessage=()=>{let r=t.shift();r&&r()};let n=()=>new Promise(r=>{t.push(r),e.port2.postMessage(0)});return async(r,o)=>{let i=Number(r);if(!Number.isFinite(i)||i<=0)return;if(!o.hidden){let s=o.defaultView||window,c=s.setTimeout?s.setTimeout.bind(s):setTimeout;await new Promise(l=>c(l,i));return}let a=Date.now();for(;Date.now()-a<i;)await n()}})();var TT=3e4;function mb(e){return(String(e??"").replace(/\\/g,"/").split("/").pop()||"upload").replace(/[\u0000-\u001f\u007f]/g,"").trim()||"upload"}var pf=class extends Error{constructor(n,r){super(n);q(this,"url");q(this,"status");q(this,"statusText");q(this,"bodySnippet");this.name="FetchFileError",this.url=r.url,this.status=r.status,this.statusText=r.statusText,this.bodySnippet=r.bodySnippet}};function _T(e){return e&&e.split(";")[0].trim()||"application/octet-stream"}function ET(e){if(!e)return;let t=/filename\*\s*=\s*UTF-8''([^;]+)/i.exec(e);if(t?.[1])try{return decodeURIComponent(t[1].trim().replace(/^\"(.*)\"$/,"$1"))}catch{}let n=/filename\s*=\s*(\"?)([^\";]+)\1/i.exec(e);if(n?.[2])return n[2].trim()}function mf(e,t){try{let r=(t??window).URL||URL,i=new r(e).pathname.match(/\/o\/(.+?)(\?|$)/);if(i?.[1]){let s=decodeURIComponent(i[1]).split("/");return s[s.length-1].replace(/^\d+-/,"")}}catch{}}function hb(e){let t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}async function IT(e,t={},n,r=fetch){let o=new AbortController,i=TT,a=!1,s=()=>{};if(n){let l=!1;s=()=>{l=!0},(async()=>{try{if(await yn(i,n),l)return;a=!0,o.abort()}catch{}})().catch(()=>{})}else{let l=setTimeout(()=>{a=!0,o.abort()},i);s=()=>clearTimeout(l)}let c=new Headers(t.headers);c.has("Accept")||c.set("Accept","*/*");try{let l=await r(e,{method:"GET",redirect:t.redirect??"follow",cache:t.cache??"no-store",mode:t.mode??"cors",credentials:t.credentials??"include",...t,headers:c,signal:o.signal});if(!l.ok){let u=await l.text().catch(()=>"");throw new pf(`Fetch failed (${l.status})`,{url:e,status:l.status,statusText:l.statusText,bodySnippet:u.slice(0,256)})}let d=await l.arrayBuffer(),m=_T(l.headers.get("content-type")),f=ET(l.headers.get("content-disposition"))||mf(e);return{bytes:d,mimeType:m,fileName:f}}finally{s()}}async function gb(e,t,n){return await IT(t,{referrer:n??void 0,referrerPolicy:"strict-origin-when-cross-origin"})}var Wt={plannerHistory:16,prevSteps:8,uiMessages:40,timelineEvents:60,localPersistBytes:131072,snapshotBytes:262144};var bb={activation:"on_demand",idleCloseMs:3e4,fallbackPollMinMs:2e3,fallbackPollMaxMs:15e3,maxInflightCommands:1};var z;(function(e){e.click_element="click_element",e.type_into_element="type_into_element",e.type_and_enter="type_and_enter",e.select_dropdown_value="select_dropdown_value",e.clear_element="clear_element",e.focus_element="focus_element",e.check_field_validity="check_field_validity",e.select_text="select_text",e.hover_element="hover_element",e.right_click_element="right_click_element",e.double_click_element="double_click_element",e.press_key="press_key",e.mouse_wheel="mouse_wheel",e.dispatch_pointer_path="dispatch_pointer_path",e.drag_element="drag_element",e.drag_and_drop="drag_and_drop",e.adjust_slider="adjust_slider",e.scroll_page="scroll_page",e.scroll_to_element="scroll_to_element",e.swipe_element="swipe_element",e.long_press_element="long_press_element",e.pinch_zoom="pinch_zoom",e.go_back="go_back",e.go_forward="go_forward",e.goto_url="goto_url",e.refresh_page="refresh_page",e.open_new_tab="open_new_tab",e.switch_tab="switch_tab",e.close_tab="close_tab",e.describe_images="describe_images",e.google_search="google_search",e.network_run_recipe="network_run_recipe",e.rover_external_read_context="rover_external_read_context",e.rover_external_act_context="rover_external_act_context",e.copy_text="copy_text",e.paste_text="paste_text",e.wait_action="wait_action",e.wait_for_element="wait_for_element",e.answer_task="answer_task",e.upload_file="upload_file",e.solve_captcha="solve_captcha"})(z||(z={}));var AT=new Set(Object.values(z)),xa=["element_id","source_element_id","target_element_id","center_element_id","element_ids"],RT=40;function yb(e){let t=Array.isArray(e?.element_ids)?e.element_ids:e?.element_id!=null?[e.element_id]:[];return Array.from(new Set(t.map(r=>Math.trunc(Number(r))))).filter(r=>Number.isFinite(r)&&r>0).slice(0,RT)}var fr;(function(e){e[e.Unknown=0]="Unknown",e[e.React=1]="React",e[e.Vue=2]="Vue",e[e.Angular=3]="Angular",e[e.Svelte=4]="Svelte",e[e.JQuery=5]="JQuery"})(fr||(fr={}));var vb={[fr.Unknown]:"unknown",[fr.React]:"react",[fr.Vue]:"vue",[fr.Angular]:"angular",[fr.Svelte]:"svelte",[fr.JQuery]:"jquery"},hf={react:fr.React,vue:fr.Vue,angular:fr.Angular,svelte:fr.Svelte,jquery:fr.JQuery},pn;(function(e){e[e.Other=0]="Other",e[e.Inline=1]="Inline",e[e.Delegated=2]="Delegated",e[e.React=3]="React",e[e.Vue=4]="Vue",e[e.Angular=5]="Angular",e[e.Svelte=6]="Svelte",e[e.JQuery=7]="JQuery",e[e.Native=8]="Native"})(pn||(pn={}));var qL={[pn.Other]:"other",[pn.Inline]:"inline",[pn.Delegated]:"delegated",[pn.React]:"react",[pn.Vue]:"vue",[pn.Angular]:"angular",[pn.Svelte]:"svelte",[pn.JQuery]:"jquery",[pn.Native]:"native"},VL={inline:pn.Inline,delegated:pn.Delegated,react:pn.React,vue:pn.Vue,angular:pn.Angular,svelte:pn.Svelte,jquery:pn.JQuery,other:pn.Other,native:pn.Native},Qe;(function(e){e[e.click_element=1]="click_element",e[e.type_into_element=2]="type_into_element",e[e.type_and_enter=3]="type_and_enter",e[e.select_dropdown_value=4]="select_dropdown_value",e[e.clear_element=5]="clear_element",e[e.focus_element=6]="focus_element",e[e.hover_element=7]="hover_element",e[e.right_click_element=8]="right_click_element",e[e.double_click_element=9]="double_click_element",e[e.long_press_element=10]="long_press_element",e[e.drag_element=11]="drag_element",e[e.drag_and_drop=12]="drag_and_drop",e[e.swipe_element=13]="swipe_element",e[e.adjust_slider=14]="adjust_slider",e[e.describe_images=15]="describe_images",e[e.scroll_to_element=16]="scroll_to_element",e[e.paste_text=17]="paste_text",e[e.check_field_validity=18]="check_field_validity",e[e.select_text=19]="select_text",e[e.mouse_wheel=20]="mouse_wheel",e[e.copy_text=21]="copy_text",e[e.upload_file=22]="upload_file",e[e.go_back=23]="go_back",e[e.go_forward=24]="go_forward",e[e.refresh_page=25]="refresh_page",e[e.press_key=26]="press_key",e[e.scroll_page=27]="scroll_page",e[e.wait_action=28]="wait_action",e[e.wait_for_element=29]="wait_for_element",e[e.pinch_zoom=30]="pinch_zoom",e[e.goto_url=31]="goto_url",e[e.google_search=32]="google_search",e[e.open_new_tab=33]="open_new_tab",e[e.switch_tab=34]="switch_tab",e[e.close_tab=35]="close_tab",e[e.solve_captcha=36]="solve_captcha",e[e.answer_task=37]="answer_task",e[e.dispatch_pointer_path=38]="dispatch_pointer_path",e[e.network_run_recipe=40]="network_run_recipe",e[e.rover_external_read_context=41]="rover_external_read_context",e[e.rover_external_act_context=42]="rover_external_act_context"})(Qe||(Qe={}));var jl={[z.click_element]:Qe.click_element,[z.type_into_element]:Qe.type_into_element,[z.type_and_enter]:Qe.type_and_enter,[z.select_dropdown_value]:Qe.select_dropdown_value,[z.clear_element]:Qe.clear_element,[z.focus_element]:Qe.focus_element,[z.hover_element]:Qe.hover_element,[z.right_click_element]:Qe.right_click_element,[z.double_click_element]:Qe.double_click_element,[z.long_press_element]:Qe.long_press_element,[z.drag_element]:Qe.drag_element,[z.drag_and_drop]:Qe.drag_and_drop,[z.swipe_element]:Qe.swipe_element,[z.adjust_slider]:Qe.adjust_slider,[z.describe_images]:Qe.describe_images,[z.scroll_to_element]:Qe.scroll_to_element,[z.paste_text]:Qe.paste_text,[z.check_field_validity]:Qe.check_field_validity,[z.select_text]:Qe.select_text,[z.mouse_wheel]:Qe.mouse_wheel,[z.copy_text]:Qe.copy_text,[z.upload_file]:Qe.upload_file,[z.go_back]:Qe.go_back,[z.go_forward]:Qe.go_forward,[z.refresh_page]:Qe.refresh_page,[z.press_key]:Qe.press_key,[z.scroll_page]:Qe.scroll_page,[z.wait_action]:Qe.wait_action,[z.wait_for_element]:Qe.wait_for_element,[z.pinch_zoom]:Qe.pinch_zoom,[z.goto_url]:Qe.goto_url,[z.google_search]:Qe.google_search,[z.open_new_tab]:Qe.open_new_tab,[z.switch_tab]:Qe.switch_tab,[z.close_tab]:Qe.close_tab,[z.solve_captcha]:Qe.solve_captcha,[z.answer_task]:Qe.answer_task,[z.dispatch_pointer_path]:Qe.dispatch_pointer_path,[z.network_run_recipe]:Qe.network_run_recipe,[z.rover_external_read_context]:Qe.rover_external_read_context,[z.rover_external_act_context]:Qe.rover_external_act_context},kb=Object.fromEntries(Object.entries(jl).map(([e,t])=>[t,e]));function $l(e){let t=[];return e&&(e&1&&t.push("native"),e&2&&t.push("inline"),e&4&&t.push("react"),e&8&&t.push("vue"),e&16&&t.push("angular"),e&32&&t.push("svelte"),e&64&&t.push("jquery"),e&128&&t.push("delegated"),e&256&&t.push("other")),t}var Kt;(function(e){e.UP="UP",e.DOWN="DOWN",e.LEFT="LEFT",e.RIGHT="RIGHT",e.TOP="TOP",e.BOTTOM="BOTTOM"})(Kt||(Kt={}));var An;(function(e){e.START="START",e.CENTER="CENTER",e.END="END",e.NEAREST="NEAREST"})(An||(An={}));function wb(e){if(!e)return An.CENTER;let t=typeof e=="string"?e.toUpperCase():String(e).toUpperCase();return An&&t in An?An[t]:An.CENTER}function gf(e){return globalThis.CSS&&typeof globalThis.CSS.escape=="function"?globalThis.CSS.escape(e):e.replace(/([ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~])/g,"\\$1")}function wa(e,t){if(!e)return"";let n=pe(e,t);if(e===n.documentElement)return"html";if(e===n.body)return"body";if(e.id)return`#${gf(e.id)}`;let r=[],o=e;for(;o&&o!==n.body&&o!==n.documentElement;){let i=o.tagName.toLowerCase();if(o.id){i+=`#${gf(o.id)}`,r.unshift(i);break}let s=(o.classList&&o.classList.length?Array.from(o.classList):(o.className||"").toString().split(/\s+/).filter(Boolean)).filter(c=>c&&c.length<=48).sort((c,l)=>c.length-l.length).slice(0,3).map(gf);if(s.length)i+="."+s.join(".");else{let c=o.parentElement;if(c){let l=Array.from(c.children).filter(d=>d.tagName===o.tagName);if(l.length>1){let d=l.indexOf(o)+1;i+=`:nth-of-type(${d})`}}}r.unshift(i),o=o.parentElement}return r.join(" > ")}function Ri(e){return e.scrollingElement||e.documentElement||e.body}function ql(e,t,n,r,o){let i=pe(e,t),a=we(i,n),s=Ri(i),c=e===i.documentElement||e===i.body||e===s,l=c?s:e,d=c?a.innerHeight:l.clientHeight,m=c?a.innerWidth:l.clientWidth,f=o??d*.8;switch(r){case Kt.DOWN:{l.scrollTop+=f;break}case Kt.UP:{l.scrollTop=Math.max(0,l.scrollTop-f);break}case Kt.LEFT:return l.scrollLeft=Math.max(0,l.scrollLeft-(o??m*.8)),{success:!0,scrollLeft:l.scrollLeft};case Kt.RIGHT:return l.scrollLeft+=o??m*.8,{success:!0,scrollLeft:l.scrollLeft};default:return{success:!1,error:`Unsupported scroll direction: ${String(r)}`}}let u=l.scrollHeight,h=c?a.innerHeight:l.clientHeight,b=u-h;return{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:l.scrollTop>=b-5}}function CT(e,t,n){let r=pe(e,t),o=we(r,n),i=Ri(r),a=e;for(;a&&a!==r.body&&a!==r.documentElement;){let c=o.getComputedStyle(a).overflowY;if((c==="auto"||c==="scroll"||c==="overlay")&&a.scrollHeight>a.clientHeight+5)return a;a=a.parentElement}return i}function xb(e,t,n){let r=pe(e,t),o=we(r,n),i=Ri(r),a=e===r.documentElement||e===r.body||e===i,s=a?i:e,c=s.scrollHeight,l=a?o.innerHeight:s.clientHeight,d=c-l;return s.scrollTop>=d-5}function bf(e,t,n,r){let o=pe(e,t),i=we(o,n),a=Ri(o),s=CT(e,o,i),c=s===o.documentElement||s===o.body||s===a,l=c?a:s,d=e.getBoundingClientRect(),m=c?new(i.DOMRect||DOMRect)(0,0,i.innerWidth,i.innerHeight):s.getBoundingClientRect(),f=c?i.innerHeight:s.clientHeight,u=24,h=d.top-m.top,b=l.scrollTop+h,v;switch(r){case An.START:v=b-u;break;case An.END:v=b+d.height-f+u;break;case An.NEAREST:{if(d.top>=m.top&&d.bottom<=m.bottom)return{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:xb(l,o,i)};d.top<m.top?v=b-u:v=b+d.height-f+u;break}case An.CENTER:default:v=b-f/2+d.height/2;break}let S=l.scrollHeight-f;return l.scrollTop=Math.max(0,Math.min(v,S)),{success:!0,scrollTop:l.scrollTop,isAtTop:l.scrollTop<=5,isAtBottom:xb(l,o,i)}}function Sb(e){let t=Number(e);if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n>0?n:null}function Tb(e){let t=[];for(let n of xa){let r=e?.[n];if(r==null)continue;if(Array.isArray(r)){for(let i of r){let a=Sb(i);a!=null&&t.push(a)}continue}let o=Sb(r);o!=null&&t.push(o)}return Array.from(new Set(t))}function MT(e){return Tb(e).length>0}function NT(e){let t=Tb(e);return t.length?t[0]:null}var LT=new Set([z.click_element,z.type_into_element,z.type_and_enter,z.hover_element,z.right_click_element,z.double_click_element,z.press_key,z.scroll_page,z.scroll_to_element,z.mouse_wheel,z.drag_element,z.drag_and_drop,z.swipe_element,z.long_press_element,z.adjust_slider,z.select_dropdown_value,z.clear_element,z.focus_element,z.check_field_validity,z.select_text,z.copy_text,z.paste_text,z.pinch_zoom,z.upload_file,z.dispatch_pointer_path]);(()=>{let e="__RTRVR_ACTION_EXECUTOR__";if(window[e])return;window[e]=!0;try{document.documentElement?.setAttribute(Wu,"1")}catch{}let n="__RTRVR_INTERNAL__";try{window.__RTRVR_INTERNAL_KEY__=window.__RTRVR_INTERNAL_KEY__||n}catch{}let r=window.__RTRVR_INTERNAL_KEY__||n,o=window[r],i=o&&typeof o=="object"?o:{};if(!o)try{Object.defineProperty(window,r,{value:i,writable:!1,configurable:!1,enumerable:!1})}catch{window[r]=i}async function a(g){let D={};try{let N=kb[g.opcode];if(!N)throw new Error(`Unknown tool opcode: ${g.opcode}`);let R={...g.call,name:N};D=(await b({tabIndex:g.tabIndex,call:R,elementData:h(g.elementData),payload:g.payload}))[0]?.response??{success:!1,error:"Empty tool response",allowFallback:!0}}catch(N){D={success:!1,error:N?.message||String(N),allowFallback:!0}}return D}try{Object.defineProperty(i,"actions",{value:Object.freeze({execute:a}),writable:!1,configurable:!1,enumerable:!1})}catch{}let s="__RTRVR_UPLOAD_BYTES_REQ__",c="__RTRVR_UPLOAD_BYTES_RES__",l="__RTRVR_UPLOAD_BYTES_BRIDGE__",d="__RTRVR_WINDOW_MESSAGE_MUX__";function m(g){let D=g,N=D[d];if(!N||typeof N!="object"){N={handlers:new Set,installed:!1};try{Object.defineProperty(D,d,{value:N,enumerable:!1,configurable:!1})}catch{D[d]=N}}if(!N.installed){N.installed=!0,g.addEventListener("message",R=>{if(R.source===g)for(let T of Array.from(N.handlers))try{T(R)}catch{}},!0);try{g.addEventListener("pagehide",()=>{let T=g[l]?.pending;if(T)for(let[w,E]of T){try{E.cancelTimeout()}catch{}E.reject(new Error("pagehide: upload bytes request canceled")),T.delete(w)}},!0)}catch{}}return N}function f(g){let D=g,N=D[l];if(!N||typeof N!="object"){N={pending:new Map};try{Object.defineProperty(D,l,{value:N,enumerable:!1,configurable:!1})}catch{D[l]=N}m(g).handlers.add(T=>{let w=T?.data;if(!w||typeof w!="object"||w.type!==c)return;let E=String(w.requestId||"");if(!E)return;let U=N.pending.get(E);if(!U)return;N.pending.delete(E);try{U.cancelTimeout()}catch{}if(!w.ok){U.reject(new Error(w.error||"Failed to get bytes"));return}let Q=w.bytes;if(!(Q instanceof ArrayBuffer)){U.reject(new Error("Invalid bytes payload (expected ArrayBuffer)"));return}if(typeof U.expectedByteLength=="number"&&Q.byteLength!==U.expectedByteLength){U.reject(new Error(`Byte length mismatch: got=${Q.byteLength}, expected=${U.expectedByteLength}`));return}U.resolve(Q)})}return N}function u(g,D,N,R=9e4){let T=g.__ROVER_UPLOAD_BYTES__||g.rover?.uploadBytes||g.rtrvr?.uploadBytes;if(typeof T=="function")return Promise.resolve().then(()=>T({token:D,byteLength:N,timeoutMs:R})).then(G=>{if(G instanceof ArrayBuffer)return G;if(G&&G.buffer instanceof ArrayBuffer)return G.buffer;throw new Error("Upload bytes provider returned invalid buffer")});let w=f(g),E=globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(16).slice(2)}`,U=Math.max(1e3,Math.min(Number(R)||9e4,18e4)),Q=xl(g)||document;return new Promise((G,Z)=>{let re=!1,ce=!1,xe=()=>{ce=!0};(async()=>{await yn(U,Q),!(ce||re)&&(w.pending.delete(E),re=!0,Z(new Error("Timed out waiting for upload bytes")))})().catch(()=>{}),w.pending.set(E,{cancelTimeout:xe,expectedByteLength:N,resolve:_e=>{re||(re=!0,xe(),G(_e))},reject:_e=>{re||(re=!0,xe(),Z(_e))}}),g.postMessage({type:s,requestId:E,token:D,byteLength:N},"*")})}function h(g){if(g)return{frameworks:g.frameworks?g.frameworks.map(D=>vb[D]).filter(D=>D&&D!=="unknown"):[],listenersRaw:g.listenersRaw??"",role:g.role??void 0,pattern:g.pattern??void 0,value:g.value??void 0}}async function b({tabIndex:g,call:D,elementData:N,payload:R}){let T=(()=>{try{return Lr()?.top?.document||document}catch{return document}})(),w=D.args,E=MT(w),U,Q,G=[],Z=[],re=[];try{({doc:U,win:Q,iframePath:G,resolvedPath:Z,unresolvedPath:re}=va(T,w.iframe_id))}catch{if(w.iframe_id!=null){let Re=`Cannot access iframe ${w.iframe_id} (cross-origin or not found)`;return[{name:D.name,args:D.args,response:{success:!1,error:Re,allowFallback:!1,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:Re,retryable:!1},iframe_context:{requested_iframe_id:w.iframe_id}}}}]}U=document,Q=we(U)}if(w.iframe_id!=null&&re.length>0&&!E){let He=`iframe_id unresolved: remaining=${re.join(">")||"(none)"} (cross-origin, not-ready, or not found)`;return[{name:D.name,args:D.args,response:{success:!1,error:He,allowFallback:!1,details:`requested=${G.join(">")||"(none)"} resolved=${Z.join(">")||"(none)"}`,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:He,retryable:!1},iframe_context:{requested_iframe_id:w.iframe_id,requested_path:G,resolved_path:Z,unresolved_path:re}}}}]}let ce=D.name,xe=NT(w),_e=xe?ur(U,xe):null,Je=_e?.ownerDocument??null,Pe;if(!LT.has(ce))Pe={success:!1,error:`Tool not promotable to main: ${ce}`,allowFallback:!0};else{let Re=Je??U,He=we(Re,Q);Pe=await S(ce,_e,w,N,Re,He,R)}return[{name:D.name,args:D.args,response:Pe}]}async function v(g,D,N){try{let R=g.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",w=g[R]?.scroll?.execute;if(typeof w!="function")throw new Error("main-world scroll detector not available");let E=N?.doc||xl(g)||document,U=Math.max(250,Math.min(Number(N?.timeoutMs??3500),8e3)),Q=await ka(Promise.resolve().then(()=>w(D)),U,E);if(!Q.ok)throw new Error("scroll detector timeout");return Q.value}catch(R){throw new Error(R?.message||"main-world scroll detector not available")}}async function S(g,D,N,R,T,w,E){let U=ce=>({success:ce.success,error:ce.success?void 0:ce.details||"Action failed",allowFallback:ce.success?void 0:ce.allowFallback??!0}),Q=g===z.press_key||g===z.scroll_page||g===z.drag_and_drop||g===z.pinch_zoom;if(!D&&!Q)return U({success:!1,method:"missing-element-race",details:"Target element missing",allowFallback:!0});let G=new Set([z.type_into_element,z.type_and_enter,z.clear_element,z.focus_element,z.select_text,z.check_field_validity]),Z=D,re=pe(Z,T);if(Z&&G.has(g)){let ce=eb(Z,re);(ce.kind==="input"||ce.kind==="contenteditable")&&(Z=ce.el)}try{switch(g){case z.click_element:return U(_(D,T,w,R));case z.double_click_element:return U(cn(D,T,w));case z.right_click_element:return U(hn(D,T,w));case z.hover_element:return U(await Y(D,T,w,R,N.duration));case z.type_into_element:return U(await ze(Z,T,w,N.text,R));case z.type_and_enter:return U(await Oe(Z,T,w,N.text,R));case z.clear_element:return U(await ke(Z,T,w,R));case z.focus_element:return U(B(Z,T,w));case z.select_dropdown_value:return U(K(D,T,w,N.value,R));case z.adjust_slider:return U(F(D,T,w,R?.value??N.value,R));case z.check_field_validity:return U(te(Z,T,w));case z.select_text:return U(fe(Z,T,w,N.start_offset,N.end_offset));case z.scroll_page:return U(await Ne(D,T,w,N));case z.scroll_to_element:return U(await ge(D,T,w,N));case z.mouse_wheel:return U(dt(D,T,w,N.delta_x,N.delta_y));case z.drag_element:return U(await it(D,T,w,N,R));case z.drag_and_drop:return U(await je(N,D,T,w));case z.swipe_element:return U(await jt(D,T,w,N));case z.long_press_element:return U(await ut(D,T,w,N.duration));case z.pinch_zoom:return U(await We(D,T,w,N));case z.press_key:return U(Le(N.key,N.modifiers,D,T,w));case z.copy_text:return U(await Ye(D,T,w));case z.paste_text:return U(await Pt(D,T,w,R));case z.upload_file:return U(await tn(N,T,w,E,D,R));case z.dispatch_pointer_path:return U(await nn(N,T,w));default:return U({success:!1,method:"unhandled",details:`Unhandled ${g}`,allowFallback:!0})}}catch(ce){return U({success:!1,method:"exception",details:ce?.message||"exception",allowFallback:!0})}}function k(g){let D=new Map;if(!g)return D;let N=g.trim();if(!N)return D;let R=ki(N);if(R){for(let{id:T,mask:w}of R.entries){let E=vo[T];if(!E)continue;let U=new Set($l(w)),Q=D.get(E);if(Q)for(let G of U)Q.add(G);else D.set(E,U)}return D}return D}function x(g,...D){return g?D.some(N=>g.has(N)):!1}function C(g,D){let N=k(D?.listenersRaw),R=new Set;for(let[,G]of N)for(let Z of G)(Z==="react"||Z==="vue"||Z==="angular"||Z==="svelte"||Z==="jquery")&&R.add(Z);let T=new Set;for(let[G,Z]of N)if(["click","input","change","keydown","keyup","pointerdown","pointerup","mousedown","mouseup","submit","dragstart","drop","wheel","scroll"].includes(G))for(let re of Z)T.add(re);let w=R.size>0||[...T].some(G=>["react","vue","angular","svelte","jquery"].includes(G)),E=x(N.get("click"),"delegated"),U=x(N.get("input"),"delegated")||x(N.get("change"),"delegated")||x(N.get("keydown"),"delegated"),Q=D?.role||Ds(g)||g.getAttribute("role");return{sourcesByType:N,fws:R,isFrameworkElement:w,delegatedClick:E,delegatedInput:U,role:Q}}function _(g,D,N,R){let T=C(g,R),w=pe(g,D),E=we(w,N);Nt(g,w,E),R?.pattern==="hover-activate"&&Y(g,w,E,R,120);let U=T.fws.has("react")||x(T.sourcesByType.get("click"),"react"),Q=T.fws.has("vue")||x(T.sourcesByType.get("click"),"vue"),G=T.fws.has("angular")||x(T.sourcesByType.get("click"),"angular"),Z=T.fws.has("svelte")||x(T.sourcesByType.get("click"),"svelte"),re=T.fws.has("jquery")||x(T.sourcesByType.get("click"),"jquery");return Tn(()=>I(g,w,E),()=>M(g,w,E),()=>U?O(g,w,E):null,()=>Q?J(g,w,E):null,()=>G?ee(g,w,E):null,()=>Z?se(g,w,E):null,()=>re?H(g,w,E):null)}function I(g,D,N){let R=pe(g,D),T=we(R,N),w=T.PointerEvent||PointerEvent,E=T.MouseEvent||MouseEvent,{x:U,y:Q}=X(g,R,T),G={bubbles:!0,cancelable:!0,composed:!0,view:T,clientX:U,clientY:Q,button:0,buttons:1};return g.focus?.({preventScroll:!0}),[new w("pointerover",G),new w("pointerenter",{...G,bubbles:!1}),new E("mouseover",G),new E("mouseenter",{...G,bubbles:!1}),new w("pointerdown",G),new E("mousedown",G),new w("pointerup",{...G,buttons:0}),new E("mouseup",{...G,buttons:0}),new E("click",{...G,buttons:0})].forEach(re=>g.dispatchEvent(re)),{success:!0,method:"pointer-mouse-click"}}function M(g,D,N){let R=pe(g,D),T=we(R,N);try{if(g instanceof HTMLAnchorElement){let w=g.getAttribute("target");try{g.setAttribute("target","_self"),g.click()}finally{w===null?g.removeAttribute("target"):g.setAttribute("target",w)}}else g.click?.();return{success:!0,method:"native-click"}}catch{return{success:!1,method:"native-click"}}}function X(g,D,N){let R=pe(g,D),T=g.getBoundingClientRect(),w=[{x:T.left+T.width/2,y:T.top+T.height/2},{x:T.left+4,y:T.top+4},{x:T.right-4,y:T.top+4},{x:T.left+4,y:T.bottom-4},{x:T.right-4,y:T.bottom-4}],E=null;for(let U=0;U<w.length;U++){let Q=w[U],G=R.elementFromPoint(Q.x,Q.y);if(U===0&&(E=G),G&&cb(g,G))return{...Q,hit:G,ok:!0}}return{...w[0],hit:E,ok:!1}}function O(g,D,N){let R=pe(g,D),T=we(R,N);try{let w=yr(g);if(!w)return{success:!1,method:"react-no-fiber"};let E=vr(w),U=E.onClick||E.onClickCapture;return U?(U(Lt("click",g,R,T)),{success:!0,method:"react-fiber-onClick"}):{success:!1,method:"react-no-onClick"}}catch{return{success:!1,method:"react-fiber-onClick"}}}function J(g,D,N){let R=pe(g,D),w=we(R,N).MouseEvent||MouseEvent;try{let E=Rr(g);if(!E)return{success:!1,method:"vue-none"};let U=Qr(E);return U.click?(U.click(new w("click",{bubbles:!0})),{success:!0,method:"vue-handler"}):E.$emit?(E.$emit("click"),{success:!0,method:"vue-emit"}):{success:!1,method:"vue-no-click"}}catch{return{success:!1,method:"vue-handler"}}}function ee(g,D,N){let R=pe(g,D),T=we(R,N),w=T.MouseEvent||MouseEvent;try{let E=T.ng?.getZone?.()||null;return E?.run?(E.run(()=>g.dispatchEvent(new w("click",{bubbles:!0,cancelable:!0}))),{success:!0,method:"angular-zone-click"}):(g.dispatchEvent(new w("click",{bubbles:!0,cancelable:!0})),g.click?.(),{success:!0,method:"angular-click"})}catch{return{success:!1,method:"angular-click",allowFallback:!0}}}function se(g,D,N){let R=pe(g,D),w=we(R,N).MouseEvent||MouseEvent;try{let E=g.getBoundingClientRect(),U={bubbles:!0,cancelable:!0,view:g.ownerDocument?.defaultView||window,clientX:E.left+E.width/2,clientY:E.top+E.height/2};return g.dispatchEvent(new w("mousedown",U)),g.dispatchEvent(new w("mouseup",U)),g.dispatchEvent(new w("click",U)),{success:!0,method:"svelte-click"}}catch{return{success:!1,method:"svelte-click"}}}function H(g,D,N){let R=pe(g,D),T=we(R,N);try{return T.jQuery?.(g)?.trigger?.("click"),{success:!0,method:"jquery-trigger"}}catch{return{success:!1,method:"jquery-trigger"}}}async function Y(g,D,N,R,T=500){let w=Math.min(Math.max(0,Number(T)||500),3e4),E=pe(g,D),U=we(E,N),Q=C(g,R);Nt(g,E,U);let G=U.PointerEvent||PointerEvent,Z=U.MouseEvent||MouseEvent,re=g.getBoundingClientRect(),ce=re.left+re.width/2,xe=re.top+re.height/2;if(Q.fws.has("react")){let Pe=yr(g),Re=Pe?vr(Pe):{};Re.onMouseEnter?.(Lt("mouseenter",g,E,U)),Re.onPointerEnter?.(Lt("pointerenter",g,E,U))}else if(Q.fws.has("vue")){let Pe=Rr(g),Re=Pe?Qr(Pe):{};Re.mouseenter?.(new Z("mouseenter",{bubbles:!0})),Re.mouseover?.(new Z("mouseover",{bubbles:!0}))}let _e={bubbles:!0,cancelable:!0,composed:!0,view:U,clientX:ce,clientY:xe};return[new G("pointerover",_e),new G("pointerenter",{..._e,bubbles:!1}),new Z("mouseover",_e),new Z("mouseenter",{..._e,bubbles:!1})].forEach(Pe=>g.dispatchEvent(Pe)),await yn(w,E),{success:!0,method:"hover-seq"}}async function oe(g,D,N=1){await Promise.resolve();for(let R=0;R<N;R++)g.hidden?await zn():await new Promise(T=>{try{D.requestAnimationFrame(()=>T())}catch{zn().then(T)}})}let ie=g=>String(g??"").replace(/\s+/g," ").trim();function me(g){try{if("value"in g)return String(g.value??"")}catch{}return""}function he(g){try{return typeof Ai=="function"?Ai(g):ie(g.textContent)}catch{return""}}function Te(g,D){if(!(D.isFrameworkElement||D.delegatedInput))return!1;let N=String(g??"").length;return N>0&&N<=140}async function ze(g,D,N,R,T){let w=C(g,T),E=pe(g,D),U=we(E,N);if(Nt(g,E,U),wr(g,U)||Dr(g,U)){let G=Te(String(R??""),w),Z=await rb(g,E,U,R,{settleFrames:E.hidden?1:2,useKeyFallback:G,keyFallbackMaxLen:140});return{success:Z.success,method:Z.method,details:Z.details,allowFallback:!Z.success}}if(g.isContentEditable===!0||w.role==="textbox"&&!("value"in g)){let G=he(g),Z=ob(g,R,E,U);await oe(E,U,E.hidden?1:2);let re=he(g),ce=!1;if(String(R??"").length>0&&re===G){ce=!0;try{ba(g,E,U),ga(g,E,U,!0);try{E.execCommand?.("insertText",!1,String(R??""))}catch{}Ii(g,String(R??""),"insertText")}catch{}await oe(E,U,E.hidden?1:2)}let xe=he(g),_e=xe!==G||!!String(R??"")&&xe.includes(String(R??""));return{success:_e,method:Z.method,details:`${Z.details};beforeLen=${G.length};afterLen=${xe.length};reverted=${re===G};fallback=${ce}`,allowFallback:_e?void 0:!0}}return{success:!1,method:"type",details:"target not editable",allowFallback:!0}}async function Oe(g,D,N,R,T){let w=pe(g,D),E=we(w,N),U=await ze(g,w,E,R,T);if(!U.success)return U;let Q=ib(g);return{success:!0,method:"type+enter",details:`${U.details};enter=${Q.method}`}}async function ke(g,D,N,R){let T=pe(g,D),w=we(T,N),E=w.Event||Event;if(Nt(g,T,w),wr(g,w)||Dr(g,w)){let Q=me(g),G=ab(g,T,w);if(await oe(T,w,T.hidden?1:2),me(g)===Q&&Q.length>0){try{$s(g,""),Ii(g,"","deleteByCut")}catch{}await oe(T,w,T.hidden?1:2)}let ce=me(g),xe=ce.length===0||ce!==Q;return{success:G.success,method:G.method,details:G.details,allowFallback:!G.success}}if(g.isContentEditable===!0||C(g,R).role==="textbox"&&!("value"in g)){let Q=sb(g,T,w);return await oe(T,w,T.hidden?1:2),{success:Q.success,method:Q.method,details:Q.details,allowFallback:!Q.success}}if("value"in g){try{g.value=""}catch{}return g.dispatchEvent(new E("input",{bubbles:!0,composed:!0})),g.dispatchEvent(new E("change",{bubbles:!0,composed:!0})),{success:!0,method:"clear-generic-value"}}return{success:!1,method:"clear",details:"target not clearable",allowFallback:!0}}function B(g,D,N){try{let R=pe(g,D),T=we(R,N),w=T.FocusEvent||FocusEvent;return Nt(g,R,T),g.focus?.({preventScroll:!0}),g.dispatchEvent(new w("focus",{bubbles:!0})),g.dispatchEvent(new w("focusin",{bubbles:!0})),{success:!0,method:"focus"}}catch(R){return{success:!1,method:"focus",details:R.message,allowFallback:!0}}}function K(g,D,N,R,T){try{let w=pe(g,D),E=we(w,N),U=E.Event||Event;if(!Zh(g,E))return{success:!1,method:"select",details:"target not select",allowFallback:!0};Nt(g,w,E),g.focus?.({preventScroll:!0});let Q=Array.from(g.options).find(ce=>ce.value===R||ce.text.trim()===R.trim());if(!Q)return{success:!1,method:"select",details:`Option not found: ${R}`,allowFallback:!0};Q.selected=!0;let G=Object.getPrototypeOf(g),Z=Object.getOwnPropertyDescriptor(G,"value");if(Z?.set?Z.set.call(g,Q.value):g.value=Q.value,g.dispatchEvent(new U("input",{bubbles:!0,composed:!0})),g.dispatchEvent(new U("change",{bubbles:!0,composed:!0})),C(g,T).fws.has("react")){let ce=yr(g);if(ce){let xe=vr(ce);if(xe.onChange){let _e=Lt("change",g,w,E);_e.target.value=Q.value,xe.onChange(_e)}}}return{success:!0,method:"select"}}catch(w){return{success:!1,method:"select",details:w.message,allowFallback:!0}}}function F(g,D,N,R,T){try{let w=pe(g,D),E=we(w,N),U=E.Event||Event;if(!wr(g,E))return{success:!1,method:"slider",details:"target not input",allowFallback:!0};Nt(g,w,E),g.focus?.({preventScroll:!0});let Q=Object.getPrototypeOf(g),G=Object.getOwnPropertyDescriptor(Q,"value");if(G?.set?G.set.call(g,String(R)):g.value=String(R),g.dispatchEvent(new U("input",{bubbles:!0,composed:!0})),g.dispatchEvent(new U("change",{bubbles:!0,composed:!0})),C(g,T).fws.has("react")){let re=yr(g);if(re){let ce=vr(re);if(ce.onChange){let xe=Lt("change",g,w,E);xe.target.value=String(R),ce.onChange(xe)}}}return{success:!0,method:"slider"}}catch(w){return{success:!1,method:"slider",details:w.message,allowFallback:!0}}}function te(g,D,N){try{let R=g.checkValidity?.()??!0;return R||g.reportValidity?.(),{success:R,method:"check-validity",details:R?void 0:g.validationMessage}}catch(R){return{success:!1,method:"check-validity",details:R.message,allowFallback:!0}}}function fe(g,D,N,R,T){try{let w=pe(g,D),E=we(w,N);if("setSelectionRange"in g){let G=g;G.focus?.();let Z=G.value?.length??0;return G.setSelectionRange(R??0,T??Z),{success:!0,method:"select-range"}}let U=E.getSelection();if(!U)return{success:!1,method:"select-range",allowFallback:!0};let Q=w.createRange();return Q.selectNodeContents(g),U.removeAllRanges(),U.addRange(Q),{success:!0,method:"select-range-node"}}catch(w){return{success:!1,method:"select-range",details:w.message,allowFallback:!0}}}function le(g,D,N,R,T){let w=Ri((g&&pe(g))??D),E=g||w,U=pe(E,D),Q=we(U,N),G=E===U.documentElement||E===U.body||E===w;if(R===Kt.TOP||R===Kt.BOTTOM){let Z=E.scrollHeight,re=G?Q.innerHeight:E.clientHeight,ce=Math.max(0,Z-re);return E.scrollTop=R===Kt.TOP?0:ce,{success:!0,scrollTop:E.scrollTop}}return ql(E,U,Q,R,T)}async function Ne(g,D,N,R){let T=R.direction,w=R.amount,E=pe(g,D),U=we(E,N),Q=!E.hidden,G=Q?"smooth":"auto";try{if(g){let re=mt(g,E,U),ce=le(re,E,U,T,w);return ce?.success?{success:!0,method:"direct-element-scroll",details:JSON.stringify(ce)}:{success:!1,method:"direct-element-scroll",details:ce?.error||"direct scroll failed",allowFallback:!0}}if(T===Kt.TOP||T===Kt.BOTTOM){let re=await v(U,{action:"scrollTo",direction:T,options:{behavior:G,isTabActive:Q}},{doc:E,timeoutMs:E.hidden?5200:2800});return{success:!0,method:"detector-scrollTo",details:JSON.stringify(re)}}let Z=await v(U,{action:"scrollBy",direction:T,options:{amount:w,behavior:G,isTabActive:Q}},{doc:E,timeoutMs:E.hidden?5200:2800});return{success:!0,method:"detector-scrollBy",details:JSON.stringify(Z)}}catch(Z){let re=E?le(Ri(E),E,U,T,w):void 0;return re?.success?{success:!0,method:"direct-primary-scroll-fallback",details:JSON.stringify(re)}:{success:!1,method:"scroll-page-failed",details:Z?.message||re?.error||"scroll_page failed",allowFallback:!0}}}async function ge(g,D,N,R){let T=pe(g,D),w=we(T,N),E=!T.hidden,U=E?"smooth":"auto",Q=wb(R.position),G=wa(g,T);if(!G){let Z=bf(g,T,w,Q);return{success:Z.success,method:"direct-scrollElement-no-selector",details:Z.error,allowFallback:!Z.success}}try{let Z=await v(w,{action:"scrollElement",selector:G,position:Q,options:{behavior:U,isTabActive:E}},{doc:T,timeoutMs:T.hidden?5600:3e3});return{success:!0,method:"detector-scrollElement",details:JSON.stringify(Z)}}catch(Z){let re=bf(g,T,w,Q);return re.success?{success:!0,method:"direct-scrollElement-fallback",details:JSON.stringify(re)}:{success:!1,method:"scroll-to-element-failed",details:Z?.message||re.error||"scroll_to_element failed",allowFallback:!0}}}function dt(g,D,N,R,T){try{let w=pe(g,D),E=we(w,N),U=E.WheelEvent||WheelEvent;Nt(g,w,E);let Q=mt(g,w,E);return Q.dispatchEvent(new U("wheel",{bubbles:!0,cancelable:!0,composed:!0,view:E,deltaX:R||0,deltaY:T||0,deltaMode:U.DOM_DELTA_PIXEL})),Q.scrollBy({left:R||0,top:T||0,behavior:"auto"}),{success:!0,method:"wheel"}}catch(w){return{success:!1,method:"wheel",details:w.message,allowFallback:!0}}}function mt(g,D,N){let R=pe(g,D),T=we(R,N),w=R.scrollingElement||R.documentElement||R.body,E=g;for(;E&&E!==R.body&&E!==R.documentElement;){let Q=T.getComputedStyle(E).overflowY;if((Q==="auto"||Q==="scroll"||Q==="overlay")&&E.scrollHeight>E.clientHeight+5)return E;E=E.parentElement}return w}async function it(g,D,N,R,T){try{let w=pe(g,D),E=we(w,N),U=E.PointerEvent||PointerEvent,Q=E.MouseEvent||MouseEvent,G=E.DragEvent||DragEvent,Z=E.DataTransfer||DataTransfer;Nt(g,w,E);let re=X(g,w,E),ce=un(re.hit,E)?re.hit:g,xe=g.getBoundingClientRect(),_e=Number.isFinite(Number(R?.distance))?Number(R.distance):160,Je=0,Pe=0;switch(String(R?.direction||"").toUpperCase()){case"UP":Pe=-_e;break;case"DOWN":Pe=_e;break;case"LEFT":Je=-_e;break;case"RIGHT":Je=_e;break;default:Je=Number(R?.delta_x)||0,Pe=Number(R?.delta_y)||0}let Re=(ve,Be)=>({x:Math.max(2,Math.min(ve,E.innerWidth-3)),y:Math.max(2,Math.min(Be,E.innerHeight-3))}),He=Re(re.x,re.y),vt=Re(re.x+Je,re.y+Pe),ln=500+Date.now()%1e4,et=Math.max(12,Math.min(36,Number(R?.steps)||18)),rt=(ve,Be)=>({bubbles:!0,cancelable:!0,composed:!0,view:E,clientX:ve,clientY:Be,pageX:ve+(E.scrollX||0),pageY:Be+(E.scrollY||0)}),tt=(ve,Be,pt)=>({...rt(ve,Be),pointerId:ln,pointerType:"mouse",isPrimary:!0,width:1,height:1,pressure:pt?.5:0,buttons:pt,button:0}),at=(ve,Be,pt)=>({...rt(ve,Be),buttons:pt,button:0});ce.dispatchEvent(new U("pointerdown",tt(He.x,He.y,1))),ce.dispatchEvent(new Q("mousedown",at(He.x,He.y,1)));try{ce.setPointerCapture?.(ln)}catch{}let Tt=null;try{(g.draggable||C(g,T).sourcesByType.has("dragstart"))&&(Tt=new Z)}catch{Tt=null}if(Tt)try{g.dispatchEvent(new G("dragstart",{bubbles:!0,cancelable:!0,clientX:He.x,clientY:He.y,dataTransfer:Tt}))}catch{}let Et=null;for(let ve=1;ve<=et;ve++){let Be=He.x+(vt.x-He.x)*ve/et,pt=He.y+(vt.y-He.y)*ve/et,_n=w.elementFromPoint(Be,pt)||g;if(_n.dispatchEvent(new U("pointermove",tt(Be,pt,1))),_n.dispatchEvent(new Q("mousemove",at(Be,pt,1))),Tt)try{Et&&Et!==_n&&Et.dispatchEvent(new G("dragleave",{bubbles:!0,cancelable:!0,clientX:Be,clientY:pt,dataTransfer:Tt})),_n.dispatchEvent(new G("dragover",{bubbles:!0,cancelable:!0,clientX:Be,clientY:pt,dataTransfer:Tt})),Et=_n}catch{}ve%3===0&&await zn()}let be=w.elementFromPoint(vt.x,vt.y)||g;if(be.dispatchEvent(new U("pointerup",tt(vt.x,vt.y,0))),be.dispatchEvent(new Q("mouseup",at(vt.x,vt.y,0))),Tt)try{g.dispatchEvent(new G("dragend",{bubbles:!0,cancelable:!0,clientX:vt.x,clientY:vt.y,dataTransfer:Tt}))}catch{}return{success:!0,method:"drag",details:`dx=${Je};dy=${Pe};steps=${et};hitOk=${re.ok}`}}catch(w){return{success:!1,method:"drag",details:w?.message||"drag failed",allowFallback:!0}}}async function je(g,D,N,R){try{let T=pe(D,N),w=we(T,R),E=w.PointerEvent||PointerEvent,U=w.MouseEvent||MouseEvent,Q=w.DragEvent||DragEvent,G=w.DataTransfer||DataTransfer,Z=g?.source_element_id??g?.element_id,re=(Z?ur(T,String(Z)):null)||D;if(!re)return{success:!1,method:"drag-drop",details:"source missing",allowFallback:!0};let ce=null,xe=Number(g?.target_x),_e=Number(g?.target_y);if(g?.target_element_id){if(ce=ur(T,String(g.target_element_id)),!ce)return{success:!1,method:"drag-drop",details:"target missing",allowFallback:!0};let be=ce.getBoundingClientRect();xe=be.left+be.width/2,_e=be.top+be.height/2}if((!Number.isFinite(xe)||!Number.isFinite(_e))&&!ce)return{success:!1,method:"drag-drop",details:"missing target coords",allowFallback:!0};Nt(re,T,w),ce&&Nt(ce,T,w);let Je=(be,ve)=>({x:Math.max(2,Math.min(be,w.innerWidth-3)),y:Math.max(2,Math.min(ve,w.innerHeight-3))}),Pe=re.getBoundingClientRect(),Re=Je(Pe.left+Pe.width/2,Pe.top+Pe.height/2),He=Je(Number(xe),Number(_e)),vt=600+Date.now()%1e4,ln=Math.max(14,Math.min(42,Number(g?.steps)||22)),et=(be,ve)=>({bubbles:!0,cancelable:!0,composed:!0,view:w,clientX:be,clientY:ve,pageX:be+(w.scrollX||0),pageY:ve+(w.scrollY||0)}),rt=(be,ve,Be)=>({...et(be,ve),pointerId:vt,pointerType:"mouse",isPrimary:!0,width:1,height:1,pressure:Be?.5:0,buttons:Be,button:0}),tt=(be,ve,Be)=>({...et(be,ve),buttons:Be,button:0}),at=null;try{at=new G}catch{at=null}re.dispatchEvent(new E("pointerdown",rt(Re.x,Re.y,1))),re.dispatchEvent(new U("mousedown",tt(Re.x,Re.y,1)));try{re.setPointerCapture?.(vt)}catch{}if(at)try{re.dispatchEvent(new Q("dragstart",{bubbles:!0,cancelable:!0,clientX:Re.x,clientY:Re.y,dataTransfer:at}))}catch{}let Tt=null;for(let be=1;be<=ln;be++){let ve=Re.x+(He.x-Re.x)*be/ln,Be=Re.y+(He.y-Re.y)*be/ln,pt=T.elementFromPoint(ve,Be)||ce||T.body;if(pt.dispatchEvent(new E("pointermove",rt(ve,Be,1))),pt.dispatchEvent(new U("mousemove",tt(ve,Be,1))),at)try{Tt&&Tt!==pt&&Tt.dispatchEvent(new Q("dragleave",{bubbles:!0,cancelable:!0,clientX:ve,clientY:Be,dataTransfer:at})),pt.dispatchEvent(new Q("dragenter",{bubbles:!0,cancelable:!0,clientX:ve,clientY:Be,dataTransfer:at})),pt.dispatchEvent(new Q("dragover",{bubbles:!0,cancelable:!0,clientX:ve,clientY:Be,dataTransfer:at})),Tt=pt}catch{}be%3===0&&await zn()}let Et=ce||T.elementFromPoint(He.x,He.y)||T.body;if(at)try{Et.dispatchEvent(new Q("drop",{bubbles:!0,cancelable:!0,clientX:He.x,clientY:He.y,dataTransfer:at}))}catch{}if(Et.dispatchEvent(new E("pointerup",rt(He.x,He.y,0))),Et.dispatchEvent(new U("mouseup",tt(He.x,He.y,0))),at)try{re.dispatchEvent(new Q("dragend",{bubbles:!0,cancelable:!0,clientX:He.x,clientY:He.y,dataTransfer:at}))}catch{}return{success:!0,method:"html5+pointer-dragdrop",details:`steps=${ln};source=${String(Z)}`}}catch(T){return{success:!1,method:"drag-drop",details:T?.message||"drag-drop failed",allowFallback:!0}}}async function jt(g,D,N,R){try{let T=pe(g,D),w=we(T,N),E=w.PointerEvent||PointerEvent,U=w.MouseEvent||MouseEvent;Nt(g,T,w);let Q=X(g,T,w),G={x:Q.x,y:Q.y},Z=g.getBoundingClientRect(),re=Number.isFinite(Number(R?.distance))?Number(R.distance):Math.min(Math.max(80,Math.min(Z.width,Z.height)),220),ce=String(R?.direction||"RIGHT").toUpperCase(),xe=G.x,_e=G.y;ce==="LEFT"&&(xe-=re),ce==="RIGHT"&&(xe+=re),ce==="UP"&&(_e-=re),ce==="DOWN"&&(_e+=re);let Je=(ve,Be)=>({x:Math.max(2,Math.min(ve,w.innerWidth-3)),y:Math.max(2,Math.min(Be,w.innerHeight-3))}),Pe=Je(G.x,G.y),Re=Je(xe,_e),He=700+Date.now()%1e4,vt=Math.max(10,Math.min(28,Number(R?.steps)||16)),ln=(ve,Be)=>({bubbles:!0,cancelable:!0,composed:!0,view:w,clientX:ve,clientY:Be,pageX:ve+(w.scrollX||0),pageY:Be+(w.scrollY||0)}),et=(ve,Be,pt)=>({...ln(ve,Be),pointerId:He,pointerType:"touch",isPrimary:!0,width:1,height:1,pressure:pt?.5:0,buttons:pt,button:0}),rt=(ve,Be,pt)=>({...ln(ve,Be),buttons:pt,button:0}),tt=T.elementFromPoint(Pe.x,Pe.y)||g;tt.dispatchEvent(new E("pointerdown",et(Pe.x,Pe.y,1))),tt.dispatchEvent(new U("mousedown",rt(Pe.x,Pe.y,1)));let at=w.Touch,Tt=w.TouchEvent,Et=!!at&&!!Tt;if(Et)try{let ve=new at({identifier:He,target:tt,clientX:Pe.x,clientY:Pe.y,pageX:Pe.x,pageY:Pe.y,screenX:Pe.x,screenY:Pe.y,radiusX:1,radiusY:1,rotationAngle:0,force:1});tt.dispatchEvent(new Tt("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[ve],targetTouches:[ve],changedTouches:[ve]}))}catch{}for(let ve=1;ve<=vt;ve++){let Be=Pe.x+(Re.x-Pe.x)*ve/vt,pt=Pe.y+(Re.y-Pe.y)*ve/vt,_n=T.elementFromPoint(Be,pt)||g;if(_n.dispatchEvent(new E("pointermove",et(Be,pt,1))),_n.dispatchEvent(new U("mousemove",rt(Be,pt,1))),Et)try{let Sn=new at({identifier:He,target:_n,clientX:Be,clientY:pt,pageX:Be,pageY:pt,screenX:Be,screenY:pt,radiusX:1,radiusY:1,rotationAngle:0,force:1});_n.dispatchEvent(new Tt("touchmove",{bubbles:!0,cancelable:!0,composed:!0,touches:[Sn],targetTouches:[Sn],changedTouches:[Sn]}))}catch{}ve%3===0&&await zn()}let be=T.elementFromPoint(Re.x,Re.y)||g;if(be.dispatchEvent(new E("pointerup",et(Re.x,Re.y,0))),be.dispatchEvent(new U("mouseup",rt(Re.x,Re.y,0))),Et)try{let ve=new at({identifier:He,target:be,clientX:Re.x,clientY:Re.y,pageX:Re.x,pageY:Re.y,screenX:Re.x,screenY:Re.y,radiusX:1,radiusY:1,rotationAngle:0,force:0});be.dispatchEvent(new Tt("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[ve]}))}catch{}return{success:!0,method:"swipe",details:`dir=${ce};dist=${re};steps=${vt};hitOk=${Q.ok}`}}catch(T){return{success:!1,method:"swipe",details:T?.message||"swipe failed",allowFallback:!0}}}async function We(g,D,N,R){try{let T=g||D.body,w=pe(T,D),E=we(w,N),U=E.PointerEvent||PointerEvent,Q=E.WheelEvent||WheelEvent;Nt(T,w,E);let G=Number.isFinite(Number(R?.scale))?Number(R.scale):1.2,Z=T.getBoundingClientRect(),re=Z.left+Z.width/2,ce=Z.top+Z.height/2,xe=24,_e=Math.max(6,Math.min(200,xe*G)),Je=Math.max(6,Math.min(18,Number(R?.steps)||10)),Pe=E.Touch,Re=E.TouchEvent;if(!!Pe&&!!Re)try{let et=(Et,be)=>new Pe({identifier:Et,target:T,clientX:be,clientY:ce,pageX:be,pageY:ce,screenX:be,screenY:ce,radiusX:1,radiusY:1,rotationAngle:0,force:1}),rt=et(911,re-xe),tt=et(912,re+xe);T.dispatchEvent(new Re("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[rt,tt],targetTouches:[rt,tt],changedTouches:[rt,tt]}));for(let Et=1;Et<=Je;Et++){let be=xe+(_e-xe)*Et/Je,ve=et(911,re-be),Be=et(912,re+be);T.dispatchEvent(new Re("touchmove",{bubbles:!0,cancelable:!0,composed:!0,touches:[ve,Be],targetTouches:[ve,Be],changedTouches:[ve,Be]})),Et%2===0&&await zn()}let at=et(911,re-_e),Tt=et(912,re+_e);T.dispatchEvent(new Re("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[at,Tt]}))}catch{}try{let et=(rt,tt,at)=>({bubbles:!0,cancelable:!0,composed:!0,view:E,clientX:tt,clientY:ce,pointerId:rt,pointerType:"touch",isPrimary:rt===821,width:1,height:1,pressure:at?.5:0,buttons:at,button:0});T.dispatchEvent(new U("pointerdown",et(821,re-xe,1))),T.dispatchEvent(new U("pointerdown",et(822,re+xe,1)));for(let rt=1;rt<=Je;rt++){let tt=xe+(_e-xe)*rt/Je;T.dispatchEvent(new U("pointermove",et(821,re-tt,1))),T.dispatchEvent(new U("pointermove",et(822,re+tt,1))),rt%2===0&&await zn()}T.dispatchEvent(new U("pointerup",et(821,re-_e,0))),T.dispatchEvent(new U("pointerup",et(822,re+_e,0)))}catch{}try{let vt=G>=1?-120:120;T.dispatchEvent(new Q("wheel",{bubbles:!0,cancelable:!0,composed:!0,view:E,clientX:re,clientY:ce,ctrlKey:!0,deltaY:vt,deltaMode:Q.DOM_DELTA_PIXEL}))}catch{}return{success:!0,method:"pinch-zoom",details:`scale=${G};steps=${Je}`}}catch(T){return{success:!1,method:"pinch-zoom",details:T?.message||"pinch-zoom failed",allowFallback:!0}}}async function ut(g,D,N,R=800){try{let T=pe(g,D),w=we(T,N),E=w.PointerEvent||PointerEvent,U=w.MouseEvent||MouseEvent,Q=w.FocusEvent||FocusEvent;Nt(g,T,w);let G=X(g,T,w),Z=g;!G.ok&&un(G.hit,w)?Z=G.hit.closest?.('a,button,input,select,textarea,summary,[role="button"],[role="link"],[onclick]')||G.hit:un(G.hit,w)&&(Z=G.hit);let re=Yn(Z,T,w),ce=G.x,xe=G.y,_e=1+Date.now()%1e4,Je={bubbles:!0,cancelable:!0,composed:!0,view:w,clientX:ce,clientY:xe,pageX:ce+(w.scrollX||0),pageY:xe+(w.scrollY||0),screenX:ce+(w.screenX||0),screenY:xe+(w.screenY||0)},Pe={...Je,pointerId:_e,pointerType:"touch",isPrimary:!0,width:1,height:1,pressure:0,buttons:0,button:0};try{Z.dispatchEvent(new E("pointerover",Pe)),Z.dispatchEvent(new E("pointerenter",{...Pe,bubbles:!1}))}catch{}try{Z.dispatchEvent(new U("mouseover",Je)),Z.dispatchEvent(new U("mouseenter",{...Je,bubbles:!1}))}catch{}try{Z.focus?.({preventScroll:!0}),Z.dispatchEvent(new Q("focus",{bubbles:!0,composed:!0})),Z.dispatchEvent(new Q("focusin",{bubbles:!0,composed:!0}))}catch{}try{Z.dispatchEvent(new E("pointerdown",{...Pe,buttons:1,pressure:.5}))}catch{}try{Z.dispatchEvent(new U("mousedown",{...Je,buttons:1,button:0}))}catch{}try{let et=w.Touch,rt=w.TouchEvent;if(typeof et<"u"&&typeof rt<"u"){let tt=new et({identifier:_e,target:Z,clientX:ce,clientY:xe,pageX:ce+(w.scrollX||0),pageY:xe+(w.scrollY||0),screenX:ce+(w.screenX||0),screenY:xe+(w.screenY||0),radiusX:1,radiusY:1,rotationAngle:0,force:1});Z.dispatchEvent(new rt("touchstart",{bubbles:!0,cancelable:!0,composed:!0,touches:[tt],targetTouches:[tt],changedTouches:[tt]}))}}catch{}let Re=Number(R),He=Number.isFinite(Re)&&Re>0?Re:800,vt=T.hidden?Math.max(He,1200):He;await yn(vt,T);try{Z.dispatchEvent(new U("contextmenu",{...Je,button:2,buttons:2}))}catch{}try{Z.dispatchEvent(new E("pointerup",{...Pe,buttons:0,pressure:0}))}catch{}try{Z.dispatchEvent(new U("mouseup",{...Je,buttons:0,button:0}))}catch{}try{let et=w.Touch,rt=w.TouchEvent;if(typeof et<"u"&&typeof rt<"u"){let tt=new et({identifier:_e,target:Z,clientX:ce,clientY:xe,pageX:ce+(w.scrollX||0),pageY:xe+(w.scrollY||0),screenX:ce+(w.screenX||0),screenY:xe+(w.screenY||0),radiusX:1,radiusY:1,rotationAngle:0,force:0});Z.dispatchEvent(new rt("touchend",{bubbles:!0,cancelable:!0,composed:!0,touches:[],targetTouches:[],changedTouches:[tt]}))}}catch{}let ln=await br(Z,T,w,re);return{success:!0,method:"long-press",details:`holdMs=${vt};verified=${ln};hitOk=${G.ok};target=${Z.tagName.toLowerCase()}`}}catch(T){return{success:!1,method:"long-press",details:T?.message||"long-press failed",allowFallback:!0}}}function Le(g,D,N,R,T){try{let w=pe(N,R),U=we(w,T).KeyboardEvent||KeyboardEvent,Q=N||w.activeElement||w.body||w.documentElement;Q.focus?.();let G={key:g,code:ar(g),bubbles:!0,cancelable:!0,ctrlKey:D?.includes("CTRL"),altKey:D?.includes("ALT"),shiftKey:D?.includes("SHIFT"),metaKey:D?.includes("META")},Z=Q.dispatchEvent(new U("keydown",G)),re=Q.dispatchEvent(new U("keypress",G)),ce=Q.dispatchEvent(new U("keyup",G));if(g==="Enter"&&!!(Z&&re&&ce)){let _e=Q.form||Q.closest?.("form");_e?.requestSubmit?_e.requestSubmit():_e?.submit?.()}return{success:!0,method:"press-key"}}catch(w){return{success:!1,method:"press-key",details:w.message,allowFallback:!0}}}async function Ye(g,D,N){try{let R=g.innerText||g.value||"";if(!R)return{success:!1,method:"copy",details:"nothing to copy",allowFallback:!0};let T=pe(g,D),w=we(T,N);if(w.navigator?.clipboard?.writeText)return await w.navigator.clipboard.writeText(R),{success:!0,method:"clipboard-copy"};let E=T.createRange();E.selectNodeContents(g);let U=w.getSelection?.()||(T.defaultView||window).getSelection?.();U?.removeAllRanges(),U?.addRange(E);let Q=T.execCommand?.("copy")??!1;return U?.removeAllRanges(),{success:!!Q,method:"execCommand-copy",allowFallback:!Q}}catch(R){return{success:!1,method:"clipboard-copy",details:R.message,allowFallback:!0}}}async function Pt(g,D,N,R){try{g.focus?.();let T=pe(g,D),w=we(T,N);if(w.navigator?.clipboard?.readText){let U=await w.navigator.clipboard.readText();if(U)return await ze(g,T,w,U,R)}return T.execCommand?.("paste")??!1?{success:!0,method:"execCommand-paste"}:{success:!1,method:"paste",details:"clipboard empty or denied",allowFallback:!0}}catch(T){return{success:!1,method:"paste",details:T.message,allowFallback:!0}}}function $t(g){return`${(g/1024).toFixed(1)}KB`}function St(g,D){if(g instanceof D.defaultView.HTMLInputElement){let E=g;if((E.type||"").toLowerCase()==="file")return E}let N=g.closest?.("label"),R=N?.htmlFor||g.htmlFor||"";if(R){let E=D.getElementById(R);if(E&&(E.type||"").toLowerCase()==="file")return E}if(N){let E=N.querySelector?.('input[type="file"]');if(E)return E}let T=g.closest?.("form");if(T){let E=T.querySelector?.('input[type="file"]');if(E)return E}let w=g.closest?.("div,section,main,article")||g.parentElement;if(w){let E=w.querySelector?.('input[type="file"]');if(E)return E}return null}function nt(g,D,N){try{let R=N.HTMLInputElement?.prototype,T=R?Object.getOwnPropertyDescriptor(R,"files")?.set:void 0;if(!T){let w=Object.getPrototypeOf(g);for(;w&&!T;)T=Object.getOwnPropertyDescriptor(w,"files")?.set,w=Object.getPrototypeOf(w)}return T?(T.call(g,D),!0):(g.files=D,!0)}catch{try{return g.files=D,!0}catch{return!1}}}async function tn(g,D,N,R,T,w){try{let{file_url:E,element_id:U,file_name:Q}=g,G=null;if(T&&(G=St(T,D)),!G&&U!==void 0&&(G=D.querySelector(`input[type="file"][${Ln}*="[id=${U}]"]`)),!G){let be=D.querySelectorAll('input[type="file"]');for(let ve of be){if(ve.disabled)continue;let Be=ve.getBoundingClientRect();if(Be.width>0&&Be.height>0){G=ve;break}}}if(!G)return{success:!1,method:"upload-file",details:"No file input found",allowFallback:!0};if(G.disabled)return{success:!1,method:"upload-file",details:"File input is disabled",allowFallback:!0};let Z=pe(G,D),re=we(Z,N);if(!(R?.kind==="upload_file"&&typeof R.byteLength=="number"&&R.byteLength>=0&&typeof R.mimeType=="string"&&(typeof R.inlineB64=="string"||typeof R.token=="string")))return{success:!1,method:"upload-file",details:"Missing upload payload (need inlineB64 or token)",allowFallback:!0};let xe=Number(R.byteLength),_e=(R.mimeType||"application/octet-stream").split(";")[0].trim()||"application/octet-stream",Je;if(R.inlineB64&&typeof R.inlineB64=="string"){let be=hb(R.inlineB64);if(be.byteLength!==xe)return{success:!1,method:"upload-file",details:`Inline bytes length mismatch: got=${be.byteLength} expected=${xe}`,allowFallback:!0};Je=be.buffer}else{let be=String(R.token);Je=await u(re,be,xe,9e4)}let Pe=re.Blob||Blob,Re=new Pe([Je],{type:_e}),He=Q||R?.fileName;!He&&E&&typeof E=="string"&&(He=mf(E,re)),He=mb(He||"upload");let vt=re.File||File,ln=new vt([Re],He,{type:_e,lastModified:Date.now()}),et=re.Event||Event,rt=re.DataTransfer||DataTransfer;if(!rt)return{success:!1,method:"upload-file",details:"DataTransfer unavailable in this context",allowFallback:!0};let tt=new rt;if(tt.items.add(ln),!nt(G,tt.files,re))return{success:!1,method:"upload-file",details:"Failed to set input.files",allowFallback:!0};G.dispatchEvent(new et("input",{bubbles:!0,composed:!0,cancelable:!0})),G.dispatchEvent(new et("change",{bubbles:!0,composed:!0,cancelable:!0}));let Tt=yr(G);if(Tt){let be=vr(Tt);if(be.onChange){let ve=Lt("change",G,Z,re);ve.target.files=tt.files,be.onChange(ve)}}let Et=Rr(G);if(Et){let be=Qr(Et);if(be.change){let ve=new et("change",{bubbles:!0});ve.target=G,ve.target.files=tt.files,be.change(ve)}}try{let be=re.jQuery||re.$;be&&typeof be=="function"&&be(G).triggerHandler?.("change")}catch{}return G.focus?.({preventScroll:!0}),await oe(Z,re,2),{success:!0,method:"upload-file",details:`Uploaded ${He} (${$t(Re.size)}) [token]`}}catch(E){return{success:!1,method:"upload-file",details:E?.message||"Upload failed",allowFallback:!0}}}async function nn(g,D,N){let R=Array.isArray(g.path)?g.path:[];if(!R.length)return{success:!1,method:"dispatch_pointer_path",details:"Empty path",allowFallback:!0};let T=N.PointerEvent||PointerEvent,w=N.MouseEvent||MouseEvent,E=16;for(let U=0;U<R.length;U++){let Q=R[U],G=Number(Q.x)||0,Z=Number(Q.y)||0,re=Number(Q.pressure)||(U===0||U===R.length-1?0:.5),ce=D.elementFromPoint(G,Z)||D.documentElement,xe={bubbles:!0,cancelable:!0,clientX:G,clientY:Z,screenX:G,screenY:Z,view:N};if(U===0?(ce.dispatchEvent(new T("pointerdown",{...xe,pressure:re,pointerId:1,pointerType:"mouse"})),ce.dispatchEvent(new w("mousedown",{...xe,button:0,buttons:1}))):(ce.dispatchEvent(new T("pointermove",{...xe,pressure:re,pointerId:1,pointerType:"mouse"})),ce.dispatchEvent(new w("mousemove",{...xe,button:0,buttons:1}))),U===R.length-1&&(ce.dispatchEvent(new T("pointerup",{...xe,pressure:0,pointerId:1,pointerType:"mouse"})),ce.dispatchEvent(new w("mouseup",{...xe,button:0,buttons:0}))),U<R.length-1){let _e=Number(Q.timestamp)||0,Je=Number(R[U+1].timestamp)||0,Pe=_e&&Je?Math.max(0,Math.min(Je-_e,1e3)):E;Pe>0&&await yn(Pe,D)}}return{success:!0,method:"dispatch_pointer_path",details:`Dispatched ${R.length} point(s)`}}function cn(g,D,N){let R=pe(g,D),T=we(R,N),w=T.MouseEvent||MouseEvent;Nt(g,R,T),I(g,R,T),I(g,R,T);let E=g.getBoundingClientRect();return g.dispatchEvent(new w("dblclick",{bubbles:!0,cancelable:!0,clientX:E.left+E.width/2,clientY:E.top+E.height/2,detail:2,view:T})),{success:!0,method:"dblclick"}}function hn(g,D,N){let R=pe(g,D),T=we(R,N),w=T.PointerEvent||PointerEvent,E=T.MouseEvent||MouseEvent;Nt(g,R,T);let U=g.getBoundingClientRect(),Q=U.left+U.width/2,G=U.top+U.height/2,Z={bubbles:!0,cancelable:!0,composed:!0,view:T,clientX:Q,clientY:G,button:2,buttons:2};return g.dispatchEvent(new w("pointerdown",Z)),g.dispatchEvent(new E("mousedown",Z)),g.dispatchEvent(new w("pointerup",{...Z,buttons:0})),g.dispatchEvent(new E("mouseup",{...Z,buttons:0})),g.dispatchEvent(new E("contextmenu",Z)),{success:!0,method:"contextmenu"}}function Yn(g,D,N){let R=pe(g,D),T=we(R,N),w=g,E=g.getBoundingClientRect();return{href:String(T.location.href),hash:String(T.location.hash),ariaExpanded:g.getAttribute("aria-expanded"),ariaPressed:g.getAttribute("aria-pressed"),ariaDisabled:g.getAttribute("aria-disabled"),disabled:!!w.disabled,open:typeof w.open<"u"?w.open:void 0,checked:typeof w.checked<"u"?w.checked:void 0,value:typeof w.value<"u"?w.value:void 0,active:Fl(R),rect:{w:E.width,h:E.height}}}function Me(g,D){let N=Math.abs(g.rect.w-D.rect.w)>2||Math.abs(g.rect.h-D.rect.h)>2;return g.href!==D.href||g.hash!==D.hash||g.ariaExpanded!==D.ariaExpanded||g.ariaPressed!==D.ariaPressed||g.ariaDisabled!==D.ariaDisabled||g.disabled!==D.disabled||g.open!==D.open||g.checked!==D.checked||g.value!==D.value||g.active!==D.active||N}async function br(g,D,N,R){await Promise.resolve();let T=pe(g,D),w=we(T,N);D.hidden||await zn();let E=Yn(g,T,w);return Me(R,E)}function De(g,D,N){g.focus?.({preventScroll:!0});let R=pe(g,D),T=we(R,N),U=g.getAttribute("role")==="button"||tg(g,T)||g.tagName.toLowerCase()==="button"?[" ","Enter"]:["Enter"],Q=T.KeyboardEvent||KeyboardEvent;for(let G of U){let Z={key:G,code:G===" "?"Space":"Enter",bubbles:!0,cancelable:!0,composed:!0};g.dispatchEvent(new Q("keydown",Z)),g.dispatchEvent(new Q("keypress",Z)),g.dispatchEvent(new Q("keyup",Z))}return{success:!0,method:"keyboard-activate"}}async function Bt(g,D,N,...R){let T=null;for(let w of R){let E=pe(g,D),U=we(E,N),Q=Yn(g,E,U),G=w();if(!G||!G.success)continue;if(await br(g,E,U,Q))return{...G,details:(G.details?G.details+";":"")+"verified=true"};T=G}return T?{...T,details:(T.details?T.details+";":"")+"verified=false"}:{success:!1,method:"all-strategies-unverified",details:"no verified effect",allowFallback:!0}}function Tn(...g){for(let D of g)try{let N=D();if(N&&N.success)return N}catch{}return{success:!1,method:"all-strategies-failed",allowFallback:!0}}function Nt(g,D,N){let R=pe(g,D),T=we(R,N),w=g.getBoundingClientRect();w.top>=0&&w.left>=0&&w.bottom<=T.innerHeight&&w.right<=T.innerWidth||(g.scrollIntoView({behavior:"auto",block:"center",inline:"center"}),g.offsetHeight)}function Ss(g,D,N,R){let T=pe(g,D),E=we(T,N).KeyboardEvent||KeyboardEvent;for(let U of R){let Q=String(U??""),G="";/^[a-z]$/i.test(Q)?G=`Key${Q.toUpperCase()}`:/^[0-9]$/.test(Q)?G=`Digit${Q}`:Q===" "&&(G="Space");let Z=Q.length===1?Q.charCodeAt(0):0,re={key:Q,code:G,bubbles:!0,cancelable:!0,composed:!0,keyCode:Z,which:Z};g.dispatchEvent(new E("keydown",re)),g.dispatchEvent(new E("keypress",re)),g.dispatchEvent(new E("keyup",re))}}function Ts(g,D,N){let R=pe(g,D),w=we(R,N).KeyboardEvent||KeyboardEvent,E={key:"Enter",code:"Enter",keyCode:13,which:13,bubbles:!0,cancelable:!0,composed:!0},U=g.dispatchEvent(new w("keydown",E)),Q=g.dispatchEvent(new w("keypress",E)),G=g.dispatchEvent(new w("keyup",E));if(!!(U&&Q&&G)){let re=g.form||g.closest?.("form");re?.requestSubmit?.()??re?.submit?.()}}function ar(g){return{Enter:"Enter",Tab:"Tab",Escape:"Escape",Space:"Space"," ":"Space",ArrowUp:"ArrowUp",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",Backspace:"Backspace",Delete:"Delete",Home:"Home",End:"End",PageUp:"PageUp",PageDown:"PageDown",F1:"F1",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",F10:"F10",F11:"F11",F12:"F12"}[g]||`Key${g.toUpperCase()}`}let ft=new MessageChannel,wn=[];ft.port1.onmessage=()=>{let g=wn.shift();g&&g()};function zn(){return new Promise(g=>{wn.push(g),ft.port2.postMessage(0)})}function yr(g){let D=R=>{if(!R)return null;let T=Object.keys(R);for(let w of T)if(w.startsWith("__reactFiber")||w.startsWith("__reactInternalInstance")||w.includes("reactFiber")||w.includes("reactProps")||w.includes("reactEventHandlers")||/^__r\d+/.test(w))return R[w];return null},N=g;for(let R=0;R<4&&N;R++){let T=D(N);if(T)return T;N=N.parentElement}return null}function vr(g){let D={},N=g,R=0;for(;N&&R++<10;){let T=[N.memoizedProps,N.pendingProps,N.stateNode?.props,N._memoizedProps,N._pendingProps,N.alternate?.memoizedProps].filter(Boolean);for(let w of T)if(!(!w||typeof w!="object"))for(let E in w)E.startsWith("on")&&typeof w[E]=="function"&&(D[E]=w[E]);if(Object.keys(D).length)break;N=N.return||N.alternate}return D}function bo(g,D){let N=g;for(;N;){if(N._reactRootContainer||N.__reactContainer||N.hasAttribute("data-reactroot")||N.hasAttribute("data-react-root")||["root","app","__next"].includes(N.id))return N;N=N.parentElement}return pe(g,D).querySelector("#root,#app,#__next,[data-reactroot],[data-react-root]")}function Lt(g,D,N,R){let T=pe(D,N),w=we(T,R),E=w.MouseEvent||MouseEvent,U=D.getBoundingClientRect(),Q=new E(g,{bubbles:!0,cancelable:!0,view:w,clientX:U.left+U.width/2,clientY:U.top+U.height/2});return{type:g,target:D,currentTarget:D,bubbles:!0,cancelable:!0,nativeEvent:Q,isTrusted:!0,preventDefault(){Q.preventDefault()},stopPropagation(){Q.stopPropagation()}}}function Rr(g){let D=g;if(D.__vue__)return D.__vue__;if(D.__vueParentComponent)return D.__vueParentComponent;if(D._vnode)return D._vnode;let N=g.parentElement;for(let R=0;R<3&&N;R++){let T=N;if(T.__vue__||T.__vueParentComponent||T._vnode)return T.__vue__||T.__vueParentComponent||T._vnode;N=N.parentElement}return null}function Qr(g){let D={};if(g?.$listeners&&Object.assign(D,g.$listeners),g?._events)for(let N in g._events){let R=g._events[N];D[N]=Array.isArray(R)?R[0]:R}if(g?.props)for(let N in g.props)N.startsWith("on")&&typeof g.props[N]=="function"&&(D[N.substring(2).toLowerCase()]=g.props[N]);if(g?.vnode?.props)for(let N in g.vnode.props)N.startsWith("on")&&typeof g.vnode.props[N]=="function"&&(D[N.substring(2).toLowerCase()]=g.vnode.props[N]);return D}})();function _b(){let e=window,t=e.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__";e[t]?.actions?.execute}async function Eb(e){let t=window,n=t.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t[n]?.actions?.execute;if(typeof o!="function")throw new Error("Rover main-world action executor not initialized");return o(e)}function qs(e,t,n={}){let{rootNodes:r,semanticNodes:o}=cf(e,{includeFrameContents:n.includeFrames??!0,clearIframes:n.includeFrames??!0,frameContextLabel:n.frameContextLabel??null,signalProvider:t.signalProvider,disableDomAnnotations:n.disableDomAnnotations??!0}),i={};for(let a of Object.keys(o)){let s=Number(a);if(!Number.isFinite(s))continue;let c=Us(s);c&&(i[s]=t.getFrameworkMetadata(c))}return{rootNodes:r,semanticNodes:o,elementMeta:i}}(()=>{let e="__rtrvr_scroll_detector",t="__RTRVR_SCROLL_API__",n="__RTRVR_INTERNAL__";if(window[e])return;class r{constructor(d=document,m=window){q(this,"doc");q(this,"win");q(this,"viewport");q(this,"lastDetectedPrimary",null);q(this,"detectionCache",new Map);q(this,"lastDetectionTime",0);q(this,"CACHE_TTL",5e3);this.doc=d,this.win=m,this.viewport={width:m.innerWidth,height:m.innerHeight},this.updateViewport()}getValidPrimary(){return this.lastDetectedPrimary&&!this.doc.contains(this.lastDetectedPrimary)&&(this.lastDetectedPrimary=null),this.lastDetectedPrimary}async handleCommand(d){switch(d.action){case"detectPrimary":{let m=this.detectPrimaryScrollable();if(!m)return null;let{target:f,isRoot:u}=this.getScrollContext(m.element),h=f.scrollHeight,b=Lr(),v=u&&b?b.innerHeight:f.clientHeight,S=Math.max(0,h-v),k=f.scrollTop;return{selector:m.selector,score:m.score,type:m.type,metrics:{scrollTop:k,scrollHeight:h,clientHeight:v,isAtTop:k<=5,isAtBottom:k>=S-5}}}case"scrollTo":if(!d.direction)throw new Error("scrollTo requires direction");return this.scrollToDirection(d.direction,d.options);case"scrollBy":if(!d.direction)throw new Error("scrollBy requires direction");return this.scrollByAmount(d.direction,d.options);case"scrollElement":if(!d.selector)throw new Error("scrollElement requires selector");return this.scrollElementIntoView(d.selector,d.position,d.options);case"getMetrics":return this.getScrollMetrics();default:throw new Error(`Unknown command: ${d.action}`)}}updateViewport(){this.viewport={width:this.win.innerWidth,height:this.win.innerHeight}}async execute(d){return this.handleCommand(d)}detectPrimaryScrollable(){if(Date.now()-this.lastDetectionTime<this.CACHE_TTL&&this.detectionCache.size>0){let u=Array.from(this.detectionCache.values()).sort((h,b)=>b.score-h.score)[0];if(u)return this.lastDetectedPrimary=u.element,u}this.updateViewport();let d=this.collectScrollableCandidates();if(d.length===0){let u=this.doc.scrollingElement||this.doc.documentElement||this.doc.body;if(!u)return null;let h=this.buildFeatures(u),b=pe(u,this.doc),v={element:u,selector:wa(u,b),score:.5,features:h,type:"document"};return this.detectionCache.clear(),this.detectionCache.set(v.selector,v),this.lastDetectionTime=Date.now(),this.lastDetectedPrimary=u,v}let m=this.scoreCandidates(d);if(m.length===0)return null;this.detectionCache.clear();for(let u of m)this.detectionCache.set(u.selector,u);this.lastDetectionTime=Date.now();let f=m[0];return f&&(this.lastDetectedPrimary=f.element),f||null}collectAllElementsDeep(d,m=15e4){let f=[],u=[],h=d.body||d.documentElement;h&&u.push(h);let b=0,v=S=>{try{let k=this.win.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",C=this.win[k]?.shadow?.getRoot;if(typeof C=="function"){let _=C(S);if(_)return _}}catch{}try{return S.shadowRoot||null}catch{return null}};for(;u.length&&!(++b>m);){let S=u.pop();if(lr(S)){let C=S.children;for(let _=C.length-1;_>=0;_--)u.push(C[_]);continue}let k=S,x=Ge(k);un(k,x)&&f.push(k);try{let C=v(k);C&&u.push(C)}catch{}for(let C=k.lastElementChild;C;C=C.previousElementSibling)u.push(C)}return f}collectScrollableCandidates(){let d=[],m=new WeakSet,f=[this.doc.scrollingElement,this.doc.documentElement,this.doc.body];for(let h of f){if(!h||m.has(h))continue;let b=this.isScrollable(h);(b.vertical||b.horizontal)&&(d.push(h),m.add(h))}let u=this.collectAllElementsDeep(this.doc);for(let h of Array.from(u)){if(m.has(h))continue;let b=h.getBoundingClientRect(),v=this.win.getComputedStyle(h);if(!this.isElementRendered(h,b,v)||!this.isScrollable(h).vertical)continue;let k=40,x=this.viewport.width*.15;if(b.height<k||b.width<x){let C=(h.className||"").toLowerCase().includes("scroll"),_=v.overflowY==="auto"||v.overflowY==="scroll"||v.overflow==="auto"||v.overflow==="scroll";if(!C&&!_)continue}d.push(h),m.add(h)}return d}isElementRendered(d,m,f){if(f.display==="none"||f.visibility==="hidden")return!1;let u=parseFloat(f.opacity||"1");return!(!Number.isNaN(u)&&u<.01||m.width<=1||m.height<=1)}isScrollable(d){let m=this.win.getComputedStyle(d),f=m.overflowY,u=m.overflowX,h=this.doc.scrollingElement,b=d===this.doc.documentElement||d===this.doc.body||!!h&&d===h,v=d.scrollHeight,S=d.clientHeight,k=d.scrollWidth,x=d.clientWidth;if(b){let ee=this.doc.documentElement,se=this.doc.body;v=Math.max(ee?ee.scrollHeight:0,se?se.scrollHeight:0),S=this.win.innerHeight}let C=v-S>8,_=k-x>8,I=f==="auto"||f==="scroll"||f==="overlay",M=u==="auto"||u==="scroll"||u==="overlay";return{vertical:b?C:C&&I,horizontal:b?_:_&&M,byOverflow:I||M}}calculateVisibleIntersection(d){let m=Math.max(0,d.left),f=Math.max(0,d.top),u=Math.min(this.viewport.width,d.right),h=Math.min(this.viewport.height,d.bottom),b=Math.max(0,u-m),v=Math.max(0,h-f);return{width:b,height:v,area:b*v}}analyzeTextContent(d,m=2e3){let f=0,u=0,h=d.ownerDocument||this.doc,v=(h.defaultView||this.win).NodeFilter||NodeFilter,S=h.createTreeWalker(d,v.SHOW_ELEMENT|v.SHOW_TEXT,null),k=0,x=S.currentNode,C=[];for(;x&&k<m;){if(x.nodeType===Node.TEXT_NODE){let O=(x.textContent||"").replace(/\s+/g,"").length;if(O>0){f+=O;let J=x.parentElement;J&&J.closest("a")&&(u+=O)}}else x.nodeType===Node.ELEMENT_NODE&&C.push(x);k++,x=S.nextNode()}let _=C.length||1,I=f/_,M=f>0?u/f:0;return{textChars:f,linkChars:u,textDensity:I,linkDensity:M}}calculateRepetitionScore(d){let m=Array.from(d.children);if(m.length<3)return 0;let f=m.slice(0,50),u=new Map,h=new Map,b=new Map;for(let X of f){let O=Ge(X);if(!un(X,O))continue;let J=X.getBoundingClientRect();if(J.height<5||J.width<this.viewport.width*.1)continue;let ee=Math.round(J.height/10)*10,se=Math.round(J.width/10)*10;u.set(ee,(u.get(ee)||0)+1),h.set(se,(h.get(se)||0)+1);let H=(X.className||X.tagName).toString();b.set(H,(b.get(H)||0)+1)}let v=f.length||1,S=Math.max(0,...u.values()),k=Math.max(0,...h.values()),x=Math.max(0,...b.values()),C=S/v,_=k/v,I=x/v,M=.4*C+.3*_+.3*I;return Math.min(1,Math.max(0,M))}calculateSemanticScore(d){let m=0,f=null,u=!1,h=(d.getAttribute("role")||"").toLowerCase(),b=d.tagName.toLowerCase(),v=(d.id||"").toLowerCase(),S=(d.className||"").toLowerCase(),k=`${h} ${b} ${v} ${S}`;return(b==="main"||h==="main")&&(m+=1.2,f="article"),b==="article"&&(m+=1,f=f||"article"),(h==="feed"||k.includes("feed"))&&(m+=1,f="feed"),(h==="log"||k.includes("chat")||k.includes("messages"))&&(m+=1,f="chat"),k.includes("content")&&(m+=.5),(k.includes("results")||k.includes("list"))&&(m+=.4),(k.includes("job")||k.includes("jobs"))&&(m+=.4),(b==="nav"||h==="navigation"||k.includes("sidebar"))&&(m-=1,u=!0),(b==="aside"||h==="complementary")&&(m-=.7,u=!0),(b==="footer"||h==="contentinfo"||k.includes("footer"))&&(m-=.8,u=!0),k.includes("header")&&(m-=.6),m=Math.max(-1,Math.min(1,m)),{semanticScore:m,typeHint:f,navLike:u}}detectScrollListeners(d){return[d.querySelector('[class*="infinite"]'),d.querySelector('[class*="load-more"]'),d.querySelector("[data-infinite]"),d.querySelector('[loading="lazy"]'),d.querySelector(".observer-target"),d.querySelector("[data-scroll]")].some(f=>f!==null)}buildFeatures(d){let m=d.getBoundingClientRect(),f=this.win.getComputedStyle(d),u=this.calculateVisibleIntersection(m),h=this.viewport.width*this.viewport.height||1,b=u.area/h,v=this.viewport.width>0?u.width/this.viewport.width:0,S=m.top+m.height/2,k=this.viewport.height/2||1,x=Math.min(1,Math.abs(S-k)/k),C=this.isScrollable(d),_=this.doc.scrollingElement,I=d===this.doc.documentElement||d===this.doc.body||!!_&&d===_,M=d.scrollHeight,X=d.clientHeight;if(I){let he=this.doc.documentElement,Te=this.doc.body;M=Math.max(he?he.scrollHeight:0,Te?Te.scrollHeight:0),X=this.win.innerHeight}let O=Math.max(0,M-X),J=O*u.width,ee=this.analyzeTextContent(d),se=this.calculateRepetitionScore(d),H=this.calculateSemanticScore(d),Y=d.contains(this.doc.activeElement),oe=this.detectScrollListeners(d),ie=parseInt(f.zIndex||"0",10),me=Number.isFinite(ie)?ie:0;return{geometry:{viewportCoverage:b,widthProminence:v,centerDistance:x,scrollCapacity:O,scrollSurface:J,zIndex:me},content:{textDensity:ee.textDensity,linkDensity:ee.linkDensity,repetitionScore:se,semanticScore:H.semanticScore},interaction:{hasScrollListeners:oe,hasFocus:Y,recentActivity:Y?1:0}}}inferElementType(d,m,f,u){if(f)return f;let h=(d.getAttribute("role")||"").toLowerCase(),b=(d.className||"").toLowerCase(),v=d.tagName.toLowerCase(),S=m.geometry,k=m.content;if(h==="log"||b.includes("chat")||b.includes("messages"))return"chat";let x=this.win.getComputedStyle(d);if((x.position==="fixed"||x.position==="absolute")&&S.zIndex>100&&S.viewportCoverage>.2&&S.centerDistance<.4)return"modal";if(h==="feed"||k.repetitionScore>.3&&S.scrollCapacity>400&&S.widthProminence>=.25)return"feed";if(v==="article"||k.textDensity>40&&k.linkDensity<.4&&S.widthProminence>.4)return"article";if(u||S.widthProminence<.3&&k.linkDensity>.3)return"sidebar";let _=this.doc.scrollingElement;return d===this.doc.documentElement||d===this.doc.body||_&&d===_?"document":"unknown"}scoreCandidates(d){let m=[],f=[],u=[],h=[],b=[],v=[];for(let I of d){let M=this.buildFeatures(I),X=M.content.semanticScore,O=this.calculateSemanticScore(I),J=this.inferElementType(I,M,O.typeHint,O.navLike);v.push({element:I,features:{geometry:{...M.geometry},content:{...M.content,semanticScore:O.semanticScore},interaction:M.interaction},type:J,navLike:O.navLike,semanticScore:O.semanticScore}),f.push(M.geometry.scrollSurface),u.push(M.content.textDensity),h.push(Math.abs(O.semanticScore)),b.push(M.content.repetitionScore)}let S=Math.max(0,...f),k=Math.max(0,...u),x=Math.max(0,...h),C=Math.max(0,...b),_=-1/0;for(let I of v){let{element:M,features:X,type:O,navLike:J,semanticScore:ee}=I,se=X.geometry,H=X.content,Y=X.interaction,oe=S>0?se.scrollSurface/S:0,ie=k>0?H.textDensity/k:0,me=x>0?(ee/x+1)/2:.5,he=O==="feed"||H.repetitionScore>.3&&se.scrollCapacity>400,Te=H.linkDensity>.5?(H.linkDensity-.5)/.5:0,ze=he?0:Te,Oe=(he?1:.5)*H.repetitionScore*Math.min(1,se.scrollCapacity/4e3),B={feed:.2,chat:.2,article:.08,modal:.08,document:.05,sidebar:-.12,unknown:0}[O]||0,K=0;K+=se.viewportCoverage*.18,K+=se.widthProminence*.15,K+=(1-se.centerDistance)*.07,K+=oe*.22,K+=Oe*.18,K+=ie*.08,K+=(C>0?H.repetitionScore/C:0)*.05,K+=me*.07,K-=ze*.05,Y.hasFocus&&(K+=.05),Y.hasScrollListeners&&(K+=.05),K+=B,J&&(K-=.05);let F=Math.max(0,Math.min(1,K));F>_&&(_=F),m.push({element:M,selector:wa(M,pe(M)),score:F,features:X,type:O})}if(m.sort((I,M)=>M.score-I.score),m.length>=2){let I=m[0],M=m[1];Math.abs(I.score-M.score)<.08&&I.type==="article"&&M.type==="feed"&&(m[0]=M,m[1]=I)}return m}getScrollContext(d){let m=document.scrollingElement;return d===document.documentElement||d===document.body||!!m&&d===m?{target:m||document.documentElement||document.body,isRoot:!0}:{target:d,isRoot:!1}}async scrollToDirection(d,m){let f=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!f)return{success:!1,error:"No scrollable element found"};let{target:u,isRoot:h}=this.getScrollContext(f),b=pe(u),v=we(b),S=m?.isTabActive??!b.hidden,k=m?.behavior,x=S&&k==="smooth",C=h?Math.max(b.documentElement?b.documentElement.scrollHeight:0,b.body?b.body.scrollHeight:0):u.scrollHeight,_=h?v.innerHeight:u.clientHeight,I=Math.max(0,C-_),M=()=>h?v.scrollY:u.scrollTop,X=O=>{if(x)try{h?v.scrollTo({top:O,behavior:"smooth"}):u.scrollTo({top:O,behavior:"smooth"})}catch{h?(b.scrollingElement||b.documentElement||b.body).scrollTop=O:u.scrollTop=O}else if(h){let J=b.scrollingElement||b.documentElement||b.body;J.scrollTop=O}else u.scrollTop=O};switch(d){case Kt.TOP:return X(0),{success:!0,scrollTop:0,isAtTop:!0};case Kt.BOTTOM:return X(I),{success:!0,scrollTop:I,isAtBottom:!0};default:return{success:!1,error:`Unknown direction: ${d}`}}}async scrollByAmount(d,m){let f=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!f)return{success:!1,error:"No scrollable element found"};let{target:u,isRoot:h}=this.getScrollContext(f),b=m?.isTabActive??!document.hidden,v=m?.behavior,S=b&&v==="smooth",k=Lr(),x=h&&k?k.innerHeight:u.clientHeight,C=h&&k?k.innerWidth:u.clientWidth,_=m?.amount??x*.8,I=h?Math.max(document.documentElement?document.documentElement.scrollHeight:0,document.body?document.body.scrollHeight:0):u.scrollHeight,M=h&&k?k.innerHeight:u.clientHeight,X=Math.max(0,I-M),O=ee=>{if(S)try{h?k?.scrollTo({top:ee,behavior:"smooth"}):u.scrollTo({top:ee,behavior:"smooth"})}catch{let se=document.scrollingElement||document.documentElement||document.body;se.scrollTop=ee}else{let se=h?document.scrollingElement||document.documentElement||document.body:u;se.scrollTop=ee}},J=ee=>{if(S)try{u.scrollBy({left:ee,behavior:"smooth"})}catch{u.scrollLeft+=ee}else u.scrollLeft+=ee};switch(d){case Kt.DOWN:{let se=(h&&k?k.scrollY:u.scrollTop)+_;O(se);let H=h&&k?k.scrollY:u.scrollTop;return{success:!0,scrollTop:H,isAtTop:H<=5,isAtBottom:H>=X-5}}case Kt.UP:{let ee=h&&k?k.scrollY:u.scrollTop,se=Math.max(0,ee-_);O(se);let H=h&&k?k.scrollY:u.scrollTop;return{success:!0,scrollTop:H,isAtTop:H<=5,isAtBottom:H>=X-5}}case Kt.LEFT:{let ee=-(m?.amount??C*.8);return J(ee),{success:!0,scrollLeft:u.scrollLeft}}case Kt.RIGHT:{let ee=m?.amount??C*.8;return J(ee),{success:!0,scrollLeft:u.scrollLeft}}default:return{success:!1,error:`Unknown direction: ${d}`}}}normalizeScrollPosition(d){switch(d){case An.START:return"start";case An.END:return"end";case An.NEAREST:return"nearest";case An.CENTER:default:return"center"}}getScrollContainerForElement(d){let m=document.scrollingElement,f=d;for(;f&&f!==document.body&&f!==document.documentElement;){let b=getComputedStyle(f).overflowY,v=b==="auto"||b==="scroll"||b==="overlay",S=f.scrollHeight-f.clientHeight>8;if(v&&S)return{container:f,isRoot:!1};f=f.parentElement}return{container:m||document.documentElement||document.body,isRoot:!0}}scrollElementIntoView(d,m,f){let u=document.querySelector(d);if(!u)return{success:!1,error:`Element not found for selector: ${d}`};let{container:h,isRoot:b}=this.getScrollContainerForElement(u),v=Ge(h),S=v?.DOMRect||DOMRect,k=b?new S(0,0,v.innerWidth??0,v.innerHeight??0):h.getBoundingClientRect(),x=u.getBoundingClientRect(),C=24,_=x.top>=k.top+C&&x.bottom<=k.bottom-C,I=f?.isTabActive??!document.hidden,M=f?.behavior,X=I&&M==="smooth",O=this.normalizeScrollPosition(m);if(m===An.NEAREST&&_)return{success:!0,alreadyVisible:!0,...this.getScrollMetricsForContainer(h,b)};try{u.scrollIntoView({behavior:X?"smooth":"auto",block:O,inline:"nearest"})}catch{u.scrollIntoView()}let J=this.getScrollMetricsForContainer(h,b);return{success:!0,position:O,...J}}getScrollMetricsForContainer(d,m){let f=m?Math.max(document.documentElement?document.documentElement.scrollHeight:0,document.body?document.body.scrollHeight:0):d.scrollHeight,u=pe(d),h=Ge(d),b=m&&h?h.innerHeight:d.clientHeight,v=Math.max(0,f-b),k=(m?u.scrollingElement||u.documentElement||u.body:d).scrollTop;return{scrollTop:k,scrollHeight:f,clientHeight:b,maxScroll:v,isAtTop:k<=5,isAtBottom:k>=v-5,scrollPercentage:v>0?k/v*100:0}}getScrollMetrics(){let d=this.getValidPrimary()||this.detectPrimaryScrollable()?.element;if(!d)return null;let{target:m,isRoot:f}=this.getScrollContext(d),u=pe(m),h=we(u),b=f?Math.max(u.documentElement?u.documentElement.scrollHeight:0,u.body?u.body.scrollHeight:0):m.scrollHeight,v=f?h.innerHeight:m.clientHeight,S=Math.max(0,b-v),x=(f?u.scrollingElement||u.documentElement||u.body:m).scrollTop;return{element:wa(m,u),scrollTop:x,scrollHeight:b,clientHeight:v,maxScroll:S,isAtTop:x<=5,isAtBottom:x>=S-5,scrollPercentage:S>0?x/S*100:0}}}let o=new r;window[e]=o;let i={execute:l=>o.execute(l)};try{Object.defineProperty(window,t,{value:i,writable:!1,configurable:!1,enumerable:!1})}catch{try{window[t]=i}catch{}}let a=window.__RTRVR_INTERNAL_KEY__||n,s=window[a],c=s&&typeof s=="object"?s:null;if(c){try{c.scroll=c.scroll||i}catch{}try{c.scroll||Object.defineProperty(c,"scroll",{value:i,writable:!1,configurable:!1,enumerable:!1})}catch{}}if(a!==n)try{!window[n]&&c&&Object.defineProperty(window,n,{value:c,writable:!1,configurable:!1,enumerable:!1})}catch{}})();var DT=/\[id=(\d+)\]/,mn;(function(e){e.HTML="html",e.PDF="pdf",e.GOOGLE_DOC="google_doc",e.GOOGLE_SHEET="google_sheet",e.PLAIN_TEXT="plain_text"})(mn||(mn={}));var PT=20,Sa=new Map;function OT(e,t){if(Sa.size>=PT&&!Sa.has(e)){let n=Sa.keys().next().value;n!==void 0&&Sa.delete(n)}Sa.set(e,t)}var BT=24,UT=220,FT=0,zT=250,HT=2,jT=300,$T=new Set(["BODY","DIV","SPAN","IMG","PICTURE","SVG"]),qT=new Set(["A","BUTTON","INPUT","SELECT","TEXTAREA","H1","H2","H3","H4","H5","H6","MAIN","NAV","HEADER","FOOTER","ARTICLE","SECTION","ASIDE"]);function VT(e){let t={};for(let n of Object.keys(e)){let r=e[Number(n)],o=r?.preservedAttributes?.[Jn["rtrvr-label"]],i=r?.resourceLocator;if(typeof o=="string"&&typeof i=="string"){let a=o.match(DT);if(a?.[1]){let s=Number(a[1]);Number.isFinite(s)&&(t[s]=i)}}}return t}function Ib(e,t){let n={};for(let r of Object.keys(e)){let o=e[Number(r)],i=Array.isArray(o?.frameRealm)?Number(o.frameRealm[0]):NaN;if(!Number.isFinite(i)||i<=0)continue;let a=typeof o.resourceLocator=="string"&&o.resourceLocator.trim()?o.resourceLocator.trim():void 0,s;if(a)try{s=new URL(a,t).origin}catch{s=void 0}let c=typeof o.computedName=="string"&&o.computedName.trim()?o.computedName.trim():void 0;n[Math.trunc(i)]={...s?{origin:s}:{},...a?{url:a}:{},...c?{title:c}:{},hostElementId:Number(r)}}return Object.keys(n).length>0?{version:1,realms:n}:void 0}function WT(e){try{let n=(e.defaultView||Lr)?.rover,r=n&&typeof n.getAgentCard=="function"?n.getAgentCard.bind(n):null;return r?Kh(r()):void 0}catch{return}}async function Pb(e,t,n={}){let r=e.ownerDocument||document,o=n.pageConfig||zo,i=String(r.contentType||"").trim().toLowerCase(),a=JT(i,r),s=YT(a.documentType,i),c=WT(r),l={url:r.URL,title:r.title,contentType:s,agentDiscovery:c},d=XT(o),m=KT(o);if(a.documentType!==mn.HTML){let O=Number(o?.pageDataTimeoutMs),J=Number.isFinite(O)?Math.max(200,Math.floor(O)):9e3,ee=Math.max(200,Math.min(J,fn(d))),se=t_(r,a.documentType,o,d),H=await ka(se,ee,r);if(!H.ok)return{...l,content:"",error:`non_html_timeout:${s}`,metadata:{extractionMethod:"timeout"}};let Y=H.value||{},oe=a.documentType===mn.GOOGLE_SHEET?M_(r):void 0;return{...l,...Y,contentType:Y.contentType||l.contentType,sheetInfo:Y.sheetInfo||oe}}if(o?.onlyTextContent)return{...l,contentType:ya,content:Vs(r)};let f=Math.max(0,Math.min(1e3,fn(d))),u=performance.now(),h=!1;if(!o?.disableAutoScroll&&f>80){let O=r.hidden?200:400,J=Math.min(O,f);J>80&&(h=await A_(r,{profile:"light",timeBudgetMs:J,delayMs:r.hidden?0:160,finalWaitMs:r.hidden?0:200}))}let b=Math.max(0,f-(performance.now()-u));b>60&&await Ab(r,{...m,deadlineEpochMs:d,totalBudgetMs:b});let v=Math.max(0,f-(performance.now()-u));v>80&&await C_(r,{mode:"full",totalBudgetMs:Math.min(r.hidden?300:400,v),budgetMs:Math.min(r.hidden?200:300,v),maxPasses:r.hidden?1:2});let S=qs(e,t,{includeFrames:n.includeFrames??!0,disableDomAnnotations:n.disableDomAnnotations??!0}),k="normal",x=0,C=0,_=[],I=Math.max(0,m.sparseTreeRetryMaxAttempts)>0,M=Cb(r,S.rootNodes,S.semanticNodes);if(M.needsStabilization){_=[...M.reasons],k="suspicious_unrecovered";let O=I?Math.max(0,Math.min(jT,fn(d)-20)):0;if(O>20){let J=Date.now();await Ab(r,{...m,retries:0,deadlineEpochMs:d,totalBudgetMs:O}),C=Date.now()-J,x=1,S=qs(e,t,{includeFrames:n.includeFrames??!0,disableDomAnnotations:n.disableDomAnnotations??!0});let ee=Cb(r,S.rootNodes,S.semanticNodes);ee.reasons.length>0&&(_=[...ee.reasons]),!ee.needsStabilization&&!Rb(S.rootNodes,S.semanticNodes)&&(k="suspicious_recovered")}}if(Rb(S.rootNodes,S.semanticNodes)){let O=Ib(S.semanticNodes,r.URL);return{...l,contentType:ya,content:Vs(r),metadata:{scrollingPerformed:h,extractionMethod:"empty_tree_fallback",...O?{frameRealms:O}:{},treeCapture:{status:k,attempts:x,waitedMs:C,reasons:_}}}}let X=Ib(S.semanticNodes,r.URL);return{...l,contentType:ya,roots:S.rootNodes,nodes:S.semanticNodes,elementLinkRecord:VT(S.semanticNodes),metadata:{scrollingPerformed:h,extractionMethod:k!=="normal"?k:void 0,...X?{frameRealms:X}:{},treeCapture:{status:k,attempts:x,waitedMs:C,reasons:_}}}}function KT(e){let t=Number(e?.adaptiveSettleDebounceMs),n=Number(e?.adaptiveSettleMaxWaitMs),r=Number(e?.adaptiveSettleRetries),o=Number(e?.sparseTreeRetryDelayMs),i=Number(e?.sparseTreeRetryMaxAttempts);return{debounceMs:Number.isFinite(t)?Math.max(8,Math.min(500,Math.floor(t))):BT,maxWaitMs:Number.isFinite(n)?Math.max(80,Math.min(5e3,Math.floor(n))):UT,retries:Number.isFinite(r)?Math.max(0,Math.min(6,Math.floor(r))):FT,sparseTreeRetryDelayMs:Number.isFinite(o)?Math.max(20,Math.min(1e3,Math.floor(o))):zT,sparseTreeRetryMaxAttempts:Number.isFinite(i)?Math.max(0,Math.min(4,Math.floor(i))):HT}}async function Ab(e,t){let n=fn(t.deadlineEpochMs);if(n<=20)return;let r=Math.max(20,Math.min(Math.floor(t.totalBudgetMs),n)),o=Date.now()+r,i=0;for(;i<=t.retries&&fn(o)>20;){let a=Math.max(40,Math.min(t.maxWaitMs,fn(o)));if(await GT(e,{debounceMs:t.debounceMs,windowBudgetMs:a,deadlineEpochMs:o}))return;i+=1}}async function GT(e,t){let n=e.documentElement;if(!n||typeof MutationObserver>"u")return!0;let r=Date.now(),o=new MutationObserver(()=>{r=Date.now()});try{o.observe(n,{subtree:!0,childList:!0,attributes:!0,characterData:!0})}catch{return!0}let i=Date.now()+Math.max(40,Math.floor(t.windowBudgetMs));try{for(;fn(t.deadlineEpochMs)>20&&fn(i)>20;){let a=Date.now()-r;if(a>=t.debounceMs)return!0;let s=Math.max(10,Math.min(60,t.debounceMs-a,fn(t.deadlineEpochMs),fn(i)));await yn(s,e)}}finally{o.disconnect()}return!1}function XT(e){let t=Number(e?.deadlineEpochMs);if(Number.isFinite(t)&&t>0)return t;let n=Number(e?.totalBudgetMs),r=Number.isFinite(n)?Math.max(1500,Math.floor(n)):9e3;return Date.now()+r}function YT(e,t){switch(e){case mn.PDF:return Fu;case mn.GOOGLE_DOC:return uf;case mn.GOOGLE_SHEET:return zu;case mn.PLAIN_TEXT:return zl;case mn.HTML:default:return t||ya}}function JT(e,t){let n=e||String(t.contentType||"").toLowerCase();return fb(n)?{documentType:mn.PDF}:QT(t)&&(e_(t)||ZT(t.URL))?{documentType:mn.PDF}:p_(t)?{documentType:mn.GOOGLE_DOC}:m_(t)?{documentType:mn.GOOGLE_SHEET}:n.includes(zl)?{documentType:mn.PLAIN_TEXT}:{documentType:mn.HTML}}function QT(e){try{let t=a_(e);return ff(t)?!0:!!t.querySelector?.('object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]')}catch{return!1}}function ZT(e){try{return e?e.toLowerCase().includes(".pdf")?!0:(new URL(e).searchParams.get("file")||"").toLowerCase().includes(".pdf"):!1}catch{return String(e||"").toLowerCase().includes(".pdf")}}function e_(e){try{let t=e.body;return!t||t.querySelectorAll('embed[type="application/pdf"],embed[type="application/x-google-chrome-pdf"],object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]').length===0||(t.innerText||"").trim().length>40?!1:Array.from(t.children).filter(i=>!["SCRIPT","STYLE"].includes(String(i.tagName).toUpperCase())).length<=3}catch{return!1}}async function t_(e,t,n,r){switch(t){case mn.PDF:return n_(e,n,r);case mn.GOOGLE_DOC:return r_(e);case mn.GOOGLE_SHEET:return __(e,n);case mn.PLAIN_TEXT:return{content:Vs(e),contentType:zl};case mn.HTML:default:return{content:Vs(e),contentType:ya}}}async function n_(e,t,n){fn(n)>Uu+50&&await pb(Uu,e,n);let o=(()=>{let d=Number(t?.pdfTextSelectionTimeoutMs),m=zo.pdfTextSelectionTimeoutMs;return Number.isFinite(d)?Math.max(150,Math.floor(d)):m})(),i=fn(n),s=Number.isFinite(i)?Math.max(150,Math.min(o,Math.max(0,i-150))):o,c=await c_(e,s),l=!!c.success&&!!(c.data||"").trim();return{content:l&&c.data||"",contentType:Fu,error:l?void 0:`pdf_extraction_failed:${c.reason||"unknown"}`}}async function r_(e){return{content:T_(),contentType:uf}}function Rb(e,t){return!Array.isArray(e)||e.length===0||!t||Object.keys(t).length===0}function o_(e){return!!(e.documentElement?.hasAttribute(xi)||e.body?.hasAttribute(xi)||e.body?.getAttribute?.("aria-busy")==="true")}function i_(e,t,n){let r=Array.isArray(t)?t.length:0,o=n&&typeof n=="object"?Object.keys(n).length:0,i=o?Object.values(n):[],a=0,s=0;for(let c of i){let l=String(c?.elementName||c?.elementTag||"").trim().toUpperCase();(String(c?.textContent||c?.computedName||c?.computedDescription||"").trim().length>=2||qT.has(l))&&(s+=1),$T.has(l)&&(a+=1)}return{rootsCount:r,semanticCount:o,meaningfulNodeCount:s,genericNodeRatio:o>0?a/o:1,visibleTextLength:0,isDocumentComplete:e.readyState==="complete",busy:o_(e)}}function Cb(e,t,n){let r=i_(e,t,n),o=0;!(r.rootsCount>0&&r.semanticCount>0&&r.isDocumentComplete&&!r.busy&&r.meaningfulNodeCount>=2)&&r.semanticCount>0&&r.semanticCount<=6&&(r.meaningfulNodeCount>=1||r.genericNodeRatio>=.8)&&(o=Vs(e).trim().length);let s={...r,visibleTextLength:o},c=s.rootsCount>0&&s.semanticCount>0&&s.isDocumentComplete&&!s.busy&&(s.meaningfulNodeCount>=2||s.semanticCount<=6&&s.meaningfulNodeCount>=1&&s.visibleTextLength<160),l=[];return(s.rootsCount===0||s.semanticCount===0)&&l.push("empty_tree"),s.semanticCount>0&&s.semanticCount<=4&&s.meaningfulNodeCount===0&&l.push("generic_shell"),s.semanticCount<=6&&s.meaningfulNodeCount<=1&&s.genericNodeRatio>=.8&&s.visibleTextLength>=80&&(l.includes("generic_shell")||l.push("generic_shell"),l.push("text_semantic_mismatch")),(!s.isDocumentComplete||s.busy)&&s.semanticCount<=8&&s.meaningfulNodeCount<=1&&l.push("dom_not_ready"),{proceedImmediately:c,needsStabilization:!c&&l.length>0,reasons:l,signals:s}}function Vs(e){return e.body?.innerText||e.body?.textContent||e.documentElement?.innerText||e.documentElement?.textContent||""}function a_(e){try{let t=e.defaultView||window,n=t.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t[n]?.shadow?.getRoot;if(typeof o=="function"){let i=o(e.body||e.documentElement);if(i)return i}}catch{}return e}function s_(e){let t=e.URL||"";try{let n=new URL(t),r=n.searchParams.get("file")||n.searchParams.get("src")||"";return r||t}catch{return t}}async function c_(e,t){let n=Number.isFinite(t)&&t>0?Math.floor(t):zo.pdfTextSelectionTimeoutMs,r=s_(e),o=Sa.get(r)??"";if(o.trim().length>0)return{success:!0,data:o,reason:"ok"};let i=await l_(e,n);return i.success&&i.data.trim()&&OT(r,i.data),i}async function l_(e,t){let n=e.defaultView||window,r=d_(e);if(!r||typeof r.postMessage!="function")return{success:!1,data:"",reason:"no_viewer"};let o=globalThis.crypto&&"randomUUID"in globalThis.crypto?globalThis.crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`,i=!1,a="",s=d=>{if(i||!u_(String(d.origin||""),e))return;let m=d.data;f_(m,o)&&typeof m.selectedText=="string"&&m.selectedText.trim().length>0&&(a=m.selectedText,i=!0)};n.addEventListener("message",s);try{r.postMessage({type:"selectAll",requestId:o},"*")}catch{}let c=Date.now();for(;!i&&Date.now()-c<t;){try{r.postMessage({type:"getSelectedText",requestId:o},"*")}catch{}if(await yn(200,e),a.trim()){i=!0;break}}return n.removeEventListener("message",s),a.trim()?{success:!0,data:a,reason:"ok"}:{success:!1,data:"",reason:Date.now()-c>=t?"timeout":"no_response"}}function d_(e){let t=ff(e)||e.querySelector?.('object[type="application/pdf"],object[type="application/x-google-chrome-pdf"]');if(t&&typeof t.postMessage=="function")return t;let n=e.querySelector?.('iframe[type="application/pdf"]');return n?.contentWindow?n.contentWindow:null}function u_(e,t){let n=(e||"").toLowerCase();if(!n||n==="null"||n.startsWith("chrome-extension://")||n.startsWith("chrome://")||n.startsWith("chrome-untrusted://"))return!0;try{let r=new URL(t.URL||"").origin.toLowerCase();if(r&&n===r)return!0}catch{}return!1}function f_(e,t){return!(!e||typeof e!="object"||e.type!=="getSelectedTextReply"||typeof e.selectedText!="string"||e.requestId&&e.requestId!==t)}function p_(e){try{let t=e.defaultView||Lr();if(t?.location.hostname==="docs.google.com"&&t?.location.pathname.startsWith("/document/d/"))return!0}catch{}try{if(e.querySelector('iframe[src^="https://docs.google.com/document/d/"]'))return!0}catch{}return Ta(e)!==null}function m_(e){let n=(e.defaultView||Lr())?.location.href??"";return/^https:\/\/docs\.google\.com\/spreadsheets\/(?:u\/\d+\/)?d\/[a-zA-Z0-9_-]+/.test(n)}function h_(e){try{return e.defaultView?.top?.document??e}catch{return e}}function Gl(e){let t=[e],n=h_(e);return n!==e&&t.push(n),t}var g_=".docs-texteventtarget-iframe",b_=".kix-cursor",y_=".docos-replyview-body",v_=".docos-replyview",k_=".docos-author",Ob="\u200B",x_="\xA0";function Ta(e){for(let t of Gl(e)){let n=t.querySelector(g_);if(n)return n}return null}function w_(e){for(let t of Gl(e)){let n=t.querySelector(b_);if(n)return n}return null}function Vl(e){let t=w_(e);return t?(t.ownerDocument?.defaultView?.getComputedStyle(t).display??t.style.display)==="none":!1}function Wl(e,t){let n=Ta(e);if(!n)return;let r=t?"ArrowUp":"ArrowDown",i={key:r,keyCode:t?38:40,altKey:!0,shiftKey:!0,code:r,bubbles:!0,cancelable:!0},a=n.contentDocument,s=n.contentWindow;if(!a)return;let c=s?.KeyboardEvent||KeyboardEvent;a.dispatchEvent(new c("keydown",i))}function Mb(e){let t=Ta(e);if(!t)return;let n={key:"ArrowLeft",keyCode:37,code:"ArrowLeft",bubbles:!0,cancelable:!0},r=t.contentDocument,o=t.contentWindow;if(!r)return;let i=o?.KeyboardEvent||KeyboardEvent;r.dispatchEvent(new i("keydown",n))}function S_(e){let t=Ta(e);if(!t)return;let r=(typeof navigator<"u"?String(navigator.platform||""):"").toUpperCase().indexOf("MAC")>=0,o={key:"a",code:"KeyA",ctrlKey:!r,metaKey:r,bubbles:!0,cancelable:!0},i=t.contentDocument,a=t.contentWindow;if(!i)return;let s=a?.KeyboardEvent||KeyboardEvent;i.dispatchEvent(new s("keydown",o))}function Kl(e){let t=Ta(e);if(!t)return"";let n=t.contentDocument,r=t.contentWindow,o=n?.body;if(!n||!o)return"";try{let s=r?.ClipboardEvent||ClipboardEvent,c=new s("copy",{bubbles:!0,cancelable:!0});o.firstChild?.dispatchEvent?.(c),o.firstChild?.dispatchEvent||o.dispatchEvent(c)}catch{}let i=o.innerText||o.textContent||"";return String(i).replace(new RegExp(Ob,"g"),"")??""}function yf(e){let t=`
|
|
3
3
|
|
|
4
|
-
Comments: `,n=new Set,r=[];for(let i of
|
|
4
|
+
Comments: `,n=new Set,r=[];for(let i of Gl(e))try{let a=Array.from(i.querySelectorAll(y_));for(let s of a)n.has(s)||(n.add(s),r.push(s))}catch{}let o=r.filter(i=>i.textContent);if(o.length===0)return"";for(let i of o){let a=i.closest(v_);if(!a)continue;let s=a.querySelector(k_);s&&s.textContent&&(t+=`
|
|
5
5
|
Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
|
|
6
|
-
`)}return t.trim()}function
|
|
6
|
+
`)}return t.trim()}function T_(){let e=Vt()||document,t=Ta(e),n=t?.contentDocument,r=t?.contentWindow,o=()=>{let i=n?.body,a=Vt(),s=i?.innerText||i?.textContent||""||a?.body?.innerText||a?.body?.textContent||"";return String(s).replace(new RegExp(Ob,"g"),"")+yf(e)};try{try{r?.focus(),n?.body?.focus?.()}catch{}if(S_(e),Vl(e)){let c=Kl(e);if(c.trim()!==""){let l=yf(e).trim();return c+l}else Mb(e)}let i="";if(Wl(e,!0),Vl(e)){let c=Kl(e);c.endsWith(`
|
|
7
7
|
|
|
8
|
-
`)||(i+=c.trimEnd())}if(
|
|
9
|
-
`)&&
|
|
10
|
-
`)&&(i+=c)}Cb(e);let a=gf(e).trim(),s=i.trim()+a;return s.trim()?s:o()}catch{return o()}}async function T_(e,t){let n="",r;Ob(e,e.defaultView||window);let o=un(t?.deadlineEpochMs);try{let i=Math.max(250,Math.min(1500,Math.floor(o*.45))),a=await ga(__(e),i,e);if(!(a.ok&&a.value))throw new Error("google_sheet_copy_failed");let c=un(t?.deadlineEpochMs),l=Math.max(250,Math.min(2500,Math.floor(c*.55)));if(n=await E_(l,e),!n.trim())throw new Error("google_sheet_empty_clipboard")}catch(i){r=i instanceof Error?i.message:String(i)}return{content:n,contentType:Uu,error:r}}function Ob(e,t){try{t?.focus?.()}catch{}try{e?.body?.focus?.()}catch{}}function bf(e,t){let r=e.defaultView?.KeyboardEvent||KeyboardEvent,o=new r("keydown",{bubbles:!0,cancelable:!0,...t}),i=e.activeElement;(i&&i.ownerDocument===e?i:e).dispatchEvent(o)}async function __(e){try{if(Ob(e,e.defaultView||window),e.hidden||!e.hasFocus())return!1;bf(e,{key:"Escape",code:"Escape"}),await bn(150,e);let t=e.querySelector(".grid-container")||Mb(e,".grid-container"),n=e.querySelector(".grid4-inner-container:last-child")||Mb(e,".grid4-inner-container:last-child");if(n){try{n.focus()}catch{}await bn(100,e)}else if(t){try{t.focus?.()}catch{}await bn(80,e)}let o=(typeof navigator<"u"?String(navigator.platform||""):"").toUpperCase().indexOf("MAC")>=0;bf(e,{key:"a",code:"KeyA",ctrlKey:!o,metaKey:o}),await bn(200,e),bf(e,{key:"c",code:"KeyC",ctrlKey:!o,metaKey:o}),await bn(200,e);try{e.execCommand("copy")}catch{}return!0}catch{return!1}}async function E_(e,t){let n=Math.max(250,Math.min(5e3,Math.floor(e)));if(navigator?.clipboard?.readText){let i=await ga(navigator.clipboard.readText(),n,t);if(i.ok)return i.value||""}let r=t.createElement("textarea");r.style.position="fixed",r.style.opacity="0",r.style.pointerEvents="none",r.style.left="-9999px",r.style.top="0",t.body?.appendChild(r),r.focus();try{t.execCommand("paste")}catch{}let o=r.value||"";return r.remove(),o}function Mb(e,t){let n=Wl(e);for(let s of n)try{let c=s.querySelector(t);if(c)return c}catch{}let r=1e5,o=0,i=(s,c)=>{if(!c)return;let l=c.children;if(l)for(let d=0;d<l.length;d++)s.push(l[d])},a=[];for(let s of n)try{i(a,s.documentElement??s.body??null)}catch{}for(;a.length&&o<r;){let s=a.pop();o++;try{if(s.matches(t))return s}catch{}i(a,s);let c=s.shadowRoot;if(c&&i(a,c),String(s.tagName).toUpperCase()==="IFRAME")try{let d=s.contentDocument;d&&i(a,d.documentElement??d.body??null)}catch{}}return null}async function I_(e,t){let n=t?.profile??"light",r=!e.hidden,o=Math.max(0,Math.min(t?.timeBudgetMs??(n==="light"?1600:2800),3e3));if(o<=0)return!1;let i=Date.now(),a=()=>o-(Date.now()-i),s=t?.delayMs??(n==="light"?220:280),c=t?.finalWaitMs??(n==="light"?350:900),l=r?s:0,d=r?c:0,m=t?.amount,f=t?.maxSteps??(n==="light"?8:18),u=t?.maxDistancePx??(n==="light"?12e3:3e4),h=null;try{let k=await Nb(e,{action:"detectPrimary"});if(k?.selector){let C=A_(e,k.selector);C&&(h=C)}let x=k?.metrics;if(x&&typeof x.scrollHeight=="number"&&typeof x.clientHeight=="number"){let C=Math.max(0,x.scrollHeight-x.clientHeight);u=Math.min(u,C||u),C<1500?f=Math.min(f,2):C<4e3?f=Math.min(f,4):C<1e4&&(f=Math.min(f,6))}}catch{}if(h||(h=e.scrollingElement||e.documentElement||e.body),!h)return!1;let b=0,v=null,S=0;for(let k=0;k<f&&!(a()<=0);k++){let x=null;try{x=await Nb(e,{action:"scrollBy",direction:Kt.DOWN,options:{amount:m,behavior:"auto",isTabActive:r}})}catch{}if(!x||!x.success){let _=e.defaultView||window;x=jl(h,e,_,Kt.DOWN,m),S=2}if(!x?.success)break;let C=x.scrollTop??v??0;if(v!==null){let _=Math.max(0,C-v);b+=_,S=_===0?S+1:0}if(v=C,x.isAtBottom||S>=2||b>=u)break;if(l>0&&k<f-1){let _=Math.min(l,Math.max(0,a()));if(_<=0)break;await bn(_,e)}}if(d>0){let k=Math.min(d,Math.max(0,a()));k>0&&await bn(k,e)}if(a()>80)try{let k=e.scrollingElement||e.documentElement||e.body,x=e.defaultView||window,C=h===e.documentElement||h===e.body||h===k?k:h;if(C){let _=C===k?x.innerHeight:C.clientHeight||x.innerHeight,I=Math.max(0,C.scrollHeight-_);C.scrollTop=I}}catch{}return!0}function A_(e,t){try{return e.querySelector(t)}catch{return null}}async function Nb(e,t){let n=e.defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",a=(n[r]?.scroll||n.__RTRVR_SCROLL_API__)?.execute;return typeof a!="function"?null:a(t)}async function R_(e,t){let n=e.defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",i=n[r]?.flushScan;if(typeof i!="function"){try{n.rtrvrAIMarkInteractiveElements?.()}catch{}return}let a=Date.now()+Math.max(100,Math.floor(t.totalBudgetMs)),s=0;for(;s<t.maxPasses&&un(a)>0;){let c=Math.max(50,Math.min(t.budgetMs,un(a)));try{await i({mode:t.mode??"full",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:c,deadlineEpochMs:a})}catch{break}if(Lb(e)===0)break;s++}if(Lb(e)>0&&un(a)>50){let c=Math.min(120,un(a));try{await i({mode:"priority",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:c,deadlineEpochMs:a})}catch{}}}function Lb(e){let t=e.documentElement;if(!t)return 0;let n=t.getAttribute(vi);if(!n)return 0;let r=Number.parseInt(n,10);return Number.isFinite(r)&&r>0?r:0}function C_(e){let t=M_(e.URL||"");if(!t?.sheetId)return;let n=N_(e),r=n?.title||"Sheet1";return{sheetId:t.sheetId,sheetTitle:e.title||n?.title||void 0,sheetTab:r,sheetTabId:t.sheetTabId??n?.id,sheetTabs:void 0}}function M_(e){if(!e)return null;try{let t=new URL(e);if(t.hostname!=="docs.google.com")return null;let n=t.pathname.split("/"),r=n.indexOf("spreadsheets"),o=n.indexOf("d");if(r===-1||o===-1||o!==r+1||n.length<=o+1)return null;let i=n[o+1];if(!i||!/^[a-zA-Z0-9_-]+$/.test(i))return null;let a;return t.hash&&t.hash.includes("gid=")&&(a=new URLSearchParams(t.hash.substring(1)).get("gid")??void 0),!a&&t.searchParams.has("gid")&&(a=t.searchParams.get("gid")??void 0),a&&!/^\\d+$/.test(a)&&(a=void 0),{sheetId:i,sheetTabId:a?parseInt(a,10):0}}catch{return null}}function N_(e){try{let t=e.querySelector('[role="tab"][aria-selected="true"]')||e.querySelector(".docs-sheet-tab-active")||e.querySelector('.docs-sheet-tab[aria-selected="true"]');if(!t)return null;let n=t.getAttribute("aria-label")||t.textContent?.trim()||void 0,r=t.getAttribute("data-sheet-id")||t.getAttribute("data-tab-id")||void 0,o=r&&/^\d+$/.test(r)?Number(r):void 0;return{title:n,id:o}}catch{return null}}var pr;(function(e){e[e.Native=1]="Native",e[e.Inline=2]="Inline",e[e.React=4]="React",e[e.Vue=8]="Vue",e[e.Angular=16]="Angular",e[e.Svelte=32]="Svelte",e[e.JQuery=64]="JQuery",e[e.Delegated=128]="Delegated",e[e.Other=256]="Other",e[e.Inferred=512]="Inferred"})(pr||(pr={}));var L_={native:pr.Native,inline:pr.Inline,react:pr.React,vue:pr.Vue,angular:pr.Angular,svelte:pr.Svelte,jquery:pr.JQuery,delegated:pr.Delegated,other:pr.Other};function Bb(){if(typeof window>"u")return;let e=window,t="__RTRVR_MAIN_WORLD_INITIALIZED__",n=new WeakMap,r={frameworks:new Set,reactRoots:new WeakSet,vueRoots:new WeakSet,angularRoots:new WeakSet,svelteRoots:new WeakSet,jqueryRoots:new WeakSet},o=new WeakMap,i=new WeakMap,a=new Set,s=100,c=50,l=0,d=0,m=new WeakSet,f="__RTRVR_ET_HOOKED__",u="__RTRVR_ATTACH_SHADOW_HOOKED__";function h(y){if(y&&!m.has(y)){m.add(y);try{b(y)}catch{}try{v(y)}catch{}}}function b(y){try{let P=y.EventTarget;if(!P?.prototype||P.prototype[f])return;P.prototype[f]=!0;let $=P.prototype.addEventListener,V=P.prototype.removeEventListener;P.prototype.addEventListener=function(ne,ue,Ee){try{mt(ue)||vr(this,ne,Ee)}catch{}return $.call(this,ne,ue,Ee)},P.prototype.removeEventListener=function(ne,ue,Ee){try{go(this,ne,Ee)}catch{}return V.call(this,ne,ue,Ee)};try{let ne=Function.prototype.toString;P.prototype.addEventListener.toString=()=>ne.call($),P.prototype.removeEventListener.toString=()=>ne.call(V)}catch{}}catch{}}function v(y){try{let P=y.Element;if(!P?.prototype?.attachShadow||P.prototype[u])return;P.prototype[u]=!0;let $=P.prototype.attachShadow;P.prototype.attachShadow=function(V){let ne=$.call(this,V);try{dl.set(this,ne)}catch{}try{Tt(ne)}catch{}return ne};try{let V=Function.prototype.toString;P.prototype.attachShadow.toString=()=>V.call($)}catch{}}catch{}}function S(y){let $=n.get(y)?.listenerTypeMasks;if($&&$.size){let V=[];for(let ne of $.keys()){let ue=yo[ne];ue&&V.push(ue)}return V}return Es(y)}let k=["onclick","ondblclick","ondoubleclick","onmousedown","onmouseup","role","contenteditable","draggable","tabindex","disabled","type","aria-haspopup","aria-expanded","data-click","data-action","data-handler","data-toggle","data-target"],x=0,C=new Set,_=null,I=!1,M=6,X=["click","input","change","keydown","keyup","pointerdown","pointerup","submit","focus","blur"],O=["mouseenter","mouseleave","mouseover","mouseout","mousedown","mouseup","wheel","scroll","dragstart","drop","touchstart","touchend"];if(e[t]){typeof e.rtrvrAISetObserverPaused!="function"&&(e.rtrvrAISetObserverPaused=()=>!1),typeof e.rtrvrAIClearObserverPause!="function"&&(e.rtrvrAIClearObserverPause=()=>!1),typeof e.rtrvrAIIsObserverPaused!="function"&&(e.rtrvrAIIsObserverPaused=()=>!!Vt()?.hidden);return}e[t]=!0;let J={onclick:"click",ondblclick:"dblclick",ondoubleclick:"doubleclick",onmousedown:"mousedown",onmouseup:"mouseup",onmouseenter:"mouseenter",onmouseleave:"mouseleave",onmousemove:"mousemove",onmouseover:"mouseover",onmouseout:"mouseout",oncontextmenu:"contextmenu",onauxclick:"auxclick",onkeydown:"keydown",onkeyup:"keyup",onkeypress:"keypress",oninput:"input",onchange:"change",onsubmit:"submit",onreset:"reset",onselect:"select",onsearch:"search",oninvalid:"invalid",onbeforeinput:"beforeinput",onfocus:"focus",onblur:"blur",onfocusin:"focusin",onfocusout:"focusout",ontouchstart:"touchstart",ontouchend:"touchend",ontouchmove:"touchmove",ontouchcancel:"touchcancel",onpointerdown:"pointerdown",onpointerup:"pointerup",onpointermove:"pointermove",onpointerenter:"pointerenter",onpointerleave:"pointerleave",onpointercancel:"pointercancel",onpointerover:"pointerover",ondragstart:"dragstart",ondragend:"dragend",ondrag:"drag",ondragenter:"dragenter",ondragleave:"dragleave",ondragover:"dragover",ondrop:"drop",oncopy:"copy",oncut:"cut",onpaste:"paste",onscroll:"scroll",onwheel:"wheel",onplay:"play",onpause:"pause",onended:"ended",onvolumechange:"volumechange",onseeking:"seeking",onseeked:"seeked",onanimationstart:"animationstart",onanimationend:"animationend",ontransitionend:"transitionend",ontransitionstart:"transitionstart",onresize:"resize",ontoggle:"toggle",onfullscreenchange:"fullscreenchange",onload:"load",onerror:"error",onabort:"abort",onbeforeunload:"beforeunload",onunload:"unload",onhashchange:"hashchange",onpopstate:"popstate",onstorage:"storage",onmessage:"message"};function ee(y){return y?String(y).split(".")[0].toLowerCase():""}let se=["data-click","data-action","data-event","data-handler","data-on-click","data-onclick","data-tap","data-press","data-toggle","data-target"],H=0,Y=null,oe=new MessageChannel,ie=[];oe.port1.onmessage=()=>{let y=ie.shift();y&&y()};function me(){return Date.now()}function he(y){return!y||!Number.isFinite(y)?Number.POSITIVE_INFINITY:Math.max(0,y-me())}let Te=8,ze=new MessageChannel,Oe=!1;function ke(){if(!Oe){Oe=!0;try{ze.port2.postMessage(0)}catch{}}}function B(y){let P=y.values().next();if(P.done)return null;let $=P.value;return y.delete($),$}function K(){return new Promise(y=>{ie.push(y),oe.port2.postMessage(0)})}let F=!1;function te(){if(!F)try{let y=e.jQuery;y&&y.fn&&(Lt(y),F=!0,Bt("jquery"))}catch{}}function fe(y,P){for(let $=P.lastElementChild;$;$=$.previousElementSibling)y.push($)}function le(y,P,$){if($)try{let V=Hn(P);V&&y.push(V)}catch{}}function Ne(y,P,$){if($&&_s(P))try{let V=P.contentWindow||null;V&&h(V);let ne=V?.document?.documentElement;ne&&y.push(ne)}catch{}}let ge=new WeakSet;function dt(y){y&&(typeof y=="function"||typeof y=="object")&&ge.add(y)}function mt(y){return!!y&&(typeof y=="function"||typeof y=="object")&&ge.has(y)}ze.port1.onmessage=()=>{if(wn()){C.clear(),a.clear(),x=0,it(),Oe=!1;return}Oe=!1,ut(500);let y=performance.now();for(;C.size&&performance.now()-y<Te;){let P=B(C);if(!P)break;try{_e(P)}catch{}finally{x=Math.max(0,x-1)}}for(;a.size&&performance.now()-y<Te;){let P=B(a);if(!P)break;try{Tn(P)}catch{}}it(),(C.size||a.size)&&ke()};function it(){try{let y=Vt()?.documentElement;if(!y)return;y.setAttribute(vi,String(x))}catch{}}function je(y){let P=n.get(y);return P||(P={frameworks:new Set,listeners:new Map},n.set(y,P)),P}function jt(y){wn()||(a.add(y),a.size>2e3&&ut(1500),ke())}function We(y){wn()||C.has(y)||(C.add(y),x++,it(),ke(),C.size>2e3&&ut(1500))}function ut(y=1500){let P=0;for(let $ of C){if(P>=y)break;P++,$.isConnected||(C.delete($),x=Math.max(0,x-1))}P=0;for(let $ of a){if(P>=y)break;P++,$.isConnected||a.delete($)}it()}let Le=null;function Ye(y,P,$){return`${y}|${P?1:0}|${$?1:0}`}function Pt(y){let P=y.tagName;if(P==="A"||P==="BUTTON"||P==="INPUT"||P==="SELECT"||P==="TEXTAREA"||P==="SUMMARY"||y.hasAttribute("role")||y.hasAttribute("tabindex")||y.hasAttribute("contenteditable")||y.hasAttribute("onclick")||y.getAttributeNames().some($=>$.startsWith("on")))return!0;for(let $ of se)if(y.hasAttribute($))return!0;return!!(y.hasAttribute("aria-haspopup")||y.hasAttribute("aria-expanded"))}function $t(y){let P=Ge(y);if(!dn(y,P))return!1;let $=y.tagName;if($!=="DIV"&&$!=="SPAN"&&$!=="LI"&&$!=="SECTION"&&$!=="ARTICLE"&&$!=="P")return!1;let V=y;if(V.__ngContext__||V.__svelte__||V.__vue__||V._vnode||V.__reactFiber$||V.__reactProps$)return!0;let ne=0;for(let ue in V){if(++ne>30)break;if(ue.startsWith("__react")||ue.includes("reactFiber")||ue.includes("reactProps"))return!0}return!1}function St(){let y=Vt()?.documentElement;return y?r.frameworks.size>0||y.hasAttribute("rtrvr-react")||y.hasAttribute("rtrvr-vue")||y.hasAttribute("rtrvr-angular")||y.hasAttribute("rtrvr-svelte")||y.hasAttribute("rtrvr-jquery"):!1}function nt(y){if(wn())return;let P=performance.now();for(;C.size&&performance.now()-P<y;){let $=B(C);if(!$)break;try{_e($)}catch{}finally{x=Math.max(0,x-1)}}for(;a.size&&performance.now()-P<y;){let $=B(a);if(!$)break;try{Tn($)}catch{}}}async function tn(y={}){if(wn())return C.clear(),a.clear(),x=0,it(),{revision:++H,scanned:0,durationMs:0,done:!0,remaining:0};ut(3e3),te(),st();let P=y.mode??"full",$=y.includeShadow??!0,V=y.includeSameOriginIframes??!0,ne=Math.max(50,Math.min(y.budgetMs??2500,15e3)),ue=y.deadlineEpochMs,Ee=Math.max(0,Math.min(ne,he(ue))),Ue=Ye(P,$,V);if(Ee<=0){let En=(Le?.stack?.length??0)+C.size+a.size;return{revision:++H,scanned:0,durationMs:0,done:En===0,remaining:En}}if((!Le||Le.optsKey!==Ue)&&he(ue)>30&&await et({budgetMs:18,deadlineEpochMs:ue}),P==="priority"){let En=performance.now(),kt=0;for(;C.size&&performance.now()-En<=Ee&&!(ue&&he(ue)<=0);){let Ot=B(C);if(!Ot)break;try{_e(Ot)}catch{}kt++,x=Math.max(0,x-1)}for(;a.size&&performance.now()-En<=Ee&&!(ue&&he(ue)<=0);){let Ot=B(a);if(!Ot)break;try{Tn(Ot)}catch{}}return it(),{revision:++H,scanned:kt,durationMs:performance.now()-En,done:C.size===0&&a.size===0,remaining:C.size+a.size}}if(!Le||Le.optsKey!==Ue){let En=Vt()?.documentElement;Le={optsKey:Ue,stack:En?[En]:[],scannedTotal:0}}let yt=performance.now(),ht=0;for(x++,it();Le.stack.length&&!(ue&&he(ue)<=0);){let En=Le.stack.pop();if(lr(En)){let Ot=En.children;for(let Mr=Ot.length-1;Mr>=0;Mr--)Le.stack.push(Ot[Mr]);continue}let kt=En;if(!(!kt||kt.nodeType!==1)&&!(kt.tagName==="SCRIPT"||kt.tagName==="STYLE"||kt.tagName==="META"||kt.tagName==="NOSCRIPT")){try{(Pt(kt)||St()&&$t(kt))&&_e(kt)}catch{}try{Tn(kt)}catch{}if(C.delete(kt)&&(x=Math.max(0,x-1)),a.delete(kt),ht++,Le.scannedTotal++,$)try{let Ot=Hn(kt);Ot&&(Tt(Ot),Le.stack.push(Ot))}catch{}if(V&&_s(kt))try{let Ot=kt.contentWindow||null;Ot&&h(Ot);let Mr=Ot?.document,ul=Mr?.documentElement;Mr&&ul&&(ve(Mr),Le.stack.push(ul))}catch{}for(let Ot=kt.lastElementChild;Ot;Ot=Ot.previousElementSibling)Le.stack.push(Ot);ht%800===0&&he(ue)>20&&await K()}}let Mt=Math.max(0,Ee-(performance.now()-yt)),hn=he(ue);nt(Math.min(250,Mt,hn)),x=Math.max(0,x-1),it();let rn=Le.stack.length===0,jn=Le.stack.length;return rn&&(Le=null),{revision:++H,scanned:ht,durationMs:performance.now()-yt,done:rn,remaining:jn}}async function nn(y={}){return Y||(Y=tn(y).finally(()=>{Y=null}),Y)}e.rtrvrAIFlushScan=nn;let sn="__RTRVR_INTERNAL__";Object(window).__RTRVR_INTERNAL_KEY__=sn;let mn=e[sn],Yn=mn&&typeof mn=="object"?mn:{};if(!mn)try{Object.defineProperty(e,sn,{value:Yn,writable:!1,configurable:!1,enumerable:!1})}catch{}try{Object.defineProperty(Yn,"flushScan",{value:nn,writable:!1,configurable:!1,enumerable:!1})}catch{}function Me(y,P){let $=je(y),V=ee(P.type);if(!V)return;let ne=!1,ue=$.listeners.get(V);ue||(ue=[],$.listeners.set(V,ue),ne=!0);let Ee=ue.find($e=>$e.source===P.source&&!!$e.inferred==!!P.inferred);if(Ee){let $e=!!Ee.capture,yt=!!Ee.passive,ht=!!Ee.once;Ee.capture=Ee.capture||P.capture,Ee.passive=Ee.passive||P.passive,Ee.once=Ee.once||P.once,($e!==!!Ee.capture||yt!==!!Ee.passive||ht!==!!Ee.once)&&(ne=!0)}else ue.push({...P,type:V}),ne=!0;let Ue=wt[V];if(Ue!==void 0){$.listenerTypeMasks||($.listenerTypeMasks=new Map);let $e=0,yt=L_[P.source];$e|=yt!==void 0?yt:pr.Other,P.inferred&&($e|=pr.Inferred);let ht=$.listenerTypeMasks.get(Ue)||0,Mt=ht|$e;Mt!==ht&&($.listenerTypeMasks.set(Ue,Mt),ne=!0)}ne&&($.role=void 0,jt(y))}function br(y){let P=y.listenerTypeMasks;return!P||P.size===0?null:[...P.entries()].sort((V,ne)=>V[0]-ne[0]).map(([V,ne])=>`${V}~${(ne||0).toString(36)}`).join(",")}function De(y,P){let $=je(y);$.frameworks.has(P)||($.frameworks.add(P),jt(y))}function Bt(y){r.frameworks.has(y)||(r.frameworks.add(y),Vt()?.documentElement?.setAttribute(`rtrvr-${y}`,"1"))}function Tn(y){let P=n.get(y);if(!P)return;a.delete(y);let $=br(P);$?$!==P.lastListenersSerialized&&(y.setAttribute(zo,$),P.lastListenersSerialized=$):P.lastListenersSerialized&&(y.removeAttribute(zo),P.lastListenersSerialized=void 0);let V=Ge(y);if(dn(y,V))if(P.role===void 0&&(P.role=ar(y)),P.role){let ne=ca[P.role],ue=typeof ne=="number"?String(ne):`s:${P.role}`;ue!==P.lastRoleSerialized&&(y.setAttribute(ko,ue),P.lastRoleSerialized=ue)}else(P.lastRoleSerialized||y.hasAttribute(ko))&&(y.removeAttribute(ko),P.lastRoleSerialized=void 0)}function Nt(y){let P=[],$=y;for(;$;)P.push($),$=$.parentNode||$.host;return P}function xs(y){let P=y.tagName.toLowerCase(),$=y.getAttribute("role"),V=$?$.toLowerCase().trim():"";if(V&&vo.has(V)||P==="button"||(P==="a"||P==="area")&&y.hasAttribute("href"))return!0;if(P==="input")return y.type?.toLowerCase()!=="hidden";if(P==="select"||P==="textarea"||(P==="video"||P==="audio")&&y.hasAttribute("controls")||y.isContentEditable||y.hasAttribute("contenteditable"))return!0;let ne=y.getAttribute("tabindex");return!!(ne!==null&&!Number.isNaN(Number.parseInt(ne,10))&&(S(y).some(Ue=>Tl.has(Ue))||y.getAttributeNames().some(Ue=>Ue.startsWith("on"))))}function ws(y,P=10){let $=[];for(let V=0;V<y.children.length;V++)$.push({node:y.children[V],depth:1});for(;$.length;){let{node:V,depth:ne}=$.pop();if(xs(V))return!0;if(!(ne>=P))for(let ue=0;ue<V.children.length;ue++)$.push({node:V.children[ue],depth:ne+1})}return!1}function ar(y){let P=y.tagName.toLowerCase(),$=y.getAttribute("role"),V=$?$.toLowerCase().trim():"",ne=y.type?.toLowerCase();if(V&&vo.has(V))return V;if(V&&Is.has(V))return null;if(P==="a"&&y.hasAttribute("href"))return"link";if(P==="button")return"button";if(P==="input")return ne==="hidden"?null:ne==="checkbox"?"checkbox":ne==="radio"?"radio":ne==="range"?"slider":ne==="number"?"spinbutton":ne==="search"?"searchbox":["button","submit","reset","image","file"].includes(ne)?"button":y.hasAttribute("list")?"combobox":"textbox";if(P==="textarea")return"textbox";if(P==="select"){let Mt=y;return Mt.multiple||Mt.size&&Mt.size>1?"listbox":"combobox"}if(P==="option")return"option";if(P==="form")return"form";if(P==="video"||P==="audio"){let Mt=Es(y);return y.hasAttribute("controls")||Mt.length>0?"media":null}if(y.isContentEditable||y.hasAttribute("contenteditable"))return"textbox";let ue=S(y);if(!ue.length)return null;let Ee=!1,Ue=!1,$e=!1;for(let Mt=0;Mt<ue.length;Mt++){let hn=ue[Mt];!Ee&&Tl.has(hn)&&(Ee=!0),!Ue&&Wu.has(hn)&&(Ue=!0),!$e&&Ku.has(hn)&&($e=!0)}if(!Ee&&!Ue&&!$e)return null;let yt=y.getAttribute("tabindex"),ht=yt!==null&&!Number.isNaN(Number.parseInt(yt,10));if(Ee&&(nf(y)||y.getAttribute("href")||y.closest("a[href]")))return"link";if(Ue){if(y.isContentEditable||y.hasAttribute("contenteditable"))return"textbox";if(V==="textbox"||V==="searchbox"||V==="combobox"||V==="spinbutton")return V;if(!Ee&&ht)return"textbox"}if(Ee){let Mt=y.getAttribute("aria-checked"),hn=y.getAttribute("aria-pressed");if(Mt!==null||hn!==null){if(V==="radio")return"radio";if(V==="menuitemradio")return"menuitemradio";if(V==="menuitemcheckbox")return"menuitemcheckbox";if(hn!==null)return"button";if(Mt!==null)return"checkbox"}if((ht||V==="button")&&!ws(y))return"button"}return $e?"application":null}let ft=EventTarget.prototype.addEventListener,xn=EventTarget.prototype.removeEventListener;function zn(y){let P=!1,$,V;return typeof y=="boolean"?P=y:y&&typeof y=="object"&&(P=!!y.capture,$=y.passive,V=y.once),{capture:P,passive:$,once:V}}function yr(y){try{let P=y;if(P?.nodeType===9&&P?.documentElement)return P;let $=P?.document;if($&&$.nodeType===9&&$.documentElement)return $}catch{}return null}function vr(y,P,$){let V=ee(P);if(!V)return;let{capture:ne,passive:ue,once:Ee}=zn($),Ue=o.get(y);Ue||(Ue=new Map,o.set(y,Ue));let $e=Ue.get(V);if($e?($e.count+=1,$e.capture=$e.capture||ne,$e.passive=$e.passive||ue):Ue.set(V,{count:1,capture:ne,passive:ue}),bi(y))try{Me(y,{type:V,source:"native",capture:ne,passive:ue,once:Ee})}catch{}let yt=yr(y);if(yt&&(V==="click"||V==="input"||V==="keydown"))try{yt.documentElement?.setAttribute(`rtrvr-gl-${V}`,"1")}catch{}}function go(y,P,$){let V=ee(P);if(!V)return;let ne=o.get(y);if(!ne)return;let ue=ne.get(V);ue&&(ue.count-=1,ue.count<=0&&ne.delete(V),ne.size===0&&o.delete(y))}h(window);function Lt(y){if(!y||!y.fn)return;let P=y.fn.on,$=y.fn.off;function V(ue){if(!ue)return[];if(typeof ue=="string")return ue.split(/\s/).map(Ee=>ee(Ee)).filter(Boolean);if(typeof ue=="object")try{return Object.keys(ue).map(Ee=>ee(Ee)).filter(Boolean)}catch{return[]}return[]}function ne(ue){try{if(!ue)return null;if(bi(ue))return ue;let Ee=Ge(ue);return kl(ue,Ee)||null}catch{}return null}y.fn.on=function(ue,Ee){let Ue=V(ue),$e=typeof Ee=="string"&&!!Ee;return this.each(function(){let yt=ne(this);if(yt){if($e){let ht=i.get(yt);ht||(ht=[],i.set(yt,ht));for(let Mt of Ue){let hn=`${Mt}::${Ee}`;ht.some(rn=>`${rn.type}::${rn.selector}`===hn)||(ht.push({type:Mt,selector:Ee}),ht.length>400&&ht.shift())}}else for(let ht of Ue)Me(yt,{type:ht,source:"jquery"});De(yt,"jquery"),Bt("jquery"),r.jqueryRoots.add(yt)}}),P.apply(this,arguments)},y.fn.off=function(){return $.apply(this,arguments)},Bt("jquery")}function Rr(y){se.some($=>y.hasAttribute($))&&(Me(y,{type:"click",source:"other",inferred:!0}),(y.tagName==="INPUT"||y.tagName==="TEXTAREA")&&(Me(y,{type:"input",source:"other",inferred:!0}),Me(y,{type:"change",source:"other",inferred:!0})))}function Qr(y){let P=Ge(y),$=dn(y,P),V=y.getAttributeNames().some($e=>$e.startsWith("on")),ne=/^(button|a|input|select|textarea|summary)$/i.test(y.tagName),ue=y,Ee=$&&(Al(y)||!!ue.isContentEditable||y.hasAttribute("contenteditable")),Ue=$&&!!ue.draggable;if(!V&&!ne&&!Ee&&!Ue){Rr(y);return}for(let[$e,yt]of Object.entries(J))typeof y[$e]=="function"&&Me(y,{type:yt,source:"inline"});Ee&&(Me(y,{type:"input",source:"other",inferred:!0}),Me(y,{type:"keydown",source:"other",inferred:!0}),Me(y,{type:"keyup",source:"other",inferred:!0}),Me(y,{type:"paste",source:"other",inferred:!0})),Ue&&(Me(y,{type:"dragstart",source:"other",inferred:!0}),Me(y,{type:"dragend",source:"other",inferred:!0})),Rr(y)}function g(y){if(!y.startsWith("on")||y.length<=2)return null;if(y.endsWith("Capture")){let $=y.substring(2,y.length-7);return $?{type:$.toLowerCase(),capture:!0}:null}let P=y.substring(2);return P?{type:P.toLowerCase(),capture:!1}:null}function D(y){let P=null;if(y){for(let $ in y)if($.startsWith("__react")||$.startsWith("_react")||$.includes("reactFiber")||$.includes("reactProps")||$.includes("reactInternalInstance")){P=$;break}if(P)try{let $=y[P],V=$?.memoizedProps||$?.pendingProps;if(V&&typeof V=="object"){for(let ne in V){if(typeof V[ne]!="function")continue;let Ee=g(ne);Ee&&Me(y,{type:Ee.type,source:"react",capture:Ee.capture})}bi($?.stateNode)&&r.reactRoots.add($.stateNode),De(y,"react"),Bt("react")}}catch{}}}function N(y){let P=y,$=!1;if(P.__vue__){$=!0;let V=P.__vue__;V.$listeners&&Object.keys(V.$listeners).forEach(ne=>Me(y,{type:ne,source:"vue"})),V._events&&Object.keys(V._events).forEach(ne=>Me(y,{type:ne,source:"vue"})),V.$options?._parentListeners&&Object.keys(V.$options._parentListeners).forEach(ne=>Me(y,{type:ne,source:"vue"})),r.vueRoots.add(y)}if(P._vnode?.props){$=!0;let V=P._vnode.props;Object.keys(V).forEach(ne=>{ne.startsWith("on")&&ne.length>2&&Me(y,{type:ne.substring(2).toLowerCase(),source:"vue"})}),r.vueRoots.add(y)}$&&(De(y,"vue"),Bt("vue"))}function R(y){let P=y,$=!1;if(P.__ngContext__||y.hasAttribute("_ngcontent")||y.hasAttribute("ng-version")){$=!0,Array.from(y.attributes).forEach(V=>{if(V.name.startsWith("(")&&V.name.endsWith(")")){let ne=V.name.slice(1,-1).split(".")[0];ne&&Me(y,{type:ne,source:"angular"})}if(V.name.startsWith("on-")){let ne=V.name.substring(3);ne&&Me(y,{type:ne,source:"angular"})}if(V.name.includes(".")){let ne=V.name.match(/\(([^.)]+)/);ne?.[1]&&Me(y,{type:ne[1],source:"angular"})}});try{if(e.ng?.getComponent){let V=e.ng.getComponent(y);V&&Object.keys(V).forEach(ne=>{(ne.endsWith("Output")||ne.endsWith("Emitter"))&&Me(y,{type:ne.replace(/(Output|Emitter)$/,"").toLowerCase(),source:"angular"})})}}catch{}}$&&(De(y,"angular"),Bt("angular"),r.angularRoots.add(y))}function T(y){let P=y,$=!1;if(P.__svelte__){$=!0,Array.from(y.attributes).forEach(V=>{if(V.name.startsWith("on:")){let ne=V.name.substring(3);ne&&Me(y,{type:ne,source:"svelte"})}});try{let V=P.__svelte__?.$$?.callbacks;V&&typeof V=="object"&&Object.keys(V).forEach(ne=>Me(y,{type:ne,source:"svelte"}))}catch{}r.svelteRoots.add(y)}$&&(De(y,"svelte"),Bt("svelte"))}function w(y,P){return y?!!o.get(y)?.has(P):!1}function E(y,P,$=96){let V=ee(P);if(!V)return!1;let ne=pe(y),ue=we(ne);if(w(ne,V)||w(ue,V))return!0;let Ee=0,Ue=y;for(;Ue&&Ee<$;){if(Ue.parentElement)Ue=Ue.parentElement;else{let $e=Ue.getRootNode?.();if(lr($e)){if(w($e,V)||w($e.host,V))return!0;Ue=$e.host}else break}if(Ue&&w(Ue,V))return!0}return!1}function U(y,P,$=128){let V=0,ne=y;for(;ne&&V<$;){if(P(ne),ne.parentElement){ne=ne.parentElement;continue}let ue=ne.getRootNode?.();if(lr(ue)){ne=ue.host;continue}break}}function Q(y){let P=Ge(y);if(!dn(y,P))return;let $=je(y);$.role=$.role||ar(y);let V=E(y,"click"),ne=E(y,"input"),ue=E(y,"keydown"),Ue=pe(y).documentElement;if(r.frameworks.size>0||Ue.hasAttribute("rtrvr-react")||Ue.hasAttribute("rtrvr-vue")||Ue.hasAttribute("rtrvr-angular")||Ue.hasAttribute("rtrvr-svelte")||Ue.hasAttribute("rtrvr-jquery")||V||ne||ue){let yt=$.role||"other";V&&["button","link","checkbox","radio","switch","menuitem","menuitemcheckbox","menuitemradio","tab","option","treeitem","gridcell","cell","img","figure"].includes(yt)&&Me(y,{type:"click",source:"delegated",inferred:!0}),["textbox","searchbox","spinbutton","code"].includes(yt)&&(ne&&(Me(y,{type:"input",source:"delegated",inferred:!0}),Me(y,{type:"change",source:"delegated",inferred:!0})),ue&&Me(y,{type:"keydown",source:"delegated",inferred:!0})),["combobox","listbox"].includes(yt)&&(V&&Me(y,{type:"click",source:"delegated",inferred:!0}),ne&&Me(y,{type:"change",source:"delegated",inferred:!0})),["slider","scrollbar","progressbar","meter"].includes(yt)&&ne&&Me(y,{type:"input",source:"delegated",inferred:!0})}U(y,yt=>{let ht=i.get(yt);if(ht?.length)for(let{type:Mt,selector:hn}of ht)try{y.matches(hn)&&(Me(y,{type:Mt,source:"jquery",inferred:!0}),De(y,"jquery"),Bt("jquery"))}catch{}})}function G(y){let P=$=>{if(wn())return;let V=$,ne=V.composedPath&&V.composedPath()||Nt($.target),Ee=y==="mousemove"||y==="pointermove"||y==="scroll"||y==="wheel"?1:Math.min(ne.length,M);for(let Ue=0;Ue<Ee;Ue++){let $e=ne[Ue];bi($e)&&Me($e,{type:y,source:"delegated",inferred:!0})}};dt(P);try{ft.call(document,y,P,{capture:!0,passive:!0})}catch{}}let Z=!1,re=!1,ce=null;function xe(){if(re)return;re=!0,X.forEach(G);let y=Vt()?.documentElement;if(!y)return;let P=()=>{if(Z)return;let $=y.hasAttribute("rtrvr-react")||y.hasAttribute("rtrvr-vue")||y.hasAttribute("rtrvr-angular")||y.hasAttribute("rtrvr-svelte"),V=y.hasAttribute("rtrvr-gl-click")||y.hasAttribute("rtrvr-gl-input")||y.hasAttribute("rtrvr-gl-keydown");($||V)&&(Z=!0,O.forEach(G))};P();try{ce=new MutationObserver(()=>P()),ce.observe(y,{attributes:!0,attributeFilter:pt})}catch{}}function _e(y){if(y.nodeType!==1)return;let P=Ge(y);if(dn(y,P)){let $=je(y);$.role=void 0}Qr(y),D(y),N(y),R(y),T(y),Q(y),jt(y)}function Je(){if(wn())return;let y=["a[href]","button","input","select","textarea","summary","details > summary",...Array.from(vo).map(P=>`[role="${P}"]`),"[onclick]","[ondblclick]","[ondoubleclick]","[onmousedown]","[tabindex]","[contenteditable]",'[draggable="true"]',"[aria-haspopup]","[aria-expanded]","[data-click]","[data-action]","[data-handler]","[data-toggle]","[data-target]",".clickable",".interactive",".btn",".button"];x++,it();try{let P=y.join(",");Vt()?.querySelectorAll(P).forEach($=>{try{_e($)}catch{}})}finally{x=Math.max(0,x-1),it()}}let Pe=!1,Re=[],He=200;function vt(y){if(!wn()){for(let P of y)Re.push(P);Pe||(Pe=!0,queueMicrotask(cn))}}function cn(){Pe=!1;let y=Re;if(Re=[],wn())return;let P=0;for(let $ of y){if(P>=He)break;for(let V of Array.from($.addedNodes)){if(P>=He)break;if(V.nodeType!==1)continue;let ne=V;We(ne),P++;let ue=ne.querySelectorAll?.('a,button,input,select,textarea,summary,[role],[onclick],[ondblclick],[ondoubleclick],[contenteditable],[draggable="true"],[tabindex]');if(ue){let Ee=Math.min(ue.length,50);for(let Ue=0;Ue<Ee;Ue++)We(ue[Ue]),P++}}if($.type==="attributes"&&$.target.nodeType===1){let V=$.target;$.attributeName==="class"?Pt(V)&&We(V):We(V)}}}async function et(y={}){if(wn())return;let P=Vt(),$=P?.documentElement;if(!$||!($.hasAttribute("rtrvr-react")||$.hasAttribute("rtrvr-vue")||$.hasAttribute("rtrvr-angular")||$.hasAttribute("rtrvr-svelte")))return;let ne=y.deadlineEpochMs,ue=Math.max(5,Math.min(y.budgetMs??12,50));if(Math.max(0,Math.min(ue,he(ne)))<=0)return;let Ue=performance.now();x++,it();try{let $e=0,yt=["div","span","li","section","article","p"];for(let ht of yt){let Mt=P.getElementsByTagName(ht)??[];for(let hn=0;hn<Mt.length;hn++){if(ne&&he(ne)<=0)return;$e++;let rn=Mt[hn],jn=rn;(jn.__ngContext__||jn.__svelte__||jn.__vue__||jn._vnode||$t(rn))&&_e(rn),$e%250===0&&he(ne)>20&&await K()}}}finally{x=Math.max(0,x-1),it()}}let rt=new MutationObserver(vt),tt=new WeakMap,at=new Set;function Tt(y){let P=tt.get(y);if(P){if(at.add(P),!I)try{P.observe(y,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}return}if(!(l>=s))try{let $=we(y.ownerDocument).MutationObserver||MutationObserver,V=new $(vt);tt.set(y,V),at.add(V),l++,I||V.observe(y,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}}let Et=new WeakMap,be=new Set;function ve(y){let P=Et.get(y);if(P){if(be.add(P),!I)try{let $=y.documentElement;$&&P.observe($,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}return}if(!(d>=c))try{h(y.defaultView||null);let $=y.documentElement;if(!$)return;let V=we(y).MutationObserver||MutationObserver,ne=new V(vt);Et.set(y,ne),be.add(ne),d++,I||ne.observe($,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}}function Be(){let y=Vt()?.documentElement;y&&rt.observe(y,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}let pt=["rtrvr-react","rtrvr-vue","rtrvr-angular","rtrvr-svelte","rtrvr-gl-click","rtrvr-gl-input","rtrvr-gl-keydown"];function _n(){return _??!!Vt()?.hidden}function wn(){return I}function kr(y){let P=!!y;if(I===P)return;if(I=P,I){try{rt.disconnect()}catch{}try{ce?.disconnect()}catch{}for(let V of at)try{V.disconnect()}catch{}for(let V of be)try{V.disconnect()}catch{}at.clear(),be.clear(),C.clear(),a.clear(),x=0,it();return}Be();let $=Vt()?.documentElement;if($&&ce)try{ce.observe($,{attributes:!0,attributeFilter:pt})}catch{}Je()}function ll(y){return _=typeof y=="boolean"?y:null,kr(_n()),!0}let dl=new WeakMap;function Hn(y){return y.shadowRoot||dl.get(y)||null}try{Object.defineProperty(Yn,"shadow",{value:Object.freeze({getRoot:y=>Hn(y)}),writable:!1,configurable:!1,enumerable:!1})}catch{}function st(){try{(e.React||e.__REACT_DEVTOOLS_GLOBAL_HOOK__)&&Bt("react"),e.Vue&&Bt("vue"),e.ng&&Bt("angular"),e.jQuery&&Bt("jquery"),te()}catch{}}e.rtrvrAISetObserverPaused=function(y){return ll(!!y)},e.rtrvrAIClearObserverPause=function(){return ll(null)},e.rtrvrAIIsObserverPaused=function(){return wn()},e.rtrvrAIMarkInteractiveElements=function(){return Vt()?.body?(Je(),!0):!1};function Cr(){let y=Vt();te(),st(),xe();let P=()=>{_==null&&kr(_n())};y?.addEventListener("visibilitychange",P,{passive:!0}),kr(_n());let $=()=>{te(),st(),wn()||(Be(),et({budgetMs:20})),y?.documentElement.setAttribute($u,"1")};y?.readyState==="loading"?y.addEventListener("DOMContentLoaded",$,{once:!0}):$()}Cr()}var Kl=null,Ub=!1;function yf(e){try{return e.getAttribute(zo)}catch{return null}}function Fb(e){let t=yf(e);return yi(t)?.entries??[]}function zb(e){try{let t=e.getAttribute(ko);return t&&t.trim()?t:null}catch{return null}}function D_(e){let t=e?.ownerDocument?.defaultView,n=t?.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t?.[n]?.shadow?.getRoot;if(typeof o=="function")try{return o(e)||null}catch{}return e.shadowRoot||null}function P_(e){let t=new Set;for(let n of e){let r=Hl(n.mask);for(let o of r)(o==="react"||o==="vue"||o==="angular"||o==="svelte"||o==="jquery")&&t.add(o)}return t}function O_(e){let t=new Set,n=e;return(n.__reactFiber||n.__reactProps||n.__reactInternalInstance||n.__reactRootContainer)&&t.add("react"),(n.__vue__||n.__vueParentComponent||n.__vnode||n.__vue_app__)&&t.add("vue"),n.__ngContext__&&t.add("angular"),(n.__svelte||n.__svelte_meta)&&t.add("svelte"),(n.__jquery||n.jQuery)&&t.add("jquery"),t}function B_(e){let t=Fb(e),n=P_(t),r=O_(e);for(let o of r)n.add(o);return{frameworks:[...n],listenersRaw:yf(e)||"",role:zb(e)??(e.getAttribute?.("role")||null)}}function U_(){return{getEventHandlerIds:e=>Fb(e).map(t=>t.id),getRoleHint:zb,getShadowRoot:D_}}function Hb(e={}){return Kl||(Kl={signalProvider:U_(),getFrameworkMetadata:B_,getListenerEncoding:yf,dispose:()=>{}},Kl)}function jb(){Ub||(Bb(),Ub=!0)}function F_(e,t){return e.endsWith(t)?e.length===t.length||e[e.length-t.length-1]===".":!1}function z_(e,t){let n=e.length-t.length-2,r=e.lastIndexOf(".",n);return r===-1?e:e.slice(r+1)}function vf(e,t,n){if(n.validHosts!==null){let o=n.validHosts;for(let i of o)if(F_(t,i))return i}let r=0;if(t.startsWith("."))for(;r<t.length&&t[r]===".";)r+=1;return e.length===t.length-r?null:z_(t,e)}function kf(e,t){return e.slice(0,-t.length-1)}function Gl(e,t){let n=0,r=e.length,o=!1;if(!t){if(e.startsWith("data:"))return null;for(;n<e.length&&e.charCodeAt(n)<=32;)n+=1;for(;r>n+1&&e.charCodeAt(r-1)<=32;)r-=1;if(e.charCodeAt(n)===47&&e.charCodeAt(n+1)===47)n+=2;else{let l=e.indexOf(":/",n);if(l!==-1){let d=l-n,m=e.charCodeAt(n),f=e.charCodeAt(n+1),u=e.charCodeAt(n+2),h=e.charCodeAt(n+3),b=e.charCodeAt(n+4);if(!(d===5&&m===104&&f===116&&u===116&&h===112&&b===115)){if(!(d===4&&m===104&&f===116&&u===116&&h===112)){if(!(d===3&&m===119&&f===115&&u===115)){if(!(d===2&&m===119&&f===115))for(let v=n;v<l;v+=1){let S=e.charCodeAt(v)|32;if(!(S>=97&&S<=122||S>=48&&S<=57||S===46||S===45||S===43))return null}}}}for(n=l+2;e.charCodeAt(n)===47;)n+=1}}let a=-1,s=-1,c=-1;for(let l=n;l<r;l+=1){let d=e.charCodeAt(l);if(d===35||d===47||d===63){r=l;break}else d===64?a=l:d===93?s=l:d===58?c=l:d>=65&&d<=90&&(o=!0)}if(a!==-1&&a>n&&a<r&&(n=a+1),e.charCodeAt(n)===91)return s!==-1?e.slice(n+1,s).toLowerCase():null;c!==-1&&c>n&&c<r&&(r=c)}for(;r>n+1&&e.charCodeAt(r-1)===46;)r-=1;let i=n!==0||r!==e.length?e.slice(n,r):e;return o?i.toLowerCase():i}function H_(e){if(e.length<7||e.length>15)return!1;let t=0;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r===46)t+=1;else if(r<48||r>57)return!1}return t===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function j_(e){if(e.length<3)return!1;let t=e.startsWith("[")?1:0,n=e.length;if(e[n-1]==="]"&&(n-=1),n-t>39)return!1;let r=!1;for(;t<n;t+=1){let o=e.charCodeAt(t);if(o===58)r=!0;else if(!(o>=48&&o<=57||o>=97&&o<=102||o>=65&&o<=90))return!1}return r}function xf(e){return j_(e)||H_(e)}function $b(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function wf(e){if(e.length>255||e.length===0||!$b(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let t=-1,n=-1,r=e.length;for(let o=0;o<r;o+=1){let i=e.charCodeAt(o);if(i===46){if(o-t>64||n===46||n===45||n===95)return!1;t=o}else if(!($b(i)||i===45||i===95))return!1;n=i}return r-t-1<=63&&n!==45}function qb({allowIcannDomains:e=!0,allowPrivateDomains:t=!1,detectIp:n=!0,extractHostname:r=!0,mixedInputs:o=!0,validHosts:i=null,validateHostname:a=!0}){return{allowIcannDomains:e,allowPrivateDomains:t,detectIp:n,extractHostname:r,mixedInputs:o,validHosts:i,validateHostname:a}}var $_=qb({});function Sf(e){return e===void 0?$_:qb(e)}function Tf(e,t){return t.length===e.length?"":e.slice(0,-t.length-1)}function Xl(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,publicSuffix:null,subdomain:null}}function _f(e){e.domain=null,e.domainWithoutSuffix=null,e.hostname=null,e.isIcann=null,e.isIp=null,e.isPrivate=null,e.publicSuffix=null,e.subdomain=null}function Yl(e,t,n,r,o){let i=Sf(r);return typeof e!="string"||(i.extractHostname?i.mixedInputs?o.hostname=Gl(e,wf(e)):o.hostname=Gl(e,!1):o.hostname=e,i.detectIp&&o.hostname!==null&&(o.isIp=xf(o.hostname),o.isIp))?o:i.validateHostname&&i.extractHostname&&o.hostname!==null&&!wf(o.hostname)?(o.hostname=null,o):(t===0||o.hostname===null||(n(o.hostname,i,o),t===2||o.publicSuffix===null)||(o.domain=vf(o.publicSuffix,o.hostname,i),t===3||o.domain===null)||(o.subdomain=Tf(o.hostname,o.domain),t===4)||(o.domainWithoutSuffix=kf(o.domain,o.publicSuffix)),o)}function Ef(e,t,n){if(!t.allowPrivateDomains&&e.length>3){let r=e.length-1,o=e.charCodeAt(r),i=e.charCodeAt(r-1),a=e.charCodeAt(r-2),s=e.charCodeAt(r-3);if(o===109&&i===111&&a===99&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="com",!0;if(o===103&&i===114&&a===111&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="org",!0;if(o===117&&i===100&&a===101&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="edu",!0;if(o===118&&i===111&&a===103&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="gov",!0;if(o===116&&i===101&&a===110&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="net",!0;if(o===101&&i===100&&a===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="de",!0}return!1}var Vb=(function(){let e=[1,{}],t=[0,{city:e}];return[0,{ck:[0,{www:e}],jp:[0,{kawasaki:t,kitakyushu:t,kobe:t,nagoya:t,sapporo:t,sendai:t,yokohama:t}]}]})(),Wb=(function(){let e=[1,{}],t=[2,{}],n=[1,{com:e,edu:e,gov:e,net:e,org:e}],r=[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e}],o=[0,{"*":t}],i=[2,{s:o}],a=[0,{relay:t}],s=[2,{id:t}],c=[1,{gov:e}],l=[0,{airflow:o,"lambda-url":t,"transfer-webapp":t}],d=[0,{airflow:o,"transfer-webapp":t}],m=[0,{"transfer-webapp":t}],f=[0,{"transfer-webapp":t,"transfer-webapp-fips":t}],u=[0,{notebook:t,studio:t}],h=[0,{labeling:t,notebook:t,studio:t}],b=[0,{notebook:t}],v=[0,{labeling:t,notebook:t,"notebook-fips":t,studio:t}],S=[0,{notebook:t,"notebook-fips":t,studio:t,"studio-fips":t}],k=[0,{shop:t}],x=[0,{"*":e}],C=[1,{co:t}],_=[0,{objects:t}],I=[2,{"eu-west-1":t,"us-east-1":t}],M=[2,{nodes:t}],X=[0,{my:t}],O=[0,{s3:t,"s3-accesspoint":t,"s3-website":t}],J=[0,{s3:t,"s3-accesspoint":t}],ee=[0,{direct:t}],se=[0,{"webview-assets":t}],H=[0,{vfs:t,"webview-assets":t}],Y=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":se,cloud9:H}],oe=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:J,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":se,cloud9:H}],ie=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":se,cloud9:H}],me=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t}],he=[0,{s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-website":t}],Te=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:he,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":se,cloud9:H}],ze=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:he,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t}],Oe=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:he,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-deprecated":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":se,cloud9:H}],ke=[0,{auth:t}],B=[0,{auth:t,"auth-fips":t}],K=[0,{"auth-fips":t}],F=[0,{apps:t}],te=[0,{paas:t}],fe=[2,{eu:t}],le=[0,{app:t}],Ne=[0,{site:t}],ge=[1,{com:e,edu:e,net:e,org:e}],dt=[0,{j:t}],mt=[0,{dyn:t}],it=[2,{web:t}],je=[1,{co:e,com:e,edu:e,gov:e,net:e,org:e}],jt=[0,{p:t}],We=[0,{user:t}],ut=[1,{ms:t}],Le=[0,{cdn:t}],Ye=[2,{raw:o}],Pt=[0,{cust:t,reservd:t}],$t=[0,{cust:t}],St=[0,{s3:t}],nt=[1,{biz:e,com:e,edu:e,gov:e,info:e,net:e,org:e}],tn=[0,{ipfs:t}],nn=[1,{framer:t}],sn=[0,{forgot:t}],mn=[0,{blob:t,file:t,web:t}],Yn=[0,{core:mn,servicebus:t}],Me=[1,{gs:e}],br=[0,{nes:e}],De=[1,{k12:e,cc:e,lib:e}],Bt=[1,{cc:e}],Tn=[1,{cc:e,lib:e}];return[0,{ac:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,drr:t,feedback:t,forms:t}],ad:e,ae:[1,{ac:e,co:e,gov:e,mil:e,net:e,org:e,sch:e}],aero:[1,{airline:e,airport:e,"accident-investigation":e,"accident-prevention":e,aerobatic:e,aeroclub:e,aerodrome:e,agents:e,"air-surveillance":e,"air-traffic-control":e,aircraft:e,airtraffic:e,ambulance:e,association:e,author:e,ballooning:e,broker:e,caa:e,cargo:e,catering:e,certification:e,championship:e,charter:e,civilaviation:e,club:e,conference:e,consultant:e,consulting:e,control:e,council:e,crew:e,design:e,dgca:e,educator:e,emergency:e,engine:e,engineer:e,entertainment:e,equipment:e,exchange:e,express:e,federation:e,flight:e,freight:e,fuel:e,gliding:e,government:e,groundhandling:e,group:e,hanggliding:e,homebuilt:e,insurance:e,journal:e,journalist:e,leasing:e,logistics:e,magazine:e,maintenance:e,marketplace:e,media:e,microlight:e,modelling:e,navigation:e,parachuting:e,paragliding:e,"passenger-association":e,pilot:e,press:e,production:e,recreation:e,repbody:e,res:e,research:e,rotorcraft:e,safety:e,scientist:e,services:e,show:e,skydiving:e,software:e,student:e,taxi:e,trader:e,trading:e,trainer:e,union:e,workinggroup:e,works:e}],af:n,ag:[1,{co:e,com:e,net:e,nom:e,org:e,obj:t}],ai:[1,{com:e,net:e,off:e,org:e,uwu:t,framer:t,kiloapps:t}],al:r,am:[1,{co:e,com:e,commune:e,net:e,org:e,radio:t}],ao:[1,{co:e,ed:e,edu:e,gov:e,gv:e,it:e,og:e,org:e,pb:e}],aq:e,ar:[1,{bet:e,com:e,coop:e,edu:e,gob:e,gov:e,int:e,mil:e,musica:e,mutual:e,net:e,org:e,seg:e,senasa:e,tur:e}],arpa:[1,{e164:e,home:e,"in-addr":e,ip6:e,iris:e,uri:e,urn:e}],as:c,asia:[1,{cloudns:t,daemon:t,dix:t}],at:[1,{4:t,ac:[1,{sth:e}],co:e,gv:e,or:e,funkfeuer:[0,{wien:t}],futurecms:[0,{"*":t,ex:o,in:o}],futurehosting:t,futuremailing:t,ortsinfo:[0,{ex:o,kunden:o}],biz:t,info:t,"123webseite":t,priv:t,my:t,myspreadshop:t,"12hp":t,"2ix":t,"4lima":t,"lima-city":t}],au:[1,{asn:e,com:[1,{cloudlets:[0,{mel:t}],myspreadshop:t}],edu:[1,{act:e,catholic:e,nsw:e,nt:e,qld:e,sa:e,tas:e,vic:e,wa:e}],gov:[1,{qld:e,sa:e,tas:e,vic:e,wa:e}],id:e,net:e,org:e,conf:e,oz:e,act:e,nsw:e,nt:e,qld:e,sa:e,tas:e,vic:e,wa:e,hrsn:[0,{vps:t}]}],aw:[1,{com:e}],ax:e,az:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,int:e,mil:e,name:e,net:e,org:e,pp:e,pro:e}],ba:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,brendly:k,rs:t}],bb:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,net:e,org:e,store:e,tv:e}],bd:[1,{ac:e,ai:e,co:e,com:e,edu:e,gov:e,id:e,info:e,it:e,mil:e,net:e,org:e,sch:e,tv:e}],be:[1,{ac:e,cloudns:t,webhosting:t,interhostsolutions:[0,{cloud:t}],kuleuven:[0,{ezproxy:t}],my:t,"123website":t,myspreadshop:t,transurl:o}],bf:c,bg:[1,{0:e,1:e,2:e,3:e,4:e,5:e,6:e,7:e,8:e,9:e,a:e,b:e,c:e,d:e,e,f:e,g:e,h:e,i:e,j:e,k:e,l:e,m:e,n:e,o:e,p:e,q:e,r:e,s:e,t:e,u:e,v:e,w:e,x:e,y:e,z:e,barsy:t}],bh:n,bi:[1,{co:e,com:e,edu:e,or:e,org:e}],biz:[1,{activetrail:t,"cloud-ip":t,cloudns:t,jozi:t,dyndns:t,"for-better":t,"for-more":t,"for-some":t,"for-the":t,selfip:t,webhop:t,orx:t,mmafan:t,myftp:t,"no-ip":t,dscloud:t}],bj:[1,{africa:e,agro:e,architectes:e,assur:e,avocats:e,co:e,com:e,eco:e,econo:e,edu:e,info:e,loisirs:e,money:e,net:e,org:e,ote:e,restaurant:e,resto:e,tourism:e,univ:e}],bm:n,bn:[1,{com:e,edu:e,gov:e,net:e,org:e,co:t}],bo:[1,{com:e,edu:e,gob:e,int:e,mil:e,net:e,org:e,tv:e,web:e,academia:e,agro:e,arte:e,blog:e,bolivia:e,ciencia:e,cooperativa:e,democracia:e,deporte:e,ecologia:e,economia:e,empresa:e,indigena:e,industria:e,info:e,medicina:e,movimiento:e,musica:e,natural:e,nombre:e,noticias:e,patria:e,plurinacional:e,politica:e,profesional:e,pueblo:e,revista:e,salud:e,tecnologia:e,tksat:e,transporte:e,wiki:e}],br:[1,{"9guacu":e,abc:e,adm:e,adv:e,agr:e,aju:e,am:e,anani:e,aparecida:e,api:e,app:e,arq:e,art:e,ato:e,b:e,barueri:e,belem:e,bet:e,bhz:e,bib:e,bio:e,blog:e,bmd:e,boavista:e,bsb:e,campinagrande:e,campinas:e,caxias:e,cim:e,cng:e,cnt:e,com:[1,{simplesite:t}],contagem:e,coop:e,coz:e,cri:e,cuiaba:e,curitiba:e,def:e,des:e,det:e,dev:e,ecn:e,eco:e,edu:e,emp:e,enf:e,eng:e,esp:e,etc:e,eti:e,far:e,feira:e,flog:e,floripa:e,fm:e,fnd:e,fortal:e,fot:e,foz:e,fst:e,g12:e,geo:e,ggf:e,goiania:e,gov:[1,{ac:e,al:e,am:e,ap:e,ba:e,ce:e,df:e,es:e,go:e,ma:e,mg:e,ms:e,mt:e,pa:e,pb:e,pe:e,pi:e,pr:e,rj:e,rn:e,ro:e,rr:e,rs:e,sc:e,se:e,sp:e,to:e}],gru:e,ia:e,imb:e,ind:e,inf:e,jab:e,jampa:e,jdf:e,joinville:e,jor:e,jus:e,leg:[1,{ac:t,al:t,am:t,ap:t,ba:t,ce:t,df:t,es:t,go:t,ma:t,mg:t,ms:t,mt:t,pa:t,pb:t,pe:t,pi:t,pr:t,rj:t,rn:t,ro:t,rr:t,rs:t,sc:t,se:t,sp:t,to:t}],leilao:e,lel:e,log:e,londrina:e,macapa:e,maceio:e,manaus:e,maringa:e,mat:e,med:e,mil:e,morena:e,mp:e,mus:e,natal:e,net:e,niteroi:e,nom:x,not:e,ntr:e,odo:e,ong:e,org:e,osasco:e,palmas:e,poa:e,ppg:e,pro:e,psc:e,psi:e,pvh:e,qsl:e,radio:e,rec:e,recife:e,rep:e,ribeirao:e,rio:e,riobranco:e,riopreto:e,salvador:e,sampa:e,santamaria:e,santoandre:e,saobernardo:e,saogonca:e,seg:e,sjc:e,slg:e,slz:e,social:e,sorocaba:e,srv:e,taxi:e,tc:e,tec:e,teo:e,the:e,tmp:e,trd:e,tur:e,tv:e,udi:e,vet:e,vix:e,vlog:e,wiki:e,xyz:e,zlg:e,tche:t}],bs:[1,{com:e,edu:e,gov:e,net:e,org:e,we:t}],bt:n,bv:e,bw:[1,{ac:e,co:e,gov:e,net:e,org:e}],by:[1,{gov:e,mil:e,com:e,of:e,mediatech:t}],bz:[1,{co:e,com:e,edu:e,gov:e,net:e,org:e,za:t,mydns:t,gsj:t}],ca:[1,{ab:e,bc:e,mb:e,nb:e,nf:e,nl:e,ns:e,nt:e,nu:e,on:e,pe:e,qc:e,sk:e,yk:e,gc:e,barsy:t,awdev:o,co:t,"no-ip":t,onid:t,myspreadshop:t,box:t}],cat:e,cc:[1,{cleverapps:t,"cloud-ip":t,cloudns:t,ccwu:t,ftpaccess:t,"game-server":t,myphotos:t,scrapping:t,twmail:t,csx:t,fantasyleague:t,spawn:[0,{instances:t}],ec:t,eu:t,gu:t,uk:t,us:t}],cd:[1,{gov:e,cc:t}],cf:e,cg:e,ch:[1,{square7:t,cloudns:t,cloudscale:[0,{cust:t,lpg:_,rma:_}],objectstorage:[0,{lpg:t,rma:t}],flow:[0,{ae:[0,{alp1:t}],appengine:t}],"linkyard-cloud":t,gotdns:t,dnsking:t,"123website":t,myspreadshop:t,firenet:[0,{"*":t,svc:o}],"12hp":t,"2ix":t,"4lima":t,"lima-city":t}],ci:[1,{ac:e,"xn--aroport-bya":e,a\u00E9roport:e,asso:e,co:e,com:e,ed:e,edu:e,go:e,gouv:e,int:e,net:e,or:e,org:e,us:t}],ck:x,cl:[1,{co:e,gob:e,gov:e,mil:e,cloudns:t}],cm:[1,{co:e,com:e,gov:e,net:e}],cn:[1,{ac:e,com:[1,{amazonaws:[0,{"cn-north-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,rds:o,dualstack:O,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t}],"cn-northwest-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,rds:o,dualstack:J,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t}],compute:o,airflow:[0,{"cn-north-1":o,"cn-northwest-1":o}],eb:[0,{"cn-north-1":t,"cn-northwest-1":t}],elb:o}],amazonwebservices:[0,{on:[0,{"cn-north-1":d,"cn-northwest-1":d}]}],sagemaker:[0,{"cn-north-1":u,"cn-northwest-1":u}]}],edu:e,gov:e,mil:e,net:e,org:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--od0alg":e,\u7DB2\u7D61:e,"xn--io0a7i":e,\u7F51\u7EDC:e,ah:e,bj:e,cq:e,fj:e,gd:e,gs:e,gx:e,gz:e,ha:e,hb:e,he:e,hi:e,hk:e,hl:e,hn:e,jl:e,js:e,jx:e,ln:e,mo:e,nm:e,nx:e,qh:e,sc:e,sd:e,sh:[1,{as:t}],sn:e,sx:e,tj:e,tw:e,xj:e,xz:e,yn:e,zj:e,"canva-apps":t,canvasite:X,myqnapcloud:t,quickconnect:ee}],co:[1,{com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e,carrd:t,crd:t,otap:o,hidns:t,leadpages:t,lpages:t,mypi:t,xmit:o,rdpa:[0,{clusters:o,srvrless:o}],firewalledreplit:s,repl:s,supabase:[2,{realtime:t,storage:t}],umso:t}],com:[1,{a2hosted:t,cpserver:t,adobeaemcloud:[2,{dev:o}],africa:t,auiusercontent:o,aivencloud:t,alibabacloudcs:t,kasserver:t,amazonaws:[0,{"af-south-1":Y,"ap-east-1":oe,"ap-northeast-1":ie,"ap-northeast-2":ie,"ap-northeast-3":Y,"ap-south-1":ie,"ap-south-2":me,"ap-southeast-1":ie,"ap-southeast-2":ie,"ap-southeast-3":me,"ap-southeast-4":me,"ap-southeast-5":[0,{"execute-api":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t}],"ca-central-1":Te,"ca-west-1":ze,"eu-central-1":ie,"eu-central-2":me,"eu-north-1":oe,"eu-south-1":Y,"eu-south-2":me,"eu-west-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":se,cloud9:H}],"eu-west-2":oe,"eu-west-3":Y,"il-central-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":se,cloud9:[0,{vfs:t}]}],"me-central-1":me,"me-south-1":oe,"sa-east-1":Y,"us-east-1":[2,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:he,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-deprecated":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":se,cloud9:H}],"us-east-2":Oe,"us-gov-east-1":ze,"us-gov-west-1":ze,"us-west-1":Te,"us-west-2":Oe,compute:o,"compute-1":o,airflow:[0,{"af-south-1":o,"ap-east-1":o,"ap-northeast-1":o,"ap-northeast-2":o,"ap-northeast-3":o,"ap-south-1":o,"ap-south-2":o,"ap-southeast-1":o,"ap-southeast-2":o,"ap-southeast-3":o,"ap-southeast-4":o,"ap-southeast-5":o,"ap-southeast-7":o,"ca-central-1":o,"ca-west-1":o,"eu-central-1":o,"eu-central-2":o,"eu-north-1":o,"eu-south-1":o,"eu-south-2":o,"eu-west-1":o,"eu-west-2":o,"eu-west-3":o,"il-central-1":o,"me-central-1":o,"me-south-1":o,"sa-east-1":o,"us-east-1":o,"us-east-2":o,"us-west-1":o,"us-west-2":o}],rds:[0,{"af-south-1":o,"ap-east-1":o,"ap-east-2":o,"ap-northeast-1":o,"ap-northeast-2":o,"ap-northeast-3":o,"ap-south-1":o,"ap-south-2":o,"ap-southeast-1":o,"ap-southeast-2":o,"ap-southeast-3":o,"ap-southeast-4":o,"ap-southeast-5":o,"ap-southeast-6":o,"ap-southeast-7":o,"ca-central-1":o,"ca-west-1":o,"eu-central-1":o,"eu-central-2":o,"eu-west-1":o,"eu-west-2":o,"eu-west-3":o,"il-central-1":o,"me-central-1":o,"me-south-1":o,"mx-central-1":o,"sa-east-1":o,"us-east-1":o,"us-east-2":o,"us-gov-east-1":o,"us-gov-west-1":o,"us-northeast-1":o,"us-west-1":o,"us-west-2":o}],s3:t,"s3-1":t,"s3-ap-east-1":t,"s3-ap-northeast-1":t,"s3-ap-northeast-2":t,"s3-ap-northeast-3":t,"s3-ap-south-1":t,"s3-ap-southeast-1":t,"s3-ap-southeast-2":t,"s3-ca-central-1":t,"s3-eu-central-1":t,"s3-eu-north-1":t,"s3-eu-west-1":t,"s3-eu-west-2":t,"s3-eu-west-3":t,"s3-external-1":t,"s3-fips-us-gov-east-1":t,"s3-fips-us-gov-west-1":t,"s3-global":[0,{accesspoint:[0,{mrap:t}]}],"s3-me-south-1":t,"s3-sa-east-1":t,"s3-us-east-2":t,"s3-us-gov-east-1":t,"s3-us-gov-west-1":t,"s3-us-west-1":t,"s3-us-west-2":t,"s3-website-ap-northeast-1":t,"s3-website-ap-southeast-1":t,"s3-website-ap-southeast-2":t,"s3-website-eu-west-1":t,"s3-website-sa-east-1":t,"s3-website-us-east-1":t,"s3-website-us-gov-west-1":t,"s3-website-us-west-1":t,"s3-website-us-west-2":t,elb:o}],amazoncognito:[0,{"af-south-1":ke,"ap-east-1":ke,"ap-northeast-1":ke,"ap-northeast-2":ke,"ap-northeast-3":ke,"ap-south-1":ke,"ap-south-2":ke,"ap-southeast-1":ke,"ap-southeast-2":ke,"ap-southeast-3":ke,"ap-southeast-4":ke,"ap-southeast-5":ke,"ap-southeast-7":ke,"ca-central-1":ke,"ca-west-1":ke,"eu-central-1":ke,"eu-central-2":ke,"eu-north-1":ke,"eu-south-1":ke,"eu-south-2":ke,"eu-west-1":ke,"eu-west-2":ke,"eu-west-3":ke,"il-central-1":ke,"me-central-1":ke,"me-south-1":ke,"mx-central-1":ke,"sa-east-1":ke,"us-east-1":B,"us-east-2":B,"us-gov-east-1":K,"us-gov-west-1":K,"us-west-1":B,"us-west-2":B}],amplifyapp:t,awsapprunner:o,awsapps:t,elasticbeanstalk:[2,{"af-south-1":t,"ap-east-1":t,"ap-northeast-1":t,"ap-northeast-2":t,"ap-northeast-3":t,"ap-south-1":t,"ap-southeast-1":t,"ap-southeast-2":t,"ap-southeast-3":t,"ap-southeast-5":t,"ap-southeast-7":t,"ca-central-1":t,"eu-central-1":t,"eu-north-1":t,"eu-south-1":t,"eu-south-2":t,"eu-west-1":t,"eu-west-2":t,"eu-west-3":t,"il-central-1":t,"me-central-1":t,"me-south-1":t,"sa-east-1":t,"us-east-1":t,"us-east-2":t,"us-gov-east-1":t,"us-gov-west-1":t,"us-west-1":t,"us-west-2":t}],awsglobalaccelerator:t,siiites:t,appspacehosted:t,appspaceusercontent:t,"on-aptible":t,myasustor:t,"balena-devices":t,boutir:t,bplaced:t,cafjs:t,"canva-apps":t,"canva-hosted-embed":t,canvacode:t,"rice-labs":t,"cdn77-storage":t,br:t,cn:t,de:t,eu:t,jpn:t,mex:t,ru:t,sa:t,uk:t,us:t,za:t,"clever-cloud":[0,{services:o}],abrdns:t,dnsabr:t,"ip-ddns":t,jdevcloud:t,wpdevcloud:t,"cf-ipfs":t,"cloudflare-ipfs":t,trycloudflare:t,co:t,devinapps:o,builtwithdark:t,datadetect:[0,{demo:t,instance:t}],dattolocal:t,dattorelay:t,dattoweb:t,mydatto:t,digitaloceanspaces:o,discordsays:t,discordsez:t,drayddns:t,dreamhosters:t,durumis:t,blogdns:t,cechire:t,dnsalias:t,dnsdojo:t,doesntexist:t,dontexist:t,doomdns:t,"dyn-o-saur":t,dynalias:t,"dyndns-at-home":t,"dyndns-at-work":t,"dyndns-blog":t,"dyndns-free":t,"dyndns-home":t,"dyndns-ip":t,"dyndns-mail":t,"dyndns-office":t,"dyndns-pics":t,"dyndns-remote":t,"dyndns-server":t,"dyndns-web":t,"dyndns-wiki":t,"dyndns-work":t,"est-a-la-maison":t,"est-a-la-masion":t,"est-le-patron":t,"est-mon-blogueur":t,"from-ak":t,"from-al":t,"from-ar":t,"from-ca":t,"from-ct":t,"from-dc":t,"from-de":t,"from-fl":t,"from-ga":t,"from-hi":t,"from-ia":t,"from-id":t,"from-il":t,"from-in":t,"from-ks":t,"from-ky":t,"from-ma":t,"from-md":t,"from-mi":t,"from-mn":t,"from-mo":t,"from-ms":t,"from-mt":t,"from-nc":t,"from-nd":t,"from-ne":t,"from-nh":t,"from-nj":t,"from-nm":t,"from-nv":t,"from-oh":t,"from-ok":t,"from-or":t,"from-pa":t,"from-pr":t,"from-ri":t,"from-sc":t,"from-sd":t,"from-tn":t,"from-tx":t,"from-ut":t,"from-va":t,"from-vt":t,"from-wa":t,"from-wi":t,"from-wv":t,"from-wy":t,getmyip:t,gotdns:t,"hobby-site":t,homelinux:t,homeunix:t,iamallama:t,"is-a-anarchist":t,"is-a-blogger":t,"is-a-bookkeeper":t,"is-a-bulls-fan":t,"is-a-caterer":t,"is-a-chef":t,"is-a-conservative":t,"is-a-cpa":t,"is-a-cubicle-slave":t,"is-a-democrat":t,"is-a-designer":t,"is-a-doctor":t,"is-a-financialadvisor":t,"is-a-geek":t,"is-a-green":t,"is-a-guru":t,"is-a-hard-worker":t,"is-a-hunter":t,"is-a-landscaper":t,"is-a-lawyer":t,"is-a-liberal":t,"is-a-libertarian":t,"is-a-llama":t,"is-a-musician":t,"is-a-nascarfan":t,"is-a-nurse":t,"is-a-painter":t,"is-a-personaltrainer":t,"is-a-photographer":t,"is-a-player":t,"is-a-republican":t,"is-a-rockstar":t,"is-a-socialist":t,"is-a-student":t,"is-a-teacher":t,"is-a-techie":t,"is-a-therapist":t,"is-an-accountant":t,"is-an-actor":t,"is-an-actress":t,"is-an-anarchist":t,"is-an-artist":t,"is-an-engineer":t,"is-an-entertainer":t,"is-certified":t,"is-gone":t,"is-into-anime":t,"is-into-cars":t,"is-into-cartoons":t,"is-into-games":t,"is-leet":t,"is-not-certified":t,"is-slick":t,"is-uberleet":t,"is-with-theband":t,"isa-geek":t,"isa-hockeynut":t,issmarterthanyou:t,"likes-pie":t,likescandy:t,"neat-url":t,"saves-the-whales":t,selfip:t,"sells-for-less":t,"sells-for-u":t,servebbs:t,"simple-url":t,"space-to-rent":t,"teaches-yoga":t,writesthisblog:t,"1cooldns":t,bumbleshrimp:t,ddnsfree:t,ddnsgeek:t,ddnsguru:t,dynuddns:t,dynuhosting:t,giize:t,gleeze:t,kozow:t,loseyourip:t,ooguy:t,pivohosting:t,theworkpc:t,wiredbladehosting:t,emergentagent:[0,{preview:t}],mytuleap:t,"tuleap-partners":t,encoreapi:t,evennode:[0,{"eu-1":t,"eu-2":t,"eu-3":t,"eu-4":t,"us-1":t,"us-2":t,"us-3":t,"us-4":t}],onfabrica:t,"fastly-edge":t,"fastly-terrarium":t,"fastvps-server":t,mydobiss:t,firebaseapp:t,fldrv:t,framercanvas:t,"freebox-os":t,freeboxos:t,freemyip:t,aliases121:t,gentapps:t,gentlentapis:t,githubusercontent:t,"0emm":o,appspot:[2,{r:o}],blogspot:t,codespot:t,googleapis:t,googlecode:t,pagespeedmobilizer:t,withgoogle:t,withyoutube:t,grayjayleagues:t,hatenablog:t,hatenadiary:t,"hercules-app":t,"hercules-dev":t,herokuapp:t,gr:t,smushcdn:t,wphostedmail:t,wpmucdn:t,pixolino:t,"apps-1and1":t,"live-website":t,"webspace-host":t,dopaas:t,"hosted-by-previder":te,hosteur:[0,{"rag-cloud":t,"rag-cloud-ch":t}],"ik-server":[0,{jcloud:t,"jcloud-ver-jpc":t}],jelastic:[0,{demo:t}],massivegrid:te,wafaicloud:[0,{jed:t,ryd:t}],"eu1-plenit":t,"la1-plenit":t,"us1-plenit":t,webadorsite:t,"on-forge":t,"on-vapor":t,lpusercontent:t,linode:[0,{members:t,nodebalancer:o}],linodeobjects:o,linodeusercontent:[0,{ip:t}],localtonet:t,lovableproject:t,barsycenter:t,barsyonline:t,lutrausercontent:o,magicpatternsapp:t,modelscape:t,mwcloudnonprod:t,polyspace:t,miniserver:t,atmeta:t,fbsbx:F,meteorapp:fe,routingthecloud:t,"same-app":t,"same-preview":t,mydbserver:t,mochausercontent:t,hostedpi:t,"mythic-beasts":[0,{caracal:t,customer:t,fentiger:t,lynx:t,ocelot:t,oncilla:t,onza:t,sphinx:t,vs:t,x:t,yali:t}],nospamproxy:[0,{cloud:[2,{o365:t}]}],"4u":t,nfshost:t,"3utilities":t,blogsyte:t,ciscofreak:t,damnserver:t,ddnsking:t,ditchyourip:t,dnsiskinky:t,dynns:t,geekgalaxy:t,"health-carereform":t,homesecuritymac:t,homesecuritypc:t,myactivedirectory:t,mysecuritycamera:t,myvnc:t,"net-freaks":t,onthewifi:t,point2this:t,quicksytes:t,securitytactics:t,servebeer:t,servecounterstrike:t,serveexchange:t,serveftp:t,servegame:t,servehalflife:t,servehttp:t,servehumour:t,serveirc:t,servemp3:t,servep2p:t,servepics:t,servequake:t,servesarcasm:t,stufftoread:t,unusualperson:t,workisboring:t,myiphost:t,observableusercontent:[0,{static:t}],simplesite:t,oaiusercontent:o,orsites:t,operaunite:t,"customer-oci":[0,{"*":t,oci:o,ocp:o,ocs:o}],oraclecloudapps:o,oraclegovcloudapps:o,"authgear-staging":t,authgearapps:t,outsystemscloud:t,ownprovider:t,pgfog:t,pagexl:t,gotpantheon:t,paywhirl:o,forgeblocks:t,upsunapp:t,"postman-echo":t,prgmr:[0,{xen:t}],"project-study":[0,{dev:t}],pythonanywhere:fe,qa2:t,"alpha-myqnapcloud":t,"dev-myqnapcloud":t,mycloudnas:t,mynascloud:t,myqnapcloud:t,qualifioapp:t,ladesk:t,qualyhqpartner:o,qualyhqportal:o,qbuser:t,quipelements:o,rackmaze:t,"readthedocs-hosted":t,rhcloud:t,onrender:t,render:le,"subsc-pay":t,"180r":t,dojin:t,sakuratan:t,sakuraweb:t,x0:t,code:[0,{builder:o,"dev-builder":o,"stg-builder":o}],salesforce:[0,{platform:[0,{"code-builder-stg":[0,{test:[0,{"001":o}]}]}]}],logoip:t,scrysec:t,"firewall-gateway":t,myshopblocks:t,myshopify:t,shopitsite:t,"1kapp":t,appchizi:t,applinzi:t,sinaapp:t,vipsinaapp:t,streamlitapp:t,"try-snowplow":t,"playstation-cloud":t,myspreadshop:t,"w-corp-staticblitz":t,"w-credentialless-staticblitz":t,"w-staticblitz":t,"stackhero-network":t,stdlib:[0,{api:t}],strapiapp:[2,{media:t}],"streak-link":t,streaklinks:t,streakusercontent:t,"temp-dns":t,dsmynas:t,familyds:t,mytabit:t,taveusercontent:t,"tb-hosting":Ne,reservd:t,thingdustdata:t,"townnews-staging":t,typeform:[0,{pro:t}],hk:t,it:t,"deus-canvas":t,vultrobjects:o,wafflecell:t,hotelwithflight:t,"reserve-online":t,cprapid:t,pleskns:t,remotewd:t,wiardweb:[0,{pages:t}],"drive-platform":t,"base44-sandbox":t,wixsite:t,wixstudio:t,messwithdns:t,"woltlab-demo":t,wpenginepowered:[2,{js:t}],xnbay:[2,{u2:t,"u2-local":t}],xtooldevice:t,yolasite:t}],coop:e,cr:[1,{ac:e,co:e,ed:e,fi:e,go:e,or:e,sa:e}],cu:[1,{com:e,edu:e,gob:e,inf:e,nat:e,net:e,org:e}],cv:[1,{com:e,edu:e,id:e,int:e,net:e,nome:e,org:e,publ:e}],cw:ge,cx:[1,{gov:e,cloudns:t,ath:t,info:t,assessments:t,calculators:t,funnels:t,paynow:t,quizzes:t,researched:t,tests:t}],cy:[1,{ac:e,biz:e,com:[1,{scaleforce:dt}],ekloges:e,gov:e,ltd:e,mil:e,net:e,org:e,press:e,pro:e,tm:e}],cz:[1,{gov:e,contentproxy9:[0,{rsc:t}],realm:t,e4:t,co:t,metacentrum:[0,{cloud:o,custom:t}],muni:[0,{cloud:[0,{flt:t,usr:t}]}]}],de:[1,{bplaced:t,square7:t,"bwcloud-os-instance":o,com:t,cosidns:mt,dnsupdater:t,"dynamisches-dns":t,"internet-dns":t,"l-o-g-i-n":t,ddnss:[2,{dyn:t,dyndns:t}],"dyn-ip24":t,dyndns1:t,"home-webserver":[2,{dyn:t}],"myhome-server":t,dnshome:t,fuettertdasnetz:t,isteingeek:t,istmein:t,lebtimnetz:t,leitungsen:t,traeumtgerade:t,frusky:o,goip:t,"xn--gnstigbestellen-zvb":t,g\u00FCnstigbestellen:t,"xn--gnstigliefern-wob":t,g\u00FCnstigliefern:t,"hs-heilbronn":[0,{it:[0,{pages:t,"pages-research":t}]}],"dyn-berlin":t,"in-berlin":t,"in-brb":t,"in-butter":t,"in-dsl":t,"in-vpn":t,iservschule:t,"mein-iserv":t,schuldock:t,schulplattform:t,schulserver:t,"test-iserv":t,keymachine:t,co:t,"git-repos":t,"lcube-server":t,"svn-repos":t,barsy:t,webspaceconfig:t,"123webseite":t,rub:t,"ruhr-uni-bochum":[2,{noc:[0,{io:t}]}],logoip:t,"firewall-gateway":t,"my-gateway":t,"my-router":t,spdns:t,my:t,speedpartner:[0,{customer:t}],myspreadshop:t,"taifun-dns":t,"12hp":t,"2ix":t,"4lima":t,"lima-city":t,"virtual-user":t,virtualuser:t,"community-pro":t,diskussionsbereich:t,xenonconnect:o}],dj:e,dk:[1,{biz:t,co:t,firm:t,reg:t,store:t,"123hjemmeside":t,myspreadshop:t}],dm:je,do:[1,{art:e,com:e,edu:e,gob:e,gov:e,mil:e,net:e,org:e,sld:e,web:e}],dz:[1,{art:e,asso:e,com:e,edu:e,gov:e,net:e,org:e,pol:e,soc:e,tm:e}],ec:[1,{abg:e,adm:e,agron:e,arqt:e,art:e,bar:e,chef:e,com:e,cont:e,cpa:e,cue:e,dent:e,dgn:e,disco:e,doc:e,edu:e,eng:e,esm:e,fin:e,fot:e,gal:e,gob:e,gov:e,gye:e,ibr:e,info:e,k12:e,lat:e,loj:e,med:e,mil:e,mktg:e,mon:e,net:e,ntr:e,odont:e,org:e,pro:e,prof:e,psic:e,psiq:e,pub:e,rio:e,rrpp:e,sal:e,tech:e,tul:e,tur:e,uio:e,vet:e,xxx:e,base:t,official:t}],edu:[1,{rit:[0,{"git-pages":t}]}],ee:[1,{aip:e,com:e,edu:e,fie:e,gov:e,lib:e,med:e,org:e,pri:e,riik:e}],eg:[1,{ac:e,com:e,edu:e,eun:e,gov:e,info:e,me:e,mil:e,name:e,net:e,org:e,sci:e,sport:e,tv:e}],er:x,es:[1,{com:e,edu:e,gob:e,nom:e,org:e,"123miweb":t,myspreadshop:t}],et:[1,{biz:e,com:e,edu:e,gov:e,info:e,name:e,net:e,org:e}],eu:[1,{amazonwebservices:[0,{on:[0,{"eusc-de-east-1":[0,{"cognito-idp":ke}]}]}],cloudns:t,prvw:t,deuxfleurs:t,dogado:[0,{jelastic:t}],barsy:t,spdns:t,nxa:o,directwp:t,transurl:o}],fi:[1,{aland:e,dy:t,"xn--hkkinen-5wa":t,h\u00E4kkinen:t,iki:t,cloudplatform:[0,{fi:t}],datacenter:[0,{demo:t,paas:t}],kapsi:t,"123kotisivu":t,myspreadshop:t}],fj:[1,{ac:e,biz:e,com:e,edu:e,gov:e,id:e,info:e,mil:e,name:e,net:e,org:e,pro:e}],fk:x,fm:[1,{com:e,edu:e,net:e,org:e,radio:t,user:o}],fo:e,fr:[1,{asso:e,com:e,gouv:e,nom:e,prd:e,tm:e,avoues:e,cci:e,greta:e,"huissier-justice":e,"fbx-os":t,fbxos:t,"freebox-os":t,freeboxos:t,goupile:t,kdns:t,"123siteweb":t,"on-web":t,"chirurgiens-dentistes-en-france":t,dedibox:t,aeroport:t,avocat:t,chambagri:t,"chirurgiens-dentistes":t,"experts-comptables":t,medecin:t,notaires:t,pharmacien:t,port:t,veterinaire:t,myspreadshop:t,ynh:t}],ga:e,gb:e,gd:[1,{edu:e,gov:e}],ge:[1,{com:e,edu:e,gov:e,net:e,org:e,pvt:e,school:e}],gf:e,gg:[1,{co:e,net:e,org:e,ply:[0,{at:o,d6:t}],botdash:t,kaas:t,stackit:t,panel:[2,{daemon:t}]}],gh:[1,{biz:e,com:e,edu:e,gov:e,mil:e,net:e,org:e}],gi:[1,{com:e,edu:e,gov:e,ltd:e,mod:e,org:e}],gl:[1,{co:e,com:e,edu:e,net:e,org:e}],gm:e,gn:[1,{ac:e,com:e,edu:e,gov:e,net:e,org:e}],gov:e,gp:[1,{asso:e,com:e,edu:e,mobi:e,net:e,org:e}],gq:e,gr:[1,{com:e,edu:e,gov:e,net:e,org:e,barsy:t,simplesite:t}],gs:e,gt:[1,{com:e,edu:e,gob:e,ind:e,mil:e,net:e,org:e}],gu:[1,{com:e,edu:e,gov:e,guam:e,info:e,net:e,org:e,web:e}],gw:[1,{nx:t}],gy:je,hk:[1,{com:e,edu:e,gov:e,idv:e,net:e,org:e,"xn--ciqpn":e,\u4E2A\u4EBA:e,"xn--gmqw5a":e,\u500B\u4EBA:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--mxtq1m":e,\u653F\u5E9C:e,"xn--lcvr32d":e,\u654E\u80B2:e,"xn--wcvs22d":e,\u6559\u80B2:e,"xn--gmq050i":e,\u7B87\u4EBA:e,"xn--uc0atv":e,\u7D44\u7E54:e,"xn--uc0ay4a":e,\u7D44\u7EC7:e,"xn--od0alg":e,\u7DB2\u7D61:e,"xn--zf0avx":e,\u7DB2\u7EDC:e,"xn--mk0axi":e,\u7EC4\u7E54:e,"xn--tn0ag":e,\u7EC4\u7EC7:e,"xn--od0aq3b":e,\u7F51\u7D61:e,"xn--io0a7i":e,\u7F51\u7EDC:e,inc:t,ltd:t}],hm:e,hn:[1,{com:e,edu:e,gob:e,mil:e,net:e,org:e}],hr:[1,{com:e,from:e,iz:e,name:e,brendly:k}],ht:[1,{adult:e,art:e,asso:e,com:e,coop:e,edu:e,firm:e,gouv:e,info:e,med:e,net:e,org:e,perso:e,pol:e,pro:e,rel:e,shop:e,rt:t}],hu:[1,{2e3:e,agrar:e,bolt:e,casino:e,city:e,co:e,erotica:e,erotika:e,film:e,forum:e,games:e,hotel:e,info:e,ingatlan:e,jogasz:e,konyvelo:e,lakas:e,media:e,news:e,org:e,priv:e,reklam:e,sex:e,shop:e,sport:e,suli:e,szex:e,tm:e,tozsde:e,utazas:e,video:e}],id:[1,{ac:e,biz:e,co:e,desa:e,go:e,kop:e,mil:e,my:e,net:e,or:e,ponpes:e,sch:e,web:e,"xn--9tfky":e,"\u1B29\u1B2E\u1B36":e,e:t,zone:t}],ie:[1,{gov:e,myspreadshop:t}],il:[1,{ac:e,co:[1,{ravpage:t,mytabit:t,tabitorder:t}],gov:e,idf:e,k12:e,muni:e,net:e,org:e}],"xn--4dbrk0ce":[1,{"xn--4dbgdty6c":e,"xn--5dbhl8d":e,"xn--8dbq2a":e,"xn--hebda8b":e}],\u05D9\u05E9\u05E8\u05D0\u05DC:[1,{\u05D0\u05E7\u05D3\u05DE\u05D9\u05D4:e,\u05D9\u05E9\u05D5\u05D1:e,\u05E6\u05D4\u05DC:e,\u05DE\u05DE\u05E9\u05DC:e}],im:[1,{ac:e,co:[1,{ltd:e,plc:e}],com:e,net:e,org:e,tt:e,tv:e}],in:[1,{"5g":e,"6g":e,ac:e,ai:e,am:e,bank:e,bihar:e,biz:e,business:e,ca:e,cn:e,co:e,com:e,coop:e,cs:e,delhi:e,dr:e,edu:e,er:e,fin:e,firm:e,gen:e,gov:e,gujarat:e,ind:e,info:e,int:e,internet:e,io:e,me:e,mil:e,net:e,nic:e,org:e,pg:e,post:e,pro:e,res:e,travel:e,tv:e,uk:e,up:e,us:e,cloudns:t,barsy:t,web:t,indevs:t,supabase:t}],info:[1,{cloudns:t,"dynamic-dns":t,"barrel-of-knowledge":t,"barrell-of-knowledge":t,dyndns:t,"for-our":t,"groks-the":t,"groks-this":t,"here-for-more":t,knowsitall:t,selfip:t,webhop:t,barsy:t,mayfirst:t,mittwald:t,mittwaldserver:t,typo3server:t,dvrcam:t,ilovecollege:t,"no-ip":t,forumz:t,nsupdate:t,dnsupdate:t,"v-info":t}],int:[1,{eu:e}],io:[1,{2038:t,co:e,com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e,"on-acorn":o,myaddr:t,apigee:t,"b-data":t,beagleboard:t,bitbucket:t,bluebite:t,boxfuse:t,brave:i,browsersafetymark:t,bubble:Le,bubbleapps:t,bigv:[0,{uk0:t}],cleverapps:t,cloudbeesusercontent:t,dappnode:[0,{dyndns:t}],darklang:t,definima:t,dedyn:t,icp0:Ye,icp1:Ye,qzz:t,"fh-muenster":t,gitbook:t,github:t,gitlab:t,lolipop:t,"hasura-app":t,hostyhosting:t,hypernode:t,moonscale:o,beebyte:te,beebyteapp:[0,{sekd1:t}],jele:t,keenetic:t,kiloapps:t,webthings:t,loginline:t,barsy:t,azurecontainer:o,ngrok:[2,{ap:t,au:t,eu:t,in:t,jp:t,sa:t,us:t}],nodeart:[0,{stage:t}],pantheonsite:t,forgerock:[0,{id:t}],pstmn:[2,{mock:t}],protonet:t,qcx:[2,{sys:o}],qoto:t,vaporcloud:t,myrdbx:t,"rb-hosting":Ne,"on-k3s":o,"on-rio":o,readthedocs:t,resindevice:t,resinstaging:[0,{devices:t}],hzc:t,sandcats:t,scrypted:[0,{client:t}],"mo-siemens":t,lair:F,stolos:o,musician:t,utwente:t,edugit:t,telebit:t,thingdust:[0,{dev:Pt,disrec:Pt,prod:$t,testing:Pt}],tickets:t,webflow:t,webflowtest:t,"drive-platform":t,editorx:t,wixstudio:t,basicserver:t,virtualserver:t}],iq:r,ir:[1,{ac:e,co:e,gov:e,id:e,net:e,org:e,sch:e,"xn--mgba3a4f16a":e,\u0627\u06CC\u0631\u0627\u0646:e,"xn--mgba3a4fra":e,\u0627\u064A\u0631\u0627\u0646:e,arvanedge:t,vistablog:t}],is:e,it:[1,{edu:e,gov:e,abr:e,abruzzo:e,"aosta-valley":e,aostavalley:e,bas:e,basilicata:e,cal:e,calabria:e,cam:e,campania:e,"emilia-romagna":e,emiliaromagna:e,emr:e,"friuli-v-giulia":e,"friuli-ve-giulia":e,"friuli-vegiulia":e,"friuli-venezia-giulia":e,"friuli-veneziagiulia":e,"friuli-vgiulia":e,"friuliv-giulia":e,"friulive-giulia":e,friulivegiulia:e,"friulivenezia-giulia":e,friuliveneziagiulia:e,friulivgiulia:e,fvg:e,laz:e,lazio:e,lig:e,liguria:e,lom:e,lombardia:e,lombardy:e,lucania:e,mar:e,marche:e,mol:e,molise:e,piedmont:e,piemonte:e,pmn:e,pug:e,puglia:e,sar:e,sardegna:e,sardinia:e,sic:e,sicilia:e,sicily:e,taa:e,tos:e,toscana:e,"trentin-sud-tirol":e,"xn--trentin-sd-tirol-rzb":e,"trentin-s\xFCd-tirol":e,"trentin-sudtirol":e,"xn--trentin-sdtirol-7vb":e,"trentin-s\xFCdtirol":e,"trentin-sued-tirol":e,"trentin-suedtirol":e,trentino:e,"trentino-a-adige":e,"trentino-aadige":e,"trentino-alto-adige":e,"trentino-altoadige":e,"trentino-s-tirol":e,"trentino-stirol":e,"trentino-sud-tirol":e,"xn--trentino-sd-tirol-c3b":e,"trentino-s\xFCd-tirol":e,"trentino-sudtirol":e,"xn--trentino-sdtirol-szb":e,"trentino-s\xFCdtirol":e,"trentino-sued-tirol":e,"trentino-suedtirol":e,"trentinoa-adige":e,trentinoaadige:e,"trentinoalto-adige":e,trentinoaltoadige:e,"trentinos-tirol":e,trentinostirol:e,"trentinosud-tirol":e,"xn--trentinosd-tirol-rzb":e,"trentinos\xFCd-tirol":e,trentinosudtirol:e,"xn--trentinosdtirol-7vb":e,trentinos\u00FCdtirol:e,"trentinosued-tirol":e,trentinosuedtirol:e,"trentinsud-tirol":e,"xn--trentinsd-tirol-6vb":e,"trentins\xFCd-tirol":e,trentinsudtirol:e,"xn--trentinsdtirol-nsb":e,trentins\u00FCdtirol:e,"trentinsued-tirol":e,trentinsuedtirol:e,tuscany:e,umb:e,umbria:e,"val-d-aosta":e,"val-daosta":e,"vald-aosta":e,valdaosta:e,"valle-aosta":e,"valle-d-aosta":e,"valle-daosta":e,valleaosta:e,"valled-aosta":e,valledaosta:e,"vallee-aoste":e,"xn--valle-aoste-ebb":e,"vall\xE9e-aoste":e,"vallee-d-aoste":e,"xn--valle-d-aoste-ehb":e,"vall\xE9e-d-aoste":e,valleeaoste:e,"xn--valleaoste-e7a":e,vall\u00E9eaoste:e,valleedaoste:e,"xn--valledaoste-ebb":e,vall\u00E9edaoste:e,vao:e,vda:e,ven:e,veneto:e,ag:e,agrigento:e,al:e,alessandria:e,"alto-adige":e,altoadige:e,an:e,ancona:e,"andria-barletta-trani":e,"andria-trani-barletta":e,andriabarlettatrani:e,andriatranibarletta:e,ao:e,aosta:e,aoste:e,ap:e,aq:e,aquila:e,ar:e,arezzo:e,"ascoli-piceno":e,ascolipiceno:e,asti:e,at:e,av:e,avellino:e,ba:e,balsan:e,"balsan-sudtirol":e,"xn--balsan-sdtirol-nsb":e,"balsan-s\xFCdtirol":e,"balsan-suedtirol":e,bari:e,"barletta-trani-andria":e,barlettatraniandria:e,belluno:e,benevento:e,bergamo:e,bg:e,bi:e,biella:e,bl:e,bn:e,bo:e,bologna:e,bolzano:e,"bolzano-altoadige":e,bozen:e,"bozen-sudtirol":e,"xn--bozen-sdtirol-2ob":e,"bozen-s\xFCdtirol":e,"bozen-suedtirol":e,br:e,brescia:e,brindisi:e,bs:e,bt:e,bulsan:e,"bulsan-sudtirol":e,"xn--bulsan-sdtirol-nsb":e,"bulsan-s\xFCdtirol":e,"bulsan-suedtirol":e,bz:e,ca:e,cagliari:e,caltanissetta:e,"campidano-medio":e,campidanomedio:e,campobasso:e,"carbonia-iglesias":e,carboniaiglesias:e,"carrara-massa":e,carraramassa:e,caserta:e,catania:e,catanzaro:e,cb:e,ce:e,"cesena-forli":e,"xn--cesena-forl-mcb":e,"cesena-forl\xEC":e,cesenaforli:e,"xn--cesenaforl-i8a":e,cesenaforl\u00EC:e,ch:e,chieti:e,ci:e,cl:e,cn:e,co:e,como:e,cosenza:e,cr:e,cremona:e,crotone:e,cs:e,ct:e,cuneo:e,cz:e,"dell-ogliastra":e,dellogliastra:e,en:e,enna:e,fc:e,fe:e,fermo:e,ferrara:e,fg:e,fi:e,firenze:e,florence:e,fm:e,foggia:e,"forli-cesena":e,"xn--forl-cesena-fcb":e,"forl\xEC-cesena":e,forlicesena:e,"xn--forlcesena-c8a":e,forl\u00ECcesena:e,fr:e,frosinone:e,ge:e,genoa:e,genova:e,go:e,gorizia:e,gr:e,grosseto:e,"iglesias-carbonia":e,iglesiascarbonia:e,im:e,imperia:e,is:e,isernia:e,kr:e,"la-spezia":e,laquila:e,laspezia:e,latina:e,lc:e,le:e,lecce:e,lecco:e,li:e,livorno:e,lo:e,lodi:e,lt:e,lu:e,lucca:e,macerata:e,mantova:e,"massa-carrara":e,massacarrara:e,matera:e,mb:e,mc:e,me:e,"medio-campidano":e,mediocampidano:e,messina:e,mi:e,milan:e,milano:e,mn:e,mo:e,modena:e,monza:e,"monza-brianza":e,"monza-e-della-brianza":e,monzabrianza:e,monzaebrianza:e,monzaedellabrianza:e,ms:e,mt:e,na:e,naples:e,napoli:e,no:e,novara:e,nu:e,nuoro:e,og:e,ogliastra:e,"olbia-tempio":e,olbiatempio:e,or:e,oristano:e,ot:e,pa:e,padova:e,padua:e,palermo:e,parma:e,pavia:e,pc:e,pd:e,pe:e,perugia:e,"pesaro-urbino":e,pesarourbino:e,pescara:e,pg:e,pi:e,piacenza:e,pisa:e,pistoia:e,pn:e,po:e,pordenone:e,potenza:e,pr:e,prato:e,pt:e,pu:e,pv:e,pz:e,ra:e,ragusa:e,ravenna:e,rc:e,re:e,"reggio-calabria":e,"reggio-emilia":e,reggiocalabria:e,reggioemilia:e,rg:e,ri:e,rieti:e,rimini:e,rm:e,rn:e,ro:e,roma:e,rome:e,rovigo:e,sa:e,salerno:e,sassari:e,savona:e,si:e,siena:e,siracusa:e,so:e,sondrio:e,sp:e,sr:e,ss:e,"xn--sdtirol-n2a":e,s\u00FCdtirol:e,suedtirol:e,sv:e,ta:e,taranto:e,te:e,"tempio-olbia":e,tempioolbia:e,teramo:e,terni:e,tn:e,to:e,torino:e,tp:e,tr:e,"trani-andria-barletta":e,"trani-barletta-andria":e,traniandriabarletta:e,tranibarlettaandria:e,trapani:e,trento:e,treviso:e,trieste:e,ts:e,turin:e,tv:e,ud:e,udine:e,"urbino-pesaro":e,urbinopesaro:e,va:e,varese:e,vb:e,vc:e,ve:e,venezia:e,venice:e,verbania:e,vercelli:e,verona:e,vi:e,"vibo-valentia":e,vibovalentia:e,vicenza:e,viterbo:e,vr:e,vs:e,vt:e,vv:e,ibxos:t,iliadboxos:t,neen:[0,{jc:t}],"123homepage":t,"16-b":t,"32-b":t,"64-b":t,myspreadshop:t,syncloud:t}],je:[1,{co:e,net:e,org:e,of:t}],jm:x,jo:[1,{agri:e,ai:e,com:e,edu:e,eng:e,fm:e,gov:e,mil:e,net:e,org:e,per:e,phd:e,sch:e,tv:e}],jobs:e,jp:[1,{ac:e,ad:e,co:e,ed:e,go:e,gr:e,lg:e,ne:[1,{aseinet:We,gehirn:t,ivory:t,"mail-box":t,mints:t,mokuren:t,opal:t,sakura:t,sumomo:t,topaz:t}],or:e,aichi:[1,{aisai:e,ama:e,anjo:e,asuke:e,chiryu:e,chita:e,fuso:e,gamagori:e,handa:e,hazu:e,hekinan:e,higashiura:e,ichinomiya:e,inazawa:e,inuyama:e,isshiki:e,iwakura:e,kanie:e,kariya:e,kasugai:e,kira:e,kiyosu:e,komaki:e,konan:e,kota:e,mihama:e,miyoshi:e,nishio:e,nisshin:e,obu:e,oguchi:e,oharu:e,okazaki:e,owariasahi:e,seto:e,shikatsu:e,shinshiro:e,shitara:e,tahara:e,takahama:e,tobishima:e,toei:e,togo:e,tokai:e,tokoname:e,toyoake:e,toyohashi:e,toyokawa:e,toyone:e,toyota:e,tsushima:e,yatomi:e}],akita:[1,{akita:e,daisen:e,fujisato:e,gojome:e,hachirogata:e,happou:e,higashinaruse:e,honjo:e,honjyo:e,ikawa:e,kamikoani:e,kamioka:e,katagami:e,kazuno:e,kitaakita:e,kosaka:e,kyowa:e,misato:e,mitane:e,moriyoshi:e,nikaho:e,noshiro:e,odate:e,oga:e,ogata:e,semboku:e,yokote:e,yurihonjo:e}],aomori:[1,{aomori:e,gonohe:e,hachinohe:e,hashikami:e,hiranai:e,hirosaki:e,itayanagi:e,kuroishi:e,misawa:e,mutsu:e,nakadomari:e,noheji:e,oirase:e,owani:e,rokunohe:e,sannohe:e,shichinohe:e,shingo:e,takko:e,towada:e,tsugaru:e,tsuruta:e}],chiba:[1,{abiko:e,asahi:e,chonan:e,chosei:e,choshi:e,chuo:e,funabashi:e,futtsu:e,hanamigawa:e,ichihara:e,ichikawa:e,ichinomiya:e,inzai:e,isumi:e,kamagaya:e,kamogawa:e,kashiwa:e,katori:e,katsuura:e,kimitsu:e,kisarazu:e,kozaki:e,kujukuri:e,kyonan:e,matsudo:e,midori:e,mihama:e,minamiboso:e,mobara:e,mutsuzawa:e,nagara:e,nagareyama:e,narashino:e,narita:e,noda:e,oamishirasato:e,omigawa:e,onjuku:e,otaki:e,sakae:e,sakura:e,shimofusa:e,shirako:e,shiroi:e,shisui:e,sodegaura:e,sosa:e,tako:e,tateyama:e,togane:e,tohnosho:e,tomisato:e,urayasu:e,yachimata:e,yachiyo:e,yokaichiba:e,yokoshibahikari:e,yotsukaido:e}],ehime:[1,{ainan:e,honai:e,ikata:e,imabari:e,iyo:e,kamijima:e,kihoku:e,kumakogen:e,masaki:e,matsuno:e,matsuyama:e,namikata:e,niihama:e,ozu:e,saijo:e,seiyo:e,shikokuchuo:e,tobe:e,toon:e,uchiko:e,uwajima:e,yawatahama:e}],fukui:[1,{echizen:e,eiheiji:e,fukui:e,ikeda:e,katsuyama:e,mihama:e,minamiechizen:e,obama:e,ohi:e,ono:e,sabae:e,sakai:e,takahama:e,tsuruga:e,wakasa:e}],fukuoka:[1,{ashiya:e,buzen:e,chikugo:e,chikuho:e,chikujo:e,chikushino:e,chikuzen:e,chuo:e,dazaifu:e,fukuchi:e,hakata:e,higashi:e,hirokawa:e,hisayama:e,iizuka:e,inatsuki:e,kaho:e,kasuga:e,kasuya:e,kawara:e,keisen:e,koga:e,kurate:e,kurogi:e,kurume:e,minami:e,miyako:e,miyama:e,miyawaka:e,mizumaki:e,munakata:e,nakagawa:e,nakama:e,nishi:e,nogata:e,ogori:e,okagaki:e,okawa:e,oki:e,omuta:e,onga:e,onojo:e,oto:e,saigawa:e,sasaguri:e,shingu:e,shinyoshitomi:e,shonai:e,soeda:e,sue:e,tachiarai:e,tagawa:e,takata:e,toho:e,toyotsu:e,tsuiki:e,ukiha:e,umi:e,usui:e,yamada:e,yame:e,yanagawa:e,yukuhashi:e}],fukushima:[1,{aizubange:e,aizumisato:e,aizuwakamatsu:e,asakawa:e,bandai:e,date:e,fukushima:e,furudono:e,futaba:e,hanawa:e,higashi:e,hirata:e,hirono:e,iitate:e,inawashiro:e,ishikawa:e,iwaki:e,izumizaki:e,kagamiishi:e,kaneyama:e,kawamata:e,kitakata:e,kitashiobara:e,koori:e,koriyama:e,kunimi:e,miharu:e,mishima:e,namie:e,nango:e,nishiaizu:e,nishigo:e,okuma:e,omotego:e,ono:e,otama:e,samegawa:e,shimogo:e,shirakawa:e,showa:e,soma:e,sukagawa:e,taishin:e,tamakawa:e,tanagura:e,tenei:e,yabuki:e,yamato:e,yamatsuri:e,yanaizu:e,yugawa:e}],gifu:[1,{anpachi:e,ena:e,gifu:e,ginan:e,godo:e,gujo:e,hashima:e,hichiso:e,hida:e,higashishirakawa:e,ibigawa:e,ikeda:e,kakamigahara:e,kani:e,kasahara:e,kasamatsu:e,kawaue:e,kitagata:e,mino:e,minokamo:e,mitake:e,mizunami:e,motosu:e,nakatsugawa:e,ogaki:e,sakahogi:e,seki:e,sekigahara:e,shirakawa:e,tajimi:e,takayama:e,tarui:e,toki:e,tomika:e,wanouchi:e,yamagata:e,yaotsu:e,yoro:e}],gunma:[1,{annaka:e,chiyoda:e,fujioka:e,higashiagatsuma:e,isesaki:e,itakura:e,kanna:e,kanra:e,katashina:e,kawaba:e,kiryu:e,kusatsu:e,maebashi:e,meiwa:e,midori:e,minakami:e,naganohara:e,nakanojo:e,nanmoku:e,numata:e,oizumi:e,ora:e,ota:e,shibukawa:e,shimonita:e,shinto:e,showa:e,takasaki:e,takayama:e,tamamura:e,tatebayashi:e,tomioka:e,tsukiyono:e,tsumagoi:e,ueno:e,yoshioka:e}],hiroshima:[1,{asaminami:e,daiwa:e,etajima:e,fuchu:e,fukuyama:e,hatsukaichi:e,higashihiroshima:e,hongo:e,jinsekikogen:e,kaita:e,kui:e,kumano:e,kure:e,mihara:e,miyoshi:e,naka:e,onomichi:e,osakikamijima:e,otake:e,saka:e,sera:e,seranishi:e,shinichi:e,shobara:e,takehara:e}],hokkaido:[1,{abashiri:e,abira:e,aibetsu:e,akabira:e,akkeshi:e,asahikawa:e,ashibetsu:e,ashoro:e,assabu:e,atsuma:e,bibai:e,biei:e,bifuka:e,bihoro:e,biratori:e,chippubetsu:e,chitose:e,date:e,ebetsu:e,embetsu:e,eniwa:e,erimo:e,esan:e,esashi:e,fukagawa:e,fukushima:e,furano:e,furubira:e,haboro:e,hakodate:e,hamatonbetsu:e,hidaka:e,higashikagura:e,higashikawa:e,hiroo:e,hokuryu:e,hokuto:e,honbetsu:e,horokanai:e,horonobe:e,ikeda:e,imakane:e,ishikari:e,iwamizawa:e,iwanai:e,kamifurano:e,kamikawa:e,kamishihoro:e,kamisunagawa:e,kamoenai:e,kayabe:e,kembuchi:e,kikonai:e,kimobetsu:e,kitahiroshima:e,kitami:e,kiyosato:e,koshimizu:e,kunneppu:e,kuriyama:e,kuromatsunai:e,kushiro:e,kutchan:e,kyowa:e,mashike:e,matsumae:e,mikasa:e,minamifurano:e,mombetsu:e,moseushi:e,mukawa:e,muroran:e,naie:e,nakagawa:e,nakasatsunai:e,nakatombetsu:e,nanae:e,nanporo:e,nayoro:e,nemuro:e,niikappu:e,niki:e,nishiokoppe:e,noboribetsu:e,numata:e,obihiro:e,obira:e,oketo:e,okoppe:e,otaru:e,otobe:e,otofuke:e,otoineppu:e,oumu:e,ozora:e,pippu:e,rankoshi:e,rebun:e,rikubetsu:e,rishiri:e,rishirifuji:e,saroma:e,sarufutsu:e,shakotan:e,shari:e,shibecha:e,shibetsu:e,shikabe:e,shikaoi:e,shimamaki:e,shimizu:e,shimokawa:e,shinshinotsu:e,shintoku:e,shiranuka:e,shiraoi:e,shiriuchi:e,sobetsu:e,sunagawa:e,taiki:e,takasu:e,takikawa:e,takinoue:e,teshikaga:e,tobetsu:e,tohma:e,tomakomai:e,tomari:e,toya:e,toyako:e,toyotomi:e,toyoura:e,tsubetsu:e,tsukigata:e,urakawa:e,urausu:e,uryu:e,utashinai:e,wakkanai:e,wassamu:e,yakumo:e,yoichi:e}],hyogo:[1,{aioi:e,akashi:e,ako:e,amagasaki:e,aogaki:e,asago:e,ashiya:e,awaji:e,fukusaki:e,goshiki:e,harima:e,himeji:e,ichikawa:e,inagawa:e,itami:e,kakogawa:e,kamigori:e,kamikawa:e,kasai:e,kasuga:e,kawanishi:e,miki:e,minamiawaji:e,nishinomiya:e,nishiwaki:e,ono:e,sanda:e,sannan:e,sasayama:e,sayo:e,shingu:e,shinonsen:e,shiso:e,sumoto:e,taishi:e,taka:e,takarazuka:e,takasago:e,takino:e,tamba:e,tatsuno:e,toyooka:e,yabu:e,yashiro:e,yoka:e,yokawa:e}],ibaraki:[1,{ami:e,asahi:e,bando:e,chikusei:e,daigo:e,fujishiro:e,hitachi:e,hitachinaka:e,hitachiomiya:e,hitachiota:e,ibaraki:e,ina:e,inashiki:e,itako:e,iwama:e,joso:e,kamisu:e,kasama:e,kashima:e,kasumigaura:e,koga:e,miho:e,mito:e,moriya:e,naka:e,namegata:e,oarai:e,ogawa:e,omitama:e,ryugasaki:e,sakai:e,sakuragawa:e,shimodate:e,shimotsuma:e,shirosato:e,sowa:e,suifu:e,takahagi:e,tamatsukuri:e,tokai:e,tomobe:e,tone:e,toride:e,tsuchiura:e,tsukuba:e,uchihara:e,ushiku:e,yachiyo:e,yamagata:e,yawara:e,yuki:e}],ishikawa:[1,{anamizu:e,hakui:e,hakusan:e,kaga:e,kahoku:e,kanazawa:e,kawakita:e,komatsu:e,nakanoto:e,nanao:e,nomi:e,nonoichi:e,noto:e,shika:e,suzu:e,tsubata:e,tsurugi:e,uchinada:e,wajima:e}],iwate:[1,{fudai:e,fujisawa:e,hanamaki:e,hiraizumi:e,hirono:e,ichinohe:e,ichinoseki:e,iwaizumi:e,iwate:e,joboji:e,kamaishi:e,kanegasaki:e,karumai:e,kawai:e,kitakami:e,kuji:e,kunohe:e,kuzumaki:e,miyako:e,mizusawa:e,morioka:e,ninohe:e,noda:e,ofunato:e,oshu:e,otsuchi:e,rikuzentakata:e,shiwa:e,shizukuishi:e,sumita:e,tanohata:e,tono:e,yahaba:e,yamada:e}],kagawa:[1,{ayagawa:e,higashikagawa:e,kanonji:e,kotohira:e,manno:e,marugame:e,mitoyo:e,naoshima:e,sanuki:e,tadotsu:e,takamatsu:e,tonosho:e,uchinomi:e,utazu:e,zentsuji:e}],kagoshima:[1,{akune:e,amami:e,hioki:e,isa:e,isen:e,izumi:e,kagoshima:e,kanoya:e,kawanabe:e,kinko:e,kouyama:e,makurazaki:e,matsumoto:e,minamitane:e,nakatane:e,nishinoomote:e,satsumasendai:e,soo:e,tarumizu:e,yusui:e}],kanagawa:[1,{aikawa:e,atsugi:e,ayase:e,chigasaki:e,ebina:e,fujisawa:e,hadano:e,hakone:e,hiratsuka:e,isehara:e,kaisei:e,kamakura:e,kiyokawa:e,matsuda:e,minamiashigara:e,miura:e,nakai:e,ninomiya:e,odawara:e,oi:e,oiso:e,sagamihara:e,samukawa:e,tsukui:e,yamakita:e,yamato:e,yokosuka:e,yugawara:e,zama:e,zushi:e}],kochi:[1,{aki:e,geisei:e,hidaka:e,higashitsuno:e,ino:e,kagami:e,kami:e,kitagawa:e,kochi:e,mihara:e,motoyama:e,muroto:e,nahari:e,nakamura:e,nankoku:e,nishitosa:e,niyodogawa:e,ochi:e,okawa:e,otoyo:e,otsuki:e,sakawa:e,sukumo:e,susaki:e,tosa:e,tosashimizu:e,toyo:e,tsuno:e,umaji:e,yasuda:e,yusuhara:e}],kumamoto:[1,{amakusa:e,arao:e,aso:e,choyo:e,gyokuto:e,kamiamakusa:e,kikuchi:e,kumamoto:e,mashiki:e,mifune:e,minamata:e,minamioguni:e,nagasu:e,nishihara:e,oguni:e,ozu:e,sumoto:e,takamori:e,uki:e,uto:e,yamaga:e,yamato:e,yatsushiro:e}],kyoto:[1,{ayabe:e,fukuchiyama:e,higashiyama:e,ide:e,ine:e,joyo:e,kameoka:e,kamo:e,kita:e,kizu:e,kumiyama:e,kyotamba:e,kyotanabe:e,kyotango:e,maizuru:e,minami:e,minamiyamashiro:e,miyazu:e,muko:e,nagaokakyo:e,nakagyo:e,nantan:e,oyamazaki:e,sakyo:e,seika:e,tanabe:e,uji:e,ujitawara:e,wazuka:e,yamashina:e,yawata:e}],mie:[1,{asahi:e,inabe:e,ise:e,kameyama:e,kawagoe:e,kiho:e,kisosaki:e,kiwa:e,komono:e,kumano:e,kuwana:e,matsusaka:e,meiwa:e,mihama:e,minamiise:e,misugi:e,miyama:e,nabari:e,shima:e,suzuka:e,tado:e,taiki:e,taki:e,tamaki:e,toba:e,tsu:e,udono:e,ureshino:e,watarai:e,yokkaichi:e}],miyagi:[1,{furukawa:e,higashimatsushima:e,ishinomaki:e,iwanuma:e,kakuda:e,kami:e,kawasaki:e,marumori:e,matsushima:e,minamisanriku:e,misato:e,murata:e,natori:e,ogawara:e,ohira:e,onagawa:e,osaki:e,rifu:e,semine:e,shibata:e,shichikashuku:e,shikama:e,shiogama:e,shiroishi:e,tagajo:e,taiwa:e,tome:e,tomiya:e,wakuya:e,watari:e,yamamoto:e,zao:e}],miyazaki:[1,{aya:e,ebino:e,gokase:e,hyuga:e,kadogawa:e,kawaminami:e,kijo:e,kitagawa:e,kitakata:e,kitaura:e,kobayashi:e,kunitomi:e,kushima:e,mimata:e,miyakonojo:e,miyazaki:e,morotsuka:e,nichinan:e,nishimera:e,nobeoka:e,saito:e,shiiba:e,shintomi:e,takaharu:e,takanabe:e,takazaki:e,tsuno:e}],nagano:[1,{achi:e,agematsu:e,anan:e,aoki:e,asahi:e,azumino:e,chikuhoku:e,chikuma:e,chino:e,fujimi:e,hakuba:e,hara:e,hiraya:e,iida:e,iijima:e,iiyama:e,iizuna:e,ikeda:e,ikusaka:e,ina:e,karuizawa:e,kawakami:e,kiso:e,kisofukushima:e,kitaaiki:e,komagane:e,komoro:e,matsukawa:e,matsumoto:e,miasa:e,minamiaiki:e,minamimaki:e,minamiminowa:e,minowa:e,miyada:e,miyota:e,mochizuki:e,nagano:e,nagawa:e,nagiso:e,nakagawa:e,nakano:e,nozawaonsen:e,obuse:e,ogawa:e,okaya:e,omachi:e,omi:e,ookuwa:e,ooshika:e,otaki:e,otari:e,sakae:e,sakaki:e,saku:e,sakuho:e,shimosuwa:e,shinanomachi:e,shiojiri:e,suwa:e,suzaka:e,takagi:e,takamori:e,takayama:e,tateshina:e,tatsuno:e,togakushi:e,togura:e,tomi:e,ueda:e,wada:e,yamagata:e,yamanouchi:e,yasaka:e,yasuoka:e}],nagasaki:[1,{chijiwa:e,futsu:e,goto:e,hasami:e,hirado:e,iki:e,isahaya:e,kawatana:e,kuchinotsu:e,matsuura:e,nagasaki:e,obama:e,omura:e,oseto:e,saikai:e,sasebo:e,seihi:e,shimabara:e,shinkamigoto:e,togitsu:e,tsushima:e,unzen:e}],nara:[1,{ando:e,gose:e,heguri:e,higashiyoshino:e,ikaruga:e,ikoma:e,kamikitayama:e,kanmaki:e,kashiba:e,kashihara:e,katsuragi:e,kawai:e,kawakami:e,kawanishi:e,koryo:e,kurotaki:e,mitsue:e,miyake:e,nara:e,nosegawa:e,oji:e,ouda:e,oyodo:e,sakurai:e,sango:e,shimoichi:e,shimokitayama:e,shinjo:e,soni:e,takatori:e,tawaramoto:e,tenkawa:e,tenri:e,uda:e,yamatokoriyama:e,yamatotakada:e,yamazoe:e,yoshino:e}],niigata:[1,{aga:e,agano:e,gosen:e,itoigawa:e,izumozaki:e,joetsu:e,kamo:e,kariwa:e,kashiwazaki:e,minamiuonuma:e,mitsuke:e,muika:e,murakami:e,myoko:e,nagaoka:e,niigata:e,ojiya:e,omi:e,sado:e,sanjo:e,seiro:e,seirou:e,sekikawa:e,shibata:e,tagami:e,tainai:e,tochio:e,tokamachi:e,tsubame:e,tsunan:e,uonuma:e,yahiko:e,yoita:e,yuzawa:e}],oita:[1,{beppu:e,bungoono:e,bungotakada:e,hasama:e,hiji:e,himeshima:e,hita:e,kamitsue:e,kokonoe:e,kuju:e,kunisaki:e,kusu:e,oita:e,saiki:e,taketa:e,tsukumi:e,usa:e,usuki:e,yufu:e}],okayama:[1,{akaiwa:e,asakuchi:e,bizen:e,hayashima:e,ibara:e,kagamino:e,kasaoka:e,kibichuo:e,kumenan:e,kurashiki:e,maniwa:e,misaki:e,nagi:e,niimi:e,nishiawakura:e,okayama:e,satosho:e,setouchi:e,shinjo:e,shoo:e,soja:e,takahashi:e,tamano:e,tsuyama:e,wake:e,yakage:e}],okinawa:[1,{aguni:e,ginowan:e,ginoza:e,gushikami:e,haebaru:e,higashi:e,hirara:e,iheya:e,ishigaki:e,ishikawa:e,itoman:e,izena:e,kadena:e,kin:e,kitadaito:e,kitanakagusuku:e,kumejima:e,kunigami:e,minamidaito:e,motobu:e,nago:e,naha:e,nakagusuku:e,nakijin:e,nanjo:e,nishihara:e,ogimi:e,okinawa:e,onna:e,shimoji:e,taketomi:e,tarama:e,tokashiki:e,tomigusuku:e,tonaki:e,urasoe:e,uruma:e,yaese:e,yomitan:e,yonabaru:e,yonaguni:e,zamami:e}],osaka:[1,{abeno:e,chihayaakasaka:e,chuo:e,daito:e,fujiidera:e,habikino:e,hannan:e,higashiosaka:e,higashisumiyoshi:e,higashiyodogawa:e,hirakata:e,ibaraki:e,ikeda:e,izumi:e,izumiotsu:e,izumisano:e,kadoma:e,kaizuka:e,kanan:e,kashiwara:e,katano:e,kawachinagano:e,kishiwada:e,kita:e,kumatori:e,matsubara:e,minato:e,minoh:e,misaki:e,moriguchi:e,neyagawa:e,nishi:e,nose:e,osakasayama:e,sakai:e,sayama:e,sennan:e,settsu:e,shijonawate:e,shimamoto:e,suita:e,tadaoka:e,taishi:e,tajiri:e,takaishi:e,takatsuki:e,tondabayashi:e,toyonaka:e,toyono:e,yao:e}],saga:[1,{ariake:e,arita:e,fukudomi:e,genkai:e,hamatama:e,hizen:e,imari:e,kamimine:e,kanzaki:e,karatsu:e,kashima:e,kitagata:e,kitahata:e,kiyama:e,kouhoku:e,kyuragi:e,nishiarita:e,ogi:e,omachi:e,ouchi:e,saga:e,shiroishi:e,taku:e,tara:e,tosu:e,yoshinogari:e}],saitama:[1,{arakawa:e,asaka:e,chichibu:e,fujimi:e,fujimino:e,fukaya:e,hanno:e,hanyu:e,hasuda:e,hatogaya:e,hatoyama:e,hidaka:e,higashichichibu:e,higashimatsuyama:e,honjo:e,ina:e,iruma:e,iwatsuki:e,kamiizumi:e,kamikawa:e,kamisato:e,kasukabe:e,kawagoe:e,kawaguchi:e,kawajima:e,kazo:e,kitamoto:e,koshigaya:e,kounosu:e,kuki:e,kumagaya:e,matsubushi:e,minano:e,misato:e,miyashiro:e,miyoshi:e,moroyama:e,nagatoro:e,namegawa:e,niiza:e,ogano:e,ogawa:e,ogose:e,okegawa:e,omiya:e,otaki:e,ranzan:e,ryokami:e,saitama:e,sakado:e,satte:e,sayama:e,shiki:e,shiraoka:e,soka:e,sugito:e,toda:e,tokigawa:e,tokorozawa:e,tsurugashima:e,urawa:e,warabi:e,yashio:e,yokoze:e,yono:e,yorii:e,yoshida:e,yoshikawa:e,yoshimi:e}],shiga:[1,{aisho:e,gamo:e,higashiomi:e,hikone:e,koka:e,konan:e,kosei:e,koto:e,kusatsu:e,maibara:e,moriyama:e,nagahama:e,nishiazai:e,notogawa:e,omihachiman:e,otsu:e,ritto:e,ryuoh:e,takashima:e,takatsuki:e,torahime:e,toyosato:e,yasu:e}],shimane:[1,{akagi:e,ama:e,gotsu:e,hamada:e,higashiizumo:e,hikawa:e,hikimi:e,izumo:e,kakinoki:e,masuda:e,matsue:e,misato:e,nishinoshima:e,ohda:e,okinoshima:e,okuizumo:e,shimane:e,tamayu:e,tsuwano:e,unnan:e,yakumo:e,yasugi:e,yatsuka:e}],shizuoka:[1,{arai:e,atami:e,fuji:e,fujieda:e,fujikawa:e,fujinomiya:e,fukuroi:e,gotemba:e,haibara:e,hamamatsu:e,higashiizu:e,ito:e,iwata:e,izu:e,izunokuni:e,kakegawa:e,kannami:e,kawanehon:e,kawazu:e,kikugawa:e,kosai:e,makinohara:e,matsuzaki:e,minamiizu:e,mishima:e,morimachi:e,nishiizu:e,numazu:e,omaezaki:e,shimada:e,shimizu:e,shimoda:e,shizuoka:e,susono:e,yaizu:e,yoshida:e}],tochigi:[1,{ashikaga:e,bato:e,haga:e,ichikai:e,iwafune:e,kaminokawa:e,kanuma:e,karasuyama:e,kuroiso:e,mashiko:e,mibu:e,moka:e,motegi:e,nasu:e,nasushiobara:e,nikko:e,nishikata:e,nogi:e,ohira:e,ohtawara:e,oyama:e,sakura:e,sano:e,shimotsuke:e,shioya:e,takanezawa:e,tochigi:e,tsuga:e,ujiie:e,utsunomiya:e,yaita:e}],tokushima:[1,{aizumi:e,anan:e,ichiba:e,itano:e,kainan:e,komatsushima:e,matsushige:e,mima:e,minami:e,miyoshi:e,mugi:e,nakagawa:e,naruto:e,sanagochi:e,shishikui:e,tokushima:e,wajiki:e}],tokyo:[1,{adachi:e,akiruno:e,akishima:e,aogashima:e,arakawa:e,bunkyo:e,chiyoda:e,chofu:e,chuo:e,edogawa:e,fuchu:e,fussa:e,hachijo:e,hachioji:e,hamura:e,higashikurume:e,higashimurayama:e,higashiyamato:e,hino:e,hinode:e,hinohara:e,inagi:e,itabashi:e,katsushika:e,kita:e,kiyose:e,kodaira:e,koganei:e,kokubunji:e,komae:e,koto:e,kouzushima:e,kunitachi:e,machida:e,meguro:e,minato:e,mitaka:e,mizuho:e,musashimurayama:e,musashino:e,nakano:e,nerima:e,ogasawara:e,okutama:e,ome:e,oshima:e,ota:e,setagaya:e,shibuya:e,shinagawa:e,shinjuku:e,suginami:e,sumida:e,tachikawa:e,taito:e,tama:e,toshima:e}],tottori:[1,{chizu:e,hino:e,kawahara:e,koge:e,kotoura:e,misasa:e,nanbu:e,nichinan:e,sakaiminato:e,tottori:e,wakasa:e,yazu:e,yonago:e}],toyama:[1,{asahi:e,fuchu:e,fukumitsu:e,funahashi:e,himi:e,imizu:e,inami:e,johana:e,kamiichi:e,kurobe:e,nakaniikawa:e,namerikawa:e,nanto:e,nyuzen:e,oyabe:e,taira:e,takaoka:e,tateyama:e,toga:e,tonami:e,toyama:e,unazuki:e,uozu:e,yamada:e}],wakayama:[1,{arida:e,aridagawa:e,gobo:e,hashimoto:e,hidaka:e,hirogawa:e,inami:e,iwade:e,kainan:e,kamitonda:e,katsuragi:e,kimino:e,kinokawa:e,kitayama:e,koya:e,koza:e,kozagawa:e,kudoyama:e,kushimoto:e,mihama:e,misato:e,nachikatsuura:e,shingu:e,shirahama:e,taiji:e,tanabe:e,wakayama:e,yuasa:e,yura:e}],yamagata:[1,{asahi:e,funagata:e,higashine:e,iide:e,kahoku:e,kaminoyama:e,kaneyama:e,kawanishi:e,mamurogawa:e,mikawa:e,murayama:e,nagai:e,nakayama:e,nanyo:e,nishikawa:e,obanazawa:e,oe:e,oguni:e,ohkura:e,oishida:e,sagae:e,sakata:e,sakegawa:e,shinjo:e,shirataka:e,shonai:e,takahata:e,tendo:e,tozawa:e,tsuruoka:e,yamagata:e,yamanobe:e,yonezawa:e,yuza:e}],yamaguchi:[1,{abu:e,hagi:e,hikari:e,hofu:e,iwakuni:e,kudamatsu:e,mitou:e,nagato:e,oshima:e,shimonoseki:e,shunan:e,tabuse:e,tokuyama:e,toyota:e,ube:e,yuu:e}],yamanashi:[1,{chuo:e,doshi:e,fuefuki:e,fujikawa:e,fujikawaguchiko:e,fujiyoshida:e,hayakawa:e,hokuto:e,ichikawamisato:e,kai:e,kofu:e,koshu:e,kosuge:e,"minami-alps":e,minobu:e,nakamichi:e,nanbu:e,narusawa:e,nirasaki:e,nishikatsura:e,oshino:e,otsuki:e,showa:e,tabayama:e,tsuru:e,uenohara:e,yamanakako:e,yamanashi:e}],"xn--ehqz56n":e,\u4E09\u91CD:e,"xn--1lqs03n":e,\u4EAC\u90FD:e,"xn--qqqt11m":e,\u4F50\u8CC0:e,"xn--f6qx53a":e,\u5175\u5EAB:e,"xn--djrs72d6uy":e,\u5317\u6D77\u9053:e,"xn--mkru45i":e,\u5343\u8449:e,"xn--0trq7p7nn":e,\u548C\u6B4C\u5C71:e,"xn--5js045d":e,\u57FC\u7389:e,"xn--kbrq7o":e,\u5927\u5206:e,"xn--pssu33l":e,\u5927\u962A:e,"xn--ntsq17g":e,\u5948\u826F:e,"xn--uisz3g":e,\u5BAE\u57CE:e,"xn--6btw5a":e,\u5BAE\u5D0E:e,"xn--1ctwo":e,\u5BCC\u5C71:e,"xn--6orx2r":e,\u5C71\u53E3:e,"xn--rht61e":e,\u5C71\u5F62:e,"xn--rht27z":e,\u5C71\u68A8:e,"xn--nit225k":e,\u5C90\u961C:e,"xn--rht3d":e,\u5CA1\u5C71:e,"xn--djty4k":e,\u5CA9\u624B:e,"xn--klty5x":e,\u5CF6\u6839:e,"xn--kltx9a":e,\u5E83\u5CF6:e,"xn--kltp7d":e,\u5FB3\u5CF6:e,"xn--c3s14m":e,\u611B\u5A9B:e,"xn--vgu402c":e,\u611B\u77E5:e,"xn--efvn9s":e,\u65B0\u6F5F:e,"xn--1lqs71d":e,\u6771\u4EAC:e,"xn--4pvxs":e,\u6803\u6728:e,"xn--uuwu58a":e,\u6C96\u7E04:e,"xn--zbx025d":e,\u6ECB\u8CC0:e,"xn--8pvr4u":e,\u718A\u672C:e,"xn--5rtp49c":e,\u77F3\u5DDD:e,"xn--ntso0iqx3a":e,\u795E\u5948\u5DDD:e,"xn--elqq16h":e,\u798F\u4E95:e,"xn--4it168d":e,\u798F\u5CA1:e,"xn--klt787d":e,\u798F\u5CF6:e,"xn--rny31h":e,\u79CB\u7530:e,"xn--7t0a264c":e,\u7FA4\u99AC:e,"xn--uist22h":e,\u8328\u57CE:e,"xn--8ltr62k":e,\u9577\u5D0E:e,"xn--2m4a15e":e,\u9577\u91CE:e,"xn--32vp30h":e,\u9752\u68EE:e,"xn--4it797k":e,\u9759\u5CA1:e,"xn--5rtq34k":e,\u9999\u5DDD:e,"xn--k7yn95e":e,\u9AD8\u77E5:e,"xn--tor131o":e,\u9CE5\u53D6:e,"xn--d5qv7z876c":e,\u9E7F\u5150\u5CF6:e,kawasaki:x,kitakyushu:x,kobe:x,nagoya:x,sapporo:x,sendai:x,yokohama:x,buyshop:t,fashionstore:t,handcrafted:t,kawaiishop:t,supersale:t,theshop:t,"0am":t,"0g0":t,"0j0":t,"0t0":t,mydns:t,pgw:t,wjg:t,usercontent:t,angry:t,babyblue:t,babymilk:t,backdrop:t,bambina:t,bitter:t,blush:t,boo:t,boy:t,boyfriend:t,but:t,candypop:t,capoo:t,catfood:t,cheap:t,chicappa:t,chillout:t,chips:t,chowder:t,chu:t,ciao:t,cocotte:t,coolblog:t,cranky:t,cutegirl:t,daa:t,deca:t,deci:t,digick:t,egoism:t,fakefur:t,fem:t,flier:t,floppy:t,fool:t,frenchkiss:t,girlfriend:t,girly:t,gloomy:t,gonna:t,greater:t,hacca:t,heavy:t,her:t,hiho:t,hippy:t,holy:t,hungry:t,icurus:t,itigo:t,jellybean:t,kikirara:t,kill:t,kilo:t,kuron:t,littlestar:t,lolipopmc:t,lolitapunk:t,lomo:t,lovepop:t,lovesick:t,main:t,mods:t,mond:t,mongolian:t,moo:t,namaste:t,nikita:t,nobushi:t,noor:t,oops:t,parallel:t,parasite:t,pecori:t,peewee:t,penne:t,pepper:t,perma:t,pigboat:t,pinoko:t,punyu:t,pupu:t,pussycat:t,pya:t,raindrop:t,readymade:t,sadist:t,schoolbus:t,secret:t,staba:t,stripper:t,sub:t,sunnyday:t,thick:t,tonkotsu:t,under:t,upper:t,velvet:t,verse:t,versus:t,vivian:t,watson:t,weblike:t,whitesnow:t,zombie:t,hateblo:t,hatenablog:t,hatenadiary:t,"2-d":t,bona:t,crap:t,daynight:t,eek:t,flop:t,halfmoon:t,jeez:t,matrix:t,mimoza:t,netgamers:t,nyanta:t,o0o0:t,rdy:t,rgr:t,rulez:t,sakurastorage:[0,{isk01:St,isk02:St}],saloon:t,sblo:t,skr:t,tank:t,"uh-oh":t,undo:t,webaccel:[0,{rs:t,user:t}],websozai:t,xii:t}],ke:[1,{ac:e,co:e,go:e,info:e,me:e,mobi:e,ne:e,or:e,sc:e}],kg:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,us:t,xx:t,ae:t}],kh:n,ki:nt,km:[1,{ass:e,com:e,edu:e,gov:e,mil:e,nom:e,org:e,prd:e,tm:e,asso:e,coop:e,gouv:e,medecin:e,notaires:e,pharmaciens:e,presse:e,veterinaire:e}],kn:[1,{edu:e,gov:e,net:e,org:e}],kp:[1,{com:e,edu:e,gov:e,org:e,rep:e,tra:e}],kr:[1,{ac:e,ai:e,co:e,es:e,go:e,hs:e,io:e,it:e,kg:e,me:e,mil:e,ms:e,ne:e,or:e,pe:e,re:e,sc:e,busan:e,chungbuk:e,chungnam:e,daegu:e,daejeon:e,gangwon:e,gwangju:e,gyeongbuk:e,gyeonggi:e,gyeongnam:e,incheon:e,jeju:e,jeonbuk:e,jeonnam:e,seoul:e,ulsan:e,c01:t,"eliv-api":t,"eliv-cdn":t,"eliv-dns":t,mmv:t,vki:t}],kw:[1,{com:e,edu:e,emb:e,gov:e,ind:e,net:e,org:e}],ky:ge,kz:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,jcloud:t}],la:[1,{com:e,edu:e,gov:e,info:e,int:e,net:e,org:e,per:e,bnr:t}],lb:n,lc:[1,{co:e,com:e,edu:e,gov:e,net:e,org:e,oy:t}],li:e,lk:[1,{ac:e,assn:e,com:e,edu:e,gov:e,grp:e,hotel:e,int:e,ltd:e,net:e,ngo:e,org:e,sch:e,soc:e,web:e}],lr:n,ls:[1,{ac:e,biz:e,co:e,edu:e,gov:e,info:e,net:e,org:e,sc:e}],lt:c,lu:[1,{"123website":t}],lv:[1,{asn:e,com:e,conf:e,edu:e,gov:e,id:e,mil:e,net:e,org:e}],ly:[1,{com:e,edu:e,gov:e,id:e,med:e,net:e,org:e,plc:e,sch:e}],ma:[1,{ac:e,co:e,gov:e,net:e,org:e,press:e}],mc:[1,{asso:e,tm:e}],md:[1,{ir:t}],me:[1,{ac:e,co:e,edu:e,gov:e,its:e,net:e,org:e,priv:e,c66:t,craft:t,edgestack:t,mybox:t,filegear:t,"filegear-sg":t,lohmus:t,barsy:t,mcdir:t,brasilia:t,ddns:t,dnsfor:t,hopto:t,loginto:t,noip:t,webhop:t,soundcast:t,tcp4:t,vp4:t,diskstation:t,dscloud:t,i234:t,myds:t,synology:t,transip:Ne,nohost:t}],mg:[1,{co:e,com:e,edu:e,gov:e,mil:e,nom:e,org:e,prd:e}],mh:e,mil:e,mk:[1,{com:e,edu:e,gov:e,inf:e,name:e,net:e,org:e}],ml:[1,{ac:e,art:e,asso:e,com:e,edu:e,gouv:e,gov:e,info:e,inst:e,net:e,org:e,pr:e,presse:e}],mm:x,mn:[1,{edu:e,gov:e,org:e,nyc:t}],mo:n,mobi:[1,{barsy:t,dscloud:t}],mp:[1,{ju:t}],mq:e,mr:c,ms:[1,{com:e,edu:e,gov:e,net:e,org:e,minisite:t}],mt:ge,mu:[1,{ac:e,co:e,com:e,gov:e,net:e,or:e,org:e}],museum:e,mv:[1,{aero:e,biz:e,com:e,coop:e,edu:e,gov:e,info:e,int:e,mil:e,museum:e,name:e,net:e,org:e,pro:e}],mw:[1,{ac:e,biz:e,co:e,com:e,coop:e,edu:e,gov:e,int:e,net:e,org:e}],mx:[1,{com:e,edu:e,gob:e,net:e,org:e}],my:[1,{biz:e,com:e,edu:e,gov:e,mil:e,name:e,net:e,org:e}],mz:[1,{ac:e,adv:e,co:e,edu:e,gov:e,mil:e,net:e,org:e}],na:[1,{alt:e,co:e,com:e,gov:e,net:e,org:e}],name:[1,{her:sn,his:sn,ispmanager:t,keenetic:t}],nc:[1,{asso:e,nom:e}],ne:e,net:[1,{adobeaemcloud:t,"adobeio-static":t,adobeioruntime:t,akadns:t,akamai:t,"akamai-staging":t,akamaiedge:t,"akamaiedge-staging":t,akamaihd:t,"akamaihd-staging":t,akamaiorigin:t,"akamaiorigin-staging":t,akamaized:t,"akamaized-staging":t,edgekey:t,"edgekey-staging":t,edgesuite:t,"edgesuite-staging":t,alwaysdata:t,myamaze:t,cloudfront:t,appudo:t,"atlassian-dev":[0,{prod:Le}],myfritz:t,shopselect:t,blackbaudcdn:t,boomla:t,bplaced:t,square7:t,cdn77:[0,{r:t}],"cdn77-ssl":t,gb:t,hu:t,jp:t,se:t,uk:t,clickrising:t,"ddns-ip":t,"dns-cloud":t,"dns-dynamic":t,cloudaccess:t,cloudflare:[2,{cdn:t}],cloudflareanycast:Le,cloudflarecn:Le,cloudflareglobal:Le,ctfcloud:t,"feste-ip":t,"knx-server":t,"static-access":t,cryptonomic:o,dattolocal:t,mydatto:t,debian:t,definima:t,deno:[2,{sandbox:t}],icp:o,de5:t,"at-band-camp":t,blogdns:t,"broke-it":t,buyshouses:t,dnsalias:t,dnsdojo:t,"does-it":t,dontexist:t,dynalias:t,dynathome:t,endofinternet:t,"from-az":t,"from-co":t,"from-la":t,"from-ny":t,"gets-it":t,"ham-radio-op":t,homeftp:t,homeip:t,homelinux:t,homeunix:t,"in-the-band":t,"is-a-chef":t,"is-a-geek":t,"isa-geek":t,"kicks-ass":t,"office-on-the":t,podzone:t,"scrapper-site":t,selfip:t,"sells-it":t,servebbs:t,serveftp:t,thruhere:t,webhop:t,casacam:t,dynu:t,dynuddns:t,mysynology:t,opik:t,spryt:t,dynv6:t,twmail:t,ru:t,channelsdvr:[2,{u:t}],fastly:[0,{freetls:t,map:t,prod:[0,{a:t,global:t}],ssl:[0,{a:t,b:t,global:t}]}],fastlylb:[2,{map:t}],"keyword-on":t,"live-on":t,"server-on":t,"cdn-edges":t,heteml:t,cloudfunctions:t,"grafana-dev":t,iobb:t,moonscale:t,"in-dsl":t,"in-vpn":t,oninferno:t,botdash:t,"apps-1and1":t,ipifony:t,cloudjiffy:[2,{"fra1-de":t,"west1-us":t}],elastx:[0,{"jls-sto1":t,"jls-sto2":t,"jls-sto3":t}],massivegrid:[0,{paas:[0,{"fr-1":t,"lon-1":t,"lon-2":t,"ny-1":t,"ny-2":t,"sg-1":t}]}],saveincloud:[0,{jelastic:t,"nordeste-idc":t}],scaleforce:dt,kinghost:t,uni5:t,krellian:t,ggff:t,localto:o,barsy:t,luyani:t,memset:t,"azure-api":t,"azure-mobile":t,azureedge:t,azurefd:t,azurestaticapps:[2,{1:t,2:t,3:t,4:t,5:t,6:t,7:t,centralus:t,eastasia:t,eastus2:t,westeurope:t,westus2:t}],azurewebsites:t,cloudapp:t,trafficmanager:t,usgovcloudapi:Yn,usgovcloudapp:t,usgovtrafficmanager:t,windows:Yn,mynetname:[0,{sn:t}],routingthecloud:t,bounceme:t,ddns:t,"eating-organic":t,mydissent:t,myeffect:t,mymediapc:t,mypsx:t,mysecuritycamera:t,nhlfan:t,"no-ip":t,pgafan:t,privatizehealthinsurance:t,redirectme:t,serveblog:t,serveminecraft:t,sytes:t,dnsup:t,hicam:t,"now-dns":t,ownip:t,vpndns:t,cloudycluster:t,ovh:[0,{hosting:o,webpaas:o}],rackmaze:t,myradweb:t,in:t,"subsc-pay":t,squares:t,schokokeks:t,"firewall-gateway":t,seidat:t,senseering:t,siteleaf:t,mafelo:t,myspreadshop:t,"vps-host":[2,{jelastic:[0,{atl:t,njs:t,ric:t}]}],srcf:[0,{soc:t,user:t}],supabase:t,dsmynas:t,familyds:t,ts:[2,{c:o}],torproject:[2,{pages:t}],tunnelmole:t,vusercontent:t,"reserve-online":t,localcert:t,"community-pro":t,meinforum:t,yandexcloud:[2,{storage:t,website:t}],za:t,zabc:t}],nf:[1,{arts:e,com:e,firm:e,info:e,net:e,other:e,per:e,rec:e,store:e,web:e}],ng:[1,{com:e,edu:e,gov:e,i:e,mil:e,mobi:e,name:e,net:e,org:e,sch:e,biz:[2,{co:t,dl:t,go:t,lg:t,on:t}],col:t,firm:t,gen:t,ltd:t,ngo:t,plc:t}],ni:[1,{ac:e,biz:e,co:e,com:e,edu:e,gob:e,in:e,info:e,int:e,mil:e,net:e,nom:e,org:e,web:e}],nl:[1,{co:t,"hosting-cluster":t,gov:t,khplay:t,"123website":t,myspreadshop:t,transurl:o,cistron:t,demon:t}],no:[1,{fhs:e,folkebibl:e,fylkesbibl:e,idrett:e,museum:e,priv:e,vgs:e,dep:e,herad:e,kommune:e,mil:e,stat:e,aa:Me,ah:Me,bu:Me,fm:Me,hl:Me,hm:Me,"jan-mayen":Me,mr:Me,nl:Me,nt:Me,of:Me,ol:Me,oslo:Me,rl:Me,sf:Me,st:Me,svalbard:Me,tm:Me,tr:Me,va:Me,vf:Me,akrehamn:e,"xn--krehamn-dxa":e,\u00E5krehamn:e,algard:e,"xn--lgrd-poac":e,\u00E5lg\u00E5rd:e,arna:e,bronnoysund:e,"xn--brnnysund-m8ac":e,br\u00F8nn\u00F8ysund:e,brumunddal:e,bryne:e,drobak:e,"xn--drbak-wua":e,dr\u00F8bak:e,egersund:e,fetsund:e,floro:e,"xn--flor-jra":e,flor\u00F8:e,fredrikstad:e,hokksund:e,honefoss:e,"xn--hnefoss-q1a":e,h\u00F8nefoss:e,jessheim:e,jorpeland:e,"xn--jrpeland-54a":e,j\u00F8rpeland:e,kirkenes:e,kopervik:e,krokstadelva:e,langevag:e,"xn--langevg-jxa":e,langev\u00E5g:e,leirvik:e,mjondalen:e,"xn--mjndalen-64a":e,mj\u00F8ndalen:e,"mo-i-rana":e,mosjoen:e,"xn--mosjen-eya":e,mosj\u00F8en:e,nesoddtangen:e,orkanger:e,osoyro:e,"xn--osyro-wua":e,os\u00F8yro:e,raholt:e,"xn--rholt-mra":e,r\u00E5holt:e,sandnessjoen:e,"xn--sandnessjen-ogb":e,sandnessj\u00F8en:e,skedsmokorset:e,slattum:e,spjelkavik:e,stathelle:e,stavern:e,stjordalshalsen:e,"xn--stjrdalshalsen-sqb":e,stj\u00F8rdalshalsen:e,tananger:e,tranby:e,vossevangen:e,aarborte:e,aejrie:e,afjord:e,"xn--fjord-lra":e,\u00E5fjord:e,agdenes:e,akershus:br,aknoluokta:e,"xn--koluokta-7ya57h":e,\u00E1k\u014Boluokta:e,al:e,"xn--l-1fa":e,\u00E5l:e,alaheadju:e,"xn--laheadju-7ya":e,\u00E1laheadju:e,alesund:e,"xn--lesund-hua":e,\u00E5lesund:e,alstahaug:e,alta:e,"xn--lt-liac":e,\u00E1lt\u00E1:e,alvdal:e,amli:e,"xn--mli-tla":e,\u00E5mli:e,amot:e,"xn--mot-tla":e,\u00E5mot:e,andasuolo:e,andebu:e,andoy:e,"xn--andy-ira":e,and\u00F8y:e,ardal:e,"xn--rdal-poa":e,\u00E5rdal:e,aremark:e,arendal:e,"xn--s-1fa":e,\u00E5s:e,aseral:e,"xn--seral-lra":e,\u00E5seral:e,asker:e,askim:e,askoy:e,"xn--asky-ira":e,ask\u00F8y:e,askvoll:e,asnes:e,"xn--snes-poa":e,\u00E5snes:e,audnedaln:e,aukra:e,aure:e,aurland:e,"aurskog-holand":e,"xn--aurskog-hland-jnb":e,"aurskog-h\xF8land":e,austevoll:e,austrheim:e,averoy:e,"xn--avery-yua":e,aver\u00F8y:e,badaddja:e,"xn--bdddj-mrabd":e,b\u00E5d\u00E5ddj\u00E5:e,"xn--brum-voa":e,b\u00E6rum:e,bahcavuotna:e,"xn--bhcavuotna-s4a":e,b\u00E1hcavuotna:e,bahccavuotna:e,"xn--bhccavuotna-k7a":e,b\u00E1hccavuotna:e,baidar:e,"xn--bidr-5nac":e,b\u00E1id\u00E1r:e,bajddar:e,"xn--bjddar-pta":e,b\u00E1jddar:e,balat:e,"xn--blt-elab":e,b\u00E1l\u00E1t:e,balestrand:e,ballangen:e,balsfjord:e,bamble:e,bardu:e,barum:e,batsfjord:e,"xn--btsfjord-9za":e,b\u00E5tsfjord:e,bearalvahki:e,"xn--bearalvhki-y4a":e,bearalv\u00E1hki:e,beardu:e,beiarn:e,berg:e,bergen:e,berlevag:e,"xn--berlevg-jxa":e,berlev\u00E5g:e,bievat:e,"xn--bievt-0qa":e,biev\u00E1t:e,bindal:e,birkenes:e,bjerkreim:e,bjugn:e,bodo:e,"xn--bod-2na":e,bod\u00F8:e,bokn:e,bomlo:e,"xn--bmlo-gra":e,b\u00F8mlo:e,bremanger:e,bronnoy:e,"xn--brnny-wuac":e,br\u00F8nn\u00F8y:e,budejju:e,buskerud:br,bygland:e,bykle:e,cahcesuolo:e,"xn--hcesuolo-7ya35b":e,\u010D\u00E1hcesuolo:e,davvenjarga:e,"xn--davvenjrga-y4a":e,davvenj\u00E1rga:e,davvesiida:e,deatnu:e,dielddanuorri:e,divtasvuodna:e,divttasvuotna:e,donna:e,"xn--dnna-gra":e,d\u00F8nna:e,dovre:e,drammen:e,drangedal:e,dyroy:e,"xn--dyry-ira":e,dyr\u00F8y:e,eid:e,eidfjord:e,eidsberg:e,eidskog:e,eidsvoll:e,eigersund:e,elverum:e,enebakk:e,engerdal:e,etne:e,etnedal:e,evenassi:e,"xn--eveni-0qa01ga":e,even\u00E1\u0161\u0161i:e,evenes:e,"evje-og-hornnes":e,farsund:e,fauske:e,fedje:e,fet:e,finnoy:e,"xn--finny-yua":e,finn\u00F8y:e,fitjar:e,fjaler:e,fjell:e,fla:e,"xn--fl-zia":e,fl\u00E5:e,flakstad:e,flatanger:e,flekkefjord:e,flesberg:e,flora:e,folldal:e,forde:e,"xn--frde-gra":e,f\u00F8rde:e,forsand:e,fosnes:e,"xn--frna-woa":e,fr\u00E6na:e,frana:e,frei:e,frogn:e,froland:e,frosta:e,froya:e,"xn--frya-hra":e,fr\u00F8ya:e,fuoisku:e,fuossko:e,fusa:e,fyresdal:e,gaivuotna:e,"xn--givuotna-8ya":e,g\u00E1ivuotna:e,galsa:e,"xn--gls-elac":e,g\u00E1ls\u00E1:e,gamvik:e,gangaviika:e,"xn--ggaviika-8ya47h":e,g\u00E1\u014Bgaviika:e,gaular:e,gausdal:e,giehtavuoatna:e,gildeskal:e,"xn--gildeskl-g0a":e,gildesk\u00E5l:e,giske:e,gjemnes:e,gjerdrum:e,gjerstad:e,gjesdal:e,gjovik:e,"xn--gjvik-wua":e,gj\u00F8vik:e,gloppen:e,gol:e,gran:e,grane:e,granvin:e,gratangen:e,grimstad:e,grong:e,grue:e,gulen:e,guovdageaidnu:e,ha:e,"xn--h-2fa":e,h\u00E5:e,habmer:e,"xn--hbmer-xqa":e,h\u00E1bmer:e,hadsel:e,"xn--hgebostad-g3a":e,h\u00E6gebostad:e,hagebostad:e,halden:e,halsa:e,hamar:e,hamaroy:e,hammarfeasta:e,"xn--hmmrfeasta-s4ac":e,h\u00E1mm\u00E1rfeasta:e,hammerfest:e,hapmir:e,"xn--hpmir-xqa":e,h\u00E1pmir:e,haram:e,hareid:e,harstad:e,hasvik:e,hattfjelldal:e,haugesund:e,hedmark:[0,{os:e,valer:e,"xn--vler-qoa":e,v\u00E5ler:e}],hemne:e,hemnes:e,hemsedal:e,hitra:e,hjartdal:e,hjelmeland:e,hobol:e,"xn--hobl-ira":e,hob\u00F8l:e,hof:e,hol:e,hole:e,holmestrand:e,holtalen:e,"xn--holtlen-hxa":e,holt\u00E5len:e,hordaland:[0,{os:e}],hornindal:e,horten:e,hoyanger:e,"xn--hyanger-q1a":e,h\u00F8yanger:e,hoylandet:e,"xn--hylandet-54a":e,h\u00F8ylandet:e,hurdal:e,hurum:e,hvaler:e,hyllestad:e,ibestad:e,inderoy:e,"xn--indery-fya":e,inder\u00F8y:e,iveland:e,ivgu:e,jevnaker:e,jolster:e,"xn--jlster-bya":e,j\u00F8lster:e,jondal:e,kafjord:e,"xn--kfjord-iua":e,k\u00E5fjord:e,karasjohka:e,"xn--krjohka-hwab49j":e,k\u00E1r\u00E1\u0161johka:e,karasjok:e,karlsoy:e,karmoy:e,"xn--karmy-yua":e,karm\u00F8y:e,kautokeino:e,klabu:e,"xn--klbu-woa":e,kl\u00E6bu:e,klepp:e,kongsberg:e,kongsvinger:e,kraanghke:e,"xn--kranghke-b0a":e,kr\u00E5anghke:e,kragero:e,"xn--krager-gya":e,krager\u00F8:e,kristiansand:e,kristiansund:e,krodsherad:e,"xn--krdsherad-m8a":e,kr\u00F8dsherad:e,"xn--kvfjord-nxa":e,kv\u00E6fjord:e,"xn--kvnangen-k0a":e,kv\u00E6nangen:e,kvafjord:e,kvalsund:e,kvam:e,kvanangen:e,kvinesdal:e,kvinnherad:e,kviteseid:e,kvitsoy:e,"xn--kvitsy-fya":e,kvits\u00F8y:e,laakesvuemie:e,"xn--lrdal-sra":e,l\u00E6rdal:e,lahppi:e,"xn--lhppi-xqa":e,l\u00E1hppi:e,lardal:e,larvik:e,lavagis:e,lavangen:e,leangaviika:e,"xn--leagaviika-52b":e,lea\u014Bgaviika:e,lebesby:e,leikanger:e,leirfjord:e,leka:e,leksvik:e,lenvik:e,lerdal:e,lesja:e,levanger:e,lier:e,lierne:e,lillehammer:e,lillesand:e,lindas:e,"xn--linds-pra":e,lind\u00E5s:e,lindesnes:e,loabat:e,"xn--loabt-0qa":e,loab\u00E1t:e,lodingen:e,"xn--ldingen-q1a":e,l\u00F8dingen:e,lom:e,loppa:e,lorenskog:e,"xn--lrenskog-54a":e,l\u00F8renskog:e,loten:e,"xn--lten-gra":e,l\u00F8ten:e,lund:e,lunner:e,luroy:e,"xn--lury-ira":e,lur\u00F8y:e,luster:e,lyngdal:e,lyngen:e,malatvuopmi:e,"xn--mlatvuopmi-s4a":e,m\u00E1latvuopmi:e,malselv:e,"xn--mlselv-iua":e,m\u00E5lselv:e,malvik:e,mandal:e,marker:e,marnardal:e,masfjorden:e,masoy:e,"xn--msy-ula0h":e,m\u00E5s\u00F8y:e,"matta-varjjat":e,"xn--mtta-vrjjat-k7af":e,"m\xE1tta-v\xE1rjjat":e,meland:e,meldal:e,melhus:e,meloy:e,"xn--mely-ira":e,mel\u00F8y:e,meraker:e,"xn--merker-kua":e,mer\u00E5ker:e,midsund:e,"midtre-gauldal":e,moareke:e,"xn--moreke-jua":e,mo\u00E5reke:e,modalen:e,modum:e,molde:e,"more-og-romsdal":[0,{heroy:e,sande:e}],"xn--mre-og-romsdal-qqb":[0,{"xn--hery-ira":e,sande:e}],"m\xF8re-og-romsdal":[0,{her\u00F8y:e,sande:e}],moskenes:e,moss:e,muosat:e,"xn--muost-0qa":e,muos\u00E1t:e,naamesjevuemie:e,"xn--nmesjevuemie-tcba":e,n\u00E5\u00E5mesjevuemie:e,"xn--nry-yla5g":e,n\u00E6r\u00F8y:e,namdalseid:e,namsos:e,namsskogan:e,nannestad:e,naroy:e,narviika:e,narvik:e,naustdal:e,navuotna:e,"xn--nvuotna-hwa":e,n\u00E1vuotna:e,"nedre-eiker":e,nesna:e,nesodden:e,nesseby:e,nesset:e,nissedal:e,nittedal:e,"nord-aurdal":e,"nord-fron":e,"nord-odal":e,norddal:e,nordkapp:e,nordland:[0,{bo:e,"xn--b-5ga":e,b\u00F8:e,heroy:e,"xn--hery-ira":e,her\u00F8y:e}],"nordre-land":e,nordreisa:e,"nore-og-uvdal":e,notodden:e,notteroy:e,"xn--nttery-byae":e,n\u00F8tter\u00F8y:e,odda:e,oksnes:e,"xn--ksnes-uua":e,\u00F8ksnes:e,omasvuotna:e,oppdal:e,oppegard:e,"xn--oppegrd-ixa":e,oppeg\u00E5rd:e,orkdal:e,orland:e,"xn--rland-uua":e,\u00F8rland:e,orskog:e,"xn--rskog-uua":e,\u00F8rskog:e,orsta:e,"xn--rsta-fra":e,\u00F8rsta:e,osen:e,osteroy:e,"xn--ostery-fya":e,oster\u00F8y:e,ostfold:[0,{valer:e}],"xn--stfold-9xa":[0,{"xn--vler-qoa":e}],\u00F8stfold:[0,{v\u00E5ler:e}],"ostre-toten":e,"xn--stre-toten-zcb":e,"\xF8stre-toten":e,overhalla:e,"ovre-eiker":e,"xn--vre-eiker-k8a":e,"\xF8vre-eiker":e,oyer:e,"xn--yer-zna":e,\u00F8yer:e,oygarden:e,"xn--ygarden-p1a":e,\u00F8ygarden:e,"oystre-slidre":e,"xn--ystre-slidre-ujb":e,"\xF8ystre-slidre":e,porsanger:e,porsangu:e,"xn--porsgu-sta26f":e,pors\u00E1\u014Bgu:e,porsgrunn:e,rade:e,"xn--rde-ula":e,r\u00E5de:e,radoy:e,"xn--rady-ira":e,rad\u00F8y:e,"xn--rlingen-mxa":e,r\u00E6lingen:e,rahkkeravju:e,"xn--rhkkervju-01af":e,r\u00E1hkker\u00E1vju:e,raisa:e,"xn--risa-5na":e,r\u00E1isa:e,rakkestad:e,ralingen:e,rana:e,randaberg:e,rauma:e,rendalen:e,rennebu:e,rennesoy:e,"xn--rennesy-v1a":e,rennes\u00F8y:e,rindal:e,ringebu:e,ringerike:e,ringsaker:e,risor:e,"xn--risr-ira":e,ris\u00F8r:e,rissa:e,roan:e,rodoy:e,"xn--rdy-0nab":e,r\u00F8d\u00F8y:e,rollag:e,romsa:e,romskog:e,"xn--rmskog-bya":e,r\u00F8mskog:e,roros:e,"xn--rros-gra":e,r\u00F8ros:e,rost:e,"xn--rst-0na":e,r\u00F8st:e,royken:e,"xn--ryken-vua":e,r\u00F8yken:e,royrvik:e,"xn--ryrvik-bya":e,r\u00F8yrvik:e,ruovat:e,rygge:e,salangen:e,salat:e,"xn--slat-5na":e,s\u00E1lat:e,"xn--slt-elab":e,s\u00E1l\u00E1t:e,saltdal:e,samnanger:e,sandefjord:e,sandnes:e,sandoy:e,"xn--sandy-yua":e,sand\u00F8y:e,sarpsborg:e,sauda:e,sauherad:e,sel:e,selbu:e,selje:e,seljord:e,siellak:e,sigdal:e,siljan:e,sirdal:e,skanit:e,"xn--sknit-yqa":e,sk\u00E1nit:e,skanland:e,"xn--sknland-fxa":e,sk\u00E5nland:e,skaun:e,skedsmo:e,ski:e,skien:e,skierva:e,"xn--skierv-uta":e,skierv\u00E1:e,skiptvet:e,skjak:e,"xn--skjk-soa":e,skj\u00E5k:e,skjervoy:e,"xn--skjervy-v1a":e,skjerv\u00F8y:e,skodje:e,smola:e,"xn--smla-hra":e,sm\u00F8la:e,snaase:e,"xn--snase-nra":e,sn\u00E5ase:e,snasa:e,"xn--snsa-roa":e,sn\u00E5sa:e,snillfjord:e,snoasa:e,sogndal:e,sogne:e,"xn--sgne-gra":e,s\u00F8gne:e,sokndal:e,sola:e,solund:e,somna:e,"xn--smna-gra":e,s\u00F8mna:e,"sondre-land":e,"xn--sndre-land-0cb":e,"s\xF8ndre-land":e,songdalen:e,"sor-aurdal":e,"xn--sr-aurdal-l8a":e,"s\xF8r-aurdal":e,"sor-fron":e,"xn--sr-fron-q1a":e,"s\xF8r-fron":e,"sor-odal":e,"xn--sr-odal-q1a":e,"s\xF8r-odal":e,"sor-varanger":e,"xn--sr-varanger-ggb":e,"s\xF8r-varanger":e,sorfold:e,"xn--srfold-bya":e,s\u00F8rfold:e,sorreisa:e,"xn--srreisa-q1a":e,s\u00F8rreisa:e,sortland:e,sorum:e,"xn--srum-gra":e,s\u00F8rum:e,spydeberg:e,stange:e,stavanger:e,steigen:e,steinkjer:e,stjordal:e,"xn--stjrdal-s1a":e,stj\u00F8rdal:e,stokke:e,"stor-elvdal":e,stord:e,stordal:e,storfjord:e,strand:e,stranda:e,stryn:e,sula:e,suldal:e,sund:e,sunndal:e,surnadal:e,sveio:e,svelvik:e,sykkylven:e,tana:e,telemark:[0,{bo:e,"xn--b-5ga":e,b\u00F8:e}],time:e,tingvoll:e,tinn:e,tjeldsund:e,tjome:e,"xn--tjme-hra":e,tj\u00F8me:e,tokke:e,tolga:e,tonsberg:e,"xn--tnsberg-q1a":e,t\u00F8nsberg:e,torsken:e,"xn--trna-woa":e,tr\u00E6na:e,trana:e,tranoy:e,"xn--trany-yua":e,tran\u00F8y:e,troandin:e,trogstad:e,"xn--trgstad-r1a":e,tr\u00F8gstad:e,tromsa:e,tromso:e,"xn--troms-zua":e,troms\u00F8:e,trondheim:e,trysil:e,tvedestrand:e,tydal:e,tynset:e,tysfjord:e,tysnes:e,"xn--tysvr-vra":e,tysv\u00E6r:e,tysvar:e,ullensaker:e,ullensvang:e,ulvik:e,unjarga:e,"xn--unjrga-rta":e,unj\u00E1rga:e,utsira:e,vaapste:e,vadso:e,"xn--vads-jra":e,vads\u00F8:e,"xn--vry-yla5g":e,v\u00E6r\u00F8y:e,vaga:e,"xn--vg-yiab":e,v\u00E5g\u00E5:e,vagan:e,"xn--vgan-qoa":e,v\u00E5gan:e,vagsoy:e,"xn--vgsy-qoa0j":e,v\u00E5gs\u00F8y:e,vaksdal:e,valle:e,vang:e,vanylven:e,vardo:e,"xn--vard-jra":e,vard\u00F8:e,varggat:e,"xn--vrggt-xqad":e,v\u00E1rgg\u00E1t:e,varoy:e,vefsn:e,vega:e,vegarshei:e,"xn--vegrshei-c0a":e,veg\u00E5rshei:e,vennesla:e,verdal:e,verran:e,vestby:e,vestfold:[0,{sande:e}],vestnes:e,"vestre-slidre":e,"vestre-toten":e,vestvagoy:e,"xn--vestvgy-ixa6o":e,vestv\u00E5g\u00F8y:e,vevelstad:e,vik:e,vikna:e,vindafjord:e,voagat:e,volda:e,voss:e,co:t,"123hjemmeside":t,myspreadshop:t}],np:x,nr:nt,nu:[1,{merseine:t,mine:t,shacknet:t,enterprisecloud:t}],nz:[1,{ac:e,co:e,cri:e,geek:e,gen:e,govt:e,health:e,iwi:e,kiwi:e,maori:e,"xn--mori-qsa":e,m\u0101ori:e,mil:e,net:e,org:e,parliament:e,school:e,cloudns:t}],om:[1,{co:e,com:e,edu:e,gov:e,med:e,museum:e,net:e,org:e,pro:e}],onion:e,org:[1,{altervista:t,pimienta:t,poivron:t,potager:t,sweetpepper:t,cdn77:[0,{c:t,rsc:t}],"cdn77-secure":[0,{origin:[0,{ssl:t}]}],ae:t,cloudns:t,"ip-dynamic":t,ddnss:t,dpdns:t,duckdns:t,tunk:t,blogdns:t,blogsite:t,boldlygoingnowhere:t,dnsalias:t,dnsdojo:t,doesntexist:t,dontexist:t,doomdns:t,dvrdns:t,dynalias:t,dyndns:[2,{go:t,home:t}],endofinternet:t,endoftheinternet:t,"from-me":t,"game-host":t,gotdns:t,"hobby-site":t,homedns:t,homeftp:t,homelinux:t,homeunix:t,"is-a-bruinsfan":t,"is-a-candidate":t,"is-a-celticsfan":t,"is-a-chef":t,"is-a-geek":t,"is-a-knight":t,"is-a-linux-user":t,"is-a-patsfan":t,"is-a-soxfan":t,"is-found":t,"is-lost":t,"is-saved":t,"is-very-bad":t,"is-very-evil":t,"is-very-good":t,"is-very-nice":t,"is-very-sweet":t,"isa-geek":t,"kicks-ass":t,misconfused:t,podzone:t,readmyblog:t,selfip:t,sellsyourhome:t,servebbs:t,serveftp:t,servegame:t,"stuff-4-sale":t,webhop:t,accesscam:t,camdvr:t,freeddns:t,mywire:t,roxa:t,webredirect:t,twmail:t,eu:[2,{al:t,asso:t,at:t,au:t,be:t,bg:t,ca:t,cd:t,ch:t,cn:t,cy:t,cz:t,de:t,dk:t,edu:t,ee:t,es:t,fi:t,fr:t,gr:t,hr:t,hu:t,ie:t,il:t,in:t,int:t,is:t,it:t,jp:t,kr:t,lt:t,lu:t,lv:t,me:t,mk:t,mt:t,my:t,net:t,ng:t,nl:t,no:t,nz:t,pl:t,pt:t,ro:t,ru:t,se:t,si:t,sk:t,tr:t,uk:t,us:t}],fedorainfracloud:t,fedorapeople:t,fedoraproject:[0,{cloud:t,os:le,stg:[0,{os:le}]}],freedesktop:t,hatenadiary:t,hepforge:t,"in-dsl":t,"in-vpn":t,js:t,barsy:t,mayfirst:t,routingthecloud:t,bmoattachments:t,"cable-modem":t,collegefan:t,couchpotatofries:t,hopto:t,mlbfan:t,myftp:t,mysecuritycamera:t,nflfan:t,"no-ip":t,"read-books":t,ufcfan:t,zapto:t,dynserv:t,"now-dns":t,"is-local":t,httpbin:t,pubtls:t,jpn:t,"my-firewall":t,myfirewall:t,spdns:t,"small-web":t,dsmynas:t,familyds:t,teckids:St,tuxfamily:t,hk:t,us:t,toolforge:t,wmcloud:[2,{beta:t}],wmflabs:t,za:t}],pa:[1,{abo:e,ac:e,com:e,edu:e,gob:e,ing:e,med:e,net:e,nom:e,org:e,sld:e}],pe:[1,{com:e,edu:e,gob:e,mil:e,net:e,nom:e,org:e}],pf:[1,{com:e,edu:e,org:e}],pg:x,ph:[1,{com:e,edu:e,gov:e,i:e,mil:e,net:e,ngo:e,org:e,cloudns:t}],pk:[1,{ac:e,biz:e,com:e,edu:e,fam:e,gkp:e,gob:e,gog:e,gok:e,gop:e,gos:e,gov:e,net:e,org:e,web:e}],pl:[1,{com:e,net:e,org:e,agro:e,aid:e,atm:e,auto:e,biz:e,edu:e,gmina:e,gsm:e,info:e,mail:e,media:e,miasta:e,mil:e,nieruchomosci:e,nom:e,pc:e,powiat:e,priv:e,realestate:e,rel:e,sex:e,shop:e,sklep:e,sos:e,szkola:e,targi:e,tm:e,tourism:e,travel:e,turystyka:e,gov:[1,{ap:e,griw:e,ic:e,is:e,kmpsp:e,konsulat:e,kppsp:e,kwp:e,kwpsp:e,mup:e,mw:e,oia:e,oirm:e,oke:e,oow:e,oschr:e,oum:e,pa:e,pinb:e,piw:e,po:e,pr:e,psp:e,psse:e,pup:e,rzgw:e,sa:e,sdn:e,sko:e,so:e,sr:e,starostwo:e,ug:e,ugim:e,um:e,umig:e,upow:e,uppo:e,us:e,uw:e,uzs:e,wif:e,wiih:e,winb:e,wios:e,witd:e,wiw:e,wkz:e,wsa:e,wskr:e,wsse:e,wuoz:e,wzmiuw:e,zp:e,zpisdn:e}],augustow:e,"babia-gora":e,bedzin:e,beskidy:e,bialowieza:e,bialystok:e,bielawa:e,bieszczady:e,boleslawiec:e,bydgoszcz:e,bytom:e,cieszyn:e,czeladz:e,czest:e,dlugoleka:e,elblag:e,elk:e,glogow:e,gniezno:e,gorlice:e,grajewo:e,ilawa:e,jaworzno:e,"jelenia-gora":e,jgora:e,kalisz:e,karpacz:e,kartuzy:e,kaszuby:e,katowice:e,"kazimierz-dolny":e,kepno:e,ketrzyn:e,klodzko:e,kobierzyce:e,kolobrzeg:e,konin:e,konskowola:e,kutno:e,lapy:e,lebork:e,legnica:e,lezajsk:e,limanowa:e,lomza:e,lowicz:e,lubin:e,lukow:e,malbork:e,malopolska:e,mazowsze:e,mazury:e,mielec:e,mielno:e,mragowo:e,naklo:e,nowaruda:e,nysa:e,olawa:e,olecko:e,olkusz:e,olsztyn:e,opoczno:e,opole:e,ostroda:e,ostroleka:e,ostrowiec:e,ostrowwlkp:e,pila:e,pisz:e,podhale:e,podlasie:e,polkowice:e,pomorskie:e,pomorze:e,prochowice:e,pruszkow:e,przeworsk:e,pulawy:e,radom:e,"rawa-maz":e,rybnik:e,rzeszow:e,sanok:e,sejny:e,skoczow:e,slask:e,slupsk:e,sosnowiec:e,"stalowa-wola":e,starachowice:e,stargard:e,suwalki:e,swidnica:e,swiebodzin:e,swinoujscie:e,szczecin:e,szczytno:e,tarnobrzeg:e,tgory:e,turek:e,tychy:e,ustka:e,walbrzych:e,warmia:e,warszawa:e,waw:e,wegrow:e,wielun:e,wlocl:e,wloclawek:e,wodzislaw:e,wolomin:e,wroclaw:e,zachpomor:e,zagan:e,zarow:e,zgora:e,zgorzelec:e,art:t,gliwice:t,krakow:t,poznan:t,wroc:t,zakopane:t,beep:t,"ecommerce-shop":t,cfolks:t,dfirma:t,dkonto:t,you2:t,shoparena:t,homesklep:t,sdscloud:t,unicloud:t,lodz:t,pabianice:t,plock:t,sieradz:t,skierniewice:t,zgierz:t,krasnik:t,leczna:t,lubartow:t,lublin:t,poniatowa:t,swidnik:t,co:t,torun:t,simplesite:t,myspreadshop:t,gda:t,gdansk:t,gdynia:t,med:t,sopot:t,bielsko:t}],pm:[1,{own:t,name:t}],pn:[1,{co:e,edu:e,gov:e,net:e,org:e}],post:e,pr:[1,{biz:e,com:e,edu:e,gov:e,info:e,isla:e,name:e,net:e,org:e,pro:e,ac:e,est:e,prof:e}],pro:[1,{aaa:e,aca:e,acct:e,avocat:e,bar:e,cpa:e,eng:e,jur:e,law:e,med:e,recht:e,cloudns:t,keenetic:t,barsy:t,ngrok:t}],ps:[1,{com:e,edu:e,gov:e,net:e,org:e,plo:e,sec:e}],pt:[1,{com:e,edu:e,gov:e,int:e,net:e,nome:e,org:e,publ:e,"123paginaweb":t}],pw:[1,{gov:e,cloudns:t,x443:t}],py:[1,{com:e,coop:e,edu:e,gov:e,mil:e,net:e,org:e}],qa:[1,{com:e,edu:e,gov:e,mil:e,name:e,net:e,org:e,sch:e}],re:[1,{asso:e,com:e,netlib:t,can:t}],ro:[1,{arts:e,com:e,firm:e,info:e,nom:e,nt:e,org:e,rec:e,store:e,tm:e,www:e,co:t,shop:t,barsy:t}],rs:[1,{ac:e,co:e,edu:e,gov:e,in:e,org:e,brendly:k,barsy:t,ox:t}],ru:[1,{ac:t,edu:t,gov:t,int:t,mil:t,eurodir:t,adygeya:t,bashkiria:t,bir:t,cbg:t,com:t,dagestan:t,grozny:t,kalmykia:t,kustanai:t,marine:t,mordovia:t,msk:t,mytis:t,nalchik:t,nov:t,pyatigorsk:t,spb:t,vladikavkaz:t,vladimir:t,na4u:t,mircloud:t,myjino:[2,{hosting:o,landing:o,spectrum:o,vps:o}],cldmail:[0,{hb:t}],mcdir:[2,{vps:t}],mcpre:t,net:t,org:t,pp:t,ras:t}],rw:[1,{ac:e,co:e,coop:e,gov:e,mil:e,net:e,org:e}],sa:[1,{com:e,edu:e,gov:e,med:e,net:e,org:e,pub:e,sch:e}],sb:n,sc:n,sd:[1,{com:e,edu:e,gov:e,info:e,med:e,net:e,org:e,tv:e}],se:[1,{a:e,ac:e,b:e,bd:e,brand:e,c:e,d:e,e,f:e,fh:e,fhsk:e,fhv:e,g:e,h:e,i:e,k:e,komforb:e,kommunalforbund:e,komvux:e,l:e,lanbib:e,m:e,n:e,naturbruksgymn:e,o:e,org:e,p:e,parti:e,pp:e,press:e,r:e,s:e,t:e,tm:e,u:e,w:e,x:e,y:e,z:e,com:t,iopsys:t,"123minsida":t,itcouldbewor:t,myspreadshop:t}],sg:[1,{com:e,edu:e,gov:e,net:e,org:e,enscaled:t}],sh:[1,{com:e,gov:e,mil:e,net:e,org:e,hashbang:t,botda:t,lovable:t,platform:[0,{ent:t,eu:t,us:t}],teleport:t,now:t}],si:[1,{f5:t,gitapp:t,gitpage:t}],sj:e,sk:[1,{org:e}],sl:n,sm:e,sn:[1,{art:e,com:e,edu:e,gouv:e,org:e,univ:e}],so:[1,{com:e,edu:e,gov:e,me:e,net:e,org:e,surveys:t}],sr:e,ss:[1,{biz:e,co:e,com:e,edu:e,gov:e,me:e,net:e,org:e,sch:e}],st:[1,{co:e,com:e,consulado:e,edu:e,embaixada:e,mil:e,net:e,org:e,principe:e,saotome:e,store:e,helioho:t,cn:o,kirara:t,noho:t}],su:[1,{abkhazia:t,adygeya:t,aktyubinsk:t,arkhangelsk:t,armenia:t,ashgabad:t,azerbaijan:t,balashov:t,bashkiria:t,bryansk:t,bukhara:t,chimkent:t,dagestan:t,"east-kazakhstan":t,exnet:t,georgia:t,grozny:t,ivanovo:t,jambyl:t,kalmykia:t,kaluga:t,karacol:t,karaganda:t,karelia:t,khakassia:t,krasnodar:t,kurgan:t,kustanai:t,lenug:t,mangyshlak:t,mordovia:t,msk:t,murmansk:t,nalchik:t,navoi:t,"north-kazakhstan":t,nov:t,obninsk:t,penza:t,pokrovsk:t,sochi:t,spb:t,tashkent:t,termez:t,togliatti:t,troitsk:t,tselinograd:t,tula:t,tuva:t,vladikavkaz:t,vladimir:t,vologda:t}],sv:[1,{com:e,edu:e,gob:e,org:e,red:e}],sx:c,sy:r,sz:[1,{ac:e,co:e,org:e}],tc:e,td:e,tel:e,tf:[1,{sch:t}],tg:e,th:[1,{ac:e,co:e,go:e,in:e,mi:e,net:e,or:e,online:t,shop:t}],tj:[1,{ac:e,biz:e,co:e,com:e,edu:e,go:e,gov:e,int:e,mil:e,name:e,net:e,nic:e,org:e,test:e,web:e}],tk:e,tl:c,tm:[1,{co:e,com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e}],tn:[1,{com:e,ens:e,fin:e,gov:e,ind:e,info:e,intl:e,mincom:e,nat:e,net:e,org:e,perso:e,tourism:e,orangecloud:t}],to:[1,{611:t,com:e,edu:e,gov:e,mil:e,net:e,org:e,oya:t,x0:t,quickconnect:ee,vpnplus:t,nett:t}],tr:[1,{av:e,bbs:e,bel:e,biz:e,com:e,dr:e,edu:e,gen:e,gov:e,info:e,k12:e,kep:e,mil:e,name:e,net:e,org:e,pol:e,tel:e,tsk:e,tv:e,web:e,nc:c}],tt:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,mil:e,name:e,net:e,org:e,pro:e}],tv:[1,{"better-than":t,dyndns:t,"on-the-web":t,"worse-than":t,from:t,sakura:t}],tw:[1,{club:e,com:[1,{mymailer:t}],ebiz:e,edu:e,game:e,gov:e,idv:e,mil:e,net:e,org:e,url:t,mydns:t}],tz:[1,{ac:e,co:e,go:e,hotel:e,info:e,me:e,mil:e,mobi:e,ne:e,or:e,sc:e,tv:e}],ua:[1,{com:e,edu:e,gov:e,in:e,net:e,org:e,cherkassy:e,cherkasy:e,chernigov:e,chernihiv:e,chernivtsi:e,chernovtsy:e,ck:e,cn:e,cr:e,crimea:e,cv:e,dn:e,dnepropetrovsk:e,dnipropetrovsk:e,donetsk:e,dp:e,if:e,"ivano-frankivsk":e,kh:e,kharkiv:e,kharkov:e,kherson:e,khmelnitskiy:e,khmelnytskyi:e,kiev:e,kirovograd:e,km:e,kr:e,kropyvnytskyi:e,krym:e,ks:e,kv:e,kyiv:e,lg:e,lt:e,lugansk:e,luhansk:e,lutsk:e,lv:e,lviv:e,mk:e,mykolaiv:e,nikolaev:e,od:e,odesa:e,odessa:e,pl:e,poltava:e,rivne:e,rovno:e,rv:e,sb:e,sebastopol:e,sevastopol:e,sm:e,sumy:e,te:e,ternopil:e,uz:e,uzhgorod:e,uzhhorod:e,vinnica:e,vinnytsia:e,vn:e,volyn:e,yalta:e,zakarpattia:e,zaporizhzhe:e,zaporizhzhia:e,zhitomir:e,zhytomyr:e,zp:e,zt:e,cc:t,inf:t,ltd:t,cx:t,biz:t,co:t,pp:t,v:t}],ug:[1,{ac:e,co:e,com:e,edu:e,go:e,gov:e,mil:e,ne:e,or:e,org:e,sc:e,us:e}],uk:[1,{ac:e,co:[1,{bytemark:[0,{dh:t,vm:t}],layershift:dt,barsy:t,barsyonline:t,retrosnub:$t,"nh-serv":t,"no-ip":t,adimo:t,myspreadshop:t}],gov:[1,{api:t,campaign:t,service:t}],ltd:e,me:e,net:e,nhs:e,org:[1,{glug:t,lug:t,lugs:t,affinitylottery:t,raffleentry:t,weeklylottery:t}],plc:e,police:e,sch:x,conn:t,copro:t,hosp:t,"independent-commission":t,"independent-inquest":t,"independent-inquiry":t,"independent-panel":t,"independent-review":t,"public-inquiry":t,"royal-commission":t,pymnt:t,barsy:t,nimsite:t,oraclegovcloudapps:o}],us:[1,{dni:e,isa:e,nsn:e,ak:De,al:De,ar:De,as:De,az:De,ca:De,co:De,ct:De,dc:De,de:Bt,fl:De,ga:De,gu:De,hi:Tn,ia:De,id:De,il:De,in:De,ks:De,ky:De,la:De,ma:[1,{k12:[1,{chtr:e,paroch:e,pvt:e}],cc:e,lib:e}],md:De,me:De,mi:[1,{k12:e,cc:e,lib:e,"ann-arbor":e,cog:e,dst:e,eaton:e,gen:e,mus:e,tec:e,washtenaw:e}],mn:De,mo:De,ms:[1,{k12:e,cc:e}],mt:De,nc:De,nd:Tn,ne:De,nh:De,nj:De,nm:De,nv:De,ny:De,oh:De,ok:De,or:De,pa:De,pr:De,ri:Tn,sc:De,sd:Tn,tn:De,tx:De,ut:De,va:De,vi:De,vt:De,wa:De,wi:De,wv:Bt,wy:De,cloudns:t,"is-by":t,"land-4-sale":t,"stuff-4-sale":t,heliohost:t,enscaled:[0,{phx:t}],mircloud:t,"azure-api":t,azurewebsites:t,ngo:t,golffan:t,noip:t,pointto:t,freeddns:t,srv:[2,{gh:t,gl:t}],servername:t}],uy:[1,{com:e,edu:e,gub:e,mil:e,net:e,org:e,gv:t}],uz:[1,{co:e,com:e,net:e,org:e}],va:e,vc:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,gv:[2,{d:t}],"0e":o,mydns:t}],ve:[1,{arts:e,bib:e,co:e,com:e,e12:e,edu:e,emprende:e,firm:e,gob:e,gov:e,ia:e,info:e,int:e,mil:e,net:e,nom:e,org:e,rar:e,rec:e,store:e,tec:e,web:e}],vg:[1,{edu:e}],vi:[1,{co:e,com:e,k12:e,net:e,org:e}],vn:[1,{ac:e,ai:e,biz:e,com:e,edu:e,gov:e,health:e,id:e,info:e,int:e,io:e,name:e,net:e,org:e,pro:e,angiang:e,bacgiang:e,backan:e,baclieu:e,bacninh:e,"baria-vungtau":e,bentre:e,binhdinh:e,binhduong:e,binhphuoc:e,binhthuan:e,camau:e,cantho:e,caobang:e,daklak:e,daknong:e,danang:e,dienbien:e,dongnai:e,dongthap:e,gialai:e,hagiang:e,haiduong:e,haiphong:e,hanam:e,hanoi:e,hatinh:e,haugiang:e,hoabinh:e,hue:e,hungyen:e,khanhhoa:e,kiengiang:e,kontum:e,laichau:e,lamdong:e,langson:e,laocai:e,longan:e,namdinh:e,nghean:e,ninhbinh:e,ninhthuan:e,phutho:e,phuyen:e,quangbinh:e,quangnam:e,quangngai:e,quangninh:e,quangtri:e,soctrang:e,sonla:e,tayninh:e,thaibinh:e,thainguyen:e,thanhhoa:e,thanhphohochiminh:e,thuathienhue:e,tiengiang:e,travinh:e,tuyenquang:e,vinhlong:e,vinhphuc:e,yenbai:e}],vu:ge,wf:[1,{biz:t,sch:t}],ws:[1,{com:e,edu:e,gov:e,net:e,org:e,advisor:o,cloud66:t,dyndns:t,mypets:t}],yt:[1,{org:t}],"xn--mgbaam7a8h":e,\u0627\u0645\u0627\u0631\u0627\u062A:e,"xn--y9a3aq":e,\u0570\u0561\u0575:e,"xn--54b7fta0cc":e,\u09AC\u09BE\u0982\u09B2\u09BE:e,"xn--90ae":e,\u0431\u0433:e,"xn--mgbcpq6gpa1a":e,\u0627\u0644\u0628\u062D\u0631\u064A\u0646:e,"xn--90ais":e,\u0431\u0435\u043B:e,"xn--fiqs8s":e,\u4E2D\u56FD:e,"xn--fiqz9s":e,\u4E2D\u570B:e,"xn--lgbbat1ad8j":e,\u0627\u0644\u062C\u0632\u0627\u0626\u0631:e,"xn--wgbh1c":e,\u0645\u0635\u0631:e,"xn--e1a4c":e,\u0435\u044E:e,"xn--qxa6a":e,\u03B5\u03C5:e,"xn--mgbah1a3hjkrd":e,\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627:e,"xn--node":e,\u10D2\u10D4:e,"xn--qxam":e,\u03B5\u03BB:e,"xn--j6w193g":[1,{"xn--gmqw5a":e,"xn--55qx5d":e,"xn--mxtq1m":e,"xn--wcvs22d":e,"xn--uc0atv":e,"xn--od0alg":e}],\u9999\u6E2F:[1,{\u500B\u4EBA:e,\u516C\u53F8:e,\u653F\u5E9C:e,\u6559\u80B2:e,\u7D44\u7E54:e,\u7DB2\u7D61:e}],"xn--2scrj9c":e,\u0CAD\u0CBE\u0CB0\u0CA4:e,"xn--3hcrj9c":e,\u0B2D\u0B3E\u0B30\u0B24:e,"xn--45br5cyl":e,\u09AD\u09BE\u09F0\u09A4:e,"xn--h2breg3eve":e,\u092D\u093E\u0930\u0924\u092E\u094D:e,"xn--h2brj9c8c":e,\u092D\u093E\u0930\u094B\u0924:e,"xn--mgbgu82a":e,\u0680\u0627\u0631\u062A:e,"xn--rvc1e0am3e":e,\u0D2D\u0D3E\u0D30\u0D24\u0D02:e,"xn--h2brj9c":e,\u092D\u093E\u0930\u0924:e,"xn--mgbbh1a":e,\u0628\u0627\u0631\u062A:e,"xn--mgbbh1a71e":e,\u0628\u06BE\u0627\u0631\u062A:e,"xn--fpcrj9c3d":e,\u0C2D\u0C3E\u0C30\u0C24\u0C4D:e,"xn--gecrj9c":e,\u0AAD\u0ABE\u0AB0\u0AA4:e,"xn--s9brj9c":e,\u0A2D\u0A3E\u0A30\u0A24:e,"xn--45brj9c":e,\u09AD\u09BE\u09B0\u09A4:e,"xn--xkc2dl3a5ee0h":e,\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBE:e,"xn--mgba3a4f16a":e,\u0627\u06CC\u0631\u0627\u0646:e,"xn--mgba3a4fra":e,\u0627\u064A\u0631\u0627\u0646:e,"xn--mgbtx2b":e,\u0639\u0631\u0627\u0642:e,"xn--mgbayh7gpa":e,\u0627\u0644\u0627\u0631\u062F\u0646:e,"xn--3e0b707e":e,\uD55C\uAD6D:e,"xn--80ao21a":e,\u049B\u0430\u0437:e,"xn--q7ce6a":e,\u0EA5\u0EB2\u0EA7:e,"xn--fzc2c9e2c":e,\u0DBD\u0D82\u0D9A\u0DCF:e,"xn--xkc2al3hye2a":e,\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8:e,"xn--mgbc0a9azcg":e,\u0627\u0644\u0645\u063A\u0631\u0628:e,"xn--d1alf":e,\u043C\u043A\u0434:e,"xn--l1acc":e,\u043C\u043E\u043D:e,"xn--mix891f":e,\u6FB3\u9580:e,"xn--mix082f":e,\u6FB3\u95E8:e,"xn--mgbx4cd0ab":e,\u0645\u0644\u064A\u0633\u064A\u0627:e,"xn--mgb9awbf":e,\u0639\u0645\u0627\u0646:e,"xn--mgbai9azgqp6j":e,\u067E\u0627\u06A9\u0633\u062A\u0627\u0646:e,"xn--mgbai9a5eva00b":e,\u067E\u0627\u0643\u0633\u062A\u0627\u0646:e,"xn--ygbi2ammx":e,\u0641\u0644\u0633\u0637\u064A\u0646:e,"xn--90a3ac":[1,{"xn--80au":e,"xn--90azh":e,"xn--d1at":e,"xn--c1avg":e,"xn--o1ac":e,"xn--o1ach":e}],\u0441\u0440\u0431:[1,{\u0430\u043A:e,\u043E\u0431\u0440:e,\u043E\u0434:e,\u043E\u0440\u0433:e,\u043F\u0440:e,\u0443\u043F\u0440:e}],"xn--p1ai":e,\u0440\u0444:e,"xn--wgbl6a":e,\u0642\u0637\u0631:e,"xn--mgberp4a5d4ar":e,\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629:e,"xn--mgberp4a5d4a87g":e,\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u0629:e,"xn--mgbqly7c0a67fbc":e,\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u06C3:e,"xn--mgbqly7cvafr":e,\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647:e,"xn--mgbpl2fh":e,\u0633\u0648\u062F\u0627\u0646:e,"xn--yfro4i67o":e,\u65B0\u52A0\u5761:e,"xn--clchc0ea0b2g2a9gcd":e,\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD:e,"xn--ogbpf8fl":e,\u0633\u0648\u0631\u064A\u0629:e,"xn--mgbtf8fl":e,\u0633\u0648\u0631\u064A\u0627:e,"xn--o3cw4h":[1,{"xn--o3cyx2a":e,"xn--12co0c3b4eva":e,"xn--m3ch0j3a":e,"xn--h3cuzk1di":e,"xn--12c1fe0br":e,"xn--12cfi8ixb8l":e}],\u0E44\u0E17\u0E22:[1,{\u0E17\u0E2B\u0E32\u0E23:e,\u0E18\u0E38\u0E23\u0E01\u0E34\u0E08:e,\u0E40\u0E19\u0E47\u0E15:e,\u0E23\u0E31\u0E10\u0E1A\u0E32\u0E25:e,\u0E28\u0E36\u0E01\u0E29\u0E32:e,\u0E2D\u0E07\u0E04\u0E4C\u0E01\u0E23:e}],"xn--pgbs0dh":e,\u062A\u0648\u0646\u0633:e,"xn--kpry57d":e,\u53F0\u7063:e,"xn--kprw13d":e,\u53F0\u6E7E:e,"xn--nnx388a":e,\u81FA\u7063:e,"xn--j1amh":e,\u0443\u043A\u0440:e,"xn--mgb2ddes":e,\u0627\u0644\u064A\u0645\u0646:e,xxx:e,ye:r,za:[0,{ac:e,agric:e,alt:e,co:e,edu:e,gov:e,grondar:e,law:e,mil:e,net:e,ngo:e,nic:e,nis:e,nom:e,org:e,school:e,tm:e,web:e}],zm:[1,{ac:e,biz:e,co:e,com:e,edu:e,gov:e,info:e,mil:e,net:e,org:e,sch:e}],zw:[1,{ac:e,co:e,gov:e,mil:e,org:e}],aaa:e,aarp:e,abb:e,abbott:e,abbvie:e,abc:e,able:e,abogado:e,abudhabi:e,academy:[1,{official:t}],accenture:e,accountant:e,accountants:e,aco:e,actor:e,ads:e,adult:e,aeg:e,aetna:e,afl:e,africa:e,agakhan:e,agency:e,aig:e,airbus:e,airforce:e,airtel:e,akdn:e,alibaba:e,alipay:e,allfinanz:e,allstate:e,ally:e,alsace:e,alstom:e,amazon:e,americanexpress:e,americanfamily:e,amex:e,amfam:e,amica:e,amsterdam:e,analytics:e,android:e,anquan:e,anz:e,aol:e,apartments:e,app:[1,{adaptable:t,aiven:t,beget:o,brave:i,clerk:t,clerkstage:t,cloudflare:t,wnext:t,csb:[2,{preview:t}],convex:t,corespeed:t,deta:t,ondigitalocean:t,easypanel:t,encr:[2,{frontend:t}],evervault:a,expo:[2,{on:t,staging:[2,{on:t}]}],edgecompute:t,"on-fleek":t,flutterflow:t,sprites:t,e2b:t,framer:t,gadget:t,github:t,hosted:o,run:[0,{"*":t,mtls:o}],web:t,hackclub:t,hasura:t,onhercules:t,botdash:t,shiptoday:t,leapcell:t,loginline:t,lovable:t,luyani:t,magicpatterns:t,medusajs:t,messerli:t,miren:t,mocha:t,netlify:t,ngrok:t,"ngrok-free":t,developer:o,noop:t,northflank:o,upsun:o,railway:[0,{up:t}],replit:s,nyat:t,snowflake:[0,{"*":t,privatelink:o}],streamlit:t,spawnbase:t,telebit:t,typedream:t,vercel:t,wal:t,wasmer:t,bookonline:t,windsurf:t,base44:t,zeabur:t,zerops:o}],apple:[1,{int:[2,{cloud:[0,{"*":t,r:[0,{"*":t,"ap-north-1":o,"ap-south-1":o,"ap-south-2":o,"eu-central-1":o,"eu-north-1":o,"us-central-1":o,"us-central-2":o,"us-east-1":o,"us-east-2":o,"us-west-1":o,"us-west-2":o,"us-west-3":o}]}]}]}],aquarelle:e,arab:e,aramco:e,archi:e,army:e,art:e,arte:e,asda:e,associates:e,athleta:e,attorney:e,auction:e,audi:e,audible:e,audio:e,auspost:e,author:e,auto:e,autos:e,aws:[1,{on:[0,{"af-south-1":l,"ap-east-1":l,"ap-northeast-1":l,"ap-northeast-2":l,"ap-northeast-3":l,"ap-south-1":l,"ap-south-2":d,"ap-southeast-1":l,"ap-southeast-2":l,"ap-southeast-3":l,"ap-southeast-4":d,"ap-southeast-5":d,"ca-central-1":l,"ca-west-1":d,"eu-central-1":l,"eu-central-2":d,"eu-north-1":l,"eu-south-1":l,"eu-south-2":d,"eu-west-1":l,"eu-west-2":l,"eu-west-3":l,"il-central-1":d,"me-central-1":d,"me-south-1":l,"sa-east-1":l,"us-east-1":l,"us-east-2":l,"us-west-1":l,"us-west-2":l,"ap-southeast-7":m,"mx-central-1":m,"us-gov-east-1":f,"us-gov-west-1":f}],sagemaker:[0,{"ap-northeast-1":h,"ap-northeast-2":h,"ap-south-1":h,"ap-southeast-1":h,"ap-southeast-2":h,"ca-central-1":v,"eu-central-1":h,"eu-west-1":h,"eu-west-2":h,"us-east-1":v,"us-east-2":v,"us-west-2":v,"af-south-1":u,"ap-east-1":u,"ap-northeast-3":u,"ap-south-2":b,"ap-southeast-3":u,"ap-southeast-4":b,"ca-west-1":[0,{notebook:t,"notebook-fips":t}],"eu-central-2":u,"eu-north-1":u,"eu-south-1":u,"eu-south-2":u,"eu-west-3":u,"il-central-1":u,"me-central-1":u,"me-south-1":u,"sa-east-1":u,"us-gov-east-1":S,"us-gov-west-1":S,"us-west-1":[0,{notebook:t,"notebook-fips":t,studio:t}],experiments:o}],repost:[0,{private:o}]}],axa:e,azure:e,baby:e,baidu:e,banamex:e,band:e,bank:e,bar:e,barcelona:e,barclaycard:e,barclays:e,barefoot:e,bargains:e,baseball:e,basketball:[1,{aus:t,nz:t}],bauhaus:e,bayern:e,bbc:e,bbt:e,bbva:e,bcg:e,bcn:e,beats:e,beauty:e,beer:e,berlin:e,best:e,bestbuy:e,bet:e,bharti:e,bible:e,bid:e,bike:e,bing:e,bingo:e,bio:e,black:e,blackfriday:e,blockbuster:e,blog:e,bloomberg:e,blue:e,bms:e,bmw:e,bnpparibas:e,boats:e,boehringer:e,bofa:e,bom:e,bond:e,boo:e,book:e,booking:e,bosch:e,bostik:e,boston:e,bot:e,boutique:e,box:e,bradesco:e,bridgestone:e,broadway:e,broker:e,brother:e,brussels:e,build:[1,{shiptoday:t,v0:t,windsurf:t}],builders:[1,{cloudsite:t}],business:C,buy:e,buzz:e,bzh:e,cab:e,cafe:e,cal:e,call:e,calvinklein:e,cam:e,camera:e,camp:[1,{emf:[0,{at:t}]}],canon:e,capetown:e,capital:e,capitalone:e,car:e,caravan:e,cards:e,care:e,career:e,careers:e,cars:e,casa:[1,{nabu:[0,{ui:t}]}],case:[1,{sav:t}],cash:e,casino:e,catering:e,catholic:e,cba:e,cbn:e,cbre:e,center:e,ceo:e,cern:e,cfa:e,cfd:e,chanel:e,channel:e,charity:e,chase:e,chat:e,cheap:e,chintai:e,christmas:e,chrome:e,church:e,cipriani:e,circle:e,cisco:e,citadel:e,citi:e,citic:e,city:e,claims:e,cleaning:e,click:e,clinic:e,clinique:e,clothing:e,cloud:[1,{antagonist:t,begetcdn:o,convex:I,elementor:t,emergent:t,encoway:[0,{eu:t}],statics:o,ravendb:t,axarnet:[0,{"es-1":t}],diadem:t,jelastic:[0,{vip:t}],jele:t,"jenv-aruba":[0,{aruba:[0,{eur:[0,{it1:t}]}],it1:t}],keliweb:[2,{cs:t}],oxa:[2,{tn:t,uk:t}],primetel:[2,{uk:t}],reclaim:[0,{ca:t,uk:t,us:t}],trendhosting:[0,{ch:t,de:t}],jote:t,jotelulu:t,kuleuven:t,laravel:t,linkyard:t,magentosite:o,matlab:t,observablehq:t,perspecta:t,vapor:t,"on-rancher":o,scw:[0,{baremetal:[0,{"fr-par-1":t,"fr-par-2":t,"nl-ams-1":t}],"fr-par":[0,{cockpit:t,ddl:t,dtwh:t,fnc:[2,{functions:t}],ifr:t,k8s:M,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t,whm:t}],instances:[0,{priv:t,pub:t}],k8s:t,"nl-ams":[0,{cockpit:t,ddl:t,dtwh:t,ifr:t,k8s:M,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t,whm:t}],"pl-waw":[0,{cockpit:t,ddl:t,dtwh:t,ifr:t,k8s:M,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t}],scalebook:t,smartlabeling:t}],servebolt:t,onstackit:[0,{runs:t}],trafficplex:t,"unison-services":t,urown:t,voorloper:t,zap:t}],club:[1,{cloudns:t,jele:t,barsy:t}],clubmed:e,coach:e,codes:[1,{owo:o}],coffee:e,college:e,cologne:e,commbank:e,community:[1,{nog:t,ravendb:t,myforum:t}],company:[1,{mybox:t}],compare:e,computer:e,comsec:e,condos:e,construction:e,consulting:e,contact:e,contractors:e,cooking:e,cool:[1,{elementor:t,de:t}],corsica:e,country:e,coupon:e,coupons:e,courses:e,cpa:e,credit:e,creditcard:e,creditunion:e,cricket:e,crown:e,crs:e,cruise:e,cruises:e,cuisinella:e,cymru:e,cyou:e,dad:e,dance:e,data:e,date:e,dating:e,datsun:e,day:e,dclk:e,dds:e,deal:e,dealer:e,deals:e,degree:e,delivery:e,dell:e,deloitte:e,delta:e,democrat:e,dental:e,dentist:e,desi:e,design:[1,{graphic:t,bss:t}],dev:[1,{myaddr:t,panel:t,bearblog:t,brave:i,lcl:o,lclstage:o,stg:o,stgstage:o,pages:t,r2:t,workers:t,deno:t,"deno-staging":t,deta:t,lp:[2,{api:t,objects:t}],evervault:a,fly:t,githubpreview:t,gateway:o,grebedoc:t,botdash:t,inbrowser:o,"is-a-good":t,iserv:t,leapcell:t,runcontainers:t,localcert:[0,{user:o}],loginline:t,barsy:t,mediatech:t,"mocha-sandbox":t,modx:t,ngrok:t,"ngrok-free":t,"is-a-fullstack":t,"is-cool":t,"is-not-a":t,localplayer:t,xmit:t,"platter-app":t,replit:[2,{archer:t,bones:t,canary:t,global:t,hacker:t,id:t,janeway:t,kim:t,kira:t,kirk:t,odo:t,paris:t,picard:t,pike:t,prerelease:t,reed:t,riker:t,sisko:t,spock:t,staging:t,sulu:t,tarpit:t,teams:t,tucker:t,wesley:t,worf:t}],crm:[0,{aa:o,ab:o,ac:o,ad:o,ae:o,af:o,ci:o,d:o,pa:o,pb:o,pc:o,pd:o,pe:o,pf:o,w:o,wa:o,wb:o,wc:o,wd:o,we:o,wf:o}],erp:it,vercel:t,webhare:o,hrsn:t,"is-a":t}],dhl:e,diamonds:e,diet:e,digital:[1,{cloudapps:[2,{london:t}]}],direct:[1,{libp2p:t}],directory:e,discount:e,discover:e,dish:e,diy:[1,{discourse:t,imagine:t}],dnp:e,docs:e,doctor:e,dog:e,domains:e,dot:e,download:e,drive:e,dtv:e,dubai:e,dupont:e,durban:e,dvag:e,dvr:e,earth:e,eat:e,eco:e,edeka:e,education:C,email:[1,{crisp:[0,{on:t}],intouch:t,tawk:jt,tawkto:jt}],emerck:e,energy:e,engineer:e,engineering:e,enterprises:e,epson:e,equipment:e,ericsson:e,erni:e,esq:e,estate:[1,{compute:o}],eurovision:e,eus:[1,{party:We}],events:[1,{koobin:t,co:t}],exchange:e,expert:e,exposed:e,express:e,extraspace:e,fage:e,fail:e,fairwinds:e,faith:e,family:e,fan:e,fans:e,farm:[1,{storj:t}],farmers:e,fashion:e,fast:e,fedex:e,feedback:e,ferrari:e,ferrero:e,fidelity:e,fido:e,film:e,final:e,finance:e,financial:C,fire:e,firestone:e,firmdale:e,fish:e,fishing:e,fit:e,fitness:e,flickr:e,flights:e,flir:e,florist:e,flowers:e,fly:e,foo:e,food:e,football:e,ford:e,forex:e,forsale:e,forum:e,foundation:e,fox:e,free:e,fresenius:e,frl:e,frogans:e,frontier:e,ftr:e,fujitsu:e,fun:ut,fund:e,furniture:e,futbol:e,fyi:e,gal:e,gallery:e,gallo:e,gallup:e,game:e,games:[1,{pley:t,sheezy:t}],gap:e,garden:e,gay:[1,{pages:t}],gbiz:e,gdn:[1,{cnpy:t}],gea:e,gent:e,genting:e,george:e,ggee:e,gift:e,gifts:e,gives:e,giving:e,glass:e,gle:e,global:[1,{appwrite:t}],globo:e,gmail:e,gmbh:e,gmo:e,gmx:e,godaddy:e,gold:e,goldpoint:e,golf:e,goodyear:e,goog:[1,{cloud:t,translate:t,usercontent:o}],google:e,gop:e,got:e,grainger:e,graphics:e,gratis:e,green:e,gripe:e,grocery:e,group:[1,{discourse:t}],gucci:e,guge:e,guide:e,guitars:e,guru:e,hair:e,hamburg:e,hangout:e,haus:e,hbo:e,hdfc:e,hdfcbank:e,health:[1,{hra:t}],healthcare:e,help:e,helsinki:e,here:e,hermes:e,hiphop:e,hisamitsu:e,hitachi:e,hiv:e,hkt:e,hockey:e,holdings:e,holiday:e,homedepot:e,homegoods:e,homes:e,homesense:e,honda:e,horse:e,hospital:e,host:[1,{cloudaccess:t,freesite:t,easypanel:t,emergent:t,fastvps:t,myfast:t,gadget:t,tempurl:t,wpmudev:t,iserv:t,jele:t,mircloud:t,bolt:t,wp2:t,half:t}],hosting:[1,{opencraft:t}],hot:e,hotel:e,hotels:e,hotmail:e,house:e,how:e,hsbc:e,hughes:e,hyatt:e,hyundai:e,ibm:e,icbc:e,ice:e,icu:e,ieee:e,ifm:e,ikano:e,imamat:e,imdb:e,immo:e,immobilien:e,inc:e,industries:e,infiniti:e,ing:e,ink:e,institute:e,insurance:e,insure:e,international:e,intuit:e,investments:e,ipiranga:e,irish:e,ismaili:e,ist:e,istanbul:e,itau:e,itv:e,jaguar:e,java:e,jcb:e,jeep:e,jetzt:e,jewelry:e,jio:e,jll:e,jmp:e,jnj:e,joburg:e,jot:e,joy:e,jpmorgan:e,jprs:e,juegos:e,juniper:e,kaufen:e,kddi:e,kerryhotels:e,kerryproperties:e,kfh:e,kia:e,kids:e,kim:e,kindle:e,kitchen:e,kiwi:e,koeln:e,komatsu:e,kosher:e,kpmg:e,kpn:e,krd:[1,{co:t,edu:t}],kred:e,kuokgroup:e,kyoto:e,lacaixa:e,lamborghini:e,lamer:e,land:e,landrover:e,lanxess:e,lasalle:e,lat:e,latino:e,latrobe:e,law:e,lawyer:e,lds:e,lease:e,leclerc:e,lefrak:e,legal:e,lego:e,lexus:e,lgbt:e,lidl:e,life:e,lifeinsurance:e,lifestyle:e,lighting:e,like:e,lilly:e,limited:e,limo:e,lincoln:e,link:[1,{myfritz:t,cyon:t,joinmc:t,dweb:o,inbrowser:o,keenetic:t,nftstorage:tn,mypep:t,storacha:tn,w3s:tn}],live:[1,{aem:t,hlx:t,ewp:o}],living:e,llc:e,llp:e,loan:e,loans:e,locker:e,locus:e,lol:[1,{omg:t}],london:e,lotte:e,lotto:e,love:e,lpl:e,lplfinancial:e,ltd:e,ltda:e,lundbeck:e,luxe:e,luxury:e,madrid:e,maif:e,maison:e,makeup:e,man:e,management:e,mango:e,map:e,market:e,marketing:e,markets:e,marriott:e,marshalls:e,mattel:e,mba:e,mckinsey:e,med:e,media:nn,meet:e,melbourne:e,meme:e,memorial:e,men:e,menu:[1,{barsy:t,barsyonline:t}],merck:e,merckmsd:e,miami:e,microsoft:e,mini:e,mint:e,mit:e,mitsubishi:e,mlb:e,mls:e,mma:e,mobile:e,moda:e,moe:e,moi:e,mom:e,monash:e,money:e,monster:e,mormon:e,mortgage:e,moscow:e,moto:e,motorcycles:e,mov:e,movie:e,msd:e,mtn:e,mtr:e,music:e,nab:e,nagoya:e,navy:e,nba:e,nec:e,netbank:e,netflix:e,network:[1,{aem:t,alces:o,appwrite:t,co:t,arvo:t,azimuth:t,tlon:t}],neustar:e,new:e,news:[1,{noticeable:t}],next:e,nextdirect:e,nexus:e,nfl:e,ngo:e,nhk:e,nico:e,nike:e,nikon:e,ninja:e,nissan:e,nissay:e,nokia:e,norton:e,now:e,nowruz:e,nowtv:e,nra:e,nrw:e,ntt:e,nyc:e,obi:e,observer:e,office:e,okinawa:e,olayan:e,olayangroup:e,ollo:e,omega:e,one:[1,{kin:o,service:t,website:t}],ong:e,onl:e,online:[1,{eero:t,"eero-stage":t,websitebuilder:t,leapcell:t,barsy:t}],ooo:e,open:e,oracle:e,orange:[1,{tech:t}],organic:e,origins:e,osaka:e,otsuka:e,ott:e,ovh:[1,{nerdpol:t}],page:[1,{aem:t,hlx:t,codeberg:t,deuxfleurs:t,mybox:t,heyflow:t,prvcy:t,rocky:t,statichost:t,pdns:t,plesk:t}],panasonic:e,paris:e,pars:e,partners:e,parts:e,party:e,pay:e,pccw:e,pet:e,pfizer:e,pharmacy:e,phd:e,philips:e,phone:e,photo:e,photography:e,photos:nn,physio:e,pics:e,pictet:e,pictures:[1,{1337:t}],pid:e,pin:e,ping:e,pink:e,pioneer:e,pizza:[1,{ngrok:t}],place:C,play:e,playstation:e,plumbing:e,plus:[1,{playit:[2,{at:o,with:t}]}],pnc:e,pohl:e,poker:e,politie:e,porn:e,praxi:e,press:e,prime:e,prod:e,productions:e,prof:e,progressive:e,promo:e,properties:e,property:e,protection:e,pru:e,prudential:e,pub:[1,{id:o,kin:o,barsy:t}],pwc:e,qpon:e,quebec:e,quest:e,racing:e,radio:e,read:e,realestate:e,realtor:e,realty:e,recipes:e,red:e,redumbrella:e,rehab:e,reise:e,reisen:e,reit:e,reliance:e,ren:e,rent:e,rentals:e,repair:e,report:e,republican:e,rest:e,restaurant:e,review:e,reviews:[1,{aem:t}],rexroth:e,rich:e,richardli:e,ricoh:e,ril:e,rio:e,rip:[1,{clan:t}],rocks:[1,{myddns:t,stackit:t,"lima-city":t,webspace:t}],rodeo:e,rogers:e,room:e,rsvp:e,rugby:e,ruhr:e,run:[1,{appwrite:o,canva:t,development:t,ravendb:t,liara:[2,{iran:t}],lovable:t,needle:t,build:o,code:o,database:o,migration:o,onporter:t,repl:t,stackit:t,val:it,vercel:t,wix:t}],rwe:e,ryukyu:e,saarland:e,safe:e,safety:e,sakura:e,sale:e,salon:e,samsclub:e,samsung:e,sandvik:e,sandvikcoromant:e,sanofi:e,sap:e,sarl:e,sas:e,save:e,saxo:e,sbi:e,sbs:e,scb:e,schaeffler:e,schmidt:e,scholarships:e,school:e,schule:e,schwarz:e,science:e,scot:[1,{co:t,me:t,org:t,gov:[2,{service:t}]}],search:e,seat:e,secure:e,security:e,seek:e,select:e,sener:e,services:[1,{loginline:t}],seven:e,sew:e,sex:e,sexy:e,sfr:e,shangrila:e,sharp:e,shell:e,shia:e,shiksha:e,shoes:e,shop:[1,{base:t,hoplix:t,barsy:t,barsyonline:t,shopware:t}],shopping:e,shouji:e,show:ut,silk:e,sina:e,singles:e,site:[1,{square:t,canva:X,cloudera:o,convex:I,cyon:t,caffeine:t,fastvps:t,figma:t,"figma-gov":t,preview:t,heyflow:t,jele:t,jouwweb:t,loginline:t,barsy:t,co:t,notion:t,omniwe:t,opensocial:t,madethis:t,support:t,platformsh:o,tst:o,byen:t,sol:t,srht:t,novecore:t,cpanel:t,wpsquared:t,sourcecraft:t}],ski:e,skin:e,sky:e,skype:e,sling:e,smart:e,smile:e,sncf:e,soccer:e,social:e,softbank:e,software:e,sohu:e,solar:e,solutions:e,song:e,sony:e,soy:e,spa:e,space:[1,{myfast:t,heiyu:t,hf:[2,{static:t}],"app-ionos":t,project:t,uber:t,xs4all:t}],sport:e,spot:e,srl:e,stada:e,staples:e,star:e,statebank:e,statefarm:e,stc:e,stcgroup:e,stockholm:e,storage:e,store:[1,{barsy:t,sellfy:t,shopware:t,storebase:t}],stream:e,studio:e,study:e,style:e,sucks:e,supplies:e,supply:e,support:[1,{barsy:t}],surf:e,surgery:e,suzuki:e,swatch:e,swiss:e,sydney:e,systems:[1,{knightpoint:t,miren:t}],tab:e,taipei:e,talk:e,taobao:e,target:e,tatamotors:e,tatar:e,tattoo:e,tax:e,taxi:e,tci:e,tdk:e,team:[1,{discourse:t,jelastic:t}],tech:[1,{cleverapps:t}],technology:C,temasek:e,tennis:e,teva:e,thd:e,theater:e,theatre:e,tiaa:e,tickets:e,tienda:e,tips:e,tires:e,tirol:e,tjmaxx:e,tjx:e,tkmaxx:e,tmall:e,today:[1,{prequalifyme:t}],tokyo:e,tools:[1,{addr:mt,myaddr:t}],top:[1,{ntdll:t,wadl:o}],toray:e,toshiba:e,total:e,tours:e,town:e,toyota:e,toys:e,trade:e,trading:e,training:e,travel:e,travelers:e,travelersinsurance:e,trust:e,trv:e,tube:e,tui:e,tunes:e,tushu:e,tvs:e,ubank:e,ubs:e,unicom:e,university:e,uno:e,uol:e,ups:e,vacations:e,vana:e,vanguard:e,vegas:e,ventures:e,verisign:e,versicherung:e,vet:e,viajes:e,video:e,vig:e,viking:e,villas:e,vin:e,vip:[1,{hidns:t}],virgin:e,visa:e,vision:e,viva:e,vivo:e,vlaanderen:e,vodka:e,volvo:e,vote:e,voting:e,voto:e,voyage:e,wales:e,walmart:e,walter:e,wang:e,wanggou:e,watch:e,watches:e,weather:e,weatherchannel:e,webcam:e,weber:e,website:nn,wed:e,wedding:e,weibo:e,weir:e,whoswho:e,wien:e,wiki:nn,williamhill:e,win:e,windows:e,wine:e,winners:e,wme:e,woodside:e,work:[1,{"imagine-proxy":t}],works:e,world:e,wow:e,wtc:e,wtf:e,xbox:e,xerox:e,xihuan:e,xin:e,"xn--11b4c3d":e,\u0915\u0949\u092E:e,"xn--1ck2e1b":e,\u30BB\u30FC\u30EB:e,"xn--1qqw23a":e,\u4F5B\u5C71:e,"xn--30rr7y":e,\u6148\u5584:e,"xn--3bst00m":e,\u96C6\u56E2:e,"xn--3ds443g":e,\u5728\u7EBF:e,"xn--3pxu8k":e,\u70B9\u770B:e,"xn--42c2d9a":e,\u0E04\u0E2D\u0E21:e,"xn--45q11c":e,\u516B\u5366:e,"xn--4gbrim":e,\u0645\u0648\u0642\u0639:e,"xn--55qw42g":e,\u516C\u76CA:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--5su34j936bgsg":e,\u9999\u683C\u91CC\u62C9:e,"xn--5tzm5g":e,\u7F51\u7AD9:e,"xn--6frz82g":e,\u79FB\u52A8:e,"xn--6qq986b3xl":e,\u6211\u7231\u4F60:e,"xn--80adxhks":e,\u043C\u043E\u0441\u043A\u0432\u0430:e,"xn--80aqecdr1a":e,\u043A\u0430\u0442\u043E\u043B\u0438\u043A:e,"xn--80asehdb":e,\u043E\u043D\u043B\u0430\u0439\u043D:e,"xn--80aswg":e,\u0441\u0430\u0439\u0442:e,"xn--8y0a063a":e,\u8054\u901A:e,"xn--9dbq2a":e,\u05E7\u05D5\u05DD:e,"xn--9et52u":e,\u65F6\u5C1A:e,"xn--9krt00a":e,\u5FAE\u535A:e,"xn--b4w605ferd":e,\u6DE1\u9A6C\u9521:e,"xn--bck1b9a5dre4c":e,\u30D5\u30A1\u30C3\u30B7\u30E7\u30F3:e,"xn--c1avg":e,\u043E\u0440\u0433:e,"xn--c2br7g":e,\u0928\u0947\u091F:e,"xn--cck2b3b":e,\u30B9\u30C8\u30A2:e,"xn--cckwcxetd":e,\u30A2\u30DE\u30BE\u30F3:e,"xn--cg4bki":e,\uC0BC\uC131:e,"xn--czr694b":e,\u5546\u6807:e,"xn--czrs0t":e,\u5546\u5E97:e,"xn--czru2d":e,\u5546\u57CE:e,"xn--d1acj3b":e,\u0434\u0435\u0442\u0438:e,"xn--eckvdtc9d":e,\u30DD\u30A4\u30F3\u30C8:e,"xn--efvy88h":e,\u65B0\u95FB:e,"xn--fct429k":e,\u5BB6\u96FB:e,"xn--fhbei":e,\u0643\u0648\u0645:e,"xn--fiq228c5hs":e,\u4E2D\u6587\u7F51:e,"xn--fiq64b":e,\u4E2D\u4FE1:e,"xn--fjq720a":e,\u5A31\u4E50:e,"xn--flw351e":e,\u8C37\u6B4C:e,"xn--fzys8d69uvgm":e,\u96FB\u8A0A\u76C8\u79D1:e,"xn--g2xx48c":e,\u8D2D\u7269:e,"xn--gckr3f0f":e,\u30AF\u30E9\u30A6\u30C9:e,"xn--gk3at1e":e,\u901A\u8CA9:e,"xn--hxt814e":e,\u7F51\u5E97:e,"xn--i1b6b1a6a2e":e,\u0938\u0902\u0917\u0920\u0928:e,"xn--imr513n":e,\u9910\u5385:e,"xn--io0a7i":e,\u7F51\u7EDC:e,"xn--j1aef":e,\u043A\u043E\u043C:e,"xn--jlq480n2rg":e,\u4E9A\u9A6C\u900A:e,"xn--jvr189m":e,\u98DF\u54C1:e,"xn--kcrx77d1x4a":e,\u98DE\u5229\u6D66:e,"xn--kput3i":e,\u624B\u673A:e,"xn--mgba3a3ejt":e,\u0627\u0631\u0627\u0645\u0643\u0648:e,"xn--mgba7c0bbn0a":e,\u0627\u0644\u0639\u0644\u064A\u0627\u0646:e,"xn--mgbab2bd":e,\u0628\u0627\u0632\u0627\u0631:e,"xn--mgbca7dzdo":e,\u0627\u0628\u0648\u0638\u0628\u064A:e,"xn--mgbi4ecexp":e,\u0643\u0627\u062B\u0648\u0644\u064A\u0643:e,"xn--mgbt3dhd":e,\u0647\u0645\u0631\u0627\u0647:e,"xn--mk1bu44c":e,\uB2F7\uCEF4:e,"xn--mxtq1m":e,\u653F\u5E9C:e,"xn--ngbc5azd":e,\u0634\u0628\u0643\u0629:e,"xn--ngbe9e0a":e,\u0628\u064A\u062A\u0643:e,"xn--ngbrx":e,\u0639\u0631\u0628:e,"xn--nqv7f":e,\u673A\u6784:e,"xn--nqv7fs00ema":e,\u7EC4\u7EC7\u673A\u6784:e,"xn--nyqy26a":e,\u5065\u5EB7:e,"xn--otu796d":e,\u62DB\u8058:e,"xn--p1acf":[1,{"xn--90amc":t,"xn--j1aef":t,"xn--j1ael8b":t,"xn--h1ahn":t,"xn--j1adp":t,"xn--c1avg":t,"xn--80aaa0cvac":t,"xn--h1aliz":t,"xn--90a1af":t,"xn--41a":t}],\u0440\u0443\u0441:[1,{\u0431\u0438\u0437:t,\u043A\u043E\u043C:t,\u043A\u0440\u044B\u043C:t,\u043C\u0438\u0440:t,\u043C\u0441\u043A:t,\u043E\u0440\u0433:t,\u0441\u0430\u043C\u0430\u0440\u0430:t,\u0441\u043E\u0447\u0438:t,\u0441\u043F\u0431:t,\u044F:t}],"xn--pssy2u":e,\u5927\u62FF:e,"xn--q9jyb4c":e,\u307F\u3093\u306A:e,"xn--qcka1pmc":e,\u30B0\u30FC\u30B0\u30EB:e,"xn--rhqv96g":e,\u4E16\u754C:e,"xn--rovu88b":e,\u66F8\u7C4D:e,"xn--ses554g":e,\u7F51\u5740:e,"xn--t60b56a":e,\uB2F7\uB137:e,"xn--tckwe":e,\u30B3\u30E0:e,"xn--tiq49xqyj":e,\u5929\u4E3B\u6559:e,"xn--unup4y":e,\u6E38\u620F:e,"xn--vermgensberater-ctb":e,verm\u00F6gensberater:e,"xn--vermgensberatung-pwb":e,verm\u00F6gensberatung:e,"xn--vhquv":e,\u4F01\u4E1A:e,"xn--vuq861b":e,\u4FE1\u606F:e,"xn--w4r85el8fhu5dnra":e,\u5609\u91CC\u5927\u9152\u5E97:e,"xn--w4rs40l":e,\u5609\u91CC:e,"xn--xhq521b":e,\u5E7F\u4E1C:e,"xn--zfr164b":e,\u653F\u52A1:e,xyz:[1,{caffeine:t,exe:t,botdash:t,telebit:o}],yachts:e,yahoo:e,yamaxun:e,yandex:e,yodobashi:e,yoga:e,yokohama:e,you:e,youtube:e,yun:e,zappos:e,zara:e,zero:e,zip:e,zone:[1,{stackit:t,lima:t,triton:o}],zuerich:e}]})();function Kb(e,t,n,r){let o=null,i=t;for(;i!==void 0&&((i[0]&r)!==0&&(o={index:n+1,isIcann:(i[0]&1)!==0,isPrivate:(i[0]&2)!==0}),n!==-1);){let a=i[1];i=Object.prototype.hasOwnProperty.call(a,e[n])?a[e[n]]:a["*"],n-=1}return o}function Jl(e,t,n){var r;if(Ef(e,t,n))return;let o=e.split("."),i=(t.allowPrivateDomains?2:0)|(t.allowIcannDomains?1:0),a=Kb(o,Vb,o.length-1,i);if(a!==null){n.isIcann=a.isIcann,n.isPrivate=a.isPrivate,n.publicSuffix=o.slice(a.index+1).join(".");return}let s=Kb(o,Wb,o.length-1,i);if(s!==null){n.isIcann=s.isIcann,n.isPrivate=s.isPrivate,n.publicSuffix=o.slice(s.index).join(".");return}n.isIcann=!1,n.isPrivate=!1,n.publicSuffix=(r=o[o.length-1])!==null&&r!==void 0?r:null}var Gb=Xl();function Xb(e,t={}){return Yl(e,5,Jl,t,Xl())}function Yb(e,t={}){return _f(Gb),Yl(e,3,Jl,t,Gb).domain}function If(e){let t=String(e||"").trim().toLowerCase().replace(/\.$/,"");return t.startsWith("[")&&t.endsWith("]")?t.slice(1,-1):t}function q_(e){let t=String(e||"").trim().toLowerCase();if(!t||t.includes("://")||t.startsWith("//"))return!1;let n=t.split(/[/?#]/)[0]?.trim()||"";return!n||n.startsWith("[")?!1:(n.match(/:/g)||[]).length>=2}function V_(e){let t=String(e||"").trim();return t?/^[a-z][a-z0-9+.-]*:\/\//i.test(t)?t:t.startsWith("//")?`https:${t}`:q_(t)?`https://[${t}]`:`https://${t}`:""}function W_(e){let t=V_(e);if(!t)return"";try{return If(new URL(t).hostname)}catch{return""}}function K_(e){return/^\d{1,3}(?:\.\d{1,3}){3}$/.test(e)?e.split(".").every(t=>{let n=Number(t);return Number.isInteger(n)&&n>=0&&n<=255}):!1}function G_(e){if(!e.includes(":"))return!1;try{return If(new URL(`https://[${e}]`).hostname)===e}catch{return!1}}function Af(e){let t=If(e);return Xb(t).isIp===!0||K_(t)||G_(t)}function Rf(e){let t=Qn(e);return!!t&&Af(t)}function Qn(e){return W_(String(e||"").trim().toLowerCase())}function qs(e){let t=String(e||"").trim().toLowerCase();if(!t)return"";if(t==="*")return"*";let n=t.startsWith("="),r=!n&&t.startsWith("*."),o=n?t.slice(1):r?t.slice(2):t,i=Qn(o);return i?n?`=${i}`:r?`*.${i}`:i:""}function Jb(e,t){return e?t!=="host_only"||e==="*"||e.startsWith("=")||e.startsWith("*.")?e:`=${e}`:""}function mr(e){let t=Qn(e);return t?t==="localhost"||Af(t)?t:Yb(t,{allowPrivateDomains:!0})||t:""}function Qb(e,t){let n=Qn(e);return n?n==="localhost"||Af(n)?`=${n}`:t==="host_only"?`=${n}`:mr(n):""}function Vs(e,t,n){let r=Array.isArray(e)?e:typeof e=="string"&&e.trim()?[e]:[],o=new Set;for(let i of r){let a=Jb(qs(String(i||"")),n);a&&o.add(a)}if(!o.size){let i=Qb(t,n);i&&o.add(i)}return Array.from(o)}function Ql(e,t){let n=Qn(e),r=qs(t);if(!n||!r)return!1;if(r==="*")return!0;if(r.startsWith("=")){let o=r.slice(1);return!!o&&n===o}if(r.startsWith("*.")){let o=r.slice(2);return!o||n===o?!1:n.endsWith(`.${o}`)}return n===r?!0:n.endsWith(`.${r}`)}function Zn(e){return Qn(e)||null}function Fr(e,t){let n=Zn(e);return n?t.length?t.some(r=>Ql(n,r)):!0:!1}function Ws(e){let t=Qn(e.host||"");if(!t)return!1;let n=e.domainScopeMode==="host_only"?"host_only":"registrable_domain",r=Array.isArray(e.allowedDomains)?e.allowedDomains.map(i=>qs(i)).map(i=>Jb(i,n)).filter(Boolean):[];if(r.length>0)return r.some(i=>Ql(t,i));let o=Qn(e.currentHost||"");return o?n==="host_only"?t===o:mr(t)===mr(o):!0}var Cf=new Set([z.describe_images,z.wait_action,z.wait_for_element,z.answer_task,z.solve_captcha,z.network_run_recipe]),X_=new Set([z.goto_url,z.google_search,z.go_back,z.go_forward,z.refresh_page,z.open_new_tab,z.switch_tab,z.close_tab]);function Y_(e){return e==="open_url_new_tab"?z.open_new_tab:String(e||"").trim()}function Zb(e){let t=Y_(String(e.toolName||""));return!t||Cf.has(t)||X_.has(t)?!1:!Fr(e.currentUrl,e.allowedDomains)}var nd=class nd{constructor(t={}){q(this,"root");q(this,"includeFrames");q(this,"disableDomAnnotations");q(this,"allowActions");q(this,"runtimeId");q(this,"domainScopeMode");q(this,"allowedDomains");q(this,"registerOpenedTab");q(this,"listKnownTabs");q(this,"switchToLogicalTab");q(this,"onNavigationGuardrail");q(this,"onBeforeAgentNavigation");q(this,"onBeforeCrossHostNavigation");q(this,"instrumentation");q(this,"highlightEl",null);q(this,"clientTools",new Map);q(this,"navigationDelayMs");q(this,"domSettleDebounceMs");q(this,"domSettleMaxWaitMs");q(this,"domSettleRetries");q(this,"sparseTreeRetryDelayMs");q(this,"sparseTreeRetryMaxAttempts");q(this,"uploadStore",new Map);q(this,"uploadProviderInstalled",!1);q(this,"actionGateContext",{});q(this,"instrumentationStarted",!1);this.root=t.root??document.body??document.documentElement,this.includeFrames=t.includeFrames??!0,this.disableDomAnnotations=t.disableDomAnnotations??!0,this.allowActions=t.allowActions??!0,this.runtimeId=t.runtimeId,this.domainScopeMode=ey(t.domainScopeMode),this.allowedDomains=Vs(t.allowedDomains,window.location.hostname,this.domainScopeMode),this.registerOpenedTab=t.registerOpenedTab,this.listKnownTabs=t.listKnownTabs,this.switchToLogicalTab=t.switchToLogicalTab,this.onNavigationGuardrail=t.onNavigationGuardrail,this.onBeforeAgentNavigation=t.onBeforeAgentNavigation,this.onBeforeCrossHostNavigation=t.onBeforeCrossHostNavigation,this.navigationDelayMs=t.navigationDelayMs??80,this.domSettleDebounceMs=Ks(t.domSettle?.debounceMs,24,8,500),this.domSettleMaxWaitMs=Ks(t.domSettle?.maxWaitMs,220,80,5e3),this.domSettleRetries=Ks(t.domSettle?.retries,0,0,6),this.sparseTreeRetryDelayMs=Ks(t.domSettle?.sparseTreeRetryDelayMs,35,20,1e3),this.sparseTreeRetryMaxAttempts=Ks(t.domSettle?.sparseTreeRetryMaxAttempts,1,0,4),this.instrumentation=t.instrumentation??Hb({includeIframes:!0,scanInlineHandlers:!0,observeInlineMutations:!0,...t.instrumentationOptions||{}}),Tb(),t.uploadBytesProvider&&this.setUploadBytesProvider(t.uploadBytesProvider)}setAllowActions(t){this.allowActions=!!t}setActionGateContext(t){let n={};(t?.mode==="controller"||t?.mode==="observer")&&(n.mode=t.mode),typeof t?.controllerRuntimeId=="string"&&t.controllerRuntimeId.trim()&&(n.controllerRuntimeId=t.controllerRuntimeId.trim()),Number.isFinite(Number(t?.activeLogicalTabId))&&Number(t?.activeLogicalTabId)>0&&(n.activeLogicalTabId=Number(t?.activeLogicalTabId)),Number.isFinite(Number(t?.localLogicalTabId))&&Number(t?.localLogicalTabId)>0&&(n.localLogicalTabId=Number(t?.localLogicalTabId)),typeof t?.reason=="string"&&t.reason.trim()&&(n.reason=t.reason.trim().slice(0,240)),this.actionGateContext=n}setNavigationPolicy(t){t.domainScopeMode&&(this.domainScopeMode=ey(t.domainScopeMode),t.allowedDomains||(this.allowedDomains=Vs(void 0,window.location.hostname,this.domainScopeMode))),t.allowedDomains&&(this.allowedDomains=Vs(t.allowedDomains,window.location.hostname,this.domainScopeMode))}async getSnapshot(){return await this.ensureListenerScan(),js(this.root,this.instrumentation,{includeFrames:this.includeFrames,disableDomAnnotations:this.disableDomAnnotations})}async getPageData(t){await this.ensureListenerScan();let n=Fl(t?.pageConfig),r={...Fo,...n||{},adaptiveSettleDebounceMs:typeof n?.adaptiveSettleDebounceMs=="number"?n.adaptiveSettleDebounceMs:this.domSettleDebounceMs,adaptiveSettleMaxWaitMs:typeof n?.adaptiveSettleMaxWaitMs=="number"?n.adaptiveSettleMaxWaitMs:this.domSettleMaxWaitMs,adaptiveSettleRetries:typeof n?.adaptiveSettleRetries=="number"?n.adaptiveSettleRetries:this.domSettleRetries,sparseTreeRetryDelayMs:typeof n?.sparseTreeRetryDelayMs=="number"?n.sparseTreeRetryDelayMs:this.sparseTreeRetryDelayMs,sparseTreeRetryMaxAttempts:typeof n?.sparseTreeRetryMaxAttempts=="number"?n.sparseTreeRetryMaxAttempts:this.sparseTreeRetryMaxAttempts};return await Db(this.root,this.instrumentation,{includeFrames:this.includeFrames,disableDomAnnotations:this.disableDomAnnotations,pageConfig:r})}ensureInstrumentationStarted(){this.instrumentationStarted||(jb(),this.instrumentationStarted=!0)}async ensureListenerScan(){this.ensureInstrumentationStarted();try{let n=(this.root.ownerDocument||document).defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",i=n[r]?.flushScan;if(typeof i=="function"){await i({mode:"priority",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:400});return}n.rtrvrAIMarkInteractiveElements?.()}catch{}}async executeTool(t,n){let r=J_(t?.name);if(!r)return{success:!1,error:`Unknown tool: ${String(t?.name)}`,allowFallback:!1};if(this.shouldBlockForOutOfScopeContext(r)){let b=`Current tab host "${Zn(window.location.href)||window.location.hostname||"unknown"}" is outside the allowed navigation scope (${Q_(this.allowedDomains)}).`;return this.domainScopeBlockedResponse(window.location.href,b,{fromCurrentContext:!0})}if(!this.allowActions&&!Cf.has(r))return{success:!1,error:"Actions disabled by configuration",allowFallback:!1,output:{reason:this.actionGateContext.mode==="observer"?"Actions are disabled because this tab is currently in observer mode.":this.actionGateContext.reason||"Actions disabled by configuration",actionGate:this.actionGateContext}};let o=await this.handleNavigationTools(r,t?.args||{});if(o)return o;if(r===z.wait_action){let h=Number(t?.args?.duration??1e3);return await new Promise(b=>setTimeout(b,Math.max(0,Math.min(h,6e4)))),{success:!0}}if(r===z.wait_for_element)return this.waitForElement(t?.args||{});if(r===z.answer_task)return{success:!0};if(r===z.solve_captcha)return ed("CAPTCHA solving requires human intervention in embed mode.","HUMAN_INTERVENTION_REQUIRED");if(r===z.network_run_recipe)return ed("network_run_recipe is not supported in embed mode.","CAPABILITY_UNAVAILABLE");let i=t?.args||{},a=tE(i);a&&await this.ensureListenerScan();let s=ha(document,i.iframe_id);if(i.iframe_id!=null&&s.unresolvedPath.length>0&&!a)return this.iframeContextUnavailableResponse(i.iframe_id,s);if(r===z.click_element&&i?.open_in_new_tab)return this.openElementInNewTab(i);if(r===z.click_element){let h=this.getInterceptedClickTarget(i);if(h?.targetUrl){if(h.forceOpenInNewTab)return this.openUrlInNewTab(h.targetUrl,{policyBlocked:!0,reason:h.reason,decisionReason:"open_new_tab"});let S=h.reason;return this.openUrlInNewTab(h.targetUrl,{policyBlocked:!0,reason:S,decisionReason:"open_new_tab"})}let b=this.getClickTargetInfo(i),v=b?.targetUrl||null;if(v){let S=this.buildNavigationIntent(v,{preferredDisposition:b?.preferredDisposition});if(S.isCrossHost){let k=await this.resolveAgentNavigationDecision(S,this.getNavigationFallbackDecision(v,S.preferredDisposition));if(k.decision==="block")return this.domainScopeBlockedResponse(v,k.reason||"Navigation blocked by policy.",{decisionReason:k.decisionReason||"policy_blocked"});if(k.decision==="open_new_tab")return this.openUrlInNewTab(v,{policyBlocked:!0,reason:k.reason||"Navigation policy requires opening a new tab.",decisionReason:k.decisionReason||"open_new_tab"});this.notifyCrossHostNavigation(S)}else{let k=await this.resolveAgentNavigationDecision(S,"allow_same_tab");if(k.decision==="block")return this.domainScopeBlockedResponse(v,k.reason||"Navigation blocked by policy.",{decisionReason:k.decisionReason||"policy_blocked"});if(k.decision==="open_new_tab")return this.openUrlInNewTab(v,{policyBlocked:!0,reason:k.reason||"Navigation policy requires opening a new tab.",decisionReason:k.decisionReason||"open_new_tab"})}}}if(r===z.describe_images)return this.describeImages(t?.args||{});if(!(r in zl))return{success:!1,error:`Unknown tool: ${String(t?.name)}`,allowFallback:!1};let{doc:c}=s,l=Mf(i),d=l?ur(c,l):null,m;if(d){let h=this.instrumentation.getFrameworkMetadata(d),b=eE(h.listenersRaw||"",r),v=i?.value??i?.text??null;m=Z_({...h,pattern:b,value:v})}let f=zl[r];return r===z.upload_file&&!n&&(n=await this.buildUploadPayload(i).catch(()=>{})),_b({opcode:f,call:{name:r,args:i},elementData:m,tabIndex:0,payload:n})}iframeContextUnavailableResponse(t,n){let o=`iframe_id unresolved: remaining=${n.unresolvedPath.join(">")||"(none)"} (cross-origin, not-ready, or not found)`;return{success:!1,error:o,allowFallback:!1,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:o,retryable:!1},iframe_context:{requested_iframe_id:t,requested_path:n.iframePath,resolved_path:n.resolvedPath,unresolved_path:n.unresolvedPath}},errorDetails:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:o,retryable:!1,details:{requested_iframe_id:t,requested_path:n.iframePath,resolved_path:n.resolvedPath,unresolved_path:n.unresolvedPath}}}}highlight(t){let n=ur(document,t);if(!n)return;let r=n.getBoundingClientRect();if(!this.highlightEl){let o=document.createElement("div");o.style.position="fixed",o.style.pointerEvents="none",o.style.border="2px solid #ff7a59",o.style.boxShadow="0 0 0 2px rgba(255, 122, 89, 0.2)",o.style.borderRadius="6px",o.style.zIndex="2147483647",this.highlightEl=o,document.body.appendChild(o)}this.highlightEl.style.left=`${r.left}px`,this.highlightEl.style.top=`${r.top}px`,this.highlightEl.style.width=`${Math.max(0,r.width)}px`,this.highlightEl.style.height=`${Math.max(0,r.height)}px`,this.highlightEl.style.display="block"}clearHighlight(){this.highlightEl&&(this.highlightEl.style.display="none")}setUploadBytesProvider(t){window.__ROVER_UPLOAD_BYTES__=t}registerTool(t,n){let r=typeof t=="string"?{name:t}:t;!r?.name||typeof n!="function"||this.clientTools.set(r.name,{handler:n,def:r})}async executeClientTool(t,n){let r=this.clientTools.get(t);if(!r)throw new Error(`Unknown client tool: ${t}`);return r.handler(n)}listClientTools(){return Array.from(this.clientTools.values()).map(t=>t.def)}async handleNavigationTools(t,n){switch(t){case z.goto_url:{let r=String(n.url||"").trim();if(!r)return{success:!1,error:"goto_url: missing url",allowFallback:!0};let o=Zl(r,window.location.href);if(!o)return{success:!1,error:`goto_url: invalid url "${r}"`,allowFallback:!0};let i=this.getHostOnlySiblingBlockReason(o);if(i)return this.domainScopeBlockedResponse(o,i,{decisionReason:"policy_blocked",policyAction:"block"});if(this.shouldPreserveHostRuntime(o)){let c=this.buildNavigationIntent(o),l=await this.resolveAgentNavigationDecision(c,this.getNavigationFallbackDecision(o,c.preferredDisposition));return(l.decision==="allow_same_tab"?"open_new_tab":l.decision)==="block"?this.domainScopeBlockedResponse(o,l.reason||"Navigation blocked by policy.",{decisionReason:l.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!0,reason:l.reason||"Opened in a new tab to preserve Rover runtime continuity across hostnames.",decisionReason:l.decisionReason||"open_new_tab"})}if(this.shouldGuardExternalNavigation(o))return await this.openUrlInNewTab(o,{policyBlocked:!0,reason:"Navigation blocked by domain policy."});let a=this.buildNavigationIntent(o);if(a.isCrossHost){let c=await this.resolveAgentNavigationDecision(a,this.getNavigationFallbackDecision(o,a.preferredDisposition));return c.decision==="block"?this.domainScopeBlockedResponse(o,c.reason||"Navigation blocked by policy.",{decisionReason:c.decisionReason}):c.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:c.reason||"Navigation policy requires opening a new tab.",decisionReason:c.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:c.decisionReason||"allow_same_tab",reason:c.reason||"Navigation allowed."})}let s=await this.resolveAgentNavigationDecision(a,"allow_same_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason||"policy_blocked"}):s.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:s.reason||"Navigation policy requires opening a new tab.",decisionReason:s.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:s.decisionReason||"allow_same_tab",reason:s.reason||"Navigation allowed."})}case z.google_search:{let r=String(n.query||"").trim();if(!r)return{success:!1,error:"google_search: missing query",allowFallback:!0};let o=`https://www.google.com/search?q=${encodeURIComponent(r)}`,i=this.getHostOnlySiblingBlockReason(o);if(i)return this.domainScopeBlockedResponse(o,i,{decisionReason:"policy_blocked",policyAction:"block"});if(this.shouldPreserveHostRuntime(o)){let c=this.buildNavigationIntent(o),l=await this.resolveAgentNavigationDecision(c,this.getNavigationFallbackDecision(o,c.preferredDisposition));return(l.decision==="allow_same_tab"?"open_new_tab":l.decision)==="block"?this.domainScopeBlockedResponse(o,l.reason||"Navigation blocked by policy.",{decisionReason:l.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!0,reason:l.reason||"Opened in a new tab to preserve Rover runtime continuity across hostnames.",decisionReason:l.decisionReason||"open_new_tab"})}if(this.shouldGuardExternalNavigation(o))return await this.openUrlInNewTab(o,{policyBlocked:!0,reason:"Google search opens outside the allowed navigation scope."});let a=this.buildNavigationIntent(o);if(a.isCrossHost){let c=await this.resolveAgentNavigationDecision(a,this.getNavigationFallbackDecision(o,a.preferredDisposition));return c.decision==="block"?this.domainScopeBlockedResponse(o,c.reason||"Navigation blocked by policy.",{decisionReason:c.decisionReason}):c.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:c.reason||"Navigation policy requires opening a new tab.",decisionReason:c.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:c.decisionReason||"allow_same_tab",reason:c.reason||"Navigation allowed."})}let s=await this.resolveAgentNavigationDecision(a,"allow_same_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason||"policy_blocked"}):s.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:s.reason||"Navigation policy requires opening a new tab.",decisionReason:s.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:s.decisionReason||"allow_same_tab",reason:s.reason||"Navigation allowed."})}case z.go_back:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("back"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case z.go_forward:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("forward"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case z.refresh_page:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("reload"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case z.open_new_tab:{let r=String(n.url||"").trim();if(!r)return{success:!1,error:"open_new_tab: missing url",allowFallback:!0};let o=Zl(r,window.location.href);if(!o)return{success:!1,error:`open_new_tab: invalid url "${r}"`,allowFallback:!0};let i=this.getHostOnlySiblingBlockReason(o);if(i)return this.domainScopeBlockedResponse(o,i,{decisionReason:"policy_blocked",policyAction:"block"});let a=this.buildNavigationIntent(o,{preferredDisposition:"new_tab"}),s=await this.resolveAgentNavigationDecision(a,"open_new_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!1,reason:s.reason,decisionReason:s.decisionReason||"open_new_tab"})}case z.switch_tab:{let r=Number(n.logical_tab_id??n.tab_id);if(!Number.isFinite(r)||r<=0)return{success:!1,error:(typeof n._tab_id_mapping_error=="string"?String(n._tab_id_mapping_error).trim():"")||"switch_tab: missing/invalid logical_tab_id",allowFallback:!0};if(this.listKnownTabs){let o=this.listKnownTabs().find(i=>Number(i.logicalTabId)===r);if(o?.external)return this.domainScopeBlockedResponse(o.url||`logical_tab_id:${r}`,`Tab ${r} is out of scope. Direct actions are blocked for this tab.`)}if(!this.switchToLogicalTab)return ed("switch_tab requires session coordinator support.","CAPABILITY_UNAVAILABLE");try{let o=await this.switchToLogicalTab(r);return o?.ok?{success:!0,output:{logicalTabId:r,delegated:!!o.delegated,mode:o.delegated?"delegated":"local"}}:{success:!1,error:o?.reason||`switch_tab failed for logical tab ${r}`,allowFallback:!0}}catch(o){return{success:!1,error:o?.message||"switch_tab failed",allowFallback:!0}}}case z.close_tab:try{return window.close(),{success:!0}}catch{return ed("close_tab failed in embed mode.","CAPABILITY_UNAVAILABLE")}default:return null}}shouldGuardExternalNavigation(t){return!Fr(t,this.allowedDomains)}getHostOnlySiblingBlockReason(t){if(this.domainScopeMode!=="host_only")return null;let n=Zn(window.location.href)||window.location.hostname||"",r=Zn(t)||"";if(!n||!r||n===r||Fr(t,this.allowedDomains))return null;let o=mr(n),i=mr(r);return!o||o!==i?null:`Blocked navigation to ${r}. This Rover site uses host_only exact-host scope, so other hosts on the same registrable domain are out of scope unless explicitly allowed. Do NOT retry this host. Continue on ${n} or explain the limitation.`}shouldPreserveHostRuntime(t){return!Fr(t,this.allowedDomains)}getNavigationFallbackDecision(t,n){return t?this.getHostOnlySiblingBlockReason(t)?"block":Fr(t,this.allowedDomains)?n==="new_tab"?"open_new_tab":"allow_same_tab":"open_new_tab":"allow_same_tab"}isCrossHostNavigation(t){let n=Zn(window.location.href),r=Zn(t);return!n||!r?!1:n!==r}buildNavigationIntent(t,n){let r="";try{r=crypto.randomUUID()}catch{r=`handoff_${Date.now()}_${Math.floor(Math.random()*1e5)}`}return{handoffId:r,targetUrl:t,sourceRuntimeId:this.runtimeId,sourceLogicalTabId:this.actionGateContext.localLogicalTabId,runId:n?.runId,isCrossHost:n?.isCrossHost??this.isCrossHostNavigation(t),preferredDisposition:n?.preferredDisposition||"auto",ts:Date.now()}}async resolveAgentNavigationDecision(t,n){let r={decision:n,decisionReason:n==="block"?"policy_blocked":n==="open_new_tab"?"open_new_tab":"allow_same_tab"};if(!this.onBeforeAgentNavigation)return r;try{let o=this.onBeforeAgentNavigation(t),i=await this.awaitWithTimeout(o,nd.NAV_PREFLIGHT_TIMEOUT_MS);if(!i||typeof i!="object")return r;let a=String(i.decision||"").trim();return{decision:a==="allow_same_tab"||a==="open_new_tab"||a==="block"?a:a==="stale_run"?n:r.decision,reason:String(i.reason||"").trim()||void 0,decisionReason:String(i.decisionReason||"").trim()||r.decisionReason}}catch{return r}}async awaitWithTimeout(t,n){let r=t;return!r||typeof r.then!="function"?t:await Promise.race([r,new Promise(o=>{window.setTimeout(()=>o(void 0),Math.max(0,n))})])}scheduleHistoryNavigation(t){window.setTimeout(()=>{t==="back"?window.history.back():t==="forward"?window.history.forward():window.location.reload()},this.navigationDelayMs)}scheduleSameTabNavigation(t,n,r){let o=n.isCrossHost===!0,i=Fr(t,this.allowedDomains);return o&&this.notifyCrossHostNavigation(n),i?(window.setTimeout(()=>{try{window.location.href=t}catch{window.location.assign(t)}},this.navigationDelayMs),{success:!0,output:{url:t,navigation:"same_tab",navigationOutcome:o?"subdomain_navigated":"same_host_navigated",navigationPending:!1,decisionReason:r?.decisionReason||"allow_same_tab",reason:r?.reason,...r?.convertedFrom?{convertedFrom:r.convertedFrom}:{}}}):(window.setTimeout(()=>{try{window.location.href=t}catch{window.location.assign(t)}},Math.max(this.navigationDelayMs,200)),{success:!0,output:{url:t,navigation:"same_tab",navigationOutcome:"same_tab_scheduled",navigationPending:!0,decisionReason:r?.decisionReason||"allow_same_tab",reason:r?.reason,...r?.convertedFrom?{convertedFrom:r.convertedFrom}:{}}})}notifyCrossHostNavigation(t){if(t.isCrossHost)try{this.onBeforeCrossHostNavigation?.(t)}catch{}}shouldBlockForOutOfScopeContext(t){return Zb({toolName:t,currentUrl:window.location.href,allowedDomains:this.allowedDomains})}getInterceptedClickTarget(t){let n=this.getClickTargetUrl(t);if(!n)return null;let r=this.getHostOnlySiblingBlockReason(n);return r?{targetUrl:n,reason:r,forceOpenInNewTab:!1}:this.shouldPreserveHostRuntime(n)?{targetUrl:n,reason:"Opened in a new tab to preserve Rover runtime continuity outside allowed domains.",forceOpenInNewTab:!0}:Fr(n,this.allowedDomains)?null:{targetUrl:n,reason:"Blocked same-tab navigation to an out-of-scope destination.",forceOpenInNewTab:!1}}getClickTargetInfo(t){let n=Mf(t);if(!n)return null;let{doc:r}=ha(document,t.iframe_id),o=ur(r,n);if(!o)return null;let i=ty(o),a=i?.href||i?.getAttribute("href")||"",s=Zl(a,window.location.href);if(!s)return null;let c=String(i?.getAttribute("target")||"").trim().toLowerCase();return{targetUrl:s,preferredDisposition:c&&c!=="_self"?"new_tab":"auto"}}getClickTargetUrl(t){return this.getClickTargetInfo(t)?.targetUrl||null}domainScopeBlockedResponse(t,n,r){let o=r?.policyAction||"open_new_tab_notice",i=window.location.href,a=Zn(i)||window.location.hostname||void 0,s=Zn(t)||void 0;return this.emitNavigationGuardrail({blockedUrl:t,currentUrl:i,policyAction:o,reason:n,allowedDomains:this.allowedDomains,openedInNewTab:!1}),{success:!1,error:n,allowFallback:!0,output:{success:!1,error:{code:"DOMAIN_SCOPE_BLOCKED",message:n,missing:[],next_action:o==="block"?"This host is out of scope. Do NOT retry it. Continue on an allowed host or explain the limitation to the user.":"Open the external page in a new tab and continue on the tab Rover chose for that work.",retryable:!1},blocked_url:t,blocked_host:s,current_url:i,current_host:a,policy_action:o,allowed_domains:this.allowedDomains,domain_scope_mode:this.domainScopeMode,blockedDomainStatus:"blocked",navigationOutcome:"blocked",decisionReason:r?.decisionReason||"policy_blocked",from_current_context:!!r?.fromCurrentContext,agentInstruction:o==="block"?`Navigation to ${s||t} is out of scope. Do NOT retry this host. Continue on an allowed host or explain the limitation to the user.`:`Navigation to ${s||t} is blocked by domain policy. Do NOT retry this URL. Acknowledge to user and proceed with the next step.`,blockedDomain:s||t,pageContext:{url:t,title:`[Blocked] ${s||t}`,contentText:`Access to ${s||t} is outside Rover's allowed domain scope. The page content is not available. Continue the task without this resource or use /scrape endpoint if external context is needed.`,accessible:!1}},errorDetails:{code:"DOMAIN_SCOPE_BLOCKED",message:n,retryable:!1,details:{blockedUrl:t,blockedHost:s,currentUrl:i,currentHost:a,policyAction:o,allowedDomains:this.allowedDomains,domainScopeMode:this.domainScopeMode,fromCurrentContext:!!r?.fromCurrentContext}}}}emitNavigationGuardrail(t){try{this.onNavigationGuardrail?.(t)}catch{}}async tryReuseKnownTargetTab(t){if(!this.listKnownTabs||!this.switchToLogicalTab)return;let n=Zn(t);if(!n)return;let r=Number(this.actionGateContext.localLogicalTabId),o=a=>{if(a)try{let s=new URL(a);return s.hash="",s.toString()}catch{return}},i=o(t);try{let a=this.listKnownTabs(),s=a.find(m=>Number(m.logicalTabId)===r?!1:o(m.url)===i),c=s||a.find(m=>Number(m.logicalTabId)===r?!1:Zn(m.url||"")===n),l=s||c;return!l||!(await this.switchToLogicalTab(l.logicalTabId))?.ok?void 0:{logicalTabId:l.logicalTabId,reusedBy:s?"exact_url":"same_host"}}catch{return}}async openUrlInNewTab(t,n){let r=this.getHostOnlySiblingBlockReason(t);if(r)return this.domainScopeBlockedResponse(t,r,{decisionReason:n?.decisionReason||"policy_blocked",policyAction:"block"});let o=!Fr(t,this.allowedDomains),i=await this.tryReuseKnownTargetTab(t);if(i){let f=n?.policyBlocked?n.reason||"Opened in another Rover tab to preserve Rover runtime continuity.":void 0;return n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:f||"Opened in another Rover tab to preserve Rover runtime continuity.",allowedDomains:this.allowedDomains,openedInNewTab:!0}),{success:!0,output:{url:t,external:o,logicalTabId:i.logicalTabId,openedInNewTab:!0,reusedExistingTab:!0,reusedBy:i.reusedBy,navigationOutcome:"switch_tab",navigationPending:!0,decisionReason:n?.decisionReason||"open_new_tab",policyBlocked:!!n?.policyBlocked,message:f},allowFallback:!0}}let a=this.snapshotKnownTabIds(),s=this.openVerifiedPopup(t),c;if(s.opened&&this.registerOpenedTab)try{c=(await this.registerOpenedTab({url:t,title:void 0,external:o,openerRuntimeId:this.runtimeId}))?.logicalTabId}catch{}if(s.opened&&!c&&(c=await this.reconcileOpenedTab(t,a)),!s.opened){let f=await this.reconcileOpenedTab(t,a);f&&(s={opened:!0,verified:!1},c=c||f)}let l=s.opened&&!c&&!!this.registerOpenedTab;if(!s.opened){let f="Browser popup settings blocked opening a new tab.";return n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:n.reason||f,allowedDomains:this.allowedDomains,openedInNewTab:!1}),{success:!1,error:"open_new_tab blocked by browser popup settings",allowFallback:!0,output:{url:t,external:o,logicalTabId:c,navigationOutcome:"blocked",decisionReason:n?.decisionReason||"policy_blocked"},errorDetails:{code:"POPUP_BLOCKED",message:f,retryable:!0,next_action:"Allow popups for this site and try again."}}}let d=n?.policyBlocked?n.reason||"Opened in a new tab due to domain policy.":void 0;n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:d||"Opened in new tab due to domain policy.",allowedDomains:this.allowedDomains,openedInNewTab:!0});let m=[];return l&&m.push("Tab opened but registration failed; tab may not be targetable."),s.verified||m.push("Tab open was triggered, but browser did not return a popup handle."),{success:!0,output:{url:t,external:o,logicalTabId:c,openedInNewTab:!0,navigationOutcome:"new_tab_opened",navigationPending:!0,decisionReason:n?.decisionReason||"open_new_tab",openVerification:s.verified?"verified":"unverified",policyBlocked:!!n?.policyBlocked,message:d,...m.length?{warning:m.join(" ")}:{}},allowFallback:!0}}openVerifiedPopup(t){let n=window.open("about:blank","_blank");if(n){try{n.opener=null}catch{}try{n.location.href=t}catch{}return{opened:!0,verified:!0}}try{let r=window.open(t,"_blank");if(r){try{r.opener=null}catch{}return{opened:!0,verified:!0}}}catch{}try{let r=window.open(t,"_blank","noopener,noreferrer");if(r){try{r.opener=null}catch{}return{opened:!0,verified:!0}}return{opened:!0,verified:!1}}catch{}try{let r=document.createElement("a");return r.href=t,r.target="_blank",r.rel="noopener noreferrer",r.style.display="none",document.body.appendChild(r),r.click(),r.remove(),{opened:!0,verified:!1}}catch{return{opened:!1,verified:!1}}}snapshotKnownTabIds(){let t=new Set;if(!this.listKnownTabs)return t;try{let n=this.listKnownTabs();for(let r of n){let o=Number(r?.logicalTabId);!Number.isFinite(o)||o<=0||t.add(o)}}catch{return t}return t}async reconcileOpenedTab(t,n){if(!this.listKnownTabs)return;let r=Zn(t),o=Date.now()+2e3;for(;Date.now()<o;){try{let i=this.listKnownTabs();for(let a of i){let s=Number(a?.logicalTabId);if(!Number.isFinite(s)||s<=0||n.has(s))continue;let c=String(a?.url||"").trim();if(!c)return s;let l=Zn(c);if(!r||!l||l===r)return s}}catch{}await new Promise(i=>setTimeout(i,120))}}async openElementInNewTab(t){let n=Mf(t);if(!n)return{success:!1,error:"click_element with open_in_new_tab requires element_id.",allowFallback:!0};let{doc:r}=ha(document,t.iframe_id),o=ur(r,n);if(!o)return{success:!1,error:`click_element: element_id ${String(n)} not found.`,allowFallback:!0};let i=ty(o),a=i?.href||i?.getAttribute("href")||"",s=Zl(a,window.location.href);return s?await this.openUrlInNewTab(s,{policyBlocked:!1}):{success:!1,error:"click_element open_in_new_tab only works when target resolves to a valid link URL.",allowFallback:!0}}async waitForElement(t){let n=String(t.selector||"").trim(),r=Math.max(0,Math.min(Number(t.timeout??5e3),3e4));if(!n)return{success:!1,error:"wait_for_element: missing selector",allowFallback:!0};let o=Date.now(),i=document;for(;Date.now()-o<r;){let a=null;try{a=i.querySelector(n)}catch{a=null}if(a||(a=nE(i,n)),a)return{success:!0};await new Promise(s=>setTimeout(s,200))}return{success:!1,error:`wait_for_element: not found (${n})`,allowFallback:!0}}async describeImages(t){let n=bb(t);if(!n.length)return{success:!1,error:"describe_images: element_ids is empty",allowFallback:!1};let r=[],o=[];for(let i of n){let a=ur(document,i);if(!a){o.push(`element_id ${i} not found`);continue}try{let s=await rE(a);if(!s?.data||!s?.mimeType){o.push(`element_id ${i}: unsupported image`);continue}r.push({element_id:i,...s})}catch(s){o.push(`element_id ${i}: ${s?.message||String(s)}`)}}return r.length?{success:!0,output:{images:r,errors:o.length?o:void 0}}:{success:!1,error:o[0]||"describe_images failed",output:{images:[],errors:o}}}ensureUploadProvider(){this.uploadProviderInstalled||(this.uploadProviderInstalled=!0,this.setUploadBytesProvider(async({token:t,byteLength:n})=>{this.pruneUploadStore();let r=this.uploadStore.get(t);if(!r)throw new Error("upload bytes token not found");if(r.bytes.byteLength!==n)throw new Error("upload bytes size mismatch");return r.bytes}))}pruneUploadStore(){let t=Date.now()-6e5;for(let[n,r]of this.uploadStore.entries())r.createdAt<t&&this.uploadStore.delete(n)}async buildUploadPayload(t){let n=String(t.file_url||"").trim();if(n)try{let r=await hb(0,n,document?.referrer||null),o=r.bytes,i=o.byteLength,a=r.mimeType||t.mime_type||"application/octet-stream",s=t.file_name||r.fileName,c=1024*1024;if(i<=c)return{kind:"upload_file",inlineB64:oy(o),byteLength:i,mimeType:a,fileName:s};this.ensureUploadProvider();let l=crypto.randomUUID();return this.uploadStore.set(l,{bytes:o,createdAt:Date.now()}),{kind:"upload_file",token:l,byteLength:i,mimeType:a,fileName:s,durable:!1}}catch{return}}};q(nd,"NAV_PREFLIGHT_TIMEOUT_MS",1500);var td=nd;function J_(e){return e==="open_url_new_tab"?z.open_new_tab:String(e||"").trim()}function Q_(e){return e.length?e.join(", "):"(none)"}function ey(e){return e==="host_only"?"host_only":"registrable_domain"}function Ks(e,t,n,r){let o=Number(e);return Number.isFinite(o)?Math.max(n,Math.min(r,Math.floor(o))):t}function Zl(e,t){let n=String(e||"").trim();if(!n)return null;try{return new URL(n,t).toString()}catch{return null}}function ty(e){if(e instanceof HTMLAnchorElement&&e.href)return e;let t=e.closest?.("a[href]");return t instanceof HTMLAnchorElement&&t.href?t:null}function ed(e,t="CAPABILITY_UNAVAILABLE"){return{success:!1,error:e,allowFallback:!0,errorDetails:{code:t,message:e,retryable:!1}}}function Z_(e){return{frameworks:(e.frameworks||[]).filter(n=>n in pf).map(n=>pf[n]),listenersRaw:e.listenersRaw??"",role:e.role??null,pattern:e.pattern,value:e.value??null}}function eE(e,t){if(t!==z.click_element)return"standard";let n=yi(e||"");if(!n)return"standard";let r=new Set(n.entries.map(c=>yo[c.id]).filter(c=>typeof c=="string")),o=r.has("click")||r.has("mousedown")||r.has("mouseup")||r.has("pointerdown")||r.has("pointerup")||r.has("touchend");if((r.has("mouseenter")||r.has("mouseover")||r.has("pointerenter"))&&o)return"hover-activate";let a=r.has("touchstart"),s=r.has("touchend");return a&&s?"touch-sequence":"standard"}function oy(e){let t=new Uint8Array(e),n="",r=32768;for(let o=0;o<t.length;o+=r)n+=String.fromCharCode(...t.subarray(o,o+r));return btoa(n)}function ny(e){let t=Number(e);if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n>0?n:null}function iy(e){let t=[];for(let n of ba){let r=e?.[n];if(r==null)continue;if(Array.isArray(r)){for(let i of r){let a=ny(i);a!=null&&t.push(a)}continue}let o=ny(r);o!=null&&t.push(o)}return Array.from(new Set(t))}function tE(e){return iy(e).length>0}function Mf(e){let t=iy(e);return t.length?t[0]:null}function nE(e,t){let n=t.toLowerCase(),r=["button","a","input","textarea","select","label","[role]","div","span"],o=e.querySelectorAll(r.join(","));for(let i of Array.from(o))if((i.textContent||"").trim().toLowerCase().includes(n)||(i.getAttribute("aria-label")||"").toLowerCase().includes(n))return i;return null}async function rE(e){if(e instanceof HTMLCanvasElement){let o=e.toDataURL(),i=ay(o);if(!i)throw new Error("canvas toDataURL failed");return i}if(e instanceof SVGElement){let o=new XMLSerializer().serializeToString(e);return{data:btoa(unescape(encodeURIComponent(o))),mimeType:"image/svg+xml",displayName:"svg"}}if(e instanceof HTMLImageElement){let o=e.currentSrc||e.src;return await ry(o,e.alt||e.getAttribute("aria-label")||void 0)}let n=window.getComputedStyle(e).backgroundImage||"",r=/url\\((['\"]?)(.*?)\\1\\)/.exec(n);if(r?.[2])return await ry(r[2],e.getAttribute("aria-label")||void 0);throw new Error("unsupported element")}function ay(e){let t=/^data:([^;]+);base64,(.*)$/.exec(e);return t?{mimeType:t[1],data:t[2]}:null}async function ry(e,t){if(!e)throw new Error("missing src");if(e.startsWith("data:")){let s=ay(e);if(!s)throw new Error("invalid data url");return{...s,displayName:t}}let n=await fetch(e,{mode:"cors"});if(!n.ok)throw new Error(`fetch failed (${n.status})`);let r=await n.blob(),o=await r.arrayBuffer(),i=oy(o),a=r.type||"image/png";return{data:i,mimeType:a,displayName:t}}function sy(e,t){e.onmessage=async n=>{let r=n.data;if(!r||r.t!=="req")return;let{id:o,method:i,params:a}=r;try{let s=t[i];if(!s)throw new Error(`No handler for ${i}`);let c=await s(a);e.postMessage({t:"res",id:o,ok:!0,result:c})}catch(s){e.postMessage({t:"res",id:o,ok:!1,error:{message:s?.message||String(s)}})}}}var oE="Rover";var rd="#FF4C00";var cy=[.52,.72,1],ly=[.56,.72,.88],dy=280,uy=360,qo=1200,fy=1200,py=1200,xa=25,my=4;function Fe(e){return String(e||"").trim()}function Gs(e){let t=String(e||"").trim();if(!t)return;let n=t.match(/^#?([0-9a-fA-F]{6})$/);return n?`#${n[1].toUpperCase()}`:void 0}function iE(e){return String(e||"").trim().replace(/[^a-zA-Z0-9-]/g,"").slice(0,48)||void 0}function Nf(e){let t=Number(e);return Number.isFinite(t)?Math.max(800,Math.min(5e3,Math.trunc(t))):2600}function Lf(e){if(!e||typeof e!="object")return;let t={};typeof e.enabled=="boolean"&&(t.enabled=e.enabled);let n=iE(e.language);return n&&(t.language=n),e.autoStopMs!==void 0&&(t.autoStopMs=Nf(e.autoStopMs)),Object.keys(t).length?t:void 0}function aE(e){if(!e||typeof e!="object")return{};let t={};if(e.presence&&typeof e.presence=="object"&&(t.presence={assistantName:Fe(String(e.presence.assistantName||"")).slice(0,160)||void 0,ctaText:Fe(String(e.presence.ctaText||"")).slice(0,160)||void 0,iconMode:e.presence.iconMode==="logo"||e.presence.iconMode==="mascot"||e.presence.iconMode==="rover"?e.presence.iconMode:void 0,draggable:typeof e.presence.draggable=="boolean"?e.presence.draggable:void 0,defaultAnchor:e.presence.defaultAnchor==="bottom-right"||e.presence.defaultAnchor==="bottom-left"||e.presence.defaultAnchor==="top-right"||e.presence.defaultAnchor==="top-left"||e.presence.defaultAnchor==="bottom-center"?e.presence.defaultAnchor:void 0,persistPosition:typeof e.presence.persistPosition=="boolean"?e.presence.persistPosition:void 0,idleAnimation:e.presence.idleAnimation==="breathe"||e.presence.idleAnimation==="orbit"||e.presence.idleAnimation==="none"?e.presence.idleAnimation:void 0,firstRunIntro:e.presence.firstRunIntro==="ambient"||e.presence.firstRunIntro==="headline"||e.presence.firstRunIntro==="none"?e.presence.firstRunIntro:void 0,defaultState:e.presence.defaultState==="seed"||e.presence.defaultState==="bar"?e.presence.defaultState:void 0}),e.shell&&typeof e.shell=="object"&&(t.shell={openMode:e.shell.openMode==="center_stage"?e.shell.openMode:void 0,mobileMode:e.shell.mobileMode==="fullscreen_sheet"?e.shell.mobileMode:void 0,desktopSize:e.shell.desktopSize==="compact"||e.shell.desktopSize==="stage"||e.shell.desktopSize==="cinema"?e.shell.desktopSize:void 0,desktopHeight:e.shell.desktopHeight==="tall"||e.shell.desktopHeight==="full"?e.shell.desktopHeight:void 0,dimBackground:typeof e.shell.dimBackground=="boolean"?e.shell.dimBackground:void 0,blurBackground:typeof e.shell.blurBackground=="boolean"?e.shell.blurBackground:void 0,safeAreaInsetPx:Number.isFinite(Number(e.shell.safeAreaInsetPx))?Math.max(0,Math.min(48,Math.trunc(Number(e.shell.safeAreaInsetPx)))):void 0,transitionStyle:e.shell.transitionStyle==="morph"||e.shell.transitionStyle==="crossfade"?e.shell.transitionStyle:void 0}),e.stream&&typeof e.stream=="object"&&(t.stream={layout:e.stream.layout==="single_column"?e.stream.layout:void 0,maxVisibleLiveCards:Number.isFinite(Number(e.stream.maxVisibleLiveCards))?Math.max(1,Math.min(4,Math.trunc(Number(e.stream.maxVisibleLiveCards)))):void 0,collapseCompletedSteps:typeof e.stream.collapseCompletedSteps=="boolean"?e.stream.collapseCompletedSteps:void 0,artifactAutoMinimize:typeof e.stream.artifactAutoMinimize=="boolean"?e.stream.artifactAutoMinimize:void 0,artifactOpenMode:e.stream.artifactOpenMode==="inline"||e.stream.artifactOpenMode==="overlay"?e.stream.artifactOpenMode:void 0}),e.inputs&&typeof e.inputs=="object"&&(t.inputs={text:typeof e.inputs.text=="boolean"?e.inputs.text:void 0,voice:typeof e.inputs.voice=="boolean"?e.inputs.voice:void 0,files:typeof e.inputs.files=="boolean"?e.inputs.files:void 0,acceptedMimeGroups:Array.isArray(e.inputs.acceptedMimeGroups)?e.inputs.acceptedMimeGroups.filter(n=>n==="images"||n==="pdfs"||n==="office"||n==="text"):void 0,allowMultipleFiles:typeof e.inputs.allowMultipleFiles=="boolean"?e.inputs.allowMultipleFiles:void 0,mobileCameraCapture:typeof e.inputs.mobileCameraCapture=="boolean"?e.inputs.mobileCameraCapture:void 0,attachmentLimit:Number.isFinite(Number(e.inputs.attachmentLimit))?Math.max(1,Math.min(12,Math.trunc(Number(e.inputs.attachmentLimit)))):void 0,maxFileSizeMb:Number.isFinite(Number(e.inputs.maxFileSizeMb))?Math.max(1,Math.min(32,Math.trunc(Number(e.inputs.maxFileSizeMb)))):void 0}),e.audio&&typeof e.audio=="object"){let n=e.audio.narration&&typeof e.audio.narration=="object"?e.audio.narration:void 0;n&&(t.audio={narration:{enabled:typeof n.enabled=="boolean"?n.enabled:void 0,defaultMode:n.defaultMode==="guided"||n.defaultMode==="always"||n.defaultMode==="off"?n.defaultMode:void 0,rate:Number.isFinite(Number(n.rate))?Math.max(.85,Math.min(1.15,Number(n.rate))):void 0,language:String(n.language||"").trim().slice(0,24)||void 0,voicePreference:n.voicePreference==="auto"||n.voicePreference==="system"||n.voicePreference==="natural"?n.voicePreference:void 0}})}return e.motion&&typeof e.motion=="object"&&(t.motion={intensity:e.motion.intensity==="calm"||e.motion.intensity==="balanced"||e.motion.intensity==="expressive"?e.motion.intensity:void 0,reducedMotionFallback:e.motion.reducedMotionFallback==="reduce"||e.motion.reducedMotionFallback==="remove"?e.motion.reducedMotionFallback:void 0,performanceBudget:e.motion.performanceBudget==="standard"||e.motion.performanceBudget==="high"?e.motion.performanceBudget:void 0,actionSpotlight:typeof e.motion.actionSpotlight=="boolean"?e.motion.actionSpotlight:void 0,actionSpotlightColor:Gs(e.motion.actionSpotlightColor),filaments:typeof e.motion.filaments=="boolean"?e.motion.filaments:void 0,particles:typeof e.motion.particles=="boolean"?e.motion.particles:void 0,palimpsest:typeof e.motion.palimpsest=="boolean"?e.motion.palimpsest:void 0}),e.theme&&typeof e.theme=="object"&&(t.theme={mode:e.theme.mode==="auto"||e.theme.mode==="light"||e.theme.mode==="dark"?e.theme.mode:void 0,accentColor:Fe(String(e.theme.accentColor||"")).slice(0,32)||void 0,surfaceStyle:e.theme.surfaceStyle==="glass"||e.theme.surfaceStyle==="solid"?e.theme.surfaceStyle:void 0,radius:e.theme.radius==="soft"||e.theme.radius==="rounded"||e.theme.radius==="pill"?e.theme.radius:void 0,fontFamily:String(e.theme.fontFamily||"").trim().slice(0,120)||void 0}),t}function Df(e,t,n){let r=aE(e.experience);return{presence:{assistantName:r.presence?.assistantName||t,ctaText:r.presence?.ctaText||`Do it with ${t}`,iconMode:r.presence?.iconMode||(n?"logo":"mascot"),draggable:r.presence?.draggable??!0,defaultAnchor:r.presence?.defaultAnchor||"bottom-center",persistPosition:r.presence?.persistPosition??!1,idleAnimation:r.presence?.idleAnimation||"breathe",firstRunIntro:r.presence?.firstRunIntro||"ambient",defaultState:r.presence?.defaultState},shell:{openMode:"center_stage",mobileMode:"fullscreen_sheet",desktopSize:r.shell?.desktopSize||"stage",desktopHeight:r.shell?.desktopHeight||"tall",dimBackground:r.shell?.dimBackground??!0,blurBackground:r.shell?.blurBackground??!0,safeAreaInsetPx:r.shell?.safeAreaInsetPx??16,transitionStyle:r.shell?.transitionStyle||"morph"},stream:{layout:"single_column",maxVisibleLiveCards:r.stream?.maxVisibleLiveCards??2,collapseCompletedSteps:r.stream?.collapseCompletedSteps??!0,artifactAutoMinimize:r.stream?.artifactAutoMinimize??!0,artifactOpenMode:r.stream?.artifactOpenMode||"inline"},inputs:{text:r.inputs?.text??!0,voice:r.inputs?.voice??!0,files:r.inputs?.files??!0,acceptedMimeGroups:r.inputs?.acceptedMimeGroups||["images","pdfs","office","text"],allowMultipleFiles:r.inputs?.allowMultipleFiles??!0,mobileCameraCapture:r.inputs?.mobileCameraCapture??!0,attachmentLimit:r.inputs?.attachmentLimit??6,maxFileSizeMb:r.inputs?.maxFileSizeMb??12},audio:{narration:{enabled:r.audio?.narration?.enabled??!0,defaultMode:r.audio?.narration?.defaultMode||"guided",rate:r.audio?.narration?.rate??1,language:r.audio?.narration?.language||"en-US",voicePreference:r.audio?.narration?.voicePreference||"auto"}},motion:{intensity:r.motion?.intensity||"balanced",reducedMotionFallback:r.motion?.reducedMotionFallback||"reduce",performanceBudget:r.motion?.performanceBudget||"standard",actionSpotlight:r.motion?.actionSpotlight??!0,actionSpotlightColor:r.motion?.actionSpotlightColor||Gs(r.theme?.accentColor)||rd,filaments:r.motion?.filaments,particles:r.motion?.particles,palimpsest:r.motion?.palimpsest},theme:{mode:r.theme?.mode||"auto",accentColor:r.theme?.accentColor||rd,surfaceStyle:r.theme?.surfaceStyle||"glass",radius:r.theme?.radius||"pill",fontFamily:r.theme?.fontFamily}}}function hy(e){let t=String(e||"").trim();return t?t.slice(0,64):oE}function gy(e){let t=String(e||"").trim();return t?t[0].toUpperCase():"R"}function by(e){return String(e||"").replace(/[^a-zA-Z0-9]/g,"").slice(0,3).toUpperCase()||"RVR"}function yy(e){let t=Array.isArray(e)&&e.length>0?e:["images","pdfs","office","text"],n=[];for(let r of t)r==="images"&&n.push("image/*"),r==="pdfs"&&n.push("application/pdf"),r==="office"&&n.push(".doc,.docx,.ppt,.pptx,.xls,.xlsx,.csv,.rtf"),r==="text"&&n.push("text/plain,.md,.txt,.json");return n.join(",")}function vy(e){let t=Gs(e);if(!t)return{};let n=t.replace("#",""),r=parseInt(n.slice(0,2),16),o=parseInt(n.slice(2,4),16),i=parseInt(n.slice(4,6),16);if(isNaN(r)||isNaN(o)||isNaN(i))return{};let a=(s,c)=>Math.max(0,Math.round(s*(1-c)));return{"--rv-accent":t,"--rv-accent-rgb":`${r}, ${o}, ${i}`,"--rv-accent-hover":`#${a(r,.1).toString(16).padStart(2,"0")}${a(o,.1).toString(16).padStart(2,"0")}${a(i,.1).toString(16).padStart(2,"0")}`,"--rv-accent-soft":`rgba(${r}, ${o}, ${i}, 0.06)`,"--rv-accent-border":`rgba(${r}, ${o}, ${i}, 0.14)`,"--rv-accent-glow":`rgba(${r}, ${o}, ${i}, 0.10)`}}function ky(e,t=rd){let n=Gs(e)||Gs(t)||rd,r=n.replace("#",""),o=parseInt(r.slice(0,2),16),i=parseInt(r.slice(2,4),16),a=parseInt(r.slice(4,6),16);return isNaN(o)||isNaN(i)||isNaN(a)?{}:{"--rv-action-spotlight":n,"--rv-action-spotlight-rgb":`${o}, ${i}, ${a}`,"--rv-action-spotlight-fill":`rgba(${o}, ${i}, ${a}, 0.045)`,"--rv-action-spotlight-halo":`rgba(${o}, ${i}, ${a}, 0.12)`,"--rv-action-spotlight-glow":`rgba(${o}, ${i}, ${a}, 0.18)`,"--rv-action-spotlight-pulse":`rgba(${o}, ${i}, ${a}, 0.22)`,"--rv-action-spotlight-pulse-soft":`rgba(${o}, ${i}, ${a}, 0.06)`,"--rv-action-spotlight-dark-fill":`rgba(${o}, ${i}, ${a}, 0.07)`,"--rv-action-spotlight-dark-halo":`rgba(${o}, ${i}, ${a}, 0.16)`,"--rv-action-spotlight-dark-glow":`rgba(${o}, ${i}, ${a}, 0.22)`}}function od(e){return String(e||"").trim().toLowerCase().replace(/[^a-z0-9._-]+/g,"_").replace(/^_+|_+$/g,"")}function sE(e){if(e?.mascot?.soundEnabled!==!0||e?.mascot?.disabled===!0)return!1;let t=!!String(e?.mascot?.mp4Url||"").trim()||!!String(e?.mascot?.webmUrl||"").trim(),n=!!String(e?.mascot?.imageUrl||"").trim();return t?!0:!n}function cE(e){let t=od(e.siteId);return t?`rover:muted:${t}`:`rover:muted:${od(e.host)||"shared"}`}function lE(e){let t=od(e.siteId);return t?`rover:narration:${t}`:`rover:narration:${od(e.host)||"shared"}`}function xy(e){let t=String(e||"").trim();if(!(!t||t.length>32)&&/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8}){0,3}$/.test(t))return t.split("-").map((n,r)=>r===0?n.toLowerCase():n.toUpperCase()).join("-")}function wy(e){let t=String(e||"").trim();if(!(!t||t.length>180))return t.replace(/[\u0000-\u001f\u007f]/g,"").slice(0,180)||void 0}function Sy(e){return e==="auto"||e==="system"||e==="natural"?e:void 0}function dE(e){if(e==null||e==="")return{value:{},source:"default"};let t=String(e).trim();if(t==="true"||t==="false")return{value:{enabled:t==="true"},source:"visitor"};try{let n=JSON.parse(t);if(!n||typeof n!="object")return{value:{},source:"default"};let r=n,o={};typeof r.enabled=="boolean"&&(o.enabled=r.enabled);let i=xy(r.language);i&&(o.language=i);let a=wy(r.voiceURI);a&&(o.voiceURI=a);let s=Sy(r.voicePreference);return s&&(o.voicePreference=s),{value:o,source:Object.keys(o).length?"visitor":"default"}}catch{return{value:{},source:"default"}}}function Pf(e){let t={};typeof e.enabled=="boolean"&&(t.enabled=e.enabled);let n=xy(e.language);n&&(t.language=n);let r=wy(e.voiceURI);r&&(t.voiceURI=r);let o=Sy(e.voicePreference);return o&&(t.voicePreference=o),JSON.stringify(t)}function Ty(e){let t=sE(e);if(!t)return{soundEnabled:t,isMuted:!0};let n=cE({siteId:e.siteId,host:e.host}),r=e.muted??!0,o=e.readStored?.(n);return o!=null&&(r=o!=="false"),{soundEnabled:t,isMuted:r,storageKey:n}}function Of(e){let t=e.enabled!==!1;if(!t)return{supportedByConfig:t,enabled:!1,source:"default"};let n=lE({siteId:e.siteId,host:e.host}),r=e.defaultOn!==!1,o="default",i=e.readStored?.(n),a=dE(i);return a.source==="visitor"&&(typeof a.value.enabled=="boolean"&&(r=a.value.enabled),o="visitor"),{supportedByConfig:t,enabled:r,source:o,...a.value.language?{language:a.value.language}:{},...a.value.voiceURI?{voiceURI:a.value.voiceURI}:{},...a.value.voicePreference?{voicePreference:a.value.voicePreference}:{},storageKey:n}}function To(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function Vo(e){try{return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}catch{return""}}function ad(e){return e.status?e.status:e.kind==="tool_start"||e.kind==="plan"||e.kind==="thought"?"pending":e.kind==="tool_result"?"success":e.kind==="error"?"error":"info"}function sd(e){let t=Fe(e.actionCue?.toolCallId||"");if((e.kind==="tool_start"||e.kind==="tool_result")&&t)return`tool:${t}`;let n=String(e.title||"").trim().toLowerCase();return n.startsWith("running ")?`tool:${n.replace(/^running\s+/,"").trim()}`:n.endsWith(" completed")?`tool:${n.replace(/\s+completed$/,"").trim()}`:n==="run started"||n==="run resumed"||n==="run completed"?"run":e.kind==="status"?`status:${n||"status"}`:e.id||To("trace")}function _y(e){return String(e||"").replace(/\s+/g," ").trim()}function My(e,t,n){return[String(e||"").trim(),_y(t),_y(n)].filter(Boolean).join(" ")}function cd(e){let t=Fe(e),n=/^(Analyze|Route|Execute|Verify|Complete):\s*(.*)$/i.exec(t);if(!n)return{plainTitle:t};let r=n[1].toLowerCase(),o=Fe(n[2]||t);return{stage:r,plainTitle:o||t}}function Ff(e){return String(e||"").replace(/[_-]+/g," ").replace(/\s+/g," ").trim().split(" ").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" ")}function Ny(e){let t=Fe(e.toolName||"");if(t)return t;let n=Fe(e.title||""),r=/^running\s+(.+)$/i.exec(n);if(r?.[1])return r[1];let o=/^(.+?)\s+completed$/i.exec(n);return o?.[1]?o[1]:""}function uE(e){let t=Fe(e);if(!t)return;let n=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/\s+/g," ").trim().toLowerCase();return n?{click:"Click","click element":"Click Element",tap:"Tap",press:"Press","open url":"Open URL","open url new tab":"Open URL","open url same tab":"Open URL",navigate:"Navigate",goto:"Navigate","go to":"Navigate",visit:"Navigate",type:"Type","type text":"Type Text",input:"Input",fill:"Fill Field","set value":"Set Value",select:"Select Option",upload:"Upload File","upload file":"Upload File",scroll:"Scroll",wait:"Wait",monitor:"Monitor",hover:"Hover",read:"Read Page","read page":"Read Page",extract:"Extract Data",scrape:"Extract Data","search page":"Search Page","get text":"Read Text","get html":"Read HTML",screenshot:"Capture Screenshot",snapshot:"Capture Snapshot"}[n]||Ff(n):void 0}function fE(e){let t=Fe(e||"").replace(/\s+/g," ").trim();return t?t.length<=48?t:`${t.slice(0,45).trim()}...`:""}function zf(e){let t=e.actionCue;if(!t)return;let n=fE(t.targetLabel),r=e.kind!=="tool_result",o={click:{active:"Clicking",done:"Clicked"},type:{active:"Typing in",done:"Typed in"},select:{active:"Selecting",done:"Selected"},clear:{active:"Clearing",done:"Cleared"},focus:{active:"Focusing",done:"Focused"},hover:{active:"Hovering over",done:"Hovered over"},press:{active:"Pressing",done:"Pressed"},scroll:{active:"Scrolling to",done:"Scrolled to"},drag:{active:"Dragging",done:"Dragged"},copy:{active:"Copying",done:"Copied"},paste:{active:"Pasting into",done:"Pasted into"},upload:{active:"Uploading to",done:"Uploaded to"},navigate:{active:"Navigating",done:"Navigated"},read:{active:"Reading",done:"Read"},wait:{active:"Waiting for",done:"Waited for"},unknown:{active:"Acting on",done:"Acted on"}},i=o[t.kind]?.[r?"active":"done"]||o.unknown[r?"active":"done"];return n?`${i} ${n}`:t.kind==="type"?r?"Typing into field":"Typed into field":t.kind==="select"?r?"Selecting option":"Selected option":t.kind==="clear"?r?"Clearing field":"Cleared field":t.kind==="scroll"?r?"Scrolling page":"Scrolled page":t.kind==="drag"?r?"Dragging item":"Dragged item":t.kind==="copy"?r?"Copying text":"Copied text":t.kind==="paste"?r?"Pasting text":"Pasted text":t.kind==="upload"?r?"Uploading file":"Uploaded file":t.kind==="navigate"?r?"Navigating":"Navigated":t.kind==="read"?r?"Reading page":"Read page":t.kind==="wait"?r?"Waiting":"Waited":r?"Acting on page":"Acted on page"}function Xs(e){let t=e.kind,n=e.actionCue?.kind,r=Ny(e),o=Fe(e.title||"");if(t==="tool_start")return n==="click"||n==="press"||n==="hover"||n==="focus"||n==="clear"||n==="drag"||n==="copy"||n==="paste"||n==="upload"?"Acting":n==="navigate"?"Navigating":n==="type"||n==="select"?"Inputting":n==="read"?"Reading":n==="scroll"?"Scrolling":n==="wait"?"Waiting":/click|tap|press/i.test(r)||/click|tap|press/i.test(o)?"Acting":/navigate|goto|go to|open|visit/i.test(r)||/navigate|go to|visit|open/i.test(o)?"Navigating":/type|fill|input|write|set/i.test(r)||/type|fill|input|write|set/i.test(o)?"Inputting":/read|extract|scrape|get|fetch|find|search/i.test(r)||/read|extract|scrape|search|inspect/i.test(o)?"Reading":/scroll/i.test(r)||/scroll/i.test(o)?"Scrolling":/wait|monitor|observe/i.test(r)||/wait|monitor|observe/i.test(o)?"Waiting":"Executing";if(t==="tool_result")return"Completed";if(t==="assistant_response")return e.responseKind==="final"?"Answer":"Update";if(t==="thought")return"Thinking";if(t==="plan")return"Planning";if(t==="status"){let i=cd(e.title||"");return i.stage?Ff(i.stage):"Status"}return t==="debug"?"Debug":t==="error"?"Error":t==="info"?"Update":"Searching"}function Ys(e){let t=zf(e);if(t)return t;let n=cd(e.title||""),r=uE(Ny(e));return r||(n.stage?Ff(n.stage):n.plainTitle?n.plainTitle:Xs(e))}function ld(e){if(e.actionCue)return"";let t=Fe(e.detail||"");if(t)return t;let n=cd(e.title||""),r=Ys(e);return n.plainTitle&&n.plainTitle!==r?n.plainTitle:""}function Ey(e){let t=e.kind==="message"?e.message.order:e.event.order;return Number.isFinite(Number(t))?Number(t):Number.MAX_SAFE_INTEGER}function Iy(e){let t=e.kind==="message"?e.message.ts:e.event.ts;return Number.isFinite(Number(t))?Number(t):0}function Ay(e){return e.kind==="timeline"?1:e.message.role==="user"?0:2}function Ry(e){return e.kind==="message"?Fe(e.message.id||e.message.text||""):Fe(e.event.id||e.event.title||"")}function Hf(e=[],t=[]){let n=[];for(let r of e)r&&n.push({kind:"message",message:r});for(let r of t)r&&n.push({kind:"timeline",event:r});return n.sort((r,o)=>{let i=Iy(r)-Iy(o);if(i!==0)return i;let a=Ey(r)-Ey(o);if(a!==0)return a;let s=Ay(r)-Ay(o);return s!==0?s:Ry(r).localeCompare(Ry(o))})}function Ly(e=[],t=[]){let n=Hf(e,t),r=[];for(let o of n){if(o.kind==="message"){r.push({kind:"message",message:o.message});continue}let i=r[r.length-1];if(i?.kind==="timeline"){i.events.push(o.event);continue}r.push({kind:"timeline",id:Fe(o.event.id||"")||To("trace-group"),events:[o.event]})}return r}function pE(e,t){let n=Fe(e);try{let r=new URL(n),o=r.hostname.replace(/^www\./i,""),i=`${r.pathname||""}${r.search||""}${r.hash||""}`;if(!i)return o;let a=Math.max(12,t-o.length-1);if(i.length<=a)return`${o}${i}`;let s=i.slice(0,Math.max(6,Math.floor(a*.55))),c=i.slice(-Math.max(4,a-s.length-3));return`${o}${s}...${c}`}catch{return n.length<=t?n:`${n.slice(0,Math.max(12,t-15))}...${n.slice(-12)}`}}function Js(e,t){let n=Math.max(24,Number(t?.maxLength)||96),r=Math.max(20,Number(t?.maxUrlLength)||52),o=Fe(String(e||"")).replace(/\s+/g," ").trim();if(!o)return"";let i=o.replace(/https?:\/\/[^\s]+/gi,a=>pE(a,r));return i.length<=n?i:`${i.slice(0,Math.max(20,n-3)).trimEnd()}...`}function Dy(e){let t=(e.title||"").toLowerCase();if(t==="run started"||t==="run resumed"||t==="run completed"||t==="started new task"||t==="execution completed")return"detail";if(e.kind==="status"){let n=cd(e.title||"");if(n.stage==="analyze"||n.stage==="route"||n.stage==="complete")return"detail"}return"primary"}function Bf(e,t){let n=/\[([^\]]+)\]\((https?:\/\/[^\s)]+)\)|\*\*(.+?)\*\*/g,r=0,o;for(;(o=n.exec(t))!==null;){if(o.index>r&&e.appendChild(document.createTextNode(t.slice(r,o.index))),o[1]&&o[2]){let i=document.createElement("a");i.className="rvLink",i.href=o[2],i.target="_blank",i.rel="noopener noreferrer",i.textContent=o[1],e.appendChild(i)}else if(o[3]){let i=document.createElement("strong");i.textContent=o[3],e.appendChild(i)}r=o.index+o[0].length}r<t.length&&e.appendChild(document.createTextNode(t.slice(r)))}function So(e){let t=document.createDocumentFragment(),n=e.split(`
|
|
11
|
-
`),r=null;for(let o of n){let i=o.trim();if(!i){r&&(t.appendChild(r),r=null);continue}if(i==="---"){r&&(t.appendChild(r),r=null);let c=document.createElement("hr");c.className="rvSep",t.appendChild(c);continue}if(i.startsWith("- ")){r||(r=document.createElement("ul"),r.className="rvList");let c=document.createElement("li");
|
|
8
|
+
`)||(i+=c.trimEnd())}if(Wl(e,!1),Vl(e)?Kl(e).endsWith(x_+`
|
|
9
|
+
`)&&Wl(e,!1):Wl(e,!1),Vl(e)){let c=Kl(e);c.trim()!==""&&!c.startsWith(`
|
|
10
|
+
`)&&(i+=c)}Mb(e);let a=yf(e).trim(),s=i.trim()+a;return s.trim()?s:o()}catch{return o()}}async function __(e,t){let n="",r;Bb(e,e.defaultView||window);let o=fn(t?.deadlineEpochMs);try{let i=Math.max(250,Math.min(1500,Math.floor(o*.45))),a=await ka(E_(e),i,e);if(!(a.ok&&a.value))throw new Error("google_sheet_copy_failed");let c=fn(t?.deadlineEpochMs),l=Math.max(250,Math.min(2500,Math.floor(c*.55)));if(n=await I_(l,e),!n.trim())throw new Error("google_sheet_empty_clipboard")}catch(i){r=i instanceof Error?i.message:String(i)}return{content:n,contentType:zu,error:r}}function Bb(e,t){try{t?.focus?.()}catch{}try{e?.body?.focus?.()}catch{}}function vf(e,t){let r=e.defaultView?.KeyboardEvent||KeyboardEvent,o=new r("keydown",{bubbles:!0,cancelable:!0,...t}),i=e.activeElement;(i&&i.ownerDocument===e?i:e).dispatchEvent(o)}async function E_(e){try{if(Bb(e,e.defaultView||window),e.hidden||!e.hasFocus())return!1;vf(e,{key:"Escape",code:"Escape"}),await yn(150,e);let t=e.querySelector(".grid-container")||Nb(e,".grid-container"),n=e.querySelector(".grid4-inner-container:last-child")||Nb(e,".grid4-inner-container:last-child");if(n){try{n.focus()}catch{}await yn(100,e)}else if(t){try{t.focus?.()}catch{}await yn(80,e)}let o=(typeof navigator<"u"?String(navigator.platform||""):"").toUpperCase().indexOf("MAC")>=0;vf(e,{key:"a",code:"KeyA",ctrlKey:!o,metaKey:o}),await yn(200,e),vf(e,{key:"c",code:"KeyC",ctrlKey:!o,metaKey:o}),await yn(200,e);try{e.execCommand("copy")}catch{}return!0}catch{return!1}}async function I_(e,t){let n=Math.max(250,Math.min(5e3,Math.floor(e)));if(navigator?.clipboard?.readText){let i=await ka(navigator.clipboard.readText(),n,t);if(i.ok)return i.value||""}let r=t.createElement("textarea");r.style.position="fixed",r.style.opacity="0",r.style.pointerEvents="none",r.style.left="-9999px",r.style.top="0",t.body?.appendChild(r),r.focus();try{t.execCommand("paste")}catch{}let o=r.value||"";return r.remove(),o}function Nb(e,t){let n=Gl(e);for(let s of n)try{let c=s.querySelector(t);if(c)return c}catch{}let r=1e5,o=0,i=(s,c)=>{if(!c)return;let l=c.children;if(l)for(let d=0;d<l.length;d++)s.push(l[d])},a=[];for(let s of n)try{i(a,s.documentElement??s.body??null)}catch{}for(;a.length&&o<r;){let s=a.pop();o++;try{if(s.matches(t))return s}catch{}i(a,s);let c=s.shadowRoot;if(c&&i(a,c),String(s.tagName).toUpperCase()==="IFRAME")try{let d=s.contentDocument;d&&i(a,d.documentElement??d.body??null)}catch{}}return null}async function A_(e,t){let n=t?.profile??"light",r=!e.hidden,o=Math.max(0,Math.min(t?.timeBudgetMs??(n==="light"?1600:2800),3e3));if(o<=0)return!1;let i=Date.now(),a=()=>o-(Date.now()-i),s=t?.delayMs??(n==="light"?220:280),c=t?.finalWaitMs??(n==="light"?350:900),l=r?s:0,d=r?c:0,m=t?.amount,f=t?.maxSteps??(n==="light"?8:18),u=t?.maxDistancePx??(n==="light"?12e3:3e4),h=null;try{let k=await Lb(e,{action:"detectPrimary"});if(k?.selector){let C=R_(e,k.selector);C&&(h=C)}let x=k?.metrics;if(x&&typeof x.scrollHeight=="number"&&typeof x.clientHeight=="number"){let C=Math.max(0,x.scrollHeight-x.clientHeight);u=Math.min(u,C||u),C<1500?f=Math.min(f,2):C<4e3?f=Math.min(f,4):C<1e4&&(f=Math.min(f,6))}}catch{}if(h||(h=e.scrollingElement||e.documentElement||e.body),!h)return!1;let b=0,v=null,S=0;for(let k=0;k<f&&!(a()<=0);k++){let x=null;try{x=await Lb(e,{action:"scrollBy",direction:Kt.DOWN,options:{amount:m,behavior:"auto",isTabActive:r}})}catch{}if(!x||!x.success){let _=e.defaultView||window;x=ql(h,e,_,Kt.DOWN,m),S=2}if(!x?.success)break;let C=x.scrollTop??v??0;if(v!==null){let _=Math.max(0,C-v);b+=_,S=_===0?S+1:0}if(v=C,x.isAtBottom||S>=2||b>=u)break;if(l>0&&k<f-1){let _=Math.min(l,Math.max(0,a()));if(_<=0)break;await yn(_,e)}}if(d>0){let k=Math.min(d,Math.max(0,a()));k>0&&await yn(k,e)}if(a()>80)try{let k=e.scrollingElement||e.documentElement||e.body,x=e.defaultView||window,C=h===e.documentElement||h===e.body||h===k?k:h;if(C){let _=C===k?x.innerHeight:C.clientHeight||x.innerHeight,I=Math.max(0,C.scrollHeight-_);C.scrollTop=I}}catch{}return!0}function R_(e,t){try{return e.querySelector(t)}catch{return null}}async function Lb(e,t){let n=e.defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",a=(n[r]?.scroll||n.__RTRVR_SCROLL_API__)?.execute;return typeof a!="function"?null:a(t)}async function C_(e,t){let n=e.defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",i=n[r]?.flushScan;if(typeof i!="function"){try{n.rtrvrAIMarkInteractiveElements?.()}catch{}return}let a=Date.now()+Math.max(100,Math.floor(t.totalBudgetMs)),s=0;for(;s<t.maxPasses&&fn(a)>0;){let c=Math.max(50,Math.min(t.budgetMs,fn(a)));try{await i({mode:t.mode??"full",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:c,deadlineEpochMs:a})}catch{break}if(Db(e)===0)break;s++}if(Db(e)>0&&fn(a)>50){let c=Math.min(120,fn(a));try{await i({mode:"priority",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:c,deadlineEpochMs:a})}catch{}}}function Db(e){let t=e.documentElement;if(!t)return 0;let n=t.getAttribute(xi);if(!n)return 0;let r=Number.parseInt(n,10);return Number.isFinite(r)&&r>0?r:0}function M_(e){let t=N_(e.URL||"");if(!t?.sheetId)return;let n=L_(e),r=n?.title||"Sheet1";return{sheetId:t.sheetId,sheetTitle:e.title||n?.title||void 0,sheetTab:r,sheetTabId:t.sheetTabId??n?.id,sheetTabs:void 0}}function N_(e){if(!e)return null;try{let t=new URL(e);if(t.hostname!=="docs.google.com")return null;let n=t.pathname.split("/"),r=n.indexOf("spreadsheets"),o=n.indexOf("d");if(r===-1||o===-1||o!==r+1||n.length<=o+1)return null;let i=n[o+1];if(!i||!/^[a-zA-Z0-9_-]+$/.test(i))return null;let a;return t.hash&&t.hash.includes("gid=")&&(a=new URLSearchParams(t.hash.substring(1)).get("gid")??void 0),!a&&t.searchParams.has("gid")&&(a=t.searchParams.get("gid")??void 0),a&&!/^\\d+$/.test(a)&&(a=void 0),{sheetId:i,sheetTabId:a?parseInt(a,10):0}}catch{return null}}function L_(e){try{let t=e.querySelector('[role="tab"][aria-selected="true"]')||e.querySelector(".docs-sheet-tab-active")||e.querySelector('.docs-sheet-tab[aria-selected="true"]');if(!t)return null;let n=t.getAttribute("aria-label")||t.textContent?.trim()||void 0,r=t.getAttribute("data-sheet-id")||t.getAttribute("data-tab-id")||void 0,o=r&&/^\d+$/.test(r)?Number(r):void 0;return{title:n,id:o}}catch{return null}}var pr;(function(e){e[e.Native=1]="Native",e[e.Inline=2]="Inline",e[e.React=4]="React",e[e.Vue=8]="Vue",e[e.Angular=16]="Angular",e[e.Svelte=32]="Svelte",e[e.JQuery=64]="JQuery",e[e.Delegated=128]="Delegated",e[e.Other=256]="Other",e[e.Inferred=512]="Inferred"})(pr||(pr={}));var D_={native:pr.Native,inline:pr.Inline,react:pr.React,vue:pr.Vue,angular:pr.Angular,svelte:pr.Svelte,jquery:pr.JQuery,delegated:pr.Delegated,other:pr.Other};function Ub(){if(typeof window>"u")return;let e=window,t="__RTRVR_MAIN_WORLD_INITIALIZED__",n=new WeakMap,r={frameworks:new Set,reactRoots:new WeakSet,vueRoots:new WeakSet,angularRoots:new WeakSet,svelteRoots:new WeakSet,jqueryRoots:new WeakSet},o=new WeakMap,i=new WeakMap,a=new Set,s=100,c=50,l=0,d=0,m=new WeakSet,f="__RTRVR_ET_HOOKED__",u="__RTRVR_ATTACH_SHADOW_HOOKED__";function h(y){if(y&&!m.has(y)){m.add(y);try{b(y)}catch{}try{v(y)}catch{}}}function b(y){try{let P=y.EventTarget;if(!P?.prototype||P.prototype[f])return;P.prototype[f]=!0;let $=P.prototype.addEventListener,V=P.prototype.removeEventListener;P.prototype.addEventListener=function(ne,ue,Ee){try{mt(ue)||vr(this,ne,Ee)}catch{}return $.call(this,ne,ue,Ee)},P.prototype.removeEventListener=function(ne,ue,Ee){try{bo(this,ne,Ee)}catch{}return V.call(this,ne,ue,Ee)};try{let ne=Function.prototype.toString;P.prototype.addEventListener.toString=()=>ne.call($),P.prototype.removeEventListener.toString=()=>ne.call(V)}catch{}}catch{}}function v(y){try{let P=y.Element;if(!P?.prototype?.attachShadow||P.prototype[u])return;P.prototype[u]=!0;let $=P.prototype.attachShadow;P.prototype.attachShadow=function(V){let ne=$.call(this,V);try{fl.set(this,ne)}catch{}try{Tt(ne)}catch{}return ne};try{let V=Function.prototype.toString;P.prototype.attachShadow.toString=()=>V.call($)}catch{}}catch{}}function S(y){let $=n.get(y)?.listenerTypeMasks;if($&&$.size){let V=[];for(let ne of $.keys()){let ue=vo[ne];ue&&V.push(ue)}return V}return As(y)}let k=["onclick","ondblclick","ondoubleclick","onmousedown","onmouseup","role","contenteditable","draggable","tabindex","disabled","type","aria-haspopup","aria-expanded","data-click","data-action","data-handler","data-toggle","data-target"],x=0,C=new Set,_=null,I=!1,M=6,X=["click","input","change","keydown","keyup","pointerdown","pointerup","submit","focus","blur"],O=["mouseenter","mouseleave","mouseover","mouseout","mousedown","mouseup","wheel","scroll","dragstart","drop","touchstart","touchend"];if(e[t]){typeof e.rtrvrAISetObserverPaused!="function"&&(e.rtrvrAISetObserverPaused=()=>!1),typeof e.rtrvrAIClearObserverPause!="function"&&(e.rtrvrAIClearObserverPause=()=>!1),typeof e.rtrvrAIIsObserverPaused!="function"&&(e.rtrvrAIIsObserverPaused=()=>!!Vt()?.hidden);return}e[t]=!0;let J={onclick:"click",ondblclick:"dblclick",ondoubleclick:"doubleclick",onmousedown:"mousedown",onmouseup:"mouseup",onmouseenter:"mouseenter",onmouseleave:"mouseleave",onmousemove:"mousemove",onmouseover:"mouseover",onmouseout:"mouseout",oncontextmenu:"contextmenu",onauxclick:"auxclick",onkeydown:"keydown",onkeyup:"keyup",onkeypress:"keypress",oninput:"input",onchange:"change",onsubmit:"submit",onreset:"reset",onselect:"select",onsearch:"search",oninvalid:"invalid",onbeforeinput:"beforeinput",onfocus:"focus",onblur:"blur",onfocusin:"focusin",onfocusout:"focusout",ontouchstart:"touchstart",ontouchend:"touchend",ontouchmove:"touchmove",ontouchcancel:"touchcancel",onpointerdown:"pointerdown",onpointerup:"pointerup",onpointermove:"pointermove",onpointerenter:"pointerenter",onpointerleave:"pointerleave",onpointercancel:"pointercancel",onpointerover:"pointerover",ondragstart:"dragstart",ondragend:"dragend",ondrag:"drag",ondragenter:"dragenter",ondragleave:"dragleave",ondragover:"dragover",ondrop:"drop",oncopy:"copy",oncut:"cut",onpaste:"paste",onscroll:"scroll",onwheel:"wheel",onplay:"play",onpause:"pause",onended:"ended",onvolumechange:"volumechange",onseeking:"seeking",onseeked:"seeked",onanimationstart:"animationstart",onanimationend:"animationend",ontransitionend:"transitionend",ontransitionstart:"transitionstart",onresize:"resize",ontoggle:"toggle",onfullscreenchange:"fullscreenchange",onload:"load",onerror:"error",onabort:"abort",onbeforeunload:"beforeunload",onunload:"unload",onhashchange:"hashchange",onpopstate:"popstate",onstorage:"storage",onmessage:"message"};function ee(y){return y?String(y).split(".")[0].toLowerCase():""}let se=["data-click","data-action","data-event","data-handler","data-on-click","data-onclick","data-tap","data-press","data-toggle","data-target"],H=0,Y=null,oe=new MessageChannel,ie=[];oe.port1.onmessage=()=>{let y=ie.shift();y&&y()};function me(){return Date.now()}function he(y){return!y||!Number.isFinite(y)?Number.POSITIVE_INFINITY:Math.max(0,y-me())}let Te=8,ze=new MessageChannel,Oe=!1;function ke(){if(!Oe){Oe=!0;try{ze.port2.postMessage(0)}catch{}}}function B(y){let P=y.values().next();if(P.done)return null;let $=P.value;return y.delete($),$}function K(){return new Promise(y=>{ie.push(y),oe.port2.postMessage(0)})}let F=!1;function te(){if(!F)try{let y=e.jQuery;y&&y.fn&&(Lt(y),F=!0,Bt("jquery"))}catch{}}function fe(y,P){for(let $=P.lastElementChild;$;$=$.previousElementSibling)y.push($)}function le(y,P,$){if($)try{let V=Hn(P);V&&y.push(V)}catch{}}function Ne(y,P,$){if($&&Is(P))try{let V=P.contentWindow||null;V&&h(V);let ne=V?.document?.documentElement;ne&&y.push(ne)}catch{}}let ge=new WeakSet;function dt(y){y&&(typeof y=="function"||typeof y=="object")&&ge.add(y)}function mt(y){return!!y&&(typeof y=="function"||typeof y=="object")&&ge.has(y)}ze.port1.onmessage=()=>{if(Sn()){C.clear(),a.clear(),x=0,it(),Oe=!1;return}Oe=!1,ut(500);let y=performance.now();for(;C.size&&performance.now()-y<Te;){let P=B(C);if(!P)break;try{_e(P)}catch{}finally{x=Math.max(0,x-1)}}for(;a.size&&performance.now()-y<Te;){let P=B(a);if(!P)break;try{Tn(P)}catch{}}it(),(C.size||a.size)&&ke()};function it(){try{let y=Vt()?.documentElement;if(!y)return;y.setAttribute(xi,String(x))}catch{}}function je(y){let P=n.get(y);return P||(P={frameworks:new Set,listeners:new Map},n.set(y,P)),P}function jt(y){Sn()||(a.add(y),a.size>2e3&&ut(1500),ke())}function We(y){Sn()||C.has(y)||(C.add(y),x++,it(),ke(),C.size>2e3&&ut(1500))}function ut(y=1500){let P=0;for(let $ of C){if(P>=y)break;P++,$.isConnected||(C.delete($),x=Math.max(0,x-1))}P=0;for(let $ of a){if(P>=y)break;P++,$.isConnected||a.delete($)}it()}let Le=null;function Ye(y,P,$){return`${y}|${P?1:0}|${$?1:0}`}function Pt(y){let P=y.tagName;if(P==="A"||P==="BUTTON"||P==="INPUT"||P==="SELECT"||P==="TEXTAREA"||P==="SUMMARY"||y.hasAttribute("role")||y.hasAttribute("tabindex")||y.hasAttribute("contenteditable")||y.hasAttribute("onclick")||y.getAttributeNames().some($=>$.startsWith("on")))return!0;for(let $ of se)if(y.hasAttribute($))return!0;return!!(y.hasAttribute("aria-haspopup")||y.hasAttribute("aria-expanded"))}function $t(y){let P=Ge(y);if(!un(y,P))return!1;let $=y.tagName;if($!=="DIV"&&$!=="SPAN"&&$!=="LI"&&$!=="SECTION"&&$!=="ARTICLE"&&$!=="P")return!1;let V=y;if(V.__ngContext__||V.__svelte__||V.__vue__||V._vnode||V.__reactFiber$||V.__reactProps$)return!0;let ne=0;for(let ue in V){if(++ne>30)break;if(ue.startsWith("__react")||ue.includes("reactFiber")||ue.includes("reactProps"))return!0}return!1}function St(){let y=Vt()?.documentElement;return y?r.frameworks.size>0||y.hasAttribute("rtrvr-react")||y.hasAttribute("rtrvr-vue")||y.hasAttribute("rtrvr-angular")||y.hasAttribute("rtrvr-svelte")||y.hasAttribute("rtrvr-jquery"):!1}function nt(y){if(Sn())return;let P=performance.now();for(;C.size&&performance.now()-P<y;){let $=B(C);if(!$)break;try{_e($)}catch{}finally{x=Math.max(0,x-1)}}for(;a.size&&performance.now()-P<y;){let $=B(a);if(!$)break;try{Tn($)}catch{}}}async function tn(y={}){if(Sn())return C.clear(),a.clear(),x=0,it(),{revision:++H,scanned:0,durationMs:0,done:!0,remaining:0};ut(3e3),te(),st();let P=y.mode??"full",$=y.includeShadow??!0,V=y.includeSameOriginIframes??!0,ne=Math.max(50,Math.min(y.budgetMs??2500,15e3)),ue=y.deadlineEpochMs,Ee=Math.max(0,Math.min(ne,he(ue))),Ue=Ye(P,$,V);if(Ee<=0){let En=(Le?.stack?.length??0)+C.size+a.size;return{revision:++H,scanned:0,durationMs:0,done:En===0,remaining:En}}if((!Le||Le.optsKey!==Ue)&&he(ue)>30&&await et({budgetMs:18,deadlineEpochMs:ue}),P==="priority"){let En=performance.now(),kt=0;for(;C.size&&performance.now()-En<=Ee&&!(ue&&he(ue)<=0);){let Ot=B(C);if(!Ot)break;try{_e(Ot)}catch{}kt++,x=Math.max(0,x-1)}for(;a.size&&performance.now()-En<=Ee&&!(ue&&he(ue)<=0);){let Ot=B(a);if(!Ot)break;try{Tn(Ot)}catch{}}return it(),{revision:++H,scanned:kt,durationMs:performance.now()-En,done:C.size===0&&a.size===0,remaining:C.size+a.size}}if(!Le||Le.optsKey!==Ue){let En=Vt()?.documentElement;Le={optsKey:Ue,stack:En?[En]:[],scannedTotal:0}}let yt=performance.now(),ht=0;for(x++,it();Le.stack.length&&!(ue&&he(ue)<=0);){let En=Le.stack.pop();if(lr(En)){let Ot=En.children;for(let Mr=Ot.length-1;Mr>=0;Mr--)Le.stack.push(Ot[Mr]);continue}let kt=En;if(!(!kt||kt.nodeType!==1)&&!(kt.tagName==="SCRIPT"||kt.tagName==="STYLE"||kt.tagName==="META"||kt.tagName==="NOSCRIPT")){try{(Pt(kt)||St()&&$t(kt))&&_e(kt)}catch{}try{Tn(kt)}catch{}if(C.delete(kt)&&(x=Math.max(0,x-1)),a.delete(kt),ht++,Le.scannedTotal++,$)try{let Ot=Hn(kt);Ot&&(Tt(Ot),Le.stack.push(Ot))}catch{}if(V&&Is(kt))try{let Ot=kt.contentWindow||null;Ot&&h(Ot);let Mr=Ot?.document,pl=Mr?.documentElement;Mr&&pl&&(ve(Mr),Le.stack.push(pl))}catch{}for(let Ot=kt.lastElementChild;Ot;Ot=Ot.previousElementSibling)Le.stack.push(Ot);ht%800===0&&he(ue)>20&&await K()}}let Mt=Math.max(0,Ee-(performance.now()-yt)),gn=he(ue);nt(Math.min(250,Mt,gn)),x=Math.max(0,x-1),it();let rn=Le.stack.length===0,jn=Le.stack.length;return rn&&(Le=null),{revision:++H,scanned:ht,durationMs:performance.now()-yt,done:rn,remaining:jn}}async function nn(y={}){return Y||(Y=tn(y).finally(()=>{Y=null}),Y)}e.rtrvrAIFlushScan=nn;let cn="__RTRVR_INTERNAL__";Object(window).__RTRVR_INTERNAL_KEY__=cn;let hn=e[cn],Yn=hn&&typeof hn=="object"?hn:{};if(!hn)try{Object.defineProperty(e,cn,{value:Yn,writable:!1,configurable:!1,enumerable:!1})}catch{}try{Object.defineProperty(Yn,"flushScan",{value:nn,writable:!1,configurable:!1,enumerable:!1})}catch{}function Me(y,P){let $=je(y),V=ee(P.type);if(!V)return;let ne=!1,ue=$.listeners.get(V);ue||(ue=[],$.listeners.set(V,ue),ne=!0);let Ee=ue.find($e=>$e.source===P.source&&!!$e.inferred==!!P.inferred);if(Ee){let $e=!!Ee.capture,yt=!!Ee.passive,ht=!!Ee.once;Ee.capture=Ee.capture||P.capture,Ee.passive=Ee.passive||P.passive,Ee.once=Ee.once||P.once,($e!==!!Ee.capture||yt!==!!Ee.passive||ht!==!!Ee.once)&&(ne=!0)}else ue.push({...P,type:V}),ne=!0;let Ue=wt[V];if(Ue!==void 0){$.listenerTypeMasks||($.listenerTypeMasks=new Map);let $e=0,yt=D_[P.source];$e|=yt!==void 0?yt:pr.Other,P.inferred&&($e|=pr.Inferred);let ht=$.listenerTypeMasks.get(Ue)||0,Mt=ht|$e;Mt!==ht&&($.listenerTypeMasks.set(Ue,Mt),ne=!0)}ne&&($.role=void 0,jt(y))}function br(y){let P=y.listenerTypeMasks;return!P||P.size===0?null:[...P.entries()].sort((V,ne)=>V[0]-ne[0]).map(([V,ne])=>`${V}~${(ne||0).toString(36)}`).join(",")}function De(y,P){let $=je(y);$.frameworks.has(P)||($.frameworks.add(P),jt(y))}function Bt(y){r.frameworks.has(y)||(r.frameworks.add(y),Vt()?.documentElement?.setAttribute(`rtrvr-${y}`,"1"))}function Tn(y){let P=n.get(y);if(!P)return;a.delete(y);let $=br(P);$?$!==P.lastListenersSerialized&&(y.setAttribute(Ho,$),P.lastListenersSerialized=$):P.lastListenersSerialized&&(y.removeAttribute(Ho),P.lastListenersSerialized=void 0);let V=Ge(y);if(un(y,V))if(P.role===void 0&&(P.role=ar(y)),P.role){let ne=fa[P.role],ue=typeof ne=="number"?String(ne):`s:${P.role}`;ue!==P.lastRoleSerialized&&(y.setAttribute(xo,ue),P.lastRoleSerialized=ue)}else(P.lastRoleSerialized||y.hasAttribute(xo))&&(y.removeAttribute(xo),P.lastRoleSerialized=void 0)}function Nt(y){let P=[],$=y;for(;$;)P.push($),$=$.parentNode||$.host;return P}function Ss(y){let P=y.tagName.toLowerCase(),$=y.getAttribute("role"),V=$?$.toLowerCase().trim():"";if(V&&ko.has(V)||P==="button"||(P==="a"||P==="area")&&y.hasAttribute("href"))return!0;if(P==="input")return y.type?.toLowerCase()!=="hidden";if(P==="select"||P==="textarea"||(P==="video"||P==="audio")&&y.hasAttribute("controls")||y.isContentEditable||y.hasAttribute("contenteditable"))return!0;let ne=y.getAttribute("tabindex");return!!(ne!==null&&!Number.isNaN(Number.parseInt(ne,10))&&(S(y).some(Ue=>El.has(Ue))||y.getAttributeNames().some(Ue=>Ue.startsWith("on"))))}function Ts(y,P=10){let $=[];for(let V=0;V<y.children.length;V++)$.push({node:y.children[V],depth:1});for(;$.length;){let{node:V,depth:ne}=$.pop();if(Ss(V))return!0;if(!(ne>=P))for(let ue=0;ue<V.children.length;ue++)$.push({node:V.children[ue],depth:ne+1})}return!1}function ar(y){let P=y.tagName.toLowerCase(),$=y.getAttribute("role"),V=$?$.toLowerCase().trim():"",ne=y.type?.toLowerCase();if(V&&ko.has(V))return V;if(V&&Rs.has(V))return null;if(P==="a"&&y.hasAttribute("href"))return"link";if(P==="button")return"button";if(P==="input")return ne==="hidden"?null:ne==="checkbox"?"checkbox":ne==="radio"?"radio":ne==="range"?"slider":ne==="number"?"spinbutton":ne==="search"?"searchbox":["button","submit","reset","image","file"].includes(ne)?"button":y.hasAttribute("list")?"combobox":"textbox";if(P==="textarea")return"textbox";if(P==="select"){let Mt=y;return Mt.multiple||Mt.size&&Mt.size>1?"listbox":"combobox"}if(P==="option")return"option";if(P==="form")return"form";if(P==="video"||P==="audio"){let Mt=As(y);return y.hasAttribute("controls")||Mt.length>0?"media":null}if(y.isContentEditable||y.hasAttribute("contenteditable"))return"textbox";let ue=S(y);if(!ue.length)return null;let Ee=!1,Ue=!1,$e=!1;for(let Mt=0;Mt<ue.length;Mt++){let gn=ue[Mt];!Ee&&El.has(gn)&&(Ee=!0),!Ue&&Gu.has(gn)&&(Ue=!0),!$e&&Xu.has(gn)&&($e=!0)}if(!Ee&&!Ue&&!$e)return null;let yt=y.getAttribute("tabindex"),ht=yt!==null&&!Number.isNaN(Number.parseInt(yt,10));if(Ee&&(of(y)||y.getAttribute("href")||y.closest("a[href]")))return"link";if(Ue){if(y.isContentEditable||y.hasAttribute("contenteditable"))return"textbox";if(V==="textbox"||V==="searchbox"||V==="combobox"||V==="spinbutton")return V;if(!Ee&&ht)return"textbox"}if(Ee){let Mt=y.getAttribute("aria-checked"),gn=y.getAttribute("aria-pressed");if(Mt!==null||gn!==null){if(V==="radio")return"radio";if(V==="menuitemradio")return"menuitemradio";if(V==="menuitemcheckbox")return"menuitemcheckbox";if(gn!==null)return"button";if(Mt!==null)return"checkbox"}if((ht||V==="button")&&!Ts(y))return"button"}return $e?"application":null}let ft=EventTarget.prototype.addEventListener,wn=EventTarget.prototype.removeEventListener;function zn(y){let P=!1,$,V;return typeof y=="boolean"?P=y:y&&typeof y=="object"&&(P=!!y.capture,$=y.passive,V=y.once),{capture:P,passive:$,once:V}}function yr(y){try{let P=y;if(P?.nodeType===9&&P?.documentElement)return P;let $=P?.document;if($&&$.nodeType===9&&$.documentElement)return $}catch{}return null}function vr(y,P,$){let V=ee(P);if(!V)return;let{capture:ne,passive:ue,once:Ee}=zn($),Ue=o.get(y);Ue||(Ue=new Map,o.set(y,Ue));let $e=Ue.get(V);if($e?($e.count+=1,$e.capture=$e.capture||ne,$e.passive=$e.passive||ue):Ue.set(V,{count:1,capture:ne,passive:ue}),vi(y))try{Me(y,{type:V,source:"native",capture:ne,passive:ue,once:Ee})}catch{}let yt=yr(y);if(yt&&(V==="click"||V==="input"||V==="keydown"))try{yt.documentElement?.setAttribute(`rtrvr-gl-${V}`,"1")}catch{}}function bo(y,P,$){let V=ee(P);if(!V)return;let ne=o.get(y);if(!ne)return;let ue=ne.get(V);ue&&(ue.count-=1,ue.count<=0&&ne.delete(V),ne.size===0&&o.delete(y))}h(window);function Lt(y){if(!y||!y.fn)return;let P=y.fn.on,$=y.fn.off;function V(ue){if(!ue)return[];if(typeof ue=="string")return ue.split(/\s/).map(Ee=>ee(Ee)).filter(Boolean);if(typeof ue=="object")try{return Object.keys(ue).map(Ee=>ee(Ee)).filter(Boolean)}catch{return[]}return[]}function ne(ue){try{if(!ue)return null;if(vi(ue))return ue;let Ee=Ge(ue);return wl(ue,Ee)||null}catch{}return null}y.fn.on=function(ue,Ee){let Ue=V(ue),$e=typeof Ee=="string"&&!!Ee;return this.each(function(){let yt=ne(this);if(yt){if($e){let ht=i.get(yt);ht||(ht=[],i.set(yt,ht));for(let Mt of Ue){let gn=`${Mt}::${Ee}`;ht.some(rn=>`${rn.type}::${rn.selector}`===gn)||(ht.push({type:Mt,selector:Ee}),ht.length>400&&ht.shift())}}else for(let ht of Ue)Me(yt,{type:ht,source:"jquery"});De(yt,"jquery"),Bt("jquery"),r.jqueryRoots.add(yt)}}),P.apply(this,arguments)},y.fn.off=function(){return $.apply(this,arguments)},Bt("jquery")}function Rr(y){se.some($=>y.hasAttribute($))&&(Me(y,{type:"click",source:"other",inferred:!0}),(y.tagName==="INPUT"||y.tagName==="TEXTAREA")&&(Me(y,{type:"input",source:"other",inferred:!0}),Me(y,{type:"change",source:"other",inferred:!0})))}function Qr(y){let P=Ge(y),$=un(y,P),V=y.getAttributeNames().some($e=>$e.startsWith("on")),ne=/^(button|a|input|select|textarea|summary)$/i.test(y.tagName),ue=y,Ee=$&&(Cl(y)||!!ue.isContentEditable||y.hasAttribute("contenteditable")),Ue=$&&!!ue.draggable;if(!V&&!ne&&!Ee&&!Ue){Rr(y);return}for(let[$e,yt]of Object.entries(J))typeof y[$e]=="function"&&Me(y,{type:yt,source:"inline"});Ee&&(Me(y,{type:"input",source:"other",inferred:!0}),Me(y,{type:"keydown",source:"other",inferred:!0}),Me(y,{type:"keyup",source:"other",inferred:!0}),Me(y,{type:"paste",source:"other",inferred:!0})),Ue&&(Me(y,{type:"dragstart",source:"other",inferred:!0}),Me(y,{type:"dragend",source:"other",inferred:!0})),Rr(y)}function g(y){if(!y.startsWith("on")||y.length<=2)return null;if(y.endsWith("Capture")){let $=y.substring(2,y.length-7);return $?{type:$.toLowerCase(),capture:!0}:null}let P=y.substring(2);return P?{type:P.toLowerCase(),capture:!1}:null}function D(y){let P=null;if(y){for(let $ in y)if($.startsWith("__react")||$.startsWith("_react")||$.includes("reactFiber")||$.includes("reactProps")||$.includes("reactInternalInstance")){P=$;break}if(P)try{let $=y[P],V=$?.memoizedProps||$?.pendingProps;if(V&&typeof V=="object"){for(let ne in V){if(typeof V[ne]!="function")continue;let Ee=g(ne);Ee&&Me(y,{type:Ee.type,source:"react",capture:Ee.capture})}vi($?.stateNode)&&r.reactRoots.add($.stateNode),De(y,"react"),Bt("react")}}catch{}}}function N(y){let P=y,$=!1;if(P.__vue__){$=!0;let V=P.__vue__;V.$listeners&&Object.keys(V.$listeners).forEach(ne=>Me(y,{type:ne,source:"vue"})),V._events&&Object.keys(V._events).forEach(ne=>Me(y,{type:ne,source:"vue"})),V.$options?._parentListeners&&Object.keys(V.$options._parentListeners).forEach(ne=>Me(y,{type:ne,source:"vue"})),r.vueRoots.add(y)}if(P._vnode?.props){$=!0;let V=P._vnode.props;Object.keys(V).forEach(ne=>{ne.startsWith("on")&&ne.length>2&&Me(y,{type:ne.substring(2).toLowerCase(),source:"vue"})}),r.vueRoots.add(y)}$&&(De(y,"vue"),Bt("vue"))}function R(y){let P=y,$=!1;if(P.__ngContext__||y.hasAttribute("_ngcontent")||y.hasAttribute("ng-version")){$=!0,Array.from(y.attributes).forEach(V=>{if(V.name.startsWith("(")&&V.name.endsWith(")")){let ne=V.name.slice(1,-1).split(".")[0];ne&&Me(y,{type:ne,source:"angular"})}if(V.name.startsWith("on-")){let ne=V.name.substring(3);ne&&Me(y,{type:ne,source:"angular"})}if(V.name.includes(".")){let ne=V.name.match(/\(([^.)]+)/);ne?.[1]&&Me(y,{type:ne[1],source:"angular"})}});try{if(e.ng?.getComponent){let V=e.ng.getComponent(y);V&&Object.keys(V).forEach(ne=>{(ne.endsWith("Output")||ne.endsWith("Emitter"))&&Me(y,{type:ne.replace(/(Output|Emitter)$/,"").toLowerCase(),source:"angular"})})}}catch{}}$&&(De(y,"angular"),Bt("angular"),r.angularRoots.add(y))}function T(y){let P=y,$=!1;if(P.__svelte__){$=!0,Array.from(y.attributes).forEach(V=>{if(V.name.startsWith("on:")){let ne=V.name.substring(3);ne&&Me(y,{type:ne,source:"svelte"})}});try{let V=P.__svelte__?.$$?.callbacks;V&&typeof V=="object"&&Object.keys(V).forEach(ne=>Me(y,{type:ne,source:"svelte"}))}catch{}r.svelteRoots.add(y)}$&&(De(y,"svelte"),Bt("svelte"))}function w(y,P){return y?!!o.get(y)?.has(P):!1}function E(y,P,$=96){let V=ee(P);if(!V)return!1;let ne=pe(y),ue=we(ne);if(w(ne,V)||w(ue,V))return!0;let Ee=0,Ue=y;for(;Ue&&Ee<$;){if(Ue.parentElement)Ue=Ue.parentElement;else{let $e=Ue.getRootNode?.();if(lr($e)){if(w($e,V)||w($e.host,V))return!0;Ue=$e.host}else break}if(Ue&&w(Ue,V))return!0}return!1}function U(y,P,$=128){let V=0,ne=y;for(;ne&&V<$;){if(P(ne),ne.parentElement){ne=ne.parentElement;continue}let ue=ne.getRootNode?.();if(lr(ue)){ne=ue.host;continue}break}}function Q(y){let P=Ge(y);if(!un(y,P))return;let $=je(y);$.role=$.role||ar(y);let V=E(y,"click"),ne=E(y,"input"),ue=E(y,"keydown"),Ue=pe(y).documentElement;if(r.frameworks.size>0||Ue.hasAttribute("rtrvr-react")||Ue.hasAttribute("rtrvr-vue")||Ue.hasAttribute("rtrvr-angular")||Ue.hasAttribute("rtrvr-svelte")||Ue.hasAttribute("rtrvr-jquery")||V||ne||ue){let yt=$.role||"other";V&&["button","link","checkbox","radio","switch","menuitem","menuitemcheckbox","menuitemradio","tab","option","treeitem","gridcell","cell","img","figure"].includes(yt)&&Me(y,{type:"click",source:"delegated",inferred:!0}),["textbox","searchbox","spinbutton","code"].includes(yt)&&(ne&&(Me(y,{type:"input",source:"delegated",inferred:!0}),Me(y,{type:"change",source:"delegated",inferred:!0})),ue&&Me(y,{type:"keydown",source:"delegated",inferred:!0})),["combobox","listbox"].includes(yt)&&(V&&Me(y,{type:"click",source:"delegated",inferred:!0}),ne&&Me(y,{type:"change",source:"delegated",inferred:!0})),["slider","scrollbar","progressbar","meter"].includes(yt)&&ne&&Me(y,{type:"input",source:"delegated",inferred:!0})}U(y,yt=>{let ht=i.get(yt);if(ht?.length)for(let{type:Mt,selector:gn}of ht)try{y.matches(gn)&&(Me(y,{type:Mt,source:"jquery",inferred:!0}),De(y,"jquery"),Bt("jquery"))}catch{}})}function G(y){let P=$=>{if(Sn())return;let V=$,ne=V.composedPath&&V.composedPath()||Nt($.target),Ee=y==="mousemove"||y==="pointermove"||y==="scroll"||y==="wheel"?1:Math.min(ne.length,M);for(let Ue=0;Ue<Ee;Ue++){let $e=ne[Ue];vi($e)&&Me($e,{type:y,source:"delegated",inferred:!0})}};dt(P);try{ft.call(document,y,P,{capture:!0,passive:!0})}catch{}}let Z=!1,re=!1,ce=null;function xe(){if(re)return;re=!0,X.forEach(G);let y=Vt()?.documentElement;if(!y)return;let P=()=>{if(Z)return;let $=y.hasAttribute("rtrvr-react")||y.hasAttribute("rtrvr-vue")||y.hasAttribute("rtrvr-angular")||y.hasAttribute("rtrvr-svelte"),V=y.hasAttribute("rtrvr-gl-click")||y.hasAttribute("rtrvr-gl-input")||y.hasAttribute("rtrvr-gl-keydown");($||V)&&(Z=!0,O.forEach(G))};P();try{ce=new MutationObserver(()=>P()),ce.observe(y,{attributes:!0,attributeFilter:pt})}catch{}}function _e(y){if(y.nodeType!==1)return;let P=Ge(y);if(un(y,P)){let $=je(y);$.role=void 0}Qr(y),D(y),N(y),R(y),T(y),Q(y),jt(y)}function Je(){if(Sn())return;let y=["a[href]","button","input","select","textarea","summary","details > summary",...Array.from(ko).map(P=>`[role="${P}"]`),"[onclick]","[ondblclick]","[ondoubleclick]","[onmousedown]","[tabindex]","[contenteditable]",'[draggable="true"]',"[aria-haspopup]","[aria-expanded]","[data-click]","[data-action]","[data-handler]","[data-toggle]","[data-target]",".clickable",".interactive",".btn",".button"];x++,it();try{let P=y.join(",");Vt()?.querySelectorAll(P).forEach($=>{try{_e($)}catch{}})}finally{x=Math.max(0,x-1),it()}}let Pe=!1,Re=[],He=200;function vt(y){if(!Sn()){for(let P of y)Re.push(P);Pe||(Pe=!0,queueMicrotask(ln))}}function ln(){Pe=!1;let y=Re;if(Re=[],Sn())return;let P=0;for(let $ of y){if(P>=He)break;for(let V of Array.from($.addedNodes)){if(P>=He)break;if(V.nodeType!==1)continue;let ne=V;We(ne),P++;let ue=ne.querySelectorAll?.('a,button,input,select,textarea,summary,[role],[onclick],[ondblclick],[ondoubleclick],[contenteditable],[draggable="true"],[tabindex]');if(ue){let Ee=Math.min(ue.length,50);for(let Ue=0;Ue<Ee;Ue++)We(ue[Ue]),P++}}if($.type==="attributes"&&$.target.nodeType===1){let V=$.target;$.attributeName==="class"?Pt(V)&&We(V):We(V)}}}async function et(y={}){if(Sn())return;let P=Vt(),$=P?.documentElement;if(!$||!($.hasAttribute("rtrvr-react")||$.hasAttribute("rtrvr-vue")||$.hasAttribute("rtrvr-angular")||$.hasAttribute("rtrvr-svelte")))return;let ne=y.deadlineEpochMs,ue=Math.max(5,Math.min(y.budgetMs??12,50));if(Math.max(0,Math.min(ue,he(ne)))<=0)return;let Ue=performance.now();x++,it();try{let $e=0,yt=["div","span","li","section","article","p"];for(let ht of yt){let Mt=P.getElementsByTagName(ht)??[];for(let gn=0;gn<Mt.length;gn++){if(ne&&he(ne)<=0)return;$e++;let rn=Mt[gn],jn=rn;(jn.__ngContext__||jn.__svelte__||jn.__vue__||jn._vnode||$t(rn))&&_e(rn),$e%250===0&&he(ne)>20&&await K()}}}finally{x=Math.max(0,x-1),it()}}let rt=new MutationObserver(vt),tt=new WeakMap,at=new Set;function Tt(y){let P=tt.get(y);if(P){if(at.add(P),!I)try{P.observe(y,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}return}if(!(l>=s))try{let $=we(y.ownerDocument).MutationObserver||MutationObserver,V=new $(vt);tt.set(y,V),at.add(V),l++,I||V.observe(y,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}}let Et=new WeakMap,be=new Set;function ve(y){let P=Et.get(y);if(P){if(be.add(P),!I)try{let $=y.documentElement;$&&P.observe($,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}return}if(!(d>=c))try{h(y.defaultView||null);let $=y.documentElement;if(!$)return;let V=we(y).MutationObserver||MutationObserver,ne=new V(vt);Et.set(y,ne),be.add(ne),d++,I||ne.observe($,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}catch{}}function Be(){let y=Vt()?.documentElement;y&&rt.observe(y,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[...k,"class"]})}let pt=["rtrvr-react","rtrvr-vue","rtrvr-angular","rtrvr-svelte","rtrvr-gl-click","rtrvr-gl-input","rtrvr-gl-keydown"];function _n(){return _??!!Vt()?.hidden}function Sn(){return I}function kr(y){let P=!!y;if(I===P)return;if(I=P,I){try{rt.disconnect()}catch{}try{ce?.disconnect()}catch{}for(let V of at)try{V.disconnect()}catch{}for(let V of be)try{V.disconnect()}catch{}at.clear(),be.clear(),C.clear(),a.clear(),x=0,it();return}Be();let $=Vt()?.documentElement;if($&&ce)try{ce.observe($,{attributes:!0,attributeFilter:pt})}catch{}Je()}function ul(y){return _=typeof y=="boolean"?y:null,kr(_n()),!0}let fl=new WeakMap;function Hn(y){return y.shadowRoot||fl.get(y)||null}try{Object.defineProperty(Yn,"shadow",{value:Object.freeze({getRoot:y=>Hn(y)}),writable:!1,configurable:!1,enumerable:!1})}catch{}function st(){try{(e.React||e.__REACT_DEVTOOLS_GLOBAL_HOOK__)&&Bt("react"),e.Vue&&Bt("vue"),e.ng&&Bt("angular"),e.jQuery&&Bt("jquery"),te()}catch{}}e.rtrvrAISetObserverPaused=function(y){return ul(!!y)},e.rtrvrAIClearObserverPause=function(){return ul(null)},e.rtrvrAIIsObserverPaused=function(){return Sn()},e.rtrvrAIMarkInteractiveElements=function(){return Vt()?.body?(Je(),!0):!1};function Cr(){let y=Vt();te(),st(),xe();let P=()=>{_==null&&kr(_n())};y?.addEventListener("visibilitychange",P,{passive:!0}),kr(_n());let $=()=>{te(),st(),Sn()||(Be(),et({budgetMs:20})),y?.documentElement.setAttribute(Vu,"1")};y?.readyState==="loading"?y.addEventListener("DOMContentLoaded",$,{once:!0}):$()}Cr()}var Xl=null,Fb=!1;function kf(e){try{return e.getAttribute(Ho)}catch{return null}}function zb(e){let t=kf(e);return ki(t)?.entries??[]}function Hb(e){try{let t=e.getAttribute(xo);return t&&t.trim()?t:null}catch{return null}}function P_(e){let t=e?.ownerDocument?.defaultView,n=t?.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",o=t?.[n]?.shadow?.getRoot;if(typeof o=="function")try{return o(e)||null}catch{}return e.shadowRoot||null}function O_(e){let t=new Set;for(let n of e){let r=$l(n.mask);for(let o of r)(o==="react"||o==="vue"||o==="angular"||o==="svelte"||o==="jquery")&&t.add(o)}return t}function B_(e){let t=new Set,n=e;return(n.__reactFiber||n.__reactProps||n.__reactInternalInstance||n.__reactRootContainer)&&t.add("react"),(n.__vue__||n.__vueParentComponent||n.__vnode||n.__vue_app__)&&t.add("vue"),n.__ngContext__&&t.add("angular"),(n.__svelte||n.__svelte_meta)&&t.add("svelte"),(n.__jquery||n.jQuery)&&t.add("jquery"),t}function U_(e){let t=zb(e),n=O_(t),r=B_(e);for(let o of r)n.add(o);return{frameworks:[...n],listenersRaw:kf(e)||"",role:Hb(e)??(e.getAttribute?.("role")||null)}}function F_(){return{getEventHandlerIds:e=>zb(e).map(t=>t.id),getRoleHint:Hb,getShadowRoot:P_}}function jb(e={}){return Xl||(Xl={signalProvider:F_(),getFrameworkMetadata:U_,getListenerEncoding:kf,dispose:()=>{}},Xl)}function $b(){Fb||(Ub(),Fb=!0)}function z_(e,t){return e.endsWith(t)?e.length===t.length||e[e.length-t.length-1]===".":!1}function H_(e,t){let n=e.length-t.length-2,r=e.lastIndexOf(".",n);return r===-1?e:e.slice(r+1)}function xf(e,t,n){if(n.validHosts!==null){let o=n.validHosts;for(let i of o)if(z_(t,i))return i}let r=0;if(t.startsWith("."))for(;r<t.length&&t[r]===".";)r+=1;return e.length===t.length-r?null:H_(t,e)}function wf(e,t){return e.slice(0,-t.length-1)}function Yl(e,t){let n=0,r=e.length,o=!1;if(!t){if(e.startsWith("data:"))return null;for(;n<e.length&&e.charCodeAt(n)<=32;)n+=1;for(;r>n+1&&e.charCodeAt(r-1)<=32;)r-=1;if(e.charCodeAt(n)===47&&e.charCodeAt(n+1)===47)n+=2;else{let l=e.indexOf(":/",n);if(l!==-1){let d=l-n,m=e.charCodeAt(n),f=e.charCodeAt(n+1),u=e.charCodeAt(n+2),h=e.charCodeAt(n+3),b=e.charCodeAt(n+4);if(!(d===5&&m===104&&f===116&&u===116&&h===112&&b===115)){if(!(d===4&&m===104&&f===116&&u===116&&h===112)){if(!(d===3&&m===119&&f===115&&u===115)){if(!(d===2&&m===119&&f===115))for(let v=n;v<l;v+=1){let S=e.charCodeAt(v)|32;if(!(S>=97&&S<=122||S>=48&&S<=57||S===46||S===45||S===43))return null}}}}for(n=l+2;e.charCodeAt(n)===47;)n+=1}}let a=-1,s=-1,c=-1;for(let l=n;l<r;l+=1){let d=e.charCodeAt(l);if(d===35||d===47||d===63){r=l;break}else d===64?a=l:d===93?s=l:d===58?c=l:d>=65&&d<=90&&(o=!0)}if(a!==-1&&a>n&&a<r&&(n=a+1),e.charCodeAt(n)===91)return s!==-1?e.slice(n+1,s).toLowerCase():null;c!==-1&&c>n&&c<r&&(r=c)}for(;r>n+1&&e.charCodeAt(r-1)===46;)r-=1;let i=n!==0||r!==e.length?e.slice(n,r):e;return o?i.toLowerCase():i}function j_(e){if(e.length<7||e.length>15)return!1;let t=0;for(let n=0;n<e.length;n+=1){let r=e.charCodeAt(n);if(r===46)t+=1;else if(r<48||r>57)return!1}return t===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function $_(e){if(e.length<3)return!1;let t=e.startsWith("[")?1:0,n=e.length;if(e[n-1]==="]"&&(n-=1),n-t>39)return!1;let r=!1;for(;t<n;t+=1){let o=e.charCodeAt(t);if(o===58)r=!0;else if(!(o>=48&&o<=57||o>=97&&o<=102||o>=65&&o<=90))return!1}return r}function Sf(e){return $_(e)||j_(e)}function qb(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function Tf(e){if(e.length>255||e.length===0||!qb(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let t=-1,n=-1,r=e.length;for(let o=0;o<r;o+=1){let i=e.charCodeAt(o);if(i===46){if(o-t>64||n===46||n===45||n===95)return!1;t=o}else if(!(qb(i)||i===45||i===95))return!1;n=i}return r-t-1<=63&&n!==45}function Vb({allowIcannDomains:e=!0,allowPrivateDomains:t=!1,detectIp:n=!0,extractHostname:r=!0,mixedInputs:o=!0,validHosts:i=null,validateHostname:a=!0}){return{allowIcannDomains:e,allowPrivateDomains:t,detectIp:n,extractHostname:r,mixedInputs:o,validHosts:i,validateHostname:a}}var q_=Vb({});function _f(e){return e===void 0?q_:Vb(e)}function Ef(e,t){return t.length===e.length?"":e.slice(0,-t.length-1)}function Jl(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,publicSuffix:null,subdomain:null}}function If(e){e.domain=null,e.domainWithoutSuffix=null,e.hostname=null,e.isIcann=null,e.isIp=null,e.isPrivate=null,e.publicSuffix=null,e.subdomain=null}function Ql(e,t,n,r,o){let i=_f(r);return typeof e!="string"||(i.extractHostname?i.mixedInputs?o.hostname=Yl(e,Tf(e)):o.hostname=Yl(e,!1):o.hostname=e,i.detectIp&&o.hostname!==null&&(o.isIp=Sf(o.hostname),o.isIp))?o:i.validateHostname&&i.extractHostname&&o.hostname!==null&&!Tf(o.hostname)?(o.hostname=null,o):(t===0||o.hostname===null||(n(o.hostname,i,o),t===2||o.publicSuffix===null)||(o.domain=xf(o.publicSuffix,o.hostname,i),t===3||o.domain===null)||(o.subdomain=Ef(o.hostname,o.domain),t===4)||(o.domainWithoutSuffix=wf(o.domain,o.publicSuffix)),o)}function Af(e,t,n){if(!t.allowPrivateDomains&&e.length>3){let r=e.length-1,o=e.charCodeAt(r),i=e.charCodeAt(r-1),a=e.charCodeAt(r-2),s=e.charCodeAt(r-3);if(o===109&&i===111&&a===99&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="com",!0;if(o===103&&i===114&&a===111&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="org",!0;if(o===117&&i===100&&a===101&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="edu",!0;if(o===118&&i===111&&a===103&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="gov",!0;if(o===116&&i===101&&a===110&&s===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="net",!0;if(o===101&&i===100&&a===46)return n.isIcann=!0,n.isPrivate=!1,n.publicSuffix="de",!0}return!1}var Wb=(function(){let e=[1,{}],t=[0,{city:e}];return[0,{ck:[0,{www:e}],jp:[0,{kawasaki:t,kitakyushu:t,kobe:t,nagoya:t,sapporo:t,sendai:t,yokohama:t}]}]})(),Kb=(function(){let e=[1,{}],t=[2,{}],n=[1,{com:e,edu:e,gov:e,net:e,org:e}],r=[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e}],o=[0,{"*":t}],i=[2,{s:o}],a=[0,{relay:t}],s=[2,{id:t}],c=[1,{gov:e}],l=[0,{airflow:o,"lambda-url":t,"transfer-webapp":t}],d=[0,{airflow:o,"transfer-webapp":t}],m=[0,{"transfer-webapp":t}],f=[0,{"transfer-webapp":t,"transfer-webapp-fips":t}],u=[0,{notebook:t,studio:t}],h=[0,{labeling:t,notebook:t,studio:t}],b=[0,{notebook:t}],v=[0,{labeling:t,notebook:t,"notebook-fips":t,studio:t}],S=[0,{notebook:t,"notebook-fips":t,studio:t,"studio-fips":t}],k=[0,{shop:t}],x=[0,{"*":e}],C=[1,{co:t}],_=[0,{objects:t}],I=[2,{"eu-west-1":t,"us-east-1":t}],M=[2,{nodes:t}],X=[0,{my:t}],O=[0,{s3:t,"s3-accesspoint":t,"s3-website":t}],J=[0,{s3:t,"s3-accesspoint":t}],ee=[0,{direct:t}],se=[0,{"webview-assets":t}],H=[0,{vfs:t,"webview-assets":t}],Y=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":se,cloud9:H}],oe=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:J,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":se,cloud9:H}],ie=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":se,cloud9:H}],me=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t}],he=[0,{s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-website":t}],Te=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:he,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":se,cloud9:H}],ze=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:he,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t}],Oe=[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:he,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-deprecated":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":se,cloud9:H}],ke=[0,{auth:t}],B=[0,{auth:t,"auth-fips":t}],K=[0,{"auth-fips":t}],F=[0,{apps:t}],te=[0,{paas:t}],fe=[2,{eu:t}],le=[0,{app:t}],Ne=[0,{site:t}],ge=[1,{com:e,edu:e,net:e,org:e}],dt=[0,{j:t}],mt=[0,{dyn:t}],it=[2,{web:t}],je=[1,{co:e,com:e,edu:e,gov:e,net:e,org:e}],jt=[0,{p:t}],We=[0,{user:t}],ut=[1,{ms:t}],Le=[0,{cdn:t}],Ye=[2,{raw:o}],Pt=[0,{cust:t,reservd:t}],$t=[0,{cust:t}],St=[0,{s3:t}],nt=[1,{biz:e,com:e,edu:e,gov:e,info:e,net:e,org:e}],tn=[0,{ipfs:t}],nn=[1,{framer:t}],cn=[0,{forgot:t}],hn=[0,{blob:t,file:t,web:t}],Yn=[0,{core:hn,servicebus:t}],Me=[1,{gs:e}],br=[0,{nes:e}],De=[1,{k12:e,cc:e,lib:e}],Bt=[1,{cc:e}],Tn=[1,{cc:e,lib:e}];return[0,{ac:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,drr:t,feedback:t,forms:t}],ad:e,ae:[1,{ac:e,co:e,gov:e,mil:e,net:e,org:e,sch:e}],aero:[1,{airline:e,airport:e,"accident-investigation":e,"accident-prevention":e,aerobatic:e,aeroclub:e,aerodrome:e,agents:e,"air-surveillance":e,"air-traffic-control":e,aircraft:e,airtraffic:e,ambulance:e,association:e,author:e,ballooning:e,broker:e,caa:e,cargo:e,catering:e,certification:e,championship:e,charter:e,civilaviation:e,club:e,conference:e,consultant:e,consulting:e,control:e,council:e,crew:e,design:e,dgca:e,educator:e,emergency:e,engine:e,engineer:e,entertainment:e,equipment:e,exchange:e,express:e,federation:e,flight:e,freight:e,fuel:e,gliding:e,government:e,groundhandling:e,group:e,hanggliding:e,homebuilt:e,insurance:e,journal:e,journalist:e,leasing:e,logistics:e,magazine:e,maintenance:e,marketplace:e,media:e,microlight:e,modelling:e,navigation:e,parachuting:e,paragliding:e,"passenger-association":e,pilot:e,press:e,production:e,recreation:e,repbody:e,res:e,research:e,rotorcraft:e,safety:e,scientist:e,services:e,show:e,skydiving:e,software:e,student:e,taxi:e,trader:e,trading:e,trainer:e,union:e,workinggroup:e,works:e}],af:n,ag:[1,{co:e,com:e,net:e,nom:e,org:e,obj:t}],ai:[1,{com:e,net:e,off:e,org:e,uwu:t,framer:t,kiloapps:t}],al:r,am:[1,{co:e,com:e,commune:e,net:e,org:e,radio:t}],ao:[1,{co:e,ed:e,edu:e,gov:e,gv:e,it:e,og:e,org:e,pb:e}],aq:e,ar:[1,{bet:e,com:e,coop:e,edu:e,gob:e,gov:e,int:e,mil:e,musica:e,mutual:e,net:e,org:e,seg:e,senasa:e,tur:e}],arpa:[1,{e164:e,home:e,"in-addr":e,ip6:e,iris:e,uri:e,urn:e}],as:c,asia:[1,{cloudns:t,daemon:t,dix:t}],at:[1,{4:t,ac:[1,{sth:e}],co:e,gv:e,or:e,funkfeuer:[0,{wien:t}],futurecms:[0,{"*":t,ex:o,in:o}],futurehosting:t,futuremailing:t,ortsinfo:[0,{ex:o,kunden:o}],biz:t,info:t,"123webseite":t,priv:t,my:t,myspreadshop:t,"12hp":t,"2ix":t,"4lima":t,"lima-city":t}],au:[1,{asn:e,com:[1,{cloudlets:[0,{mel:t}],myspreadshop:t}],edu:[1,{act:e,catholic:e,nsw:e,nt:e,qld:e,sa:e,tas:e,vic:e,wa:e}],gov:[1,{qld:e,sa:e,tas:e,vic:e,wa:e}],id:e,net:e,org:e,conf:e,oz:e,act:e,nsw:e,nt:e,qld:e,sa:e,tas:e,vic:e,wa:e,hrsn:[0,{vps:t}]}],aw:[1,{com:e}],ax:e,az:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,int:e,mil:e,name:e,net:e,org:e,pp:e,pro:e}],ba:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,brendly:k,rs:t}],bb:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,net:e,org:e,store:e,tv:e}],bd:[1,{ac:e,ai:e,co:e,com:e,edu:e,gov:e,id:e,info:e,it:e,mil:e,net:e,org:e,sch:e,tv:e}],be:[1,{ac:e,cloudns:t,webhosting:t,interhostsolutions:[0,{cloud:t}],kuleuven:[0,{ezproxy:t}],my:t,"123website":t,myspreadshop:t,transurl:o}],bf:c,bg:[1,{0:e,1:e,2:e,3:e,4:e,5:e,6:e,7:e,8:e,9:e,a:e,b:e,c:e,d:e,e,f:e,g:e,h:e,i:e,j:e,k:e,l:e,m:e,n:e,o:e,p:e,q:e,r:e,s:e,t:e,u:e,v:e,w:e,x:e,y:e,z:e,barsy:t}],bh:n,bi:[1,{co:e,com:e,edu:e,or:e,org:e}],biz:[1,{activetrail:t,"cloud-ip":t,cloudns:t,jozi:t,dyndns:t,"for-better":t,"for-more":t,"for-some":t,"for-the":t,selfip:t,webhop:t,orx:t,mmafan:t,myftp:t,"no-ip":t,dscloud:t}],bj:[1,{africa:e,agro:e,architectes:e,assur:e,avocats:e,co:e,com:e,eco:e,econo:e,edu:e,info:e,loisirs:e,money:e,net:e,org:e,ote:e,restaurant:e,resto:e,tourism:e,univ:e}],bm:n,bn:[1,{com:e,edu:e,gov:e,net:e,org:e,co:t}],bo:[1,{com:e,edu:e,gob:e,int:e,mil:e,net:e,org:e,tv:e,web:e,academia:e,agro:e,arte:e,blog:e,bolivia:e,ciencia:e,cooperativa:e,democracia:e,deporte:e,ecologia:e,economia:e,empresa:e,indigena:e,industria:e,info:e,medicina:e,movimiento:e,musica:e,natural:e,nombre:e,noticias:e,patria:e,plurinacional:e,politica:e,profesional:e,pueblo:e,revista:e,salud:e,tecnologia:e,tksat:e,transporte:e,wiki:e}],br:[1,{"9guacu":e,abc:e,adm:e,adv:e,agr:e,aju:e,am:e,anani:e,aparecida:e,api:e,app:e,arq:e,art:e,ato:e,b:e,barueri:e,belem:e,bet:e,bhz:e,bib:e,bio:e,blog:e,bmd:e,boavista:e,bsb:e,campinagrande:e,campinas:e,caxias:e,cim:e,cng:e,cnt:e,com:[1,{simplesite:t}],contagem:e,coop:e,coz:e,cri:e,cuiaba:e,curitiba:e,def:e,des:e,det:e,dev:e,ecn:e,eco:e,edu:e,emp:e,enf:e,eng:e,esp:e,etc:e,eti:e,far:e,feira:e,flog:e,floripa:e,fm:e,fnd:e,fortal:e,fot:e,foz:e,fst:e,g12:e,geo:e,ggf:e,goiania:e,gov:[1,{ac:e,al:e,am:e,ap:e,ba:e,ce:e,df:e,es:e,go:e,ma:e,mg:e,ms:e,mt:e,pa:e,pb:e,pe:e,pi:e,pr:e,rj:e,rn:e,ro:e,rr:e,rs:e,sc:e,se:e,sp:e,to:e}],gru:e,ia:e,imb:e,ind:e,inf:e,jab:e,jampa:e,jdf:e,joinville:e,jor:e,jus:e,leg:[1,{ac:t,al:t,am:t,ap:t,ba:t,ce:t,df:t,es:t,go:t,ma:t,mg:t,ms:t,mt:t,pa:t,pb:t,pe:t,pi:t,pr:t,rj:t,rn:t,ro:t,rr:t,rs:t,sc:t,se:t,sp:t,to:t}],leilao:e,lel:e,log:e,londrina:e,macapa:e,maceio:e,manaus:e,maringa:e,mat:e,med:e,mil:e,morena:e,mp:e,mus:e,natal:e,net:e,niteroi:e,nom:x,not:e,ntr:e,odo:e,ong:e,org:e,osasco:e,palmas:e,poa:e,ppg:e,pro:e,psc:e,psi:e,pvh:e,qsl:e,radio:e,rec:e,recife:e,rep:e,ribeirao:e,rio:e,riobranco:e,riopreto:e,salvador:e,sampa:e,santamaria:e,santoandre:e,saobernardo:e,saogonca:e,seg:e,sjc:e,slg:e,slz:e,social:e,sorocaba:e,srv:e,taxi:e,tc:e,tec:e,teo:e,the:e,tmp:e,trd:e,tur:e,tv:e,udi:e,vet:e,vix:e,vlog:e,wiki:e,xyz:e,zlg:e,tche:t}],bs:[1,{com:e,edu:e,gov:e,net:e,org:e,we:t}],bt:n,bv:e,bw:[1,{ac:e,co:e,gov:e,net:e,org:e}],by:[1,{gov:e,mil:e,com:e,of:e,mediatech:t}],bz:[1,{co:e,com:e,edu:e,gov:e,net:e,org:e,za:t,mydns:t,gsj:t}],ca:[1,{ab:e,bc:e,mb:e,nb:e,nf:e,nl:e,ns:e,nt:e,nu:e,on:e,pe:e,qc:e,sk:e,yk:e,gc:e,barsy:t,awdev:o,co:t,"no-ip":t,onid:t,myspreadshop:t,box:t}],cat:e,cc:[1,{cleverapps:t,"cloud-ip":t,cloudns:t,ccwu:t,ftpaccess:t,"game-server":t,myphotos:t,scrapping:t,twmail:t,csx:t,fantasyleague:t,spawn:[0,{instances:t}],ec:t,eu:t,gu:t,uk:t,us:t}],cd:[1,{gov:e,cc:t}],cf:e,cg:e,ch:[1,{square7:t,cloudns:t,cloudscale:[0,{cust:t,lpg:_,rma:_}],objectstorage:[0,{lpg:t,rma:t}],flow:[0,{ae:[0,{alp1:t}],appengine:t}],"linkyard-cloud":t,gotdns:t,dnsking:t,"123website":t,myspreadshop:t,firenet:[0,{"*":t,svc:o}],"12hp":t,"2ix":t,"4lima":t,"lima-city":t}],ci:[1,{ac:e,"xn--aroport-bya":e,a\u00E9roport:e,asso:e,co:e,com:e,ed:e,edu:e,go:e,gouv:e,int:e,net:e,or:e,org:e,us:t}],ck:x,cl:[1,{co:e,gob:e,gov:e,mil:e,cloudns:t}],cm:[1,{co:e,com:e,gov:e,net:e}],cn:[1,{ac:e,com:[1,{amazonaws:[0,{"cn-north-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,rds:o,dualstack:O,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t}],"cn-northwest-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,rds:o,dualstack:J,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t}],compute:o,airflow:[0,{"cn-north-1":o,"cn-northwest-1":o}],eb:[0,{"cn-north-1":t,"cn-northwest-1":t}],elb:o}],amazonwebservices:[0,{on:[0,{"cn-north-1":d,"cn-northwest-1":d}]}],sagemaker:[0,{"cn-north-1":u,"cn-northwest-1":u}]}],edu:e,gov:e,mil:e,net:e,org:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--od0alg":e,\u7DB2\u7D61:e,"xn--io0a7i":e,\u7F51\u7EDC:e,ah:e,bj:e,cq:e,fj:e,gd:e,gs:e,gx:e,gz:e,ha:e,hb:e,he:e,hi:e,hk:e,hl:e,hn:e,jl:e,js:e,jx:e,ln:e,mo:e,nm:e,nx:e,qh:e,sc:e,sd:e,sh:[1,{as:t}],sn:e,sx:e,tj:e,tw:e,xj:e,xz:e,yn:e,zj:e,"canva-apps":t,canvasite:X,myqnapcloud:t,quickconnect:ee}],co:[1,{com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e,carrd:t,crd:t,otap:o,hidns:t,leadpages:t,lpages:t,mypi:t,xmit:o,rdpa:[0,{clusters:o,srvrless:o}],firewalledreplit:s,repl:s,supabase:[2,{realtime:t,storage:t}],umso:t}],com:[1,{a2hosted:t,cpserver:t,adobeaemcloud:[2,{dev:o}],africa:t,auiusercontent:o,aivencloud:t,alibabacloudcs:t,kasserver:t,amazonaws:[0,{"af-south-1":Y,"ap-east-1":oe,"ap-northeast-1":ie,"ap-northeast-2":ie,"ap-northeast-3":Y,"ap-south-1":ie,"ap-south-2":me,"ap-southeast-1":ie,"ap-southeast-2":ie,"ap-southeast-3":me,"ap-southeast-4":me,"ap-southeast-5":[0,{"execute-api":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t}],"ca-central-1":Te,"ca-west-1":ze,"eu-central-1":ie,"eu-central-2":me,"eu-north-1":oe,"eu-south-1":Y,"eu-south-2":me,"eu-west-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-deprecated":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":se,cloud9:H}],"eu-west-2":oe,"eu-west-3":Y,"il-central-1":[0,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:O,s3:t,"s3-accesspoint":t,"s3-object-lambda":t,"s3-website":t,"aws-cloud9":se,cloud9:[0,{vfs:t}]}],"me-central-1":me,"me-south-1":oe,"sa-east-1":Y,"us-east-1":[2,{"execute-api":t,"emrappui-prod":t,"emrnotebooks-prod":t,"emrstudio-prod":t,dualstack:he,s3:t,"s3-accesspoint":t,"s3-accesspoint-fips":t,"s3-deprecated":t,"s3-fips":t,"s3-object-lambda":t,"s3-website":t,"analytics-gateway":t,"aws-cloud9":se,cloud9:H}],"us-east-2":Oe,"us-gov-east-1":ze,"us-gov-west-1":ze,"us-west-1":Te,"us-west-2":Oe,compute:o,"compute-1":o,airflow:[0,{"af-south-1":o,"ap-east-1":o,"ap-northeast-1":o,"ap-northeast-2":o,"ap-northeast-3":o,"ap-south-1":o,"ap-south-2":o,"ap-southeast-1":o,"ap-southeast-2":o,"ap-southeast-3":o,"ap-southeast-4":o,"ap-southeast-5":o,"ap-southeast-7":o,"ca-central-1":o,"ca-west-1":o,"eu-central-1":o,"eu-central-2":o,"eu-north-1":o,"eu-south-1":o,"eu-south-2":o,"eu-west-1":o,"eu-west-2":o,"eu-west-3":o,"il-central-1":o,"me-central-1":o,"me-south-1":o,"sa-east-1":o,"us-east-1":o,"us-east-2":o,"us-west-1":o,"us-west-2":o}],rds:[0,{"af-south-1":o,"ap-east-1":o,"ap-east-2":o,"ap-northeast-1":o,"ap-northeast-2":o,"ap-northeast-3":o,"ap-south-1":o,"ap-south-2":o,"ap-southeast-1":o,"ap-southeast-2":o,"ap-southeast-3":o,"ap-southeast-4":o,"ap-southeast-5":o,"ap-southeast-6":o,"ap-southeast-7":o,"ca-central-1":o,"ca-west-1":o,"eu-central-1":o,"eu-central-2":o,"eu-west-1":o,"eu-west-2":o,"eu-west-3":o,"il-central-1":o,"me-central-1":o,"me-south-1":o,"mx-central-1":o,"sa-east-1":o,"us-east-1":o,"us-east-2":o,"us-gov-east-1":o,"us-gov-west-1":o,"us-northeast-1":o,"us-west-1":o,"us-west-2":o}],s3:t,"s3-1":t,"s3-ap-east-1":t,"s3-ap-northeast-1":t,"s3-ap-northeast-2":t,"s3-ap-northeast-3":t,"s3-ap-south-1":t,"s3-ap-southeast-1":t,"s3-ap-southeast-2":t,"s3-ca-central-1":t,"s3-eu-central-1":t,"s3-eu-north-1":t,"s3-eu-west-1":t,"s3-eu-west-2":t,"s3-eu-west-3":t,"s3-external-1":t,"s3-fips-us-gov-east-1":t,"s3-fips-us-gov-west-1":t,"s3-global":[0,{accesspoint:[0,{mrap:t}]}],"s3-me-south-1":t,"s3-sa-east-1":t,"s3-us-east-2":t,"s3-us-gov-east-1":t,"s3-us-gov-west-1":t,"s3-us-west-1":t,"s3-us-west-2":t,"s3-website-ap-northeast-1":t,"s3-website-ap-southeast-1":t,"s3-website-ap-southeast-2":t,"s3-website-eu-west-1":t,"s3-website-sa-east-1":t,"s3-website-us-east-1":t,"s3-website-us-gov-west-1":t,"s3-website-us-west-1":t,"s3-website-us-west-2":t,elb:o}],amazoncognito:[0,{"af-south-1":ke,"ap-east-1":ke,"ap-northeast-1":ke,"ap-northeast-2":ke,"ap-northeast-3":ke,"ap-south-1":ke,"ap-south-2":ke,"ap-southeast-1":ke,"ap-southeast-2":ke,"ap-southeast-3":ke,"ap-southeast-4":ke,"ap-southeast-5":ke,"ap-southeast-7":ke,"ca-central-1":ke,"ca-west-1":ke,"eu-central-1":ke,"eu-central-2":ke,"eu-north-1":ke,"eu-south-1":ke,"eu-south-2":ke,"eu-west-1":ke,"eu-west-2":ke,"eu-west-3":ke,"il-central-1":ke,"me-central-1":ke,"me-south-1":ke,"mx-central-1":ke,"sa-east-1":ke,"us-east-1":B,"us-east-2":B,"us-gov-east-1":K,"us-gov-west-1":K,"us-west-1":B,"us-west-2":B}],amplifyapp:t,awsapprunner:o,awsapps:t,elasticbeanstalk:[2,{"af-south-1":t,"ap-east-1":t,"ap-northeast-1":t,"ap-northeast-2":t,"ap-northeast-3":t,"ap-south-1":t,"ap-southeast-1":t,"ap-southeast-2":t,"ap-southeast-3":t,"ap-southeast-5":t,"ap-southeast-7":t,"ca-central-1":t,"eu-central-1":t,"eu-north-1":t,"eu-south-1":t,"eu-south-2":t,"eu-west-1":t,"eu-west-2":t,"eu-west-3":t,"il-central-1":t,"me-central-1":t,"me-south-1":t,"sa-east-1":t,"us-east-1":t,"us-east-2":t,"us-gov-east-1":t,"us-gov-west-1":t,"us-west-1":t,"us-west-2":t}],awsglobalaccelerator:t,siiites:t,appspacehosted:t,appspaceusercontent:t,"on-aptible":t,myasustor:t,"balena-devices":t,boutir:t,bplaced:t,cafjs:t,"canva-apps":t,"canva-hosted-embed":t,canvacode:t,"rice-labs":t,"cdn77-storage":t,br:t,cn:t,de:t,eu:t,jpn:t,mex:t,ru:t,sa:t,uk:t,us:t,za:t,"clever-cloud":[0,{services:o}],abrdns:t,dnsabr:t,"ip-ddns":t,jdevcloud:t,wpdevcloud:t,"cf-ipfs":t,"cloudflare-ipfs":t,trycloudflare:t,co:t,devinapps:o,builtwithdark:t,datadetect:[0,{demo:t,instance:t}],dattolocal:t,dattorelay:t,dattoweb:t,mydatto:t,digitaloceanspaces:o,discordsays:t,discordsez:t,drayddns:t,dreamhosters:t,durumis:t,blogdns:t,cechire:t,dnsalias:t,dnsdojo:t,doesntexist:t,dontexist:t,doomdns:t,"dyn-o-saur":t,dynalias:t,"dyndns-at-home":t,"dyndns-at-work":t,"dyndns-blog":t,"dyndns-free":t,"dyndns-home":t,"dyndns-ip":t,"dyndns-mail":t,"dyndns-office":t,"dyndns-pics":t,"dyndns-remote":t,"dyndns-server":t,"dyndns-web":t,"dyndns-wiki":t,"dyndns-work":t,"est-a-la-maison":t,"est-a-la-masion":t,"est-le-patron":t,"est-mon-blogueur":t,"from-ak":t,"from-al":t,"from-ar":t,"from-ca":t,"from-ct":t,"from-dc":t,"from-de":t,"from-fl":t,"from-ga":t,"from-hi":t,"from-ia":t,"from-id":t,"from-il":t,"from-in":t,"from-ks":t,"from-ky":t,"from-ma":t,"from-md":t,"from-mi":t,"from-mn":t,"from-mo":t,"from-ms":t,"from-mt":t,"from-nc":t,"from-nd":t,"from-ne":t,"from-nh":t,"from-nj":t,"from-nm":t,"from-nv":t,"from-oh":t,"from-ok":t,"from-or":t,"from-pa":t,"from-pr":t,"from-ri":t,"from-sc":t,"from-sd":t,"from-tn":t,"from-tx":t,"from-ut":t,"from-va":t,"from-vt":t,"from-wa":t,"from-wi":t,"from-wv":t,"from-wy":t,getmyip:t,gotdns:t,"hobby-site":t,homelinux:t,homeunix:t,iamallama:t,"is-a-anarchist":t,"is-a-blogger":t,"is-a-bookkeeper":t,"is-a-bulls-fan":t,"is-a-caterer":t,"is-a-chef":t,"is-a-conservative":t,"is-a-cpa":t,"is-a-cubicle-slave":t,"is-a-democrat":t,"is-a-designer":t,"is-a-doctor":t,"is-a-financialadvisor":t,"is-a-geek":t,"is-a-green":t,"is-a-guru":t,"is-a-hard-worker":t,"is-a-hunter":t,"is-a-landscaper":t,"is-a-lawyer":t,"is-a-liberal":t,"is-a-libertarian":t,"is-a-llama":t,"is-a-musician":t,"is-a-nascarfan":t,"is-a-nurse":t,"is-a-painter":t,"is-a-personaltrainer":t,"is-a-photographer":t,"is-a-player":t,"is-a-republican":t,"is-a-rockstar":t,"is-a-socialist":t,"is-a-student":t,"is-a-teacher":t,"is-a-techie":t,"is-a-therapist":t,"is-an-accountant":t,"is-an-actor":t,"is-an-actress":t,"is-an-anarchist":t,"is-an-artist":t,"is-an-engineer":t,"is-an-entertainer":t,"is-certified":t,"is-gone":t,"is-into-anime":t,"is-into-cars":t,"is-into-cartoons":t,"is-into-games":t,"is-leet":t,"is-not-certified":t,"is-slick":t,"is-uberleet":t,"is-with-theband":t,"isa-geek":t,"isa-hockeynut":t,issmarterthanyou:t,"likes-pie":t,likescandy:t,"neat-url":t,"saves-the-whales":t,selfip:t,"sells-for-less":t,"sells-for-u":t,servebbs:t,"simple-url":t,"space-to-rent":t,"teaches-yoga":t,writesthisblog:t,"1cooldns":t,bumbleshrimp:t,ddnsfree:t,ddnsgeek:t,ddnsguru:t,dynuddns:t,dynuhosting:t,giize:t,gleeze:t,kozow:t,loseyourip:t,ooguy:t,pivohosting:t,theworkpc:t,wiredbladehosting:t,emergentagent:[0,{preview:t}],mytuleap:t,"tuleap-partners":t,encoreapi:t,evennode:[0,{"eu-1":t,"eu-2":t,"eu-3":t,"eu-4":t,"us-1":t,"us-2":t,"us-3":t,"us-4":t}],onfabrica:t,"fastly-edge":t,"fastly-terrarium":t,"fastvps-server":t,mydobiss:t,firebaseapp:t,fldrv:t,framercanvas:t,"freebox-os":t,freeboxos:t,freemyip:t,aliases121:t,gentapps:t,gentlentapis:t,githubusercontent:t,"0emm":o,appspot:[2,{r:o}],blogspot:t,codespot:t,googleapis:t,googlecode:t,pagespeedmobilizer:t,withgoogle:t,withyoutube:t,grayjayleagues:t,hatenablog:t,hatenadiary:t,"hercules-app":t,"hercules-dev":t,herokuapp:t,gr:t,smushcdn:t,wphostedmail:t,wpmucdn:t,pixolino:t,"apps-1and1":t,"live-website":t,"webspace-host":t,dopaas:t,"hosted-by-previder":te,hosteur:[0,{"rag-cloud":t,"rag-cloud-ch":t}],"ik-server":[0,{jcloud:t,"jcloud-ver-jpc":t}],jelastic:[0,{demo:t}],massivegrid:te,wafaicloud:[0,{jed:t,ryd:t}],"eu1-plenit":t,"la1-plenit":t,"us1-plenit":t,webadorsite:t,"on-forge":t,"on-vapor":t,lpusercontent:t,linode:[0,{members:t,nodebalancer:o}],linodeobjects:o,linodeusercontent:[0,{ip:t}],localtonet:t,lovableproject:t,barsycenter:t,barsyonline:t,lutrausercontent:o,magicpatternsapp:t,modelscape:t,mwcloudnonprod:t,polyspace:t,miniserver:t,atmeta:t,fbsbx:F,meteorapp:fe,routingthecloud:t,"same-app":t,"same-preview":t,mydbserver:t,mochausercontent:t,hostedpi:t,"mythic-beasts":[0,{caracal:t,customer:t,fentiger:t,lynx:t,ocelot:t,oncilla:t,onza:t,sphinx:t,vs:t,x:t,yali:t}],nospamproxy:[0,{cloud:[2,{o365:t}]}],"4u":t,nfshost:t,"3utilities":t,blogsyte:t,ciscofreak:t,damnserver:t,ddnsking:t,ditchyourip:t,dnsiskinky:t,dynns:t,geekgalaxy:t,"health-carereform":t,homesecuritymac:t,homesecuritypc:t,myactivedirectory:t,mysecuritycamera:t,myvnc:t,"net-freaks":t,onthewifi:t,point2this:t,quicksytes:t,securitytactics:t,servebeer:t,servecounterstrike:t,serveexchange:t,serveftp:t,servegame:t,servehalflife:t,servehttp:t,servehumour:t,serveirc:t,servemp3:t,servep2p:t,servepics:t,servequake:t,servesarcasm:t,stufftoread:t,unusualperson:t,workisboring:t,myiphost:t,observableusercontent:[0,{static:t}],simplesite:t,oaiusercontent:o,orsites:t,operaunite:t,"customer-oci":[0,{"*":t,oci:o,ocp:o,ocs:o}],oraclecloudapps:o,oraclegovcloudapps:o,"authgear-staging":t,authgearapps:t,outsystemscloud:t,ownprovider:t,pgfog:t,pagexl:t,gotpantheon:t,paywhirl:o,forgeblocks:t,upsunapp:t,"postman-echo":t,prgmr:[0,{xen:t}],"project-study":[0,{dev:t}],pythonanywhere:fe,qa2:t,"alpha-myqnapcloud":t,"dev-myqnapcloud":t,mycloudnas:t,mynascloud:t,myqnapcloud:t,qualifioapp:t,ladesk:t,qualyhqpartner:o,qualyhqportal:o,qbuser:t,quipelements:o,rackmaze:t,"readthedocs-hosted":t,rhcloud:t,onrender:t,render:le,"subsc-pay":t,"180r":t,dojin:t,sakuratan:t,sakuraweb:t,x0:t,code:[0,{builder:o,"dev-builder":o,"stg-builder":o}],salesforce:[0,{platform:[0,{"code-builder-stg":[0,{test:[0,{"001":o}]}]}]}],logoip:t,scrysec:t,"firewall-gateway":t,myshopblocks:t,myshopify:t,shopitsite:t,"1kapp":t,appchizi:t,applinzi:t,sinaapp:t,vipsinaapp:t,streamlitapp:t,"try-snowplow":t,"playstation-cloud":t,myspreadshop:t,"w-corp-staticblitz":t,"w-credentialless-staticblitz":t,"w-staticblitz":t,"stackhero-network":t,stdlib:[0,{api:t}],strapiapp:[2,{media:t}],"streak-link":t,streaklinks:t,streakusercontent:t,"temp-dns":t,dsmynas:t,familyds:t,mytabit:t,taveusercontent:t,"tb-hosting":Ne,reservd:t,thingdustdata:t,"townnews-staging":t,typeform:[0,{pro:t}],hk:t,it:t,"deus-canvas":t,vultrobjects:o,wafflecell:t,hotelwithflight:t,"reserve-online":t,cprapid:t,pleskns:t,remotewd:t,wiardweb:[0,{pages:t}],"drive-platform":t,"base44-sandbox":t,wixsite:t,wixstudio:t,messwithdns:t,"woltlab-demo":t,wpenginepowered:[2,{js:t}],xnbay:[2,{u2:t,"u2-local":t}],xtooldevice:t,yolasite:t}],coop:e,cr:[1,{ac:e,co:e,ed:e,fi:e,go:e,or:e,sa:e}],cu:[1,{com:e,edu:e,gob:e,inf:e,nat:e,net:e,org:e}],cv:[1,{com:e,edu:e,id:e,int:e,net:e,nome:e,org:e,publ:e}],cw:ge,cx:[1,{gov:e,cloudns:t,ath:t,info:t,assessments:t,calculators:t,funnels:t,paynow:t,quizzes:t,researched:t,tests:t}],cy:[1,{ac:e,biz:e,com:[1,{scaleforce:dt}],ekloges:e,gov:e,ltd:e,mil:e,net:e,org:e,press:e,pro:e,tm:e}],cz:[1,{gov:e,contentproxy9:[0,{rsc:t}],realm:t,e4:t,co:t,metacentrum:[0,{cloud:o,custom:t}],muni:[0,{cloud:[0,{flt:t,usr:t}]}]}],de:[1,{bplaced:t,square7:t,"bwcloud-os-instance":o,com:t,cosidns:mt,dnsupdater:t,"dynamisches-dns":t,"internet-dns":t,"l-o-g-i-n":t,ddnss:[2,{dyn:t,dyndns:t}],"dyn-ip24":t,dyndns1:t,"home-webserver":[2,{dyn:t}],"myhome-server":t,dnshome:t,fuettertdasnetz:t,isteingeek:t,istmein:t,lebtimnetz:t,leitungsen:t,traeumtgerade:t,frusky:o,goip:t,"xn--gnstigbestellen-zvb":t,g\u00FCnstigbestellen:t,"xn--gnstigliefern-wob":t,g\u00FCnstigliefern:t,"hs-heilbronn":[0,{it:[0,{pages:t,"pages-research":t}]}],"dyn-berlin":t,"in-berlin":t,"in-brb":t,"in-butter":t,"in-dsl":t,"in-vpn":t,iservschule:t,"mein-iserv":t,schuldock:t,schulplattform:t,schulserver:t,"test-iserv":t,keymachine:t,co:t,"git-repos":t,"lcube-server":t,"svn-repos":t,barsy:t,webspaceconfig:t,"123webseite":t,rub:t,"ruhr-uni-bochum":[2,{noc:[0,{io:t}]}],logoip:t,"firewall-gateway":t,"my-gateway":t,"my-router":t,spdns:t,my:t,speedpartner:[0,{customer:t}],myspreadshop:t,"taifun-dns":t,"12hp":t,"2ix":t,"4lima":t,"lima-city":t,"virtual-user":t,virtualuser:t,"community-pro":t,diskussionsbereich:t,xenonconnect:o}],dj:e,dk:[1,{biz:t,co:t,firm:t,reg:t,store:t,"123hjemmeside":t,myspreadshop:t}],dm:je,do:[1,{art:e,com:e,edu:e,gob:e,gov:e,mil:e,net:e,org:e,sld:e,web:e}],dz:[1,{art:e,asso:e,com:e,edu:e,gov:e,net:e,org:e,pol:e,soc:e,tm:e}],ec:[1,{abg:e,adm:e,agron:e,arqt:e,art:e,bar:e,chef:e,com:e,cont:e,cpa:e,cue:e,dent:e,dgn:e,disco:e,doc:e,edu:e,eng:e,esm:e,fin:e,fot:e,gal:e,gob:e,gov:e,gye:e,ibr:e,info:e,k12:e,lat:e,loj:e,med:e,mil:e,mktg:e,mon:e,net:e,ntr:e,odont:e,org:e,pro:e,prof:e,psic:e,psiq:e,pub:e,rio:e,rrpp:e,sal:e,tech:e,tul:e,tur:e,uio:e,vet:e,xxx:e,base:t,official:t}],edu:[1,{rit:[0,{"git-pages":t}]}],ee:[1,{aip:e,com:e,edu:e,fie:e,gov:e,lib:e,med:e,org:e,pri:e,riik:e}],eg:[1,{ac:e,com:e,edu:e,eun:e,gov:e,info:e,me:e,mil:e,name:e,net:e,org:e,sci:e,sport:e,tv:e}],er:x,es:[1,{com:e,edu:e,gob:e,nom:e,org:e,"123miweb":t,myspreadshop:t}],et:[1,{biz:e,com:e,edu:e,gov:e,info:e,name:e,net:e,org:e}],eu:[1,{amazonwebservices:[0,{on:[0,{"eusc-de-east-1":[0,{"cognito-idp":ke}]}]}],cloudns:t,prvw:t,deuxfleurs:t,dogado:[0,{jelastic:t}],barsy:t,spdns:t,nxa:o,directwp:t,transurl:o}],fi:[1,{aland:e,dy:t,"xn--hkkinen-5wa":t,h\u00E4kkinen:t,iki:t,cloudplatform:[0,{fi:t}],datacenter:[0,{demo:t,paas:t}],kapsi:t,"123kotisivu":t,myspreadshop:t}],fj:[1,{ac:e,biz:e,com:e,edu:e,gov:e,id:e,info:e,mil:e,name:e,net:e,org:e,pro:e}],fk:x,fm:[1,{com:e,edu:e,net:e,org:e,radio:t,user:o}],fo:e,fr:[1,{asso:e,com:e,gouv:e,nom:e,prd:e,tm:e,avoues:e,cci:e,greta:e,"huissier-justice":e,"fbx-os":t,fbxos:t,"freebox-os":t,freeboxos:t,goupile:t,kdns:t,"123siteweb":t,"on-web":t,"chirurgiens-dentistes-en-france":t,dedibox:t,aeroport:t,avocat:t,chambagri:t,"chirurgiens-dentistes":t,"experts-comptables":t,medecin:t,notaires:t,pharmacien:t,port:t,veterinaire:t,myspreadshop:t,ynh:t}],ga:e,gb:e,gd:[1,{edu:e,gov:e}],ge:[1,{com:e,edu:e,gov:e,net:e,org:e,pvt:e,school:e}],gf:e,gg:[1,{co:e,net:e,org:e,ply:[0,{at:o,d6:t}],botdash:t,kaas:t,stackit:t,panel:[2,{daemon:t}]}],gh:[1,{biz:e,com:e,edu:e,gov:e,mil:e,net:e,org:e}],gi:[1,{com:e,edu:e,gov:e,ltd:e,mod:e,org:e}],gl:[1,{co:e,com:e,edu:e,net:e,org:e}],gm:e,gn:[1,{ac:e,com:e,edu:e,gov:e,net:e,org:e}],gov:e,gp:[1,{asso:e,com:e,edu:e,mobi:e,net:e,org:e}],gq:e,gr:[1,{com:e,edu:e,gov:e,net:e,org:e,barsy:t,simplesite:t}],gs:e,gt:[1,{com:e,edu:e,gob:e,ind:e,mil:e,net:e,org:e}],gu:[1,{com:e,edu:e,gov:e,guam:e,info:e,net:e,org:e,web:e}],gw:[1,{nx:t}],gy:je,hk:[1,{com:e,edu:e,gov:e,idv:e,net:e,org:e,"xn--ciqpn":e,\u4E2A\u4EBA:e,"xn--gmqw5a":e,\u500B\u4EBA:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--mxtq1m":e,\u653F\u5E9C:e,"xn--lcvr32d":e,\u654E\u80B2:e,"xn--wcvs22d":e,\u6559\u80B2:e,"xn--gmq050i":e,\u7B87\u4EBA:e,"xn--uc0atv":e,\u7D44\u7E54:e,"xn--uc0ay4a":e,\u7D44\u7EC7:e,"xn--od0alg":e,\u7DB2\u7D61:e,"xn--zf0avx":e,\u7DB2\u7EDC:e,"xn--mk0axi":e,\u7EC4\u7E54:e,"xn--tn0ag":e,\u7EC4\u7EC7:e,"xn--od0aq3b":e,\u7F51\u7D61:e,"xn--io0a7i":e,\u7F51\u7EDC:e,inc:t,ltd:t}],hm:e,hn:[1,{com:e,edu:e,gob:e,mil:e,net:e,org:e}],hr:[1,{com:e,from:e,iz:e,name:e,brendly:k}],ht:[1,{adult:e,art:e,asso:e,com:e,coop:e,edu:e,firm:e,gouv:e,info:e,med:e,net:e,org:e,perso:e,pol:e,pro:e,rel:e,shop:e,rt:t}],hu:[1,{2e3:e,agrar:e,bolt:e,casino:e,city:e,co:e,erotica:e,erotika:e,film:e,forum:e,games:e,hotel:e,info:e,ingatlan:e,jogasz:e,konyvelo:e,lakas:e,media:e,news:e,org:e,priv:e,reklam:e,sex:e,shop:e,sport:e,suli:e,szex:e,tm:e,tozsde:e,utazas:e,video:e}],id:[1,{ac:e,biz:e,co:e,desa:e,go:e,kop:e,mil:e,my:e,net:e,or:e,ponpes:e,sch:e,web:e,"xn--9tfky":e,"\u1B29\u1B2E\u1B36":e,e:t,zone:t}],ie:[1,{gov:e,myspreadshop:t}],il:[1,{ac:e,co:[1,{ravpage:t,mytabit:t,tabitorder:t}],gov:e,idf:e,k12:e,muni:e,net:e,org:e}],"xn--4dbrk0ce":[1,{"xn--4dbgdty6c":e,"xn--5dbhl8d":e,"xn--8dbq2a":e,"xn--hebda8b":e}],\u05D9\u05E9\u05E8\u05D0\u05DC:[1,{\u05D0\u05E7\u05D3\u05DE\u05D9\u05D4:e,\u05D9\u05E9\u05D5\u05D1:e,\u05E6\u05D4\u05DC:e,\u05DE\u05DE\u05E9\u05DC:e}],im:[1,{ac:e,co:[1,{ltd:e,plc:e}],com:e,net:e,org:e,tt:e,tv:e}],in:[1,{"5g":e,"6g":e,ac:e,ai:e,am:e,bank:e,bihar:e,biz:e,business:e,ca:e,cn:e,co:e,com:e,coop:e,cs:e,delhi:e,dr:e,edu:e,er:e,fin:e,firm:e,gen:e,gov:e,gujarat:e,ind:e,info:e,int:e,internet:e,io:e,me:e,mil:e,net:e,nic:e,org:e,pg:e,post:e,pro:e,res:e,travel:e,tv:e,uk:e,up:e,us:e,cloudns:t,barsy:t,web:t,indevs:t,supabase:t}],info:[1,{cloudns:t,"dynamic-dns":t,"barrel-of-knowledge":t,"barrell-of-knowledge":t,dyndns:t,"for-our":t,"groks-the":t,"groks-this":t,"here-for-more":t,knowsitall:t,selfip:t,webhop:t,barsy:t,mayfirst:t,mittwald:t,mittwaldserver:t,typo3server:t,dvrcam:t,ilovecollege:t,"no-ip":t,forumz:t,nsupdate:t,dnsupdate:t,"v-info":t}],int:[1,{eu:e}],io:[1,{2038:t,co:e,com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e,"on-acorn":o,myaddr:t,apigee:t,"b-data":t,beagleboard:t,bitbucket:t,bluebite:t,boxfuse:t,brave:i,browsersafetymark:t,bubble:Le,bubbleapps:t,bigv:[0,{uk0:t}],cleverapps:t,cloudbeesusercontent:t,dappnode:[0,{dyndns:t}],darklang:t,definima:t,dedyn:t,icp0:Ye,icp1:Ye,qzz:t,"fh-muenster":t,gitbook:t,github:t,gitlab:t,lolipop:t,"hasura-app":t,hostyhosting:t,hypernode:t,moonscale:o,beebyte:te,beebyteapp:[0,{sekd1:t}],jele:t,keenetic:t,kiloapps:t,webthings:t,loginline:t,barsy:t,azurecontainer:o,ngrok:[2,{ap:t,au:t,eu:t,in:t,jp:t,sa:t,us:t}],nodeart:[0,{stage:t}],pantheonsite:t,forgerock:[0,{id:t}],pstmn:[2,{mock:t}],protonet:t,qcx:[2,{sys:o}],qoto:t,vaporcloud:t,myrdbx:t,"rb-hosting":Ne,"on-k3s":o,"on-rio":o,readthedocs:t,resindevice:t,resinstaging:[0,{devices:t}],hzc:t,sandcats:t,scrypted:[0,{client:t}],"mo-siemens":t,lair:F,stolos:o,musician:t,utwente:t,edugit:t,telebit:t,thingdust:[0,{dev:Pt,disrec:Pt,prod:$t,testing:Pt}],tickets:t,webflow:t,webflowtest:t,"drive-platform":t,editorx:t,wixstudio:t,basicserver:t,virtualserver:t}],iq:r,ir:[1,{ac:e,co:e,gov:e,id:e,net:e,org:e,sch:e,"xn--mgba3a4f16a":e,\u0627\u06CC\u0631\u0627\u0646:e,"xn--mgba3a4fra":e,\u0627\u064A\u0631\u0627\u0646:e,arvanedge:t,vistablog:t}],is:e,it:[1,{edu:e,gov:e,abr:e,abruzzo:e,"aosta-valley":e,aostavalley:e,bas:e,basilicata:e,cal:e,calabria:e,cam:e,campania:e,"emilia-romagna":e,emiliaromagna:e,emr:e,"friuli-v-giulia":e,"friuli-ve-giulia":e,"friuli-vegiulia":e,"friuli-venezia-giulia":e,"friuli-veneziagiulia":e,"friuli-vgiulia":e,"friuliv-giulia":e,"friulive-giulia":e,friulivegiulia:e,"friulivenezia-giulia":e,friuliveneziagiulia:e,friulivgiulia:e,fvg:e,laz:e,lazio:e,lig:e,liguria:e,lom:e,lombardia:e,lombardy:e,lucania:e,mar:e,marche:e,mol:e,molise:e,piedmont:e,piemonte:e,pmn:e,pug:e,puglia:e,sar:e,sardegna:e,sardinia:e,sic:e,sicilia:e,sicily:e,taa:e,tos:e,toscana:e,"trentin-sud-tirol":e,"xn--trentin-sd-tirol-rzb":e,"trentin-s\xFCd-tirol":e,"trentin-sudtirol":e,"xn--trentin-sdtirol-7vb":e,"trentin-s\xFCdtirol":e,"trentin-sued-tirol":e,"trentin-suedtirol":e,trentino:e,"trentino-a-adige":e,"trentino-aadige":e,"trentino-alto-adige":e,"trentino-altoadige":e,"trentino-s-tirol":e,"trentino-stirol":e,"trentino-sud-tirol":e,"xn--trentino-sd-tirol-c3b":e,"trentino-s\xFCd-tirol":e,"trentino-sudtirol":e,"xn--trentino-sdtirol-szb":e,"trentino-s\xFCdtirol":e,"trentino-sued-tirol":e,"trentino-suedtirol":e,"trentinoa-adige":e,trentinoaadige:e,"trentinoalto-adige":e,trentinoaltoadige:e,"trentinos-tirol":e,trentinostirol:e,"trentinosud-tirol":e,"xn--trentinosd-tirol-rzb":e,"trentinos\xFCd-tirol":e,trentinosudtirol:e,"xn--trentinosdtirol-7vb":e,trentinos\u00FCdtirol:e,"trentinosued-tirol":e,trentinosuedtirol:e,"trentinsud-tirol":e,"xn--trentinsd-tirol-6vb":e,"trentins\xFCd-tirol":e,trentinsudtirol:e,"xn--trentinsdtirol-nsb":e,trentins\u00FCdtirol:e,"trentinsued-tirol":e,trentinsuedtirol:e,tuscany:e,umb:e,umbria:e,"val-d-aosta":e,"val-daosta":e,"vald-aosta":e,valdaosta:e,"valle-aosta":e,"valle-d-aosta":e,"valle-daosta":e,valleaosta:e,"valled-aosta":e,valledaosta:e,"vallee-aoste":e,"xn--valle-aoste-ebb":e,"vall\xE9e-aoste":e,"vallee-d-aoste":e,"xn--valle-d-aoste-ehb":e,"vall\xE9e-d-aoste":e,valleeaoste:e,"xn--valleaoste-e7a":e,vall\u00E9eaoste:e,valleedaoste:e,"xn--valledaoste-ebb":e,vall\u00E9edaoste:e,vao:e,vda:e,ven:e,veneto:e,ag:e,agrigento:e,al:e,alessandria:e,"alto-adige":e,altoadige:e,an:e,ancona:e,"andria-barletta-trani":e,"andria-trani-barletta":e,andriabarlettatrani:e,andriatranibarletta:e,ao:e,aosta:e,aoste:e,ap:e,aq:e,aquila:e,ar:e,arezzo:e,"ascoli-piceno":e,ascolipiceno:e,asti:e,at:e,av:e,avellino:e,ba:e,balsan:e,"balsan-sudtirol":e,"xn--balsan-sdtirol-nsb":e,"balsan-s\xFCdtirol":e,"balsan-suedtirol":e,bari:e,"barletta-trani-andria":e,barlettatraniandria:e,belluno:e,benevento:e,bergamo:e,bg:e,bi:e,biella:e,bl:e,bn:e,bo:e,bologna:e,bolzano:e,"bolzano-altoadige":e,bozen:e,"bozen-sudtirol":e,"xn--bozen-sdtirol-2ob":e,"bozen-s\xFCdtirol":e,"bozen-suedtirol":e,br:e,brescia:e,brindisi:e,bs:e,bt:e,bulsan:e,"bulsan-sudtirol":e,"xn--bulsan-sdtirol-nsb":e,"bulsan-s\xFCdtirol":e,"bulsan-suedtirol":e,bz:e,ca:e,cagliari:e,caltanissetta:e,"campidano-medio":e,campidanomedio:e,campobasso:e,"carbonia-iglesias":e,carboniaiglesias:e,"carrara-massa":e,carraramassa:e,caserta:e,catania:e,catanzaro:e,cb:e,ce:e,"cesena-forli":e,"xn--cesena-forl-mcb":e,"cesena-forl\xEC":e,cesenaforli:e,"xn--cesenaforl-i8a":e,cesenaforl\u00EC:e,ch:e,chieti:e,ci:e,cl:e,cn:e,co:e,como:e,cosenza:e,cr:e,cremona:e,crotone:e,cs:e,ct:e,cuneo:e,cz:e,"dell-ogliastra":e,dellogliastra:e,en:e,enna:e,fc:e,fe:e,fermo:e,ferrara:e,fg:e,fi:e,firenze:e,florence:e,fm:e,foggia:e,"forli-cesena":e,"xn--forl-cesena-fcb":e,"forl\xEC-cesena":e,forlicesena:e,"xn--forlcesena-c8a":e,forl\u00ECcesena:e,fr:e,frosinone:e,ge:e,genoa:e,genova:e,go:e,gorizia:e,gr:e,grosseto:e,"iglesias-carbonia":e,iglesiascarbonia:e,im:e,imperia:e,is:e,isernia:e,kr:e,"la-spezia":e,laquila:e,laspezia:e,latina:e,lc:e,le:e,lecce:e,lecco:e,li:e,livorno:e,lo:e,lodi:e,lt:e,lu:e,lucca:e,macerata:e,mantova:e,"massa-carrara":e,massacarrara:e,matera:e,mb:e,mc:e,me:e,"medio-campidano":e,mediocampidano:e,messina:e,mi:e,milan:e,milano:e,mn:e,mo:e,modena:e,monza:e,"monza-brianza":e,"monza-e-della-brianza":e,monzabrianza:e,monzaebrianza:e,monzaedellabrianza:e,ms:e,mt:e,na:e,naples:e,napoli:e,no:e,novara:e,nu:e,nuoro:e,og:e,ogliastra:e,"olbia-tempio":e,olbiatempio:e,or:e,oristano:e,ot:e,pa:e,padova:e,padua:e,palermo:e,parma:e,pavia:e,pc:e,pd:e,pe:e,perugia:e,"pesaro-urbino":e,pesarourbino:e,pescara:e,pg:e,pi:e,piacenza:e,pisa:e,pistoia:e,pn:e,po:e,pordenone:e,potenza:e,pr:e,prato:e,pt:e,pu:e,pv:e,pz:e,ra:e,ragusa:e,ravenna:e,rc:e,re:e,"reggio-calabria":e,"reggio-emilia":e,reggiocalabria:e,reggioemilia:e,rg:e,ri:e,rieti:e,rimini:e,rm:e,rn:e,ro:e,roma:e,rome:e,rovigo:e,sa:e,salerno:e,sassari:e,savona:e,si:e,siena:e,siracusa:e,so:e,sondrio:e,sp:e,sr:e,ss:e,"xn--sdtirol-n2a":e,s\u00FCdtirol:e,suedtirol:e,sv:e,ta:e,taranto:e,te:e,"tempio-olbia":e,tempioolbia:e,teramo:e,terni:e,tn:e,to:e,torino:e,tp:e,tr:e,"trani-andria-barletta":e,"trani-barletta-andria":e,traniandriabarletta:e,tranibarlettaandria:e,trapani:e,trento:e,treviso:e,trieste:e,ts:e,turin:e,tv:e,ud:e,udine:e,"urbino-pesaro":e,urbinopesaro:e,va:e,varese:e,vb:e,vc:e,ve:e,venezia:e,venice:e,verbania:e,vercelli:e,verona:e,vi:e,"vibo-valentia":e,vibovalentia:e,vicenza:e,viterbo:e,vr:e,vs:e,vt:e,vv:e,ibxos:t,iliadboxos:t,neen:[0,{jc:t}],"123homepage":t,"16-b":t,"32-b":t,"64-b":t,myspreadshop:t,syncloud:t}],je:[1,{co:e,net:e,org:e,of:t}],jm:x,jo:[1,{agri:e,ai:e,com:e,edu:e,eng:e,fm:e,gov:e,mil:e,net:e,org:e,per:e,phd:e,sch:e,tv:e}],jobs:e,jp:[1,{ac:e,ad:e,co:e,ed:e,go:e,gr:e,lg:e,ne:[1,{aseinet:We,gehirn:t,ivory:t,"mail-box":t,mints:t,mokuren:t,opal:t,sakura:t,sumomo:t,topaz:t}],or:e,aichi:[1,{aisai:e,ama:e,anjo:e,asuke:e,chiryu:e,chita:e,fuso:e,gamagori:e,handa:e,hazu:e,hekinan:e,higashiura:e,ichinomiya:e,inazawa:e,inuyama:e,isshiki:e,iwakura:e,kanie:e,kariya:e,kasugai:e,kira:e,kiyosu:e,komaki:e,konan:e,kota:e,mihama:e,miyoshi:e,nishio:e,nisshin:e,obu:e,oguchi:e,oharu:e,okazaki:e,owariasahi:e,seto:e,shikatsu:e,shinshiro:e,shitara:e,tahara:e,takahama:e,tobishima:e,toei:e,togo:e,tokai:e,tokoname:e,toyoake:e,toyohashi:e,toyokawa:e,toyone:e,toyota:e,tsushima:e,yatomi:e}],akita:[1,{akita:e,daisen:e,fujisato:e,gojome:e,hachirogata:e,happou:e,higashinaruse:e,honjo:e,honjyo:e,ikawa:e,kamikoani:e,kamioka:e,katagami:e,kazuno:e,kitaakita:e,kosaka:e,kyowa:e,misato:e,mitane:e,moriyoshi:e,nikaho:e,noshiro:e,odate:e,oga:e,ogata:e,semboku:e,yokote:e,yurihonjo:e}],aomori:[1,{aomori:e,gonohe:e,hachinohe:e,hashikami:e,hiranai:e,hirosaki:e,itayanagi:e,kuroishi:e,misawa:e,mutsu:e,nakadomari:e,noheji:e,oirase:e,owani:e,rokunohe:e,sannohe:e,shichinohe:e,shingo:e,takko:e,towada:e,tsugaru:e,tsuruta:e}],chiba:[1,{abiko:e,asahi:e,chonan:e,chosei:e,choshi:e,chuo:e,funabashi:e,futtsu:e,hanamigawa:e,ichihara:e,ichikawa:e,ichinomiya:e,inzai:e,isumi:e,kamagaya:e,kamogawa:e,kashiwa:e,katori:e,katsuura:e,kimitsu:e,kisarazu:e,kozaki:e,kujukuri:e,kyonan:e,matsudo:e,midori:e,mihama:e,minamiboso:e,mobara:e,mutsuzawa:e,nagara:e,nagareyama:e,narashino:e,narita:e,noda:e,oamishirasato:e,omigawa:e,onjuku:e,otaki:e,sakae:e,sakura:e,shimofusa:e,shirako:e,shiroi:e,shisui:e,sodegaura:e,sosa:e,tako:e,tateyama:e,togane:e,tohnosho:e,tomisato:e,urayasu:e,yachimata:e,yachiyo:e,yokaichiba:e,yokoshibahikari:e,yotsukaido:e}],ehime:[1,{ainan:e,honai:e,ikata:e,imabari:e,iyo:e,kamijima:e,kihoku:e,kumakogen:e,masaki:e,matsuno:e,matsuyama:e,namikata:e,niihama:e,ozu:e,saijo:e,seiyo:e,shikokuchuo:e,tobe:e,toon:e,uchiko:e,uwajima:e,yawatahama:e}],fukui:[1,{echizen:e,eiheiji:e,fukui:e,ikeda:e,katsuyama:e,mihama:e,minamiechizen:e,obama:e,ohi:e,ono:e,sabae:e,sakai:e,takahama:e,tsuruga:e,wakasa:e}],fukuoka:[1,{ashiya:e,buzen:e,chikugo:e,chikuho:e,chikujo:e,chikushino:e,chikuzen:e,chuo:e,dazaifu:e,fukuchi:e,hakata:e,higashi:e,hirokawa:e,hisayama:e,iizuka:e,inatsuki:e,kaho:e,kasuga:e,kasuya:e,kawara:e,keisen:e,koga:e,kurate:e,kurogi:e,kurume:e,minami:e,miyako:e,miyama:e,miyawaka:e,mizumaki:e,munakata:e,nakagawa:e,nakama:e,nishi:e,nogata:e,ogori:e,okagaki:e,okawa:e,oki:e,omuta:e,onga:e,onojo:e,oto:e,saigawa:e,sasaguri:e,shingu:e,shinyoshitomi:e,shonai:e,soeda:e,sue:e,tachiarai:e,tagawa:e,takata:e,toho:e,toyotsu:e,tsuiki:e,ukiha:e,umi:e,usui:e,yamada:e,yame:e,yanagawa:e,yukuhashi:e}],fukushima:[1,{aizubange:e,aizumisato:e,aizuwakamatsu:e,asakawa:e,bandai:e,date:e,fukushima:e,furudono:e,futaba:e,hanawa:e,higashi:e,hirata:e,hirono:e,iitate:e,inawashiro:e,ishikawa:e,iwaki:e,izumizaki:e,kagamiishi:e,kaneyama:e,kawamata:e,kitakata:e,kitashiobara:e,koori:e,koriyama:e,kunimi:e,miharu:e,mishima:e,namie:e,nango:e,nishiaizu:e,nishigo:e,okuma:e,omotego:e,ono:e,otama:e,samegawa:e,shimogo:e,shirakawa:e,showa:e,soma:e,sukagawa:e,taishin:e,tamakawa:e,tanagura:e,tenei:e,yabuki:e,yamato:e,yamatsuri:e,yanaizu:e,yugawa:e}],gifu:[1,{anpachi:e,ena:e,gifu:e,ginan:e,godo:e,gujo:e,hashima:e,hichiso:e,hida:e,higashishirakawa:e,ibigawa:e,ikeda:e,kakamigahara:e,kani:e,kasahara:e,kasamatsu:e,kawaue:e,kitagata:e,mino:e,minokamo:e,mitake:e,mizunami:e,motosu:e,nakatsugawa:e,ogaki:e,sakahogi:e,seki:e,sekigahara:e,shirakawa:e,tajimi:e,takayama:e,tarui:e,toki:e,tomika:e,wanouchi:e,yamagata:e,yaotsu:e,yoro:e}],gunma:[1,{annaka:e,chiyoda:e,fujioka:e,higashiagatsuma:e,isesaki:e,itakura:e,kanna:e,kanra:e,katashina:e,kawaba:e,kiryu:e,kusatsu:e,maebashi:e,meiwa:e,midori:e,minakami:e,naganohara:e,nakanojo:e,nanmoku:e,numata:e,oizumi:e,ora:e,ota:e,shibukawa:e,shimonita:e,shinto:e,showa:e,takasaki:e,takayama:e,tamamura:e,tatebayashi:e,tomioka:e,tsukiyono:e,tsumagoi:e,ueno:e,yoshioka:e}],hiroshima:[1,{asaminami:e,daiwa:e,etajima:e,fuchu:e,fukuyama:e,hatsukaichi:e,higashihiroshima:e,hongo:e,jinsekikogen:e,kaita:e,kui:e,kumano:e,kure:e,mihara:e,miyoshi:e,naka:e,onomichi:e,osakikamijima:e,otake:e,saka:e,sera:e,seranishi:e,shinichi:e,shobara:e,takehara:e}],hokkaido:[1,{abashiri:e,abira:e,aibetsu:e,akabira:e,akkeshi:e,asahikawa:e,ashibetsu:e,ashoro:e,assabu:e,atsuma:e,bibai:e,biei:e,bifuka:e,bihoro:e,biratori:e,chippubetsu:e,chitose:e,date:e,ebetsu:e,embetsu:e,eniwa:e,erimo:e,esan:e,esashi:e,fukagawa:e,fukushima:e,furano:e,furubira:e,haboro:e,hakodate:e,hamatonbetsu:e,hidaka:e,higashikagura:e,higashikawa:e,hiroo:e,hokuryu:e,hokuto:e,honbetsu:e,horokanai:e,horonobe:e,ikeda:e,imakane:e,ishikari:e,iwamizawa:e,iwanai:e,kamifurano:e,kamikawa:e,kamishihoro:e,kamisunagawa:e,kamoenai:e,kayabe:e,kembuchi:e,kikonai:e,kimobetsu:e,kitahiroshima:e,kitami:e,kiyosato:e,koshimizu:e,kunneppu:e,kuriyama:e,kuromatsunai:e,kushiro:e,kutchan:e,kyowa:e,mashike:e,matsumae:e,mikasa:e,minamifurano:e,mombetsu:e,moseushi:e,mukawa:e,muroran:e,naie:e,nakagawa:e,nakasatsunai:e,nakatombetsu:e,nanae:e,nanporo:e,nayoro:e,nemuro:e,niikappu:e,niki:e,nishiokoppe:e,noboribetsu:e,numata:e,obihiro:e,obira:e,oketo:e,okoppe:e,otaru:e,otobe:e,otofuke:e,otoineppu:e,oumu:e,ozora:e,pippu:e,rankoshi:e,rebun:e,rikubetsu:e,rishiri:e,rishirifuji:e,saroma:e,sarufutsu:e,shakotan:e,shari:e,shibecha:e,shibetsu:e,shikabe:e,shikaoi:e,shimamaki:e,shimizu:e,shimokawa:e,shinshinotsu:e,shintoku:e,shiranuka:e,shiraoi:e,shiriuchi:e,sobetsu:e,sunagawa:e,taiki:e,takasu:e,takikawa:e,takinoue:e,teshikaga:e,tobetsu:e,tohma:e,tomakomai:e,tomari:e,toya:e,toyako:e,toyotomi:e,toyoura:e,tsubetsu:e,tsukigata:e,urakawa:e,urausu:e,uryu:e,utashinai:e,wakkanai:e,wassamu:e,yakumo:e,yoichi:e}],hyogo:[1,{aioi:e,akashi:e,ako:e,amagasaki:e,aogaki:e,asago:e,ashiya:e,awaji:e,fukusaki:e,goshiki:e,harima:e,himeji:e,ichikawa:e,inagawa:e,itami:e,kakogawa:e,kamigori:e,kamikawa:e,kasai:e,kasuga:e,kawanishi:e,miki:e,minamiawaji:e,nishinomiya:e,nishiwaki:e,ono:e,sanda:e,sannan:e,sasayama:e,sayo:e,shingu:e,shinonsen:e,shiso:e,sumoto:e,taishi:e,taka:e,takarazuka:e,takasago:e,takino:e,tamba:e,tatsuno:e,toyooka:e,yabu:e,yashiro:e,yoka:e,yokawa:e}],ibaraki:[1,{ami:e,asahi:e,bando:e,chikusei:e,daigo:e,fujishiro:e,hitachi:e,hitachinaka:e,hitachiomiya:e,hitachiota:e,ibaraki:e,ina:e,inashiki:e,itako:e,iwama:e,joso:e,kamisu:e,kasama:e,kashima:e,kasumigaura:e,koga:e,miho:e,mito:e,moriya:e,naka:e,namegata:e,oarai:e,ogawa:e,omitama:e,ryugasaki:e,sakai:e,sakuragawa:e,shimodate:e,shimotsuma:e,shirosato:e,sowa:e,suifu:e,takahagi:e,tamatsukuri:e,tokai:e,tomobe:e,tone:e,toride:e,tsuchiura:e,tsukuba:e,uchihara:e,ushiku:e,yachiyo:e,yamagata:e,yawara:e,yuki:e}],ishikawa:[1,{anamizu:e,hakui:e,hakusan:e,kaga:e,kahoku:e,kanazawa:e,kawakita:e,komatsu:e,nakanoto:e,nanao:e,nomi:e,nonoichi:e,noto:e,shika:e,suzu:e,tsubata:e,tsurugi:e,uchinada:e,wajima:e}],iwate:[1,{fudai:e,fujisawa:e,hanamaki:e,hiraizumi:e,hirono:e,ichinohe:e,ichinoseki:e,iwaizumi:e,iwate:e,joboji:e,kamaishi:e,kanegasaki:e,karumai:e,kawai:e,kitakami:e,kuji:e,kunohe:e,kuzumaki:e,miyako:e,mizusawa:e,morioka:e,ninohe:e,noda:e,ofunato:e,oshu:e,otsuchi:e,rikuzentakata:e,shiwa:e,shizukuishi:e,sumita:e,tanohata:e,tono:e,yahaba:e,yamada:e}],kagawa:[1,{ayagawa:e,higashikagawa:e,kanonji:e,kotohira:e,manno:e,marugame:e,mitoyo:e,naoshima:e,sanuki:e,tadotsu:e,takamatsu:e,tonosho:e,uchinomi:e,utazu:e,zentsuji:e}],kagoshima:[1,{akune:e,amami:e,hioki:e,isa:e,isen:e,izumi:e,kagoshima:e,kanoya:e,kawanabe:e,kinko:e,kouyama:e,makurazaki:e,matsumoto:e,minamitane:e,nakatane:e,nishinoomote:e,satsumasendai:e,soo:e,tarumizu:e,yusui:e}],kanagawa:[1,{aikawa:e,atsugi:e,ayase:e,chigasaki:e,ebina:e,fujisawa:e,hadano:e,hakone:e,hiratsuka:e,isehara:e,kaisei:e,kamakura:e,kiyokawa:e,matsuda:e,minamiashigara:e,miura:e,nakai:e,ninomiya:e,odawara:e,oi:e,oiso:e,sagamihara:e,samukawa:e,tsukui:e,yamakita:e,yamato:e,yokosuka:e,yugawara:e,zama:e,zushi:e}],kochi:[1,{aki:e,geisei:e,hidaka:e,higashitsuno:e,ino:e,kagami:e,kami:e,kitagawa:e,kochi:e,mihara:e,motoyama:e,muroto:e,nahari:e,nakamura:e,nankoku:e,nishitosa:e,niyodogawa:e,ochi:e,okawa:e,otoyo:e,otsuki:e,sakawa:e,sukumo:e,susaki:e,tosa:e,tosashimizu:e,toyo:e,tsuno:e,umaji:e,yasuda:e,yusuhara:e}],kumamoto:[1,{amakusa:e,arao:e,aso:e,choyo:e,gyokuto:e,kamiamakusa:e,kikuchi:e,kumamoto:e,mashiki:e,mifune:e,minamata:e,minamioguni:e,nagasu:e,nishihara:e,oguni:e,ozu:e,sumoto:e,takamori:e,uki:e,uto:e,yamaga:e,yamato:e,yatsushiro:e}],kyoto:[1,{ayabe:e,fukuchiyama:e,higashiyama:e,ide:e,ine:e,joyo:e,kameoka:e,kamo:e,kita:e,kizu:e,kumiyama:e,kyotamba:e,kyotanabe:e,kyotango:e,maizuru:e,minami:e,minamiyamashiro:e,miyazu:e,muko:e,nagaokakyo:e,nakagyo:e,nantan:e,oyamazaki:e,sakyo:e,seika:e,tanabe:e,uji:e,ujitawara:e,wazuka:e,yamashina:e,yawata:e}],mie:[1,{asahi:e,inabe:e,ise:e,kameyama:e,kawagoe:e,kiho:e,kisosaki:e,kiwa:e,komono:e,kumano:e,kuwana:e,matsusaka:e,meiwa:e,mihama:e,minamiise:e,misugi:e,miyama:e,nabari:e,shima:e,suzuka:e,tado:e,taiki:e,taki:e,tamaki:e,toba:e,tsu:e,udono:e,ureshino:e,watarai:e,yokkaichi:e}],miyagi:[1,{furukawa:e,higashimatsushima:e,ishinomaki:e,iwanuma:e,kakuda:e,kami:e,kawasaki:e,marumori:e,matsushima:e,minamisanriku:e,misato:e,murata:e,natori:e,ogawara:e,ohira:e,onagawa:e,osaki:e,rifu:e,semine:e,shibata:e,shichikashuku:e,shikama:e,shiogama:e,shiroishi:e,tagajo:e,taiwa:e,tome:e,tomiya:e,wakuya:e,watari:e,yamamoto:e,zao:e}],miyazaki:[1,{aya:e,ebino:e,gokase:e,hyuga:e,kadogawa:e,kawaminami:e,kijo:e,kitagawa:e,kitakata:e,kitaura:e,kobayashi:e,kunitomi:e,kushima:e,mimata:e,miyakonojo:e,miyazaki:e,morotsuka:e,nichinan:e,nishimera:e,nobeoka:e,saito:e,shiiba:e,shintomi:e,takaharu:e,takanabe:e,takazaki:e,tsuno:e}],nagano:[1,{achi:e,agematsu:e,anan:e,aoki:e,asahi:e,azumino:e,chikuhoku:e,chikuma:e,chino:e,fujimi:e,hakuba:e,hara:e,hiraya:e,iida:e,iijima:e,iiyama:e,iizuna:e,ikeda:e,ikusaka:e,ina:e,karuizawa:e,kawakami:e,kiso:e,kisofukushima:e,kitaaiki:e,komagane:e,komoro:e,matsukawa:e,matsumoto:e,miasa:e,minamiaiki:e,minamimaki:e,minamiminowa:e,minowa:e,miyada:e,miyota:e,mochizuki:e,nagano:e,nagawa:e,nagiso:e,nakagawa:e,nakano:e,nozawaonsen:e,obuse:e,ogawa:e,okaya:e,omachi:e,omi:e,ookuwa:e,ooshika:e,otaki:e,otari:e,sakae:e,sakaki:e,saku:e,sakuho:e,shimosuwa:e,shinanomachi:e,shiojiri:e,suwa:e,suzaka:e,takagi:e,takamori:e,takayama:e,tateshina:e,tatsuno:e,togakushi:e,togura:e,tomi:e,ueda:e,wada:e,yamagata:e,yamanouchi:e,yasaka:e,yasuoka:e}],nagasaki:[1,{chijiwa:e,futsu:e,goto:e,hasami:e,hirado:e,iki:e,isahaya:e,kawatana:e,kuchinotsu:e,matsuura:e,nagasaki:e,obama:e,omura:e,oseto:e,saikai:e,sasebo:e,seihi:e,shimabara:e,shinkamigoto:e,togitsu:e,tsushima:e,unzen:e}],nara:[1,{ando:e,gose:e,heguri:e,higashiyoshino:e,ikaruga:e,ikoma:e,kamikitayama:e,kanmaki:e,kashiba:e,kashihara:e,katsuragi:e,kawai:e,kawakami:e,kawanishi:e,koryo:e,kurotaki:e,mitsue:e,miyake:e,nara:e,nosegawa:e,oji:e,ouda:e,oyodo:e,sakurai:e,sango:e,shimoichi:e,shimokitayama:e,shinjo:e,soni:e,takatori:e,tawaramoto:e,tenkawa:e,tenri:e,uda:e,yamatokoriyama:e,yamatotakada:e,yamazoe:e,yoshino:e}],niigata:[1,{aga:e,agano:e,gosen:e,itoigawa:e,izumozaki:e,joetsu:e,kamo:e,kariwa:e,kashiwazaki:e,minamiuonuma:e,mitsuke:e,muika:e,murakami:e,myoko:e,nagaoka:e,niigata:e,ojiya:e,omi:e,sado:e,sanjo:e,seiro:e,seirou:e,sekikawa:e,shibata:e,tagami:e,tainai:e,tochio:e,tokamachi:e,tsubame:e,tsunan:e,uonuma:e,yahiko:e,yoita:e,yuzawa:e}],oita:[1,{beppu:e,bungoono:e,bungotakada:e,hasama:e,hiji:e,himeshima:e,hita:e,kamitsue:e,kokonoe:e,kuju:e,kunisaki:e,kusu:e,oita:e,saiki:e,taketa:e,tsukumi:e,usa:e,usuki:e,yufu:e}],okayama:[1,{akaiwa:e,asakuchi:e,bizen:e,hayashima:e,ibara:e,kagamino:e,kasaoka:e,kibichuo:e,kumenan:e,kurashiki:e,maniwa:e,misaki:e,nagi:e,niimi:e,nishiawakura:e,okayama:e,satosho:e,setouchi:e,shinjo:e,shoo:e,soja:e,takahashi:e,tamano:e,tsuyama:e,wake:e,yakage:e}],okinawa:[1,{aguni:e,ginowan:e,ginoza:e,gushikami:e,haebaru:e,higashi:e,hirara:e,iheya:e,ishigaki:e,ishikawa:e,itoman:e,izena:e,kadena:e,kin:e,kitadaito:e,kitanakagusuku:e,kumejima:e,kunigami:e,minamidaito:e,motobu:e,nago:e,naha:e,nakagusuku:e,nakijin:e,nanjo:e,nishihara:e,ogimi:e,okinawa:e,onna:e,shimoji:e,taketomi:e,tarama:e,tokashiki:e,tomigusuku:e,tonaki:e,urasoe:e,uruma:e,yaese:e,yomitan:e,yonabaru:e,yonaguni:e,zamami:e}],osaka:[1,{abeno:e,chihayaakasaka:e,chuo:e,daito:e,fujiidera:e,habikino:e,hannan:e,higashiosaka:e,higashisumiyoshi:e,higashiyodogawa:e,hirakata:e,ibaraki:e,ikeda:e,izumi:e,izumiotsu:e,izumisano:e,kadoma:e,kaizuka:e,kanan:e,kashiwara:e,katano:e,kawachinagano:e,kishiwada:e,kita:e,kumatori:e,matsubara:e,minato:e,minoh:e,misaki:e,moriguchi:e,neyagawa:e,nishi:e,nose:e,osakasayama:e,sakai:e,sayama:e,sennan:e,settsu:e,shijonawate:e,shimamoto:e,suita:e,tadaoka:e,taishi:e,tajiri:e,takaishi:e,takatsuki:e,tondabayashi:e,toyonaka:e,toyono:e,yao:e}],saga:[1,{ariake:e,arita:e,fukudomi:e,genkai:e,hamatama:e,hizen:e,imari:e,kamimine:e,kanzaki:e,karatsu:e,kashima:e,kitagata:e,kitahata:e,kiyama:e,kouhoku:e,kyuragi:e,nishiarita:e,ogi:e,omachi:e,ouchi:e,saga:e,shiroishi:e,taku:e,tara:e,tosu:e,yoshinogari:e}],saitama:[1,{arakawa:e,asaka:e,chichibu:e,fujimi:e,fujimino:e,fukaya:e,hanno:e,hanyu:e,hasuda:e,hatogaya:e,hatoyama:e,hidaka:e,higashichichibu:e,higashimatsuyama:e,honjo:e,ina:e,iruma:e,iwatsuki:e,kamiizumi:e,kamikawa:e,kamisato:e,kasukabe:e,kawagoe:e,kawaguchi:e,kawajima:e,kazo:e,kitamoto:e,koshigaya:e,kounosu:e,kuki:e,kumagaya:e,matsubushi:e,minano:e,misato:e,miyashiro:e,miyoshi:e,moroyama:e,nagatoro:e,namegawa:e,niiza:e,ogano:e,ogawa:e,ogose:e,okegawa:e,omiya:e,otaki:e,ranzan:e,ryokami:e,saitama:e,sakado:e,satte:e,sayama:e,shiki:e,shiraoka:e,soka:e,sugito:e,toda:e,tokigawa:e,tokorozawa:e,tsurugashima:e,urawa:e,warabi:e,yashio:e,yokoze:e,yono:e,yorii:e,yoshida:e,yoshikawa:e,yoshimi:e}],shiga:[1,{aisho:e,gamo:e,higashiomi:e,hikone:e,koka:e,konan:e,kosei:e,koto:e,kusatsu:e,maibara:e,moriyama:e,nagahama:e,nishiazai:e,notogawa:e,omihachiman:e,otsu:e,ritto:e,ryuoh:e,takashima:e,takatsuki:e,torahime:e,toyosato:e,yasu:e}],shimane:[1,{akagi:e,ama:e,gotsu:e,hamada:e,higashiizumo:e,hikawa:e,hikimi:e,izumo:e,kakinoki:e,masuda:e,matsue:e,misato:e,nishinoshima:e,ohda:e,okinoshima:e,okuizumo:e,shimane:e,tamayu:e,tsuwano:e,unnan:e,yakumo:e,yasugi:e,yatsuka:e}],shizuoka:[1,{arai:e,atami:e,fuji:e,fujieda:e,fujikawa:e,fujinomiya:e,fukuroi:e,gotemba:e,haibara:e,hamamatsu:e,higashiizu:e,ito:e,iwata:e,izu:e,izunokuni:e,kakegawa:e,kannami:e,kawanehon:e,kawazu:e,kikugawa:e,kosai:e,makinohara:e,matsuzaki:e,minamiizu:e,mishima:e,morimachi:e,nishiizu:e,numazu:e,omaezaki:e,shimada:e,shimizu:e,shimoda:e,shizuoka:e,susono:e,yaizu:e,yoshida:e}],tochigi:[1,{ashikaga:e,bato:e,haga:e,ichikai:e,iwafune:e,kaminokawa:e,kanuma:e,karasuyama:e,kuroiso:e,mashiko:e,mibu:e,moka:e,motegi:e,nasu:e,nasushiobara:e,nikko:e,nishikata:e,nogi:e,ohira:e,ohtawara:e,oyama:e,sakura:e,sano:e,shimotsuke:e,shioya:e,takanezawa:e,tochigi:e,tsuga:e,ujiie:e,utsunomiya:e,yaita:e}],tokushima:[1,{aizumi:e,anan:e,ichiba:e,itano:e,kainan:e,komatsushima:e,matsushige:e,mima:e,minami:e,miyoshi:e,mugi:e,nakagawa:e,naruto:e,sanagochi:e,shishikui:e,tokushima:e,wajiki:e}],tokyo:[1,{adachi:e,akiruno:e,akishima:e,aogashima:e,arakawa:e,bunkyo:e,chiyoda:e,chofu:e,chuo:e,edogawa:e,fuchu:e,fussa:e,hachijo:e,hachioji:e,hamura:e,higashikurume:e,higashimurayama:e,higashiyamato:e,hino:e,hinode:e,hinohara:e,inagi:e,itabashi:e,katsushika:e,kita:e,kiyose:e,kodaira:e,koganei:e,kokubunji:e,komae:e,koto:e,kouzushima:e,kunitachi:e,machida:e,meguro:e,minato:e,mitaka:e,mizuho:e,musashimurayama:e,musashino:e,nakano:e,nerima:e,ogasawara:e,okutama:e,ome:e,oshima:e,ota:e,setagaya:e,shibuya:e,shinagawa:e,shinjuku:e,suginami:e,sumida:e,tachikawa:e,taito:e,tama:e,toshima:e}],tottori:[1,{chizu:e,hino:e,kawahara:e,koge:e,kotoura:e,misasa:e,nanbu:e,nichinan:e,sakaiminato:e,tottori:e,wakasa:e,yazu:e,yonago:e}],toyama:[1,{asahi:e,fuchu:e,fukumitsu:e,funahashi:e,himi:e,imizu:e,inami:e,johana:e,kamiichi:e,kurobe:e,nakaniikawa:e,namerikawa:e,nanto:e,nyuzen:e,oyabe:e,taira:e,takaoka:e,tateyama:e,toga:e,tonami:e,toyama:e,unazuki:e,uozu:e,yamada:e}],wakayama:[1,{arida:e,aridagawa:e,gobo:e,hashimoto:e,hidaka:e,hirogawa:e,inami:e,iwade:e,kainan:e,kamitonda:e,katsuragi:e,kimino:e,kinokawa:e,kitayama:e,koya:e,koza:e,kozagawa:e,kudoyama:e,kushimoto:e,mihama:e,misato:e,nachikatsuura:e,shingu:e,shirahama:e,taiji:e,tanabe:e,wakayama:e,yuasa:e,yura:e}],yamagata:[1,{asahi:e,funagata:e,higashine:e,iide:e,kahoku:e,kaminoyama:e,kaneyama:e,kawanishi:e,mamurogawa:e,mikawa:e,murayama:e,nagai:e,nakayama:e,nanyo:e,nishikawa:e,obanazawa:e,oe:e,oguni:e,ohkura:e,oishida:e,sagae:e,sakata:e,sakegawa:e,shinjo:e,shirataka:e,shonai:e,takahata:e,tendo:e,tozawa:e,tsuruoka:e,yamagata:e,yamanobe:e,yonezawa:e,yuza:e}],yamaguchi:[1,{abu:e,hagi:e,hikari:e,hofu:e,iwakuni:e,kudamatsu:e,mitou:e,nagato:e,oshima:e,shimonoseki:e,shunan:e,tabuse:e,tokuyama:e,toyota:e,ube:e,yuu:e}],yamanashi:[1,{chuo:e,doshi:e,fuefuki:e,fujikawa:e,fujikawaguchiko:e,fujiyoshida:e,hayakawa:e,hokuto:e,ichikawamisato:e,kai:e,kofu:e,koshu:e,kosuge:e,"minami-alps":e,minobu:e,nakamichi:e,nanbu:e,narusawa:e,nirasaki:e,nishikatsura:e,oshino:e,otsuki:e,showa:e,tabayama:e,tsuru:e,uenohara:e,yamanakako:e,yamanashi:e}],"xn--ehqz56n":e,\u4E09\u91CD:e,"xn--1lqs03n":e,\u4EAC\u90FD:e,"xn--qqqt11m":e,\u4F50\u8CC0:e,"xn--f6qx53a":e,\u5175\u5EAB:e,"xn--djrs72d6uy":e,\u5317\u6D77\u9053:e,"xn--mkru45i":e,\u5343\u8449:e,"xn--0trq7p7nn":e,\u548C\u6B4C\u5C71:e,"xn--5js045d":e,\u57FC\u7389:e,"xn--kbrq7o":e,\u5927\u5206:e,"xn--pssu33l":e,\u5927\u962A:e,"xn--ntsq17g":e,\u5948\u826F:e,"xn--uisz3g":e,\u5BAE\u57CE:e,"xn--6btw5a":e,\u5BAE\u5D0E:e,"xn--1ctwo":e,\u5BCC\u5C71:e,"xn--6orx2r":e,\u5C71\u53E3:e,"xn--rht61e":e,\u5C71\u5F62:e,"xn--rht27z":e,\u5C71\u68A8:e,"xn--nit225k":e,\u5C90\u961C:e,"xn--rht3d":e,\u5CA1\u5C71:e,"xn--djty4k":e,\u5CA9\u624B:e,"xn--klty5x":e,\u5CF6\u6839:e,"xn--kltx9a":e,\u5E83\u5CF6:e,"xn--kltp7d":e,\u5FB3\u5CF6:e,"xn--c3s14m":e,\u611B\u5A9B:e,"xn--vgu402c":e,\u611B\u77E5:e,"xn--efvn9s":e,\u65B0\u6F5F:e,"xn--1lqs71d":e,\u6771\u4EAC:e,"xn--4pvxs":e,\u6803\u6728:e,"xn--uuwu58a":e,\u6C96\u7E04:e,"xn--zbx025d":e,\u6ECB\u8CC0:e,"xn--8pvr4u":e,\u718A\u672C:e,"xn--5rtp49c":e,\u77F3\u5DDD:e,"xn--ntso0iqx3a":e,\u795E\u5948\u5DDD:e,"xn--elqq16h":e,\u798F\u4E95:e,"xn--4it168d":e,\u798F\u5CA1:e,"xn--klt787d":e,\u798F\u5CF6:e,"xn--rny31h":e,\u79CB\u7530:e,"xn--7t0a264c":e,\u7FA4\u99AC:e,"xn--uist22h":e,\u8328\u57CE:e,"xn--8ltr62k":e,\u9577\u5D0E:e,"xn--2m4a15e":e,\u9577\u91CE:e,"xn--32vp30h":e,\u9752\u68EE:e,"xn--4it797k":e,\u9759\u5CA1:e,"xn--5rtq34k":e,\u9999\u5DDD:e,"xn--k7yn95e":e,\u9AD8\u77E5:e,"xn--tor131o":e,\u9CE5\u53D6:e,"xn--d5qv7z876c":e,\u9E7F\u5150\u5CF6:e,kawasaki:x,kitakyushu:x,kobe:x,nagoya:x,sapporo:x,sendai:x,yokohama:x,buyshop:t,fashionstore:t,handcrafted:t,kawaiishop:t,supersale:t,theshop:t,"0am":t,"0g0":t,"0j0":t,"0t0":t,mydns:t,pgw:t,wjg:t,usercontent:t,angry:t,babyblue:t,babymilk:t,backdrop:t,bambina:t,bitter:t,blush:t,boo:t,boy:t,boyfriend:t,but:t,candypop:t,capoo:t,catfood:t,cheap:t,chicappa:t,chillout:t,chips:t,chowder:t,chu:t,ciao:t,cocotte:t,coolblog:t,cranky:t,cutegirl:t,daa:t,deca:t,deci:t,digick:t,egoism:t,fakefur:t,fem:t,flier:t,floppy:t,fool:t,frenchkiss:t,girlfriend:t,girly:t,gloomy:t,gonna:t,greater:t,hacca:t,heavy:t,her:t,hiho:t,hippy:t,holy:t,hungry:t,icurus:t,itigo:t,jellybean:t,kikirara:t,kill:t,kilo:t,kuron:t,littlestar:t,lolipopmc:t,lolitapunk:t,lomo:t,lovepop:t,lovesick:t,main:t,mods:t,mond:t,mongolian:t,moo:t,namaste:t,nikita:t,nobushi:t,noor:t,oops:t,parallel:t,parasite:t,pecori:t,peewee:t,penne:t,pepper:t,perma:t,pigboat:t,pinoko:t,punyu:t,pupu:t,pussycat:t,pya:t,raindrop:t,readymade:t,sadist:t,schoolbus:t,secret:t,staba:t,stripper:t,sub:t,sunnyday:t,thick:t,tonkotsu:t,under:t,upper:t,velvet:t,verse:t,versus:t,vivian:t,watson:t,weblike:t,whitesnow:t,zombie:t,hateblo:t,hatenablog:t,hatenadiary:t,"2-d":t,bona:t,crap:t,daynight:t,eek:t,flop:t,halfmoon:t,jeez:t,matrix:t,mimoza:t,netgamers:t,nyanta:t,o0o0:t,rdy:t,rgr:t,rulez:t,sakurastorage:[0,{isk01:St,isk02:St}],saloon:t,sblo:t,skr:t,tank:t,"uh-oh":t,undo:t,webaccel:[0,{rs:t,user:t}],websozai:t,xii:t}],ke:[1,{ac:e,co:e,go:e,info:e,me:e,mobi:e,ne:e,or:e,sc:e}],kg:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,us:t,xx:t,ae:t}],kh:n,ki:nt,km:[1,{ass:e,com:e,edu:e,gov:e,mil:e,nom:e,org:e,prd:e,tm:e,asso:e,coop:e,gouv:e,medecin:e,notaires:e,pharmaciens:e,presse:e,veterinaire:e}],kn:[1,{edu:e,gov:e,net:e,org:e}],kp:[1,{com:e,edu:e,gov:e,org:e,rep:e,tra:e}],kr:[1,{ac:e,ai:e,co:e,es:e,go:e,hs:e,io:e,it:e,kg:e,me:e,mil:e,ms:e,ne:e,or:e,pe:e,re:e,sc:e,busan:e,chungbuk:e,chungnam:e,daegu:e,daejeon:e,gangwon:e,gwangju:e,gyeongbuk:e,gyeonggi:e,gyeongnam:e,incheon:e,jeju:e,jeonbuk:e,jeonnam:e,seoul:e,ulsan:e,c01:t,"eliv-api":t,"eliv-cdn":t,"eliv-dns":t,mmv:t,vki:t}],kw:[1,{com:e,edu:e,emb:e,gov:e,ind:e,net:e,org:e}],ky:ge,kz:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,jcloud:t}],la:[1,{com:e,edu:e,gov:e,info:e,int:e,net:e,org:e,per:e,bnr:t}],lb:n,lc:[1,{co:e,com:e,edu:e,gov:e,net:e,org:e,oy:t}],li:e,lk:[1,{ac:e,assn:e,com:e,edu:e,gov:e,grp:e,hotel:e,int:e,ltd:e,net:e,ngo:e,org:e,sch:e,soc:e,web:e}],lr:n,ls:[1,{ac:e,biz:e,co:e,edu:e,gov:e,info:e,net:e,org:e,sc:e}],lt:c,lu:[1,{"123website":t}],lv:[1,{asn:e,com:e,conf:e,edu:e,gov:e,id:e,mil:e,net:e,org:e}],ly:[1,{com:e,edu:e,gov:e,id:e,med:e,net:e,org:e,plc:e,sch:e}],ma:[1,{ac:e,co:e,gov:e,net:e,org:e,press:e}],mc:[1,{asso:e,tm:e}],md:[1,{ir:t}],me:[1,{ac:e,co:e,edu:e,gov:e,its:e,net:e,org:e,priv:e,c66:t,craft:t,edgestack:t,mybox:t,filegear:t,"filegear-sg":t,lohmus:t,barsy:t,mcdir:t,brasilia:t,ddns:t,dnsfor:t,hopto:t,loginto:t,noip:t,webhop:t,soundcast:t,tcp4:t,vp4:t,diskstation:t,dscloud:t,i234:t,myds:t,synology:t,transip:Ne,nohost:t}],mg:[1,{co:e,com:e,edu:e,gov:e,mil:e,nom:e,org:e,prd:e}],mh:e,mil:e,mk:[1,{com:e,edu:e,gov:e,inf:e,name:e,net:e,org:e}],ml:[1,{ac:e,art:e,asso:e,com:e,edu:e,gouv:e,gov:e,info:e,inst:e,net:e,org:e,pr:e,presse:e}],mm:x,mn:[1,{edu:e,gov:e,org:e,nyc:t}],mo:n,mobi:[1,{barsy:t,dscloud:t}],mp:[1,{ju:t}],mq:e,mr:c,ms:[1,{com:e,edu:e,gov:e,net:e,org:e,minisite:t}],mt:ge,mu:[1,{ac:e,co:e,com:e,gov:e,net:e,or:e,org:e}],museum:e,mv:[1,{aero:e,biz:e,com:e,coop:e,edu:e,gov:e,info:e,int:e,mil:e,museum:e,name:e,net:e,org:e,pro:e}],mw:[1,{ac:e,biz:e,co:e,com:e,coop:e,edu:e,gov:e,int:e,net:e,org:e}],mx:[1,{com:e,edu:e,gob:e,net:e,org:e}],my:[1,{biz:e,com:e,edu:e,gov:e,mil:e,name:e,net:e,org:e}],mz:[1,{ac:e,adv:e,co:e,edu:e,gov:e,mil:e,net:e,org:e}],na:[1,{alt:e,co:e,com:e,gov:e,net:e,org:e}],name:[1,{her:cn,his:cn,ispmanager:t,keenetic:t}],nc:[1,{asso:e,nom:e}],ne:e,net:[1,{adobeaemcloud:t,"adobeio-static":t,adobeioruntime:t,akadns:t,akamai:t,"akamai-staging":t,akamaiedge:t,"akamaiedge-staging":t,akamaihd:t,"akamaihd-staging":t,akamaiorigin:t,"akamaiorigin-staging":t,akamaized:t,"akamaized-staging":t,edgekey:t,"edgekey-staging":t,edgesuite:t,"edgesuite-staging":t,alwaysdata:t,myamaze:t,cloudfront:t,appudo:t,"atlassian-dev":[0,{prod:Le}],myfritz:t,shopselect:t,blackbaudcdn:t,boomla:t,bplaced:t,square7:t,cdn77:[0,{r:t}],"cdn77-ssl":t,gb:t,hu:t,jp:t,se:t,uk:t,clickrising:t,"ddns-ip":t,"dns-cloud":t,"dns-dynamic":t,cloudaccess:t,cloudflare:[2,{cdn:t}],cloudflareanycast:Le,cloudflarecn:Le,cloudflareglobal:Le,ctfcloud:t,"feste-ip":t,"knx-server":t,"static-access":t,cryptonomic:o,dattolocal:t,mydatto:t,debian:t,definima:t,deno:[2,{sandbox:t}],icp:o,de5:t,"at-band-camp":t,blogdns:t,"broke-it":t,buyshouses:t,dnsalias:t,dnsdojo:t,"does-it":t,dontexist:t,dynalias:t,dynathome:t,endofinternet:t,"from-az":t,"from-co":t,"from-la":t,"from-ny":t,"gets-it":t,"ham-radio-op":t,homeftp:t,homeip:t,homelinux:t,homeunix:t,"in-the-band":t,"is-a-chef":t,"is-a-geek":t,"isa-geek":t,"kicks-ass":t,"office-on-the":t,podzone:t,"scrapper-site":t,selfip:t,"sells-it":t,servebbs:t,serveftp:t,thruhere:t,webhop:t,casacam:t,dynu:t,dynuddns:t,mysynology:t,opik:t,spryt:t,dynv6:t,twmail:t,ru:t,channelsdvr:[2,{u:t}],fastly:[0,{freetls:t,map:t,prod:[0,{a:t,global:t}],ssl:[0,{a:t,b:t,global:t}]}],fastlylb:[2,{map:t}],"keyword-on":t,"live-on":t,"server-on":t,"cdn-edges":t,heteml:t,cloudfunctions:t,"grafana-dev":t,iobb:t,moonscale:t,"in-dsl":t,"in-vpn":t,oninferno:t,botdash:t,"apps-1and1":t,ipifony:t,cloudjiffy:[2,{"fra1-de":t,"west1-us":t}],elastx:[0,{"jls-sto1":t,"jls-sto2":t,"jls-sto3":t}],massivegrid:[0,{paas:[0,{"fr-1":t,"lon-1":t,"lon-2":t,"ny-1":t,"ny-2":t,"sg-1":t}]}],saveincloud:[0,{jelastic:t,"nordeste-idc":t}],scaleforce:dt,kinghost:t,uni5:t,krellian:t,ggff:t,localto:o,barsy:t,luyani:t,memset:t,"azure-api":t,"azure-mobile":t,azureedge:t,azurefd:t,azurestaticapps:[2,{1:t,2:t,3:t,4:t,5:t,6:t,7:t,centralus:t,eastasia:t,eastus2:t,westeurope:t,westus2:t}],azurewebsites:t,cloudapp:t,trafficmanager:t,usgovcloudapi:Yn,usgovcloudapp:t,usgovtrafficmanager:t,windows:Yn,mynetname:[0,{sn:t}],routingthecloud:t,bounceme:t,ddns:t,"eating-organic":t,mydissent:t,myeffect:t,mymediapc:t,mypsx:t,mysecuritycamera:t,nhlfan:t,"no-ip":t,pgafan:t,privatizehealthinsurance:t,redirectme:t,serveblog:t,serveminecraft:t,sytes:t,dnsup:t,hicam:t,"now-dns":t,ownip:t,vpndns:t,cloudycluster:t,ovh:[0,{hosting:o,webpaas:o}],rackmaze:t,myradweb:t,in:t,"subsc-pay":t,squares:t,schokokeks:t,"firewall-gateway":t,seidat:t,senseering:t,siteleaf:t,mafelo:t,myspreadshop:t,"vps-host":[2,{jelastic:[0,{atl:t,njs:t,ric:t}]}],srcf:[0,{soc:t,user:t}],supabase:t,dsmynas:t,familyds:t,ts:[2,{c:o}],torproject:[2,{pages:t}],tunnelmole:t,vusercontent:t,"reserve-online":t,localcert:t,"community-pro":t,meinforum:t,yandexcloud:[2,{storage:t,website:t}],za:t,zabc:t}],nf:[1,{arts:e,com:e,firm:e,info:e,net:e,other:e,per:e,rec:e,store:e,web:e}],ng:[1,{com:e,edu:e,gov:e,i:e,mil:e,mobi:e,name:e,net:e,org:e,sch:e,biz:[2,{co:t,dl:t,go:t,lg:t,on:t}],col:t,firm:t,gen:t,ltd:t,ngo:t,plc:t}],ni:[1,{ac:e,biz:e,co:e,com:e,edu:e,gob:e,in:e,info:e,int:e,mil:e,net:e,nom:e,org:e,web:e}],nl:[1,{co:t,"hosting-cluster":t,gov:t,khplay:t,"123website":t,myspreadshop:t,transurl:o,cistron:t,demon:t}],no:[1,{fhs:e,folkebibl:e,fylkesbibl:e,idrett:e,museum:e,priv:e,vgs:e,dep:e,herad:e,kommune:e,mil:e,stat:e,aa:Me,ah:Me,bu:Me,fm:Me,hl:Me,hm:Me,"jan-mayen":Me,mr:Me,nl:Me,nt:Me,of:Me,ol:Me,oslo:Me,rl:Me,sf:Me,st:Me,svalbard:Me,tm:Me,tr:Me,va:Me,vf:Me,akrehamn:e,"xn--krehamn-dxa":e,\u00E5krehamn:e,algard:e,"xn--lgrd-poac":e,\u00E5lg\u00E5rd:e,arna:e,bronnoysund:e,"xn--brnnysund-m8ac":e,br\u00F8nn\u00F8ysund:e,brumunddal:e,bryne:e,drobak:e,"xn--drbak-wua":e,dr\u00F8bak:e,egersund:e,fetsund:e,floro:e,"xn--flor-jra":e,flor\u00F8:e,fredrikstad:e,hokksund:e,honefoss:e,"xn--hnefoss-q1a":e,h\u00F8nefoss:e,jessheim:e,jorpeland:e,"xn--jrpeland-54a":e,j\u00F8rpeland:e,kirkenes:e,kopervik:e,krokstadelva:e,langevag:e,"xn--langevg-jxa":e,langev\u00E5g:e,leirvik:e,mjondalen:e,"xn--mjndalen-64a":e,mj\u00F8ndalen:e,"mo-i-rana":e,mosjoen:e,"xn--mosjen-eya":e,mosj\u00F8en:e,nesoddtangen:e,orkanger:e,osoyro:e,"xn--osyro-wua":e,os\u00F8yro:e,raholt:e,"xn--rholt-mra":e,r\u00E5holt:e,sandnessjoen:e,"xn--sandnessjen-ogb":e,sandnessj\u00F8en:e,skedsmokorset:e,slattum:e,spjelkavik:e,stathelle:e,stavern:e,stjordalshalsen:e,"xn--stjrdalshalsen-sqb":e,stj\u00F8rdalshalsen:e,tananger:e,tranby:e,vossevangen:e,aarborte:e,aejrie:e,afjord:e,"xn--fjord-lra":e,\u00E5fjord:e,agdenes:e,akershus:br,aknoluokta:e,"xn--koluokta-7ya57h":e,\u00E1k\u014Boluokta:e,al:e,"xn--l-1fa":e,\u00E5l:e,alaheadju:e,"xn--laheadju-7ya":e,\u00E1laheadju:e,alesund:e,"xn--lesund-hua":e,\u00E5lesund:e,alstahaug:e,alta:e,"xn--lt-liac":e,\u00E1lt\u00E1:e,alvdal:e,amli:e,"xn--mli-tla":e,\u00E5mli:e,amot:e,"xn--mot-tla":e,\u00E5mot:e,andasuolo:e,andebu:e,andoy:e,"xn--andy-ira":e,and\u00F8y:e,ardal:e,"xn--rdal-poa":e,\u00E5rdal:e,aremark:e,arendal:e,"xn--s-1fa":e,\u00E5s:e,aseral:e,"xn--seral-lra":e,\u00E5seral:e,asker:e,askim:e,askoy:e,"xn--asky-ira":e,ask\u00F8y:e,askvoll:e,asnes:e,"xn--snes-poa":e,\u00E5snes:e,audnedaln:e,aukra:e,aure:e,aurland:e,"aurskog-holand":e,"xn--aurskog-hland-jnb":e,"aurskog-h\xF8land":e,austevoll:e,austrheim:e,averoy:e,"xn--avery-yua":e,aver\u00F8y:e,badaddja:e,"xn--bdddj-mrabd":e,b\u00E5d\u00E5ddj\u00E5:e,"xn--brum-voa":e,b\u00E6rum:e,bahcavuotna:e,"xn--bhcavuotna-s4a":e,b\u00E1hcavuotna:e,bahccavuotna:e,"xn--bhccavuotna-k7a":e,b\u00E1hccavuotna:e,baidar:e,"xn--bidr-5nac":e,b\u00E1id\u00E1r:e,bajddar:e,"xn--bjddar-pta":e,b\u00E1jddar:e,balat:e,"xn--blt-elab":e,b\u00E1l\u00E1t:e,balestrand:e,ballangen:e,balsfjord:e,bamble:e,bardu:e,barum:e,batsfjord:e,"xn--btsfjord-9za":e,b\u00E5tsfjord:e,bearalvahki:e,"xn--bearalvhki-y4a":e,bearalv\u00E1hki:e,beardu:e,beiarn:e,berg:e,bergen:e,berlevag:e,"xn--berlevg-jxa":e,berlev\u00E5g:e,bievat:e,"xn--bievt-0qa":e,biev\u00E1t:e,bindal:e,birkenes:e,bjerkreim:e,bjugn:e,bodo:e,"xn--bod-2na":e,bod\u00F8:e,bokn:e,bomlo:e,"xn--bmlo-gra":e,b\u00F8mlo:e,bremanger:e,bronnoy:e,"xn--brnny-wuac":e,br\u00F8nn\u00F8y:e,budejju:e,buskerud:br,bygland:e,bykle:e,cahcesuolo:e,"xn--hcesuolo-7ya35b":e,\u010D\u00E1hcesuolo:e,davvenjarga:e,"xn--davvenjrga-y4a":e,davvenj\u00E1rga:e,davvesiida:e,deatnu:e,dielddanuorri:e,divtasvuodna:e,divttasvuotna:e,donna:e,"xn--dnna-gra":e,d\u00F8nna:e,dovre:e,drammen:e,drangedal:e,dyroy:e,"xn--dyry-ira":e,dyr\u00F8y:e,eid:e,eidfjord:e,eidsberg:e,eidskog:e,eidsvoll:e,eigersund:e,elverum:e,enebakk:e,engerdal:e,etne:e,etnedal:e,evenassi:e,"xn--eveni-0qa01ga":e,even\u00E1\u0161\u0161i:e,evenes:e,"evje-og-hornnes":e,farsund:e,fauske:e,fedje:e,fet:e,finnoy:e,"xn--finny-yua":e,finn\u00F8y:e,fitjar:e,fjaler:e,fjell:e,fla:e,"xn--fl-zia":e,fl\u00E5:e,flakstad:e,flatanger:e,flekkefjord:e,flesberg:e,flora:e,folldal:e,forde:e,"xn--frde-gra":e,f\u00F8rde:e,forsand:e,fosnes:e,"xn--frna-woa":e,fr\u00E6na:e,frana:e,frei:e,frogn:e,froland:e,frosta:e,froya:e,"xn--frya-hra":e,fr\u00F8ya:e,fuoisku:e,fuossko:e,fusa:e,fyresdal:e,gaivuotna:e,"xn--givuotna-8ya":e,g\u00E1ivuotna:e,galsa:e,"xn--gls-elac":e,g\u00E1ls\u00E1:e,gamvik:e,gangaviika:e,"xn--ggaviika-8ya47h":e,g\u00E1\u014Bgaviika:e,gaular:e,gausdal:e,giehtavuoatna:e,gildeskal:e,"xn--gildeskl-g0a":e,gildesk\u00E5l:e,giske:e,gjemnes:e,gjerdrum:e,gjerstad:e,gjesdal:e,gjovik:e,"xn--gjvik-wua":e,gj\u00F8vik:e,gloppen:e,gol:e,gran:e,grane:e,granvin:e,gratangen:e,grimstad:e,grong:e,grue:e,gulen:e,guovdageaidnu:e,ha:e,"xn--h-2fa":e,h\u00E5:e,habmer:e,"xn--hbmer-xqa":e,h\u00E1bmer:e,hadsel:e,"xn--hgebostad-g3a":e,h\u00E6gebostad:e,hagebostad:e,halden:e,halsa:e,hamar:e,hamaroy:e,hammarfeasta:e,"xn--hmmrfeasta-s4ac":e,h\u00E1mm\u00E1rfeasta:e,hammerfest:e,hapmir:e,"xn--hpmir-xqa":e,h\u00E1pmir:e,haram:e,hareid:e,harstad:e,hasvik:e,hattfjelldal:e,haugesund:e,hedmark:[0,{os:e,valer:e,"xn--vler-qoa":e,v\u00E5ler:e}],hemne:e,hemnes:e,hemsedal:e,hitra:e,hjartdal:e,hjelmeland:e,hobol:e,"xn--hobl-ira":e,hob\u00F8l:e,hof:e,hol:e,hole:e,holmestrand:e,holtalen:e,"xn--holtlen-hxa":e,holt\u00E5len:e,hordaland:[0,{os:e}],hornindal:e,horten:e,hoyanger:e,"xn--hyanger-q1a":e,h\u00F8yanger:e,hoylandet:e,"xn--hylandet-54a":e,h\u00F8ylandet:e,hurdal:e,hurum:e,hvaler:e,hyllestad:e,ibestad:e,inderoy:e,"xn--indery-fya":e,inder\u00F8y:e,iveland:e,ivgu:e,jevnaker:e,jolster:e,"xn--jlster-bya":e,j\u00F8lster:e,jondal:e,kafjord:e,"xn--kfjord-iua":e,k\u00E5fjord:e,karasjohka:e,"xn--krjohka-hwab49j":e,k\u00E1r\u00E1\u0161johka:e,karasjok:e,karlsoy:e,karmoy:e,"xn--karmy-yua":e,karm\u00F8y:e,kautokeino:e,klabu:e,"xn--klbu-woa":e,kl\u00E6bu:e,klepp:e,kongsberg:e,kongsvinger:e,kraanghke:e,"xn--kranghke-b0a":e,kr\u00E5anghke:e,kragero:e,"xn--krager-gya":e,krager\u00F8:e,kristiansand:e,kristiansund:e,krodsherad:e,"xn--krdsherad-m8a":e,kr\u00F8dsherad:e,"xn--kvfjord-nxa":e,kv\u00E6fjord:e,"xn--kvnangen-k0a":e,kv\u00E6nangen:e,kvafjord:e,kvalsund:e,kvam:e,kvanangen:e,kvinesdal:e,kvinnherad:e,kviteseid:e,kvitsoy:e,"xn--kvitsy-fya":e,kvits\u00F8y:e,laakesvuemie:e,"xn--lrdal-sra":e,l\u00E6rdal:e,lahppi:e,"xn--lhppi-xqa":e,l\u00E1hppi:e,lardal:e,larvik:e,lavagis:e,lavangen:e,leangaviika:e,"xn--leagaviika-52b":e,lea\u014Bgaviika:e,lebesby:e,leikanger:e,leirfjord:e,leka:e,leksvik:e,lenvik:e,lerdal:e,lesja:e,levanger:e,lier:e,lierne:e,lillehammer:e,lillesand:e,lindas:e,"xn--linds-pra":e,lind\u00E5s:e,lindesnes:e,loabat:e,"xn--loabt-0qa":e,loab\u00E1t:e,lodingen:e,"xn--ldingen-q1a":e,l\u00F8dingen:e,lom:e,loppa:e,lorenskog:e,"xn--lrenskog-54a":e,l\u00F8renskog:e,loten:e,"xn--lten-gra":e,l\u00F8ten:e,lund:e,lunner:e,luroy:e,"xn--lury-ira":e,lur\u00F8y:e,luster:e,lyngdal:e,lyngen:e,malatvuopmi:e,"xn--mlatvuopmi-s4a":e,m\u00E1latvuopmi:e,malselv:e,"xn--mlselv-iua":e,m\u00E5lselv:e,malvik:e,mandal:e,marker:e,marnardal:e,masfjorden:e,masoy:e,"xn--msy-ula0h":e,m\u00E5s\u00F8y:e,"matta-varjjat":e,"xn--mtta-vrjjat-k7af":e,"m\xE1tta-v\xE1rjjat":e,meland:e,meldal:e,melhus:e,meloy:e,"xn--mely-ira":e,mel\u00F8y:e,meraker:e,"xn--merker-kua":e,mer\u00E5ker:e,midsund:e,"midtre-gauldal":e,moareke:e,"xn--moreke-jua":e,mo\u00E5reke:e,modalen:e,modum:e,molde:e,"more-og-romsdal":[0,{heroy:e,sande:e}],"xn--mre-og-romsdal-qqb":[0,{"xn--hery-ira":e,sande:e}],"m\xF8re-og-romsdal":[0,{her\u00F8y:e,sande:e}],moskenes:e,moss:e,muosat:e,"xn--muost-0qa":e,muos\u00E1t:e,naamesjevuemie:e,"xn--nmesjevuemie-tcba":e,n\u00E5\u00E5mesjevuemie:e,"xn--nry-yla5g":e,n\u00E6r\u00F8y:e,namdalseid:e,namsos:e,namsskogan:e,nannestad:e,naroy:e,narviika:e,narvik:e,naustdal:e,navuotna:e,"xn--nvuotna-hwa":e,n\u00E1vuotna:e,"nedre-eiker":e,nesna:e,nesodden:e,nesseby:e,nesset:e,nissedal:e,nittedal:e,"nord-aurdal":e,"nord-fron":e,"nord-odal":e,norddal:e,nordkapp:e,nordland:[0,{bo:e,"xn--b-5ga":e,b\u00F8:e,heroy:e,"xn--hery-ira":e,her\u00F8y:e}],"nordre-land":e,nordreisa:e,"nore-og-uvdal":e,notodden:e,notteroy:e,"xn--nttery-byae":e,n\u00F8tter\u00F8y:e,odda:e,oksnes:e,"xn--ksnes-uua":e,\u00F8ksnes:e,omasvuotna:e,oppdal:e,oppegard:e,"xn--oppegrd-ixa":e,oppeg\u00E5rd:e,orkdal:e,orland:e,"xn--rland-uua":e,\u00F8rland:e,orskog:e,"xn--rskog-uua":e,\u00F8rskog:e,orsta:e,"xn--rsta-fra":e,\u00F8rsta:e,osen:e,osteroy:e,"xn--ostery-fya":e,oster\u00F8y:e,ostfold:[0,{valer:e}],"xn--stfold-9xa":[0,{"xn--vler-qoa":e}],\u00F8stfold:[0,{v\u00E5ler:e}],"ostre-toten":e,"xn--stre-toten-zcb":e,"\xF8stre-toten":e,overhalla:e,"ovre-eiker":e,"xn--vre-eiker-k8a":e,"\xF8vre-eiker":e,oyer:e,"xn--yer-zna":e,\u00F8yer:e,oygarden:e,"xn--ygarden-p1a":e,\u00F8ygarden:e,"oystre-slidre":e,"xn--ystre-slidre-ujb":e,"\xF8ystre-slidre":e,porsanger:e,porsangu:e,"xn--porsgu-sta26f":e,pors\u00E1\u014Bgu:e,porsgrunn:e,rade:e,"xn--rde-ula":e,r\u00E5de:e,radoy:e,"xn--rady-ira":e,rad\u00F8y:e,"xn--rlingen-mxa":e,r\u00E6lingen:e,rahkkeravju:e,"xn--rhkkervju-01af":e,r\u00E1hkker\u00E1vju:e,raisa:e,"xn--risa-5na":e,r\u00E1isa:e,rakkestad:e,ralingen:e,rana:e,randaberg:e,rauma:e,rendalen:e,rennebu:e,rennesoy:e,"xn--rennesy-v1a":e,rennes\u00F8y:e,rindal:e,ringebu:e,ringerike:e,ringsaker:e,risor:e,"xn--risr-ira":e,ris\u00F8r:e,rissa:e,roan:e,rodoy:e,"xn--rdy-0nab":e,r\u00F8d\u00F8y:e,rollag:e,romsa:e,romskog:e,"xn--rmskog-bya":e,r\u00F8mskog:e,roros:e,"xn--rros-gra":e,r\u00F8ros:e,rost:e,"xn--rst-0na":e,r\u00F8st:e,royken:e,"xn--ryken-vua":e,r\u00F8yken:e,royrvik:e,"xn--ryrvik-bya":e,r\u00F8yrvik:e,ruovat:e,rygge:e,salangen:e,salat:e,"xn--slat-5na":e,s\u00E1lat:e,"xn--slt-elab":e,s\u00E1l\u00E1t:e,saltdal:e,samnanger:e,sandefjord:e,sandnes:e,sandoy:e,"xn--sandy-yua":e,sand\u00F8y:e,sarpsborg:e,sauda:e,sauherad:e,sel:e,selbu:e,selje:e,seljord:e,siellak:e,sigdal:e,siljan:e,sirdal:e,skanit:e,"xn--sknit-yqa":e,sk\u00E1nit:e,skanland:e,"xn--sknland-fxa":e,sk\u00E5nland:e,skaun:e,skedsmo:e,ski:e,skien:e,skierva:e,"xn--skierv-uta":e,skierv\u00E1:e,skiptvet:e,skjak:e,"xn--skjk-soa":e,skj\u00E5k:e,skjervoy:e,"xn--skjervy-v1a":e,skjerv\u00F8y:e,skodje:e,smola:e,"xn--smla-hra":e,sm\u00F8la:e,snaase:e,"xn--snase-nra":e,sn\u00E5ase:e,snasa:e,"xn--snsa-roa":e,sn\u00E5sa:e,snillfjord:e,snoasa:e,sogndal:e,sogne:e,"xn--sgne-gra":e,s\u00F8gne:e,sokndal:e,sola:e,solund:e,somna:e,"xn--smna-gra":e,s\u00F8mna:e,"sondre-land":e,"xn--sndre-land-0cb":e,"s\xF8ndre-land":e,songdalen:e,"sor-aurdal":e,"xn--sr-aurdal-l8a":e,"s\xF8r-aurdal":e,"sor-fron":e,"xn--sr-fron-q1a":e,"s\xF8r-fron":e,"sor-odal":e,"xn--sr-odal-q1a":e,"s\xF8r-odal":e,"sor-varanger":e,"xn--sr-varanger-ggb":e,"s\xF8r-varanger":e,sorfold:e,"xn--srfold-bya":e,s\u00F8rfold:e,sorreisa:e,"xn--srreisa-q1a":e,s\u00F8rreisa:e,sortland:e,sorum:e,"xn--srum-gra":e,s\u00F8rum:e,spydeberg:e,stange:e,stavanger:e,steigen:e,steinkjer:e,stjordal:e,"xn--stjrdal-s1a":e,stj\u00F8rdal:e,stokke:e,"stor-elvdal":e,stord:e,stordal:e,storfjord:e,strand:e,stranda:e,stryn:e,sula:e,suldal:e,sund:e,sunndal:e,surnadal:e,sveio:e,svelvik:e,sykkylven:e,tana:e,telemark:[0,{bo:e,"xn--b-5ga":e,b\u00F8:e}],time:e,tingvoll:e,tinn:e,tjeldsund:e,tjome:e,"xn--tjme-hra":e,tj\u00F8me:e,tokke:e,tolga:e,tonsberg:e,"xn--tnsberg-q1a":e,t\u00F8nsberg:e,torsken:e,"xn--trna-woa":e,tr\u00E6na:e,trana:e,tranoy:e,"xn--trany-yua":e,tran\u00F8y:e,troandin:e,trogstad:e,"xn--trgstad-r1a":e,tr\u00F8gstad:e,tromsa:e,tromso:e,"xn--troms-zua":e,troms\u00F8:e,trondheim:e,trysil:e,tvedestrand:e,tydal:e,tynset:e,tysfjord:e,tysnes:e,"xn--tysvr-vra":e,tysv\u00E6r:e,tysvar:e,ullensaker:e,ullensvang:e,ulvik:e,unjarga:e,"xn--unjrga-rta":e,unj\u00E1rga:e,utsira:e,vaapste:e,vadso:e,"xn--vads-jra":e,vads\u00F8:e,"xn--vry-yla5g":e,v\u00E6r\u00F8y:e,vaga:e,"xn--vg-yiab":e,v\u00E5g\u00E5:e,vagan:e,"xn--vgan-qoa":e,v\u00E5gan:e,vagsoy:e,"xn--vgsy-qoa0j":e,v\u00E5gs\u00F8y:e,vaksdal:e,valle:e,vang:e,vanylven:e,vardo:e,"xn--vard-jra":e,vard\u00F8:e,varggat:e,"xn--vrggt-xqad":e,v\u00E1rgg\u00E1t:e,varoy:e,vefsn:e,vega:e,vegarshei:e,"xn--vegrshei-c0a":e,veg\u00E5rshei:e,vennesla:e,verdal:e,verran:e,vestby:e,vestfold:[0,{sande:e}],vestnes:e,"vestre-slidre":e,"vestre-toten":e,vestvagoy:e,"xn--vestvgy-ixa6o":e,vestv\u00E5g\u00F8y:e,vevelstad:e,vik:e,vikna:e,vindafjord:e,voagat:e,volda:e,voss:e,co:t,"123hjemmeside":t,myspreadshop:t}],np:x,nr:nt,nu:[1,{merseine:t,mine:t,shacknet:t,enterprisecloud:t}],nz:[1,{ac:e,co:e,cri:e,geek:e,gen:e,govt:e,health:e,iwi:e,kiwi:e,maori:e,"xn--mori-qsa":e,m\u0101ori:e,mil:e,net:e,org:e,parliament:e,school:e,cloudns:t}],om:[1,{co:e,com:e,edu:e,gov:e,med:e,museum:e,net:e,org:e,pro:e}],onion:e,org:[1,{altervista:t,pimienta:t,poivron:t,potager:t,sweetpepper:t,cdn77:[0,{c:t,rsc:t}],"cdn77-secure":[0,{origin:[0,{ssl:t}]}],ae:t,cloudns:t,"ip-dynamic":t,ddnss:t,dpdns:t,duckdns:t,tunk:t,blogdns:t,blogsite:t,boldlygoingnowhere:t,dnsalias:t,dnsdojo:t,doesntexist:t,dontexist:t,doomdns:t,dvrdns:t,dynalias:t,dyndns:[2,{go:t,home:t}],endofinternet:t,endoftheinternet:t,"from-me":t,"game-host":t,gotdns:t,"hobby-site":t,homedns:t,homeftp:t,homelinux:t,homeunix:t,"is-a-bruinsfan":t,"is-a-candidate":t,"is-a-celticsfan":t,"is-a-chef":t,"is-a-geek":t,"is-a-knight":t,"is-a-linux-user":t,"is-a-patsfan":t,"is-a-soxfan":t,"is-found":t,"is-lost":t,"is-saved":t,"is-very-bad":t,"is-very-evil":t,"is-very-good":t,"is-very-nice":t,"is-very-sweet":t,"isa-geek":t,"kicks-ass":t,misconfused:t,podzone:t,readmyblog:t,selfip:t,sellsyourhome:t,servebbs:t,serveftp:t,servegame:t,"stuff-4-sale":t,webhop:t,accesscam:t,camdvr:t,freeddns:t,mywire:t,roxa:t,webredirect:t,twmail:t,eu:[2,{al:t,asso:t,at:t,au:t,be:t,bg:t,ca:t,cd:t,ch:t,cn:t,cy:t,cz:t,de:t,dk:t,edu:t,ee:t,es:t,fi:t,fr:t,gr:t,hr:t,hu:t,ie:t,il:t,in:t,int:t,is:t,it:t,jp:t,kr:t,lt:t,lu:t,lv:t,me:t,mk:t,mt:t,my:t,net:t,ng:t,nl:t,no:t,nz:t,pl:t,pt:t,ro:t,ru:t,se:t,si:t,sk:t,tr:t,uk:t,us:t}],fedorainfracloud:t,fedorapeople:t,fedoraproject:[0,{cloud:t,os:le,stg:[0,{os:le}]}],freedesktop:t,hatenadiary:t,hepforge:t,"in-dsl":t,"in-vpn":t,js:t,barsy:t,mayfirst:t,routingthecloud:t,bmoattachments:t,"cable-modem":t,collegefan:t,couchpotatofries:t,hopto:t,mlbfan:t,myftp:t,mysecuritycamera:t,nflfan:t,"no-ip":t,"read-books":t,ufcfan:t,zapto:t,dynserv:t,"now-dns":t,"is-local":t,httpbin:t,pubtls:t,jpn:t,"my-firewall":t,myfirewall:t,spdns:t,"small-web":t,dsmynas:t,familyds:t,teckids:St,tuxfamily:t,hk:t,us:t,toolforge:t,wmcloud:[2,{beta:t}],wmflabs:t,za:t}],pa:[1,{abo:e,ac:e,com:e,edu:e,gob:e,ing:e,med:e,net:e,nom:e,org:e,sld:e}],pe:[1,{com:e,edu:e,gob:e,mil:e,net:e,nom:e,org:e}],pf:[1,{com:e,edu:e,org:e}],pg:x,ph:[1,{com:e,edu:e,gov:e,i:e,mil:e,net:e,ngo:e,org:e,cloudns:t}],pk:[1,{ac:e,biz:e,com:e,edu:e,fam:e,gkp:e,gob:e,gog:e,gok:e,gop:e,gos:e,gov:e,net:e,org:e,web:e}],pl:[1,{com:e,net:e,org:e,agro:e,aid:e,atm:e,auto:e,biz:e,edu:e,gmina:e,gsm:e,info:e,mail:e,media:e,miasta:e,mil:e,nieruchomosci:e,nom:e,pc:e,powiat:e,priv:e,realestate:e,rel:e,sex:e,shop:e,sklep:e,sos:e,szkola:e,targi:e,tm:e,tourism:e,travel:e,turystyka:e,gov:[1,{ap:e,griw:e,ic:e,is:e,kmpsp:e,konsulat:e,kppsp:e,kwp:e,kwpsp:e,mup:e,mw:e,oia:e,oirm:e,oke:e,oow:e,oschr:e,oum:e,pa:e,pinb:e,piw:e,po:e,pr:e,psp:e,psse:e,pup:e,rzgw:e,sa:e,sdn:e,sko:e,so:e,sr:e,starostwo:e,ug:e,ugim:e,um:e,umig:e,upow:e,uppo:e,us:e,uw:e,uzs:e,wif:e,wiih:e,winb:e,wios:e,witd:e,wiw:e,wkz:e,wsa:e,wskr:e,wsse:e,wuoz:e,wzmiuw:e,zp:e,zpisdn:e}],augustow:e,"babia-gora":e,bedzin:e,beskidy:e,bialowieza:e,bialystok:e,bielawa:e,bieszczady:e,boleslawiec:e,bydgoszcz:e,bytom:e,cieszyn:e,czeladz:e,czest:e,dlugoleka:e,elblag:e,elk:e,glogow:e,gniezno:e,gorlice:e,grajewo:e,ilawa:e,jaworzno:e,"jelenia-gora":e,jgora:e,kalisz:e,karpacz:e,kartuzy:e,kaszuby:e,katowice:e,"kazimierz-dolny":e,kepno:e,ketrzyn:e,klodzko:e,kobierzyce:e,kolobrzeg:e,konin:e,konskowola:e,kutno:e,lapy:e,lebork:e,legnica:e,lezajsk:e,limanowa:e,lomza:e,lowicz:e,lubin:e,lukow:e,malbork:e,malopolska:e,mazowsze:e,mazury:e,mielec:e,mielno:e,mragowo:e,naklo:e,nowaruda:e,nysa:e,olawa:e,olecko:e,olkusz:e,olsztyn:e,opoczno:e,opole:e,ostroda:e,ostroleka:e,ostrowiec:e,ostrowwlkp:e,pila:e,pisz:e,podhale:e,podlasie:e,polkowice:e,pomorskie:e,pomorze:e,prochowice:e,pruszkow:e,przeworsk:e,pulawy:e,radom:e,"rawa-maz":e,rybnik:e,rzeszow:e,sanok:e,sejny:e,skoczow:e,slask:e,slupsk:e,sosnowiec:e,"stalowa-wola":e,starachowice:e,stargard:e,suwalki:e,swidnica:e,swiebodzin:e,swinoujscie:e,szczecin:e,szczytno:e,tarnobrzeg:e,tgory:e,turek:e,tychy:e,ustka:e,walbrzych:e,warmia:e,warszawa:e,waw:e,wegrow:e,wielun:e,wlocl:e,wloclawek:e,wodzislaw:e,wolomin:e,wroclaw:e,zachpomor:e,zagan:e,zarow:e,zgora:e,zgorzelec:e,art:t,gliwice:t,krakow:t,poznan:t,wroc:t,zakopane:t,beep:t,"ecommerce-shop":t,cfolks:t,dfirma:t,dkonto:t,you2:t,shoparena:t,homesklep:t,sdscloud:t,unicloud:t,lodz:t,pabianice:t,plock:t,sieradz:t,skierniewice:t,zgierz:t,krasnik:t,leczna:t,lubartow:t,lublin:t,poniatowa:t,swidnik:t,co:t,torun:t,simplesite:t,myspreadshop:t,gda:t,gdansk:t,gdynia:t,med:t,sopot:t,bielsko:t}],pm:[1,{own:t,name:t}],pn:[1,{co:e,edu:e,gov:e,net:e,org:e}],post:e,pr:[1,{biz:e,com:e,edu:e,gov:e,info:e,isla:e,name:e,net:e,org:e,pro:e,ac:e,est:e,prof:e}],pro:[1,{aaa:e,aca:e,acct:e,avocat:e,bar:e,cpa:e,eng:e,jur:e,law:e,med:e,recht:e,cloudns:t,keenetic:t,barsy:t,ngrok:t}],ps:[1,{com:e,edu:e,gov:e,net:e,org:e,plo:e,sec:e}],pt:[1,{com:e,edu:e,gov:e,int:e,net:e,nome:e,org:e,publ:e,"123paginaweb":t}],pw:[1,{gov:e,cloudns:t,x443:t}],py:[1,{com:e,coop:e,edu:e,gov:e,mil:e,net:e,org:e}],qa:[1,{com:e,edu:e,gov:e,mil:e,name:e,net:e,org:e,sch:e}],re:[1,{asso:e,com:e,netlib:t,can:t}],ro:[1,{arts:e,com:e,firm:e,info:e,nom:e,nt:e,org:e,rec:e,store:e,tm:e,www:e,co:t,shop:t,barsy:t}],rs:[1,{ac:e,co:e,edu:e,gov:e,in:e,org:e,brendly:k,barsy:t,ox:t}],ru:[1,{ac:t,edu:t,gov:t,int:t,mil:t,eurodir:t,adygeya:t,bashkiria:t,bir:t,cbg:t,com:t,dagestan:t,grozny:t,kalmykia:t,kustanai:t,marine:t,mordovia:t,msk:t,mytis:t,nalchik:t,nov:t,pyatigorsk:t,spb:t,vladikavkaz:t,vladimir:t,na4u:t,mircloud:t,myjino:[2,{hosting:o,landing:o,spectrum:o,vps:o}],cldmail:[0,{hb:t}],mcdir:[2,{vps:t}],mcpre:t,net:t,org:t,pp:t,ras:t}],rw:[1,{ac:e,co:e,coop:e,gov:e,mil:e,net:e,org:e}],sa:[1,{com:e,edu:e,gov:e,med:e,net:e,org:e,pub:e,sch:e}],sb:n,sc:n,sd:[1,{com:e,edu:e,gov:e,info:e,med:e,net:e,org:e,tv:e}],se:[1,{a:e,ac:e,b:e,bd:e,brand:e,c:e,d:e,e,f:e,fh:e,fhsk:e,fhv:e,g:e,h:e,i:e,k:e,komforb:e,kommunalforbund:e,komvux:e,l:e,lanbib:e,m:e,n:e,naturbruksgymn:e,o:e,org:e,p:e,parti:e,pp:e,press:e,r:e,s:e,t:e,tm:e,u:e,w:e,x:e,y:e,z:e,com:t,iopsys:t,"123minsida":t,itcouldbewor:t,myspreadshop:t}],sg:[1,{com:e,edu:e,gov:e,net:e,org:e,enscaled:t}],sh:[1,{com:e,gov:e,mil:e,net:e,org:e,hashbang:t,botda:t,lovable:t,platform:[0,{ent:t,eu:t,us:t}],teleport:t,now:t}],si:[1,{f5:t,gitapp:t,gitpage:t}],sj:e,sk:[1,{org:e}],sl:n,sm:e,sn:[1,{art:e,com:e,edu:e,gouv:e,org:e,univ:e}],so:[1,{com:e,edu:e,gov:e,me:e,net:e,org:e,surveys:t}],sr:e,ss:[1,{biz:e,co:e,com:e,edu:e,gov:e,me:e,net:e,org:e,sch:e}],st:[1,{co:e,com:e,consulado:e,edu:e,embaixada:e,mil:e,net:e,org:e,principe:e,saotome:e,store:e,helioho:t,cn:o,kirara:t,noho:t}],su:[1,{abkhazia:t,adygeya:t,aktyubinsk:t,arkhangelsk:t,armenia:t,ashgabad:t,azerbaijan:t,balashov:t,bashkiria:t,bryansk:t,bukhara:t,chimkent:t,dagestan:t,"east-kazakhstan":t,exnet:t,georgia:t,grozny:t,ivanovo:t,jambyl:t,kalmykia:t,kaluga:t,karacol:t,karaganda:t,karelia:t,khakassia:t,krasnodar:t,kurgan:t,kustanai:t,lenug:t,mangyshlak:t,mordovia:t,msk:t,murmansk:t,nalchik:t,navoi:t,"north-kazakhstan":t,nov:t,obninsk:t,penza:t,pokrovsk:t,sochi:t,spb:t,tashkent:t,termez:t,togliatti:t,troitsk:t,tselinograd:t,tula:t,tuva:t,vladikavkaz:t,vladimir:t,vologda:t}],sv:[1,{com:e,edu:e,gob:e,org:e,red:e}],sx:c,sy:r,sz:[1,{ac:e,co:e,org:e}],tc:e,td:e,tel:e,tf:[1,{sch:t}],tg:e,th:[1,{ac:e,co:e,go:e,in:e,mi:e,net:e,or:e,online:t,shop:t}],tj:[1,{ac:e,biz:e,co:e,com:e,edu:e,go:e,gov:e,int:e,mil:e,name:e,net:e,nic:e,org:e,test:e,web:e}],tk:e,tl:c,tm:[1,{co:e,com:e,edu:e,gov:e,mil:e,net:e,nom:e,org:e}],tn:[1,{com:e,ens:e,fin:e,gov:e,ind:e,info:e,intl:e,mincom:e,nat:e,net:e,org:e,perso:e,tourism:e,orangecloud:t}],to:[1,{611:t,com:e,edu:e,gov:e,mil:e,net:e,org:e,oya:t,x0:t,quickconnect:ee,vpnplus:t,nett:t}],tr:[1,{av:e,bbs:e,bel:e,biz:e,com:e,dr:e,edu:e,gen:e,gov:e,info:e,k12:e,kep:e,mil:e,name:e,net:e,org:e,pol:e,tel:e,tsk:e,tv:e,web:e,nc:c}],tt:[1,{biz:e,co:e,com:e,edu:e,gov:e,info:e,mil:e,name:e,net:e,org:e,pro:e}],tv:[1,{"better-than":t,dyndns:t,"on-the-web":t,"worse-than":t,from:t,sakura:t}],tw:[1,{club:e,com:[1,{mymailer:t}],ebiz:e,edu:e,game:e,gov:e,idv:e,mil:e,net:e,org:e,url:t,mydns:t}],tz:[1,{ac:e,co:e,go:e,hotel:e,info:e,me:e,mil:e,mobi:e,ne:e,or:e,sc:e,tv:e}],ua:[1,{com:e,edu:e,gov:e,in:e,net:e,org:e,cherkassy:e,cherkasy:e,chernigov:e,chernihiv:e,chernivtsi:e,chernovtsy:e,ck:e,cn:e,cr:e,crimea:e,cv:e,dn:e,dnepropetrovsk:e,dnipropetrovsk:e,donetsk:e,dp:e,if:e,"ivano-frankivsk":e,kh:e,kharkiv:e,kharkov:e,kherson:e,khmelnitskiy:e,khmelnytskyi:e,kiev:e,kirovograd:e,km:e,kr:e,kropyvnytskyi:e,krym:e,ks:e,kv:e,kyiv:e,lg:e,lt:e,lugansk:e,luhansk:e,lutsk:e,lv:e,lviv:e,mk:e,mykolaiv:e,nikolaev:e,od:e,odesa:e,odessa:e,pl:e,poltava:e,rivne:e,rovno:e,rv:e,sb:e,sebastopol:e,sevastopol:e,sm:e,sumy:e,te:e,ternopil:e,uz:e,uzhgorod:e,uzhhorod:e,vinnica:e,vinnytsia:e,vn:e,volyn:e,yalta:e,zakarpattia:e,zaporizhzhe:e,zaporizhzhia:e,zhitomir:e,zhytomyr:e,zp:e,zt:e,cc:t,inf:t,ltd:t,cx:t,biz:t,co:t,pp:t,v:t}],ug:[1,{ac:e,co:e,com:e,edu:e,go:e,gov:e,mil:e,ne:e,or:e,org:e,sc:e,us:e}],uk:[1,{ac:e,co:[1,{bytemark:[0,{dh:t,vm:t}],layershift:dt,barsy:t,barsyonline:t,retrosnub:$t,"nh-serv":t,"no-ip":t,adimo:t,myspreadshop:t}],gov:[1,{api:t,campaign:t,service:t}],ltd:e,me:e,net:e,nhs:e,org:[1,{glug:t,lug:t,lugs:t,affinitylottery:t,raffleentry:t,weeklylottery:t}],plc:e,police:e,sch:x,conn:t,copro:t,hosp:t,"independent-commission":t,"independent-inquest":t,"independent-inquiry":t,"independent-panel":t,"independent-review":t,"public-inquiry":t,"royal-commission":t,pymnt:t,barsy:t,nimsite:t,oraclegovcloudapps:o}],us:[1,{dni:e,isa:e,nsn:e,ak:De,al:De,ar:De,as:De,az:De,ca:De,co:De,ct:De,dc:De,de:Bt,fl:De,ga:De,gu:De,hi:Tn,ia:De,id:De,il:De,in:De,ks:De,ky:De,la:De,ma:[1,{k12:[1,{chtr:e,paroch:e,pvt:e}],cc:e,lib:e}],md:De,me:De,mi:[1,{k12:e,cc:e,lib:e,"ann-arbor":e,cog:e,dst:e,eaton:e,gen:e,mus:e,tec:e,washtenaw:e}],mn:De,mo:De,ms:[1,{k12:e,cc:e}],mt:De,nc:De,nd:Tn,ne:De,nh:De,nj:De,nm:De,nv:De,ny:De,oh:De,ok:De,or:De,pa:De,pr:De,ri:Tn,sc:De,sd:Tn,tn:De,tx:De,ut:De,va:De,vi:De,vt:De,wa:De,wi:De,wv:Bt,wy:De,cloudns:t,"is-by":t,"land-4-sale":t,"stuff-4-sale":t,heliohost:t,enscaled:[0,{phx:t}],mircloud:t,"azure-api":t,azurewebsites:t,ngo:t,golffan:t,noip:t,pointto:t,freeddns:t,srv:[2,{gh:t,gl:t}],servername:t}],uy:[1,{com:e,edu:e,gub:e,mil:e,net:e,org:e,gv:t}],uz:[1,{co:e,com:e,net:e,org:e}],va:e,vc:[1,{com:e,edu:e,gov:e,mil:e,net:e,org:e,gv:[2,{d:t}],"0e":o,mydns:t}],ve:[1,{arts:e,bib:e,co:e,com:e,e12:e,edu:e,emprende:e,firm:e,gob:e,gov:e,ia:e,info:e,int:e,mil:e,net:e,nom:e,org:e,rar:e,rec:e,store:e,tec:e,web:e}],vg:[1,{edu:e}],vi:[1,{co:e,com:e,k12:e,net:e,org:e}],vn:[1,{ac:e,ai:e,biz:e,com:e,edu:e,gov:e,health:e,id:e,info:e,int:e,io:e,name:e,net:e,org:e,pro:e,angiang:e,bacgiang:e,backan:e,baclieu:e,bacninh:e,"baria-vungtau":e,bentre:e,binhdinh:e,binhduong:e,binhphuoc:e,binhthuan:e,camau:e,cantho:e,caobang:e,daklak:e,daknong:e,danang:e,dienbien:e,dongnai:e,dongthap:e,gialai:e,hagiang:e,haiduong:e,haiphong:e,hanam:e,hanoi:e,hatinh:e,haugiang:e,hoabinh:e,hue:e,hungyen:e,khanhhoa:e,kiengiang:e,kontum:e,laichau:e,lamdong:e,langson:e,laocai:e,longan:e,namdinh:e,nghean:e,ninhbinh:e,ninhthuan:e,phutho:e,phuyen:e,quangbinh:e,quangnam:e,quangngai:e,quangninh:e,quangtri:e,soctrang:e,sonla:e,tayninh:e,thaibinh:e,thainguyen:e,thanhhoa:e,thanhphohochiminh:e,thuathienhue:e,tiengiang:e,travinh:e,tuyenquang:e,vinhlong:e,vinhphuc:e,yenbai:e}],vu:ge,wf:[1,{biz:t,sch:t}],ws:[1,{com:e,edu:e,gov:e,net:e,org:e,advisor:o,cloud66:t,dyndns:t,mypets:t}],yt:[1,{org:t}],"xn--mgbaam7a8h":e,\u0627\u0645\u0627\u0631\u0627\u062A:e,"xn--y9a3aq":e,\u0570\u0561\u0575:e,"xn--54b7fta0cc":e,\u09AC\u09BE\u0982\u09B2\u09BE:e,"xn--90ae":e,\u0431\u0433:e,"xn--mgbcpq6gpa1a":e,\u0627\u0644\u0628\u062D\u0631\u064A\u0646:e,"xn--90ais":e,\u0431\u0435\u043B:e,"xn--fiqs8s":e,\u4E2D\u56FD:e,"xn--fiqz9s":e,\u4E2D\u570B:e,"xn--lgbbat1ad8j":e,\u0627\u0644\u062C\u0632\u0627\u0626\u0631:e,"xn--wgbh1c":e,\u0645\u0635\u0631:e,"xn--e1a4c":e,\u0435\u044E:e,"xn--qxa6a":e,\u03B5\u03C5:e,"xn--mgbah1a3hjkrd":e,\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627:e,"xn--node":e,\u10D2\u10D4:e,"xn--qxam":e,\u03B5\u03BB:e,"xn--j6w193g":[1,{"xn--gmqw5a":e,"xn--55qx5d":e,"xn--mxtq1m":e,"xn--wcvs22d":e,"xn--uc0atv":e,"xn--od0alg":e}],\u9999\u6E2F:[1,{\u500B\u4EBA:e,\u516C\u53F8:e,\u653F\u5E9C:e,\u6559\u80B2:e,\u7D44\u7E54:e,\u7DB2\u7D61:e}],"xn--2scrj9c":e,\u0CAD\u0CBE\u0CB0\u0CA4:e,"xn--3hcrj9c":e,\u0B2D\u0B3E\u0B30\u0B24:e,"xn--45br5cyl":e,\u09AD\u09BE\u09F0\u09A4:e,"xn--h2breg3eve":e,\u092D\u093E\u0930\u0924\u092E\u094D:e,"xn--h2brj9c8c":e,\u092D\u093E\u0930\u094B\u0924:e,"xn--mgbgu82a":e,\u0680\u0627\u0631\u062A:e,"xn--rvc1e0am3e":e,\u0D2D\u0D3E\u0D30\u0D24\u0D02:e,"xn--h2brj9c":e,\u092D\u093E\u0930\u0924:e,"xn--mgbbh1a":e,\u0628\u0627\u0631\u062A:e,"xn--mgbbh1a71e":e,\u0628\u06BE\u0627\u0631\u062A:e,"xn--fpcrj9c3d":e,\u0C2D\u0C3E\u0C30\u0C24\u0C4D:e,"xn--gecrj9c":e,\u0AAD\u0ABE\u0AB0\u0AA4:e,"xn--s9brj9c":e,\u0A2D\u0A3E\u0A30\u0A24:e,"xn--45brj9c":e,\u09AD\u09BE\u09B0\u09A4:e,"xn--xkc2dl3a5ee0h":e,\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBE:e,"xn--mgba3a4f16a":e,\u0627\u06CC\u0631\u0627\u0646:e,"xn--mgba3a4fra":e,\u0627\u064A\u0631\u0627\u0646:e,"xn--mgbtx2b":e,\u0639\u0631\u0627\u0642:e,"xn--mgbayh7gpa":e,\u0627\u0644\u0627\u0631\u062F\u0646:e,"xn--3e0b707e":e,\uD55C\uAD6D:e,"xn--80ao21a":e,\u049B\u0430\u0437:e,"xn--q7ce6a":e,\u0EA5\u0EB2\u0EA7:e,"xn--fzc2c9e2c":e,\u0DBD\u0D82\u0D9A\u0DCF:e,"xn--xkc2al3hye2a":e,\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8:e,"xn--mgbc0a9azcg":e,\u0627\u0644\u0645\u063A\u0631\u0628:e,"xn--d1alf":e,\u043C\u043A\u0434:e,"xn--l1acc":e,\u043C\u043E\u043D:e,"xn--mix891f":e,\u6FB3\u9580:e,"xn--mix082f":e,\u6FB3\u95E8:e,"xn--mgbx4cd0ab":e,\u0645\u0644\u064A\u0633\u064A\u0627:e,"xn--mgb9awbf":e,\u0639\u0645\u0627\u0646:e,"xn--mgbai9azgqp6j":e,\u067E\u0627\u06A9\u0633\u062A\u0627\u0646:e,"xn--mgbai9a5eva00b":e,\u067E\u0627\u0643\u0633\u062A\u0627\u0646:e,"xn--ygbi2ammx":e,\u0641\u0644\u0633\u0637\u064A\u0646:e,"xn--90a3ac":[1,{"xn--80au":e,"xn--90azh":e,"xn--d1at":e,"xn--c1avg":e,"xn--o1ac":e,"xn--o1ach":e}],\u0441\u0440\u0431:[1,{\u0430\u043A:e,\u043E\u0431\u0440:e,\u043E\u0434:e,\u043E\u0440\u0433:e,\u043F\u0440:e,\u0443\u043F\u0440:e}],"xn--p1ai":e,\u0440\u0444:e,"xn--wgbl6a":e,\u0642\u0637\u0631:e,"xn--mgberp4a5d4ar":e,\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629:e,"xn--mgberp4a5d4a87g":e,\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u0629:e,"xn--mgbqly7c0a67fbc":e,\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u06C3:e,"xn--mgbqly7cvafr":e,\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647:e,"xn--mgbpl2fh":e,\u0633\u0648\u062F\u0627\u0646:e,"xn--yfro4i67o":e,\u65B0\u52A0\u5761:e,"xn--clchc0ea0b2g2a9gcd":e,\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD:e,"xn--ogbpf8fl":e,\u0633\u0648\u0631\u064A\u0629:e,"xn--mgbtf8fl":e,\u0633\u0648\u0631\u064A\u0627:e,"xn--o3cw4h":[1,{"xn--o3cyx2a":e,"xn--12co0c3b4eva":e,"xn--m3ch0j3a":e,"xn--h3cuzk1di":e,"xn--12c1fe0br":e,"xn--12cfi8ixb8l":e}],\u0E44\u0E17\u0E22:[1,{\u0E17\u0E2B\u0E32\u0E23:e,\u0E18\u0E38\u0E23\u0E01\u0E34\u0E08:e,\u0E40\u0E19\u0E47\u0E15:e,\u0E23\u0E31\u0E10\u0E1A\u0E32\u0E25:e,\u0E28\u0E36\u0E01\u0E29\u0E32:e,\u0E2D\u0E07\u0E04\u0E4C\u0E01\u0E23:e}],"xn--pgbs0dh":e,\u062A\u0648\u0646\u0633:e,"xn--kpry57d":e,\u53F0\u7063:e,"xn--kprw13d":e,\u53F0\u6E7E:e,"xn--nnx388a":e,\u81FA\u7063:e,"xn--j1amh":e,\u0443\u043A\u0440:e,"xn--mgb2ddes":e,\u0627\u0644\u064A\u0645\u0646:e,xxx:e,ye:r,za:[0,{ac:e,agric:e,alt:e,co:e,edu:e,gov:e,grondar:e,law:e,mil:e,net:e,ngo:e,nic:e,nis:e,nom:e,org:e,school:e,tm:e,web:e}],zm:[1,{ac:e,biz:e,co:e,com:e,edu:e,gov:e,info:e,mil:e,net:e,org:e,sch:e}],zw:[1,{ac:e,co:e,gov:e,mil:e,org:e}],aaa:e,aarp:e,abb:e,abbott:e,abbvie:e,abc:e,able:e,abogado:e,abudhabi:e,academy:[1,{official:t}],accenture:e,accountant:e,accountants:e,aco:e,actor:e,ads:e,adult:e,aeg:e,aetna:e,afl:e,africa:e,agakhan:e,agency:e,aig:e,airbus:e,airforce:e,airtel:e,akdn:e,alibaba:e,alipay:e,allfinanz:e,allstate:e,ally:e,alsace:e,alstom:e,amazon:e,americanexpress:e,americanfamily:e,amex:e,amfam:e,amica:e,amsterdam:e,analytics:e,android:e,anquan:e,anz:e,aol:e,apartments:e,app:[1,{adaptable:t,aiven:t,beget:o,brave:i,clerk:t,clerkstage:t,cloudflare:t,wnext:t,csb:[2,{preview:t}],convex:t,corespeed:t,deta:t,ondigitalocean:t,easypanel:t,encr:[2,{frontend:t}],evervault:a,expo:[2,{on:t,staging:[2,{on:t}]}],edgecompute:t,"on-fleek":t,flutterflow:t,sprites:t,e2b:t,framer:t,gadget:t,github:t,hosted:o,run:[0,{"*":t,mtls:o}],web:t,hackclub:t,hasura:t,onhercules:t,botdash:t,shiptoday:t,leapcell:t,loginline:t,lovable:t,luyani:t,magicpatterns:t,medusajs:t,messerli:t,miren:t,mocha:t,netlify:t,ngrok:t,"ngrok-free":t,developer:o,noop:t,northflank:o,upsun:o,railway:[0,{up:t}],replit:s,nyat:t,snowflake:[0,{"*":t,privatelink:o}],streamlit:t,spawnbase:t,telebit:t,typedream:t,vercel:t,wal:t,wasmer:t,bookonline:t,windsurf:t,base44:t,zeabur:t,zerops:o}],apple:[1,{int:[2,{cloud:[0,{"*":t,r:[0,{"*":t,"ap-north-1":o,"ap-south-1":o,"ap-south-2":o,"eu-central-1":o,"eu-north-1":o,"us-central-1":o,"us-central-2":o,"us-east-1":o,"us-east-2":o,"us-west-1":o,"us-west-2":o,"us-west-3":o}]}]}]}],aquarelle:e,arab:e,aramco:e,archi:e,army:e,art:e,arte:e,asda:e,associates:e,athleta:e,attorney:e,auction:e,audi:e,audible:e,audio:e,auspost:e,author:e,auto:e,autos:e,aws:[1,{on:[0,{"af-south-1":l,"ap-east-1":l,"ap-northeast-1":l,"ap-northeast-2":l,"ap-northeast-3":l,"ap-south-1":l,"ap-south-2":d,"ap-southeast-1":l,"ap-southeast-2":l,"ap-southeast-3":l,"ap-southeast-4":d,"ap-southeast-5":d,"ca-central-1":l,"ca-west-1":d,"eu-central-1":l,"eu-central-2":d,"eu-north-1":l,"eu-south-1":l,"eu-south-2":d,"eu-west-1":l,"eu-west-2":l,"eu-west-3":l,"il-central-1":d,"me-central-1":d,"me-south-1":l,"sa-east-1":l,"us-east-1":l,"us-east-2":l,"us-west-1":l,"us-west-2":l,"ap-southeast-7":m,"mx-central-1":m,"us-gov-east-1":f,"us-gov-west-1":f}],sagemaker:[0,{"ap-northeast-1":h,"ap-northeast-2":h,"ap-south-1":h,"ap-southeast-1":h,"ap-southeast-2":h,"ca-central-1":v,"eu-central-1":h,"eu-west-1":h,"eu-west-2":h,"us-east-1":v,"us-east-2":v,"us-west-2":v,"af-south-1":u,"ap-east-1":u,"ap-northeast-3":u,"ap-south-2":b,"ap-southeast-3":u,"ap-southeast-4":b,"ca-west-1":[0,{notebook:t,"notebook-fips":t}],"eu-central-2":u,"eu-north-1":u,"eu-south-1":u,"eu-south-2":u,"eu-west-3":u,"il-central-1":u,"me-central-1":u,"me-south-1":u,"sa-east-1":u,"us-gov-east-1":S,"us-gov-west-1":S,"us-west-1":[0,{notebook:t,"notebook-fips":t,studio:t}],experiments:o}],repost:[0,{private:o}]}],axa:e,azure:e,baby:e,baidu:e,banamex:e,band:e,bank:e,bar:e,barcelona:e,barclaycard:e,barclays:e,barefoot:e,bargains:e,baseball:e,basketball:[1,{aus:t,nz:t}],bauhaus:e,bayern:e,bbc:e,bbt:e,bbva:e,bcg:e,bcn:e,beats:e,beauty:e,beer:e,berlin:e,best:e,bestbuy:e,bet:e,bharti:e,bible:e,bid:e,bike:e,bing:e,bingo:e,bio:e,black:e,blackfriday:e,blockbuster:e,blog:e,bloomberg:e,blue:e,bms:e,bmw:e,bnpparibas:e,boats:e,boehringer:e,bofa:e,bom:e,bond:e,boo:e,book:e,booking:e,bosch:e,bostik:e,boston:e,bot:e,boutique:e,box:e,bradesco:e,bridgestone:e,broadway:e,broker:e,brother:e,brussels:e,build:[1,{shiptoday:t,v0:t,windsurf:t}],builders:[1,{cloudsite:t}],business:C,buy:e,buzz:e,bzh:e,cab:e,cafe:e,cal:e,call:e,calvinklein:e,cam:e,camera:e,camp:[1,{emf:[0,{at:t}]}],canon:e,capetown:e,capital:e,capitalone:e,car:e,caravan:e,cards:e,care:e,career:e,careers:e,cars:e,casa:[1,{nabu:[0,{ui:t}]}],case:[1,{sav:t}],cash:e,casino:e,catering:e,catholic:e,cba:e,cbn:e,cbre:e,center:e,ceo:e,cern:e,cfa:e,cfd:e,chanel:e,channel:e,charity:e,chase:e,chat:e,cheap:e,chintai:e,christmas:e,chrome:e,church:e,cipriani:e,circle:e,cisco:e,citadel:e,citi:e,citic:e,city:e,claims:e,cleaning:e,click:e,clinic:e,clinique:e,clothing:e,cloud:[1,{antagonist:t,begetcdn:o,convex:I,elementor:t,emergent:t,encoway:[0,{eu:t}],statics:o,ravendb:t,axarnet:[0,{"es-1":t}],diadem:t,jelastic:[0,{vip:t}],jele:t,"jenv-aruba":[0,{aruba:[0,{eur:[0,{it1:t}]}],it1:t}],keliweb:[2,{cs:t}],oxa:[2,{tn:t,uk:t}],primetel:[2,{uk:t}],reclaim:[0,{ca:t,uk:t,us:t}],trendhosting:[0,{ch:t,de:t}],jote:t,jotelulu:t,kuleuven:t,laravel:t,linkyard:t,magentosite:o,matlab:t,observablehq:t,perspecta:t,vapor:t,"on-rancher":o,scw:[0,{baremetal:[0,{"fr-par-1":t,"fr-par-2":t,"nl-ams-1":t}],"fr-par":[0,{cockpit:t,ddl:t,dtwh:t,fnc:[2,{functions:t}],ifr:t,k8s:M,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t,whm:t}],instances:[0,{priv:t,pub:t}],k8s:t,"nl-ams":[0,{cockpit:t,ddl:t,dtwh:t,ifr:t,k8s:M,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t,whm:t}],"pl-waw":[0,{cockpit:t,ddl:t,dtwh:t,ifr:t,k8s:M,kafk:t,mgdb:t,rdb:t,s3:t,"s3-website":t,scbl:t}],scalebook:t,smartlabeling:t}],servebolt:t,onstackit:[0,{runs:t}],trafficplex:t,"unison-services":t,urown:t,voorloper:t,zap:t}],club:[1,{cloudns:t,jele:t,barsy:t}],clubmed:e,coach:e,codes:[1,{owo:o}],coffee:e,college:e,cologne:e,commbank:e,community:[1,{nog:t,ravendb:t,myforum:t}],company:[1,{mybox:t}],compare:e,computer:e,comsec:e,condos:e,construction:e,consulting:e,contact:e,contractors:e,cooking:e,cool:[1,{elementor:t,de:t}],corsica:e,country:e,coupon:e,coupons:e,courses:e,cpa:e,credit:e,creditcard:e,creditunion:e,cricket:e,crown:e,crs:e,cruise:e,cruises:e,cuisinella:e,cymru:e,cyou:e,dad:e,dance:e,data:e,date:e,dating:e,datsun:e,day:e,dclk:e,dds:e,deal:e,dealer:e,deals:e,degree:e,delivery:e,dell:e,deloitte:e,delta:e,democrat:e,dental:e,dentist:e,desi:e,design:[1,{graphic:t,bss:t}],dev:[1,{myaddr:t,panel:t,bearblog:t,brave:i,lcl:o,lclstage:o,stg:o,stgstage:o,pages:t,r2:t,workers:t,deno:t,"deno-staging":t,deta:t,lp:[2,{api:t,objects:t}],evervault:a,fly:t,githubpreview:t,gateway:o,grebedoc:t,botdash:t,inbrowser:o,"is-a-good":t,iserv:t,leapcell:t,runcontainers:t,localcert:[0,{user:o}],loginline:t,barsy:t,mediatech:t,"mocha-sandbox":t,modx:t,ngrok:t,"ngrok-free":t,"is-a-fullstack":t,"is-cool":t,"is-not-a":t,localplayer:t,xmit:t,"platter-app":t,replit:[2,{archer:t,bones:t,canary:t,global:t,hacker:t,id:t,janeway:t,kim:t,kira:t,kirk:t,odo:t,paris:t,picard:t,pike:t,prerelease:t,reed:t,riker:t,sisko:t,spock:t,staging:t,sulu:t,tarpit:t,teams:t,tucker:t,wesley:t,worf:t}],crm:[0,{aa:o,ab:o,ac:o,ad:o,ae:o,af:o,ci:o,d:o,pa:o,pb:o,pc:o,pd:o,pe:o,pf:o,w:o,wa:o,wb:o,wc:o,wd:o,we:o,wf:o}],erp:it,vercel:t,webhare:o,hrsn:t,"is-a":t}],dhl:e,diamonds:e,diet:e,digital:[1,{cloudapps:[2,{london:t}]}],direct:[1,{libp2p:t}],directory:e,discount:e,discover:e,dish:e,diy:[1,{discourse:t,imagine:t}],dnp:e,docs:e,doctor:e,dog:e,domains:e,dot:e,download:e,drive:e,dtv:e,dubai:e,dupont:e,durban:e,dvag:e,dvr:e,earth:e,eat:e,eco:e,edeka:e,education:C,email:[1,{crisp:[0,{on:t}],intouch:t,tawk:jt,tawkto:jt}],emerck:e,energy:e,engineer:e,engineering:e,enterprises:e,epson:e,equipment:e,ericsson:e,erni:e,esq:e,estate:[1,{compute:o}],eurovision:e,eus:[1,{party:We}],events:[1,{koobin:t,co:t}],exchange:e,expert:e,exposed:e,express:e,extraspace:e,fage:e,fail:e,fairwinds:e,faith:e,family:e,fan:e,fans:e,farm:[1,{storj:t}],farmers:e,fashion:e,fast:e,fedex:e,feedback:e,ferrari:e,ferrero:e,fidelity:e,fido:e,film:e,final:e,finance:e,financial:C,fire:e,firestone:e,firmdale:e,fish:e,fishing:e,fit:e,fitness:e,flickr:e,flights:e,flir:e,florist:e,flowers:e,fly:e,foo:e,food:e,football:e,ford:e,forex:e,forsale:e,forum:e,foundation:e,fox:e,free:e,fresenius:e,frl:e,frogans:e,frontier:e,ftr:e,fujitsu:e,fun:ut,fund:e,furniture:e,futbol:e,fyi:e,gal:e,gallery:e,gallo:e,gallup:e,game:e,games:[1,{pley:t,sheezy:t}],gap:e,garden:e,gay:[1,{pages:t}],gbiz:e,gdn:[1,{cnpy:t}],gea:e,gent:e,genting:e,george:e,ggee:e,gift:e,gifts:e,gives:e,giving:e,glass:e,gle:e,global:[1,{appwrite:t}],globo:e,gmail:e,gmbh:e,gmo:e,gmx:e,godaddy:e,gold:e,goldpoint:e,golf:e,goodyear:e,goog:[1,{cloud:t,translate:t,usercontent:o}],google:e,gop:e,got:e,grainger:e,graphics:e,gratis:e,green:e,gripe:e,grocery:e,group:[1,{discourse:t}],gucci:e,guge:e,guide:e,guitars:e,guru:e,hair:e,hamburg:e,hangout:e,haus:e,hbo:e,hdfc:e,hdfcbank:e,health:[1,{hra:t}],healthcare:e,help:e,helsinki:e,here:e,hermes:e,hiphop:e,hisamitsu:e,hitachi:e,hiv:e,hkt:e,hockey:e,holdings:e,holiday:e,homedepot:e,homegoods:e,homes:e,homesense:e,honda:e,horse:e,hospital:e,host:[1,{cloudaccess:t,freesite:t,easypanel:t,emergent:t,fastvps:t,myfast:t,gadget:t,tempurl:t,wpmudev:t,iserv:t,jele:t,mircloud:t,bolt:t,wp2:t,half:t}],hosting:[1,{opencraft:t}],hot:e,hotel:e,hotels:e,hotmail:e,house:e,how:e,hsbc:e,hughes:e,hyatt:e,hyundai:e,ibm:e,icbc:e,ice:e,icu:e,ieee:e,ifm:e,ikano:e,imamat:e,imdb:e,immo:e,immobilien:e,inc:e,industries:e,infiniti:e,ing:e,ink:e,institute:e,insurance:e,insure:e,international:e,intuit:e,investments:e,ipiranga:e,irish:e,ismaili:e,ist:e,istanbul:e,itau:e,itv:e,jaguar:e,java:e,jcb:e,jeep:e,jetzt:e,jewelry:e,jio:e,jll:e,jmp:e,jnj:e,joburg:e,jot:e,joy:e,jpmorgan:e,jprs:e,juegos:e,juniper:e,kaufen:e,kddi:e,kerryhotels:e,kerryproperties:e,kfh:e,kia:e,kids:e,kim:e,kindle:e,kitchen:e,kiwi:e,koeln:e,komatsu:e,kosher:e,kpmg:e,kpn:e,krd:[1,{co:t,edu:t}],kred:e,kuokgroup:e,kyoto:e,lacaixa:e,lamborghini:e,lamer:e,land:e,landrover:e,lanxess:e,lasalle:e,lat:e,latino:e,latrobe:e,law:e,lawyer:e,lds:e,lease:e,leclerc:e,lefrak:e,legal:e,lego:e,lexus:e,lgbt:e,lidl:e,life:e,lifeinsurance:e,lifestyle:e,lighting:e,like:e,lilly:e,limited:e,limo:e,lincoln:e,link:[1,{myfritz:t,cyon:t,joinmc:t,dweb:o,inbrowser:o,keenetic:t,nftstorage:tn,mypep:t,storacha:tn,w3s:tn}],live:[1,{aem:t,hlx:t,ewp:o}],living:e,llc:e,llp:e,loan:e,loans:e,locker:e,locus:e,lol:[1,{omg:t}],london:e,lotte:e,lotto:e,love:e,lpl:e,lplfinancial:e,ltd:e,ltda:e,lundbeck:e,luxe:e,luxury:e,madrid:e,maif:e,maison:e,makeup:e,man:e,management:e,mango:e,map:e,market:e,marketing:e,markets:e,marriott:e,marshalls:e,mattel:e,mba:e,mckinsey:e,med:e,media:nn,meet:e,melbourne:e,meme:e,memorial:e,men:e,menu:[1,{barsy:t,barsyonline:t}],merck:e,merckmsd:e,miami:e,microsoft:e,mini:e,mint:e,mit:e,mitsubishi:e,mlb:e,mls:e,mma:e,mobile:e,moda:e,moe:e,moi:e,mom:e,monash:e,money:e,monster:e,mormon:e,mortgage:e,moscow:e,moto:e,motorcycles:e,mov:e,movie:e,msd:e,mtn:e,mtr:e,music:e,nab:e,nagoya:e,navy:e,nba:e,nec:e,netbank:e,netflix:e,network:[1,{aem:t,alces:o,appwrite:t,co:t,arvo:t,azimuth:t,tlon:t}],neustar:e,new:e,news:[1,{noticeable:t}],next:e,nextdirect:e,nexus:e,nfl:e,ngo:e,nhk:e,nico:e,nike:e,nikon:e,ninja:e,nissan:e,nissay:e,nokia:e,norton:e,now:e,nowruz:e,nowtv:e,nra:e,nrw:e,ntt:e,nyc:e,obi:e,observer:e,office:e,okinawa:e,olayan:e,olayangroup:e,ollo:e,omega:e,one:[1,{kin:o,service:t,website:t}],ong:e,onl:e,online:[1,{eero:t,"eero-stage":t,websitebuilder:t,leapcell:t,barsy:t}],ooo:e,open:e,oracle:e,orange:[1,{tech:t}],organic:e,origins:e,osaka:e,otsuka:e,ott:e,ovh:[1,{nerdpol:t}],page:[1,{aem:t,hlx:t,codeberg:t,deuxfleurs:t,mybox:t,heyflow:t,prvcy:t,rocky:t,statichost:t,pdns:t,plesk:t}],panasonic:e,paris:e,pars:e,partners:e,parts:e,party:e,pay:e,pccw:e,pet:e,pfizer:e,pharmacy:e,phd:e,philips:e,phone:e,photo:e,photography:e,photos:nn,physio:e,pics:e,pictet:e,pictures:[1,{1337:t}],pid:e,pin:e,ping:e,pink:e,pioneer:e,pizza:[1,{ngrok:t}],place:C,play:e,playstation:e,plumbing:e,plus:[1,{playit:[2,{at:o,with:t}]}],pnc:e,pohl:e,poker:e,politie:e,porn:e,praxi:e,press:e,prime:e,prod:e,productions:e,prof:e,progressive:e,promo:e,properties:e,property:e,protection:e,pru:e,prudential:e,pub:[1,{id:o,kin:o,barsy:t}],pwc:e,qpon:e,quebec:e,quest:e,racing:e,radio:e,read:e,realestate:e,realtor:e,realty:e,recipes:e,red:e,redumbrella:e,rehab:e,reise:e,reisen:e,reit:e,reliance:e,ren:e,rent:e,rentals:e,repair:e,report:e,republican:e,rest:e,restaurant:e,review:e,reviews:[1,{aem:t}],rexroth:e,rich:e,richardli:e,ricoh:e,ril:e,rio:e,rip:[1,{clan:t}],rocks:[1,{myddns:t,stackit:t,"lima-city":t,webspace:t}],rodeo:e,rogers:e,room:e,rsvp:e,rugby:e,ruhr:e,run:[1,{appwrite:o,canva:t,development:t,ravendb:t,liara:[2,{iran:t}],lovable:t,needle:t,build:o,code:o,database:o,migration:o,onporter:t,repl:t,stackit:t,val:it,vercel:t,wix:t}],rwe:e,ryukyu:e,saarland:e,safe:e,safety:e,sakura:e,sale:e,salon:e,samsclub:e,samsung:e,sandvik:e,sandvikcoromant:e,sanofi:e,sap:e,sarl:e,sas:e,save:e,saxo:e,sbi:e,sbs:e,scb:e,schaeffler:e,schmidt:e,scholarships:e,school:e,schule:e,schwarz:e,science:e,scot:[1,{co:t,me:t,org:t,gov:[2,{service:t}]}],search:e,seat:e,secure:e,security:e,seek:e,select:e,sener:e,services:[1,{loginline:t}],seven:e,sew:e,sex:e,sexy:e,sfr:e,shangrila:e,sharp:e,shell:e,shia:e,shiksha:e,shoes:e,shop:[1,{base:t,hoplix:t,barsy:t,barsyonline:t,shopware:t}],shopping:e,shouji:e,show:ut,silk:e,sina:e,singles:e,site:[1,{square:t,canva:X,cloudera:o,convex:I,cyon:t,caffeine:t,fastvps:t,figma:t,"figma-gov":t,preview:t,heyflow:t,jele:t,jouwweb:t,loginline:t,barsy:t,co:t,notion:t,omniwe:t,opensocial:t,madethis:t,support:t,platformsh:o,tst:o,byen:t,sol:t,srht:t,novecore:t,cpanel:t,wpsquared:t,sourcecraft:t}],ski:e,skin:e,sky:e,skype:e,sling:e,smart:e,smile:e,sncf:e,soccer:e,social:e,softbank:e,software:e,sohu:e,solar:e,solutions:e,song:e,sony:e,soy:e,spa:e,space:[1,{myfast:t,heiyu:t,hf:[2,{static:t}],"app-ionos":t,project:t,uber:t,xs4all:t}],sport:e,spot:e,srl:e,stada:e,staples:e,star:e,statebank:e,statefarm:e,stc:e,stcgroup:e,stockholm:e,storage:e,store:[1,{barsy:t,sellfy:t,shopware:t,storebase:t}],stream:e,studio:e,study:e,style:e,sucks:e,supplies:e,supply:e,support:[1,{barsy:t}],surf:e,surgery:e,suzuki:e,swatch:e,swiss:e,sydney:e,systems:[1,{knightpoint:t,miren:t}],tab:e,taipei:e,talk:e,taobao:e,target:e,tatamotors:e,tatar:e,tattoo:e,tax:e,taxi:e,tci:e,tdk:e,team:[1,{discourse:t,jelastic:t}],tech:[1,{cleverapps:t}],technology:C,temasek:e,tennis:e,teva:e,thd:e,theater:e,theatre:e,tiaa:e,tickets:e,tienda:e,tips:e,tires:e,tirol:e,tjmaxx:e,tjx:e,tkmaxx:e,tmall:e,today:[1,{prequalifyme:t}],tokyo:e,tools:[1,{addr:mt,myaddr:t}],top:[1,{ntdll:t,wadl:o}],toray:e,toshiba:e,total:e,tours:e,town:e,toyota:e,toys:e,trade:e,trading:e,training:e,travel:e,travelers:e,travelersinsurance:e,trust:e,trv:e,tube:e,tui:e,tunes:e,tushu:e,tvs:e,ubank:e,ubs:e,unicom:e,university:e,uno:e,uol:e,ups:e,vacations:e,vana:e,vanguard:e,vegas:e,ventures:e,verisign:e,versicherung:e,vet:e,viajes:e,video:e,vig:e,viking:e,villas:e,vin:e,vip:[1,{hidns:t}],virgin:e,visa:e,vision:e,viva:e,vivo:e,vlaanderen:e,vodka:e,volvo:e,vote:e,voting:e,voto:e,voyage:e,wales:e,walmart:e,walter:e,wang:e,wanggou:e,watch:e,watches:e,weather:e,weatherchannel:e,webcam:e,weber:e,website:nn,wed:e,wedding:e,weibo:e,weir:e,whoswho:e,wien:e,wiki:nn,williamhill:e,win:e,windows:e,wine:e,winners:e,wme:e,woodside:e,work:[1,{"imagine-proxy":t}],works:e,world:e,wow:e,wtc:e,wtf:e,xbox:e,xerox:e,xihuan:e,xin:e,"xn--11b4c3d":e,\u0915\u0949\u092E:e,"xn--1ck2e1b":e,\u30BB\u30FC\u30EB:e,"xn--1qqw23a":e,\u4F5B\u5C71:e,"xn--30rr7y":e,\u6148\u5584:e,"xn--3bst00m":e,\u96C6\u56E2:e,"xn--3ds443g":e,\u5728\u7EBF:e,"xn--3pxu8k":e,\u70B9\u770B:e,"xn--42c2d9a":e,\u0E04\u0E2D\u0E21:e,"xn--45q11c":e,\u516B\u5366:e,"xn--4gbrim":e,\u0645\u0648\u0642\u0639:e,"xn--55qw42g":e,\u516C\u76CA:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--5su34j936bgsg":e,\u9999\u683C\u91CC\u62C9:e,"xn--5tzm5g":e,\u7F51\u7AD9:e,"xn--6frz82g":e,\u79FB\u52A8:e,"xn--6qq986b3xl":e,\u6211\u7231\u4F60:e,"xn--80adxhks":e,\u043C\u043E\u0441\u043A\u0432\u0430:e,"xn--80aqecdr1a":e,\u043A\u0430\u0442\u043E\u043B\u0438\u043A:e,"xn--80asehdb":e,\u043E\u043D\u043B\u0430\u0439\u043D:e,"xn--80aswg":e,\u0441\u0430\u0439\u0442:e,"xn--8y0a063a":e,\u8054\u901A:e,"xn--9dbq2a":e,\u05E7\u05D5\u05DD:e,"xn--9et52u":e,\u65F6\u5C1A:e,"xn--9krt00a":e,\u5FAE\u535A:e,"xn--b4w605ferd":e,\u6DE1\u9A6C\u9521:e,"xn--bck1b9a5dre4c":e,\u30D5\u30A1\u30C3\u30B7\u30E7\u30F3:e,"xn--c1avg":e,\u043E\u0440\u0433:e,"xn--c2br7g":e,\u0928\u0947\u091F:e,"xn--cck2b3b":e,\u30B9\u30C8\u30A2:e,"xn--cckwcxetd":e,\u30A2\u30DE\u30BE\u30F3:e,"xn--cg4bki":e,\uC0BC\uC131:e,"xn--czr694b":e,\u5546\u6807:e,"xn--czrs0t":e,\u5546\u5E97:e,"xn--czru2d":e,\u5546\u57CE:e,"xn--d1acj3b":e,\u0434\u0435\u0442\u0438:e,"xn--eckvdtc9d":e,\u30DD\u30A4\u30F3\u30C8:e,"xn--efvy88h":e,\u65B0\u95FB:e,"xn--fct429k":e,\u5BB6\u96FB:e,"xn--fhbei":e,\u0643\u0648\u0645:e,"xn--fiq228c5hs":e,\u4E2D\u6587\u7F51:e,"xn--fiq64b":e,\u4E2D\u4FE1:e,"xn--fjq720a":e,\u5A31\u4E50:e,"xn--flw351e":e,\u8C37\u6B4C:e,"xn--fzys8d69uvgm":e,\u96FB\u8A0A\u76C8\u79D1:e,"xn--g2xx48c":e,\u8D2D\u7269:e,"xn--gckr3f0f":e,\u30AF\u30E9\u30A6\u30C9:e,"xn--gk3at1e":e,\u901A\u8CA9:e,"xn--hxt814e":e,\u7F51\u5E97:e,"xn--i1b6b1a6a2e":e,\u0938\u0902\u0917\u0920\u0928:e,"xn--imr513n":e,\u9910\u5385:e,"xn--io0a7i":e,\u7F51\u7EDC:e,"xn--j1aef":e,\u043A\u043E\u043C:e,"xn--jlq480n2rg":e,\u4E9A\u9A6C\u900A:e,"xn--jvr189m":e,\u98DF\u54C1:e,"xn--kcrx77d1x4a":e,\u98DE\u5229\u6D66:e,"xn--kput3i":e,\u624B\u673A:e,"xn--mgba3a3ejt":e,\u0627\u0631\u0627\u0645\u0643\u0648:e,"xn--mgba7c0bbn0a":e,\u0627\u0644\u0639\u0644\u064A\u0627\u0646:e,"xn--mgbab2bd":e,\u0628\u0627\u0632\u0627\u0631:e,"xn--mgbca7dzdo":e,\u0627\u0628\u0648\u0638\u0628\u064A:e,"xn--mgbi4ecexp":e,\u0643\u0627\u062B\u0648\u0644\u064A\u0643:e,"xn--mgbt3dhd":e,\u0647\u0645\u0631\u0627\u0647:e,"xn--mk1bu44c":e,\uB2F7\uCEF4:e,"xn--mxtq1m":e,\u653F\u5E9C:e,"xn--ngbc5azd":e,\u0634\u0628\u0643\u0629:e,"xn--ngbe9e0a":e,\u0628\u064A\u062A\u0643:e,"xn--ngbrx":e,\u0639\u0631\u0628:e,"xn--nqv7f":e,\u673A\u6784:e,"xn--nqv7fs00ema":e,\u7EC4\u7EC7\u673A\u6784:e,"xn--nyqy26a":e,\u5065\u5EB7:e,"xn--otu796d":e,\u62DB\u8058:e,"xn--p1acf":[1,{"xn--90amc":t,"xn--j1aef":t,"xn--j1ael8b":t,"xn--h1ahn":t,"xn--j1adp":t,"xn--c1avg":t,"xn--80aaa0cvac":t,"xn--h1aliz":t,"xn--90a1af":t,"xn--41a":t}],\u0440\u0443\u0441:[1,{\u0431\u0438\u0437:t,\u043A\u043E\u043C:t,\u043A\u0440\u044B\u043C:t,\u043C\u0438\u0440:t,\u043C\u0441\u043A:t,\u043E\u0440\u0433:t,\u0441\u0430\u043C\u0430\u0440\u0430:t,\u0441\u043E\u0447\u0438:t,\u0441\u043F\u0431:t,\u044F:t}],"xn--pssy2u":e,\u5927\u62FF:e,"xn--q9jyb4c":e,\u307F\u3093\u306A:e,"xn--qcka1pmc":e,\u30B0\u30FC\u30B0\u30EB:e,"xn--rhqv96g":e,\u4E16\u754C:e,"xn--rovu88b":e,\u66F8\u7C4D:e,"xn--ses554g":e,\u7F51\u5740:e,"xn--t60b56a":e,\uB2F7\uB137:e,"xn--tckwe":e,\u30B3\u30E0:e,"xn--tiq49xqyj":e,\u5929\u4E3B\u6559:e,"xn--unup4y":e,\u6E38\u620F:e,"xn--vermgensberater-ctb":e,verm\u00F6gensberater:e,"xn--vermgensberatung-pwb":e,verm\u00F6gensberatung:e,"xn--vhquv":e,\u4F01\u4E1A:e,"xn--vuq861b":e,\u4FE1\u606F:e,"xn--w4r85el8fhu5dnra":e,\u5609\u91CC\u5927\u9152\u5E97:e,"xn--w4rs40l":e,\u5609\u91CC:e,"xn--xhq521b":e,\u5E7F\u4E1C:e,"xn--zfr164b":e,\u653F\u52A1:e,xyz:[1,{caffeine:t,exe:t,botdash:t,telebit:o}],yachts:e,yahoo:e,yamaxun:e,yandex:e,yodobashi:e,yoga:e,yokohama:e,you:e,youtube:e,yun:e,zappos:e,zara:e,zero:e,zip:e,zone:[1,{stackit:t,lima:t,triton:o}],zuerich:e}]})();function Gb(e,t,n,r){let o=null,i=t;for(;i!==void 0&&((i[0]&r)!==0&&(o={index:n+1,isIcann:(i[0]&1)!==0,isPrivate:(i[0]&2)!==0}),n!==-1);){let a=i[1];i=Object.prototype.hasOwnProperty.call(a,e[n])?a[e[n]]:a["*"],n-=1}return o}function Zl(e,t,n){var r;if(Af(e,t,n))return;let o=e.split("."),i=(t.allowPrivateDomains?2:0)|(t.allowIcannDomains?1:0),a=Gb(o,Wb,o.length-1,i);if(a!==null){n.isIcann=a.isIcann,n.isPrivate=a.isPrivate,n.publicSuffix=o.slice(a.index+1).join(".");return}let s=Gb(o,Kb,o.length-1,i);if(s!==null){n.isIcann=s.isIcann,n.isPrivate=s.isPrivate,n.publicSuffix=o.slice(s.index).join(".");return}n.isIcann=!1,n.isPrivate=!1,n.publicSuffix=(r=o[o.length-1])!==null&&r!==void 0?r:null}var Xb=Jl();function Yb(e,t={}){return Ql(e,5,Zl,t,Jl())}function Jb(e,t={}){return If(Xb),Ql(e,3,Zl,t,Xb).domain}function Rf(e){let t=String(e||"").trim().toLowerCase().replace(/\.$/,"");return t.startsWith("[")&&t.endsWith("]")?t.slice(1,-1):t}function V_(e){let t=String(e||"").trim().toLowerCase();if(!t||t.includes("://")||t.startsWith("//"))return!1;let n=t.split(/[/?#]/)[0]?.trim()||"";return!n||n.startsWith("[")?!1:(n.match(/:/g)||[]).length>=2}function W_(e){let t=String(e||"").trim();return t?/^[a-z][a-z0-9+.-]*:\/\//i.test(t)?t:t.startsWith("//")?`https:${t}`:V_(t)?`https://[${t}]`:`https://${t}`:""}function K_(e){let t=W_(e);if(!t)return"";try{return Rf(new URL(t).hostname)}catch{return""}}function G_(e){return/^\d{1,3}(?:\.\d{1,3}){3}$/.test(e)?e.split(".").every(t=>{let n=Number(t);return Number.isInteger(n)&&n>=0&&n<=255}):!1}function X_(e){if(!e.includes(":"))return!1;try{return Rf(new URL(`https://[${e}]`).hostname)===e}catch{return!1}}function Cf(e){let t=Rf(e);return Yb(t).isIp===!0||G_(t)||X_(t)}function Mf(e){let t=Qn(e);return!!t&&Cf(t)}function Qn(e){return K_(String(e||"").trim().toLowerCase())}function Ws(e){let t=String(e||"").trim().toLowerCase();if(!t)return"";if(t==="*")return"*";let n=t.startsWith("="),r=!n&&t.startsWith("*."),o=n?t.slice(1):r?t.slice(2):t,i=Qn(o);return i?n?`=${i}`:r?`*.${i}`:i:""}function Qb(e,t){return e?t!=="host_only"||e==="*"||e.startsWith("=")||e.startsWith("*.")?e:`=${e}`:""}function mr(e){let t=Qn(e);return t?t==="localhost"||Cf(t)?t:Jb(t,{allowPrivateDomains:!0})||t:""}function Zb(e,t){let n=Qn(e);return n?n==="localhost"||Cf(n)?`=${n}`:t==="host_only"?`=${n}`:mr(n):""}function Ks(e,t,n){let r=Array.isArray(e)?e:typeof e=="string"&&e.trim()?[e]:[],o=new Set;for(let i of r){let a=Qb(Ws(String(i||"")),n);a&&o.add(a)}if(!o.size){let i=Zb(t,n);i&&o.add(i)}return Array.from(o)}function ed(e,t){let n=Qn(e),r=Ws(t);if(!n||!r)return!1;if(r==="*")return!0;if(r.startsWith("=")){let o=r.slice(1);return!!o&&n===o}if(r.startsWith("*.")){let o=r.slice(2);return!o||n===o?!1:n.endsWith(`.${o}`)}return n===r?!0:n.endsWith(`.${r}`)}function Zn(e){return Qn(e)||null}function Fr(e,t){let n=Zn(e);return n?t.length?t.some(r=>ed(n,r)):!0:!1}function Gs(e){let t=Qn(e.host||"");if(!t)return!1;let n=e.domainScopeMode==="host_only"?"host_only":"registrable_domain",r=Array.isArray(e.allowedDomains)?e.allowedDomains.map(i=>Ws(i)).map(i=>Qb(i,n)).filter(Boolean):[];if(r.length>0)return r.some(i=>ed(t,i));let o=Qn(e.currentHost||"");return o?n==="host_only"?t===o:mr(t)===mr(o):!0}var Nf=new Set([z.describe_images,z.wait_action,z.wait_for_element,z.answer_task,z.solve_captcha,z.network_run_recipe]),Y_=new Set([z.goto_url,z.google_search,z.go_back,z.go_forward,z.refresh_page,z.open_new_tab,z.switch_tab,z.close_tab]);function J_(e){return e==="open_url_new_tab"?z.open_new_tab:String(e||"").trim()}function ey(e){let t=J_(String(e.toolName||""));return!t||Nf.has(t)||Y_.has(t)?!1:!Fr(e.currentUrl,e.allowedDomains)}var od=class od{constructor(t={}){q(this,"root");q(this,"includeFrames");q(this,"disableDomAnnotations");q(this,"allowActions");q(this,"runtimeId");q(this,"domainScopeMode");q(this,"allowedDomains");q(this,"registerOpenedTab");q(this,"listKnownTabs");q(this,"switchToLogicalTab");q(this,"onNavigationGuardrail");q(this,"onBeforeAgentNavigation");q(this,"onBeforeCrossHostNavigation");q(this,"instrumentation");q(this,"highlightEl",null);q(this,"clientTools",new Map);q(this,"navigationDelayMs");q(this,"domSettleDebounceMs");q(this,"domSettleMaxWaitMs");q(this,"domSettleRetries");q(this,"sparseTreeRetryDelayMs");q(this,"sparseTreeRetryMaxAttempts");q(this,"uploadStore",new Map);q(this,"uploadProviderInstalled",!1);q(this,"actionGateContext",{});q(this,"instrumentationStarted",!1);this.root=t.root??document.body??document.documentElement,this.includeFrames=t.includeFrames??!0,this.disableDomAnnotations=t.disableDomAnnotations??!0,this.allowActions=t.allowActions??!0,this.runtimeId=t.runtimeId,this.domainScopeMode=ty(t.domainScopeMode),this.allowedDomains=Ks(t.allowedDomains,window.location.hostname,this.domainScopeMode),this.registerOpenedTab=t.registerOpenedTab,this.listKnownTabs=t.listKnownTabs,this.switchToLogicalTab=t.switchToLogicalTab,this.onNavigationGuardrail=t.onNavigationGuardrail,this.onBeforeAgentNavigation=t.onBeforeAgentNavigation,this.onBeforeCrossHostNavigation=t.onBeforeCrossHostNavigation,this.navigationDelayMs=t.navigationDelayMs??80,this.domSettleDebounceMs=Xs(t.domSettle?.debounceMs,24,8,500),this.domSettleMaxWaitMs=Xs(t.domSettle?.maxWaitMs,220,80,5e3),this.domSettleRetries=Xs(t.domSettle?.retries,0,0,6),this.sparseTreeRetryDelayMs=Xs(t.domSettle?.sparseTreeRetryDelayMs,35,20,1e3),this.sparseTreeRetryMaxAttempts=Xs(t.domSettle?.sparseTreeRetryMaxAttempts,1,0,4),this.instrumentation=t.instrumentation??jb({includeIframes:!0,scanInlineHandlers:!0,observeInlineMutations:!0,...t.instrumentationOptions||{}}),_b(),t.uploadBytesProvider&&this.setUploadBytesProvider(t.uploadBytesProvider)}setAllowActions(t){this.allowActions=!!t}setActionGateContext(t){let n={};(t?.mode==="controller"||t?.mode==="observer")&&(n.mode=t.mode),typeof t?.controllerRuntimeId=="string"&&t.controllerRuntimeId.trim()&&(n.controllerRuntimeId=t.controllerRuntimeId.trim()),Number.isFinite(Number(t?.activeLogicalTabId))&&Number(t?.activeLogicalTabId)>0&&(n.activeLogicalTabId=Number(t?.activeLogicalTabId)),Number.isFinite(Number(t?.localLogicalTabId))&&Number(t?.localLogicalTabId)>0&&(n.localLogicalTabId=Number(t?.localLogicalTabId)),typeof t?.reason=="string"&&t.reason.trim()&&(n.reason=t.reason.trim().slice(0,240)),this.actionGateContext=n}setNavigationPolicy(t){t.domainScopeMode&&(this.domainScopeMode=ty(t.domainScopeMode),t.allowedDomains||(this.allowedDomains=Ks(void 0,window.location.hostname,this.domainScopeMode))),t.allowedDomains&&(this.allowedDomains=Ks(t.allowedDomains,window.location.hostname,this.domainScopeMode))}async getSnapshot(){return await this.ensureListenerScan(),qs(this.root,this.instrumentation,{includeFrames:this.includeFrames,disableDomAnnotations:this.disableDomAnnotations})}async getPageData(t){await this.ensureListenerScan();let n=Hl(t?.pageConfig),r={...zo,...n||{},adaptiveSettleDebounceMs:typeof n?.adaptiveSettleDebounceMs=="number"?n.adaptiveSettleDebounceMs:this.domSettleDebounceMs,adaptiveSettleMaxWaitMs:typeof n?.adaptiveSettleMaxWaitMs=="number"?n.adaptiveSettleMaxWaitMs:this.domSettleMaxWaitMs,adaptiveSettleRetries:typeof n?.adaptiveSettleRetries=="number"?n.adaptiveSettleRetries:this.domSettleRetries,sparseTreeRetryDelayMs:typeof n?.sparseTreeRetryDelayMs=="number"?n.sparseTreeRetryDelayMs:this.sparseTreeRetryDelayMs,sparseTreeRetryMaxAttempts:typeof n?.sparseTreeRetryMaxAttempts=="number"?n.sparseTreeRetryMaxAttempts:this.sparseTreeRetryMaxAttempts};return await Pb(this.root,this.instrumentation,{includeFrames:this.includeFrames,disableDomAnnotations:this.disableDomAnnotations,pageConfig:r})}ensureInstrumentationStarted(){this.instrumentationStarted||($b(),this.instrumentationStarted=!0)}async ensureListenerScan(){this.ensureInstrumentationStarted();try{let n=(this.root.ownerDocument||document).defaultView||window,r=n.__RTRVR_INTERNAL_KEY__||"__RTRVR_INTERNAL__",i=n[r]?.flushScan;if(typeof i=="function"){await i({mode:"priority",includeShadow:!0,includeSameOriginIframes:!0,budgetMs:400});return}n.rtrvrAIMarkInteractiveElements?.()}catch{}}async executeTool(t,n){let r=Q_(t?.name);if(!r)return{success:!1,error:`Unknown tool: ${String(t?.name)}`,allowFallback:!1};if(this.shouldBlockForOutOfScopeContext(r)){let b=`Current tab host "${Zn(window.location.href)||window.location.hostname||"unknown"}" is outside the allowed navigation scope (${Z_(this.allowedDomains)}).`;return this.domainScopeBlockedResponse(window.location.href,b,{fromCurrentContext:!0})}if(!this.allowActions&&!Nf.has(r))return{success:!1,error:"Actions disabled by configuration",allowFallback:!1,output:{reason:this.actionGateContext.mode==="observer"?"Actions are disabled because this tab is currently in observer mode.":this.actionGateContext.reason||"Actions disabled by configuration",actionGate:this.actionGateContext}};let o=await this.handleNavigationTools(r,t?.args||{});if(o)return o;if(r===z.wait_action){let h=Number(t?.args?.duration??1e3);return await new Promise(b=>setTimeout(b,Math.max(0,Math.min(h,6e4)))),{success:!0}}if(r===z.wait_for_element)return this.waitForElement(t?.args||{});if(r===z.answer_task)return{success:!0};if(r===z.solve_captcha)return nd("CAPTCHA solving requires human intervention in embed mode.","HUMAN_INTERVENTION_REQUIRED");if(r===z.network_run_recipe)return nd("network_run_recipe is not supported in embed mode.","CAPABILITY_UNAVAILABLE");let i=t?.args||{},a=nE(i);a&&await this.ensureListenerScan();let s=va(document,i.iframe_id);if(i.iframe_id!=null&&s.unresolvedPath.length>0&&!a)return this.iframeContextUnavailableResponse(i.iframe_id,s);if(r===z.click_element&&i?.open_in_new_tab)return this.openElementInNewTab(i);if(r===z.click_element){let h=this.getInterceptedClickTarget(i);if(h?.targetUrl){if(h.forceOpenInNewTab)return this.openUrlInNewTab(h.targetUrl,{policyBlocked:!0,reason:h.reason,decisionReason:"open_new_tab"});let S=h.reason;return this.openUrlInNewTab(h.targetUrl,{policyBlocked:!0,reason:S,decisionReason:"open_new_tab"})}let b=this.getClickTargetInfo(i),v=b?.targetUrl||null;if(v){let S=this.buildNavigationIntent(v,{preferredDisposition:b?.preferredDisposition});if(S.isCrossHost){let k=await this.resolveAgentNavigationDecision(S,this.getNavigationFallbackDecision(v,S.preferredDisposition));if(k.decision==="block")return this.domainScopeBlockedResponse(v,k.reason||"Navigation blocked by policy.",{decisionReason:k.decisionReason||"policy_blocked"});if(k.decision==="open_new_tab")return this.openUrlInNewTab(v,{policyBlocked:!0,reason:k.reason||"Navigation policy requires opening a new tab.",decisionReason:k.decisionReason||"open_new_tab"});this.notifyCrossHostNavigation(S)}else{let k=await this.resolveAgentNavigationDecision(S,"allow_same_tab");if(k.decision==="block")return this.domainScopeBlockedResponse(v,k.reason||"Navigation blocked by policy.",{decisionReason:k.decisionReason||"policy_blocked"});if(k.decision==="open_new_tab")return this.openUrlInNewTab(v,{policyBlocked:!0,reason:k.reason||"Navigation policy requires opening a new tab.",decisionReason:k.decisionReason||"open_new_tab"})}}}if(r===z.describe_images)return this.describeImages(t?.args||{});if(!(r in jl))return{success:!1,error:`Unknown tool: ${String(t?.name)}`,allowFallback:!1};let{doc:c}=s,l=Lf(i),d=l?ur(c,l):null,m;if(d){let h=this.instrumentation.getFrameworkMetadata(d),b=tE(h.listenersRaw||"",r),v=i?.value??i?.text??null;m=eE({...h,pattern:b,value:v})}let f=jl[r];return r===z.upload_file&&!n&&(n=await this.buildUploadPayload(i).catch(()=>{})),Eb({opcode:f,call:{name:r,args:i},elementData:m,tabIndex:0,payload:n})}iframeContextUnavailableResponse(t,n){let o=`iframe_id unresolved: remaining=${n.unresolvedPath.join(">")||"(none)"} (cross-origin, not-ready, or not found)`;return{success:!1,error:o,allowFallback:!1,output:{success:!1,error:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:o,retryable:!1},iframe_context:{requested_iframe_id:t,requested_path:n.iframePath,resolved_path:n.resolvedPath,unresolved_path:n.unresolvedPath}},errorDetails:{code:"IFRAME_CONTEXT_UNAVAILABLE",message:o,retryable:!1,details:{requested_iframe_id:t,requested_path:n.iframePath,resolved_path:n.resolvedPath,unresolved_path:n.unresolvedPath}}}}highlight(t){let n=ur(document,t);if(!n)return;let r=n.getBoundingClientRect();if(!this.highlightEl){let o=document.createElement("div");o.style.position="fixed",o.style.pointerEvents="none",o.style.border="2px solid #ff7a59",o.style.boxShadow="0 0 0 2px rgba(255, 122, 89, 0.2)",o.style.borderRadius="6px",o.style.zIndex="2147483647",this.highlightEl=o,document.body.appendChild(o)}this.highlightEl.style.left=`${r.left}px`,this.highlightEl.style.top=`${r.top}px`,this.highlightEl.style.width=`${Math.max(0,r.width)}px`,this.highlightEl.style.height=`${Math.max(0,r.height)}px`,this.highlightEl.style.display="block"}clearHighlight(){this.highlightEl&&(this.highlightEl.style.display="none")}setUploadBytesProvider(t){window.__ROVER_UPLOAD_BYTES__=t}registerTool(t,n){let r=typeof t=="string"?{name:t}:t;!r?.name||typeof n!="function"||this.clientTools.set(r.name,{handler:n,def:r})}async executeClientTool(t,n){let r=this.clientTools.get(t);if(!r)throw new Error(`Unknown client tool: ${t}`);return r.handler(n)}listClientTools(){return Array.from(this.clientTools.values()).map(t=>t.def)}async handleNavigationTools(t,n){switch(t){case z.goto_url:{let r=String(n.url||"").trim();if(!r)return{success:!1,error:"goto_url: missing url",allowFallback:!0};let o=td(r,window.location.href);if(!o)return{success:!1,error:`goto_url: invalid url "${r}"`,allowFallback:!0};let i=this.getHostOnlySiblingBlockReason(o);if(i)return this.domainScopeBlockedResponse(o,i,{decisionReason:"policy_blocked",policyAction:"block"});if(this.shouldPreserveHostRuntime(o)){let c=this.buildNavigationIntent(o),l=await this.resolveAgentNavigationDecision(c,this.getNavigationFallbackDecision(o,c.preferredDisposition));return(l.decision==="allow_same_tab"?"open_new_tab":l.decision)==="block"?this.domainScopeBlockedResponse(o,l.reason||"Navigation blocked by policy.",{decisionReason:l.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!0,reason:l.reason||"Opened in a new tab to preserve Rover runtime continuity across hostnames.",decisionReason:l.decisionReason||"open_new_tab"})}if(this.shouldGuardExternalNavigation(o))return await this.openUrlInNewTab(o,{policyBlocked:!0,reason:"Navigation blocked by domain policy."});let a=this.buildNavigationIntent(o);if(a.isCrossHost){let c=await this.resolveAgentNavigationDecision(a,this.getNavigationFallbackDecision(o,a.preferredDisposition));return c.decision==="block"?this.domainScopeBlockedResponse(o,c.reason||"Navigation blocked by policy.",{decisionReason:c.decisionReason}):c.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:c.reason||"Navigation policy requires opening a new tab.",decisionReason:c.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:c.decisionReason||"allow_same_tab",reason:c.reason||"Navigation allowed."})}let s=await this.resolveAgentNavigationDecision(a,"allow_same_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason||"policy_blocked"}):s.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:s.reason||"Navigation policy requires opening a new tab.",decisionReason:s.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:s.decisionReason||"allow_same_tab",reason:s.reason||"Navigation allowed."})}case z.google_search:{let r=String(n.query||"").trim();if(!r)return{success:!1,error:"google_search: missing query",allowFallback:!0};let o=`https://www.google.com/search?q=${encodeURIComponent(r)}`,i=this.getHostOnlySiblingBlockReason(o);if(i)return this.domainScopeBlockedResponse(o,i,{decisionReason:"policy_blocked",policyAction:"block"});if(this.shouldPreserveHostRuntime(o)){let c=this.buildNavigationIntent(o),l=await this.resolveAgentNavigationDecision(c,this.getNavigationFallbackDecision(o,c.preferredDisposition));return(l.decision==="allow_same_tab"?"open_new_tab":l.decision)==="block"?this.domainScopeBlockedResponse(o,l.reason||"Navigation blocked by policy.",{decisionReason:l.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!0,reason:l.reason||"Opened in a new tab to preserve Rover runtime continuity across hostnames.",decisionReason:l.decisionReason||"open_new_tab"})}if(this.shouldGuardExternalNavigation(o))return await this.openUrlInNewTab(o,{policyBlocked:!0,reason:"Google search opens outside the allowed navigation scope."});let a=this.buildNavigationIntent(o);if(a.isCrossHost){let c=await this.resolveAgentNavigationDecision(a,this.getNavigationFallbackDecision(o,a.preferredDisposition));return c.decision==="block"?this.domainScopeBlockedResponse(o,c.reason||"Navigation blocked by policy.",{decisionReason:c.decisionReason}):c.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:c.reason||"Navigation policy requires opening a new tab.",decisionReason:c.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:c.decisionReason||"allow_same_tab",reason:c.reason||"Navigation allowed."})}let s=await this.resolveAgentNavigationDecision(a,"allow_same_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason||"policy_blocked"}):s.decision==="open_new_tab"?await this.openUrlInNewTab(o,{policyBlocked:!0,reason:s.reason||"Navigation policy requires opening a new tab.",decisionReason:s.decisionReason||"open_new_tab"}):this.scheduleSameTabNavigation(o,a,{decisionReason:s.decisionReason||"allow_same_tab",reason:s.reason||"Navigation allowed."})}case z.go_back:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("back"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case z.go_forward:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("forward"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case z.refresh_page:{let r=this.buildNavigationIntent(window.location.href,{isCrossHost:!1});return await this.resolveAgentNavigationDecision(r,"allow_same_tab"),this.scheduleHistoryNavigation("reload"),{success:!0,output:{navigation:"same_tab",navigationOutcome:"same_host_navigated",navigationPending:!1,decisionReason:"allow_same_tab"}}}case z.open_new_tab:{let r=String(n.url||"").trim();if(!r)return{success:!1,error:"open_new_tab: missing url",allowFallback:!0};let o=td(r,window.location.href);if(!o)return{success:!1,error:`open_new_tab: invalid url "${r}"`,allowFallback:!0};let i=this.getHostOnlySiblingBlockReason(o);if(i)return this.domainScopeBlockedResponse(o,i,{decisionReason:"policy_blocked",policyAction:"block"});let a=this.buildNavigationIntent(o,{preferredDisposition:"new_tab"}),s=await this.resolveAgentNavigationDecision(a,"open_new_tab");return s.decision==="block"?this.domainScopeBlockedResponse(o,s.reason||"Navigation blocked by policy.",{decisionReason:s.decisionReason}):await this.openUrlInNewTab(o,{policyBlocked:!1,reason:s.reason,decisionReason:s.decisionReason||"open_new_tab"})}case z.switch_tab:{let r=Number(n.logical_tab_id??n.tab_id);if(!Number.isFinite(r)||r<=0)return{success:!1,error:(typeof n._tab_id_mapping_error=="string"?String(n._tab_id_mapping_error).trim():"")||"switch_tab: missing/invalid logical_tab_id",allowFallback:!0};if(this.listKnownTabs){let o=this.listKnownTabs().find(i=>Number(i.logicalTabId)===r);if(o?.external)return this.domainScopeBlockedResponse(o.url||`logical_tab_id:${r}`,`Tab ${r} is out of scope. Direct actions are blocked for this tab.`)}if(!this.switchToLogicalTab)return nd("switch_tab requires session coordinator support.","CAPABILITY_UNAVAILABLE");try{let o=await this.switchToLogicalTab(r);return o?.ok?{success:!0,output:{logicalTabId:r,delegated:!!o.delegated,mode:o.delegated?"delegated":"local"}}:{success:!1,error:o?.reason||`switch_tab failed for logical tab ${r}`,allowFallback:!0}}catch(o){return{success:!1,error:o?.message||"switch_tab failed",allowFallback:!0}}}case z.close_tab:try{return window.close(),{success:!0}}catch{return nd("close_tab failed in embed mode.","CAPABILITY_UNAVAILABLE")}default:return null}}shouldGuardExternalNavigation(t){return!Fr(t,this.allowedDomains)}getHostOnlySiblingBlockReason(t){if(this.domainScopeMode!=="host_only")return null;let n=Zn(window.location.href)||window.location.hostname||"",r=Zn(t)||"";if(!n||!r||n===r||Fr(t,this.allowedDomains))return null;let o=mr(n),i=mr(r);return!o||o!==i?null:`Blocked navigation to ${r}. This Rover site uses host_only exact-host scope, so other hosts on the same registrable domain are out of scope unless explicitly allowed. Do NOT retry this host. Continue on ${n} or explain the limitation.`}shouldPreserveHostRuntime(t){return!Fr(t,this.allowedDomains)}getNavigationFallbackDecision(t,n){return t?this.getHostOnlySiblingBlockReason(t)?"block":Fr(t,this.allowedDomains)?n==="new_tab"?"open_new_tab":"allow_same_tab":"open_new_tab":"allow_same_tab"}isCrossHostNavigation(t){let n=Zn(window.location.href),r=Zn(t);return!n||!r?!1:n!==r}buildNavigationIntent(t,n){let r="";try{r=crypto.randomUUID()}catch{r=`handoff_${Date.now()}_${Math.floor(Math.random()*1e5)}`}return{handoffId:r,targetUrl:t,sourceRuntimeId:this.runtimeId,sourceLogicalTabId:this.actionGateContext.localLogicalTabId,runId:n?.runId,isCrossHost:n?.isCrossHost??this.isCrossHostNavigation(t),preferredDisposition:n?.preferredDisposition||"auto",ts:Date.now()}}async resolveAgentNavigationDecision(t,n){let r={decision:n,decisionReason:n==="block"?"policy_blocked":n==="open_new_tab"?"open_new_tab":"allow_same_tab"};if(!this.onBeforeAgentNavigation)return r;try{let o=this.onBeforeAgentNavigation(t),i=await this.awaitWithTimeout(o,od.NAV_PREFLIGHT_TIMEOUT_MS);if(!i||typeof i!="object")return r;let a=String(i.decision||"").trim();return{decision:a==="allow_same_tab"||a==="open_new_tab"||a==="block"?a:a==="stale_run"?n:r.decision,reason:String(i.reason||"").trim()||void 0,decisionReason:String(i.decisionReason||"").trim()||r.decisionReason}}catch{return r}}async awaitWithTimeout(t,n){let r=t;return!r||typeof r.then!="function"?t:await Promise.race([r,new Promise(o=>{window.setTimeout(()=>o(void 0),Math.max(0,n))})])}scheduleHistoryNavigation(t){window.setTimeout(()=>{t==="back"?window.history.back():t==="forward"?window.history.forward():window.location.reload()},this.navigationDelayMs)}scheduleSameTabNavigation(t,n,r){let o=n.isCrossHost===!0,i=Fr(t,this.allowedDomains);return o&&this.notifyCrossHostNavigation(n),i?(window.setTimeout(()=>{try{window.location.href=t}catch{window.location.assign(t)}},this.navigationDelayMs),{success:!0,output:{url:t,navigation:"same_tab",navigationOutcome:o?"subdomain_navigated":"same_host_navigated",navigationPending:!1,decisionReason:r?.decisionReason||"allow_same_tab",reason:r?.reason,...r?.convertedFrom?{convertedFrom:r.convertedFrom}:{}}}):(window.setTimeout(()=>{try{window.location.href=t}catch{window.location.assign(t)}},Math.max(this.navigationDelayMs,200)),{success:!0,output:{url:t,navigation:"same_tab",navigationOutcome:"same_tab_scheduled",navigationPending:!0,decisionReason:r?.decisionReason||"allow_same_tab",reason:r?.reason,...r?.convertedFrom?{convertedFrom:r.convertedFrom}:{}}})}notifyCrossHostNavigation(t){if(t.isCrossHost)try{this.onBeforeCrossHostNavigation?.(t)}catch{}}shouldBlockForOutOfScopeContext(t){return ey({toolName:t,currentUrl:window.location.href,allowedDomains:this.allowedDomains})}getInterceptedClickTarget(t){let n=this.getClickTargetUrl(t);if(!n)return null;let r=this.getHostOnlySiblingBlockReason(n);return r?{targetUrl:n,reason:r,forceOpenInNewTab:!1}:this.shouldPreserveHostRuntime(n)?{targetUrl:n,reason:"Opened in a new tab to preserve Rover runtime continuity outside allowed domains.",forceOpenInNewTab:!0}:Fr(n,this.allowedDomains)?null:{targetUrl:n,reason:"Blocked same-tab navigation to an out-of-scope destination.",forceOpenInNewTab:!1}}getClickTargetInfo(t){let n=Lf(t);if(!n)return null;let{doc:r}=va(document,t.iframe_id),o=ur(r,n);if(!o)return null;let i=ny(o),a=i?.href||i?.getAttribute("href")||"",s=td(a,window.location.href);if(!s)return null;let c=String(i?.getAttribute("target")||"").trim().toLowerCase();return{targetUrl:s,preferredDisposition:c&&c!=="_self"?"new_tab":"auto"}}getClickTargetUrl(t){return this.getClickTargetInfo(t)?.targetUrl||null}domainScopeBlockedResponse(t,n,r){let o=r?.policyAction||"open_new_tab_notice",i=window.location.href,a=Zn(i)||window.location.hostname||void 0,s=Zn(t)||void 0;return this.emitNavigationGuardrail({blockedUrl:t,currentUrl:i,policyAction:o,reason:n,allowedDomains:this.allowedDomains,openedInNewTab:!1}),{success:!1,error:n,allowFallback:!0,output:{success:!1,error:{code:"DOMAIN_SCOPE_BLOCKED",message:n,missing:[],next_action:o==="block"?"This host is out of scope. Do NOT retry it. Continue on an allowed host or explain the limitation to the user.":"Open the external page in a new tab and continue on the tab Rover chose for that work.",retryable:!1},blocked_url:t,blocked_host:s,current_url:i,current_host:a,policy_action:o,allowed_domains:this.allowedDomains,domain_scope_mode:this.domainScopeMode,blockedDomainStatus:"blocked",navigationOutcome:"blocked",decisionReason:r?.decisionReason||"policy_blocked",from_current_context:!!r?.fromCurrentContext,agentInstruction:o==="block"?`Navigation to ${s||t} is out of scope. Do NOT retry this host. Continue on an allowed host or explain the limitation to the user.`:`Navigation to ${s||t} is blocked by domain policy. Do NOT retry this URL. Acknowledge to user and proceed with the next step.`,blockedDomain:s||t,pageContext:{url:t,title:`[Blocked] ${s||t}`,contentText:`Access to ${s||t} is outside Rover's allowed domain scope. The page content is not available. Continue the task without this resource or use /scrape endpoint if external context is needed.`,accessible:!1}},errorDetails:{code:"DOMAIN_SCOPE_BLOCKED",message:n,retryable:!1,details:{blockedUrl:t,blockedHost:s,currentUrl:i,currentHost:a,policyAction:o,allowedDomains:this.allowedDomains,domainScopeMode:this.domainScopeMode,fromCurrentContext:!!r?.fromCurrentContext}}}}emitNavigationGuardrail(t){try{this.onNavigationGuardrail?.(t)}catch{}}async tryReuseKnownTargetTab(t){if(!this.listKnownTabs||!this.switchToLogicalTab)return;let n=Zn(t);if(!n)return;let r=Number(this.actionGateContext.localLogicalTabId),o=a=>{if(a)try{let s=new URL(a);return s.hash="",s.toString()}catch{return}},i=o(t);try{let a=this.listKnownTabs(),s=a.find(m=>Number(m.logicalTabId)===r?!1:o(m.url)===i),c=s||a.find(m=>Number(m.logicalTabId)===r?!1:Zn(m.url||"")===n),l=s||c;return!l||!(await this.switchToLogicalTab(l.logicalTabId))?.ok?void 0:{logicalTabId:l.logicalTabId,reusedBy:s?"exact_url":"same_host"}}catch{return}}async openUrlInNewTab(t,n){let r=this.getHostOnlySiblingBlockReason(t);if(r)return this.domainScopeBlockedResponse(t,r,{decisionReason:n?.decisionReason||"policy_blocked",policyAction:"block"});let o=!Fr(t,this.allowedDomains),i=await this.tryReuseKnownTargetTab(t);if(i){let f=n?.policyBlocked?n.reason||"Opened in another Rover tab to preserve Rover runtime continuity.":void 0;return n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:f||"Opened in another Rover tab to preserve Rover runtime continuity.",allowedDomains:this.allowedDomains,openedInNewTab:!0}),{success:!0,output:{url:t,external:o,logicalTabId:i.logicalTabId,openedInNewTab:!0,reusedExistingTab:!0,reusedBy:i.reusedBy,navigationOutcome:"switch_tab",navigationPending:!0,decisionReason:n?.decisionReason||"open_new_tab",policyBlocked:!!n?.policyBlocked,message:f},allowFallback:!0}}let a=this.snapshotKnownTabIds(),s=this.openVerifiedPopup(t),c;if(s.opened&&this.registerOpenedTab)try{c=(await this.registerOpenedTab({url:t,title:void 0,external:o,openerRuntimeId:this.runtimeId}))?.logicalTabId}catch{}if(s.opened&&!c&&(c=await this.reconcileOpenedTab(t,a)),!s.opened){let f=await this.reconcileOpenedTab(t,a);f&&(s={opened:!0,verified:!1},c=c||f)}let l=s.opened&&!c&&!!this.registerOpenedTab;if(!s.opened){let f="Browser popup settings blocked opening a new tab.";return n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:n.reason||f,allowedDomains:this.allowedDomains,openedInNewTab:!1}),{success:!1,error:"open_new_tab blocked by browser popup settings",allowFallback:!0,output:{url:t,external:o,logicalTabId:c,navigationOutcome:"blocked",decisionReason:n?.decisionReason||"policy_blocked"},errorDetails:{code:"POPUP_BLOCKED",message:f,retryable:!0,next_action:"Allow popups for this site and try again."}}}let d=n?.policyBlocked?n.reason||"Opened in a new tab due to domain policy.":void 0;n?.policyBlocked&&this.emitNavigationGuardrail({blockedUrl:t,currentUrl:window.location.href,policyAction:"open_new_tab_notice",reason:d||"Opened in new tab due to domain policy.",allowedDomains:this.allowedDomains,openedInNewTab:!0});let m=[];return l&&m.push("Tab opened but registration failed; tab may not be targetable."),s.verified||m.push("Tab open was triggered, but browser did not return a popup handle."),{success:!0,output:{url:t,external:o,logicalTabId:c,openedInNewTab:!0,navigationOutcome:"new_tab_opened",navigationPending:!0,decisionReason:n?.decisionReason||"open_new_tab",openVerification:s.verified?"verified":"unverified",policyBlocked:!!n?.policyBlocked,message:d,...m.length?{warning:m.join(" ")}:{}},allowFallback:!0}}openVerifiedPopup(t){let n=window.open("about:blank","_blank");if(n){try{n.opener=null}catch{}try{n.location.href=t}catch{}return{opened:!0,verified:!0}}try{let r=window.open(t,"_blank");if(r){try{r.opener=null}catch{}return{opened:!0,verified:!0}}}catch{}try{let r=window.open(t,"_blank","noopener,noreferrer");if(r){try{r.opener=null}catch{}return{opened:!0,verified:!0}}return{opened:!0,verified:!1}}catch{}try{let r=document.createElement("a");return r.href=t,r.target="_blank",r.rel="noopener noreferrer",r.style.display="none",document.body.appendChild(r),r.click(),r.remove(),{opened:!0,verified:!1}}catch{return{opened:!1,verified:!1}}}snapshotKnownTabIds(){let t=new Set;if(!this.listKnownTabs)return t;try{let n=this.listKnownTabs();for(let r of n){let o=Number(r?.logicalTabId);!Number.isFinite(o)||o<=0||t.add(o)}}catch{return t}return t}async reconcileOpenedTab(t,n){if(!this.listKnownTabs)return;let r=Zn(t),o=Date.now()+2e3;for(;Date.now()<o;){try{let i=this.listKnownTabs();for(let a of i){let s=Number(a?.logicalTabId);if(!Number.isFinite(s)||s<=0||n.has(s))continue;let c=String(a?.url||"").trim();if(!c)return s;let l=Zn(c);if(!r||!l||l===r)return s}}catch{}await new Promise(i=>setTimeout(i,120))}}async openElementInNewTab(t){let n=Lf(t);if(!n)return{success:!1,error:"click_element with open_in_new_tab requires element_id.",allowFallback:!0};let{doc:r}=va(document,t.iframe_id),o=ur(r,n);if(!o)return{success:!1,error:`click_element: element_id ${String(n)} not found.`,allowFallback:!0};let i=ny(o),a=i?.href||i?.getAttribute("href")||"",s=td(a,window.location.href);return s?await this.openUrlInNewTab(s,{policyBlocked:!1}):{success:!1,error:"click_element open_in_new_tab only works when target resolves to a valid link URL.",allowFallback:!0}}async waitForElement(t){let n=String(t.selector||"").trim(),r=Math.max(0,Math.min(Number(t.timeout??5e3),3e4));if(!n)return{success:!1,error:"wait_for_element: missing selector",allowFallback:!0};let o=Date.now(),i=document;for(;Date.now()-o<r;){let a=null;try{a=i.querySelector(n)}catch{a=null}if(a||(a=rE(i,n)),a)return{success:!0};await new Promise(s=>setTimeout(s,200))}return{success:!1,error:`wait_for_element: not found (${n})`,allowFallback:!0}}async describeImages(t){let n=yb(t);if(!n.length)return{success:!1,error:"describe_images: element_ids is empty",allowFallback:!1};let r=[],o=[];for(let i of n){let a=ur(document,i);if(!a){o.push(`element_id ${i} not found`);continue}try{let s=await oE(a);if(!s?.data||!s?.mimeType){o.push(`element_id ${i}: unsupported image`);continue}r.push({element_id:i,...s})}catch(s){o.push(`element_id ${i}: ${s?.message||String(s)}`)}}return r.length?{success:!0,output:{images:r,errors:o.length?o:void 0}}:{success:!1,error:o[0]||"describe_images failed",output:{images:[],errors:o}}}ensureUploadProvider(){this.uploadProviderInstalled||(this.uploadProviderInstalled=!0,this.setUploadBytesProvider(async({token:t,byteLength:n})=>{this.pruneUploadStore();let r=this.uploadStore.get(t);if(!r)throw new Error("upload bytes token not found");if(r.bytes.byteLength!==n)throw new Error("upload bytes size mismatch");return r.bytes}))}pruneUploadStore(){let t=Date.now()-6e5;for(let[n,r]of this.uploadStore.entries())r.createdAt<t&&this.uploadStore.delete(n)}async buildUploadPayload(t){let n=String(t.file_url||"").trim();if(n)try{let r=await gb(0,n,document?.referrer||null),o=r.bytes,i=o.byteLength,a=r.mimeType||t.mime_type||"application/octet-stream",s=t.file_name||r.fileName,c=1024*1024;if(i<=c)return{kind:"upload_file",inlineB64:iy(o),byteLength:i,mimeType:a,fileName:s};this.ensureUploadProvider();let l=crypto.randomUUID();return this.uploadStore.set(l,{bytes:o,createdAt:Date.now()}),{kind:"upload_file",token:l,byteLength:i,mimeType:a,fileName:s,durable:!1}}catch{return}}};q(od,"NAV_PREFLIGHT_TIMEOUT_MS",1500);var rd=od;function Q_(e){return e==="open_url_new_tab"?z.open_new_tab:String(e||"").trim()}function Z_(e){return e.length?e.join(", "):"(none)"}function ty(e){return e==="host_only"?"host_only":"registrable_domain"}function Xs(e,t,n,r){let o=Number(e);return Number.isFinite(o)?Math.max(n,Math.min(r,Math.floor(o))):t}function td(e,t){let n=String(e||"").trim();if(!n)return null;try{return new URL(n,t).toString()}catch{return null}}function ny(e){if(e instanceof HTMLAnchorElement&&e.href)return e;let t=e.closest?.("a[href]");return t instanceof HTMLAnchorElement&&t.href?t:null}function nd(e,t="CAPABILITY_UNAVAILABLE"){return{success:!1,error:e,allowFallback:!0,errorDetails:{code:t,message:e,retryable:!1}}}function eE(e){return{frameworks:(e.frameworks||[]).filter(n=>n in hf).map(n=>hf[n]),listenersRaw:e.listenersRaw??"",role:e.role??null,pattern:e.pattern,value:e.value??null}}function tE(e,t){if(t!==z.click_element)return"standard";let n=ki(e||"");if(!n)return"standard";let r=new Set(n.entries.map(c=>vo[c.id]).filter(c=>typeof c=="string")),o=r.has("click")||r.has("mousedown")||r.has("mouseup")||r.has("pointerdown")||r.has("pointerup")||r.has("touchend");if((r.has("mouseenter")||r.has("mouseover")||r.has("pointerenter"))&&o)return"hover-activate";let a=r.has("touchstart"),s=r.has("touchend");return a&&s?"touch-sequence":"standard"}function iy(e){let t=new Uint8Array(e),n="",r=32768;for(let o=0;o<t.length;o+=r)n+=String.fromCharCode(...t.subarray(o,o+r));return btoa(n)}function ry(e){let t=Number(e);if(!Number.isFinite(t))return null;let n=Math.trunc(t);return n>0?n:null}function ay(e){let t=[];for(let n of xa){let r=e?.[n];if(r==null)continue;if(Array.isArray(r)){for(let i of r){let a=ry(i);a!=null&&t.push(a)}continue}let o=ry(r);o!=null&&t.push(o)}return Array.from(new Set(t))}function nE(e){return ay(e).length>0}function Lf(e){let t=ay(e);return t.length?t[0]:null}function rE(e,t){let n=t.toLowerCase(),r=["button","a","input","textarea","select","label","[role]","div","span"],o=e.querySelectorAll(r.join(","));for(let i of Array.from(o))if((i.textContent||"").trim().toLowerCase().includes(n)||(i.getAttribute("aria-label")||"").toLowerCase().includes(n))return i;return null}async function oE(e){if(e instanceof HTMLCanvasElement){let o=e.toDataURL(),i=sy(o);if(!i)throw new Error("canvas toDataURL failed");return i}if(e instanceof SVGElement){let o=new XMLSerializer().serializeToString(e);return{data:btoa(unescape(encodeURIComponent(o))),mimeType:"image/svg+xml",displayName:"svg"}}if(e instanceof HTMLImageElement){let o=e.currentSrc||e.src;return await oy(o,e.alt||e.getAttribute("aria-label")||void 0)}let n=window.getComputedStyle(e).backgroundImage||"",r=/url\\((['\"]?)(.*?)\\1\\)/.exec(n);if(r?.[2])return await oy(r[2],e.getAttribute("aria-label")||void 0);throw new Error("unsupported element")}function sy(e){let t=/^data:([^;]+);base64,(.*)$/.exec(e);return t?{mimeType:t[1],data:t[2]}:null}async function oy(e,t){if(!e)throw new Error("missing src");if(e.startsWith("data:")){let s=sy(e);if(!s)throw new Error("invalid data url");return{...s,displayName:t}}let n=await fetch(e,{mode:"cors"});if(!n.ok)throw new Error(`fetch failed (${n.status})`);let r=await n.blob(),o=await r.arrayBuffer(),i=iy(o),a=r.type||"image/png";return{data:i,mimeType:a,displayName:t}}function cy(e,t){e.onmessage=async n=>{let r=n.data;if(!r||r.t!=="req")return;let{id:o,method:i,params:a}=r;try{let s=t[i];if(!s)throw new Error(`No handler for ${i}`);let c=await s(a);e.postMessage({t:"res",id:o,ok:!0,result:c})}catch(s){e.postMessage({t:"res",id:o,ok:!1,error:{message:s?.message||String(s)}})}}}var iE="Rover";var id="#FF4C00";var ly=[.52,.72,1],dy=[.56,.72,.88],uy=280,fy=360,Vo=1200,py=1200,my=1200,_a=25,hy=4;function Fe(e){return String(e||"").trim()}function Ys(e){let t=String(e||"").trim();if(!t)return;let n=t.match(/^#?([0-9a-fA-F]{6})$/);return n?`#${n[1].toUpperCase()}`:void 0}function aE(e){return String(e||"").trim().replace(/[^a-zA-Z0-9-]/g,"").slice(0,48)||void 0}function Df(e){let t=Number(e);return Number.isFinite(t)?Math.max(800,Math.min(5e3,Math.trunc(t))):2600}function Pf(e){if(!e||typeof e!="object")return;let t={};typeof e.enabled=="boolean"&&(t.enabled=e.enabled);let n=aE(e.language);return n&&(t.language=n),e.autoStopMs!==void 0&&(t.autoStopMs=Df(e.autoStopMs)),Object.keys(t).length?t:void 0}function sE(e){if(!e||typeof e!="object")return{};let t={};if(e.presence&&typeof e.presence=="object"&&(t.presence={assistantName:Fe(String(e.presence.assistantName||"")).slice(0,160)||void 0,ctaText:Fe(String(e.presence.ctaText||"")).slice(0,160)||void 0,iconMode:e.presence.iconMode==="logo"||e.presence.iconMode==="mascot"||e.presence.iconMode==="rover"?e.presence.iconMode:void 0,draggable:typeof e.presence.draggable=="boolean"?e.presence.draggable:void 0,defaultAnchor:e.presence.defaultAnchor==="bottom-right"||e.presence.defaultAnchor==="bottom-left"||e.presence.defaultAnchor==="top-right"||e.presence.defaultAnchor==="top-left"||e.presence.defaultAnchor==="bottom-center"?e.presence.defaultAnchor:void 0,persistPosition:typeof e.presence.persistPosition=="boolean"?e.presence.persistPosition:void 0,idleAnimation:e.presence.idleAnimation==="breathe"||e.presence.idleAnimation==="orbit"||e.presence.idleAnimation==="none"?e.presence.idleAnimation:void 0,firstRunIntro:e.presence.firstRunIntro==="ambient"||e.presence.firstRunIntro==="headline"||e.presence.firstRunIntro==="none"?e.presence.firstRunIntro:void 0,defaultState:e.presence.defaultState==="seed"||e.presence.defaultState==="bar"?e.presence.defaultState:void 0}),e.shell&&typeof e.shell=="object"&&(t.shell={openMode:e.shell.openMode==="center_stage"?e.shell.openMode:void 0,mobileMode:e.shell.mobileMode==="fullscreen_sheet"?e.shell.mobileMode:void 0,desktopSize:e.shell.desktopSize==="compact"||e.shell.desktopSize==="stage"||e.shell.desktopSize==="cinema"?e.shell.desktopSize:void 0,desktopHeight:e.shell.desktopHeight==="tall"||e.shell.desktopHeight==="full"?e.shell.desktopHeight:void 0,dimBackground:typeof e.shell.dimBackground=="boolean"?e.shell.dimBackground:void 0,blurBackground:typeof e.shell.blurBackground=="boolean"?e.shell.blurBackground:void 0,safeAreaInsetPx:Number.isFinite(Number(e.shell.safeAreaInsetPx))?Math.max(0,Math.min(48,Math.trunc(Number(e.shell.safeAreaInsetPx)))):void 0,transitionStyle:e.shell.transitionStyle==="morph"||e.shell.transitionStyle==="crossfade"?e.shell.transitionStyle:void 0}),e.stream&&typeof e.stream=="object"&&(t.stream={layout:e.stream.layout==="single_column"?e.stream.layout:void 0,maxVisibleLiveCards:Number.isFinite(Number(e.stream.maxVisibleLiveCards))?Math.max(1,Math.min(4,Math.trunc(Number(e.stream.maxVisibleLiveCards)))):void 0,collapseCompletedSteps:typeof e.stream.collapseCompletedSteps=="boolean"?e.stream.collapseCompletedSteps:void 0,artifactAutoMinimize:typeof e.stream.artifactAutoMinimize=="boolean"?e.stream.artifactAutoMinimize:void 0,artifactOpenMode:e.stream.artifactOpenMode==="inline"||e.stream.artifactOpenMode==="overlay"?e.stream.artifactOpenMode:void 0}),e.inputs&&typeof e.inputs=="object"&&(t.inputs={text:typeof e.inputs.text=="boolean"?e.inputs.text:void 0,voice:typeof e.inputs.voice=="boolean"?e.inputs.voice:void 0,files:typeof e.inputs.files=="boolean"?e.inputs.files:void 0,acceptedMimeGroups:Array.isArray(e.inputs.acceptedMimeGroups)?e.inputs.acceptedMimeGroups.filter(n=>n==="images"||n==="pdfs"||n==="office"||n==="text"):void 0,allowMultipleFiles:typeof e.inputs.allowMultipleFiles=="boolean"?e.inputs.allowMultipleFiles:void 0,mobileCameraCapture:typeof e.inputs.mobileCameraCapture=="boolean"?e.inputs.mobileCameraCapture:void 0,attachmentLimit:Number.isFinite(Number(e.inputs.attachmentLimit))?Math.max(1,Math.min(12,Math.trunc(Number(e.inputs.attachmentLimit)))):void 0,maxFileSizeMb:Number.isFinite(Number(e.inputs.maxFileSizeMb))?Math.max(1,Math.min(32,Math.trunc(Number(e.inputs.maxFileSizeMb)))):void 0}),e.audio&&typeof e.audio=="object"){let n=e.audio.narration&&typeof e.audio.narration=="object"?e.audio.narration:void 0;n&&(t.audio={narration:{enabled:typeof n.enabled=="boolean"?n.enabled:void 0,defaultMode:n.defaultMode==="guided"||n.defaultMode==="always"||n.defaultMode==="off"?n.defaultMode:void 0,rate:Number.isFinite(Number(n.rate))?Math.max(.85,Math.min(1.15,Number(n.rate))):void 0,language:String(n.language||"").trim().slice(0,24)||void 0,voicePreference:n.voicePreference==="auto"||n.voicePreference==="system"||n.voicePreference==="natural"?n.voicePreference:void 0}})}return e.motion&&typeof e.motion=="object"&&(t.motion={intensity:e.motion.intensity==="calm"||e.motion.intensity==="balanced"||e.motion.intensity==="expressive"?e.motion.intensity:void 0,reducedMotionFallback:e.motion.reducedMotionFallback==="reduce"||e.motion.reducedMotionFallback==="remove"?e.motion.reducedMotionFallback:void 0,performanceBudget:e.motion.performanceBudget==="standard"||e.motion.performanceBudget==="high"?e.motion.performanceBudget:void 0,actionSpotlight:typeof e.motion.actionSpotlight=="boolean"?e.motion.actionSpotlight:void 0,actionSpotlightColor:Ys(e.motion.actionSpotlightColor),filaments:typeof e.motion.filaments=="boolean"?e.motion.filaments:void 0,particles:typeof e.motion.particles=="boolean"?e.motion.particles:void 0,palimpsest:typeof e.motion.palimpsest=="boolean"?e.motion.palimpsest:void 0}),e.theme&&typeof e.theme=="object"&&(t.theme={mode:e.theme.mode==="auto"||e.theme.mode==="light"||e.theme.mode==="dark"?e.theme.mode:void 0,accentColor:Fe(String(e.theme.accentColor||"")).slice(0,32)||void 0,surfaceStyle:e.theme.surfaceStyle==="glass"||e.theme.surfaceStyle==="solid"?e.theme.surfaceStyle:void 0,radius:e.theme.radius==="soft"||e.theme.radius==="rounded"||e.theme.radius==="pill"?e.theme.radius:void 0,fontFamily:String(e.theme.fontFamily||"").trim().slice(0,120)||void 0}),t}function Of(e,t,n){let r=sE(e.experience);return{presence:{assistantName:r.presence?.assistantName||t,ctaText:r.presence?.ctaText||`Do it with ${t}`,iconMode:r.presence?.iconMode||(n?"logo":"mascot"),draggable:r.presence?.draggable??!0,defaultAnchor:r.presence?.defaultAnchor||"bottom-center",persistPosition:r.presence?.persistPosition??!1,idleAnimation:r.presence?.idleAnimation||"breathe",firstRunIntro:r.presence?.firstRunIntro||"ambient",defaultState:r.presence?.defaultState},shell:{openMode:"center_stage",mobileMode:"fullscreen_sheet",desktopSize:r.shell?.desktopSize||"stage",desktopHeight:r.shell?.desktopHeight||"tall",dimBackground:r.shell?.dimBackground??!0,blurBackground:r.shell?.blurBackground??!0,safeAreaInsetPx:r.shell?.safeAreaInsetPx??16,transitionStyle:r.shell?.transitionStyle||"morph"},stream:{layout:"single_column",maxVisibleLiveCards:r.stream?.maxVisibleLiveCards??2,collapseCompletedSteps:r.stream?.collapseCompletedSteps??!0,artifactAutoMinimize:r.stream?.artifactAutoMinimize??!0,artifactOpenMode:r.stream?.artifactOpenMode||"inline"},inputs:{text:r.inputs?.text??!0,voice:r.inputs?.voice??!0,files:r.inputs?.files??!0,acceptedMimeGroups:r.inputs?.acceptedMimeGroups||["images","pdfs","office","text"],allowMultipleFiles:r.inputs?.allowMultipleFiles??!0,mobileCameraCapture:r.inputs?.mobileCameraCapture??!0,attachmentLimit:r.inputs?.attachmentLimit??6,maxFileSizeMb:r.inputs?.maxFileSizeMb??12},audio:{narration:{enabled:r.audio?.narration?.enabled??!0,defaultMode:r.audio?.narration?.defaultMode||"guided",rate:r.audio?.narration?.rate??1,language:r.audio?.narration?.language||"en-US",voicePreference:r.audio?.narration?.voicePreference||"auto"}},motion:{intensity:r.motion?.intensity||"balanced",reducedMotionFallback:r.motion?.reducedMotionFallback||"reduce",performanceBudget:r.motion?.performanceBudget||"standard",actionSpotlight:r.motion?.actionSpotlight??!0,actionSpotlightColor:r.motion?.actionSpotlightColor||Ys(r.theme?.accentColor)||id,filaments:r.motion?.filaments,particles:r.motion?.particles,palimpsest:r.motion?.palimpsest},theme:{mode:r.theme?.mode||"auto",accentColor:r.theme?.accentColor||id,surfaceStyle:r.theme?.surfaceStyle||"glass",radius:r.theme?.radius||"pill",fontFamily:r.theme?.fontFamily}}}function gy(e){let t=String(e||"").trim();return t?t.slice(0,64):iE}function by(e){let t=String(e||"").trim();return t?t[0].toUpperCase():"R"}function yy(e){return String(e||"").replace(/[^a-zA-Z0-9]/g,"").slice(0,3).toUpperCase()||"RVR"}function vy(e){let t=Array.isArray(e)&&e.length>0?e:["images","pdfs","office","text"],n=[];for(let r of t)r==="images"&&n.push("image/*"),r==="pdfs"&&n.push("application/pdf"),r==="office"&&n.push(".doc,.docx,.ppt,.pptx,.xls,.xlsx,.csv,.rtf"),r==="text"&&n.push("text/plain,.md,.txt,.json");return n.join(",")}function ky(e){let t=Ys(e);if(!t)return{};let n=t.replace("#",""),r=parseInt(n.slice(0,2),16),o=parseInt(n.slice(2,4),16),i=parseInt(n.slice(4,6),16);if(isNaN(r)||isNaN(o)||isNaN(i))return{};let a=(s,c)=>Math.max(0,Math.round(s*(1-c)));return{"--rv-accent":t,"--rv-accent-rgb":`${r}, ${o}, ${i}`,"--rv-accent-hover":`#${a(r,.1).toString(16).padStart(2,"0")}${a(o,.1).toString(16).padStart(2,"0")}${a(i,.1).toString(16).padStart(2,"0")}`,"--rv-accent-soft":`rgba(${r}, ${o}, ${i}, 0.06)`,"--rv-accent-border":`rgba(${r}, ${o}, ${i}, 0.14)`,"--rv-accent-glow":`rgba(${r}, ${o}, ${i}, 0.10)`}}function xy(e,t=id){let n=Ys(e)||Ys(t)||id,r=n.replace("#",""),o=parseInt(r.slice(0,2),16),i=parseInt(r.slice(2,4),16),a=parseInt(r.slice(4,6),16);return isNaN(o)||isNaN(i)||isNaN(a)?{}:{"--rv-action-spotlight":n,"--rv-action-spotlight-rgb":`${o}, ${i}, ${a}`,"--rv-action-spotlight-fill":`rgba(${o}, ${i}, ${a}, 0.045)`,"--rv-action-spotlight-halo":`rgba(${o}, ${i}, ${a}, 0.12)`,"--rv-action-spotlight-glow":`rgba(${o}, ${i}, ${a}, 0.18)`,"--rv-action-spotlight-pulse":`rgba(${o}, ${i}, ${a}, 0.22)`,"--rv-action-spotlight-pulse-soft":`rgba(${o}, ${i}, ${a}, 0.06)`,"--rv-action-spotlight-dark-fill":`rgba(${o}, ${i}, ${a}, 0.07)`,"--rv-action-spotlight-dark-halo":`rgba(${o}, ${i}, ${a}, 0.16)`,"--rv-action-spotlight-dark-glow":`rgba(${o}, ${i}, ${a}, 0.22)`}}function ad(e){return String(e||"").trim().toLowerCase().replace(/[^a-z0-9._-]+/g,"_").replace(/^_+|_+$/g,"")}function cE(e){if(e?.mascot?.soundEnabled!==!0||e?.mascot?.disabled===!0)return!1;let t=!!String(e?.mascot?.mp4Url||"").trim()||!!String(e?.mascot?.webmUrl||"").trim(),n=!!String(e?.mascot?.imageUrl||"").trim();return t?!0:!n}function lE(e){let t=ad(e.siteId);return t?`rover:muted:${t}`:`rover:muted:${ad(e.host)||"shared"}`}function dE(e){let t=ad(e.siteId);return t?`rover:narration:${t}`:`rover:narration:${ad(e.host)||"shared"}`}function wy(e){let t=String(e||"").trim();if(!(!t||t.length>32)&&/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8}){0,3}$/.test(t))return t.split("-").map((n,r)=>r===0?n.toLowerCase():n.toUpperCase()).join("-")}function Sy(e){let t=String(e||"").trim();if(!(!t||t.length>180))return t.replace(/[\u0000-\u001f\u007f]/g,"").slice(0,180)||void 0}function Ty(e){return e==="auto"||e==="system"||e==="natural"?e:void 0}function uE(e){if(e==null||e==="")return{value:{},source:"default"};let t=String(e).trim();if(t==="true"||t==="false")return{value:{enabled:t==="true"},source:"visitor"};try{let n=JSON.parse(t);if(!n||typeof n!="object")return{value:{},source:"default"};let r=n,o={};typeof r.enabled=="boolean"&&(o.enabled=r.enabled);let i=wy(r.language);i&&(o.language=i);let a=Sy(r.voiceURI);a&&(o.voiceURI=a);let s=Ty(r.voicePreference);return s&&(o.voicePreference=s),{value:o,source:Object.keys(o).length?"visitor":"default"}}catch{return{value:{},source:"default"}}}function Bf(e){let t={};typeof e.enabled=="boolean"&&(t.enabled=e.enabled);let n=wy(e.language);n&&(t.language=n);let r=Sy(e.voiceURI);r&&(t.voiceURI=r);let o=Ty(e.voicePreference);return o&&(t.voicePreference=o),JSON.stringify(t)}function _y(e){let t=cE(e);if(!t)return{soundEnabled:t,isMuted:!0};let n=lE({siteId:e.siteId,host:e.host}),r=e.muted??!0,o=e.readStored?.(n);return o!=null&&(r=o!=="false"),{soundEnabled:t,isMuted:r,storageKey:n}}function Uf(e){let t=e.enabled!==!1;if(!t)return{supportedByConfig:t,enabled:!1,source:"default"};let n=dE({siteId:e.siteId,host:e.host}),r=e.defaultOn!==!1,o="default",i=e.readStored?.(n),a=uE(i);return a.source==="visitor"&&(typeof a.value.enabled=="boolean"&&(r=a.value.enabled),o="visitor"),{supportedByConfig:t,enabled:r,source:o,...a.value.language?{language:a.value.language}:{},...a.value.voiceURI?{voiceURI:a.value.voiceURI}:{},...a.value.voicePreference?{voicePreference:a.value.voicePreference}:{},storageKey:n}}function _o(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function Wo(e){try{return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}catch{return""}}function cd(e){return e.status?e.status:e.kind==="tool_start"||e.kind==="plan"||e.kind==="thought"?"pending":e.kind==="tool_result"?"success":e.kind==="error"?"error":"info"}function ld(e){let t=Fe(e.actionCue?.toolCallId||"");if((e.kind==="tool_start"||e.kind==="tool_result")&&t)return`tool:${t}`;let n=String(e.title||"").trim().toLowerCase();return n.startsWith("running ")?`tool:${n.replace(/^running\s+/,"").trim()}`:n.endsWith(" completed")?`tool:${n.replace(/\s+completed$/,"").trim()}`:n==="run started"||n==="run resumed"||n==="run completed"?"run":e.kind==="status"?`status:${n||"status"}`:e.id||_o("trace")}function Ey(e){return String(e||"").replace(/\s+/g," ").trim()}function Ny(e,t,n){return[String(e||"").trim(),Ey(t),Ey(n)].filter(Boolean).join(" ")}function dd(e){let t=Fe(e),n=/^(Analyze|Route|Execute|Verify|Complete):\s*(.*)$/i.exec(t);if(!n)return{plainTitle:t};let r=n[1].toLowerCase(),o=Fe(n[2]||t);return{stage:r,plainTitle:o||t}}function Hf(e){return String(e||"").replace(/[_-]+/g," ").replace(/\s+/g," ").trim().split(" ").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" ")}function Ly(e){let t=Fe(e.toolName||"");if(t)return t;let n=Fe(e.title||""),r=/^running\s+(.+)$/i.exec(n);if(r?.[1])return r[1];let o=/^(.+?)\s+completed$/i.exec(n);return o?.[1]?o[1]:""}function fE(e){let t=Fe(e);if(!t)return;let n=t.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/\s+/g," ").trim().toLowerCase();return n?{click:"Click","click element":"Click Element",tap:"Tap",press:"Press","open url":"Open URL","open url new tab":"Open URL","open url same tab":"Open URL",navigate:"Navigate",goto:"Navigate","go to":"Navigate",visit:"Navigate",type:"Type","type text":"Type Text",input:"Input",fill:"Fill Field","set value":"Set Value",select:"Select Option",upload:"Upload File","upload file":"Upload File",scroll:"Scroll",wait:"Wait",monitor:"Monitor",hover:"Hover",read:"Read Page","read page":"Read Page",extract:"Extract Data",scrape:"Extract Data","search page":"Search Page","get text":"Read Text","get html":"Read HTML",screenshot:"Capture Screenshot",snapshot:"Capture Snapshot"}[n]||Hf(n):void 0}function pE(e){let t=Fe(e||"").replace(/\s+/g," ").trim();return t?t.length<=48?t:`${t.slice(0,45).trim()}...`:""}function jf(e){let t=e.actionCue;if(!t)return;let n=pE(t.targetLabel),r=e.kind!=="tool_result",o={click:{active:"Clicking",done:"Clicked"},type:{active:"Typing in",done:"Typed in"},select:{active:"Selecting",done:"Selected"},clear:{active:"Clearing",done:"Cleared"},focus:{active:"Focusing",done:"Focused"},hover:{active:"Hovering over",done:"Hovered over"},press:{active:"Pressing",done:"Pressed"},scroll:{active:"Scrolling to",done:"Scrolled to"},drag:{active:"Dragging",done:"Dragged"},copy:{active:"Copying",done:"Copied"},paste:{active:"Pasting into",done:"Pasted into"},upload:{active:"Uploading to",done:"Uploaded to"},navigate:{active:"Navigating",done:"Navigated"},read:{active:"Reading",done:"Read"},wait:{active:"Waiting for",done:"Waited for"},unknown:{active:"Acting on",done:"Acted on"}},i=o[t.kind]?.[r?"active":"done"]||o.unknown[r?"active":"done"];return n?`${i} ${n}`:t.kind==="type"?r?"Typing into field":"Typed into field":t.kind==="select"?r?"Selecting option":"Selected option":t.kind==="clear"?r?"Clearing field":"Cleared field":t.kind==="scroll"?r?"Scrolling page":"Scrolled page":t.kind==="drag"?r?"Dragging item":"Dragged item":t.kind==="copy"?r?"Copying text":"Copied text":t.kind==="paste"?r?"Pasting text":"Pasted text":t.kind==="upload"?r?"Uploading file":"Uploaded file":t.kind==="navigate"?r?"Navigating":"Navigated":t.kind==="read"?r?"Reading page":"Read page":t.kind==="wait"?r?"Waiting":"Waited":r?"Acting on page":"Acted on page"}function Js(e){let t=e.kind,n=e.actionCue?.kind,r=Ly(e),o=Fe(e.title||"");if(t==="tool_start")return n==="click"||n==="press"||n==="hover"||n==="focus"||n==="clear"||n==="drag"||n==="copy"||n==="paste"||n==="upload"?"Acting":n==="navigate"?"Navigating":n==="type"||n==="select"?"Inputting":n==="read"?"Reading":n==="scroll"?"Scrolling":n==="wait"?"Waiting":/click|tap|press/i.test(r)||/click|tap|press/i.test(o)?"Acting":/navigate|goto|go to|open|visit/i.test(r)||/navigate|go to|visit|open/i.test(o)?"Navigating":/type|fill|input|write|set/i.test(r)||/type|fill|input|write|set/i.test(o)?"Inputting":/read|extract|scrape|get|fetch|find|search/i.test(r)||/read|extract|scrape|search|inspect/i.test(o)?"Reading":/scroll/i.test(r)||/scroll/i.test(o)?"Scrolling":/wait|monitor|observe/i.test(r)||/wait|monitor|observe/i.test(o)?"Waiting":"Executing";if(t==="tool_result")return"Completed";if(t==="assistant_response")return e.responseKind==="final"?"Answer":"Update";if(t==="thought")return"Thinking";if(t==="plan")return"Planning";if(t==="status"){let i=dd(e.title||"");return i.stage?Hf(i.stage):"Status"}return t==="debug"?"Debug":t==="error"?"Error":t==="info"?"Update":"Searching"}function Qs(e){let t=jf(e);if(t)return t;let n=dd(e.title||""),r=fE(Ly(e));return r||(n.stage?Hf(n.stage):n.plainTitle?n.plainTitle:Js(e))}function ud(e){if(e.actionCue)return"";let t=Fe(e.detail||"");if(t)return t;let n=dd(e.title||""),r=Qs(e);return n.plainTitle&&n.plainTitle!==r?n.plainTitle:""}function Iy(e){let t=e.kind==="message"?e.message.order:e.event.order;return Number.isFinite(Number(t))?Number(t):Number.MAX_SAFE_INTEGER}function Ay(e){let t=e.kind==="message"?e.message.ts:e.event.ts;return Number.isFinite(Number(t))?Number(t):0}function Ry(e){return e.kind==="timeline"?1:e.message.role==="user"?0:2}function Cy(e){return e.kind==="message"?Fe(e.message.id||e.message.text||""):Fe(e.event.id||e.event.title||"")}function $f(e=[],t=[]){let n=[];for(let r of e)r&&n.push({kind:"message",message:r});for(let r of t)r&&n.push({kind:"timeline",event:r});return n.sort((r,o)=>{let i=Ay(r)-Ay(o);if(i!==0)return i;let a=Iy(r)-Iy(o);if(a!==0)return a;let s=Ry(r)-Ry(o);return s!==0?s:Cy(r).localeCompare(Cy(o))})}function Dy(e=[],t=[]){let n=$f(e,t),r=[];for(let o of n){if(o.kind==="message"){r.push({kind:"message",message:o.message});continue}let i=r[r.length-1];if(i?.kind==="timeline"){i.events.push(o.event);continue}r.push({kind:"timeline",id:Fe(o.event.id||"")||_o("trace-group"),events:[o.event]})}return r}function mE(e,t){let n=Fe(e);try{let r=new URL(n),o=r.hostname.replace(/^www\./i,""),i=`${r.pathname||""}${r.search||""}${r.hash||""}`;if(!i)return o;let a=Math.max(12,t-o.length-1);if(i.length<=a)return`${o}${i}`;let s=i.slice(0,Math.max(6,Math.floor(a*.55))),c=i.slice(-Math.max(4,a-s.length-3));return`${o}${s}...${c}`}catch{return n.length<=t?n:`${n.slice(0,Math.max(12,t-15))}...${n.slice(-12)}`}}function Zs(e,t){let n=Math.max(24,Number(t?.maxLength)||96),r=Math.max(20,Number(t?.maxUrlLength)||52),o=Fe(String(e||"")).replace(/\s+/g," ").trim();if(!o)return"";let i=o.replace(/https?:\/\/[^\s]+/gi,a=>mE(a,r));return i.length<=n?i:`${i.slice(0,Math.max(20,n-3)).trimEnd()}...`}function Py(e){let t=(e.title||"").toLowerCase();if(t==="run started"||t==="run resumed"||t==="run completed"||t==="started new task"||t==="execution completed")return"detail";if(e.kind==="status"){let n=dd(e.title||"");if(n.stage==="analyze"||n.stage==="route"||n.stage==="complete")return"detail"}return"primary"}function Ff(e,t){let n=/\[([^\]]+)\]\((https?:\/\/[^\s)]+)\)|\*\*(.+?)\*\*/g,r=0,o;for(;(o=n.exec(t))!==null;){if(o.index>r&&e.appendChild(document.createTextNode(t.slice(r,o.index))),o[1]&&o[2]){let i=document.createElement("a");i.className="rvLink",i.href=o[2],i.target="_blank",i.rel="noopener noreferrer",i.textContent=o[1],e.appendChild(i)}else if(o[3]){let i=document.createElement("strong");i.textContent=o[3],e.appendChild(i)}r=o.index+o[0].length}r<t.length&&e.appendChild(document.createTextNode(t.slice(r)))}function To(e){let t=document.createDocumentFragment(),n=e.split(`
|
|
11
|
+
`),r=null;for(let o of n){let i=o.trim();if(!i){r&&(t.appendChild(r),r=null);continue}if(i==="---"){r&&(t.appendChild(r),r=null);let c=document.createElement("hr");c.className="rvSep",t.appendChild(c);continue}if(i.startsWith("- ")){r||(r=document.createElement("ul"),r.className="rvList");let c=document.createElement("li");Ff(c,i.slice(2)),r.appendChild(c);continue}if(r&&(t.appendChild(r),r=null),/^Step \d+/i.test(i)){let c=document.createElement("div");c.className="rvStepHeader",c.textContent=i,t.appendChild(c);continue}if(i.startsWith("[error] ")){let c=document.createElement("div");c.className="rvError",c.textContent=i.slice(8),t.appendChild(c);continue}if(i.startsWith("[next] ")){let c=document.createElement("div");c.className="rvNext",c.textContent=i.slice(7),t.appendChild(c);continue}let a=i.match(/^\*\*(.+?):\*\*\s*(.*)$/);if(a){let c=document.createElement("div");c.className="rvKv";let l=document.createElement("span");l.className="rvKvLabel",l.textContent=a[1];let d=document.createElement("span");d.className="rvKvValue",Ff(d,a[2]),c.appendChild(l),c.appendChild(d),t.appendChild(c);continue}let s=document.createElement("div");s.className="rvLine",Ff(s,i),t.appendChild(s)}return r&&t.appendChild(r),t}function ec(e,t){let n=document.createElement("div");if(n.className="expandableWrap",e.length<=t)return n.appendChild(To(e)),n;let r=e.split(`
|
|
12
12
|
`),o=0,i=0;for(let l=0;l<r.length;l++)if(o+=r[l].length+1,o>=t){i=l+1;break}i===0&&(i=1);let a=r.slice(0,i).join(`
|
|
13
13
|
`),s=r.slice(i).join(`
|
|
14
|
-
`),c=document.createElement("div");if(c.className="expandPreview",c.appendChild(So(a)),n.appendChild(c),s.trim()){let l=document.createElement("div");l.className="expandRest",l.appendChild(So(s)),l.style.display="none",n.appendChild(l);let d=document.createElement("button");d.type="button",d.className="expandToggle",d.textContent="See more",d.addEventListener("click",m=>{m.stopPropagation();let f=l.style.display==="none";l.style.display=f?"block":"none",d.textContent=f?"See less":"See more"}),n.appendChild(d)}return n}function dd(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function id(e){if(e==null)return"null";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`[${e.length} item${e.length===1?"":"s"}]`;if(dd(e)){let t=Object.keys(e);return t.length?`{ ${t.slice(0,4).join(", ")}${t.length>4?", ...":""} }`:"{}"}try{return String(e)}catch{return"value"}}function Cy(e){try{let t=new WeakSet;return JSON.stringify(e,(n,r)=>!r||typeof r!="object"?r:t.has(r)?"[Circular]":(t.add(r),r),2)||"null"}catch{return id(e)}}function Py(e){let t=document.createElement("button");return t.type="button",t.className="rvStructuredMore",t.textContent=`Show ${Math.min(xa,e.total-e.shown)} more (${e.total-e.shown} left)`,t.addEventListener("click",n=>{n.stopPropagation(),e.onLoadMore()}),t}function mE(e){let t=document.createElement("div");t.className="rvRawToggleWrap";let n=document.createElement("button");n.type="button",n.className="rvRawToggle",n.textContent="View raw JSON";let r=document.createElement("button");r.type="button",r.className="rvRawToggle",r.textContent="Copy JSON";let o=document.createElement("pre");return o.className="rvRawJson",o.textContent=Cy(e),o.style.display="none",n.addEventListener("click",i=>{i.stopPropagation();let a=o.style.display==="none";o.style.display=a?"block":"none",n.textContent=a?"Hide raw JSON":"View raw JSON"}),r.addEventListener("click",i=>{i.stopPropagation();let a=o.textContent||Cy(e),s=r.textContent||"Copy JSON",c=()=>{r.textContent="Copied",setTimeout(()=>{r.textContent=s},1200)};try{let l=typeof navigator<"u"?navigator.clipboard?.writeText?.bind(navigator.clipboard):void 0;l&&l(a).then(c).catch(()=>{})}catch{}}),t.appendChild(n),t.appendChild(r),t.appendChild(o),t}function hE(e){let t=document.createElement("div");if(t.className="rvStructuredPrimitive",e===null)return t.textContent="null",t.classList.add("isNull"),t;if(typeof e=="string"){let n=Fe(e);return n?(n.length>qo?t.appendChild(Qs(n,qo)):t.appendChild(So(n)),t):(t.textContent='""',t)}return t.textContent=String(e),t}function gE(e){let t=e.slice(0,25);if(!t.length)return;let n=[];for(let r of t){if(!dd(r))return;for(let o of Object.keys(r))n.includes(o)||n.push(o);if(n.length>8)return}for(let r of t){let o=r;for(let i of n){let a=o[i];if(a!=null&&!(typeof a=="string"||typeof a=="number"||typeof a=="boolean"))return}}return n.length?n:void 0}function bE(e,t,n){let r=document.createElement("div");if(r.className="rvStructuredArray",!e.length){let l=document.createElement("div");return l.className="rvStructuredEmpty",l.textContent="No items",r.appendChild(l),r}let o=gE(e),i=Math.min(xa,e.length),a=document.createElement("div");a.className=o?"rvStructuredTable":"rvStructuredList",r.appendChild(a);let s=document.createElement("div");s.className="rvStructuredControls",r.appendChild(s);let c=()=>{if(a.innerHTML="",o){let l=document.createElement("table");l.className="rvTable";let d=document.createElement("thead"),m=document.createElement("tr"),f=document.createElement("th");f.textContent="#",m.appendChild(f);for(let h of o){let b=document.createElement("th");b.textContent=h,m.appendChild(b)}d.appendChild(m),l.appendChild(d);let u=document.createElement("tbody");for(let h=0;h<i;h+=1){let b=document.createElement("tr"),v=document.createElement("td");v.textContent=String(h+1),b.appendChild(v);let S=e[h]||{};for(let k of o){let x=document.createElement("td"),C=S[k];C==null?x.textContent="\u2014":x.textContent=id(C),b.appendChild(x)}u.appendChild(b)}l.appendChild(u),a.appendChild(l)}else for(let l=0;l<i;l+=1){let d=e[l],m=document.createElement("div");m.className="rvStructuredItem";let f=document.createElement("div");f.className="rvStructuredItemLabel",f.textContent=`#${l+1}`,m.appendChild(f);let u=document.createElement("div");u.className="rvStructuredItemBody",u.appendChild(n(d,t+1)),m.appendChild(u),a.appendChild(m)}s.innerHTML="",i<e.length&&s.appendChild(Py({total:e.length,shown:i,onLoadMore:()=>{i=Math.min(e.length,i+xa),c()}}))};return c(),r}function yE(e,t,n){let r=document.createElement("div");r.className="rvStructuredObject";let o=Object.entries(e);if(!o.length){let l=document.createElement("div");return l.className="rvStructuredEmpty",l.textContent="No fields",r.appendChild(l),r}let i=Math.min(xa,o.length),a=document.createElement("div");a.className="rvStructuredObjectRows",r.appendChild(a);let s=document.createElement("div");s.className="rvStructuredControls",r.appendChild(s);let c=()=>{a.innerHTML="";for(let l=0;l<i;l+=1){let[d,m]=o[l],f=document.createElement("div");f.className="rvStructuredRow";let u=document.createElement("div");u.className="rvStructuredKey",u.textContent=d;let h=document.createElement("div");h.className="rvStructuredValue",h.appendChild(n(m,t+1)),f.appendChild(u),f.appendChild(h),a.appendChild(f)}s.innerHTML="",i<o.length&&s.appendChild(Py({total:o.length,shown:i,onLoadMore:()=>{i=Math.min(o.length,i+xa),c()}}))};return c(),r}function Uf(e,t=0){if(t>=my){let r=document.createElement("div");return r.className="rvStructuredCapped",r.textContent=id(e),r}if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return hE(e);if(Array.isArray(e))return bE(e,t,Uf);if(dd(e))return yE(e,t,Uf);let n=document.createElement("div");return n.className="rvStructuredPrimitive",n.textContent=id(e),n}function Zs(e){if(e.type==="text"){let a=Fe(e.text);return a?Qs(a,qo):void 0}let t=document.createElement("section");t.className="rvStructuredCard";let n=document.createElement("div");n.className="rvStructuredHeader";let r=document.createElement("span");r.className="rvStructuredLabel",r.textContent=Fe(e.label||(e.type==="tool_output"?e.toolName?`${e.toolName} output`:"Tool output":"JSON output")),n.appendChild(r);let o=document.createElement("span");o.className="rvStructuredType",Array.isArray(e.data)?o.textContent=`array \xB7 ${e.data.length}`:dd(e.data)?o.textContent=`object \xB7 ${Object.keys(e.data).length}`:o.textContent=typeof e.data,n.appendChild(o),t.appendChild(n);let i=document.createElement("div");return i.className="rvStructuredBody",i.appendChild(Uf(e.data)),t.appendChild(i),t.appendChild(mE(e.data)),t}function Oy(e,t){let n=document.createDocumentFragment(),r=Array.isArray(t)?t:[],o=!1;for(let s of r){let c=Zs(s);c&&(o=!0,n.appendChild(c))}if(!o){let s=Fe(e);return s&&(s.length>qo?n.appendChild(Qs(s,qo)):n.appendChild(So(s))),n}let i=Fe(e),a=r.some(s=>s.type==="text"&&Fe(s.text)===i);if(i&&!a){let s=document.createElement("div");s.className="rvLine",s.appendChild(So(i)),n.insertBefore(s,n.firstChild)}return n}function By(e="seed"){let t=e,n="idle",r=null,o=new Set;function i(l){if(l===t)return;let d={from:t,to:l};t=l;for(let m of o)m(d)}function a(l,d=0){n=l,r!=null&&(clearTimeout(r),r=null),d>0&&l!=="idle"&&(r=setTimeout(()=>{n="idle",r=null},d))}function s(l){return o.add(l),()=>o.delete(l)}function c(){r!=null&&(clearTimeout(r),r=null),o.clear()}return{getState:()=>t,setState:i,getMood:()=>n,setMood:a,onStateChange:s,destroy:c}}function Uy(e){let{seed:t,bar:n}=e,r=e.duration??300;return new Promise(o=>{t.animate([{opacity:1,transform:"scale(1)"},{opacity:0,transform:"scale(0.9)"}],{duration:r*.6,easing:"ease-out",fill:"forwards"}).finished.then(()=>{n.classList.add("open"),o()}).catch(()=>o())})}function Fy(e){let{seed:t,bar:n}=e,r=e.duration??280;return new Promise(o=>{n.classList.remove("open"),t.animate([{opacity:0,transform:"scale(0.9)"},{opacity:1,transform:"scale(1)"}],{duration:r,easing:"cubic-bezier(0.16, 1, 0.3, 1)",fill:"forwards"}).finished.then(()=>{t.style.transform="",o()}).catch(()=>o())})}function _o(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}function ec(e,t){return t==="calm"?Math.round(e*1.5):t==="expressive"?Math.round(e*.8):e}function Eo(e,t,n){return Math.max(t,Math.min(n,e))}function Vf(){let e=document.documentElement,t=window.visualViewport,n=Math.max(320,Math.round(t?.width??window.innerWidth??e.clientWidth??0)),r=Math.max(320,Math.round(t?.height??window.innerHeight??e.clientHeight??0)),o=n>=r?"landscape":"portrait",i=n<=640?"phone":n<=1023?"tablet":"desktop",a=i==="desktop"?"desktop":`${i}-${o}`,s=t?Math.max(0,Math.round((window.innerHeight||r)-(t.height+t.offsetTop))):0;return{width:n,height:r,layout:i,orientation:o,storageKey:a,keyboardInset:s}}function Ko(e,t){let n=Math.max(640,Math.min(1200,t.width-16)),r=Math.max(400,t.height-16);return{width:Eo(Math.round(e.width),640,n),height:Eo(Math.round(e.height),400,r)}}function Ta(e){return Ko({width:960,height:600},e)}function Wf(e,t){if(!e||typeof e!="object")return;let n=Number(e.width),r=Number(e.height);if(!(!Number.isFinite(n)||!Number.isFinite(r)))return Ko({width:n,height:r},t)}function zy(e){let t=Number(e);if(Number.isInteger(t)&&!(t<0||t>2))return t}function Hy(e){let t=e.layout==="tablet"?ly:cy,n=e.layout==="tablet"?uy:dy,r=e.layout==="tablet"?16:8,o=e.layout==="tablet"?16:16,i=Math.max(n,Math.round(e.height-r-o));return t.map((a,s)=>s===t.length-1?i:Eo(Math.round((e.height-r)*a),Math.min(n,i),i))}var wE="rover:presence:";function jy(e,t){let n=String(e||window.location.hostname||"default").trim().replace(/[^a-zA-Z0-9:_-]/g,"").slice(0,120),r=t||"desktop";return`${wE}${window.location.origin}:${n}:${r}`}function $y(e){try{let t=localStorage.getItem(e);if(!t)return null;let n=JSON.parse(t),r=Number(n?.x),o=Number(n?.y);return!Number.isFinite(r)||!Number.isFinite(o)?null:{x:r,y:o}}catch{return null}}function qy(e,t){try{if(!t){localStorage.removeItem(e);return}localStorage.setItem(e,JSON.stringify(t))}catch{}}function Vy(){return`rover:panel-layout:${String(window.location.hostname||"default").trim().replace(/[^a-zA-Z0-9:_-]/g,"").slice(0,96)||"default"}`}function Wy(e){try{let t=localStorage.getItem(e);if(!t)return{};let n=JSON.parse(t);return!n||typeof n!="object"?{}:n}catch{return{}}}function ud(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}var SE="https://www.rtrvr.ai/rover/mascot.mp4",TE="https://www.rtrvr.ai/rover/mascot.webm";function Kf(e){return String(e||"").trim()}function Ky(e,t){e&&(e.muted=t,e.defaultMuted=t,t?e.setAttribute("muted",""):e.removeAttribute("muted"),e.playsInline=!0,e.setAttribute("playsinline",""))}function _a(e){let t=Kf(e.imageUrl),n=Kf(e.mp4Url),r=Kf(e.webmUrl),o=!!n||!!r,i=!e.disabled&&!o&&!t;e.container.replaceChildren();let a=document.createElement("span");a.className=e.fallbackClassName,a.textContent=e.token;let s=null,c=d=>t?(s=document.createElement("img"),s.src=t,s.alt="",s.decoding="async",s.loading="eager",s.draggable=!1,d||(s.style.display="none"),s.addEventListener("error",()=>{s.style.display="none",a.style.display="grid"},{once:!0}),e.container.appendChild(s),s):null,l=null;if(!e.disabled&&(o||i)){l=document.createElement("video"),l.autoplay=!0,l.loop=!0,l.preload="metadata",Ky(l,e.muted??!0),t&&(l.poster=t);let d=r||(o?"":TE),m=n||(o?"":SE);if(d){let f=document.createElement("source");f.src=d,f.type="video/webm",l.appendChild(f)}if(m){let f=document.createElement("source");f.src=m,f.type="video/mp4",l.appendChild(f)}e.container.appendChild(l),c(!1),e.container.appendChild(a),a.style.display="none",l.addEventListener("error",()=>{l.style.display="none",s?s.style.display="":a.style.display="grid"},{once:!0})}else!e.disabled&&t?(c(!0),e.container.appendChild(a),a.style.display="none"):e.container.appendChild(a);return{video:l,image:s,setMuted(d){Ky(l,d)}}}function Gy(e){let{agentName:t,launcherToken:n,mascotDisabled:r}=e,o=e.experience,i=String(t||"Rover").trim()||"Rover",a="Preferred Rover surface for live actions on this page.",s=document.createElement("button");s.className="launcher",s.setAttribute("aria-label",`Open ${i} assistant`),s.setAttribute("aria-description",a),s.setAttribute("data-draggable",o.presence?.draggable===!1?"false":"true");let c=document.createElement("span");c.className="launcherBody";let l=document.createElement("span");l.className="launcherMedia";let d=_a({container:l,token:n,disabled:r,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:!0,fallbackClassName:"launcherFallback"}),m=d.video,f=document.createElement("span");f.className="launcherCopy";let u=document.createElement("span");u.className="launcherLabel",u.textContent=o.presence?.ctaText||`Do it with ${t}`;let h=document.createElement("div");h.className="launcherShine";let b=document.createElement("div");b.className="seed-glow";let v=document.createElement("div");v.className="greetingBubble";let S=document.createElement("span");S.className="greetingText";let k=document.createElement("button");k.type="button",k.className="greetingClose",k.setAttribute("aria-label","Dismiss greeting"),k.textContent="\xD7",v.appendChild(S),v.appendChild(k),f.appendChild(u),c.appendChild(l),c.appendChild(f),s.appendChild(c),s.appendChild(h),s.appendChild(b),s.classList.toggle("breathe",o.presence?.idleAnimation!=="none"),s.classList.toggle("orbit",o.presence?.idleAnimation==="orbit");let x=null,C=!1,_=null;function I(){return Math.max(320,Math.round(window.visualViewport?.width??window.innerWidth??320))}function M(){return Math.max(320,Math.round(window.visualViewport?.height??window.innerHeight??320))}function X(){return I()<=640?"mobile":"desktop"}function O(){return jy(e.siteId,X())}function J(){let te=I(),fe=M(),le=o.shell?.safeAreaInsetPx??16,Ne=s.getBoundingClientRect(),ge=Ne.width||(te<=640?198:248),dt=Ne.height||(te<=640?64:72),mt=o.presence?.defaultAnchor||"bottom-center",it=Math.max(le,te-ge-le),je=Math.max(le,fe-dt-le);return mt==="bottom-left"?{x:le,y:je}:mt==="top-left"?{x:le,y:le}:mt==="top-right"?{x:it,y:le}:mt==="bottom-right"?{x:it,y:je}:{x:Math.max(le,Math.round((te-ge)/2)),y:je}}function ee(te){let fe=I(),le=M(),Ne=o.shell?.safeAreaInsetPx??16,ge=s.getBoundingClientRect(),dt=ge.width||(fe<=640?198:248),mt=ge.height||(fe<=640?64:72);return{x:Eo(Math.round(te.x),Ne,Math.max(Ne,fe-dt-Ne)),y:Eo(Math.round(te.y),Ne,Math.max(Ne,le-mt-Ne))}}function se(te){let fe=window.visualViewport,le=fe?fe.offsetLeft:0,Ne=fe?fe.offsetTop:0;s.style.left=`${te.x+le}px`,s.style.top=`${te.y+Ne}px`,s.style.right="auto",s.style.bottom="auto"}function H(){let te=O();x=(o.presence?.persistPosition?$y(te):null)||J(),x=ee(x),se(x)}function Y(){o.presence?.persistPosition!==!1&&qy(O(),x)}s.addEventListener("click",()=>{if(C){C=!1;return}e.onClick()}),s.addEventListener("pointerdown",te=>{if(o.presence?.draggable===!1||te.button!==0)return;let fe=s.getBoundingClientRect();_={pointerId:te.pointerId,startX:te.clientX,startY:te.clientY,offsetX:te.clientX-fe.left,offsetY:te.clientY-fe.top,moved:!1},s.setPointerCapture(te.pointerId)});let oe=40,ie=.3;function me(){let te=I(),fe=M(),le=o.shell?.safeAreaInsetPx??16,Ne=s.getBoundingClientRect(),ge=Ne.width||(te<=640?198:248),dt=Ne.height||(te<=640?64:72);return[{x:le,y:le},{x:Math.max(le,te-ge-le),y:le},{x:le,y:Math.max(le,fe-dt-le)},{x:Math.max(le,te-ge-le),y:Math.max(le,fe-dt-le)}]}function he(te){let fe=me(),le=null;for(let Ne of fe){let ge=Math.hypot(te.x-Ne.x,te.y-Ne.y);(!le||ge<le.dist)&&(le={corner:Ne,dist:ge})}return le}s.addEventListener("pointermove",te=>{if(!_||_.pointerId!==te.pointerId)return;let fe=te.clientX-_.offsetX,le=te.clientY-_.offsetY;if(!_.moved){let it=Math.hypot(te.clientX-_.startX,te.clientY-_.startY);if(_.moved=it>=6,!_.moved)return;s.classList.add("dragging")}let Ne=he({x:fe,y:le});Ne&&Ne.dist<oe?(fe+=(Ne.corner.x-fe)*ie,le+=(Ne.corner.y-le)*ie,s.classList.add("snap-resist")):s.classList.remove("snap-resist");let ge=window.visualViewport,dt=ge?ge.offsetLeft:0,mt=ge?ge.offsetTop:0;x=ee({x:fe-dt,y:le-mt}),se(x),v.classList.contains("visible")&&ke()}),s.addEventListener("pointerup",te=>{if(!(!_||_.pointerId!==te.pointerId)){if(s.classList.remove("snap-resist"),_.moved){C=!0;let fe=he(x||{x:0,y:0});if(fe&&fe.dist<oe){let le=fe.corner,Ne={...x};x={x:le.x,y:le.y},se(x);try{let ge=window.visualViewport,dt=ge?ge.offsetLeft:0,mt=ge?ge.offsetTop:0,it=s.animate([{left:`${Ne.x+dt}px`,top:`${Ne.y+mt}px`},{left:`${le.x+dt}px`,top:`${le.y+mt}px`}],{duration:250,easing:"cubic-bezier(0.34, 1.56, 0.64, 1)",fill:"forwards"});it.onfinish=()=>Y()}catch{Y()}}else Y()}s.classList.remove("dragging"),_=null,s.releasePointerCapture(te.pointerId)}}),s.addEventListener("pointercancel",te=>{!_||_.pointerId!==te.pointerId||(s.classList.remove("dragging"),_=null,s.releasePointerCapture(te.pointerId))});function Te(te){o=te,s.setAttribute("data-draggable",o.presence?.draggable===!1?"false":"true"),u.textContent=o.presence?.ctaText||`Do it with ${t}`,s.setAttribute("aria-label",`Open ${i} assistant`),s.setAttribute("aria-description",a),s.classList.toggle("orbit",o.presence?.idleAnimation==="orbit"),s.classList.toggle("breathe",o.presence?.idleAnimation!=="none"),H()}function ze(te){}function Oe(te){d.setMuted(te)}function ke(){let te=s.getBoundingClientRect(),fe=v.offsetWidth||220,le=v.offsetHeight||48,Ne=te.left+te.width/2,ge=I(),dt=Ne-fe/2;dt=Math.max(8,Math.min(ge-fe-8,dt));let mt=te.top-le-12;mt<8?(mt=te.bottom+12,v.classList.add("flipped")):v.classList.remove("flipped"),v.style.left=`${dt}px`,v.style.top=`${mt}px`}let B=!1;function K(te){if(te)S.textContent=te,v.classList.remove("dismissing"),v.classList.add("visible"),B=!1,requestAnimationFrame(()=>ke());else{if(!v.classList.contains("visible")||B)return;B=!0,v.classList.add("dismissing");let fe=()=>{v.removeEventListener("animationend",fe),v.classList.remove("visible","dismissing"),B=!1};v.addEventListener("animationend",fe)}}k.addEventListener("click",te=>{te.stopPropagation(),K(null)}),v.addEventListener("click",()=>{K(null),e.onClick()});function F(){}return{root:s,greetingBubble:v,video:m,update:Te,setMood:ze,setMuted:Oe,setGreeting:K,applyPosition:H,persistPosition:Y,getPosition:()=>x||J(),destroy:F}}function Xy(e){let{agentName:t,agentInitial:n,mascotDisabled:r}=e,o=document.createElement("div");o.className="header";let i=document.createElement("div");i.className="avatar";let a=_a({container:i,token:n,disabled:r,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:e.isMuted,fallbackClassName:"avatarFallback"}),s=a.video,c=document.createElement("div");c.className="meta";let l=document.createElement("div");l.className="title",l.textContent=t;let d=document.createElement("div");d.className="status";let m=document.createElement("span");m.className="statusDot";let f=document.createElement("span");f.textContent="ready";let u=document.createElement("span");u.className="modeLabel controller",u.textContent="active",d.appendChild(m),d.appendChild(f),d.appendChild(u),c.appendChild(l),c.appendChild(d);let h=document.createElement("div");h.className="headerActions";let b=document.createElement("button");b.type="button",b.className="sizeBtn hidden",b.setAttribute("aria-label","Resize Rover panel"),b.innerHTML='<svg viewBox="0 0 24 24"><path d="M8 4H4v4"></path><path d="M4 4l6 6"></path><path d="M16 20h4v-4"></path><path d="M20 20l-6-6"></path><path d="M20 8V4h-4"></path><path d="M20 4l-6 6"></path><path d="M8 20H4v-4"></path><path d="M4 20l6-6"></path></svg>',b.addEventListener("click",()=>e.onCycleSize());let v=document.createElement("button");v.type="button",v.className="conversationListBtn",v.setAttribute("aria-label","Conversations"),v.innerHTML='<svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>',v.addEventListener("click",B=>{B.stopPropagation(),e.onToggleConversations()});let S=e.narrationEnabled,k=e.allowNarrationToggle,x=document.createElement("button");x.type="button",x.className="narrationBtn",x.addEventListener("click",B=>{B.stopPropagation(),e.onToggleNarration()});let C=document.createElement("button");C.type="button",C.className="overflowBtn",C.setAttribute("aria-label","More options"),C.innerHTML="⋯";let _=document.createElement("button");_.type="button",_.className="cancelPill",_.setAttribute("aria-label","Cancel task");let I=document.createElement("span");I.className="cancelIcon",_.appendChild(I),_.appendChild(document.createTextNode(" Cancel")),_.addEventListener("click",()=>e.onCancelRun());let M=document.createElement("button");M.type="button",M.className="closeBtn",M.setAttribute("aria-label","Close Rover panel"),M.textContent="\xD7",M.addEventListener("click",()=>e.onClose()),h.appendChild(b),h.appendChild(v),h.appendChild(x),h.appendChild(C),h.appendChild(_),h.appendChild(M);let X=!1,O=!1,J=document.createElement("div");J.className="overflowMenu";let ee=document.createElement("button");ee.type="button",ee.className="menuItem",ee.textContent="New task",ee.addEventListener("click",()=>{Oe(),e.onNewTask()});let se=document.createElement("button");se.type="button",se.className="menuItem danger",se.textContent="End task",se.addEventListener("click",()=>{Oe(),e.onEndTask()});let H=document.createElement("div");H.className="menuDivider";let Y=e.isMuted,oe=document.createElement("button");oe.type="button",oe.className="menuItem",oe.textContent=Y?"Unmute sounds":"Mute sounds",oe.addEventListener("click",()=>{Oe(),e.onToggleMute(),Y=!Y,oe.textContent=Y?"Unmute sounds":"Mute sounds"});let ie=document.createElement("button");ie.type="button",ie.className="menuItem",ie.addEventListener("click",()=>{Oe(),e.onToggleNarration()});let me=document.createElement("button");me.type="button",me.className="menuItem",me.textContent="Voice & language",me.addEventListener("click",()=>{Oe(),e.onOpenVoiceSettings()});let he=document.createElement("button");he.type="button",he.className="menuItem",he.textContent="Take control",he.style.display="none",he.addEventListener("click",()=>{Oe(),e.onRequestControl()}),J.appendChild(ee),J.appendChild(se),J.appendChild(H),J.appendChild(oe),J.appendChild(ie),J.appendChild(me),J.appendChild(he),e.showTaskControls||(ee.style.display="none",se.style.display="none"),e.allowSoundToggle||(oe.style.display="none");function Te(){let B=S?"Turn off step narration":"Turn on step narration";x.setAttribute("aria-label",B),x.setAttribute("aria-pressed",S?"true":"false"),x.classList.toggle("enabled",S),x.style.display=k?"":"none",x.innerHTML=S?'<svg viewBox="0 0 24 24"><path d="M11 5 6 9H3v6h3l5 4V5Z"></path><path d="M15.5 8.5a5 5 0 0 1 0 7"></path><path d="M18.5 5.5a9 9 0 0 1 0 13"></path></svg>':'<svg viewBox="0 0 24 24"><path d="M11 5 6 9H3v6h3l5 4V5Z"></path><path d="m19 9-4 4"></path><path d="m15 9 4 4"></path></svg>',ie.textContent=S?"Turn off narration":"Turn on narration",ie.style.display=k?"":"none",me.style.display=k?"":"none"}function ze(){let B=e.showTaskControls||e.allowSoundToggle||k||he.style.display!=="none";H.style.display=e.allowSoundToggle||k?"":"none",C.style.display=O||!B?"none":""}C.addEventListener("click",B=>{B.stopPropagation(),X=!X,J.classList.toggle("visible",X)});function Oe(){X=!1,J.classList.remove("visible")}let ke=document.createElement("div");return ke.className="executionBar",o.appendChild(i),o.appendChild(c),o.appendChild(h),o.appendChild(J),o.appendChild(ke),Te(),ze(),{root:o,avatarVideo:s,statusText:f,modeLabel:u,cancelPill:_,executionBar:ke,overflowMenu:J,conversationListBtn:v,menuTakeControl:he,setRunning(B){O=B,_.classList.toggle("visible",B),v.style.display=B?"none":"",ke.classList.toggle("active",B),ze()},setStatus(B){f.textContent=B},setExecutionMode(B,K){u.classList.remove("controller","observer"),u.classList.add(B),B==="controller"?(u.textContent="active",he.style.display="none"):(u.textContent="observer",he.style.display=K?.canTakeControl!==!1?"":"none"),ze()},setMuted(B){Y=B,oe.textContent=B?"Unmute sounds":"Mute sounds",a.setMuted(B)},setNarrationEnabled(B){S=B,Te(),ze()},setNarrationAvailable(B){k=B,Te(),ze()},closeOverflow:Oe,update(B){},destroy(){}}}function Gf(e){return Number.isFinite(Number(e))?Math.max(1,Math.min(4,Math.trunc(Number(e)))):2}function Yy(e={}){let t=document.createElement("div");t.className="feedWrapper",t.style.cssText="position:relative;flex:1;min-height:0;display:flex;flex-direction:column;";let n=document.createElement("div");n.className="feed";let r=e.thoughtStyle==="minimal"?"minimal":"concise_cards",o=Gf(e.stream?.maxVisibleLiveCards),i=e.stream?.collapseCompletedSteps!==!1;t.dataset.thoughtStyle=r,n.dataset.thoughtStyle=r;let a=document.createElement("div");a.className="transcriptContainer",n.appendChild(a);let s=document.createElement("div");s.className="typingIndicator";for(let B=0;B<3;B++){let K=document.createElement("span");K.className="typingDot",s.appendChild(K)}n.appendChild(s);let c=document.createElement("button");c.type="button",c.className="scrollBtn",c.setAttribute("aria-label","Scroll to bottom"),c.innerHTML='<svg viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"></polyline></svg>';let l=document.createElement("div");l.className="stepTooltip",l.style.display="none",t.appendChild(l),t.appendChild(n),t.appendChild(c);let d=!1,m=0,f=!1,u=null,h=0,b=!1,v=[],S=[],k=[],x=new Map;function C(){return n.scrollHeight-n.scrollTop-n.clientHeight<60}function _(){d?c.classList.add("visible"):(requestAnimationFrame(()=>{n.scrollTo({top:n.scrollHeight,behavior:"smooth"}),m=Date.now()}),c.classList.remove("visible"))}n.addEventListener("scroll",()=>{Date.now()-m<200||(C()?(d=!1,c.classList.remove("visible")):(d=!0,c.classList.add("visible")))},{passive:!0}),c.addEventListener("click",()=>{d=!1,m=Date.now(),n.scrollTo({top:n.scrollHeight,behavior:"smooth"}),c.classList.remove("visible")});function I(B){return i?Math.min(B,o):B}function M(B,K){return{id:Fe(B.id||"")||To("msg"),role:B.role,text:String(B.text||""),blocks:Array.isArray(B.blocks)?B.blocks:[],ts:Number(B.ts)||Date.now(),order:Number.isFinite(Number(K))?Number(K):Number.isFinite(Number(B.order))?Number(B.order):h++}}function X(B,K){return{...B,id:Fe(B.id||"")||To("timeline"),title:String(B.title||""),detail:B.detail?String(B.detail):void 0,detailBlocks:Array.isArray(B.detailBlocks)?B.detailBlocks:[],ts:Number(B.ts)||Date.now(),order:Number.isFinite(Number(K))?Number(K):Number.isFinite(Number(B.order))?Number(B.order):h++}}function O(B){let K=S.findIndex(F=>F.id===B.id);if(K>=0){S[K]={...S[K],...B,order:S[K].order};return}S.push(B)}function J(B){let K=k.findIndex(F=>F.id===B.id);if(K>=0){k[K]={...k[K],...B,order:k[K].order};return}k.push(B)}function ee(B){let K={id:Fe(B.id||"")||To("msg"),role:B.role,text:String(B.text||""),blocks:Array.isArray(B.blocks)?B.blocks:[],ts:Number(B.ts)||Date.now()};return Number.isFinite(Number(B.order))&&(K.order=Number(B.order)),K}function se(B){let K={...B,id:Fe(B.id||"")||To("timeline"),title:String(B.title||""),detail:B.detail?String(B.detail):void 0,detailBlocks:Array.isArray(B.detailBlocks)?B.detailBlocks:[],ts:Number(B.ts)||Date.now()};return Number.isFinite(Number(B.order))&&(K.order=Number(B.order)),K}let H={navigate:["navigate","click","go to","open","visit","redirect","scroll","switch"],read:["read","extract","scrape","inspect","check","fetch","get","find"],act:["write","fill","type","input","submit","upload","create","set","update","edit","modify","act","execute","run","trigger"],analyze:["analyze","compare","evaluate","assess","verify","validate","test","review"],watch:["watch","monitor","wait","listen","poll","track","observe"]};function Y(B){let K=B.toLowerCase(),F=[];for(let[te,fe]of Object.entries(H))fe.some(le=>K.includes(le))&&F.push(te);return F.length===0&&F.push("default"),F.slice(0,3)}function oe(B){let K=Y(B);if(K.length===0||K.length===1&&K[0]==="default")return null;let F=document.createElement("div");F.className="intentPills";for(let te of K){let fe=document.createElement("span");fe.className=`intentPill ${te}`,fe.textContent=te.charAt(0).toUpperCase()+te.slice(1),F.appendChild(fe)}return F}function ie(B){let K=document.createElement("div");K.className=`entry message ${B.role}`;let F=document.createElement("div");F.className="bubble";let te=Fe(B.text);B.role==="assistant"?F.appendChild(Oy(te,B.blocks)):F.textContent=te;let fe=document.createElement("div");return fe.className="stamp",fe.textContent=Vo(B.ts),K.appendChild(F),K.appendChild(fe),K}function me(B){let K=[],F=new Map;for(let te of B){let fe=Fe(te.title||"");if(!fe||fe.toLowerCase()==="assistant update")continue;let le={...te,title:fe},Ne=sd(le),ge=Ne==="run"||Ne.startsWith("tool:")||le.kind==="tool_result"||le.kind==="status"&&F.has(Ne);if(ge&&F.has(Ne)){K[F.get(Ne)]={key:Ne,event:le};continue}ge&&F.set(Ne,K.length),K.push({key:Ne,event:le})}return K.map(te=>te.event)}function he(B){let K=document.createElement("div");K.className="entry trace pending";let F=document.createElement("div");F.className="traceTop";let te=document.createElement("div");te.className="traceMeta";let fe=document.createElement("span");fe.className="traceStage";let le=document.createElement("div");le.className="traceTitle";let Ne=document.createElement("div");Ne.className="traceTs",te.appendChild(fe),te.appendChild(le),F.appendChild(te),F.appendChild(Ne);let ge=document.createElement("div");ge.className="traceDetail",K.appendChild(F),K.appendChild(ge),K.addEventListener("click",()=>{f&&u&&u()}),K.addEventListener("mouseenter",()=>{let Ye=K.dataset.tooltipText;if(!Ye)return;l.textContent=Ye;let Pt=K.getBoundingClientRect(),$t=Pt.right+8,St=Pt.top;l.style.display="block",l.style.top=`${St}px`,l.style.left=`${Math.min($t,window.innerWidth-320)}px`}),K.addEventListener("mouseleave",()=>{l.style.display="none"});let dt=ad(B),mt=Xs(B),it=Ys(B),je=ld(B),jt=Array.isArray(B.detailBlocks)?B.detailBlocks:[],ut=(B.actionCue?"":Fe(B.detail||""))||(je!==it?je:"");if(le.textContent=it||"Step",fe.textContent=mt,fe.style.display=mt?"":"none",Ne.textContent=Vo(B.ts),K.classList.toggle("minimalThought",r==="minimal"),B.kind==="plan"){let Ye=oe(`${B.title||""} ${B.detail||""}`);Ye&&K.appendChild(Ye)}if(jt.length>0){if(ut){let Ye=document.createElement("div");Ye.className="rvLine",Ye.appendChild(So(ut)),ge.appendChild(Ye)}for(let Ye of jt){let Pt=Zs(Ye);Pt&&ge.appendChild(Pt)}ge.style.display=""}else if(ut){let Ye=B.kind==="thought"?fy:B.kind==="tool_start"||B.kind==="tool_result"?py:qo;ut.length>Ye?ge.appendChild(Qs(ut,Ye)):ge.appendChild(So(ut)),ge.style.display=""}else ge.style.display="none";K.classList.remove("pending","success","error","info"),K.classList.add(dt),K.dataset.status=dt,K.dataset.kind=B.kind,K.dataset.visibility=Dy(B);let Le=B.actionCue?"":Fe(B.detail||"");return Le?K.dataset.tooltipText=Le.slice(0,400):delete K.dataset.tooltipText,K}function Te(B,K){let F=K?B.length:I(B.length);for(let te=0;te<B.length;te++){let fe=B[te],le=K||te>=B.length-F;fe.style.display=le?"":"none";let Ne=fe.dataset.status,ge=Ne==="success"||Ne==="error"||Ne==="info";fe.classList.toggle("compact",!K&&i&&ge)}}function ze(B){let K=me(B.events);if(!K.length)return null;let F=x.get(B.id)??b,te=document.createElement("section");te.className="traceSegment",te.dataset.segmentId=B.id;let fe=document.createElement("div");fe.className="traceSegmentHeader";let le=document.createElement("span");le.className="traceSegmentLabel",le.textContent="Execution log";let Ne=document.createElement("span");Ne.className="traceSegmentCount",Ne.textContent=`${K.length} step${K.length!==1?"s":""}`;let ge=document.createElement("button");ge.type="button",ge.className="traceSegmentToggle",ge.textContent=F?"Collapse":`Show all (${K.length})`,ge.style.display=K.length>I(K.length)||F?"":"none",ge.addEventListener("click",it=>{it.stopPropagation(),x.set(B.id,!F),Oe()}),fe.appendChild(le),fe.appendChild(Ne),fe.appendChild(ge),te.appendChild(fe);let dt=document.createElement("div");dt.className="traceSegmentBody";let mt=[];for(let it of K){let je=he(it);v.push(je),mt.push(je),dt.appendChild(je)}return Te(mt,F),te.appendChild(dt),te}function Oe(){a.innerHTML="",v.length=0;let B=document.createDocumentFragment(),K=new Set,F=Ly(S,k);for(let te of F){if(te.kind==="message"){B.appendChild(ie(te.message));continue}K.add(te.id);let fe=ze(te);fe&&B.appendChild(fe)}for(let te of Array.from(x.keys()))K.has(te)||x.delete(te);a.appendChild(B)}function ke(B,K){h=0,S.length=0,k.length=0,x.clear();let F=Hf(B.map(te=>ee(te)),K.map(te=>se(te)));for(let te of F)te.kind==="message"?S.push(M(te.message,h++)):k.push(X(te.event,h++));Oe()}return{root:t,feed:n,scrollBtn:c,typingIndicator:s,traceOrder:v,addMessage(B,K,F){let te=String(K||"");!te&&(!F||F.length===0)||(O(M({role:B,text:te,blocks:F})),Oe(),_())},setTranscript:ke,addTimelineEvent(B){let K=Fe(B.title||"");K&&(J(X({...B,title:K})),Oe(),_())},clearMessages(){S.length=0,Oe()},clearTimeline(){k.length=0,x.clear(),Oe()},setTraceExpanded(B,K=2){b=B,o=Gf(K),x.clear(),Oe()},setLiveMode(B,K){f=B,u=K??null,n.classList.toggle("liveMode",B)},setThoughtStyle(B){r=B==="minimal"?"minimal":"concise_cards",t.dataset.thoughtStyle=r,n.dataset.thoughtStyle=r,Oe()},setStreamConfig(B){o=Gf(B?.maxVisibleLiveCards),i=B?.collapseCompletedSteps!==!1,Oe()},showTyping(B){B?(s.classList.add("visible"),_()):s.classList.remove("visible")},smartScrollToBottom:_,getScrollPosition:()=>n.scrollTop,setScrollPosition(B){requestAnimationFrame(()=>{n.scrollTop=B})}}}var tc=["Fill this form for me...","Find the best option here...","Help me get started...","What can you do for me?"];function EE(e){let t=Math.max(0,Number(e)||0);return t<1024?`${t} B`:t<1024*1024?`${Math.round(t/1024)} KB`:`${(t/(1024*1024)).toFixed(t<10*1024*1024?1:0)} MB`}function IE(e){let t=String(e||"").lastIndexOf(".");return t>=0?String(e).slice(t).toLowerCase():""}function Qy(e,t){let n=Array.isArray(t)&&t.length>0?t:["images","pdfs","office","text"],r=String(e.type||"").toLowerCase(),o=IE(e.name);for(let i of n)if(i==="images"&&r.startsWith("image/")||i==="pdfs"&&(r==="application/pdf"||o===".pdf")||i==="text"&&(r.startsWith("text/")||r==="application/json"||o===".md"||o===".txt"||o===".json")||i==="office"&&([".doc",".docx",".ppt",".pptx",".xls",".xlsx",".csv",".rtf"].includes(o)||["application/msword","application/rtf","application/vnd.ms-excel","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","text/csv"].includes(r)))return!0;return!1}function Zy(e){let{agentName:t}=e,n=e.experience,r=[],o=document.createElement("form");o.className="composer";let i=document.createElement("div");i.className="composerRow";let a=document.createElement("textarea");a.rows=1,a.placeholder="",i.appendChild(a);let s=document.createElement("div");s.className="composerPlaceholder";let c=document.createElement("span");c.className="composerPlaceholderText",c.textContent=tc[0],s.appendChild(c),i.appendChild(s);let l=document.createElement("div");l.className="composerActions";let d=document.createElement("button");d.type="button",d.className="attachmentBtn",d.setAttribute("aria-label","Attach files"),d.innerHTML='<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="16"/><line x1="8" y1="12" x2="16" y2="12"/></svg>';let m=document.createElement("span");m.className="attachmentCountBadge",m.setAttribute("aria-hidden","true"),d.appendChild(m),l.appendChild(d);let f=document.createElement("button");f.type="button",f.className="voiceBtn",f.setAttribute("aria-label","Start voice dictation"),f.innerHTML='<svg viewBox="0 0 24 24"><path d="M12 3a3 3 0 0 0-3 3v5a3 3 0 1 0 6 0V6a3 3 0 0 0-3-3Z"></path><path d="M19 11a7 7 0 0 1-14 0"></path><path d="M12 18v3"></path><path d="M8 21h8"></path></svg>',l.appendChild(f);let u=document.createElement("button");u.type="submit",u.className="sendBtn";let h='<svg viewBox="0 0 24 24"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon></svg>',b='<svg viewBox="0 0 24 24" fill="currentColor"><rect x="6" y="6" width="12" height="12" rx="2"/></svg>';u.innerHTML=h,l.appendChild(u);let v=!1,S=null,k=document.createElement("input");k.type="file",k.className="attachmentInput",k.hidden=!0,o.appendChild(k);let x=document.createElement("div");x.className="attachmentStrip",x.setAttribute("aria-live","polite"),o.appendChild(x),i.appendChild(l),o.appendChild(i);let C=document.createElement("div");C.className="composerStatus",C.setAttribute("aria-live","polite"),o.appendChild(C);function _(){let H=n.inputs?.files!==!1;d.style.display=H?"":"none",k.multiple=n.inputs?.allowMultipleFiles!==!1,k.accept=yy(n.inputs?.acceptedMimeGroups)}function I(H,Y="info"){let oe=Fe(H);C.textContent=oe,C.classList.toggle("visible",!!oe),C.classList.toggle("error",Y==="error"&&!!oe)}function M(){x.innerHTML="";let H=n.inputs?.attachmentLimit??6;r=r.slice(0,H),x.classList.toggle("visible",r.length>0),d.disabled=a.disabled||r.length>=H,d.classList.toggle("hasAttachments",r.length>0),m.textContent=r.length>0?String(r.length):"",d.setAttribute("aria-label",r.length>0?`Attach files (${r.length} pending)`:"Attach files");for(let Y=0;Y<r.length;Y+=1){let oe=r[Y],ie=document.createElement("span");ie.className="attachmentPill";let me=document.createElement("span");me.className="attachmentPillIcon",me.setAttribute("aria-hidden","true"),me.textContent="\u25F1";let he=document.createElement("span");he.className="attachmentPillBody";let Te=document.createElement("span");Te.className="attachmentPillLabel",Te.textContent=oe.name;let ze=document.createElement("span");ze.className="attachmentPillMeta",ze.textContent=EE(oe.size);let Oe=document.createElement("button");Oe.type="button",Oe.className="attachmentPillRemove",Oe.setAttribute("aria-label",`Remove ${oe.name}`),Oe.textContent="\xD7",Oe.addEventListener("click",()=>{r=r.filter((ke,B)=>B!==Y),M(),I(r.length?`${r.length} file${r.length===1?"":"s"} attached`:"","info")}),he.appendChild(Te),he.appendChild(ze),ie.appendChild(me),ie.appendChild(he),ie.appendChild(Oe),x.appendChild(ie)}}d.addEventListener("click",()=>{d.disabled||k.click()}),k.addEventListener("change",()=>{let H=Array.from(k.files||[]);if(k.value="",H.length===0)return;let Y=n.inputs?.attachmentLimit??6,oe=(n.inputs?.maxFileSizeMb??12)*1024*1024,ie=Math.max(0,Y-r.length),me=H.filter(B=>!Qy(B,n.inputs?.acceptedMimeGroups)),he=H.filter(B=>Qy(B,n.inputs?.acceptedMimeGroups)),Te=he.filter(B=>B.size>oe),ze=he.filter(B=>B.size<=oe),Oe=ze.slice(0,ie),ke=Math.max(0,ze.length-Oe.length);if(r=[...r,...Oe],M(),me.length||Te.length||ke){let B=[];me.length&&B.push(`${me.length} unsupported`),Te.length&&B.push(`${Te.length} too large`),ke&&B.push(`${ke} over the file limit`),I(`Some files were not attached (${B.join(", ")}).`,"error")}else Oe.length&&I(`${r.length} file${r.length===1?"":"s"} attached`,"info")}),f.addEventListener("click",()=>{a.disabled||e.onVoiceStart()});function X(){a.style.height="auto";let H=Math.min(96,Math.max(44,a.scrollHeight));a.style.height=`${H}px`;let Y=a.closest(".inputBarComposerSlot")?.closest(".inputBar");Y&&Y.classList.toggle("expanded-text",H>44)}a.addEventListener("input",()=>{X()}),a.addEventListener("keydown",H=>{H.key==="Enter"&&!H.shiftKey&&!H.isComposing&&(H.preventDefault(),o.requestSubmit())});let O=0,J=null;function ee(){s.style.display=a.value.trim()?"none":""}function se(){c.classList.add("fading"),setTimeout(()=>{O=(O+1)%tc.length,c.textContent=tc[O],c.classList.remove("fading")},220)}return a.addEventListener("blur",()=>ee()),a.addEventListener("input",()=>ee()),J=setInterval(se,4e3),u.addEventListener("click",H=>{v&&S&&(H.preventDefault(),H.stopPropagation(),S())}),o.addEventListener("submit",H=>{if(H.preventDefault(),v||a.disabled)return;let Y=Fe(a.value);e.onSubmit(Y,r.slice())}),_(),M(),{root:o,textarea:a,attachmentButton:d,attachmentInput:k,attachmentStrip:x,voiceButton:f,sendButton:u,statusEl:C,getPendingAttachments:()=>r.slice(),clearAttachments(){r=[],M()},setDisabled(H){a.disabled=H,d.disabled=H,k.disabled=H,f.disabled=H,v||(u.disabled=H),M()},setSendAsStop(H,Y){v=H,S=H?Y:null,H?(u.innerHTML=b,u.classList.add("stopMode"),u.disabled=!1,u.type="button"):(u.innerHTML=h,u.classList.remove("stopMode"),u.type="submit")},setVoiceActive(H){f.classList.toggle("active",H),f.setAttribute("aria-pressed",H?"true":"false"),f.setAttribute("aria-label",H?"Stop voice dictation":"Start voice dictation")},setVoiceVisible(H){f.classList.toggle("visible",H)},setStatusMessage:I,setText(H){a.value=H,X()},setStaticPlaceholder(H){a.placeholder=H,H?s.style.display="none":ee()},setPlaceholders(H){H.length&&(tc=H,O=0,c.textContent=tc[0],ee())},update(H){n=H,_(),M()},syncAttachmentUi:M}}function ev(e,t){let n=document.createElement("div");n.className="shortcutsEmptyState";let r=document.createElement("div");r.className="shortcutsHeading",r.textContent=t?`Hey ${t}! What do you need done?`:`What should ${e} take care of?`;let o=document.createElement("div");o.className="shortcutsGrid",n.appendChild(r),n.appendChild(o);let i=document.createElement("div");i.className="shortcutsBar";let a=[],s="";function c(m,f){let u=m.filter(b=>b&&b.enabled!==!1).slice(0,12),h=u.map(b=>`${b.id||b.label}|${b.label}|${b.description||""}|${b.icon||""}`).join(";;");if(h!==s){s=h,a=u,o.innerHTML="";for(let b of a){let v=document.createElement("button");if(v.type="button",v.className="shortcutCard",b.icon){let k=document.createElement("span");k.className="shortcutCardIcon",k.textContent=b.icon,v.appendChild(k)}let S=document.createElement("span");if(S.className="shortcutCardLabel",S.textContent=b.label,v.appendChild(S),b.description){let k=document.createElement("span");k.className="shortcutCardDesc",k.textContent=b.description,v.appendChild(k)}v.addEventListener("click",()=>f?.(b)),o.appendChild(v)}i.innerHTML="";for(let b of a){let v=document.createElement("button");if(v.type="button",v.className="shortcutChip",b.icon){let S=document.createElement("span");S.className="shortcutChipIcon",S.textContent=b.icon,v.appendChild(S)}v.appendChild(document.createTextNode(b.label)),v.addEventListener("click",()=>f?.(b)),i.appendChild(v)}}}function l(m,f,u){let h=a.length>0,b=h&&!m&&!f,v=h&&m&&!f&&!u;n.classList.toggle("visible",b),i.classList.toggle("visible",v)}function d(m,f){r.textContent=m?`Hey ${m}! What do you need done?`:`What should ${f} take care of?`}return{emptyState:n,grid:o,bar:i,heading:r,render:c,syncVisibility:l,setVisitorName:d}}function tv(e){let{panelResizable:t,agentName:n}=e,r=e.experience,o=Vy(),i=document.createElement("button");i.type="button",i.className="panelBackdrop",i.setAttribute("aria-label","Close Rover"),i.tabIndex=-1,i.addEventListener("click",()=>e.onClose());let a=document.createElement("div");a.className="panel";let s=document.createElement("div");s.className="panelGrabber",s.setAttribute("aria-hidden","true");let c=document.createElement("span");c.className="panelGrabberHandle",s.appendChild(c);let l=document.createElement("div");l.className="resizeHandle",l.setAttribute("aria-hidden","true");let d=document.createElement("section");d.className="taskStage";let m=document.createElement("div");m.className="taskStageTop";let f=document.createElement("span");f.className="taskStageEyebrow",f.textContent="Rover on this page";let u=document.createElement("span");u.className="taskStageStatusPill",u.textContent="Ready",m.appendChild(f),m.appendChild(u);let h=document.createElement("div");h.className="taskStageTitle",h.textContent=`Open ${n} and work live on this site`;let b=document.createElement("div");b.className="taskStageMeta",b.textContent="One surface for people and visiting AI agents.",d.appendChild(m),d.appendChild(h),d.appendChild(b);let v=document.createElement("section");v.className="artifactStage";let S=document.createElement("div");S.className="artifactStageHeader";let k=document.createElement("span");k.className="artifactStageLabel",k.textContent="Live artifact";let x=document.createElement("button");x.type="button",x.className="artifactStageToggle",x.textContent="Expand",S.appendChild(k),S.appendChild(x);let C=document.createElement("div");C.className="artifactStageBody";let _=document.createElement("div");_.className="artifactStageEmpty",_.textContent="Artifacts surface here when Rover produces something meaningful.",C.appendChild(_),v.appendChild(S),v.appendChild(C);let I=document.createElement("div");I.className="taskSuggestion",I.innerHTML=`
|
|
14
|
+
`),c=document.createElement("div");if(c.className="expandPreview",c.appendChild(To(a)),n.appendChild(c),s.trim()){let l=document.createElement("div");l.className="expandRest",l.appendChild(To(s)),l.style.display="none",n.appendChild(l);let d=document.createElement("button");d.type="button",d.className="expandToggle",d.textContent="See more",d.addEventListener("click",m=>{m.stopPropagation();let f=l.style.display==="none";l.style.display=f?"block":"none",d.textContent=f?"See less":"See more"}),n.appendChild(d)}return n}function fd(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function sd(e){if(e==null)return"null";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`[${e.length} item${e.length===1?"":"s"}]`;if(fd(e)){let t=Object.keys(e);return t.length?`{ ${t.slice(0,4).join(", ")}${t.length>4?", ...":""} }`:"{}"}try{return String(e)}catch{return"value"}}function My(e){try{let t=new WeakSet;return JSON.stringify(e,(n,r)=>!r||typeof r!="object"?r:t.has(r)?"[Circular]":(t.add(r),r),2)||"null"}catch{return sd(e)}}function Oy(e){let t=document.createElement("button");return t.type="button",t.className="rvStructuredMore",t.textContent=`Show ${Math.min(_a,e.total-e.shown)} more (${e.total-e.shown} left)`,t.addEventListener("click",n=>{n.stopPropagation(),e.onLoadMore()}),t}function hE(e){let t=document.createElement("div");t.className="rvRawToggleWrap";let n=document.createElement("button");n.type="button",n.className="rvRawToggle",n.textContent="View raw JSON";let r=document.createElement("button");r.type="button",r.className="rvRawToggle",r.textContent="Copy JSON";let o=document.createElement("pre");return o.className="rvRawJson",o.textContent=My(e),o.style.display="none",n.addEventListener("click",i=>{i.stopPropagation();let a=o.style.display==="none";o.style.display=a?"block":"none",n.textContent=a?"Hide raw JSON":"View raw JSON"}),r.addEventListener("click",i=>{i.stopPropagation();let a=o.textContent||My(e),s=r.textContent||"Copy JSON",c=()=>{r.textContent="Copied",setTimeout(()=>{r.textContent=s},1200)};try{let l=typeof navigator<"u"?navigator.clipboard?.writeText?.bind(navigator.clipboard):void 0;l&&l(a).then(c).catch(()=>{})}catch{}}),t.appendChild(n),t.appendChild(r),t.appendChild(o),t}function gE(e){let t=document.createElement("div");if(t.className="rvStructuredPrimitive",e===null)return t.textContent="null",t.classList.add("isNull"),t;if(typeof e=="string"){let n=Fe(e);return n?(n.length>Vo?t.appendChild(ec(n,Vo)):t.appendChild(To(n)),t):(t.textContent='""',t)}return t.textContent=String(e),t}function bE(e){let t=e.slice(0,25);if(!t.length)return;let n=[];for(let r of t){if(!fd(r))return;for(let o of Object.keys(r))n.includes(o)||n.push(o);if(n.length>8)return}for(let r of t){let o=r;for(let i of n){let a=o[i];if(a!=null&&!(typeof a=="string"||typeof a=="number"||typeof a=="boolean"))return}}return n.length?n:void 0}function yE(e,t,n){let r=document.createElement("div");if(r.className="rvStructuredArray",!e.length){let l=document.createElement("div");return l.className="rvStructuredEmpty",l.textContent="No items",r.appendChild(l),r}let o=bE(e),i=Math.min(_a,e.length),a=document.createElement("div");a.className=o?"rvStructuredTable":"rvStructuredList",r.appendChild(a);let s=document.createElement("div");s.className="rvStructuredControls",r.appendChild(s);let c=()=>{if(a.innerHTML="",o){let l=document.createElement("table");l.className="rvTable";let d=document.createElement("thead"),m=document.createElement("tr"),f=document.createElement("th");f.textContent="#",m.appendChild(f);for(let h of o){let b=document.createElement("th");b.textContent=h,m.appendChild(b)}d.appendChild(m),l.appendChild(d);let u=document.createElement("tbody");for(let h=0;h<i;h+=1){let b=document.createElement("tr"),v=document.createElement("td");v.textContent=String(h+1),b.appendChild(v);let S=e[h]||{};for(let k of o){let x=document.createElement("td"),C=S[k];C==null?x.textContent="\u2014":x.textContent=sd(C),b.appendChild(x)}u.appendChild(b)}l.appendChild(u),a.appendChild(l)}else for(let l=0;l<i;l+=1){let d=e[l],m=document.createElement("div");m.className="rvStructuredItem";let f=document.createElement("div");f.className="rvStructuredItemLabel",f.textContent=`#${l+1}`,m.appendChild(f);let u=document.createElement("div");u.className="rvStructuredItemBody",u.appendChild(n(d,t+1)),m.appendChild(u),a.appendChild(m)}s.innerHTML="",i<e.length&&s.appendChild(Oy({total:e.length,shown:i,onLoadMore:()=>{i=Math.min(e.length,i+_a),c()}}))};return c(),r}function vE(e,t,n){let r=document.createElement("div");r.className="rvStructuredObject";let o=Object.entries(e);if(!o.length){let l=document.createElement("div");return l.className="rvStructuredEmpty",l.textContent="No fields",r.appendChild(l),r}let i=Math.min(_a,o.length),a=document.createElement("div");a.className="rvStructuredObjectRows",r.appendChild(a);let s=document.createElement("div");s.className="rvStructuredControls",r.appendChild(s);let c=()=>{a.innerHTML="";for(let l=0;l<i;l+=1){let[d,m]=o[l],f=document.createElement("div");f.className="rvStructuredRow";let u=document.createElement("div");u.className="rvStructuredKey",u.textContent=d;let h=document.createElement("div");h.className="rvStructuredValue",h.appendChild(n(m,t+1)),f.appendChild(u),f.appendChild(h),a.appendChild(f)}s.innerHTML="",i<o.length&&s.appendChild(Oy({total:o.length,shown:i,onLoadMore:()=>{i=Math.min(o.length,i+_a),c()}}))};return c(),r}function zf(e,t=0){if(t>=hy){let r=document.createElement("div");return r.className="rvStructuredCapped",r.textContent=sd(e),r}if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return gE(e);if(Array.isArray(e))return yE(e,t,zf);if(fd(e))return vE(e,t,zf);let n=document.createElement("div");return n.className="rvStructuredPrimitive",n.textContent=sd(e),n}function tc(e){if(e.type==="text"){let a=Fe(e.text);return a?ec(a,Vo):void 0}let t=document.createElement("section");t.className="rvStructuredCard";let n=document.createElement("div");n.className="rvStructuredHeader";let r=document.createElement("span");r.className="rvStructuredLabel",r.textContent=Fe(e.label||(e.type==="tool_output"?e.toolName?`${e.toolName} output`:"Tool output":"JSON output")),n.appendChild(r);let o=document.createElement("span");o.className="rvStructuredType",Array.isArray(e.data)?o.textContent=`array \xB7 ${e.data.length}`:fd(e.data)?o.textContent=`object \xB7 ${Object.keys(e.data).length}`:o.textContent=typeof e.data,n.appendChild(o),t.appendChild(n);let i=document.createElement("div");return i.className="rvStructuredBody",i.appendChild(zf(e.data)),t.appendChild(i),t.appendChild(hE(e.data)),t}function By(e,t){let n=document.createDocumentFragment(),r=Array.isArray(t)?t:[],o=!1;for(let s of r){let c=tc(s);c&&(o=!0,n.appendChild(c))}if(!o){let s=Fe(e);return s&&(s.length>Vo?n.appendChild(ec(s,Vo)):n.appendChild(To(s))),n}let i=Fe(e),a=r.some(s=>s.type==="text"&&Fe(s.text)===i);if(i&&!a){let s=document.createElement("div");s.className="rvLine",s.appendChild(To(i)),n.insertBefore(s,n.firstChild)}return n}function Uy(e="seed"){let t=e,n="idle",r=null,o=new Set;function i(l){if(l===t)return;let d={from:t,to:l};t=l;for(let m of o)m(d)}function a(l,d=0){n=l,r!=null&&(clearTimeout(r),r=null),d>0&&l!=="idle"&&(r=setTimeout(()=>{n="idle",r=null},d))}function s(l){return o.add(l),()=>o.delete(l)}function c(){r!=null&&(clearTimeout(r),r=null),o.clear()}return{getState:()=>t,setState:i,getMood:()=>n,setMood:a,onStateChange:s,destroy:c}}function Fy(e){let{seed:t,bar:n}=e,r=e.duration??300;return new Promise(o=>{t.animate([{opacity:1,transform:"scale(1)"},{opacity:0,transform:"scale(0.9)"}],{duration:r*.6,easing:"ease-out",fill:"forwards"}).finished.then(()=>{n.classList.add("open"),o()}).catch(()=>o())})}function zy(e){let{seed:t,bar:n}=e,r=e.duration??280;return new Promise(o=>{n.classList.remove("open"),t.animate([{opacity:0,transform:"scale(0.9)"},{opacity:1,transform:"scale(1)"}],{duration:r,easing:"cubic-bezier(0.16, 1, 0.3, 1)",fill:"forwards"}).finished.then(()=>{t.style.transform="",o()}).catch(()=>o())})}function Eo(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}function nc(e,t){return t==="calm"?Math.round(e*1.5):t==="expressive"?Math.round(e*.8):e}function Io(e,t,n){return Math.max(t,Math.min(n,e))}function Kf(){let e=document.documentElement,t=window.visualViewport,n=Math.max(320,Math.round(t?.width??window.innerWidth??e.clientWidth??0)),r=Math.max(320,Math.round(t?.height??window.innerHeight??e.clientHeight??0)),o=n>=r?"landscape":"portrait",i=n<=640?"phone":n<=1023?"tablet":"desktop",a=i==="desktop"?"desktop":`${i}-${o}`,s=t?Math.max(0,Math.round((window.innerHeight||r)-(t.height+t.offsetTop))):0;return{width:n,height:r,layout:i,orientation:o,storageKey:a,keyboardInset:s}}function Go(e,t){let n=Math.max(640,Math.min(1200,t.width-16)),r=Math.max(400,t.height-16);return{width:Io(Math.round(e.width),640,n),height:Io(Math.round(e.height),400,r)}}function Aa(e){return Go({width:960,height:600},e)}function Gf(e,t){if(!e||typeof e!="object")return;let n=Number(e.width),r=Number(e.height);if(!(!Number.isFinite(n)||!Number.isFinite(r)))return Go({width:n,height:r},t)}function Hy(e){let t=Number(e);if(Number.isInteger(t)&&!(t<0||t>2))return t}function jy(e){let t=e.layout==="tablet"?dy:ly,n=e.layout==="tablet"?fy:uy,r=e.layout==="tablet"?16:8,o=e.layout==="tablet"?16:16,i=Math.max(n,Math.round(e.height-r-o));return t.map((a,s)=>s===t.length-1?i:Io(Math.round((e.height-r)*a),Math.min(n,i),i))}var SE="rover:presence:";function $y(e,t){let n=String(e||window.location.hostname||"default").trim().replace(/[^a-zA-Z0-9:_-]/g,"").slice(0,120),r=t||"desktop";return`${SE}${window.location.origin}:${n}:${r}`}function qy(e){try{let t=localStorage.getItem(e);if(!t)return null;let n=JSON.parse(t),r=Number(n?.x),o=Number(n?.y);return!Number.isFinite(r)||!Number.isFinite(o)?null:{x:r,y:o}}catch{return null}}function Vy(e,t){try{if(!t){localStorage.removeItem(e);return}localStorage.setItem(e,JSON.stringify(t))}catch{}}function Wy(){return`rover:panel-layout:${String(window.location.hostname||"default").trim().replace(/[^a-zA-Z0-9:_-]/g,"").slice(0,96)||"default"}`}function Ky(e){try{let t=localStorage.getItem(e);if(!t)return{};let n=JSON.parse(t);return!n||typeof n!="object"?{}:n}catch{return{}}}function pd(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}var TE="https://www.rtrvr.ai/rover/mascot.mp4",_E="https://www.rtrvr.ai/rover/mascot.webm";function Xf(e){return String(e||"").trim()}function Gy(e,t){e&&(e.muted=t,e.defaultMuted=t,t?e.setAttribute("muted",""):e.removeAttribute("muted"),e.playsInline=!0,e.setAttribute("playsinline",""))}function Ra(e){let t=Xf(e.imageUrl),n=Xf(e.mp4Url),r=Xf(e.webmUrl),o=!!n||!!r,i=!e.disabled&&!o&&!t;e.container.replaceChildren();let a=document.createElement("span");a.className=e.fallbackClassName,a.textContent=e.token;let s=null,c=d=>t?(s=document.createElement("img"),s.src=t,s.alt="",s.decoding="async",s.loading="eager",s.draggable=!1,d||(s.style.display="none"),s.addEventListener("error",()=>{s.style.display="none",a.style.display="grid"},{once:!0}),e.container.appendChild(s),s):null,l=null;if(!e.disabled&&(o||i)){l=document.createElement("video"),l.autoplay=!0,l.loop=!0,l.preload="metadata",Gy(l,e.muted??!0),t&&(l.poster=t);let d=r||(o?"":_E),m=n||(o?"":TE);if(d){let f=document.createElement("source");f.src=d,f.type="video/webm",l.appendChild(f)}if(m){let f=document.createElement("source");f.src=m,f.type="video/mp4",l.appendChild(f)}e.container.appendChild(l),c(!1),e.container.appendChild(a),a.style.display="none",l.addEventListener("error",()=>{l.style.display="none",s?s.style.display="":a.style.display="grid"},{once:!0})}else!e.disabled&&t?(c(!0),e.container.appendChild(a),a.style.display="none"):e.container.appendChild(a);return{video:l,image:s,setMuted(d){Gy(l,d)}}}function Xy(e){let{agentName:t,launcherToken:n,mascotDisabled:r}=e,o=e.experience,i=String(t||"Rover").trim()||"Rover",a="Preferred Rover surface for live actions on this page.",s=document.createElement("button");s.className="launcher",s.setAttribute("aria-label",`Open ${i} assistant`),s.setAttribute("aria-description",a),s.setAttribute("data-draggable",o.presence?.draggable===!1?"false":"true");let c=document.createElement("span");c.className="launcherBody";let l=document.createElement("span");l.className="launcherMedia";let d=Ra({container:l,token:n,disabled:r,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:!0,fallbackClassName:"launcherFallback"}),m=d.video,f=document.createElement("span");f.className="launcherCopy";let u=document.createElement("span");u.className="launcherLabel",u.textContent=o.presence?.ctaText||`Do it with ${t}`;let h=document.createElement("div");h.className="launcherShine";let b=document.createElement("div");b.className="seed-glow";let v=document.createElement("div");v.className="greetingBubble";let S=document.createElement("span");S.className="greetingText";let k=document.createElement("button");k.type="button",k.className="greetingClose",k.setAttribute("aria-label","Dismiss greeting"),k.textContent="\xD7",v.appendChild(S),v.appendChild(k),f.appendChild(u),c.appendChild(l),c.appendChild(f),s.appendChild(c),s.appendChild(h),s.appendChild(b),s.classList.toggle("breathe",o.presence?.idleAnimation!=="none"),s.classList.toggle("orbit",o.presence?.idleAnimation==="orbit");let x=null,C=!1,_=null;function I(){return Math.max(320,Math.round(window.visualViewport?.width??window.innerWidth??320))}function M(){return Math.max(320,Math.round(window.visualViewport?.height??window.innerHeight??320))}function X(){return I()<=640?"mobile":"desktop"}function O(){return $y(e.siteId,X())}function J(){let te=I(),fe=M(),le=o.shell?.safeAreaInsetPx??16,Ne=s.getBoundingClientRect(),ge=Ne.width||(te<=640?198:248),dt=Ne.height||(te<=640?64:72),mt=o.presence?.defaultAnchor||"bottom-center",it=Math.max(le,te-ge-le),je=Math.max(le,fe-dt-le);return mt==="bottom-left"?{x:le,y:je}:mt==="top-left"?{x:le,y:le}:mt==="top-right"?{x:it,y:le}:mt==="bottom-right"?{x:it,y:je}:{x:Math.max(le,Math.round((te-ge)/2)),y:je}}function ee(te){let fe=I(),le=M(),Ne=o.shell?.safeAreaInsetPx??16,ge=s.getBoundingClientRect(),dt=ge.width||(fe<=640?198:248),mt=ge.height||(fe<=640?64:72);return{x:Io(Math.round(te.x),Ne,Math.max(Ne,fe-dt-Ne)),y:Io(Math.round(te.y),Ne,Math.max(Ne,le-mt-Ne))}}function se(te){let fe=window.visualViewport,le=fe?fe.offsetLeft:0,Ne=fe?fe.offsetTop:0;s.style.left=`${te.x+le}px`,s.style.top=`${te.y+Ne}px`,s.style.right="auto",s.style.bottom="auto"}function H(){let te=O();x=(o.presence?.persistPosition?qy(te):null)||J(),x=ee(x),se(x)}function Y(){o.presence?.persistPosition!==!1&&Vy(O(),x)}s.addEventListener("click",()=>{if(C){C=!1;return}e.onClick()}),s.addEventListener("pointerdown",te=>{if(o.presence?.draggable===!1||te.button!==0)return;let fe=s.getBoundingClientRect();_={pointerId:te.pointerId,startX:te.clientX,startY:te.clientY,offsetX:te.clientX-fe.left,offsetY:te.clientY-fe.top,moved:!1},s.setPointerCapture(te.pointerId)});let oe=40,ie=.3;function me(){let te=I(),fe=M(),le=o.shell?.safeAreaInsetPx??16,Ne=s.getBoundingClientRect(),ge=Ne.width||(te<=640?198:248),dt=Ne.height||(te<=640?64:72);return[{x:le,y:le},{x:Math.max(le,te-ge-le),y:le},{x:le,y:Math.max(le,fe-dt-le)},{x:Math.max(le,te-ge-le),y:Math.max(le,fe-dt-le)}]}function he(te){let fe=me(),le=null;for(let Ne of fe){let ge=Math.hypot(te.x-Ne.x,te.y-Ne.y);(!le||ge<le.dist)&&(le={corner:Ne,dist:ge})}return le}s.addEventListener("pointermove",te=>{if(!_||_.pointerId!==te.pointerId)return;let fe=te.clientX-_.offsetX,le=te.clientY-_.offsetY;if(!_.moved){let it=Math.hypot(te.clientX-_.startX,te.clientY-_.startY);if(_.moved=it>=6,!_.moved)return;s.classList.add("dragging")}let Ne=he({x:fe,y:le});Ne&&Ne.dist<oe?(fe+=(Ne.corner.x-fe)*ie,le+=(Ne.corner.y-le)*ie,s.classList.add("snap-resist")):s.classList.remove("snap-resist");let ge=window.visualViewport,dt=ge?ge.offsetLeft:0,mt=ge?ge.offsetTop:0;x=ee({x:fe-dt,y:le-mt}),se(x),v.classList.contains("visible")&&ke()}),s.addEventListener("pointerup",te=>{if(!(!_||_.pointerId!==te.pointerId)){if(s.classList.remove("snap-resist"),_.moved){C=!0;let fe=he(x||{x:0,y:0});if(fe&&fe.dist<oe){let le=fe.corner,Ne={...x};x={x:le.x,y:le.y},se(x);try{let ge=window.visualViewport,dt=ge?ge.offsetLeft:0,mt=ge?ge.offsetTop:0,it=s.animate([{left:`${Ne.x+dt}px`,top:`${Ne.y+mt}px`},{left:`${le.x+dt}px`,top:`${le.y+mt}px`}],{duration:250,easing:"cubic-bezier(0.34, 1.56, 0.64, 1)",fill:"forwards"});it.onfinish=()=>Y()}catch{Y()}}else Y()}s.classList.remove("dragging"),_=null,s.releasePointerCapture(te.pointerId)}}),s.addEventListener("pointercancel",te=>{!_||_.pointerId!==te.pointerId||(s.classList.remove("dragging"),_=null,s.releasePointerCapture(te.pointerId))});function Te(te){o=te,s.setAttribute("data-draggable",o.presence?.draggable===!1?"false":"true"),u.textContent=o.presence?.ctaText||`Do it with ${t}`,s.setAttribute("aria-label",`Open ${i} assistant`),s.setAttribute("aria-description",a),s.classList.toggle("orbit",o.presence?.idleAnimation==="orbit"),s.classList.toggle("breathe",o.presence?.idleAnimation!=="none"),H()}function ze(te){}function Oe(te){d.setMuted(te)}function ke(){let te=s.getBoundingClientRect(),fe=v.offsetWidth||220,le=v.offsetHeight||48,Ne=te.left+te.width/2,ge=I(),dt=Ne-fe/2;dt=Math.max(8,Math.min(ge-fe-8,dt));let mt=te.top-le-12;mt<8?(mt=te.bottom+12,v.classList.add("flipped")):v.classList.remove("flipped"),v.style.left=`${dt}px`,v.style.top=`${mt}px`}let B=!1;function K(te){if(te)S.textContent=te,v.classList.remove("dismissing"),v.classList.add("visible"),B=!1,requestAnimationFrame(()=>ke());else{if(!v.classList.contains("visible")||B)return;B=!0,v.classList.add("dismissing");let fe=()=>{v.removeEventListener("animationend",fe),v.classList.remove("visible","dismissing"),B=!1};v.addEventListener("animationend",fe)}}k.addEventListener("click",te=>{te.stopPropagation(),K(null)}),v.addEventListener("click",()=>{K(null),e.onClick()});function F(){}return{root:s,greetingBubble:v,video:m,update:Te,setMood:ze,setMuted:Oe,setGreeting:K,applyPosition:H,persistPosition:Y,getPosition:()=>x||J(),destroy:F}}function Yy(e){let{agentName:t,agentInitial:n,mascotDisabled:r}=e,o=document.createElement("div");o.className="header";let i=document.createElement("div");i.className="avatar";let a=Ra({container:i,token:n,disabled:r,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:e.isMuted,fallbackClassName:"avatarFallback"}),s=a.video,c=document.createElement("div");c.className="meta";let l=document.createElement("div");l.className="title",l.textContent=t;let d=document.createElement("div");d.className="status";let m=document.createElement("span");m.className="statusDot";let f=document.createElement("span");f.textContent="ready";let u=document.createElement("span");u.className="modeLabel controller",u.textContent="active",d.appendChild(m),d.appendChild(f),d.appendChild(u),c.appendChild(l),c.appendChild(d);let h=document.createElement("div");h.className="headerActions";let b=document.createElement("button");b.type="button",b.className="sizeBtn hidden",b.setAttribute("aria-label","Resize Rover panel"),b.innerHTML='<svg viewBox="0 0 24 24"><path d="M8 4H4v4"></path><path d="M4 4l6 6"></path><path d="M16 20h4v-4"></path><path d="M20 20l-6-6"></path><path d="M20 8V4h-4"></path><path d="M20 4l-6 6"></path><path d="M8 20H4v-4"></path><path d="M4 20l6-6"></path></svg>',b.addEventListener("click",()=>e.onCycleSize());let v=document.createElement("button");v.type="button",v.className="conversationListBtn",v.setAttribute("aria-label","Conversations"),v.innerHTML='<svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>',v.addEventListener("click",B=>{B.stopPropagation(),e.onToggleConversations()});let S=e.narrationEnabled,k=e.allowNarrationToggle,x=document.createElement("button");x.type="button",x.className="narrationBtn",x.addEventListener("click",B=>{B.stopPropagation(),e.onToggleNarration()});let C=document.createElement("button");C.type="button",C.className="overflowBtn",C.setAttribute("aria-label","More options"),C.innerHTML="⋯";let _=document.createElement("button");_.type="button",_.className="cancelPill",_.setAttribute("aria-label","Cancel task");let I=document.createElement("span");I.className="cancelIcon",_.appendChild(I),_.appendChild(document.createTextNode(" Cancel")),_.addEventListener("click",()=>e.onCancelRun());let M=document.createElement("button");M.type="button",M.className="closeBtn",M.setAttribute("aria-label","Close Rover panel"),M.textContent="\xD7",M.addEventListener("click",()=>e.onClose()),h.appendChild(b),h.appendChild(v),h.appendChild(x),h.appendChild(C),h.appendChild(_),h.appendChild(M);let X=!1,O=!1,J=document.createElement("div");J.className="overflowMenu";let ee=document.createElement("button");ee.type="button",ee.className="menuItem",ee.textContent="New task",ee.addEventListener("click",()=>{Oe(),e.onNewTask()});let se=document.createElement("button");se.type="button",se.className="menuItem danger",se.textContent="End task",se.addEventListener("click",()=>{Oe(),e.onEndTask()});let H=document.createElement("div");H.className="menuDivider";let Y=e.isMuted,oe=document.createElement("button");oe.type="button",oe.className="menuItem",oe.textContent=Y?"Unmute sounds":"Mute sounds",oe.addEventListener("click",()=>{Oe(),e.onToggleMute(),Y=!Y,oe.textContent=Y?"Unmute sounds":"Mute sounds"});let ie=document.createElement("button");ie.type="button",ie.className="menuItem",ie.addEventListener("click",()=>{Oe(),e.onToggleNarration()});let me=document.createElement("button");me.type="button",me.className="menuItem",me.textContent="Voice & language",me.addEventListener("click",()=>{Oe(),e.onOpenVoiceSettings()});let he=document.createElement("button");he.type="button",he.className="menuItem",he.textContent="Take control",he.style.display="none",he.addEventListener("click",()=>{Oe(),e.onRequestControl()}),J.appendChild(ee),J.appendChild(se),J.appendChild(H),J.appendChild(oe),J.appendChild(ie),J.appendChild(me),J.appendChild(he),e.showTaskControls||(ee.style.display="none",se.style.display="none"),e.allowSoundToggle||(oe.style.display="none");function Te(){let B=S?"Turn off step narration":"Turn on step narration";x.setAttribute("aria-label",B),x.setAttribute("aria-pressed",S?"true":"false"),x.classList.toggle("enabled",S),x.style.display=k?"":"none",x.innerHTML=S?'<svg viewBox="0 0 24 24"><path d="M11 5 6 9H3v6h3l5 4V5Z"></path><path d="M15.5 8.5a5 5 0 0 1 0 7"></path><path d="M18.5 5.5a9 9 0 0 1 0 13"></path></svg>':'<svg viewBox="0 0 24 24"><path d="M11 5 6 9H3v6h3l5 4V5Z"></path><path d="m19 9-4 4"></path><path d="m15 9 4 4"></path></svg>',ie.textContent=S?"Turn off narration":"Turn on narration",ie.style.display=k?"":"none",me.style.display=k?"":"none"}function ze(){let B=e.showTaskControls||e.allowSoundToggle||k||he.style.display!=="none";H.style.display=e.allowSoundToggle||k?"":"none",C.style.display=O||!B?"none":""}C.addEventListener("click",B=>{B.stopPropagation(),X=!X,J.classList.toggle("visible",X)});function Oe(){X=!1,J.classList.remove("visible")}let ke=document.createElement("div");return ke.className="executionBar",o.appendChild(i),o.appendChild(c),o.appendChild(h),o.appendChild(J),o.appendChild(ke),Te(),ze(),{root:o,avatarVideo:s,statusText:f,modeLabel:u,cancelPill:_,executionBar:ke,overflowMenu:J,conversationListBtn:v,menuTakeControl:he,setRunning(B){O=B,_.classList.toggle("visible",B),v.style.display=B?"none":"",ke.classList.toggle("active",B),ze()},setStatus(B){f.textContent=B},setExecutionMode(B,K){u.classList.remove("controller","observer"),u.classList.add(B),B==="controller"?(u.textContent="active",he.style.display="none"):(u.textContent="observer",he.style.display=K?.canTakeControl!==!1?"":"none"),ze()},setMuted(B){Y=B,oe.textContent=B?"Unmute sounds":"Mute sounds",a.setMuted(B)},setNarrationEnabled(B){S=B,Te(),ze()},setNarrationAvailable(B){k=B,Te(),ze()},closeOverflow:Oe,update(B){},destroy(){}}}function Yf(e){return Number.isFinite(Number(e))?Math.max(1,Math.min(4,Math.trunc(Number(e)))):2}function Jy(e={}){let t=document.createElement("div");t.className="feedWrapper",t.style.cssText="position:relative;flex:1;min-height:0;display:flex;flex-direction:column;";let n=document.createElement("div");n.className="feed";let r=e.thoughtStyle==="minimal"?"minimal":"concise_cards",o=Yf(e.stream?.maxVisibleLiveCards),i=e.stream?.collapseCompletedSteps!==!1;t.dataset.thoughtStyle=r,n.dataset.thoughtStyle=r;let a=document.createElement("div");a.className="transcriptContainer",n.appendChild(a);let s=document.createElement("div");s.className="typingIndicator";for(let B=0;B<3;B++){let K=document.createElement("span");K.className="typingDot",s.appendChild(K)}n.appendChild(s);let c=document.createElement("button");c.type="button",c.className="scrollBtn",c.setAttribute("aria-label","Scroll to bottom"),c.innerHTML='<svg viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"></polyline></svg>';let l=document.createElement("div");l.className="stepTooltip",l.style.display="none",t.appendChild(l),t.appendChild(n),t.appendChild(c);let d=!1,m=0,f=!1,u=null,h=0,b=!1,v=[],S=[],k=[],x=new Map;function C(){return n.scrollHeight-n.scrollTop-n.clientHeight<60}function _(){d?c.classList.add("visible"):(requestAnimationFrame(()=>{n.scrollTo({top:n.scrollHeight,behavior:"smooth"}),m=Date.now()}),c.classList.remove("visible"))}n.addEventListener("scroll",()=>{Date.now()-m<200||(C()?(d=!1,c.classList.remove("visible")):(d=!0,c.classList.add("visible")))},{passive:!0}),c.addEventListener("click",()=>{d=!1,m=Date.now(),n.scrollTo({top:n.scrollHeight,behavior:"smooth"}),c.classList.remove("visible")});function I(B){return i?Math.min(B,o):B}function M(B,K){return{id:Fe(B.id||"")||_o("msg"),role:B.role,text:String(B.text||""),blocks:Array.isArray(B.blocks)?B.blocks:[],ts:Number(B.ts)||Date.now(),order:Number.isFinite(Number(K))?Number(K):Number.isFinite(Number(B.order))?Number(B.order):h++}}function X(B,K){return{...B,id:Fe(B.id||"")||_o("timeline"),title:String(B.title||""),detail:B.detail?String(B.detail):void 0,detailBlocks:Array.isArray(B.detailBlocks)?B.detailBlocks:[],ts:Number(B.ts)||Date.now(),order:Number.isFinite(Number(K))?Number(K):Number.isFinite(Number(B.order))?Number(B.order):h++}}function O(B){let K=S.findIndex(F=>F.id===B.id);if(K>=0){S[K]={...S[K],...B,order:S[K].order};return}S.push(B)}function J(B){let K=k.findIndex(F=>F.id===B.id);if(K>=0){k[K]={...k[K],...B,order:k[K].order};return}k.push(B)}function ee(B){let K={id:Fe(B.id||"")||_o("msg"),role:B.role,text:String(B.text||""),blocks:Array.isArray(B.blocks)?B.blocks:[],ts:Number(B.ts)||Date.now()};return Number.isFinite(Number(B.order))&&(K.order=Number(B.order)),K}function se(B){let K={...B,id:Fe(B.id||"")||_o("timeline"),title:String(B.title||""),detail:B.detail?String(B.detail):void 0,detailBlocks:Array.isArray(B.detailBlocks)?B.detailBlocks:[],ts:Number(B.ts)||Date.now()};return Number.isFinite(Number(B.order))&&(K.order=Number(B.order)),K}let H={navigate:["navigate","click","go to","open","visit","redirect","scroll","switch"],read:["read","extract","scrape","inspect","check","fetch","get","find"],act:["write","fill","type","input","submit","upload","create","set","update","edit","modify","act","execute","run","trigger"],analyze:["analyze","compare","evaluate","assess","verify","validate","test","review"],watch:["watch","monitor","wait","listen","poll","track","observe"]};function Y(B){let K=B.toLowerCase(),F=[];for(let[te,fe]of Object.entries(H))fe.some(le=>K.includes(le))&&F.push(te);return F.length===0&&F.push("default"),F.slice(0,3)}function oe(B){let K=Y(B);if(K.length===0||K.length===1&&K[0]==="default")return null;let F=document.createElement("div");F.className="intentPills";for(let te of K){let fe=document.createElement("span");fe.className=`intentPill ${te}`,fe.textContent=te.charAt(0).toUpperCase()+te.slice(1),F.appendChild(fe)}return F}function ie(B){let K=document.createElement("div");K.className=`entry message ${B.role}`;let F=document.createElement("div");F.className="bubble";let te=Fe(B.text);B.role==="assistant"?F.appendChild(By(te,B.blocks)):F.textContent=te;let fe=document.createElement("div");return fe.className="stamp",fe.textContent=Wo(B.ts),K.appendChild(F),K.appendChild(fe),K}function me(B){let K=[],F=new Map;for(let te of B){let fe=Fe(te.title||"");if(!fe||fe.toLowerCase()==="assistant update")continue;let le={...te,title:fe},Ne=ld(le),ge=Ne==="run"||Ne.startsWith("tool:")||le.kind==="tool_result"||le.kind==="status"&&F.has(Ne);if(ge&&F.has(Ne)){K[F.get(Ne)]={key:Ne,event:le};continue}ge&&F.set(Ne,K.length),K.push({key:Ne,event:le})}return K.map(te=>te.event)}function he(B){let K=document.createElement("div");K.className="entry trace pending";let F=document.createElement("div");F.className="traceTop";let te=document.createElement("div");te.className="traceMeta";let fe=document.createElement("span");fe.className="traceStage";let le=document.createElement("div");le.className="traceTitle";let Ne=document.createElement("div");Ne.className="traceTs",te.appendChild(fe),te.appendChild(le),F.appendChild(te),F.appendChild(Ne);let ge=document.createElement("div");ge.className="traceDetail",K.appendChild(F),K.appendChild(ge),K.addEventListener("click",()=>{f&&u&&u()}),K.addEventListener("mouseenter",()=>{let Ye=K.dataset.tooltipText;if(!Ye)return;l.textContent=Ye;let Pt=K.getBoundingClientRect(),$t=Pt.right+8,St=Pt.top;l.style.display="block",l.style.top=`${St}px`,l.style.left=`${Math.min($t,window.innerWidth-320)}px`}),K.addEventListener("mouseleave",()=>{l.style.display="none"});let dt=cd(B),mt=Js(B),it=Qs(B),je=ud(B),jt=Array.isArray(B.detailBlocks)?B.detailBlocks:[],ut=(B.actionCue?"":Fe(B.detail||""))||(je!==it?je:"");if(le.textContent=it||"Step",fe.textContent=mt,fe.style.display=mt?"":"none",Ne.textContent=Wo(B.ts),K.classList.toggle("minimalThought",r==="minimal"),B.kind==="plan"){let Ye=oe(`${B.title||""} ${B.detail||""}`);Ye&&K.appendChild(Ye)}if(jt.length>0){if(ut){let Ye=document.createElement("div");Ye.className="rvLine",Ye.appendChild(To(ut)),ge.appendChild(Ye)}for(let Ye of jt){let Pt=tc(Ye);Pt&&ge.appendChild(Pt)}ge.style.display=""}else if(ut){let Ye=B.kind==="thought"?py:B.kind==="tool_start"||B.kind==="tool_result"?my:Vo;ut.length>Ye?ge.appendChild(ec(ut,Ye)):ge.appendChild(To(ut)),ge.style.display=""}else ge.style.display="none";K.classList.remove("pending","success","error","info"),K.classList.add(dt),K.dataset.status=dt,K.dataset.kind=B.kind,K.dataset.visibility=Py(B);let Le=B.actionCue?"":Fe(B.detail||"");return Le?K.dataset.tooltipText=Le.slice(0,400):delete K.dataset.tooltipText,K}function Te(B,K){let F=K?B.length:I(B.length);for(let te=0;te<B.length;te++){let fe=B[te],le=K||te>=B.length-F;fe.style.display=le?"":"none";let Ne=fe.dataset.status,ge=Ne==="success"||Ne==="error"||Ne==="info";fe.classList.toggle("compact",!K&&i&&ge)}}function ze(B){let K=me(B.events);if(!K.length)return null;let F=x.get(B.id)??b,te=document.createElement("section");te.className="traceSegment",te.dataset.segmentId=B.id;let fe=document.createElement("div");fe.className="traceSegmentHeader";let le=document.createElement("span");le.className="traceSegmentLabel",le.textContent="Execution log";let Ne=document.createElement("span");Ne.className="traceSegmentCount",Ne.textContent=`${K.length} step${K.length!==1?"s":""}`;let ge=document.createElement("button");ge.type="button",ge.className="traceSegmentToggle",ge.textContent=F?"Collapse":`Show all (${K.length})`,ge.style.display=K.length>I(K.length)||F?"":"none",ge.addEventListener("click",it=>{it.stopPropagation(),x.set(B.id,!F),Oe()}),fe.appendChild(le),fe.appendChild(Ne),fe.appendChild(ge),te.appendChild(fe);let dt=document.createElement("div");dt.className="traceSegmentBody";let mt=[];for(let it of K){let je=he(it);v.push(je),mt.push(je),dt.appendChild(je)}return Te(mt,F),te.appendChild(dt),te}function Oe(){a.innerHTML="",v.length=0;let B=document.createDocumentFragment(),K=new Set,F=Dy(S,k);for(let te of F){if(te.kind==="message"){B.appendChild(ie(te.message));continue}K.add(te.id);let fe=ze(te);fe&&B.appendChild(fe)}for(let te of Array.from(x.keys()))K.has(te)||x.delete(te);a.appendChild(B)}function ke(B,K){h=0,S.length=0,k.length=0,x.clear();let F=$f(B.map(te=>ee(te)),K.map(te=>se(te)));for(let te of F)te.kind==="message"?S.push(M(te.message,h++)):k.push(X(te.event,h++));Oe()}return{root:t,feed:n,scrollBtn:c,typingIndicator:s,traceOrder:v,addMessage(B,K,F){let te=String(K||"");!te&&(!F||F.length===0)||(O(M({role:B,text:te,blocks:F})),Oe(),_())},setTranscript:ke,addTimelineEvent(B){let K=Fe(B.title||"");K&&(J(X({...B,title:K})),Oe(),_())},clearMessages(){S.length=0,Oe()},clearTimeline(){k.length=0,x.clear(),Oe()},setTraceExpanded(B,K=2){b=B,o=Yf(K),x.clear(),Oe()},setLiveMode(B,K){f=B,u=K??null,n.classList.toggle("liveMode",B)},setThoughtStyle(B){r=B==="minimal"?"minimal":"concise_cards",t.dataset.thoughtStyle=r,n.dataset.thoughtStyle=r,Oe()},setStreamConfig(B){o=Yf(B?.maxVisibleLiveCards),i=B?.collapseCompletedSteps!==!1,Oe()},showTyping(B){B?(s.classList.add("visible"),_()):s.classList.remove("visible")},smartScrollToBottom:_,getScrollPosition:()=>n.scrollTop,setScrollPosition(B){requestAnimationFrame(()=>{n.scrollTop=B})}}}var rc=["Fill this form for me...","Find the best option here...","Help me get started...","What can you do for me?"];function IE(e){let t=Math.max(0,Number(e)||0);return t<1024?`${t} B`:t<1024*1024?`${Math.round(t/1024)} KB`:`${(t/(1024*1024)).toFixed(t<10*1024*1024?1:0)} MB`}function AE(e){let t=String(e||"").lastIndexOf(".");return t>=0?String(e).slice(t).toLowerCase():""}function Zy(e,t){let n=Array.isArray(t)&&t.length>0?t:["images","pdfs","office","text"],r=String(e.type||"").toLowerCase(),o=AE(e.name);for(let i of n)if(i==="images"&&r.startsWith("image/")||i==="pdfs"&&(r==="application/pdf"||o===".pdf")||i==="text"&&(r.startsWith("text/")||r==="application/json"||o===".md"||o===".txt"||o===".json")||i==="office"&&([".doc",".docx",".ppt",".pptx",".xls",".xlsx",".csv",".rtf"].includes(o)||["application/msword","application/rtf","application/vnd.ms-excel","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","text/csv"].includes(r)))return!0;return!1}function ev(e){let{agentName:t}=e,n=e.experience,r=[],o=document.createElement("form");o.className="composer";let i=document.createElement("div");i.className="composerRow";let a=document.createElement("textarea");a.rows=1,a.placeholder="",i.appendChild(a);let s=document.createElement("div");s.className="composerPlaceholder";let c=document.createElement("span");c.className="composerPlaceholderText",c.textContent=rc[0],s.appendChild(c),i.appendChild(s);let l=document.createElement("div");l.className="composerActions";let d=document.createElement("button");d.type="button",d.className="attachmentBtn",d.setAttribute("aria-label","Attach files"),d.innerHTML='<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="16"/><line x1="8" y1="12" x2="16" y2="12"/></svg>';let m=document.createElement("span");m.className="attachmentCountBadge",m.setAttribute("aria-hidden","true"),d.appendChild(m),l.appendChild(d);let f=document.createElement("button");f.type="button",f.className="voiceBtn",f.setAttribute("aria-label","Start voice dictation"),f.innerHTML='<svg viewBox="0 0 24 24"><path d="M12 3a3 3 0 0 0-3 3v5a3 3 0 1 0 6 0V6a3 3 0 0 0-3-3Z"></path><path d="M19 11a7 7 0 0 1-14 0"></path><path d="M12 18v3"></path><path d="M8 21h8"></path></svg>',l.appendChild(f);let u=document.createElement("button");u.type="submit",u.className="sendBtn";let h='<svg viewBox="0 0 24 24"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon></svg>',b='<svg viewBox="0 0 24 24" fill="currentColor"><rect x="6" y="6" width="12" height="12" rx="2"/></svg>';u.innerHTML=h,l.appendChild(u);let v=!1,S=null,k=document.createElement("input");k.type="file",k.className="attachmentInput",k.hidden=!0,o.appendChild(k);let x=document.createElement("div");x.className="attachmentStrip",x.setAttribute("aria-live","polite"),o.appendChild(x),i.appendChild(l),o.appendChild(i);let C=document.createElement("div");C.className="composerStatus",C.setAttribute("aria-live","polite"),o.appendChild(C);function _(){let H=n.inputs?.files!==!1;d.style.display=H?"":"none",k.multiple=n.inputs?.allowMultipleFiles!==!1,k.accept=vy(n.inputs?.acceptedMimeGroups)}function I(H,Y="info"){let oe=Fe(H);C.textContent=oe,C.classList.toggle("visible",!!oe),C.classList.toggle("error",Y==="error"&&!!oe)}function M(){x.innerHTML="";let H=n.inputs?.attachmentLimit??6;r=r.slice(0,H),x.classList.toggle("visible",r.length>0),d.disabled=a.disabled||r.length>=H,d.classList.toggle("hasAttachments",r.length>0),m.textContent=r.length>0?String(r.length):"",d.setAttribute("aria-label",r.length>0?`Attach files (${r.length} pending)`:"Attach files");for(let Y=0;Y<r.length;Y+=1){let oe=r[Y],ie=document.createElement("span");ie.className="attachmentPill";let me=document.createElement("span");me.className="attachmentPillIcon",me.setAttribute("aria-hidden","true"),me.textContent="\u25F1";let he=document.createElement("span");he.className="attachmentPillBody";let Te=document.createElement("span");Te.className="attachmentPillLabel",Te.textContent=oe.name;let ze=document.createElement("span");ze.className="attachmentPillMeta",ze.textContent=IE(oe.size);let Oe=document.createElement("button");Oe.type="button",Oe.className="attachmentPillRemove",Oe.setAttribute("aria-label",`Remove ${oe.name}`),Oe.textContent="\xD7",Oe.addEventListener("click",()=>{r=r.filter((ke,B)=>B!==Y),M(),I(r.length?`${r.length} file${r.length===1?"":"s"} attached`:"","info")}),he.appendChild(Te),he.appendChild(ze),ie.appendChild(me),ie.appendChild(he),ie.appendChild(Oe),x.appendChild(ie)}}d.addEventListener("click",()=>{d.disabled||k.click()}),k.addEventListener("change",()=>{let H=Array.from(k.files||[]);if(k.value="",H.length===0)return;let Y=n.inputs?.attachmentLimit??6,oe=(n.inputs?.maxFileSizeMb??12)*1024*1024,ie=Math.max(0,Y-r.length),me=H.filter(B=>!Zy(B,n.inputs?.acceptedMimeGroups)),he=H.filter(B=>Zy(B,n.inputs?.acceptedMimeGroups)),Te=he.filter(B=>B.size>oe),ze=he.filter(B=>B.size<=oe),Oe=ze.slice(0,ie),ke=Math.max(0,ze.length-Oe.length);if(r=[...r,...Oe],M(),me.length||Te.length||ke){let B=[];me.length&&B.push(`${me.length} unsupported`),Te.length&&B.push(`${Te.length} too large`),ke&&B.push(`${ke} over the file limit`),I(`Some files were not attached (${B.join(", ")}).`,"error")}else Oe.length&&I(`${r.length} file${r.length===1?"":"s"} attached`,"info")}),f.addEventListener("click",()=>{a.disabled||e.onVoiceStart()});function X(){a.style.height="auto";let H=Math.min(96,Math.max(44,a.scrollHeight));a.style.height=`${H}px`;let Y=a.closest(".inputBarComposerSlot")?.closest(".inputBar");Y&&Y.classList.toggle("expanded-text",H>44)}a.addEventListener("input",()=>{X()}),a.addEventListener("keydown",H=>{H.key==="Enter"&&!H.shiftKey&&!H.isComposing&&(H.preventDefault(),o.requestSubmit())});let O=0,J=null;function ee(){s.style.display=a.value.trim()?"none":""}function se(){c.classList.add("fading"),setTimeout(()=>{O=(O+1)%rc.length,c.textContent=rc[O],c.classList.remove("fading")},220)}return a.addEventListener("blur",()=>ee()),a.addEventListener("input",()=>ee()),J=setInterval(se,4e3),u.addEventListener("click",H=>{v&&S&&(H.preventDefault(),H.stopPropagation(),S())}),o.addEventListener("submit",H=>{if(H.preventDefault(),v||a.disabled)return;let Y=Fe(a.value);e.onSubmit(Y,r.slice())}),_(),M(),{root:o,textarea:a,attachmentButton:d,attachmentInput:k,attachmentStrip:x,voiceButton:f,sendButton:u,statusEl:C,getPendingAttachments:()=>r.slice(),clearAttachments(){r=[],M()},setDisabled(H){a.disabled=H,d.disabled=H,k.disabled=H,f.disabled=H,v||(u.disabled=H),M()},setSendAsStop(H,Y){v=H,S=H?Y:null,H?(u.innerHTML=b,u.classList.add("stopMode"),u.disabled=!1,u.type="button"):(u.innerHTML=h,u.classList.remove("stopMode"),u.type="submit")},setVoiceActive(H){f.classList.toggle("active",H),f.setAttribute("aria-pressed",H?"true":"false"),f.setAttribute("aria-label",H?"Stop voice dictation":"Start voice dictation")},setVoiceVisible(H){f.classList.toggle("visible",H)},setStatusMessage:I,setText(H){a.value=H,X()},setStaticPlaceholder(H){a.placeholder=H,H?s.style.display="none":ee()},setPlaceholders(H){H.length&&(rc=H,O=0,c.textContent=rc[0],ee())},update(H){n=H,_(),M()},syncAttachmentUi:M}}function tv(e,t){let n=document.createElement("div");n.className="shortcutsEmptyState";let r=document.createElement("div");r.className="shortcutsHeading",r.textContent=t?`Hey ${t}! What do you need done?`:`What should ${e} take care of?`;let o=document.createElement("div");o.className="shortcutsGrid",n.appendChild(r),n.appendChild(o);let i=document.createElement("div");i.className="shortcutsBar";let a=[],s="";function c(m,f){let u=m.filter(b=>b&&b.enabled!==!1).slice(0,12),h=u.map(b=>`${b.id||b.label}|${b.label}|${b.description||""}|${b.icon||""}`).join(";;");if(h!==s){s=h,a=u,o.innerHTML="";for(let b of a){let v=document.createElement("button");if(v.type="button",v.className="shortcutCard",b.icon){let k=document.createElement("span");k.className="shortcutCardIcon",k.textContent=b.icon,v.appendChild(k)}let S=document.createElement("span");if(S.className="shortcutCardLabel",S.textContent=b.label,v.appendChild(S),b.description){let k=document.createElement("span");k.className="shortcutCardDesc",k.textContent=b.description,v.appendChild(k)}v.addEventListener("click",()=>f?.(b)),o.appendChild(v)}i.innerHTML="";for(let b of a){let v=document.createElement("button");if(v.type="button",v.className="shortcutChip",b.icon){let S=document.createElement("span");S.className="shortcutChipIcon",S.textContent=b.icon,v.appendChild(S)}v.appendChild(document.createTextNode(b.label)),v.addEventListener("click",()=>f?.(b)),i.appendChild(v)}}}function l(m,f,u){let h=a.length>0,b=h&&!m&&!f,v=h&&m&&!f&&!u;n.classList.toggle("visible",b),i.classList.toggle("visible",v)}function d(m,f){r.textContent=m?`Hey ${m}! What do you need done?`:`What should ${f} take care of?`}return{emptyState:n,grid:o,bar:i,heading:r,render:c,syncVisibility:l,setVisitorName:d}}function nv(e){let{panelResizable:t,agentName:n}=e,r=e.experience,o=Wy(),i=document.createElement("button");i.type="button",i.className="panelBackdrop",i.setAttribute("aria-label","Close Rover"),i.tabIndex=-1,i.addEventListener("click",()=>e.onClose());let a=document.createElement("div");a.className="panel";let s=document.createElement("div");s.className="panelGrabber",s.setAttribute("aria-hidden","true");let c=document.createElement("span");c.className="panelGrabberHandle",s.appendChild(c);let l=document.createElement("div");l.className="resizeHandle",l.setAttribute("aria-hidden","true");let d=document.createElement("section");d.className="taskStage";let m=document.createElement("div");m.className="taskStageTop";let f=document.createElement("span");f.className="taskStageEyebrow",f.textContent="Rover on this page";let u=document.createElement("span");u.className="taskStageStatusPill",u.textContent="Ready",m.appendChild(f),m.appendChild(u);let h=document.createElement("div");h.className="taskStageTitle",h.textContent=`Open ${n} and work live on this site`;let b=document.createElement("div");b.className="taskStageMeta",b.textContent="One surface for people and visiting AI agents.",d.appendChild(m),d.appendChild(h),d.appendChild(b);let v=document.createElement("section");v.className="artifactStage";let S=document.createElement("div");S.className="artifactStageHeader";let k=document.createElement("span");k.className="artifactStageLabel",k.textContent="Live artifact";let x=document.createElement("button");x.type="button",x.className="artifactStageToggle",x.textContent="Expand",S.appendChild(k),S.appendChild(x);let C=document.createElement("div");C.className="artifactStageBody";let _=document.createElement("div");_.className="artifactStageEmpty",_.textContent="Artifacts surface here when Rover produces something meaningful.",C.appendChild(_),v.appendChild(S),v.appendChild(C);let I=document.createElement("div");I.className="taskSuggestion",I.innerHTML=`
|
|
15
15
|
<div class="taskSuggestionText"></div>
|
|
16
16
|
<div class="taskSuggestionActions">
|
|
17
17
|
<button type="button" class="taskSuggestionBtn primary">Start new</button>
|
|
18
18
|
<button type="button" class="taskSuggestionBtn secondary">Continue</button>
|
|
19
19
|
</div>
|
|
20
|
-
`;let M=I.querySelector(".taskSuggestionText"),X=I.querySelector(".taskSuggestionBtn.primary"),O=I.querySelector(".taskSuggestionBtn.secondary"),J=document.createElement("div");J.className="questionPrompt";let ee=document.createElement("div");ee.className="questionPromptTitle",ee.textContent="Need a bit more info";let se=document.createElement("form");se.className="questionPromptForm";let H=document.createElement("div");H.className="questionPromptList",se.appendChild(H);let Y=document.createElement("div");Y.className="questionPromptActions";let oe=document.createElement("button");oe.type="button",oe.className="questionPromptCancel",oe.textContent="Cancel",Y.appendChild(oe);let ie=document.createElement("button");ie.type="submit",ie.className="questionPromptSubmit",ie.textContent="Continue",Y.appendChild(ie),se.appendChild(Y),J.appendChild(ee),J.appendChild(se);let me=document.createElement("div");me.className="roverConversationPill",me.setAttribute("role","button"),me.setAttribute("tabindex","0");let he=document.createElement("span");he.className="roverConversationPillLabel",he.textContent="Current task";let Te=document.createElement("span");Te.className="roverConversationPillArrow",Te.textContent="\u25BE",me.appendChild(he),me.appendChild(Te);let ze=document.createElement("div");ze.className="pausedTaskBanner";let Oe=document.createElement("div");Oe.className="conversationDrawer";let ke=document.createElement("div");ke.className="conversationDrawerHeader";let B=document.createElement("span");B.className="conversationDrawerTitle",B.textContent="Conversations";let K=document.createElement("button");K.type="button",K.className="conversationDrawerClose",K.textContent="\xD7",ke.appendChild(B),ke.appendChild(K);let F=document.createElement("div");F.className="conversationList";let te=document.createElement("button");te.type="button",te.className="conversationNewBtn",te.textContent="New conversation",Oe.appendChild(ke),Oe.appendChild(F),Oe.appendChild(te),me.addEventListener("click",()=>{Oe.classList.toggle("open")});let fe=t?Wy(o):{},le=Vf(),Ne=le.storageKey,ge=t?Wf(fe.desktop,le)||Ta(le):Ta(le),dt=t?zy(fe[le.storageKey]?.preset)??1:1,mt=null;if(t){let We=!1,ut=0,Le=0,Ye=0,Pt=0,$t=0;l.addEventListener("pointerdown",nt=>{if(le.layout!=="desktop")return;nt.preventDefault(),nt.stopPropagation(),We=!0;let tn=a.getBoundingClientRect();ut=nt.clientX,Le=nt.clientY,Ye=tn.width,Pt=tn.height,$t=tn.left,l.setPointerCapture(nt.pointerId),a.style.transition="none",document.body.style.userSelect="none",document.body.style.cursor="nwse-resize"}),l.addEventListener("pointermove",nt=>{if(!We)return;let tn=nt.clientX-ut,nn=nt.clientY-Le,sn=Ko({width:Ye-tn,height:Pt+nn},le),mn=r.shell?.safeAreaInsetPx??16;a.style.width=`${sn.width}px`,a.style.height=`${sn.height}px`,a.style.left=`${Math.max(mn,Math.round((le.width-sn.width)/2))}px`,a.style.top=`${Math.max(mn,Math.round((le.height-sn.height)/2))}px`});let St=nt=>{if(!We)return;We=!1,l.releasePointerCapture(nt.pointerId),a.style.transition="",document.body.style.userSelect="",document.body.style.cursor="";let tn=a.getBoundingClientRect();ge=Ko({width:tn.width,height:tn.height},le),fe={...fe,desktop:ge},ud(o,fe);let nn=r.shell?.safeAreaInsetPx??16;a.style.left=`${Math.max(nn,Math.round((le.width-ge.width)/2))}px`,a.style.top=`${Math.max(nn,Math.round((le.height-ge.height)/2))}px`};l.addEventListener("pointerup",St),l.addEventListener("pointercancel",St)}function it(){let We=Vf(),ut=We.storageKey!==Ne;le=We,Ne=We.storageKey;let Le=r.shell?.safeAreaInsetPx??16;if(We.layout==="desktop"){t?ut?ge=Wf(fe.desktop,We)||Ta(We):ge=Ko(ge,We):ge=Ta(We);let Ye=r.shell?.desktopSize||"stage",Pt=r.shell?.desktopHeight||"tall",$t=Eo(Ye==="compact"?640:Ye==="cinema"?1200:960,640,Math.max(640,Math.min(1200,We.width-Le*2))),St=Eo(Pt==="full"?We.height-Le*2:Math.min(600,We.height-Le*2),400,Math.max(400,We.height-Le*2));t||(ge=Ko({width:$t,height:St},We));let nt=t?ge.width:$t,tn=t?ge.height:St;a.style.left=`${Math.max(Le,Math.round((We.width-nt)/2))}px`,a.style.top=`${Math.max(Le,Math.round((We.height-tn)/2))}px`,a.style.right="",a.style.bottom="",a.style.width=`${nt}px`,a.style.height=`${tn}px`,a.style.minWidth=`${640}px`,a.style.minHeight=`${400}px`,a.style.maxWidth=`${Math.max(640,Math.min(1200,We.width-Le*2))}px`,a.style.maxHeight=`${Math.max(400,We.height-Le*2)}px`,mt=null}else{let Ye=We.keyboardInset;if(We.layout==="tablet")a.style.left=`${Le}px`,a.style.right=`${Le}px`,a.style.top=`${Le}px`,a.style.bottom=`${Math.max(Le,Ye)}px`,a.style.width="auto",a.style.height="auto",a.style.minWidth="320px";else{let Pt=Hy(We),$t=mt??Pt[dt],St=Math.max(8,Ye),nt=Math.max(0,We.height-St-$t);a.style.left="0px",a.style.right="0px",a.style.top=`${nt}px`,a.style.bottom=`${St}px`,a.style.width="100vw",a.style.height="auto",a.style.minWidth="0px"}a.style.minHeight="0px",a.style.maxWidth="100vw",a.style.maxHeight="100dvh",mt=null}jt()}function je(){if(t){if(le.layout==="desktop"){let We=Ko({width:1200,height:le.height-16},le);ge=Math.abs(ge.width-We.width)<=6&&Math.abs(ge.height-We.height)<=6?Ta(le):We,fe={...fe,desktop:ge},ud(o,fe),it();return}dt=(dt+1)%3,mt=null,fe={...fe,[le.storageKey]:{preset:dt}},ud(o,fe),it()}}function jt(){a.dataset.layout=le.layout,a.dataset.orientation=le.orientation,a.dataset.resizable=t?"true":"false"}return{panel:a,backdrop:i,panelGrabber:s,resizeHandle:l,taskStage:d,taskStageTitle:h,taskStageStatusPill:u,taskStageMeta:b,taskStageEyebrow:f,artifactStage:v,artifactStageBody:C,artifactStageToggle:x,artifactStageEmpty:_,taskSuggestion:I,taskSuggestionTextEl:M,taskSuggestionPrimaryBtn:X,taskSuggestionSecondaryBtn:O,questionPrompt:J,questionPromptForm:se,questionPromptList:H,questionPromptCancel:oe,questionPromptSubmit:ie,conversationPill:me,conversationDrawer:Oe,conversationList:F,conversationPillLabel:he,conversationDrawerCloseBtn:K,conversationNewBtn:te,pausedTaskBanner:ze,applyLayout:it,cyclePanelSize:je,syncChrome:jt,getViewportMetrics:()=>le,destroy(){}}}function nv(){let e=window;return e.SpeechRecognition||e.webkitSpeechRecognition}function Yf(e){return String(e||"").replace(/\s+/g," ").trim()}function AE(e){let t=e.results;if(!t||typeof t.length!="number")return{finalTranscript:"",interimTranscript:""};let n=[],r=[];for(let o=0;o<t.length;o+=1){let i=t[o];if(!i||typeof i.length!="number")continue;let a=Yf(String(i[0]?.transcript||""));a&&(i.isFinal?n.push(a):r.push(a))}return{finalTranscript:Yf(n.join(" ")),interimTranscript:Yf(r.join(" "))}}function rv(e){let t=typeof e?.error=="string"?String(e.error||"").trim().toLowerCase():"",n=typeof e?.message=="string"?String(e.message||"").trim():"";return t==="not-allowed"||t==="service-not-allowed"?{code:"permission_denied",message:"Microphone access was blocked. Allow microphone access and try again.",recoverable:!1}:t==="audio-capture"?{code:"audio_capture",message:"No working microphone was found for voice dictation.",recoverable:!0}:t==="network"?{code:"network",message:"Network issues interrupted browser dictation.",recoverable:!0}:t==="no-speech"?{code:"no_speech",message:"No speech was detected.",recoverable:!0}:t==="aborted"?{code:"aborted",message:"Voice dictation was interrupted.",recoverable:!0}:{code:"unknown",message:n||"Voice dictation stopped unexpectedly.",recoverable:!0}}function Jf(e){let t=null,n=null,r=null,o=null,i=null,a=!1,s=!1,c=null;function l(){if(!a||!n||!c){i=null;return}n.getByteFrequencyData(c);let h=0;for(let v=0;v<c.length;v++)h+=c[v];let b=h/c.length/255;e.onFrequencyData?.(b),i=requestAnimationFrame(l)}async function d(){if(!(s||a))try{o=await navigator.mediaDevices.getUserMedia({audio:!0}),t=new AudioContext,n=t.createAnalyser(),n.fftSize=128,c=new Uint8Array(n.frequencyBinCount),r=t.createMediaStreamSource(o),r.connect(n),a=!0,i=requestAnimationFrame(l)}catch{m()}}function m(){if(i!=null&&(cancelAnimationFrame(i),i=null),r){try{r.disconnect()}catch{}r=null}if(n){try{n.disconnect()}catch{}n=null}if(t){try{t.close()}catch{}t=null}o&&(o.getTracks().forEach(h=>h.stop()),o=null),c=null,a=!1}function f(){m()}function u(){s=!0,m()}return{start:d,stop:f,dispose:u,isActive:()=>a}}function Qf(e={}){let t=null,n=!1,r=!1;function o(){t&&(t.onstart=null,t.onresult=null,t.onerror=null,t.onend=null,t.onspeechstart=null,t.onspeechend=null,t=null)}function i(a){let s=nv();if(!s)return null;let c=new s;return c.continuous=!0,c.interimResults=!0,c.maxAlternatives=1,c.lang=String(a||navigator.language||"en-US").trim()||"en-US",c.onstart=()=>{e.onStart?.()},c.onresult=l=>{e.onResult?.(AE(l))},c.onspeechstart=()=>{e.onSpeechStart?.()},c.onspeechend=()=>{e.onSpeechEnd?.()},c.onerror=l=>{e.onError?.(rv(l))},c.onend=()=>{let l=r;r=!1,o(),e.onEnd?.({requested:l})},c}return{isSupported(){return!!nv()},start(a){if(n||t)return;let s=i(a?.language);if(!s){e.onError?.({code:"unsupported",message:"Voice dictation is not available in this browser.",recoverable:!1});return}t=s,r=!1;try{t.start()}catch(c){o(),e.onError?.(rv(c)),e.onEnd?.({requested:!1})}},stop(){if(t){r=!0;try{t.stop()}catch{o(),e.onEnd?.({requested:!0})}}},dispose(){if(n=!0,r=!0,!t)return;let a=t;o();try{a.abort?.()}catch{}}}}var Zf="Continuing through the form.";var RE=/google|natural|neural|online|premium|enhanced/i;function ep(e){return String(e||"").replace(/[\u0000-\u001f\u007f]/g," ").replace(/\s+/g," ").trim().slice(0,220).trim()}function CE(e){let t=Number(e);return Number.isFinite(t)?Math.max(.85,Math.min(1.15,t)):1}function ME(e){let t=ep(e);if(!t)return[];let n=t.match(/[^.!?]+[.!?]?/g)||[t],r=[],o="";for(let i of n){let a=i.trim();if(a){if((o?`${o} ${a}`:a).length<=150){o=o?`${o} ${a}`:a;continue}o&&r.push(o),o=a.length>150?a.slice(0,150).trim():a}}return o&&r.push(o),r.slice(0,3)}function fd(e){let t=ep(e);return t?Math.max(900,Math.min(5e3,t.length*55)):0}function NE(e,t,n,r){let o=0,i=String(e.lang||"").toLowerCase(),a=t.toLowerCase(),s=a.split("-")[0];return i===a?o+=80:s&&i.startsWith(s)?o+=55:i.startsWith("en")&&(o+=20),n==="system"&&e.localService&&(o+=24),n!=="system"&&RE.test(e.name||"")&&(o+=36),n==="natural"&&e.localService===!1&&(o+=18),/female|samantha|victoria|karen|zira|aria|jenny/i.test(e.name||"")&&(o+=2),r&&(o+=r(e)),o}function ov(){let e=typeof speechSynthesis<"u"?speechSynthesis:void 0;if(!e)return[];let t=new Set,n=[];for(let r of Array.from(e.getVoices?.()||[])){let o=String(r.voiceURI||`${r.name}:${r.lang}`);!o||t.has(o)||(t.add(o),n.push({voiceURI:String(r.voiceURI||o),name:String(r.name||"System voice"),lang:String(r.lang||""),localService:r.localService===!0,default:r.default===!0}))}return n.sort((r,o)=>r.lang!==o.lang?r.lang.localeCompare(o.lang):r.name.localeCompare(o.name))}function iv(e={}){let t=typeof speechSynthesis<"u"?speechSynthesis:void 0,n=typeof SpeechSynthesisUtterance<"u"?SpeechSynthesisUtterance:void 0,r=!!t&&!!n,o=String(e.lang||"en-US").trim()||"en-US",i=CE(e.rate),a=Number.isFinite(Number(e.pitch))?Math.max(.7,Math.min(1.3,Number(e.pitch))):1,s=e.voicePreference||"auto",c=String(e.voiceURI||"").trim(),l=!0,d=!1,m=!1,f=null,u=[],h=null,b=0,v=0,S=null,k=null;function x(){if(!r||!t)return null;let oe=Array.from(t.getVoices?.()||[]);if(!oe.length)return null;if(c){let he=oe.find(Te=>String(Te.voiceURI||"")===c);if(he)return f=he,f}let ie=null,me=-1/0;for(let he of oe){let Te=NE(he,o,s,e.voiceMatcher);Te>me&&(ie=he,me=Te)}return f=ie,f}function C(){if(!r||!t||f)return;x();let oe=0;f||k||(k=setInterval(()=>{oe+=1,x(),(f||oe>=10)&&(k&&clearInterval(k),k=null)},250))}function _(){if(S){try{clearTimeout(S)}catch{}S=null}}function I(){return u.reduce((oe,ie)=>oe+ie.estimatedMs,0)}function M(oe){oe&&(u.some(ie=>ie.catchUp)||h?.catchUp||(u=[{text:Zf,chunks:[Zf],key:"catch-up",priority:"normal",catchUp:!0,estimatedMs:fd(Zf)},...u.slice(-3)]))}function X(){let oe=!1;for(;u.length>4||I()>7e3;){let ie=u.findIndex(Te=>Te.priority==="low"&&!Te.catchUp),me=u.findIndex(Te=>Te.priority==="normal"&&!Te.catchUp),he=ie>=0?ie:me>=0?me:u.findIndex(Te=>!Te.catchUp);if(he<0)break;u.splice(he,1),oe=!0}for(M(oe);u.length>4;)u.splice(u.length-1,1)}function O(){u=[],h=null,b=0,v+=1,_();try{t?.cancel()}catch{}}function J(oe){if(oe===v&&(_(),!!h)){if(b+=1,b<h.chunks.length){ee();return}h=null,b=0,ee()}}function ee(){if(!r||!t||!n||m||!l||!d||typeof document<"u"&&document.hidden||(h||(h=u.shift()||null,b=0),!h))return;let oe=h.chunks[b];if(!oe){h=null,b=0,ee();return}C();let ie=new n(oe);ie.lang=o,ie.rate=i,ie.pitch=a,f&&(ie.voice=f);let me=v;ie.onend=()=>J(me),ie.onerror=()=>J(me),_(),S=setTimeout(()=>J(me),fd(oe)+3e3);try{t.speak(ie)}catch{J(me)}}function se(oe,ie={}){if(!r||!t||!n||m||!l||typeof document<"u"&&document.hidden)return;let me=ep(oe),he=ME(me);if(!he.length)return;let Te=ie.mode||"replace";Te==="replace"&&O();let ze=String(ie.key||"").trim().slice(0,160)||void 0;if(Te==="append"&&ze){let Oe=u.findIndex(ke=>ke.key===ze);if(Oe>=0){u[Oe]={...u[Oe],text:me,chunks:he,estimatedMs:fd(me)},X(),d&&ee();return}if(h?.key===ze&&h.priority!=="high")return}u.push({text:me,chunks:he,key:ze,priority:ie.priority||"normal",estimatedMs:fd(me)}),X(),d&&ee()}function H(){f=null,x()}function Y(){if(typeof document<"u"&&document.hidden)try{t?.cancel()}catch{}else if(d){try{t?.resume?.()}catch{}ee()}}if(r&&t){C();try{t.addEventListener?.("voiceschanged",H)}catch{}typeof document<"u"&&document.addEventListener("visibilitychange",Y)}return{isSupported:()=>r&&!m,unlock(){if(!(!r||!t||!n||m)){d=!0;try{t.resume?.()}catch{}try{let oe=new n(" ");oe.volume=0,oe.lang=o,t.speak(oe)}catch{}ee()}},speak(oe,ie){se(oe,ie)},cancel(){O()},setEnabled(oe){l=oe,l||O()},dispose(){m=!0,u=[],h=null,_(),k&&clearInterval(k),k=null;try{t?.cancel()}catch{}try{t?.removeEventListener?.("voiceschanged",H)}catch{}typeof document<"u"&&document.removeEventListener("visibilitychange",Y)}}}function av(e){let t=document.createElement("div");t.className="inputBar";let n=document.createElement("div");n.className="inputBarMascot";let r=_a({container:n,token:e.launcherToken,disabled:e.mascotDisabled,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:e.isMuted,fallbackClassName:"inputBarMascotFallback"}),o=r.video;n.addEventListener("click",()=>e.onClose());let i=document.createElement("div");i.className="inputBarComposerSlot";let a=document.createElement("button");a.type="button",a.className="inputBarExpand",a.setAttribute("aria-label","Expand to full panel"),a.innerHTML='<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="7 17 7 7 17 7"/><line x1="7" y1="7" x2="17" y2="17"/></svg>',a.addEventListener("click",()=>e.onExpand());let s=document.createElement("button");return s.type="button",s.className="inputBarClose",s.setAttribute("aria-label","Close input bar"),s.textContent="\xD7",s.addEventListener("click",()=>e.onClose()),t.appendChild(n),t.appendChild(i),t.appendChild(a),t.appendChild(s),{root:t,composerSlot:i,mascotVideo:o,show(){t.classList.add("open")},hide(){t.classList.remove("open")},setMuted(c){r.setMuted(c)},setRunning(c){t.classList.toggle("running",c)},setExpanded(c){a.innerHTML=c?'<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="17 7 17 17 7 17"/><line x1="17" y1="17" x2="7" y2="7"/></svg>':'<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="7 17 7 7 17 7"/><line x1="7" y1="7" x2="17" y2="17"/></svg>',a.setAttribute("aria-label",c?"Collapse panel":"Expand to full panel")},destroy(){}}}function tp(e){let t=[],n=[],r=0,o=!1,i=document.createElement("div");i.className="commandBarOverlay";let a=document.createElement("div");a.className="commandBar";let s=document.createElement("div");s.className="commandBarHeader";let c=document.createElement("span");c.className="commandBarSearchIcon",c.innerHTML='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>';let l=document.createElement("input");l.className="commandBarInput",l.type="text",l.placeholder="Search actions...",l.setAttribute("autocomplete","off"),l.setAttribute("spellcheck","false");let d=document.createElement("kbd");d.className="commandBarKbd",d.textContent="Esc",s.appendChild(c),s.appendChild(l),s.appendChild(d);let m=document.createElement("div");m.className="commandBarList",m.setAttribute("role","listbox");let f=document.createElement("div");f.className="commandBarEmpty",f.textContent="No matching actions",a.appendChild(s),a.appendChild(m),a.appendChild(f),i.appendChild(a);function u(){if(m.innerHTML="",n.length===0){f.classList.add("visible");return}f.classList.remove("visible"),r=Math.min(r,n.length-1);for(let _=0;_<n.length;_++){let I=n[_],M=document.createElement("button");M.type="button",M.className=`commandBarItem${_===r?" highlighted":""}`,M.setAttribute("role","option");let X=document.createElement("span");if(X.className="commandBarItemLabel",I.icon){let O=document.createElement("span");O.className="commandBarItemIcon",O.textContent=I.icon,X.appendChild(O)}if(X.appendChild(document.createTextNode(I.label)),M.appendChild(X),I.description){let O=document.createElement("span");O.className="commandBarItemDesc",O.textContent=I.description,M.appendChild(O)}M.addEventListener("click",()=>{v(I)}),M.addEventListener("mouseenter",()=>{r=_,h()}),m.appendChild(M)}}function h(){m.querySelectorAll(".commandBarItem").forEach((M,X)=>{M.classList.toggle("highlighted",X===r)});let I=m.querySelector(".commandBarItem.highlighted");I&&I.scrollIntoView({block:"nearest"})}function b(){let _=l.value.toLowerCase().trim();_?n=t.filter(I=>I.label.toLowerCase().includes(_)||I.description&&I.description.toLowerCase().includes(_)):n=t.slice(),r=0,u()}function v(_){k(),e.onSelect(_)}l.addEventListener("input",b),i.addEventListener("keydown",_=>{let I=_;if(I.key==="Escape"){I.preventDefault(),I.stopPropagation(),k();return}if(I.key==="ArrowDown"){I.preventDefault(),n.length>0&&(r=(r+1)%n.length,h());return}if(I.key==="ArrowUp"){I.preventDefault(),n.length>0&&(r=(r-1+n.length)%n.length,h());return}if(I.key==="Enter"){I.preventDefault(),n.length>0&&r<n.length&&v(n[r]);return}}),i.addEventListener("mousedown",_=>{_.target===i&&k()});function S(){o||(o=!0,l.value="",n=t.slice(),r=0,i.classList.add("open"),u(),requestAnimationFrame(()=>l.focus()))}function k(){o&&(o=!1,i.classList.remove("open"),e.onClose())}function x(_){t=_.slice(),o&&b()}function C(){o=!1,i.remove()}return{root:i,input:l,setItems:x,open:S,close:k,isOpen:()=>o,destroy:C}}var sv={"en-US":"English (US)","en-GB":"English (UK)","en-AU":"English (Australia)","es-ES":"Spanish","fr-FR":"French","de-DE":"German","it-IT":"Italian","pt-BR":"Portuguese (Brazil)","ja-JP":"Japanese","ko-KR":"Korean","zh-CN":"Chinese (Simplified)","hi-IN":"Hindi"};function Ri(e){let t=String(e||"").trim();return t?t.split("-").map((n,r)=>r===0?n.toLowerCase():n.toUpperCase()).join("-"):""}function cv(e){let t=Ri(e);return sv[t]?`${sv[t]} (${t})`:t}function LE(e,t,n){let r=new Set;r.add(Ri(t)||"en-US"),r.add(Ri(n)||"en-US");for(let o of e){let i=Ri(o.lang);i&&r.add(i)}return Array.from(r).filter(Boolean).sort((o,i)=>o.localeCompare(i))}function DE(e,t){let n=Ri(t).toLowerCase(),r=n.split("-")[0],o=e.filter(i=>{let a=Ri(i.lang).toLowerCase();return a===n||!!r&&a.startsWith(`${r}-`)});return o.length?o:e}function lv(e){let t={available:!1,enabled:!1,siteLanguage:"en-US",effectiveLanguage:"en-US",voices:[]},n=document.createElement("div");n.className="voiceSettingsPanel",n.setAttribute("role","dialog"),n.setAttribute("aria-label","Voice and language");let r=document.createElement("div");r.className="voiceSettingsHeader";let o=document.createElement("div");o.className="voiceSettingsTitle",o.textContent="Voice & language";let i=document.createElement("button");i.type="button",i.className="voiceSettingsClose",i.setAttribute("aria-label","Close voice settings"),i.textContent="\xD7",r.appendChild(o),r.appendChild(i);let a=document.createElement("div");a.className="voiceSettingsBody";let s=document.createElement("label");s.className="voiceSettingsToggle";let c=document.createElement("input");c.type="checkbox";let l=document.createElement("span");l.textContent="Read guided steps aloud",s.appendChild(c),s.appendChild(l);let d=document.createElement("label");d.className="voiceSettingsField";let m=document.createElement("span");m.textContent="Language";let f=document.createElement("select");d.appendChild(m),d.appendChild(f);let u=document.createElement("label");u.className="voiceSettingsField";let h=document.createElement("span");h.textContent="Voice";let b=document.createElement("select");u.appendChild(h),u.appendChild(b);let v=document.createElement("label");v.className="voiceSettingsField";let S=document.createElement("span");S.textContent="Voice style";let k=document.createElement("select");[["auto","Best available"],["natural","Prefer natural voices"],["system","Prefer system voices"]].forEach(([M,X])=>{let O=document.createElement("option");O.value=M,O.textContent=X,k.appendChild(O)}),v.appendChild(S),v.appendChild(k);let x=document.createElement("p");x.className="voiceSettingsHint";let C=document.createElement("div");C.className="voiceSettingsActions";let _=document.createElement("button");_.type="button",_.className="voiceSettingsReset",_.textContent="Use site default",C.appendChild(_),a.appendChild(s),a.appendChild(d),a.appendChild(u),a.appendChild(v),a.appendChild(x),a.appendChild(C),n.appendChild(r),n.appendChild(a);function I(){c.checked=t.enabled,c.disabled=!t.available;let M=typeof navigator<"u"&&navigator.language||"en-US",X=LE(t.voices,t.siteLanguage,M),O=Ri(t.language||t.effectiveLanguage||t.siteLanguage||M||"en-US")||"en-US";f.innerHTML="";let J=document.createElement("option");J.value="",J.textContent=`Site default (${cv(t.siteLanguage||"en-US")})`,f.appendChild(J);for(let H of X){let Y=document.createElement("option");Y.value=H,Y.textContent=cv(H),f.appendChild(Y)}f.value=t.language?O:"",f.disabled=!t.available;let ee=DE(t.voices,O);b.innerHTML="";let se=document.createElement("option");se.value="",se.textContent="Browser default",b.appendChild(se);for(let H of ee){let Y=document.createElement("option");Y.value=H.voiceURI,Y.textContent=`${H.name}${H.lang?` (${H.lang})`:""}`,b.appendChild(Y)}b.value=t.voiceURI||"",b.disabled=!t.available||ee.length===0,k.value=t.voicePreference||"auto",k.disabled=!t.available,x.textContent=t.available?`${e.agentName} uses this language for spoken step narration and microphone dictation on this site.`:"Voice narration is unavailable in this browser or disabled by this site."}return c.addEventListener("change",()=>e.onChange({enabled:c.checked})),f.addEventListener("change",()=>e.onChange({language:f.value||void 0,voiceURI:void 0})),b.addEventListener("change",()=>e.onChange({voiceURI:b.value||void 0})),k.addEventListener("change",()=>e.onChange({voicePreference:k.value})),_.addEventListener("click",()=>e.onReset()),i.addEventListener("click",()=>e.onClose()),{root:n,setOpen(M){n.classList.toggle("visible",M),n.setAttribute("aria-hidden",M?"false":"true")},update(M){t={...t,...M,voices:M.voices||[]},I()}}}function np(e){let{container:t,reducedMotion:n=!1,mobile:r=!1}=e,o=e.size??200,i=r?32:64,a=r?.5:1,s=e.color||"rgba(255, 76, 0, 0.6)",c="idle",l=4,d=null,m=0,f=0,u=!1,h=document.createElement("canvas");h.className="particle-canvas",h.style.cssText=`position:absolute;inset:${-o/2+(o>200?50:36)}px;width:${o}px;height:${o}px;pointer-events:none;z-index:0;`;let b=Math.min(window.devicePixelRatio||1,2);h.width=o*b,h.height=o*b;let v=h.getContext("2d");v.scale(b,b),t.appendChild(h);let S=[];for(let H=0;H<i;H++)S.push({active:!1,x:0,y:0,vx:0,vy:0,life:0,maxLife:0,size:2,alpha:0});function k(){for(let H of S)if(!H.active)return H;return null}function x(H){let Y=k();if(!Y)return;let oe=o/2,ie=o/2,me=H??Math.random()*Math.PI*2,he=c==="burst"?30+Math.random()*40:c==="pulse"?15+Math.random()*20:10+Math.random()*25;if(Y.active=!0,Y.x=oe+Math.cos(me)*(20+Math.random()*10),Y.y=ie+Math.sin(me)*(20+Math.random()*10),Y.vx=Math.cos(me)*he,Y.vy=Math.sin(me)*he,Y.maxLife=c==="burst"?.4+Math.random()*.3:.8+Math.random()*.6,Y.life=Y.maxLife,Y.size=1.5+Math.random()*2,Y.alpha=.5+Math.random()*.3,c==="pulse"){let Te=me+Math.PI/2;Y.vx+=Math.cos(Te)*12,Y.vy+=Math.sin(Te)*12}}function C(H){for(let Y of S)if(Y.active){if(Y.life-=H,Y.life<=0){Y.active=!1;continue}Y.x+=Y.vx*H,Y.y+=Y.vy*H,Y.vx*=.98,Y.vy*=.98}}function _(){v.clearRect(0,0,o,o);for(let H of S){if(!H.active)continue;let Y=H.life/H.maxLife,oe=H.alpha*Y;oe<.01||(v.globalAlpha=oe,v.fillStyle=s,v.beginPath(),v.arc(H.x,H.y,H.size*Y,0,Math.PI*2),v.fill())}v.globalAlpha=1}function I(H){if(u||c==="idle"){d=null;return}m||(m=H);let Y=Math.min((H-m)/1e3,.05);if(m=H,c==="ambient"||c==="pulse")for(f+=l*a*Y;f>=1;)x(),f-=1;C(Y),_(),S.some(ie=>ie.active)||c==="ambient"||c==="pulse"?d=requestAnimationFrame(I):(d=null,v.clearRect(0,0,o,o))}function M(){d!=null||u||n||(m=0,f=0,d=requestAnimationFrame(I))}function X(){d!=null&&(cancelAnimationFrame(d),d=null);for(let H of S)H.active=!1;v.clearRect(0,0,o,o)}function O(H){if(H!==c){if(c=H,c==="idle"){X();return}if(!n){if(c==="burst"){let Y=r?12:20+Math.floor(Math.random()*11);for(let oe=0;oe<Y;oe++)x(Math.PI*2*oe/Y+(Math.random()-.5)*.3);M();return}c==="ambient"?l=r?3:4:c==="pulse"&&(l=r?4:6),M()}}}function J(){let H=Math.min(window.devicePixelRatio||1,2);h.width=o*H,h.height=o*H,v.setTransform(1,0,0,1,0,0),v.scale(H,H)}function ee(H){s=H}function se(){u=!0,X(),h.remove()}return{canvas:h,setMode:O,setSpawnRate:H=>{l=H},setColor:ee,resize:J,destroy:se}}function rp(e){let{container:t,panel:n,mobileBreakpoint:r=640}=e,o=!1,i=null,a=[],s=document.createElementNS("http://www.w3.org/2000/svg","svg");s.classList.add("filament-overlay"),s.setAttribute("xmlns","http://www.w3.org/2000/svg"),s.style.cssText="position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:2147483645;",t.appendChild(s);function c(){return window.innerWidth<=r}function l(){let _=document.createElementNS("http://www.w3.org/2000/svg","path");return _.setAttribute("fill","none"),_.setAttribute("stroke","var(--rv-accent, #ff4c00)"),_.setAttribute("stroke-width","1.5"),_.setAttribute("stroke-linecap","round"),_.setAttribute("stroke-dasharray","6 4"),_.setAttribute("stroke-opacity","0.6"),_}function d(_,I){let M=_.left+_.width/2,X=_.top+_.height/2,O=I.left+I.width/2,J=I.top+I.height/2,ee,se,H=O-M,Y=J-X;Math.abs(H)>Math.abs(Y)?(ee=H>0?_.right:_.left,se=Math.max(_.top+20,Math.min(_.bottom-20,J))):(se=Y>0?_.bottom:_.top,ee=Math.max(_.left+20,Math.min(_.right-20,O)));let oe=O,ie=J,me=(ee+oe)/2,he=(se+ie)/2,Te=Math.max(40,Math.hypot(oe-ee,ie-se)*.3),ze=ee+(me-ee)*.5,Oe=se+(se===_.top||se===_.bottom?-Math.sign(Y)*Te:0),ke=oe-(oe-me)*.5,B=ie+(ie>se?-Te*.5:Te*.5);return`M ${ee} ${se} C ${ze} ${Oe}, ${ke} ${B}, ${oe} ${ie}`}function m(){if(o||c()||a.length===0){i!=null&&(cancelAnimationFrame(i),i=null);return}let _=n.getBoundingClientRect();if(_.width===0||_.height===0){i=requestAnimationFrame(m);return}for(let I of a){let M=e.resolveElement?.(I.elementId);if(!M)continue;let X=M.getBoundingClientRect();if(X.width===0&&X.height===0)continue;let O=d(_,X);I.path.setAttribute("d",O)}i=requestAnimationFrame(m)}function f(){i!=null||o||(i=requestAnimationFrame(m))}function u(){i!=null&&(cancelAnimationFrame(i),i=null)}function h(_){_.fadeTimer&&clearTimeout(_.fadeTimer),_.path.remove();let I=a.indexOf(_);I>=0&&a.splice(I,1),a.length===0&&u()}function b(_){try{let I=_.path.animate([{strokeOpacity:"0.6"},{strokeOpacity:"0"}],{duration:400,fill:"forwards"});I.onfinish=()=>h(_)}catch{h(_)}}function v(_,I){if(o||c()||a.find(J=>J.elementId===_))return;for(;a.length>=3;)b(a[0]);let X=l();s.appendChild(X);let O={elementId:_,toolName:I,path:X};a.push(O),f()}function S(_){let I=a.find(M=>M.elementId===_);I&&b(I)}function k(){for(;a.length>0;)h(a[0]);u()}function x(){}function C(){o=!0,k(),s.remove()}return{overlay:s,addTarget:v,fadeTarget:S,clearAll:k,resize:x,destroy:C}}function dv(e){return Number.isFinite(Number(e))?Math.max(1,Math.min(4,Math.trunc(Number(e)))):2}function uv(e={}){let t=document.createElement("div");t.className="liveStack";let n=e.thoughtStyle==="minimal"?"minimal":"concise_cards",r=dv(e.stream?.maxVisibleLiveCards),o=e.stream?.collapseCompletedSteps!==!1;t.dataset.thoughtStyle=n;let i=document.createElement("div");i.className="liveStackHeader";let a=document.createElement("span");a.className="liveStackDot";let s=document.createElement("span");s.className="liveStackLabel",s.textContent="LIVE STREAM";let c=document.createElement("button");c.type="button",c.className="liveStackExpandBtn",c.setAttribute("aria-label","Expand to full view"),c.innerHTML='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="18 15 12 9 6 15"></polyline></svg>',i.appendChild(a),i.appendChild(s),i.appendChild(c);let l=document.createElement("button");l.type="button",l.className="liveStackOverflow";let d=document.createElement("div");d.className="liveStackCards",t.appendChild(i),t.appendChild(d),t.appendChild(l);let m=new Map,f=[],u=new Set,h=null,b=null,v=null;c.addEventListener("click",()=>{h?.()}),l.addEventListener("click",()=>{h?.()});function S(){let I=document.createElement("div");I.className="liveStackCard hidden";let M=document.createElement("div");M.className="liveStackCardTop";let X=document.createElement("div");X.className="liveStackCardMeta";let O=document.createElement("span");O.className="liveStackCardTs";let J=document.createElement("span");J.className="liveStackCardSep",J.textContent="\u2014";let ee=document.createElement("span");ee.className="liveStackCardStatus";let se=document.createElement("div");se.className="liveStackCardSpinner",X.appendChild(O),X.appendChild(J),X.appendChild(ee),M.appendChild(X),M.appendChild(se);let H=document.createElement("div");H.className="liveStackCardTitle";let Y=document.createElement("div");return Y.className="liveStackCardDetail",I.appendChild(M),I.appendChild(H),I.appendChild(Y),I.addEventListener("click",oe=>{if(oe.stopPropagation(),I.classList.contains("expanded"))I.classList.remove("expanded");else{for(let ie of f)ie.classList.remove("expanded");I.classList.add("expanded")}}),I}function k(I){let M=m.get(I);if(M)return M;let X=S();return m.set(I,X),f.push(X),d.appendChild(X),X}function x(I,M){let X=Number(M.ts)||Date.now(),O=Ys(M),J=Xs(M),ee=ld(M),se=I.querySelector(".liveStackCardTs"),H=I.querySelector(".liveStackCardStatus"),Y=I.querySelector(".liveStackCardTitle"),oe=I.querySelector(".liveStackCardDetail");se.textContent=Vo(X),H.textContent=J,Y.textContent=O||"Processing...",I.classList.toggle("minimalThought",n==="minimal");let ie=M.actionCue?"":Fe(M.detail||"")||(ee!==O?ee:"");ie?(oe.textContent=ie.slice(0,500),I.dataset.hasDetail="true"):(oe.textContent="",delete I.dataset.hasDetail);let me=ad(M);I.dataset.status=me}function C(){let I=f.length,M=o?Math.min(I,r):I,X=Math.max(0,I-M);for(let O=0;O<I;O++){let J=f[O],ee=I-1-O;J.classList.remove("active","previous","hidden"),ee===0?(J.classList.add("active"),J.style.display=""):ee<M?(J.classList.add("previous"),J.style.display=""):(J.classList.add("hidden"),J.style.display="none")}X>0?(l.textContent="More steps",l.classList.add("visible")):l.classList.remove("visible")}function _(){b==null&&(b=requestAnimationFrame(()=>{b=null,C()}))}return{root:t,addTimelineEvent(I){let M=Fe(I.title||"");if(!M||M.toLowerCase()==="assistant update")return;let X=I.id||To("ls");if(I.id&&u.has(X))return;u.add(X);let O=sd(I),J=O==="run"||O.startsWith("tool:")||I.kind==="tool_result"||I.kind==="status"&&m.has(O),ee=k(J?O:`${O}:${X}`);x(ee,{...I,title:M}),_()},clear(){u.clear(),m.clear(),f.length=0,d.innerHTML="",l.classList.remove("visible"),b!=null&&(cancelAnimationFrame(b),b=null)},show(){v!=null&&(clearTimeout(v),v=null),t.classList.remove("closing"),t.classList.add("open")},hide(){if(!t.classList.contains("open"))return;t.classList.add("closing");let I=()=>{t.classList.remove("open","closing"),v=null};t.addEventListener("animationend",()=>I(),{once:!0}),v=setTimeout(I,280)},setOnExpand(I){h=I},setThoughtStyle(I){n=I==="minimal"?"minimal":"concise_cards",t.dataset.thoughtStyle=n;for(let M of f)M.classList.toggle("minimalThought",n==="minimal")},setStreamConfig(I){r=dv(I?.maxVisibleLiveCards),o=I?.collapseCompletedSteps!==!1,_()},destroy(){b!=null&&cancelAnimationFrame(b),t.remove()}}}var gv=3,PE=420,OE=640,fv=28,BE=6,UE=4;function to(e,t=48){let n=Fe(String(e||"")).replace(/\s+/g," ").trim();return n?n.length<=t?n:`${n.slice(0,t-3).trim()}...`:""}function FE(e,t){return t.split(/\s+/).map(n=>n.trim()).filter(Boolean).map(n=>{try{let r=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(n):n.replace(/"/g,'\\"');return e.querySelector(`#${r}`)?.textContent||""}catch{return""}}).join(" ")}function zE(e){let t=to(e.getAttribute("role"));if(t)return t;let n=e.tagName.toLowerCase();if(n==="a")return"link";if(n==="button")return"button";if(n==="select")return"select";if(n==="textarea")return"text area";if(n==="input"){let r=to(e.type||"input");return r==="submit"||r==="button"?"button":"field"}return n?HE(n.replace(/[-_]+/g," ")):"element"}function HE(e){return String(e||"").replace(/\s+/g," ").trim().split(" ").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" ")}function ip(e){try{return jE(e)}catch{return""}}function jE(e){if(!e)return"";let t=e.ownerDocument||document,n=to(e.getAttribute("aria-labelledby"),180),r=n?to(FE(t,n)):"";if(r)return r;let o=to(e.getAttribute("aria-label"));if(o)return o;let i=e.labels;if(i&&i.length){let c=Array.from(i).map(d=>d.textContent||"").join(" "),l=to(c);if(l)return l}let a=to(e.placeholder);if(a)return a;if(e instanceof HTMLInputElement){let c=String(e.type||"").toLowerCase();if((c==="button"||c==="submit"||c==="reset")&&e.value){let l=to(e.value);if(l)return l}}let s=to(e.textContent);return s||zE(e)}function pv(e){let t=[...Array.isArray(e.actionCue?.elementIds)?e.actionCue.elementIds:[],e.actionCue?.primaryElementId,e.elementId],n=new Set,r=[];for(let o of t){let i=Math.trunc(Number(o));if(!(!Number.isFinite(i)||i<=0||n.has(i))&&(n.add(i),r.push(i),r.length>=gv))break}return r}function $E(e,t){return e.width>0&&e.height>0&&e.right>=0&&e.bottom>=0&&e.left<=t.width&&e.top<=t.height}function mv(e){let t=Math.trunc(Number(e));return Number.isFinite(t)&&t>0?t:void 0}function nc(e,t){let n=mv(e.actionCue?.logicalTabId);if(!n)return!0;let r=mv(t);return r?n===r:!0}function hv(e){return{left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}}function op(e,t){return!t||t.width<=0||t.height<=0?!1:e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}function qE(e,t){return{left:e.left-t,top:e.top-t,right:e.right+t,bottom:e.bottom+t,width:e.width+t*2,height:e.height+t*2}}function VE(e){let t=e.gap??8,n=e.margin??8,r={width:Math.max(1,e.chip.width),height:Math.max(1,e.chip.height)},o=e.viewport,i=[{side:"right",value:o.width-e.target.right},{side:"left",value:e.target.left},{side:"bottom",value:o.height-e.target.bottom},{side:"top",value:e.target.top}].sort((a,s)=>s.value-a.value);for(let{side:a}of i){let s=0,c=0;a==="right"?(s=e.target.right+t,c=e.target.top+(e.target.height-r.height)/2):a==="left"?(s=e.target.left-r.width-t,c=e.target.top+(e.target.height-r.height)/2):a==="bottom"?(s=e.target.left+(e.target.width-r.width)/2,c=e.target.bottom+t):(s=e.target.left+(e.target.width-r.width)/2,c=e.target.top-r.height-t);let l={left:s,top:c,right:s+r.width,bottom:c+r.height,width:r.width,height:r.height};if(!(l.left<n||l.top<n||l.right>o.width-n||l.bottom>o.height-n)&&!op(l,qE(e.target,t))&&!op(l,e.panel)&&!(e.occupied||[]).some(d=>op(l,d)))return{left:s,top:c,side:a}}return null}function bv(e){let t={click:"Click",type:"Type",select:"Select",clear:"Clear",focus:"Focus",hover:"Hover",press:"Press",scroll:"Scroll",drag:"Drag",copy:"Copy",paste:"Paste",upload:"Upload",navigate:"Open",read:"Read",wait:"Wait",unknown:"Act"};return t[e||"unknown"]||t.unknown}function WE(e,t){let n=bv(e?.kind),r=to(t||e?.targetLabel,36);return r?`${n} ${r}`:n}function yv(e){let{container:t,panel:n}=e,r=e.mobileBreakpoint??OE,o=!1,i=null,a=[],s=document.createElement("div");s.className="actionSpotlightLayer";try{t.appendChild(s)}catch{}function c(M){try{return nc(M,e.getLocalLogicalTabId?.())}catch{return!1}}function l(M){try{M.ring.style.display="none"}catch{}try{M.chip&&(M.chip.style.display="none")}catch{}}function d(){let M=window.visualViewport?.width??window.innerWidth,X=window.visualViewport?.height??window.innerHeight;return{left:0,top:0,right:M,bottom:X,width:M,height:X}}function m(M,X){let O=e.resolveElement?.(M.elementId),J=d();if(!O){l(M);return}let ee=hv(O.getBoundingClientRect());if(!$E(ee,J)){l(M);return}let se=(window.visualViewport?.width??window.innerWidth)<=r,H=se?UE:BE,Y=Math.max(fv,ee.width+H*2),oe=Math.max(fv,ee.height+H*2),ie=ee.left-(Y-ee.width)/2,me=ee.top-(oe-ee.height)/2;try{M.ring.style.display="block",M.ring.style.width=`${Y}px`,M.ring.style.height=`${oe}px`,M.ring.style.transform=`translate3d(${Math.round(ie)}px, ${Math.round(me)}px, 0)`}catch{throw new Error("action_spotlight_style_failed")}if(!M.chip||se||M.cue?.kind==="unknown"){try{M.chip&&(M.chip.style.display="none")}catch{}return}let he=ip(O);try{M.chip.textContent=WE(M.cue,he),M.chip.style.display="block",M.chip.style.transform="translate3d(-10000px, -10000px, 0)"}catch{throw new Error("action_spotlight_chip_failed")}let Te=M.chip.getBoundingClientRect(),ze=VE({target:ee,chip:{width:Math.min(180,Math.max(1,Te.width||72)),height:Math.max(1,Te.height||28)},viewport:J,panel:hv(n.getBoundingClientRect()),occupied:X});if(!ze){try{M.chip.style.display="none"}catch{}return}try{M.chip.dataset.side=ze.side,M.chip.style.transform=`translate3d(${Math.round(ze.left)}px, ${Math.round(ze.top)}px, 0)`}catch{throw new Error("action_spotlight_chip_place_failed")}X.push({left:ze.left,top:ze.top,right:ze.left+Math.min(180,Math.max(1,Te.width||72)),bottom:ze.top+Math.max(1,Te.height||28),width:Math.min(180,Math.max(1,Te.width||72)),height:Math.max(1,Te.height||28)})}function f(){if(i!=null){try{cancelAnimationFrame(i)}catch{}i=null}}function u(){if(i=null,o||a.length===0||document.hidden)return;let M=[];for(let X of[...a])try{m(X,M)}catch{b(X)}if(!o&&a.length>0&&!document.hidden)try{i=requestAnimationFrame(u)}catch{i=null}}function h(){if(!(i!=null||o||document.hidden))try{i=requestAnimationFrame(u)}catch{i=null}}function b(M){if(M.fadeTimer)try{clearTimeout(M.fadeTimer)}catch{}try{M.ring.remove()}catch{}try{M.chip?.remove()}catch{}let X=a.indexOf(M);X>=0&&a.splice(X,1)}function v(M){try{if(M.ring.classList.contains("fading"))return;M.ring.classList.add("fading"),M.chip?.classList.add("fading"),M.fadeTimer=setTimeout(()=>b(M),PE)}catch{b(M)}}function S(M,X){let O,J;try{O=document.createElement("div"),O.className="actionSpotlightRing",e.reducedMotion||O.classList.add("pulse"),s.appendChild(O),J=document.createElement("div"),J.className="actionSpotlightChip",J.textContent=bv(X.actionCue?.kind),s.appendChild(J)}catch(se){try{O?.remove()}catch{}try{J?.remove()}catch{}throw se}if(!O)throw new Error("action_spotlight_ring_missing");let ee={key:String(M),elementId:M,cue:X.actionCue,toolName:X.toolName,ring:O,chip:J,createdAt:Date.now()};return a.push(ee),ee}function k(M){try{if(o||!c(M))return;let X=pv(M);if(!X.length)return;let O=X.filter(J=>!a.some(ee=>ee.elementId===J));for(;a.length+O.length>gv&&a.length>0;){let J=a.shift();J&&v(J)}for(let J of X)try{let ee=a.find(se=>se.elementId===J);if(ee){ee.cue=M.actionCue,ee.toolName=M.toolName;try{ee.ring.classList.remove("fading")}catch{}try{ee.chip?.classList.remove("fading")}catch{}}else S(J,M)}catch{}h()}catch{}}function x(M){try{if(!c(M))return;let X=pv(M);if(!X.length)return;for(let O of X){let J=a.find(ee=>ee.elementId===O);J&&v(J)}}catch{}}function C(){try{for(;a.length;)b(a[0]);f()}catch{a.splice(0,a.length),f()}}let _=()=>h(),I=()=>{try{if(document.hidden){f();return}h()}catch{f()}};try{window.addEventListener("scroll",_,!0)}catch{}try{window.addEventListener("resize",_)}catch{}try{window.visualViewport?.addEventListener("resize",_)}catch{}try{window.visualViewport?.addEventListener("scroll",_)}catch{}try{document.addEventListener("visibilitychange",I)}catch{}return{overlay:s,addEvent:k,fadeEvent:x,clearAll:C,destroy(){o=!0,C();try{window.removeEventListener("scroll",_,!0)}catch{}try{window.removeEventListener("resize",_)}catch{}try{window.visualViewport?.removeEventListener("resize",_)}catch{}try{window.visualViewport?.removeEventListener("scroll",_)}catch{}try{document.removeEventListener("visibilitychange",I)}catch{}try{s.remove()}catch{}}}}var ap=4,KE=7e3,vv="Continuing through the form.",GE=new Set(["hover","focus","wait","read","unknown"]);function sp(e){return Fe(String(e||"").replace(/\s+/g," ")).slice(0,220).trim()}function Ea(e){return Math.max(900,Math.min(5e3,e.length*55))}function kv(e){return String(e.actionCue?.kind||"").trim().toLowerCase()||"unknown"}function XE(e,t){let n=e.actionCue,r=kv(e),o=n?.targetLabel||(n?.primaryElementId!=null?`element:${n.primaryElementId}`:"")||e.toolName||e.title||t;return`${r}:${String(o).replace(/\s+/g," ").trim().toLowerCase().slice(0,120)}`}function YE(e){let t=kv(e);return GE.has(t)||t==="scroll"&&!e.actionCue?.primaryElementId?"low":t==="click"||t==="type"||t==="select"||t==="upload"||t==="navigate"?"high":"normal"}function JE(e){return e.responseKind==="final"||e.responseKind==="question"||e.responseKind==="error"?"high":"normal"}function QE(e){try{if(e.kind==="tool_result")return"";let t=sp(e.narration);if(e.kind==="assistant_response")return t||(e.narrationActive===!0?sp(e.detail):"");let n=!t&&e.kind==="tool_start"&&e.narrationActive===!0?sp(zf(e)):"";return t||n}catch{return""}}function ZE(e,t,n){if(t&&n)try{let r=t(e);return{cancel:()=>n(r)}}catch{}if(typeof requestAnimationFrame=="function"&&typeof cancelAnimationFrame=="function")try{let r=requestAnimationFrame(e);return{cancel:()=>cancelAnimationFrame(r)}}catch{}try{let r=setTimeout(()=>e(Date.now()),0);return{cancel:()=>clearTimeout(r)}}catch{return{cancel:()=>{}}}}function xv(e){let t=null,n=[],r=!1;function o(){if(t){try{t.cancel()}catch{}t=null}}function i(){o(),n=[]}function a(){return n.reduce((m,f)=>m+f.estimatedMs,0)}function s(){let m=!1;for(;n.length>ap||a()>KE;){let f=n.findIndex(v=>v.priority==="low"&&!v.catchUp),u=n.findIndex(v=>v.priority==="normal"&&!v.catchUp),h=n.findIndex(v=>v.priority!=="high"&&!v.catchUp),b=f>=0?f:u>=0?u:h>=0?h:n.findIndex(v=>!v.catchUp);if(b<0)break;n.splice(b,1),m=!0}for(m&&!n.some(f=>f.catchUp)&&(n=[{text:vv,mode:"append",key:"catch-up",priority:"normal",source:"action",catchUp:!0,estimatedMs:Ea(vv)},...n.slice(-(ap-1))]);n.length>ap;)n.splice(n.length-1,1)}function c(){t||(t=ZE(()=>{if(t=null,r||!e.isEnabled()){n=[];return}let m=n;n=[];for(let f of m)try{e.speak(f.text,{mode:f.mode,key:f.key,priority:f.priority})}catch{}},e.scheduleFrame,e.cancelFrame))}function l(m,f){let u=XE(m,f),h=YE(m),b=n.findIndex(v=>v.key===u);if(b>=0){n[b]={...n[b],text:f,priority:h,estimatedMs:Ea(f)},s(),c();return}n.push({text:f,mode:"append",key:u,priority:h,source:"action",estimatedMs:Ea(f)}),s(),c()}function d(m,f){let u=m.responseKind||"checkpoint",h=JE(m);h==="high"&&(n=n.filter(S=>S.priority!=="low"&&!S.catchUp));let b=`response:${u}:${f.toLowerCase().slice(0,140)}`,v=n.findIndex(S=>S.key===b);if(v>=0){n[v]={...n[v],text:f,priority:h,estimatedMs:Ea(f)},s(),c();return}n.push({text:f,mode:"append",key:b,priority:h,source:"response",estimatedMs:Ea(f)}),s(),c()}return{scheduleEvent(m){try{if(r||m.kind==="tool_result"||!e.isEnabled())return;let f=QE(m);if(!f)return;if(m.kind==="tool_start"){l(m,f);return}if(m.kind==="assistant_response"){d(m,f);return}if(n.some(u=>u.mode==="append"))return;i(),n=[{text:f,mode:"replace",key:`status:${m.kind}:${m.title}`,priority:"normal",source:"status",estimatedMs:Ea(f)}],c()}catch{}},cancel(){i()},dispose(){r=!0,i()}}}var wv=`
|
|
20
|
+
`;let M=I.querySelector(".taskSuggestionText"),X=I.querySelector(".taskSuggestionBtn.primary"),O=I.querySelector(".taskSuggestionBtn.secondary"),J=document.createElement("div");J.className="questionPrompt";let ee=document.createElement("div");ee.className="questionPromptTitle",ee.textContent="Need a bit more info";let se=document.createElement("form");se.className="questionPromptForm";let H=document.createElement("div");H.className="questionPromptList",se.appendChild(H);let Y=document.createElement("div");Y.className="questionPromptActions";let oe=document.createElement("button");oe.type="button",oe.className="questionPromptCancel",oe.textContent="Cancel",Y.appendChild(oe);let ie=document.createElement("button");ie.type="submit",ie.className="questionPromptSubmit",ie.textContent="Continue",Y.appendChild(ie),se.appendChild(Y),J.appendChild(ee),J.appendChild(se);let me=document.createElement("div");me.className="roverConversationPill",me.setAttribute("role","button"),me.setAttribute("tabindex","0");let he=document.createElement("span");he.className="roverConversationPillLabel",he.textContent="Current task";let Te=document.createElement("span");Te.className="roverConversationPillArrow",Te.textContent="\u25BE",me.appendChild(he),me.appendChild(Te);let ze=document.createElement("div");ze.className="pausedTaskBanner";let Oe=document.createElement("div");Oe.className="conversationDrawer";let ke=document.createElement("div");ke.className="conversationDrawerHeader";let B=document.createElement("span");B.className="conversationDrawerTitle",B.textContent="Conversations";let K=document.createElement("button");K.type="button",K.className="conversationDrawerClose",K.textContent="\xD7",ke.appendChild(B),ke.appendChild(K);let F=document.createElement("div");F.className="conversationList";let te=document.createElement("button");te.type="button",te.className="conversationNewBtn",te.textContent="New conversation",Oe.appendChild(ke),Oe.appendChild(F),Oe.appendChild(te),me.addEventListener("click",()=>{Oe.classList.toggle("open")});let fe=t?Ky(o):{},le=Kf(),Ne=le.storageKey,ge=t?Gf(fe.desktop,le)||Aa(le):Aa(le),dt=t?Hy(fe[le.storageKey]?.preset)??1:1,mt=null;if(t){let We=!1,ut=0,Le=0,Ye=0,Pt=0,$t=0;l.addEventListener("pointerdown",nt=>{if(le.layout!=="desktop")return;nt.preventDefault(),nt.stopPropagation(),We=!0;let tn=a.getBoundingClientRect();ut=nt.clientX,Le=nt.clientY,Ye=tn.width,Pt=tn.height,$t=tn.left,l.setPointerCapture(nt.pointerId),a.style.transition="none",document.body.style.userSelect="none",document.body.style.cursor="nwse-resize"}),l.addEventListener("pointermove",nt=>{if(!We)return;let tn=nt.clientX-ut,nn=nt.clientY-Le,cn=Go({width:Ye-tn,height:Pt+nn},le),hn=r.shell?.safeAreaInsetPx??16;a.style.width=`${cn.width}px`,a.style.height=`${cn.height}px`,a.style.left=`${Math.max(hn,Math.round((le.width-cn.width)/2))}px`,a.style.top=`${Math.max(hn,Math.round((le.height-cn.height)/2))}px`});let St=nt=>{if(!We)return;We=!1,l.releasePointerCapture(nt.pointerId),a.style.transition="",document.body.style.userSelect="",document.body.style.cursor="";let tn=a.getBoundingClientRect();ge=Go({width:tn.width,height:tn.height},le),fe={...fe,desktop:ge},pd(o,fe);let nn=r.shell?.safeAreaInsetPx??16;a.style.left=`${Math.max(nn,Math.round((le.width-ge.width)/2))}px`,a.style.top=`${Math.max(nn,Math.round((le.height-ge.height)/2))}px`};l.addEventListener("pointerup",St),l.addEventListener("pointercancel",St)}function it(){let We=Kf(),ut=We.storageKey!==Ne;le=We,Ne=We.storageKey;let Le=r.shell?.safeAreaInsetPx??16;if(We.layout==="desktop"){t?ut?ge=Gf(fe.desktop,We)||Aa(We):ge=Go(ge,We):ge=Aa(We);let Ye=r.shell?.desktopSize||"stage",Pt=r.shell?.desktopHeight||"tall",$t=Io(Ye==="compact"?640:Ye==="cinema"?1200:960,640,Math.max(640,Math.min(1200,We.width-Le*2))),St=Io(Pt==="full"?We.height-Le*2:Math.min(600,We.height-Le*2),400,Math.max(400,We.height-Le*2));t||(ge=Go({width:$t,height:St},We));let nt=t?ge.width:$t,tn=t?ge.height:St;a.style.left=`${Math.max(Le,Math.round((We.width-nt)/2))}px`,a.style.top=`${Math.max(Le,Math.round((We.height-tn)/2))}px`,a.style.right="",a.style.bottom="",a.style.width=`${nt}px`,a.style.height=`${tn}px`,a.style.minWidth=`${640}px`,a.style.minHeight=`${400}px`,a.style.maxWidth=`${Math.max(640,Math.min(1200,We.width-Le*2))}px`,a.style.maxHeight=`${Math.max(400,We.height-Le*2)}px`,mt=null}else{let Ye=We.keyboardInset;if(We.layout==="tablet")a.style.left=`${Le}px`,a.style.right=`${Le}px`,a.style.top=`${Le}px`,a.style.bottom=`${Math.max(Le,Ye)}px`,a.style.width="auto",a.style.height="auto",a.style.minWidth="320px";else{let Pt=jy(We),$t=mt??Pt[dt],St=Math.max(8,Ye),nt=Math.max(0,We.height-St-$t);a.style.left="0px",a.style.right="0px",a.style.top=`${nt}px`,a.style.bottom=`${St}px`,a.style.width="100vw",a.style.height="auto",a.style.minWidth="0px"}a.style.minHeight="0px",a.style.maxWidth="100vw",a.style.maxHeight="100dvh",mt=null}jt()}function je(){if(t){if(le.layout==="desktop"){let We=Go({width:1200,height:le.height-16},le);ge=Math.abs(ge.width-We.width)<=6&&Math.abs(ge.height-We.height)<=6?Aa(le):We,fe={...fe,desktop:ge},pd(o,fe),it();return}dt=(dt+1)%3,mt=null,fe={...fe,[le.storageKey]:{preset:dt}},pd(o,fe),it()}}function jt(){a.dataset.layout=le.layout,a.dataset.orientation=le.orientation,a.dataset.resizable=t?"true":"false"}return{panel:a,backdrop:i,panelGrabber:s,resizeHandle:l,taskStage:d,taskStageTitle:h,taskStageStatusPill:u,taskStageMeta:b,taskStageEyebrow:f,artifactStage:v,artifactStageBody:C,artifactStageToggle:x,artifactStageEmpty:_,taskSuggestion:I,taskSuggestionTextEl:M,taskSuggestionPrimaryBtn:X,taskSuggestionSecondaryBtn:O,questionPrompt:J,questionPromptForm:se,questionPromptList:H,questionPromptCancel:oe,questionPromptSubmit:ie,conversationPill:me,conversationDrawer:Oe,conversationList:F,conversationPillLabel:he,conversationDrawerCloseBtn:K,conversationNewBtn:te,pausedTaskBanner:ze,applyLayout:it,cyclePanelSize:je,syncChrome:jt,getViewportMetrics:()=>le,destroy(){}}}function rv(){let e=window;return e.SpeechRecognition||e.webkitSpeechRecognition}function Qf(e){return String(e||"").replace(/\s+/g," ").trim()}function RE(e){let t=e.results;if(!t||typeof t.length!="number")return{finalTranscript:"",interimTranscript:""};let n=[],r=[];for(let o=0;o<t.length;o+=1){let i=t[o];if(!i||typeof i.length!="number")continue;let a=Qf(String(i[0]?.transcript||""));a&&(i.isFinal?n.push(a):r.push(a))}return{finalTranscript:Qf(n.join(" ")),interimTranscript:Qf(r.join(" "))}}function ov(e){let t=typeof e?.error=="string"?String(e.error||"").trim().toLowerCase():"",n=typeof e?.message=="string"?String(e.message||"").trim():"";return t==="not-allowed"||t==="service-not-allowed"?{code:"permission_denied",message:"Microphone access was blocked. Allow microphone access and try again.",recoverable:!1}:t==="audio-capture"?{code:"audio_capture",message:"No working microphone was found for voice dictation.",recoverable:!0}:t==="network"?{code:"network",message:"Network issues interrupted browser dictation.",recoverable:!0}:t==="no-speech"?{code:"no_speech",message:"No speech was detected.",recoverable:!0}:t==="aborted"?{code:"aborted",message:"Voice dictation was interrupted.",recoverable:!0}:{code:"unknown",message:n||"Voice dictation stopped unexpectedly.",recoverable:!0}}function Zf(e){let t=null,n=null,r=null,o=null,i=null,a=!1,s=!1,c=null;function l(){if(!a||!n||!c){i=null;return}n.getByteFrequencyData(c);let h=0;for(let v=0;v<c.length;v++)h+=c[v];let b=h/c.length/255;e.onFrequencyData?.(b),i=requestAnimationFrame(l)}async function d(){if(!(s||a))try{o=await navigator.mediaDevices.getUserMedia({audio:!0}),t=new AudioContext,n=t.createAnalyser(),n.fftSize=128,c=new Uint8Array(n.frequencyBinCount),r=t.createMediaStreamSource(o),r.connect(n),a=!0,i=requestAnimationFrame(l)}catch{m()}}function m(){if(i!=null&&(cancelAnimationFrame(i),i=null),r){try{r.disconnect()}catch{}r=null}if(n){try{n.disconnect()}catch{}n=null}if(t){try{t.close()}catch{}t=null}o&&(o.getTracks().forEach(h=>h.stop()),o=null),c=null,a=!1}function f(){m()}function u(){s=!0,m()}return{start:d,stop:f,dispose:u,isActive:()=>a}}function ep(e={}){let t=null,n=!1,r=!1;function o(){t&&(t.onstart=null,t.onresult=null,t.onerror=null,t.onend=null,t.onspeechstart=null,t.onspeechend=null,t=null)}function i(a){let s=rv();if(!s)return null;let c=new s;return c.continuous=!0,c.interimResults=!0,c.maxAlternatives=1,c.lang=String(a||navigator.language||"en-US").trim()||"en-US",c.onstart=()=>{e.onStart?.()},c.onresult=l=>{e.onResult?.(RE(l))},c.onspeechstart=()=>{e.onSpeechStart?.()},c.onspeechend=()=>{e.onSpeechEnd?.()},c.onerror=l=>{e.onError?.(ov(l))},c.onend=()=>{let l=r;r=!1,o(),e.onEnd?.({requested:l})},c}return{isSupported(){return!!rv()},start(a){if(n||t)return;let s=i(a?.language);if(!s){e.onError?.({code:"unsupported",message:"Voice dictation is not available in this browser.",recoverable:!1});return}t=s,r=!1;try{t.start()}catch(c){o(),e.onError?.(ov(c)),e.onEnd?.({requested:!1})}},stop(){if(t){r=!0;try{t.stop()}catch{o(),e.onEnd?.({requested:!0})}}},dispose(){if(n=!0,r=!0,!t)return;let a=t;o();try{a.abort?.()}catch{}}}}var tp="Continuing through the form.";var CE=/google|natural|neural|online|premium|enhanced/i;function np(e){return String(e||"").replace(/[\u0000-\u001f\u007f]/g," ").replace(/\s+/g," ").trim().slice(0,220).trim()}function ME(e){let t=Number(e);return Number.isFinite(t)?Math.max(.85,Math.min(1.15,t)):1}function NE(e){let t=np(e);if(!t)return[];let n=t.match(/[^.!?]+[.!?]?/g)||[t],r=[],o="";for(let i of n){let a=i.trim();if(a){if((o?`${o} ${a}`:a).length<=150){o=o?`${o} ${a}`:a;continue}o&&r.push(o),o=a.length>150?a.slice(0,150).trim():a}}return o&&r.push(o),r.slice(0,3)}function md(e){let t=np(e);return t?Math.max(900,Math.min(5e3,t.length*55)):0}function LE(e,t,n,r){let o=0,i=String(e.lang||"").toLowerCase(),a=t.toLowerCase(),s=a.split("-")[0];return i===a?o+=80:s&&i.startsWith(s)?o+=55:i.startsWith("en")&&(o+=20),n==="system"&&e.localService&&(o+=24),n!=="system"&&CE.test(e.name||"")&&(o+=36),n==="natural"&&e.localService===!1&&(o+=18),/female|samantha|victoria|karen|zira|aria|jenny/i.test(e.name||"")&&(o+=2),r&&(o+=r(e)),o}function iv(){let e=typeof speechSynthesis<"u"?speechSynthesis:void 0;if(!e)return[];let t=new Set,n=[];for(let r of Array.from(e.getVoices?.()||[])){let o=String(r.voiceURI||`${r.name}:${r.lang}`);!o||t.has(o)||(t.add(o),n.push({voiceURI:String(r.voiceURI||o),name:String(r.name||"System voice"),lang:String(r.lang||""),localService:r.localService===!0,default:r.default===!0}))}return n.sort((r,o)=>r.lang!==o.lang?r.lang.localeCompare(o.lang):r.name.localeCompare(o.name))}function av(e={}){let t=typeof speechSynthesis<"u"?speechSynthesis:void 0,n=typeof SpeechSynthesisUtterance<"u"?SpeechSynthesisUtterance:void 0,r=!!t&&!!n,o=String(e.lang||"en-US").trim()||"en-US",i=ME(e.rate),a=Number.isFinite(Number(e.pitch))?Math.max(.7,Math.min(1.3,Number(e.pitch))):1,s=e.voicePreference||"auto",c=String(e.voiceURI||"").trim(),l=!0,d=!1,m=!1,f=null,u=[],h=null,b=0,v=0,S=null,k=null;function x(){if(!r||!t)return null;let oe=Array.from(t.getVoices?.()||[]);if(!oe.length)return null;if(c){let he=oe.find(Te=>String(Te.voiceURI||"")===c);if(he)return f=he,f}let ie=null,me=-1/0;for(let he of oe){let Te=LE(he,o,s,e.voiceMatcher);Te>me&&(ie=he,me=Te)}return f=ie,f}function C(){if(!r||!t||f)return;x();let oe=0;f||k||(k=setInterval(()=>{oe+=1,x(),(f||oe>=10)&&(k&&clearInterval(k),k=null)},250))}function _(){if(S){try{clearTimeout(S)}catch{}S=null}}function I(){return u.reduce((oe,ie)=>oe+ie.estimatedMs,0)}function M(oe){oe&&(u.some(ie=>ie.catchUp)||h?.catchUp||(u=[{text:tp,chunks:[tp],key:"catch-up",priority:"normal",catchUp:!0,estimatedMs:md(tp)},...u.slice(-3)]))}function X(){let oe=!1;for(;u.length>4||I()>7e3;){let ie=u.findIndex(Te=>Te.priority==="low"&&!Te.catchUp),me=u.findIndex(Te=>Te.priority==="normal"&&!Te.catchUp),he=ie>=0?ie:me>=0?me:u.findIndex(Te=>!Te.catchUp);if(he<0)break;u.splice(he,1),oe=!0}for(M(oe);u.length>4;)u.splice(u.length-1,1)}function O(){u=[],h=null,b=0,v+=1,_();try{t?.cancel()}catch{}}function J(oe){if(oe===v&&(_(),!!h)){if(b+=1,b<h.chunks.length){ee();return}h=null,b=0,ee()}}function ee(){if(!r||!t||!n||m||!l||!d||typeof document<"u"&&document.hidden||(h||(h=u.shift()||null,b=0),!h))return;let oe=h.chunks[b];if(!oe){h=null,b=0,ee();return}C();let ie=new n(oe);ie.lang=o,ie.rate=i,ie.pitch=a,f&&(ie.voice=f);let me=v;ie.onend=()=>J(me),ie.onerror=()=>J(me),_(),S=setTimeout(()=>J(me),md(oe)+3e3);try{t.speak(ie)}catch{J(me)}}function se(oe,ie={}){if(!r||!t||!n||m||!l||typeof document<"u"&&document.hidden)return;let me=np(oe),he=NE(me);if(!he.length)return;let Te=ie.mode||"replace";Te==="replace"&&O();let ze=String(ie.key||"").trim().slice(0,160)||void 0;if(Te==="append"&&ze){let Oe=u.findIndex(ke=>ke.key===ze);if(Oe>=0){u[Oe]={...u[Oe],text:me,chunks:he,estimatedMs:md(me)},X(),d&&ee();return}if(h?.key===ze&&h.priority!=="high")return}u.push({text:me,chunks:he,key:ze,priority:ie.priority||"normal",estimatedMs:md(me)}),X(),d&&ee()}function H(){f=null,x()}function Y(){if(typeof document<"u"&&document.hidden)try{t?.cancel()}catch{}else if(d){try{t?.resume?.()}catch{}ee()}}if(r&&t){C();try{t.addEventListener?.("voiceschanged",H)}catch{}typeof document<"u"&&document.addEventListener("visibilitychange",Y)}return{isSupported:()=>r&&!m,unlock(){if(!(!r||!t||!n||m)){d=!0;try{t.resume?.()}catch{}try{let oe=new n(" ");oe.volume=0,oe.lang=o,t.speak(oe)}catch{}ee()}},speak(oe,ie){se(oe,ie)},cancel(){O()},setEnabled(oe){l=oe,l||O()},dispose(){m=!0,u=[],h=null,_(),k&&clearInterval(k),k=null;try{t?.cancel()}catch{}try{t?.removeEventListener?.("voiceschanged",H)}catch{}typeof document<"u"&&document.removeEventListener("visibilitychange",Y)}}}function sv(e){let t=document.createElement("div");t.className="inputBar";let n=document.createElement("div");n.className="inputBarMascot";let r=Ra({container:n,token:e.launcherToken,disabled:e.mascotDisabled,imageUrl:e.mascotImage,mp4Url:e.mascotMp4,webmUrl:e.mascotWebm,muted:e.isMuted,fallbackClassName:"inputBarMascotFallback"}),o=r.video;n.addEventListener("click",()=>e.onClose());let i=document.createElement("div");i.className="inputBarComposerSlot";let a=document.createElement("button");a.type="button",a.className="inputBarExpand",a.setAttribute("aria-label","Expand to full panel"),a.innerHTML='<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="7 17 7 7 17 7"/><line x1="7" y1="7" x2="17" y2="17"/></svg>',a.addEventListener("click",()=>e.onExpand());let s=document.createElement("button");return s.type="button",s.className="inputBarClose",s.setAttribute("aria-label","Close input bar"),s.textContent="\xD7",s.addEventListener("click",()=>e.onClose()),t.appendChild(n),t.appendChild(i),t.appendChild(a),t.appendChild(s),{root:t,composerSlot:i,mascotVideo:o,show(){t.classList.add("open")},hide(){t.classList.remove("open")},setMuted(c){r.setMuted(c)},setRunning(c){t.classList.toggle("running",c)},setExpanded(c){a.innerHTML=c?'<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="17 7 17 17 7 17"/><line x1="17" y1="17" x2="7" y2="7"/></svg>':'<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="7 17 7 7 17 7"/><line x1="7" y1="7" x2="17" y2="17"/></svg>',a.setAttribute("aria-label",c?"Collapse panel":"Expand to full panel")},destroy(){}}}function rp(e){let t=[],n=[],r=0,o=!1,i=document.createElement("div");i.className="commandBarOverlay";let a=document.createElement("div");a.className="commandBar";let s=document.createElement("div");s.className="commandBarHeader";let c=document.createElement("span");c.className="commandBarSearchIcon",c.innerHTML='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>';let l=document.createElement("input");l.className="commandBarInput",l.type="text",l.placeholder="Search actions...",l.setAttribute("autocomplete","off"),l.setAttribute("spellcheck","false");let d=document.createElement("kbd");d.className="commandBarKbd",d.textContent="Esc",s.appendChild(c),s.appendChild(l),s.appendChild(d);let m=document.createElement("div");m.className="commandBarList",m.setAttribute("role","listbox");let f=document.createElement("div");f.className="commandBarEmpty",f.textContent="No matching actions",a.appendChild(s),a.appendChild(m),a.appendChild(f),i.appendChild(a);function u(){if(m.innerHTML="",n.length===0){f.classList.add("visible");return}f.classList.remove("visible"),r=Math.min(r,n.length-1);for(let _=0;_<n.length;_++){let I=n[_],M=document.createElement("button");M.type="button",M.className=`commandBarItem${_===r?" highlighted":""}`,M.setAttribute("role","option");let X=document.createElement("span");if(X.className="commandBarItemLabel",I.icon){let O=document.createElement("span");O.className="commandBarItemIcon",O.textContent=I.icon,X.appendChild(O)}if(X.appendChild(document.createTextNode(I.label)),M.appendChild(X),I.description){let O=document.createElement("span");O.className="commandBarItemDesc",O.textContent=I.description,M.appendChild(O)}M.addEventListener("click",()=>{v(I)}),M.addEventListener("mouseenter",()=>{r=_,h()}),m.appendChild(M)}}function h(){m.querySelectorAll(".commandBarItem").forEach((M,X)=>{M.classList.toggle("highlighted",X===r)});let I=m.querySelector(".commandBarItem.highlighted");I&&I.scrollIntoView({block:"nearest"})}function b(){let _=l.value.toLowerCase().trim();_?n=t.filter(I=>I.label.toLowerCase().includes(_)||I.description&&I.description.toLowerCase().includes(_)):n=t.slice(),r=0,u()}function v(_){k(),e.onSelect(_)}l.addEventListener("input",b),i.addEventListener("keydown",_=>{let I=_;if(I.key==="Escape"){I.preventDefault(),I.stopPropagation(),k();return}if(I.key==="ArrowDown"){I.preventDefault(),n.length>0&&(r=(r+1)%n.length,h());return}if(I.key==="ArrowUp"){I.preventDefault(),n.length>0&&(r=(r-1+n.length)%n.length,h());return}if(I.key==="Enter"){I.preventDefault(),n.length>0&&r<n.length&&v(n[r]);return}}),i.addEventListener("mousedown",_=>{_.target===i&&k()});function S(){o||(o=!0,l.value="",n=t.slice(),r=0,i.classList.add("open"),u(),requestAnimationFrame(()=>l.focus()))}function k(){o&&(o=!1,i.classList.remove("open"),e.onClose())}function x(_){t=_.slice(),o&&b()}function C(){o=!1,i.remove()}return{root:i,input:l,setItems:x,open:S,close:k,isOpen:()=>o,destroy:C}}var cv={"en-US":"English (US)","en-GB":"English (UK)","en-AU":"English (Australia)","es-ES":"Spanish","fr-FR":"French","de-DE":"German","it-IT":"Italian","pt-BR":"Portuguese (Brazil)","ja-JP":"Japanese","ko-KR":"Korean","zh-CN":"Chinese (Simplified)","hi-IN":"Hindi"};function Mi(e){let t=String(e||"").trim();return t?t.split("-").map((n,r)=>r===0?n.toLowerCase():n.toUpperCase()).join("-"):""}function lv(e){let t=Mi(e);return cv[t]?`${cv[t]} (${t})`:t}function DE(e,t,n){let r=new Set;r.add(Mi(t)||"en-US"),r.add(Mi(n)||"en-US");for(let o of e){let i=Mi(o.lang);i&&r.add(i)}return Array.from(r).filter(Boolean).sort((o,i)=>o.localeCompare(i))}function PE(e,t){let n=Mi(t).toLowerCase(),r=n.split("-")[0],o=e.filter(i=>{let a=Mi(i.lang).toLowerCase();return a===n||!!r&&a.startsWith(`${r}-`)});return o.length?o:e}function dv(e){let t={available:!1,enabled:!1,siteLanguage:"en-US",effectiveLanguage:"en-US",voices:[]},n=document.createElement("div");n.className="voiceSettingsPanel",n.setAttribute("role","dialog"),n.setAttribute("aria-label","Voice and language");let r=document.createElement("div");r.className="voiceSettingsHeader";let o=document.createElement("div");o.className="voiceSettingsTitle",o.textContent="Voice & language";let i=document.createElement("button");i.type="button",i.className="voiceSettingsClose",i.setAttribute("aria-label","Close voice settings"),i.textContent="\xD7",r.appendChild(o),r.appendChild(i);let a=document.createElement("div");a.className="voiceSettingsBody";let s=document.createElement("label");s.className="voiceSettingsToggle";let c=document.createElement("input");c.type="checkbox";let l=document.createElement("span");l.textContent="Read guided steps aloud",s.appendChild(c),s.appendChild(l);let d=document.createElement("label");d.className="voiceSettingsField";let m=document.createElement("span");m.textContent="Language";let f=document.createElement("select");d.appendChild(m),d.appendChild(f);let u=document.createElement("label");u.className="voiceSettingsField";let h=document.createElement("span");h.textContent="Voice";let b=document.createElement("select");u.appendChild(h),u.appendChild(b);let v=document.createElement("label");v.className="voiceSettingsField";let S=document.createElement("span");S.textContent="Voice style";let k=document.createElement("select");[["auto","Best available"],["natural","Prefer natural voices"],["system","Prefer system voices"]].forEach(([M,X])=>{let O=document.createElement("option");O.value=M,O.textContent=X,k.appendChild(O)}),v.appendChild(S),v.appendChild(k);let x=document.createElement("p");x.className="voiceSettingsHint";let C=document.createElement("div");C.className="voiceSettingsActions";let _=document.createElement("button");_.type="button",_.className="voiceSettingsReset",_.textContent="Use site default",C.appendChild(_),a.appendChild(s),a.appendChild(d),a.appendChild(u),a.appendChild(v),a.appendChild(x),a.appendChild(C),n.appendChild(r),n.appendChild(a);function I(){c.checked=t.enabled,c.disabled=!t.available;let M=typeof navigator<"u"&&navigator.language||"en-US",X=DE(t.voices,t.siteLanguage,M),O=Mi(t.language||t.effectiveLanguage||t.siteLanguage||M||"en-US")||"en-US";f.innerHTML="";let J=document.createElement("option");J.value="",J.textContent=`Site default (${lv(t.siteLanguage||"en-US")})`,f.appendChild(J);for(let H of X){let Y=document.createElement("option");Y.value=H,Y.textContent=lv(H),f.appendChild(Y)}f.value=t.language?O:"",f.disabled=!t.available;let ee=PE(t.voices,O);b.innerHTML="";let se=document.createElement("option");se.value="",se.textContent="Browser default",b.appendChild(se);for(let H of ee){let Y=document.createElement("option");Y.value=H.voiceURI,Y.textContent=`${H.name}${H.lang?` (${H.lang})`:""}`,b.appendChild(Y)}b.value=t.voiceURI||"",b.disabled=!t.available||ee.length===0,k.value=t.voicePreference||"auto",k.disabled=!t.available,x.textContent=t.available?`${e.agentName} uses this language for spoken step narration and microphone dictation on this site.`:"Voice narration is unavailable in this browser or disabled by this site."}return c.addEventListener("change",()=>e.onChange({enabled:c.checked})),f.addEventListener("change",()=>e.onChange({language:f.value||void 0,voiceURI:void 0})),b.addEventListener("change",()=>e.onChange({voiceURI:b.value||void 0})),k.addEventListener("change",()=>e.onChange({voicePreference:k.value})),_.addEventListener("click",()=>e.onReset()),i.addEventListener("click",()=>e.onClose()),{root:n,setOpen(M){n.classList.toggle("visible",M),n.setAttribute("aria-hidden",M?"false":"true")},update(M){t={...t,...M,voices:M.voices||[]},I()}}}function op(e){let{container:t,reducedMotion:n=!1,mobile:r=!1}=e,o=e.size??200,i=r?32:64,a=r?.5:1,s=e.color||"rgba(255, 76, 0, 0.6)",c="idle",l=4,d=null,m=0,f=0,u=!1,h=document.createElement("canvas");h.className="particle-canvas",h.style.cssText=`position:absolute;inset:${-o/2+(o>200?50:36)}px;width:${o}px;height:${o}px;pointer-events:none;z-index:0;`;let b=Math.min(window.devicePixelRatio||1,2);h.width=o*b,h.height=o*b;let v=h.getContext("2d");v.scale(b,b),t.appendChild(h);let S=[];for(let H=0;H<i;H++)S.push({active:!1,x:0,y:0,vx:0,vy:0,life:0,maxLife:0,size:2,alpha:0});function k(){for(let H of S)if(!H.active)return H;return null}function x(H){let Y=k();if(!Y)return;let oe=o/2,ie=o/2,me=H??Math.random()*Math.PI*2,he=c==="burst"?30+Math.random()*40:c==="pulse"?15+Math.random()*20:10+Math.random()*25;if(Y.active=!0,Y.x=oe+Math.cos(me)*(20+Math.random()*10),Y.y=ie+Math.sin(me)*(20+Math.random()*10),Y.vx=Math.cos(me)*he,Y.vy=Math.sin(me)*he,Y.maxLife=c==="burst"?.4+Math.random()*.3:.8+Math.random()*.6,Y.life=Y.maxLife,Y.size=1.5+Math.random()*2,Y.alpha=.5+Math.random()*.3,c==="pulse"){let Te=me+Math.PI/2;Y.vx+=Math.cos(Te)*12,Y.vy+=Math.sin(Te)*12}}function C(H){for(let Y of S)if(Y.active){if(Y.life-=H,Y.life<=0){Y.active=!1;continue}Y.x+=Y.vx*H,Y.y+=Y.vy*H,Y.vx*=.98,Y.vy*=.98}}function _(){v.clearRect(0,0,o,o);for(let H of S){if(!H.active)continue;let Y=H.life/H.maxLife,oe=H.alpha*Y;oe<.01||(v.globalAlpha=oe,v.fillStyle=s,v.beginPath(),v.arc(H.x,H.y,H.size*Y,0,Math.PI*2),v.fill())}v.globalAlpha=1}function I(H){if(u||c==="idle"){d=null;return}m||(m=H);let Y=Math.min((H-m)/1e3,.05);if(m=H,c==="ambient"||c==="pulse")for(f+=l*a*Y;f>=1;)x(),f-=1;C(Y),_(),S.some(ie=>ie.active)||c==="ambient"||c==="pulse"?d=requestAnimationFrame(I):(d=null,v.clearRect(0,0,o,o))}function M(){d!=null||u||n||(m=0,f=0,d=requestAnimationFrame(I))}function X(){d!=null&&(cancelAnimationFrame(d),d=null);for(let H of S)H.active=!1;v.clearRect(0,0,o,o)}function O(H){if(H!==c){if(c=H,c==="idle"){X();return}if(!n){if(c==="burst"){let Y=r?12:20+Math.floor(Math.random()*11);for(let oe=0;oe<Y;oe++)x(Math.PI*2*oe/Y+(Math.random()-.5)*.3);M();return}c==="ambient"?l=r?3:4:c==="pulse"&&(l=r?4:6),M()}}}function J(){let H=Math.min(window.devicePixelRatio||1,2);h.width=o*H,h.height=o*H,v.setTransform(1,0,0,1,0,0),v.scale(H,H)}function ee(H){s=H}function se(){u=!0,X(),h.remove()}return{canvas:h,setMode:O,setSpawnRate:H=>{l=H},setColor:ee,resize:J,destroy:se}}function ip(e){let{container:t,panel:n,mobileBreakpoint:r=640}=e,o=!1,i=null,a=[],s=document.createElementNS("http://www.w3.org/2000/svg","svg");s.classList.add("filament-overlay"),s.setAttribute("xmlns","http://www.w3.org/2000/svg"),s.style.cssText="position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:2147483645;",t.appendChild(s);function c(){return window.innerWidth<=r}function l(){let _=document.createElementNS("http://www.w3.org/2000/svg","path");return _.setAttribute("fill","none"),_.setAttribute("stroke","var(--rv-accent, #ff4c00)"),_.setAttribute("stroke-width","1.5"),_.setAttribute("stroke-linecap","round"),_.setAttribute("stroke-dasharray","6 4"),_.setAttribute("stroke-opacity","0.6"),_}function d(_,I){let M=_.left+_.width/2,X=_.top+_.height/2,O=I.left+I.width/2,J=I.top+I.height/2,ee,se,H=O-M,Y=J-X;Math.abs(H)>Math.abs(Y)?(ee=H>0?_.right:_.left,se=Math.max(_.top+20,Math.min(_.bottom-20,J))):(se=Y>0?_.bottom:_.top,ee=Math.max(_.left+20,Math.min(_.right-20,O)));let oe=O,ie=J,me=(ee+oe)/2,he=(se+ie)/2,Te=Math.max(40,Math.hypot(oe-ee,ie-se)*.3),ze=ee+(me-ee)*.5,Oe=se+(se===_.top||se===_.bottom?-Math.sign(Y)*Te:0),ke=oe-(oe-me)*.5,B=ie+(ie>se?-Te*.5:Te*.5);return`M ${ee} ${se} C ${ze} ${Oe}, ${ke} ${B}, ${oe} ${ie}`}function m(){if(o||c()||a.length===0){i!=null&&(cancelAnimationFrame(i),i=null);return}let _=n.getBoundingClientRect();if(_.width===0||_.height===0){i=requestAnimationFrame(m);return}for(let I of a){let M=e.resolveElement?.(I.elementId);if(!M)continue;let X=M.getBoundingClientRect();if(X.width===0&&X.height===0)continue;let O=d(_,X);I.path.setAttribute("d",O)}i=requestAnimationFrame(m)}function f(){i!=null||o||(i=requestAnimationFrame(m))}function u(){i!=null&&(cancelAnimationFrame(i),i=null)}function h(_){_.fadeTimer&&clearTimeout(_.fadeTimer),_.path.remove();let I=a.indexOf(_);I>=0&&a.splice(I,1),a.length===0&&u()}function b(_){try{let I=_.path.animate([{strokeOpacity:"0.6"},{strokeOpacity:"0"}],{duration:400,fill:"forwards"});I.onfinish=()=>h(_)}catch{h(_)}}function v(_,I){if(o||c()||a.find(J=>J.elementId===_))return;for(;a.length>=3;)b(a[0]);let X=l();s.appendChild(X);let O={elementId:_,toolName:I,path:X};a.push(O),f()}function S(_){let I=a.find(M=>M.elementId===_);I&&b(I)}function k(){for(;a.length>0;)h(a[0]);u()}function x(){}function C(){o=!0,k(),s.remove()}return{overlay:s,addTarget:v,fadeTarget:S,clearAll:k,resize:x,destroy:C}}function uv(e){return Number.isFinite(Number(e))?Math.max(1,Math.min(4,Math.trunc(Number(e)))):2}function fv(e={}){let t=document.createElement("div");t.className="liveStack";let n=e.thoughtStyle==="minimal"?"minimal":"concise_cards",r=uv(e.stream?.maxVisibleLiveCards),o=e.stream?.collapseCompletedSteps!==!1;t.dataset.thoughtStyle=n;let i=document.createElement("div");i.className="liveStackHeader";let a=document.createElement("span");a.className="liveStackDot";let s=document.createElement("span");s.className="liveStackLabel",s.textContent="LIVE STREAM";let c=document.createElement("button");c.type="button",c.className="liveStackExpandBtn",c.setAttribute("aria-label","Expand to full view"),c.innerHTML='<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="18 15 12 9 6 15"></polyline></svg>',i.appendChild(a),i.appendChild(s),i.appendChild(c);let l=document.createElement("button");l.type="button",l.className="liveStackOverflow";let d=document.createElement("div");d.className="liveStackCards",t.appendChild(i),t.appendChild(d),t.appendChild(l);let m=new Map,f=[],u=new Set,h=null,b=null,v=null;c.addEventListener("click",()=>{h?.()}),l.addEventListener("click",()=>{h?.()});function S(){let I=document.createElement("div");I.className="liveStackCard hidden";let M=document.createElement("div");M.className="liveStackCardTop";let X=document.createElement("div");X.className="liveStackCardMeta";let O=document.createElement("span");O.className="liveStackCardTs";let J=document.createElement("span");J.className="liveStackCardSep",J.textContent="\u2014";let ee=document.createElement("span");ee.className="liveStackCardStatus";let se=document.createElement("div");se.className="liveStackCardSpinner",X.appendChild(O),X.appendChild(J),X.appendChild(ee),M.appendChild(X),M.appendChild(se);let H=document.createElement("div");H.className="liveStackCardTitle";let Y=document.createElement("div");return Y.className="liveStackCardDetail",I.appendChild(M),I.appendChild(H),I.appendChild(Y),I.addEventListener("click",oe=>{if(oe.stopPropagation(),I.classList.contains("expanded"))I.classList.remove("expanded");else{for(let ie of f)ie.classList.remove("expanded");I.classList.add("expanded")}}),I}function k(I){let M=m.get(I);if(M)return M;let X=S();return m.set(I,X),f.push(X),d.appendChild(X),X}function x(I,M){let X=Number(M.ts)||Date.now(),O=Qs(M),J=Js(M),ee=ud(M),se=I.querySelector(".liveStackCardTs"),H=I.querySelector(".liveStackCardStatus"),Y=I.querySelector(".liveStackCardTitle"),oe=I.querySelector(".liveStackCardDetail");se.textContent=Wo(X),H.textContent=J,Y.textContent=O||"Processing...",I.classList.toggle("minimalThought",n==="minimal");let ie=M.actionCue?"":Fe(M.detail||"")||(ee!==O?ee:"");ie?(oe.textContent=ie.slice(0,500),I.dataset.hasDetail="true"):(oe.textContent="",delete I.dataset.hasDetail);let me=cd(M);I.dataset.status=me}function C(){let I=f.length,M=o?Math.min(I,r):I,X=Math.max(0,I-M);for(let O=0;O<I;O++){let J=f[O],ee=I-1-O;J.classList.remove("active","previous","hidden"),ee===0?(J.classList.add("active"),J.style.display=""):ee<M?(J.classList.add("previous"),J.style.display=""):(J.classList.add("hidden"),J.style.display="none")}X>0?(l.textContent="More steps",l.classList.add("visible")):l.classList.remove("visible")}function _(){b==null&&(b=requestAnimationFrame(()=>{b=null,C()}))}return{root:t,addTimelineEvent(I){let M=Fe(I.title||"");if(!M||M.toLowerCase()==="assistant update")return;let X=I.id||_o("ls");if(I.id&&u.has(X))return;u.add(X);let O=ld(I),J=O==="run"||O.startsWith("tool:")||I.kind==="tool_result"||I.kind==="status"&&m.has(O),ee=k(J?O:`${O}:${X}`);x(ee,{...I,title:M}),_()},clear(){u.clear(),m.clear(),f.length=0,d.innerHTML="",l.classList.remove("visible"),b!=null&&(cancelAnimationFrame(b),b=null)},show(){v!=null&&(clearTimeout(v),v=null),t.classList.remove("closing"),t.classList.add("open")},hide(){if(!t.classList.contains("open"))return;t.classList.add("closing");let I=()=>{t.classList.remove("open","closing"),v=null};t.addEventListener("animationend",()=>I(),{once:!0}),v=setTimeout(I,280)},setOnExpand(I){h=I},setThoughtStyle(I){n=I==="minimal"?"minimal":"concise_cards",t.dataset.thoughtStyle=n;for(let M of f)M.classList.toggle("minimalThought",n==="minimal")},setStreamConfig(I){r=uv(I?.maxVisibleLiveCards),o=I?.collapseCompletedSteps!==!1,_()},destroy(){b!=null&&cancelAnimationFrame(b),t.remove()}}}var bv=3,OE=420,BE=640,pv=28,UE=6,FE=4;function to(e,t=48){let n=Fe(String(e||"")).replace(/\s+/g," ").trim();return n?n.length<=t?n:`${n.slice(0,t-3).trim()}...`:""}function zE(e,t){return t.split(/\s+/).map(n=>n.trim()).filter(Boolean).map(n=>{try{let r=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(n):n.replace(/"/g,'\\"');return e.querySelector(`#${r}`)?.textContent||""}catch{return""}}).join(" ")}function HE(e){let t=to(e.getAttribute("role"));if(t)return t;let n=e.tagName.toLowerCase();if(n==="a")return"link";if(n==="button")return"button";if(n==="select")return"select";if(n==="textarea")return"text area";if(n==="input"){let r=to(e.type||"input");return r==="submit"||r==="button"?"button":"field"}return n?jE(n.replace(/[-_]+/g," ")):"element"}function jE(e){return String(e||"").replace(/\s+/g," ").trim().split(" ").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" ")}function sp(e){try{return $E(e)}catch{return""}}function $E(e){if(!e)return"";let t=e.ownerDocument||document,n=to(e.getAttribute("aria-labelledby"),180),r=n?to(zE(t,n)):"";if(r)return r;let o=to(e.getAttribute("aria-label"));if(o)return o;let i=e.labels;if(i&&i.length){let c=Array.from(i).map(d=>d.textContent||"").join(" "),l=to(c);if(l)return l}let a=to(e.placeholder);if(a)return a;if(e instanceof HTMLInputElement){let c=String(e.type||"").toLowerCase();if((c==="button"||c==="submit"||c==="reset")&&e.value){let l=to(e.value);if(l)return l}}let s=to(e.textContent);return s||HE(e)}function mv(e){let t=[...Array.isArray(e.actionCue?.elementIds)?e.actionCue.elementIds:[],e.actionCue?.primaryElementId,e.elementId],n=new Set,r=[];for(let o of t){let i=Math.trunc(Number(o));if(!(!Number.isFinite(i)||i<=0||n.has(i))&&(n.add(i),r.push(i),r.length>=bv))break}return r}function qE(e,t){return e.width>0&&e.height>0&&e.right>=0&&e.bottom>=0&&e.left<=t.width&&e.top<=t.height}function hv(e){let t=Math.trunc(Number(e));return Number.isFinite(t)&&t>0?t:void 0}function oc(e,t){let n=hv(e.actionCue?.logicalTabId);if(!n)return!0;let r=hv(t);return r?n===r:!0}function gv(e){return{left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}}function ap(e,t){return!t||t.width<=0||t.height<=0?!1:e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}function VE(e,t){return{left:e.left-t,top:e.top-t,right:e.right+t,bottom:e.bottom+t,width:e.width+t*2,height:e.height+t*2}}function WE(e){let t=e.gap??8,n=e.margin??8,r={width:Math.max(1,e.chip.width),height:Math.max(1,e.chip.height)},o=e.viewport,i=[{side:"right",value:o.width-e.target.right},{side:"left",value:e.target.left},{side:"bottom",value:o.height-e.target.bottom},{side:"top",value:e.target.top}].sort((a,s)=>s.value-a.value);for(let{side:a}of i){let s=0,c=0;a==="right"?(s=e.target.right+t,c=e.target.top+(e.target.height-r.height)/2):a==="left"?(s=e.target.left-r.width-t,c=e.target.top+(e.target.height-r.height)/2):a==="bottom"?(s=e.target.left+(e.target.width-r.width)/2,c=e.target.bottom+t):(s=e.target.left+(e.target.width-r.width)/2,c=e.target.top-r.height-t);let l={left:s,top:c,right:s+r.width,bottom:c+r.height,width:r.width,height:r.height};if(!(l.left<n||l.top<n||l.right>o.width-n||l.bottom>o.height-n)&&!ap(l,VE(e.target,t))&&!ap(l,e.panel)&&!(e.occupied||[]).some(d=>ap(l,d)))return{left:s,top:c,side:a}}return null}function yv(e){let t={click:"Click",type:"Type",select:"Select",clear:"Clear",focus:"Focus",hover:"Hover",press:"Press",scroll:"Scroll",drag:"Drag",copy:"Copy",paste:"Paste",upload:"Upload",navigate:"Open",read:"Read",wait:"Wait",unknown:"Act"};return t[e||"unknown"]||t.unknown}function KE(e,t){let n=yv(e?.kind),r=to(t||e?.targetLabel,36);return r?`${n} ${r}`:n}function vv(e){let{container:t,panel:n}=e,r=e.mobileBreakpoint??BE,o=!1,i=null,a=[],s=document.createElement("div");s.className="actionSpotlightLayer";try{t.appendChild(s)}catch{}function c(M){try{return oc(M,e.getLocalLogicalTabId?.())}catch{return!1}}function l(M){try{M.ring.style.display="none"}catch{}try{M.chip&&(M.chip.style.display="none")}catch{}}function d(){let M=window.visualViewport?.width??window.innerWidth,X=window.visualViewport?.height??window.innerHeight;return{left:0,top:0,right:M,bottom:X,width:M,height:X}}function m(M,X){let O=e.resolveElement?.(M.elementId),J=d();if(!O){l(M);return}let ee=gv(O.getBoundingClientRect());if(!qE(ee,J)){l(M);return}let se=(window.visualViewport?.width??window.innerWidth)<=r,H=se?FE:UE,Y=Math.max(pv,ee.width+H*2),oe=Math.max(pv,ee.height+H*2),ie=ee.left-(Y-ee.width)/2,me=ee.top-(oe-ee.height)/2;try{M.ring.style.display="block",M.ring.style.width=`${Y}px`,M.ring.style.height=`${oe}px`,M.ring.style.transform=`translate3d(${Math.round(ie)}px, ${Math.round(me)}px, 0)`}catch{throw new Error("action_spotlight_style_failed")}if(!M.chip||se||M.cue?.kind==="unknown"){try{M.chip&&(M.chip.style.display="none")}catch{}return}let he=sp(O);try{M.chip.textContent=KE(M.cue,he),M.chip.style.display="block",M.chip.style.transform="translate3d(-10000px, -10000px, 0)"}catch{throw new Error("action_spotlight_chip_failed")}let Te=M.chip.getBoundingClientRect(),ze=WE({target:ee,chip:{width:Math.min(180,Math.max(1,Te.width||72)),height:Math.max(1,Te.height||28)},viewport:J,panel:gv(n.getBoundingClientRect()),occupied:X});if(!ze){try{M.chip.style.display="none"}catch{}return}try{M.chip.dataset.side=ze.side,M.chip.style.transform=`translate3d(${Math.round(ze.left)}px, ${Math.round(ze.top)}px, 0)`}catch{throw new Error("action_spotlight_chip_place_failed")}X.push({left:ze.left,top:ze.top,right:ze.left+Math.min(180,Math.max(1,Te.width||72)),bottom:ze.top+Math.max(1,Te.height||28),width:Math.min(180,Math.max(1,Te.width||72)),height:Math.max(1,Te.height||28)})}function f(){if(i!=null){try{cancelAnimationFrame(i)}catch{}i=null}}function u(){if(i=null,o||a.length===0||document.hidden)return;let M=[];for(let X of[...a])try{m(X,M)}catch{b(X)}if(!o&&a.length>0&&!document.hidden)try{i=requestAnimationFrame(u)}catch{i=null}}function h(){if(!(i!=null||o||document.hidden))try{i=requestAnimationFrame(u)}catch{i=null}}function b(M){if(M.fadeTimer)try{clearTimeout(M.fadeTimer)}catch{}try{M.ring.remove()}catch{}try{M.chip?.remove()}catch{}let X=a.indexOf(M);X>=0&&a.splice(X,1)}function v(M){try{if(M.ring.classList.contains("fading"))return;M.ring.classList.add("fading"),M.chip?.classList.add("fading"),M.fadeTimer=setTimeout(()=>b(M),OE)}catch{b(M)}}function S(M,X){let O,J;try{O=document.createElement("div"),O.className="actionSpotlightRing",e.reducedMotion||O.classList.add("pulse"),s.appendChild(O),J=document.createElement("div"),J.className="actionSpotlightChip",J.textContent=yv(X.actionCue?.kind),s.appendChild(J)}catch(se){try{O?.remove()}catch{}try{J?.remove()}catch{}throw se}if(!O)throw new Error("action_spotlight_ring_missing");let ee={key:String(M),elementId:M,cue:X.actionCue,toolName:X.toolName,ring:O,chip:J,createdAt:Date.now()};return a.push(ee),ee}function k(M){try{if(o||!c(M))return;let X=mv(M);if(!X.length)return;let O=X.filter(J=>!a.some(ee=>ee.elementId===J));for(;a.length+O.length>bv&&a.length>0;){let J=a.shift();J&&v(J)}for(let J of X)try{let ee=a.find(se=>se.elementId===J);if(ee){ee.cue=M.actionCue,ee.toolName=M.toolName;try{ee.ring.classList.remove("fading")}catch{}try{ee.chip?.classList.remove("fading")}catch{}}else S(J,M)}catch{}h()}catch{}}function x(M){try{if(!c(M))return;let X=mv(M);if(!X.length)return;for(let O of X){let J=a.find(ee=>ee.elementId===O);J&&v(J)}}catch{}}function C(){try{for(;a.length;)b(a[0]);f()}catch{a.splice(0,a.length),f()}}let _=()=>h(),I=()=>{try{if(document.hidden){f();return}h()}catch{f()}};try{window.addEventListener("scroll",_,!0)}catch{}try{window.addEventListener("resize",_)}catch{}try{window.visualViewport?.addEventListener("resize",_)}catch{}try{window.visualViewport?.addEventListener("scroll",_)}catch{}try{document.addEventListener("visibilitychange",I)}catch{}return{overlay:s,addEvent:k,fadeEvent:x,clearAll:C,destroy(){o=!0,C();try{window.removeEventListener("scroll",_,!0)}catch{}try{window.removeEventListener("resize",_)}catch{}try{window.visualViewport?.removeEventListener("resize",_)}catch{}try{window.visualViewport?.removeEventListener("scroll",_)}catch{}try{document.removeEventListener("visibilitychange",I)}catch{}try{s.remove()}catch{}}}}var cp=4,GE=7e3,kv="Continuing through the form.",XE=new Set(["hover","focus","wait","read","unknown"]);function lp(e){return Fe(String(e||"").replace(/\s+/g," ")).slice(0,220).trim()}function Ca(e){return Math.max(900,Math.min(5e3,e.length*55))}function xv(e){return String(e.actionCue?.kind||"").trim().toLowerCase()||"unknown"}function YE(e,t){let n=e.actionCue,r=xv(e),o=n?.targetLabel||(n?.primaryElementId!=null?`element:${n.primaryElementId}`:"")||e.toolName||e.title||t;return`${r}:${String(o).replace(/\s+/g," ").trim().toLowerCase().slice(0,120)}`}function JE(e){let t=xv(e);return XE.has(t)||t==="scroll"&&!e.actionCue?.primaryElementId?"low":t==="click"||t==="type"||t==="select"||t==="upload"||t==="navigate"?"high":"normal"}function QE(e){return e.responseKind==="final"||e.responseKind==="question"||e.responseKind==="error"?"high":"normal"}function ZE(e){try{if(e.kind==="tool_result")return"";let t=lp(e.narration);if(e.kind==="assistant_response")return t||(e.narrationActive===!0?lp(e.detail):"");let n=!t&&e.kind==="tool_start"&&e.narrationActive===!0?lp(jf(e)):"";return t||n}catch{return""}}function eI(e,t,n){if(t&&n)try{let r=t(e);return{cancel:()=>n(r)}}catch{}if(typeof requestAnimationFrame=="function"&&typeof cancelAnimationFrame=="function")try{let r=requestAnimationFrame(e);return{cancel:()=>cancelAnimationFrame(r)}}catch{}try{let r=setTimeout(()=>e(Date.now()),0);return{cancel:()=>clearTimeout(r)}}catch{return{cancel:()=>{}}}}function wv(e){let t=null,n=[],r=!1;function o(){if(t){try{t.cancel()}catch{}t=null}}function i(){o(),n=[]}function a(){return n.reduce((m,f)=>m+f.estimatedMs,0)}function s(){let m=!1;for(;n.length>cp||a()>GE;){let f=n.findIndex(v=>v.priority==="low"&&!v.catchUp),u=n.findIndex(v=>v.priority==="normal"&&!v.catchUp),h=n.findIndex(v=>v.priority!=="high"&&!v.catchUp),b=f>=0?f:u>=0?u:h>=0?h:n.findIndex(v=>!v.catchUp);if(b<0)break;n.splice(b,1),m=!0}for(m&&!n.some(f=>f.catchUp)&&(n=[{text:kv,mode:"append",key:"catch-up",priority:"normal",source:"action",catchUp:!0,estimatedMs:Ca(kv)},...n.slice(-(cp-1))]);n.length>cp;)n.splice(n.length-1,1)}function c(){t||(t=eI(()=>{if(t=null,r||!e.isEnabled()){n=[];return}let m=n;n=[];for(let f of m)try{e.speak(f.text,{mode:f.mode,key:f.key,priority:f.priority})}catch{}},e.scheduleFrame,e.cancelFrame))}function l(m,f){let u=YE(m,f),h=JE(m),b=n.findIndex(v=>v.key===u);if(b>=0){n[b]={...n[b],text:f,priority:h,estimatedMs:Ca(f)},s(),c();return}n.push({text:f,mode:"append",key:u,priority:h,source:"action",estimatedMs:Ca(f)}),s(),c()}function d(m,f){let u=m.responseKind||"checkpoint",h=QE(m);h==="high"&&(n=n.filter(S=>S.priority!=="low"&&!S.catchUp));let b=`response:${u}:${f.toLowerCase().slice(0,140)}`,v=n.findIndex(S=>S.key===b);if(v>=0){n[v]={...n[v],text:f,priority:h,estimatedMs:Ca(f)},s(),c();return}n.push({text:f,mode:"append",key:b,priority:h,source:"response",estimatedMs:Ca(f)}),s(),c()}return{scheduleEvent(m){try{if(r||m.kind==="tool_result"||!e.isEnabled())return;let f=ZE(m);if(!f)return;if(m.kind==="tool_start"){l(m,f);return}if(m.kind==="assistant_response"){d(m,f);return}if(n.some(u=>u.mode==="append"))return;i(),n=[{text:f,mode:"replace",key:`status:${m.kind}:${m.title}`,priority:"normal",source:"status",estimatedMs:Ca(f)}],c()}catch{}},cancel(){i()},dispose(){r=!0,i()}}}var Sv=`
|
|
21
21
|
/* \u2500\u2500 Self-hosted font \u2500\u2500 */
|
|
22
22
|
@font-face {
|
|
23
23
|
font-family: 'Manrope';
|
|
@@ -424,7 +424,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
|
|
|
424
424
|
.rvNext {
|
|
425
425
|
white-space: normal;
|
|
426
426
|
}
|
|
427
|
-
`;var
|
|
427
|
+
`;var Tv=`
|
|
428
428
|
/* \u2500\u2500 Keyframe Animations \u2500\u2500 */
|
|
429
429
|
@keyframes panelOpen {
|
|
430
430
|
from { opacity: 0; transform: translateY(12px) scale(0.96); }
|
|
@@ -528,7 +528,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
|
|
|
528
528
|
transition-duration: 0.01ms !important;
|
|
529
529
|
}
|
|
530
530
|
}
|
|
531
|
-
`;var
|
|
531
|
+
`;var _v=`
|
|
532
532
|
/* \u2500\u2500 Launcher / Seed \u2500\u2500 */
|
|
533
533
|
.launcher {
|
|
534
534
|
position: fixed;
|
|
@@ -858,7 +858,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
|
|
|
858
858
|
.rover[data-shell="focus_stream"] .launcher {
|
|
859
859
|
display: none;
|
|
860
860
|
}
|
|
861
|
-
`;var
|
|
861
|
+
`;var Ev=`
|
|
862
862
|
/* \u2500\u2500 Panel Backdrop \u2500\u2500 */
|
|
863
863
|
.panelBackdrop {
|
|
864
864
|
position: fixed;
|
|
@@ -3159,7 +3159,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
|
|
|
3159
3159
|
background: rgba(30, 33, 48, 0.95);
|
|
3160
3160
|
border-color: rgba(255, 255, 255, 0.08);
|
|
3161
3161
|
}
|
|
3162
|
-
`;var
|
|
3162
|
+
`;var Iv=`
|
|
3163
3163
|
/* \u2500\u2500 Mobile Responsive \u2500\u2500 */
|
|
3164
3164
|
@media (max-width: 640px) {
|
|
3165
3165
|
.launcher {
|
|
@@ -3339,7 +3339,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
|
|
|
3339
3339
|
text-overflow: ellipsis;
|
|
3340
3340
|
}
|
|
3341
3341
|
}
|
|
3342
|
-
`;var
|
|
3342
|
+
`;var Av=`
|
|
3343
3343
|
/* \u2500\u2500 Command Bar Overlay \u2500\u2500 */
|
|
3344
3344
|
.commandBarOverlay {
|
|
3345
3345
|
position: fixed;
|
|
@@ -3491,7 +3491,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
|
|
|
3491
3491
|
padding-top: 10vh;
|
|
3492
3492
|
}
|
|
3493
3493
|
}
|
|
3494
|
-
`;var
|
|
3494
|
+
`;var Rv=`
|
|
3495
3495
|
/* \u2500\u2500 Particle Canvas \u2500\u2500 */
|
|
3496
3496
|
.particle-canvas {
|
|
3497
3497
|
pointer-events: none;
|
|
@@ -3720,7 +3720,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
|
|
|
3720
3720
|
transform: scale(0.98);
|
|
3721
3721
|
}
|
|
3722
3722
|
|
|
3723
|
-
`;var
|
|
3723
|
+
`;var Cv=`
|
|
3724
3724
|
/* \u2500\u2500 Input Bar (minimized state) \u2500\u2500 */
|
|
3725
3725
|
.inputBar {
|
|
3726
3726
|
position: fixed;
|
|
@@ -3994,7 +3994,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
|
|
|
3994
3994
|
border-color: var(--rv-border-strong);
|
|
3995
3995
|
color: var(--rv-text);
|
|
3996
3996
|
}
|
|
3997
|
-
`;var
|
|
3997
|
+
`;var Mv=`
|
|
3998
3998
|
/* \u2500\u2500 Live Stack (floating card stack above input bar) \u2500\u2500 */
|
|
3999
3999
|
.liveStack {
|
|
4000
4000
|
position: fixed;
|
|
@@ -4355,7 +4355,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
|
|
|
4355
4355
|
font-size: 9px;
|
|
4356
4356
|
}
|
|
4357
4357
|
}
|
|
4358
|
-
`;function
|
|
4358
|
+
`;function Dv(e){let t=gy(e.agent?.name||e.experience?.presence?.assistantName),n=by(t),r=yy(t),o=e.mascot?.disabled===!0,i=Of(e,t,o),a=e.visitorName,s=e.panel?.resizable!==!1,c=document.createElement("div");c.id="rover-widget-root",(document.body||document.documentElement).appendChild(c);let l=c.attachShadow({mode:"closed"}),d=document.createElement("style");d.textContent=`
|
|
4359
4359
|
@font-face {
|
|
4360
4360
|
font-family: 'Manrope';
|
|
4361
4361
|
font-style: normal;
|
|
@@ -4363,21 +4363,21 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
|
|
|
4363
4363
|
font-display: swap;
|
|
4364
4364
|
src: url('https://rover.rtrvr.ai/rover/fonts/manrope-latin.woff2') format('woff2');
|
|
4365
4365
|
}
|
|
4366
|
-
`,document.head.appendChild(d);let m=document.createElement("style");m.textContent=wv+Sv+Tv+_v+Ev+Iv+Av+Rv+Cv,l.appendChild(m);let f=document.createElement("div");f.className="rover",f.dataset.mood="idle",f.dataset.shell="presence";let u=By("seed"),h=Ty({siteId:e.siteId,host:window.location.hostname,muted:e.muted,mascot:e.mascot,readStored:L=>{try{return localStorage.getItem(L)}catch{return null}}}),b=h.soundEnabled&&!o,v=h.isMuted;function S(){if(b){if(v=!v,h.storageKey)try{localStorage.setItem(h.storageKey,String(v))}catch{}K.setMuted(v),ut.setMuted(v),nt.setMuted(v)}}let k=()=>String(document.documentElement?.lang||navigator.language||"en-US").trim()||"en-US",x=L=>String(L.audio?.narration?.language||k()||"en-US").trim()||"en-US",C=()=>String(O.language||x(i)||"en-US").trim()||"en-US",_=()=>String(O.language||i.audio?.narration?.language||ar?.language||k()||"en-US").trim()||"en-US",I=()=>O.voicePreference||i.audio?.narration?.voicePreference||"auto",M=(L,W)=>iv({lang:W?.language||L.audio?.narration?.language||k(),rate:L.audio?.narration?.rate,voiceURI:W?.voiceURI,voicePreference:W?.voicePreference||L.audio?.narration?.voicePreference}),X=L=>L.audio?.narration?.defaultMode!=="off",O=Of({siteId:e.siteId,host:window.location.hostname,enabled:i.audio?.narration?.enabled,defaultOn:X(i),readStored:L=>{try{return localStorage.getItem(L)}catch{return null}}}),J=M(i,O),ee=!1,se=JSON.stringify({owner:i.audio?.narration||{},visitor:{language:O.language,voiceURI:O.voiceURI,voicePreference:O.voicePreference}}),H=O.supportedByConfig&&J.isSupported(),Y=H&&O.enabled,oe=null;J.setEnabled(Y),e.onNarrationPreferenceChange?.(Y,H,O.source,C());function ie(){O=Of({siteId:e.siteId,host:window.location.hostname,enabled:i.audio?.narration?.enabled,defaultOn:X(i),readStored:W=>{try{return localStorage.getItem(W)}catch{return null}}});let L=JSON.stringify({owner:i.audio?.narration||{},visitor:{language:O.language,voiceURI:O.voiceURI,voicePreference:O.voicePreference}});L!==se&&(se=L,ke(),J.dispose(),J=M(i,O),ee&&J.unlock()),H=O.supportedByConfig&&J.isSupported(),Y=H&&O.enabled,Y||ze.cancel(),J.setEnabled(Y),ut?.setNarrationAvailable(H),ut?.setNarrationEnabled(Y),oe?.update(le()),e.onNarrationPreferenceChange?.(Y,H,O.source,C())}function me(){H&&(ee=!0,J.unlock())}function he(){if(H){if(Y=!Y,O.storageKey)try{localStorage.setItem(O.storageKey,Pf({enabled:Y,language:O.language,voiceURI:O.voiceURI,voicePreference:O.voicePreference}))}catch{}O={...O,enabled:Y,source:"visitor"},J.setEnabled(Y),Y&&me(),ut.setNarrationEnabled(Y),oe?.update(le()),e.onNarrationPreferenceChange?.(Y,H,O.source,C())}}function Te(L){return{narrationEnabledForRun:H&&Y,narrationPreferenceSource:O.source,...L==="guide"||L==="task"?{narrationRunKind:L}:{},narrationLanguage:C()}}let ze=xv({isEnabled:()=>H&&Y,speak:(L,W)=>J.speak(L,W)});function Oe(L){ze.scheduleEvent(L)}function ke(){ze.cancel(),J.cancel()}function B(){document.hidden&&ke()}try{document.addEventListener("visibilitychange",B)}catch{}let K=Gy({agentName:t,launcherToken:r,mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,experience:i,siteId:e.siteId,onClick:()=>Mh()}),F=tv({panelResizable:s,experience:i,agentName:t,onClose:oa}),te=!1;function fe(){te=!te,te?(F.conversationDrawer.classList.add("open"),e.onOpenConversations?.()):F.conversationDrawer.classList.remove("open")}F.conversationDrawerCloseBtn.addEventListener("click",()=>{te=!1,F.conversationDrawer.classList.remove("open")}),F.conversationNewBtn.addEventListener("click",()=>{te=!1,F.conversationDrawer.classList.remove("open"),e.onNewTask?.()});function le(){return{available:H,enabled:Y,siteLanguage:x(i),effectiveLanguage:C(),language:O.language,voiceURI:O.voiceURI,voicePreference:I(),voices:ov()}}function Ne(L){if(!O.storageKey)return;let W={enabled:Y,language:O.language,voiceURI:O.voiceURI,voicePreference:O.voicePreference,...L};L.language===void 0&&Object.prototype.hasOwnProperty.call(L,"language")&&delete W.language,L.voiceURI===void 0&&Object.prototype.hasOwnProperty.call(L,"voiceURI")&&delete W.voiceURI,L.voicePreference===void 0&&Object.prototype.hasOwnProperty.call(L,"voicePreference")&&delete W.voicePreference;try{localStorage.setItem(O.storageKey,Pf(W))}catch{}}function ge(L){!H&&L.enabled!==!1||(Ne(L),ie(),typeof L.enabled=="boolean"&&(Y=H&&L.enabled,J.setEnabled(Y),ut?.setNarrationEnabled(Y)),Y&&me(),oe?.update(le()))}function dt(){if(O.storageKey)try{localStorage.removeItem(O.storageKey)}catch{}ie()}function mt(){oe&&(oe.update(le()),oe.setOpen(!0))}function it(){oe?.setOpen(!1)}let je=!1,jt=null,We=!1,ut=Xy({agentName:t,agentInitial:n,mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,panelResizable:s,showTaskControls:e.showTaskControls!==!1,allowSoundToggle:b,isMuted:v,allowNarrationToggle:H,narrationEnabled:Y,onClose:oa,onMinimize:()=>ra(),onCycleSize:()=>F.cyclePanelSize(),onNewTask:()=>{je&&e.onCancelRun?(jt="new_task",ia({visible:!0,text:"A task is in progress. Cancel it and start new?",primaryLabel:"Cancel & start new",secondaryLabel:"Keep running"})):e.onNewTask?.()},onEndTask:()=>{je&&e.onCancelRun?(jt="end_task",ia({visible:!0,text:"A task is in progress. Cancel and end it?",primaryLabel:"Cancel & end",secondaryLabel:"Keep running"})):e.onEndTask?.()},onCancelRun:()=>e.onCancelRun?.(),onRequestControl:()=>e.onRequestControl?.(),onToggleMute:S,onToggleNarration:he,onOpenVoiceSettings:mt,onToggleConversations:fe});oe=lv({agentName:t,onChange:ge,onReset:dt,onClose:it}),oe.update(le()),oe.setOpen(!1);let Le=Yy({thoughtStyle:e.thoughtStyle,stream:i.stream}),Ye=ev(t,a);function Pt(L){me(),e.onShortcutClick?.(L)}let $t=e.shortcuts?.slice(0,12)||[];$t.length>0&&Ye.render($t,Pt),Le.feed.appendChild(Ye.emptyState);let St=tp({onSelect:L=>{me(),e.onShortcutClick?.(L)},onClose:()=>{}});$t.length>0&&St.setItems($t);let nt=av({mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,launcherToken:r,isMuted:v,onExpand:()=>{u.getState()==="window"?ra():hi()},onClose:()=>Lu()}),tn=()=>(window.visualViewport?.width??window.innerWidth??640)<=640,nn=np({container:K.root,reducedMotion:_o(),mobile:tn(),color:i.theme?.accentColor||"rgba(255, 76, 0, 0.6)"}),sn=rp({container:f,panel:F.panel,resolveElement:e.resolveElement}),mn=yv({container:f,panel:F.panel,resolveElement:e.resolveElement,getLocalLogicalTabId:e.getLocalLogicalTabId,reducedMotion:_o()}),Yn=Jf({onFrequencyData:L=>{let W=1+L*.08;K.root.style.setProperty("--rv-audio-scale",String(W))}}),Me=0,br=0;function De(){let L=Me>0?Math.min(1,br/Me)*100:0;F.panel.style.setProperty("--rv-tide-progress",`${L}%`)}let Bt=document.createElement("span");Bt.className="pulse-badge",Bt.style.display="none",Bt.textContent="0",K.root.appendChild(Bt);let Tn=!1;function Nt(){let W=u.getState()==="seed"&&je;W!==Tn&&(Tn=W,K.root.classList.toggle("pulse",Tn),i.motion?.particles!==!1&&nn.setMode(Tn?"pulse":"idle"),Bt.style.display=Tn?"flex":"none",nt.setRunning(je))}function xs(L,W){let Ie=document.createElement("div");Ie.className="tool-ripple",Ie.style.left=`${L}px`,Ie.style.top=`${W}px`,f.appendChild(Ie);try{let Ce=Ie.animate([{transform:"translate(-50%, -50%) scale(0)",opacity:.6},{transform:"translate(-50%, -50%) scale(1)",opacity:0}],{duration:500,fill:"forwards"});Ce.onfinish=()=>Ie.remove()}catch{setTimeout(()=>Ie.remove(),500)}}function ws(L){try{let W=L.actionCue;if(!W||W.targetLabel||!nc(L,e.getLocalLogicalTabId?.()))return L;let Ie=W.primaryElementId??L.elementId,Ce=Ie!=null?e.resolveElement?.(Ie):null,Ke=ip(Ce);return Ke?{...L,actionCue:{...W,targetLabel:Ke}}:L}catch{return L}}let ar=Lf(e.voice),ft="idle",xn="",zn="",yr="",vr="",go=!1,Lt=null,Rr=null,Qr=null,g=null,D=null,N=0,R=!1,T=!1,w=0,E=null,U=!1,Q=!1,G="";function Z(){Rr&&(clearTimeout(Rr),Rr=null)}function re(){Qr&&(clearTimeout(Qr),Qr=null)}function ce(){g&&(clearTimeout(g),g=null)}function xe(){D&&(clearTimeout(D),D=null)}let _e=null,Je=null;function Pe(){_e&&(clearTimeout(_e),_e=null),Je&&(clearTimeout(Je),Je=null)}function Re(){zn="",yr="",vr=""}function He(){Z(),re(),ce(),xe(),N=0,R=!1,T=!1,w=0,E=null,U=!1,Q=!1}function vt(){return My(zn,yr,vr)}function cn(){st.setText(vt())}function et(){return Nf(ar?.autoStopMs)}function rt(){return N?Math.max(0,Date.now()-N):0}function tt(L,W){e.onVoiceTelemetry?.(L,W)}function at(L){return{hadSpeech:R,restartCount:w,durationMs:rt(),autoStopMs:et(),...L||{}}}function Tt(){return{code:"no_speech",message:"No speech was detected.",recoverable:!0}}function Et(L){U||(tt("voice_error",at({code:L.code,recoverable:L.recoverable})),U=!0),L.code==="permission_denied"&&tt("voice_permission_denied",at({code:L.code}))}function be(){let L=ar?.enabled===!0&&i.inputs?.voice!==!1,W=Hn.isSupported();if(st.setVoiceVisible(L&&W),st.setVoiceActive(ft==="listening"),ft==="error"&&xn){st.setStatusMessage(xn,"error");return}if(ft==="listening"){st.setStatusMessage(R?"Listening. Pause briefly when you're done.":"Listening. Start speaking when you're ready.");return}if(L&&!W){st.setStatusMessage("Voice dictation is not available in this browser.");return}st.setStatusMessage("")}function ve(L){if(ft!=="listening"||R||Lt||w>=3)return!1;let W=rt();return W>=5e3||W>=6e4?!1:L?L.code==="no_speech"||L.code==="aborted"||L.code==="unknown":!0}function Be(){if(ft!=="listening"||R||!N)return;re();let L=5e3-rt();if(L<=0){let W=E?.code==="no_speech"?E:Tt();Lt="no_speech",ft="error",xn=W.message,Et(W),be(),Hn.stop();return}Qr=setTimeout(()=>{if(ft!=="listening"||R)return;let W=Tt();E=W,Lt="no_speech",ft="error",xn=W.message,Et(W),be(),Hn.stop()},L)}function pt(){if(ft!=="listening"||!N)return;ce();let L=6e4-rt();if(L<=0){if(R)kr("silence");else{let W=Tt();E=W,Lt="no_speech",ft="error",xn=W.message,Et(W),be(),Hn.stop()}return}g=setTimeout(()=>{if(ft!=="listening")return;if(R){kr("silence");return}let W=Tt();E=W,Lt="no_speech",ft="error",xn=W.message,Et(W),be(),Hn.stop()},L)}function _n(){ft!=="listening"||!R||T||(Z(),Rr=setTimeout(()=>{ft==="listening"&&kr("silence")},et()))}function wn(){ve(E)&&(xe(),w+=1,E=null,Be(),pt(),D=setTimeout(()=>{D=null,!(ft!=="listening"||R||Lt)&&Hn.start({language:_()})},160))}function kr(L,W){if(ft!=="listening"){W?.resetDraftBase&&(Re(),He());return}Z(),re(),ce(),xe(),Lt=L,Hn.stop(),W?.resetDraftBase&&Re()}function ll(){if(st.textarea.disabled||!ar?.enabled||!Hn.isSupported()){ar?.enabled&&!Hn.isSupported()&&(ft="error",xn="Voice dictation is not available in this browser.",be());return}xn="",ft="listening",go=!1,Lt=null,zn=st.textarea.value,yr="",vr="",He(),N=Date.now(),Q=!0,Be(),pt(),be(),Hn.start({language:_()}),K.root.classList.add("voice-active"),Yn.start()}function dl(L){E=L,!(Lt&&(L.code==="aborted"||L.code==="no_speech"||L.code==="unknown"))&&(L.code==="aborted"||L.code==="no_speech"||L.code==="unknown"||(Z(),re(),xe(),ft="error",xn=L.message,Lt="error",be(),Et(L)))}let Hn=Qf({onStart:()=>{ft="listening",xn="",E=null,Be(),pt(),Q&&(tt("voice_started",at({provider:"browser"})),Q=!1),be()},onSpeechStart:()=>{ft==="listening"&&(R=!0,T=!0,E=null,re(),Z(),be())},onSpeechEnd:()=>{ft==="listening"&&(T=!1,R&&_n(),be())},onResult:({finalTranscript:L,interimTranscript:W})=>{(L||W)&&(R=!0,T=W.length>0,E=null,re(),Z()),yr=L,vr=W,cn(),R&&!T&&_n(),be()},onEnd:({requested:L})=>{if(K.root.classList.remove("voice-active"),Yn.stop(),K.root.style.removeProperty("--rv-audio-scale"),xe(),!L&&ve(E)){wn();return}let W=Fe(vt()),Ie=Fe(zn).length>0,Ce=E,Ke=Lt||(L?"manual":"silence");if(Z(),re(),ce(),!R&&!L&&ft!=="error"){let on=Ce?.code==="no_speech"?Ce:Tt();ft="error",xn=on.message,Lt="no_speech",Ke="no_speech",Et(on)}else!L&&!Lt&&R?Ke="silence":Lt&&(Ke=Lt);ft!=="error"&&(ft="idle",xn=""),W&&tt("voice_transcript_ready",at({chars:W.length,hadExistingDraft:Ie})),tt("voice_stopped",at({reason:Ke,stopReason:Ke,requested:L,errorCode:Ce?.code}));let gt=go;go=!1,Lt=null,Re(),He(),be(),gt&&hn()},onError:dl}),st=Zy({agentName:t,experience:i,onSubmit:(L,W)=>{if(!st.textarea.disabled){if(ft==="listening"){go=!0,kr("submit");return}hn()}},onVoiceStart:()=>{if(me(),ft==="listening"){kr("manual");return}ll()},onVoiceStop:()=>kr("manual")}),Cr=!1,y=!1,P=0,$="",V=null,ne="Ready",ue=!1,Ee="controller",Ue=!1,$e=null,yt=null,ht={},Mt="";function hn(){if(st.textarea.disabled)return;let L=Fe(st.textarea.value),W=st.getPendingAttachments(),Ie=L||(W.length>0?"Use the attached files as context for this task.":"");Ie&&(me(),ia({visible:!1}),$=L||(W.length>0?`Review ${W.length===1?W[0].name:`${W.length} attachments`}`:$),P=Date.now(),e.onSend(Ie,{...W.length>0?{attachments:W}:{},...Te()}),st.setText(""),st.clearAttachments(),xn="",ft="idle",Re(),He(),go=!1,Lt=null,rn(),be())}function rn(){let L=!!($||je);if(F.taskStage.style.display=L?"":"none",!L)return;F.taskStageTitle.textContent=Js($,{maxLength:120,maxUrlLength:56})||`${i.presence?.assistantName||t} is working\u2026`;let W=[];P>0&&W.push(Vo(P)),ne&&ne.toLowerCase()!=="ready"&&W.push(ne),F.taskStageMeta.textContent=W.join(" \u2022 "),F.taskStageStatusPill.textContent=je?"Active task":"Done",F.taskStageStatusPill.classList.toggle("running",je),F.taskStageStatusPill.classList.toggle("idle",!je)}function jn(){if(F.artifactStageBody.innerHTML="",F.artifactStage.classList.toggle("visible",!!V),F.artifactStage.classList.toggle("expanded",y),F.artifactStageToggle.textContent=y?"Collapse":"Expand",!V){F.artifactStageBody.appendChild(F.artifactStageEmpty);return}let L=Zs(V);L?F.artifactStageBody.appendChild(L):F.artifactStageBody.appendChild(F.artifactStageEmpty)}function En(L){if(!Array.isArray(L)||L.length===0)return;let W=L.find(Ie=>Ie.type==="tool_output"||Ie.type==="json")||null;W&&(V=W,i.stream?.artifactAutoMinimize!==!1&&(y=!1),jn())}F.artifactStageToggle.addEventListener("click",()=>{y=!y,jn()});function kt(){let L=u.getState(),W=F.panel.classList.contains("open")&&!F.panel.classList.contains("closing");L==="bar"?f.dataset.shell="bar":L==="window"?f.dataset.shell=je?"focus_stream":"stage":f.dataset.shell="presence";let Ie=W&&!je&&(i.shell?.dimBackground!==!1||i.shell?.blurBackground!==!1);F.backdrop.classList.toggle("visible",Ie)}function Ot(){Le.showTyping(je&&ue)}function Mr(){let L=je||Ee==="observer"&&!Ue;st.setDisabled(L),F.questionPromptCancel.disabled=L,F.questionPromptSubmit.disabled=L;for(let W of Array.from(F.questionPromptForm.querySelectorAll(".questionPromptInput")))W.disabled=L;L&&ft==="listening"&&kr("disabled"),be()}F.taskSuggestionPrimaryBtn.addEventListener("click",()=>{if(jt){let L=jt;jt=null,ia({visible:!1}),e.onCancelRun?.(),L==="new_task"?e.onNewTask?.():L==="end_task"&&e.onEndTask?.();return}e.onTaskSuggestionPrimary?.()}),F.taskSuggestionSecondaryBtn.addEventListener("click",()=>{if(jt){jt=null,ia({visible:!1});return}e.onTaskSuggestionSecondary?.()});function ul(L){if(!L||!Array.isArray(L.questions))return[];let W=[],Ie=new Set;for(let Ce=0;Ce<L.questions.length;Ce+=1){let Ke=L.questions[Ce];if(!Ke||typeof Ke!="object")continue;let gt=String(Ke.key||Ke.id||"").trim()||`clarification_${Ce+1}`,on=String(Ke.query||Ke.question||"").trim();if(!on||Ie.has(gt))continue;Ie.add(gt);let xt=typeof Ke.required=="boolean",an=typeof Ke.optional=="boolean",xr=xt?!!Ke.required:an?!Ke.optional:!0;W.push({key:gt,query:on,...Ke.id?{id:Ke.id}:{},...Ke.question?{question:Ke.question}:{},...Array.isArray(Ke.choices)?{choices:Ke.choices}:{},required:xr})}return W.slice(0,6)}function b0(L){return L.map(W=>{let Ie=Array.isArray(W.choices)?W.choices.map(Ce=>Fe(String(Ce||""))).filter(Boolean).join("|"):"";return`${W.key}::${Fe(W.query)}::${Ie}::${W.required===!1?"optional":"required"}`}).join("||")}function y0(L){for(let W of Array.from(F.questionPromptForm.querySelectorAll(".questionPromptInput")))if(W.dataset.key===L)return W;return null}F.questionPromptForm.addEventListener("submit",L=>{if(L.preventDefault(),st.textarea.disabled||!$e?.questions?.length)return;let W={},Ie=[],Ce=null;for(let xt of $e.questions){let an=y0(xt.key);if(!an)continue;let xr=Fe(an.value);if(!xr&&xt.required!==!1){an.classList.add("invalid"),Ce||(Ce=an);continue}an.classList.remove("invalid"),xr?(ht[xt.key]=xr,W[xt.key]=xr,Ie.push(`${xt.key}: ${xr}`)):(delete ht[xt.key],Ie.push(`${xt.key}: (no answer provided)`))}if(Ce){Ce.focus();return}let Ke=$e.questions.map(xt=>xt.key),gt=Ie.length?Ie.join(`
|
|
4366
|
+
`,document.head.appendChild(d);let m=document.createElement("style");m.textContent=Sv+Tv+_v+Ev+Iv+Av+Rv+Cv+Mv,l.appendChild(m);let f=document.createElement("div");f.className="rover",f.dataset.mood="idle",f.dataset.shell="presence";let u=Uy("seed"),h=_y({siteId:e.siteId,host:window.location.hostname,muted:e.muted,mascot:e.mascot,readStored:L=>{try{return localStorage.getItem(L)}catch{return null}}}),b=h.soundEnabled&&!o,v=h.isMuted;function S(){if(b){if(v=!v,h.storageKey)try{localStorage.setItem(h.storageKey,String(v))}catch{}K.setMuted(v),ut.setMuted(v),nt.setMuted(v)}}let k=()=>String(document.documentElement?.lang||navigator.language||"en-US").trim()||"en-US",x=L=>String(L.audio?.narration?.language||k()||"en-US").trim()||"en-US",C=()=>String(O.language||x(i)||"en-US").trim()||"en-US",_=()=>String(O.language||i.audio?.narration?.language||ar?.language||k()||"en-US").trim()||"en-US",I=()=>O.voicePreference||i.audio?.narration?.voicePreference||"auto",M=(L,W)=>av({lang:W?.language||L.audio?.narration?.language||k(),rate:L.audio?.narration?.rate,voiceURI:W?.voiceURI,voicePreference:W?.voicePreference||L.audio?.narration?.voicePreference}),X=L=>L.audio?.narration?.defaultMode!=="off",O=Uf({siteId:e.siteId,host:window.location.hostname,enabled:i.audio?.narration?.enabled,defaultOn:X(i),readStored:L=>{try{return localStorage.getItem(L)}catch{return null}}}),J=M(i,O),ee=!1,se=JSON.stringify({owner:i.audio?.narration||{},visitor:{language:O.language,voiceURI:O.voiceURI,voicePreference:O.voicePreference}}),H=O.supportedByConfig&&J.isSupported(),Y=H&&O.enabled,oe=null;J.setEnabled(Y),e.onNarrationPreferenceChange?.(Y,H,O.source,C());function ie(){O=Uf({siteId:e.siteId,host:window.location.hostname,enabled:i.audio?.narration?.enabled,defaultOn:X(i),readStored:W=>{try{return localStorage.getItem(W)}catch{return null}}});let L=JSON.stringify({owner:i.audio?.narration||{},visitor:{language:O.language,voiceURI:O.voiceURI,voicePreference:O.voicePreference}});L!==se&&(se=L,ke(),J.dispose(),J=M(i,O),ee&&J.unlock()),H=O.supportedByConfig&&J.isSupported(),Y=H&&O.enabled,Y||ze.cancel(),J.setEnabled(Y),ut?.setNarrationAvailable(H),ut?.setNarrationEnabled(Y),oe?.update(le()),e.onNarrationPreferenceChange?.(Y,H,O.source,C())}function me(){H&&(ee=!0,J.unlock())}function he(){if(H){if(Y=!Y,O.storageKey)try{localStorage.setItem(O.storageKey,Bf({enabled:Y,language:O.language,voiceURI:O.voiceURI,voicePreference:O.voicePreference}))}catch{}O={...O,enabled:Y,source:"visitor"},J.setEnabled(Y),Y&&me(),ut.setNarrationEnabled(Y),oe?.update(le()),e.onNarrationPreferenceChange?.(Y,H,O.source,C())}}function Te(L){return{narrationEnabledForRun:H&&Y,narrationPreferenceSource:O.source,...L==="guide"||L==="task"?{narrationRunKind:L}:{},narrationLanguage:C()}}let ze=wv({isEnabled:()=>H&&Y,speak:(L,W)=>J.speak(L,W)});function Oe(L){ze.scheduleEvent(L)}function ke(){ze.cancel(),J.cancel()}function B(){document.hidden&&ke()}try{document.addEventListener("visibilitychange",B)}catch{}let K=Xy({agentName:t,launcherToken:r,mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,experience:i,siteId:e.siteId,onClick:()=>Nh()}),F=nv({panelResizable:s,experience:i,agentName:t,onClose:ca}),te=!1;function fe(){te=!te,te?(F.conversationDrawer.classList.add("open"),e.onOpenConversations?.()):F.conversationDrawer.classList.remove("open")}F.conversationDrawerCloseBtn.addEventListener("click",()=>{te=!1,F.conversationDrawer.classList.remove("open")}),F.conversationNewBtn.addEventListener("click",()=>{te=!1,F.conversationDrawer.classList.remove("open"),e.onNewTask?.()});function le(){return{available:H,enabled:Y,siteLanguage:x(i),effectiveLanguage:C(),language:O.language,voiceURI:O.voiceURI,voicePreference:I(),voices:iv()}}function Ne(L){if(!O.storageKey)return;let W={enabled:Y,language:O.language,voiceURI:O.voiceURI,voicePreference:O.voicePreference,...L};L.language===void 0&&Object.prototype.hasOwnProperty.call(L,"language")&&delete W.language,L.voiceURI===void 0&&Object.prototype.hasOwnProperty.call(L,"voiceURI")&&delete W.voiceURI,L.voicePreference===void 0&&Object.prototype.hasOwnProperty.call(L,"voicePreference")&&delete W.voicePreference;try{localStorage.setItem(O.storageKey,Bf(W))}catch{}}function ge(L){!H&&L.enabled!==!1||(Ne(L),ie(),typeof L.enabled=="boolean"&&(Y=H&&L.enabled,J.setEnabled(Y),ut?.setNarrationEnabled(Y)),Y&&me(),oe?.update(le()))}function dt(){if(O.storageKey)try{localStorage.removeItem(O.storageKey)}catch{}ie()}function mt(){oe&&(oe.update(le()),oe.setOpen(!0))}function it(){oe?.setOpen(!1)}let je=!1,jt=null,We=!1,ut=Yy({agentName:t,agentInitial:n,mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,panelResizable:s,showTaskControls:e.showTaskControls!==!1,allowSoundToggle:b,isMuted:v,allowNarrationToggle:H,narrationEnabled:Y,onClose:ca,onMinimize:()=>sa(),onCycleSize:()=>F.cyclePanelSize(),onNewTask:()=>{je&&e.onCancelRun?(jt="new_task",la({visible:!0,text:"A task is in progress. Cancel it and start new?",primaryLabel:"Cancel & start new",secondaryLabel:"Keep running"})):e.onNewTask?.()},onEndTask:()=>{je&&e.onCancelRun?(jt="end_task",la({visible:!0,text:"A task is in progress. Cancel and end it?",primaryLabel:"Cancel & end",secondaryLabel:"Keep running"})):e.onEndTask?.()},onCancelRun:()=>e.onCancelRun?.(),onRequestControl:()=>e.onRequestControl?.(),onToggleMute:S,onToggleNarration:he,onOpenVoiceSettings:mt,onToggleConversations:fe});oe=dv({agentName:t,onChange:ge,onReset:dt,onClose:it}),oe.update(le()),oe.setOpen(!1);let Le=Jy({thoughtStyle:e.thoughtStyle,stream:i.stream}),Ye=tv(t,a);function Pt(L){me(),e.onShortcutClick?.(L)}let $t=e.shortcuts?.slice(0,12)||[];$t.length>0&&Ye.render($t,Pt),Le.feed.appendChild(Ye.emptyState);let St=rp({onSelect:L=>{me(),e.onShortcutClick?.(L)},onClose:()=>{}});$t.length>0&&St.setItems($t);let nt=sv({mascotDisabled:o,mascotImage:e.mascot?.imageUrl,mascotMp4:e.mascot?.mp4Url,mascotWebm:e.mascot?.webmUrl,launcherToken:r,isMuted:v,onExpand:()=>{u.getState()==="window"?sa():bi()},onClose:()=>Pu()}),tn=()=>(window.visualViewport?.width??window.innerWidth??640)<=640,nn=op({container:K.root,reducedMotion:Eo(),mobile:tn(),color:i.theme?.accentColor||"rgba(255, 76, 0, 0.6)"}),cn=ip({container:f,panel:F.panel,resolveElement:e.resolveElement}),hn=vv({container:f,panel:F.panel,resolveElement:e.resolveElement,getLocalLogicalTabId:e.getLocalLogicalTabId,reducedMotion:Eo()}),Yn=Zf({onFrequencyData:L=>{let W=1+L*.08;K.root.style.setProperty("--rv-audio-scale",String(W))}}),Me=0,br=0;function De(){let L=Me>0?Math.min(1,br/Me)*100:0;F.panel.style.setProperty("--rv-tide-progress",`${L}%`)}let Bt=document.createElement("span");Bt.className="pulse-badge",Bt.style.display="none",Bt.textContent="0",K.root.appendChild(Bt);let Tn=!1;function Nt(){let W=u.getState()==="seed"&&je;W!==Tn&&(Tn=W,K.root.classList.toggle("pulse",Tn),i.motion?.particles!==!1&&nn.setMode(Tn?"pulse":"idle"),Bt.style.display=Tn?"flex":"none",nt.setRunning(je))}function Ss(L,W){let Ie=document.createElement("div");Ie.className="tool-ripple",Ie.style.left=`${L}px`,Ie.style.top=`${W}px`,f.appendChild(Ie);try{let Ce=Ie.animate([{transform:"translate(-50%, -50%) scale(0)",opacity:.6},{transform:"translate(-50%, -50%) scale(1)",opacity:0}],{duration:500,fill:"forwards"});Ce.onfinish=()=>Ie.remove()}catch{setTimeout(()=>Ie.remove(),500)}}function Ts(L){try{let W=L.actionCue;if(!W||W.targetLabel||!oc(L,e.getLocalLogicalTabId?.()))return L;let Ie=W.primaryElementId??L.elementId,Ce=Ie!=null?e.resolveElement?.(Ie):null,Ke=sp(Ce);return Ke?{...L,actionCue:{...W,targetLabel:Ke}}:L}catch{return L}}let ar=Pf(e.voice),ft="idle",wn="",zn="",yr="",vr="",bo=!1,Lt=null,Rr=null,Qr=null,g=null,D=null,N=0,R=!1,T=!1,w=0,E=null,U=!1,Q=!1,G="";function Z(){Rr&&(clearTimeout(Rr),Rr=null)}function re(){Qr&&(clearTimeout(Qr),Qr=null)}function ce(){g&&(clearTimeout(g),g=null)}function xe(){D&&(clearTimeout(D),D=null)}let _e=null,Je=null;function Pe(){_e&&(clearTimeout(_e),_e=null),Je&&(clearTimeout(Je),Je=null)}function Re(){zn="",yr="",vr=""}function He(){Z(),re(),ce(),xe(),N=0,R=!1,T=!1,w=0,E=null,U=!1,Q=!1}function vt(){return Ny(zn,yr,vr)}function ln(){st.setText(vt())}function et(){return Df(ar?.autoStopMs)}function rt(){return N?Math.max(0,Date.now()-N):0}function tt(L,W){e.onVoiceTelemetry?.(L,W)}function at(L){return{hadSpeech:R,restartCount:w,durationMs:rt(),autoStopMs:et(),...L||{}}}function Tt(){return{code:"no_speech",message:"No speech was detected.",recoverable:!0}}function Et(L){U||(tt("voice_error",at({code:L.code,recoverable:L.recoverable})),U=!0),L.code==="permission_denied"&&tt("voice_permission_denied",at({code:L.code}))}function be(){let L=ar?.enabled===!0&&i.inputs?.voice!==!1,W=Hn.isSupported();if(st.setVoiceVisible(L&&W),st.setVoiceActive(ft==="listening"),ft==="error"&&wn){st.setStatusMessage(wn,"error");return}if(ft==="listening"){st.setStatusMessage(R?"Listening. Pause briefly when you're done.":"Listening. Start speaking when you're ready.");return}if(L&&!W){st.setStatusMessage("Voice dictation is not available in this browser.");return}st.setStatusMessage("")}function ve(L){if(ft!=="listening"||R||Lt||w>=3)return!1;let W=rt();return W>=5e3||W>=6e4?!1:L?L.code==="no_speech"||L.code==="aborted"||L.code==="unknown":!0}function Be(){if(ft!=="listening"||R||!N)return;re();let L=5e3-rt();if(L<=0){let W=E?.code==="no_speech"?E:Tt();Lt="no_speech",ft="error",wn=W.message,Et(W),be(),Hn.stop();return}Qr=setTimeout(()=>{if(ft!=="listening"||R)return;let W=Tt();E=W,Lt="no_speech",ft="error",wn=W.message,Et(W),be(),Hn.stop()},L)}function pt(){if(ft!=="listening"||!N)return;ce();let L=6e4-rt();if(L<=0){if(R)kr("silence");else{let W=Tt();E=W,Lt="no_speech",ft="error",wn=W.message,Et(W),be(),Hn.stop()}return}g=setTimeout(()=>{if(ft!=="listening")return;if(R){kr("silence");return}let W=Tt();E=W,Lt="no_speech",ft="error",wn=W.message,Et(W),be(),Hn.stop()},L)}function _n(){ft!=="listening"||!R||T||(Z(),Rr=setTimeout(()=>{ft==="listening"&&kr("silence")},et()))}function Sn(){ve(E)&&(xe(),w+=1,E=null,Be(),pt(),D=setTimeout(()=>{D=null,!(ft!=="listening"||R||Lt)&&Hn.start({language:_()})},160))}function kr(L,W){if(ft!=="listening"){W?.resetDraftBase&&(Re(),He());return}Z(),re(),ce(),xe(),Lt=L,Hn.stop(),W?.resetDraftBase&&Re()}function ul(){if(st.textarea.disabled||!ar?.enabled||!Hn.isSupported()){ar?.enabled&&!Hn.isSupported()&&(ft="error",wn="Voice dictation is not available in this browser.",be());return}wn="",ft="listening",bo=!1,Lt=null,zn=st.textarea.value,yr="",vr="",He(),N=Date.now(),Q=!0,Be(),pt(),be(),Hn.start({language:_()}),K.root.classList.add("voice-active"),Yn.start()}function fl(L){E=L,!(Lt&&(L.code==="aborted"||L.code==="no_speech"||L.code==="unknown"))&&(L.code==="aborted"||L.code==="no_speech"||L.code==="unknown"||(Z(),re(),xe(),ft="error",wn=L.message,Lt="error",be(),Et(L)))}let Hn=ep({onStart:()=>{ft="listening",wn="",E=null,Be(),pt(),Q&&(tt("voice_started",at({provider:"browser"})),Q=!1),be()},onSpeechStart:()=>{ft==="listening"&&(R=!0,T=!0,E=null,re(),Z(),be())},onSpeechEnd:()=>{ft==="listening"&&(T=!1,R&&_n(),be())},onResult:({finalTranscript:L,interimTranscript:W})=>{(L||W)&&(R=!0,T=W.length>0,E=null,re(),Z()),yr=L,vr=W,ln(),R&&!T&&_n(),be()},onEnd:({requested:L})=>{if(K.root.classList.remove("voice-active"),Yn.stop(),K.root.style.removeProperty("--rv-audio-scale"),xe(),!L&&ve(E)){Sn();return}let W=Fe(vt()),Ie=Fe(zn).length>0,Ce=E,Ke=Lt||(L?"manual":"silence");if(Z(),re(),ce(),!R&&!L&&ft!=="error"){let on=Ce?.code==="no_speech"?Ce:Tt();ft="error",wn=on.message,Lt="no_speech",Ke="no_speech",Et(on)}else!L&&!Lt&&R?Ke="silence":Lt&&(Ke=Lt);ft!=="error"&&(ft="idle",wn=""),W&&tt("voice_transcript_ready",at({chars:W.length,hadExistingDraft:Ie})),tt("voice_stopped",at({reason:Ke,stopReason:Ke,requested:L,errorCode:Ce?.code}));let gt=bo;bo=!1,Lt=null,Re(),He(),be(),gt&&gn()},onError:fl}),st=ev({agentName:t,experience:i,onSubmit:(L,W)=>{if(!st.textarea.disabled){if(ft==="listening"){bo=!0,kr("submit");return}gn()}},onVoiceStart:()=>{if(me(),ft==="listening"){kr("manual");return}ul()},onVoiceStop:()=>kr("manual")}),Cr=!1,y=!1,P=0,$="",V=null,ne="Ready",ue=!1,Ee="controller",Ue=!1,$e=null,yt=null,ht={},Mt="";function gn(){if(st.textarea.disabled)return;let L=Fe(st.textarea.value),W=st.getPendingAttachments(),Ie=L||(W.length>0?"Use the attached files as context for this task.":"");Ie&&(me(),la({visible:!1}),$=L||(W.length>0?`Review ${W.length===1?W[0].name:`${W.length} attachments`}`:$),P=Date.now(),e.onSend(Ie,{...W.length>0?{attachments:W}:{},...Te()}),st.setText(""),st.clearAttachments(),wn="",ft="idle",Re(),He(),bo=!1,Lt=null,rn(),be())}function rn(){let L=!!($||je);if(F.taskStage.style.display=L?"":"none",!L)return;F.taskStageTitle.textContent=Zs($,{maxLength:120,maxUrlLength:56})||`${i.presence?.assistantName||t} is working\u2026`;let W=[];P>0&&W.push(Wo(P)),ne&&ne.toLowerCase()!=="ready"&&W.push(ne),F.taskStageMeta.textContent=W.join(" \u2022 "),F.taskStageStatusPill.textContent=je?"Active task":"Done",F.taskStageStatusPill.classList.toggle("running",je),F.taskStageStatusPill.classList.toggle("idle",!je)}function jn(){if(F.artifactStageBody.innerHTML="",F.artifactStage.classList.toggle("visible",!!V),F.artifactStage.classList.toggle("expanded",y),F.artifactStageToggle.textContent=y?"Collapse":"Expand",!V){F.artifactStageBody.appendChild(F.artifactStageEmpty);return}let L=tc(V);L?F.artifactStageBody.appendChild(L):F.artifactStageBody.appendChild(F.artifactStageEmpty)}function En(L){if(!Array.isArray(L)||L.length===0)return;let W=L.find(Ie=>Ie.type==="tool_output"||Ie.type==="json")||null;W&&(V=W,i.stream?.artifactAutoMinimize!==!1&&(y=!1),jn())}F.artifactStageToggle.addEventListener("click",()=>{y=!y,jn()});function kt(){let L=u.getState(),W=F.panel.classList.contains("open")&&!F.panel.classList.contains("closing");L==="bar"?f.dataset.shell="bar":L==="window"?f.dataset.shell=je?"focus_stream":"stage":f.dataset.shell="presence";let Ie=W&&!je&&(i.shell?.dimBackground!==!1||i.shell?.blurBackground!==!1);F.backdrop.classList.toggle("visible",Ie)}function Ot(){Le.showTyping(je&&ue)}function Mr(){let L=je||Ee==="observer"&&!Ue;st.setDisabled(L),F.questionPromptCancel.disabled=L,F.questionPromptSubmit.disabled=L;for(let W of Array.from(F.questionPromptForm.querySelectorAll(".questionPromptInput")))W.disabled=L;L&&ft==="listening"&&kr("disabled"),be()}F.taskSuggestionPrimaryBtn.addEventListener("click",()=>{if(jt){let L=jt;jt=null,la({visible:!1}),e.onCancelRun?.(),L==="new_task"?e.onNewTask?.():L==="end_task"&&e.onEndTask?.();return}e.onTaskSuggestionPrimary?.()}),F.taskSuggestionSecondaryBtn.addEventListener("click",()=>{if(jt){jt=null,la({visible:!1});return}e.onTaskSuggestionSecondary?.()});function pl(L){if(!L||!Array.isArray(L.questions))return[];let W=[],Ie=new Set;for(let Ce=0;Ce<L.questions.length;Ce+=1){let Ke=L.questions[Ce];if(!Ke||typeof Ke!="object")continue;let gt=String(Ke.key||Ke.id||"").trim()||`clarification_${Ce+1}`,on=String(Ke.query||Ke.question||"").trim();if(!on||Ie.has(gt))continue;Ie.add(gt);let xt=typeof Ke.required=="boolean",an=typeof Ke.optional=="boolean",xr=xt?!!Ke.required:an?!Ke.optional:!0;W.push({key:gt,query:on,...Ke.id?{id:Ke.id}:{},...Ke.question?{question:Ke.question}:{},...Array.isArray(Ke.choices)?{choices:Ke.choices}:{},required:xr})}return W.slice(0,6)}function y0(L){return L.map(W=>{let Ie=Array.isArray(W.choices)?W.choices.map(Ce=>Fe(String(Ce||""))).filter(Boolean).join("|"):"";return`${W.key}::${Fe(W.query)}::${Ie}::${W.required===!1?"optional":"required"}`}).join("||")}function v0(L){for(let W of Array.from(F.questionPromptForm.querySelectorAll(".questionPromptInput")))if(W.dataset.key===L)return W;return null}F.questionPromptForm.addEventListener("submit",L=>{if(L.preventDefault(),st.textarea.disabled||!$e?.questions?.length)return;let W={},Ie=[],Ce=null;for(let xt of $e.questions){let an=v0(xt.key);if(!an)continue;let xr=Fe(an.value);if(!xr&&xt.required!==!1){an.classList.add("invalid"),Ce||(Ce=an);continue}an.classList.remove("invalid"),xr?(ht[xt.key]=xr,W[xt.key]=xr,Ie.push(`${xt.key}: ${xr}`)):(delete ht[xt.key],Ie.push(`${xt.key}: (no answer provided)`))}if(Ce){Ce.focus();return}let Ke=$e.questions.map(xt=>xt.key),gt=Ie.length?Ie.join(`
|
|
4367
4367
|
`):Ke.map(xt=>`${xt}: (no answer provided)`).join(`
|
|
4368
|
-
`),on=st.getPendingAttachments();e.onSend(gt,{askUserAnswers:{answersByKey:W,rawText:gt,keys:Ke},attachments:on.length?on:void 0,...Te()}),st.clearAttachments()}),F.questionPromptCancel.addEventListener("click",()=>{if(!st.textarea.disabled){if(e.onCancelQuestionFlow){e.onCancelQuestionFlow();return}e.onCancelRun?.()}}),F.panel.appendChild(F.panelGrabber),F.panel.appendChild(ut.root),F.panel.appendChild(F.taskStage),F.panel.appendChild(F.artifactStage),F.panel.appendChild(F.conversationPill),F.panel.appendChild(F.pausedTaskBanner),F.panel.appendChild(Le.root),F.panel.appendChild(F.taskSuggestion),F.panel.appendChild(Ye.bar),F.panel.appendChild(F.questionPrompt),F.panel.appendChild(F.resizeHandle),F.panel.appendChild(F.conversationDrawer),nt.composerSlot.appendChild(st.root);let Nr=uv({thoughtStyle:e.thoughtStyle,stream:i.stream});Nr.setOnExpand(()=>{Nr.hide(),u.getState()==="bar"&&hi(),Le.setTraceExpanded(!0,i.stream?.maxVisibleLiveCards)}),f.appendChild(F.backdrop),f.appendChild(K.root),f.appendChild(K.greetingBubble),f.appendChild(F.panel),f.appendChild(Nr.root),f.appendChild(nt.root),f.appendChild(St.root),oe&&f.appendChild(oe.root),l.appendChild(f),l.addEventListener("keydown",L=>{let W=L;if(W.key==="Escape"){if(W.stopPropagation(),St.isOpen()){St.close();return}if(F.panel.classList.contains("open")){ra();return}if(u.getState()==="bar"){Lu();return}}});let Rh=L=>{if((L.metaKey||L.ctrlKey)&&L.code==="KeyK"){L.preventDefault(),L.stopPropagation(),St.isOpen()?St.close():St.open();return}L.code==="Period"&&L.shiftKey&&(L.metaKey||L.ctrlKey)&&(L.preventDefault(),L.stopPropagation(),F.panel.classList.contains("open")?oa():Du())};document.addEventListener("keydown",Rh);let Uo=()=>{F.applyLayout(),K.applyPosition()};window.addEventListener("resize",Uo),window.addEventListener("orientationchange",Uo),window.visualViewport?.addEventListener("resize",Uo),window.visualViewport?.addEventListener("scroll",Uo),F.applyLayout(),K.applyPosition(),K.setMuted(v),ut.setMuted(v),nt.setMuted(v),Lh("controller"),Oh(ar),Le.setTraceExpanded(!1,i.stream?.maxVisibleLiveCards),jn(),rn();function Ch(){let L=vy(i.theme?.accentColor||"#FF4C00");for(let[Ie,Ce]of Object.entries(L))f.style.setProperty(Ie,Ce);let W=ky(i.motion?.actionSpotlightColor,i.theme?.accentColor);for(let[Ie,Ce]of Object.entries(W))f.style.setProperty(Ie,Ce)}Ch();function ra(){if(We=!0,u.getState()!=="window")return;ut.closeOverflow(),i.shell?.transitionStyle!=="crossfade"&&!_o()?(F.backdrop.classList.remove("visible"),F.panel.animate([{opacity:1,transform:"translateY(0) scale(1)",filter:"blur(0)"},{opacity:0,transform:"translateY(12px) scale(0.97)",filter:"blur(3px)"}],{duration:ec(250,i.motion?.intensity||"balanced"),easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"forwards"}).finished.then(()=>{F.panel.classList.remove("open"),F.panel.style.display="none",F.panel.style.transform="",F.panel.style.filter="",F.panel.style.animation="",kt()}).catch(()=>{})):(F.panel.classList.remove("open"),F.panel.style.display="none",F.backdrop.classList.remove("visible"),kt()),u.setState("bar"),nt.setExpanded(!1),Nt(),je&&Nr.show()}function hi(){if(u.getState()!=="bar")return;F.applyLayout(),F.panel.style.transition="",i.shell?.transitionStyle!=="crossfade"&&!_o()?(F.backdrop.classList.add("visible"),F.panel.style.animation="none",F.panel.style.opacity="0",F.panel.style.display="flex",F.panel.classList.add("open"),F.panel.animate([{opacity:0,transform:"translateY(12px) scale(0.97)",filter:"blur(3px)"},{opacity:1,transform:"translateY(0) scale(1)",filter:"blur(0)"}],{duration:ec(320,i.motion?.intensity||"balanced"),easing:"cubic-bezier(0.16, 1, 0.3, 1)",fill:"forwards"}).finished.then(()=>{F.panel.style.transform="",F.panel.style.filter="",F.panel.style.opacity="",kt(),st.textarea.disabled||st.textarea.focus()}).catch(()=>{})):(F.panel.classList.add("open"),F.panel.style.display="flex",F.backdrop.classList.add("visible"),kt(),st.textarea.disabled||st.textarea.focus()),u.setState("window"),nt.setExpanded(!0),Nt(),e.onOpen?.()}function Lu(){ke(),We=!1;let L=u.getState();if(L==="window")ut.closeOverflow(),F.panel.classList.remove("open"),F.panel.style.display="none",F.panel.style.transform="",F.panel.style.filter="",F.panel.style.animation="",F.backdrop.classList.remove("visible"),u.setState("bar"),nt.setExpanded(!1),Nt();else if(L!=="bar")return;u.setState("seed"),u.setMood("idle"),Nt(),!_o()?(Fy({seed:K.root,bar:nt.root,duration:ec(280,i.motion?.intensity||"balanced")}),kt()):(nt.hide(),kt()),e.onClose?.()}function Mh(){if(u.getState()!=="seed")return;me(),St.isOpen()&&St.close(),K.setGreeting(null),Pe(),u.setState("bar"),Nt(),!_o()?Uy({seed:K.root,bar:nt.root,duration:ec(300,i.motion?.intensity||"balanced")}).then(()=>{kt(),We||hi()}):(nt.show(),kt(),We||hi())}function Du(){if(St.isOpen()&&St.close(),u.getState()==="bar"){hi();return}if(u.getState()==="seed"){Mh();return}}function oa(){if(ke(),u.getState()==="bar"){Lu();return}if(ut.closeOverflow(),!F.panel.classList.contains("open")){e.onClose?.();return}ra()}function v0(L,W,Ie){Le.addMessage(L,W,Ie?.blocks),L==="assistant"&&je&&ue&&(ue=!1,Ot()),L==="user"&&($=Fe(W)||$,P=Date.now(),y=!1),L==="assistant"&&En(Ie?.blocks),Cr=!0,rn(),Ye.syncVisibility(Cr,je,!!$e?.questions?.length),L==="user"?u.setMood("typing",1200):L==="assistant"?u.setMood("success",1400):u.setMood("running",900),f.dataset.mood=u.getMood(),i.motion?.palimpsest!==!1&&F.backdrop.classList.toggle("palimpsest",je&&u.getMood()==="running")}function Nh(L){let W=ul(L);if(!W.length){$e=null,yt=null,ht={},F.questionPromptList.innerHTML="",F.questionPrompt.classList.remove("visible"),Ye.syncVisibility(Cr,je,!1);return}let Ie=b0(W),Ce=Ie!==yt||!$e;if($e={questions:W},Ce){let Ke=ht;ht={},F.questionPromptList.innerHTML="";for(let gt of W){let on=document.createElement("label");on.className="questionPromptItem";let xt=document.createElement("span");xt.className="questionPromptLabel",xt.textContent=gt.required===!1?`${gt.query} (optional)`:gt.query,on.appendChild(xt);let an=document.createElement("input");an.type="text",an.className="questionPromptInput",an.dataset.key=gt.key,an.required=gt.required!==!1;let xr=String(Ke[gt.key]||"");ht[gt.key]=xr,an.value=xr,an.addEventListener("input",()=>{ht[gt.key]=an.value,an.classList.remove("invalid")}),on.appendChild(an),F.questionPromptList.appendChild(on)}yt=Ie}F.questionPrompt.classList.add("visible"),Mr(),Ye.syncVisibility(Cr,je,!0)}function k0(){Le.clearMessages(),Cr=!1,$="",P=0,V=null,y=!1,st.clearAttachments(),jn(),rn(),Nh(void 0),Ye.syncVisibility(!1,je,!1)}function ia(L){F.taskSuggestion.classList.toggle("visible",!!L?.visible),F.taskSuggestionTextEl.textContent=L?.text||"Looks like a new request. Start a new task?",F.taskSuggestionPrimaryBtn.textContent=L?.primaryLabel||"Start new",F.taskSuggestionSecondaryBtn.textContent=L?.secondaryLabel||"Continue"}function x0(L){let W=String(L||"ready");ut.setStatus(W),ne=W;let Ie=W.toLowerCase(),Ce=u.getMood();if(Ie.includes("error")||Ie.includes("failed")){if(u.setMood("error",1800),Ce!=="error"){try{K.root.animate([{transform:"translateX(0)"},{transform:"translateX(-6px)"},{transform:"translateX(5px)"},{transform:"translateX(-4px)"},{transform:"translateX(3px)"},{transform:"translateX(-1px)"},{transform:"translateX(0)"}],{duration:800,easing:"ease-out"})}catch{}K.root.classList.add("error-wobble"),setTimeout(()=>K.root.classList.remove("error-wobble"),850)}}else Ie.includes("waiting")||Ie.includes("queued")||Ie.includes("paused")?u.setMood("waiting",0):Ie==="ready"||Ie.includes("complete")?u.setMood("idle"):u.setMood("running",1e3);f.dataset.mood=u.getMood(),i.motion?.palimpsest!==!1&&F.backdrop.classList.toggle("palimpsest",je&&u.getMood()==="running"),rn()}function w0(L){let W=je;if(je=L,L)ue=!0,P||(P=Date.now()),Me=0,br=0,De(),i.motion?.particles!==!1&&nn.setMode("ambient"),u.getState()==="window"&&(ut.closeOverflow(),F.panel.classList.remove("open"),F.panel.style.display="none",F.panel.style.transform="",F.panel.style.filter="",F.panel.style.animation="",F.backdrop.classList.remove("visible"),u.setState("bar"),nt.setExpanded(!1)),Nr.show(),nt.setRunning(!0),st.setSendAsStop(!0,()=>{e.onCancelRun?.()});else{Nr.hide(),nt.setRunning(!1),st.setSendAsStop(!1,()=>{}),ke(),ue=!1,sn.clearAll();try{mn.clearAll()}catch{}if(W&&u.getState()!=="window"&&hi(),setTimeout(()=>Le.smartScrollToBottom(),80),W&&u.getMood()!=="error"){i.motion?.particles!==!1&&nn.setMode("burst");try{K.root.animate([{transform:"scale(1)"},{transform:"scale(1.08)"},{transform:"scale(0.97)"},{transform:"scale(1)"}],{duration:600,easing:"ease-out"})}catch{}K.root.classList.add("completion-burst"),setTimeout(()=>{K.root.classList.remove("completion-burst"),Nt()},700)}else i.motion?.particles!==!1&&nn.setMode("idle")}i.motion?.palimpsest!==!1&&F.backdrop.classList.toggle("palimpsest",L&&u.getMood()==="running"),Ot(),Mr(),ut.setRunning(L),!L&&i.stream?.artifactAutoMinimize!==!1&&(y=!1,jn()),rn(),Ye.syncVisibility(Cr,je,!!$e?.questions?.length),kt(),W&&!L&&u.getMood()!=="error"||Nt()}function Lh(L,W){Ee=L,Ue=L==="observer"?W?.canComposeInObserver===!0:!0,Mr(),ut.setExecutionMode(L,W),L==="controller"?st.setStaticPlaceholder(""):W?.note?st.setStaticPlaceholder(W.note):Ue?st.setStaticPlaceholder("Send to take control and run here."):st.setStaticPlaceholder("Observer mode. Take control to run actions here.")}function Dh(L){let W=Fe(L);W&&!F.panel.classList.contains("open")&&K.setGreeting(W)}function Ph(){K.setGreeting(null)}function S0(L){a=L||void 0,Ye.setVisitorName(a,t)}function Oh(L){let W=Lf(L),Ie=JSON.stringify(ar||null),Ce=JSON.stringify(W||null);if(Ie===Ce){be();return}ar=W,xn="",go=!1,ft==="listening"?kr("config"):(Re(),He(),ft="idle"),be()}function T0(L){if(i=Df({...e,experience:L},t,o),K.update(i),st.update(i),Le.setStreamConfig(i.stream),Nr.setStreamConfig(i.stream),Le.setThoughtStyle(e.thoughtStyle),Nr.setThoughtStyle(e.thoughtStyle),Ch(),i.theme?.fontFamily&&f.style.setProperty("font-family",`${i.theme.fontFamily}, Manrope, sans-serif`),f.dataset.surfaceStyle=i.theme?.surfaceStyle||"glass",i.motion?.particles===!1&&nn.setMode("idle"),i.motion?.filaments===!1&&sn.clearAll(),i.motion?.actionSpotlight===!1)try{mn.clearAll()}catch{}i.motion?.palimpsest===!1&&F.backdrop.classList.remove("palimpsest"),ie(),rn(),jn(),K.applyPosition()}function _0(){F.applyLayout(),f.style.display="",K.applyPosition(),kt()}function E0(){ke(),oa(),f.style.display="none",kt()}function I0(){u.destroy(),Pe(),Z(),Hn.dispose(),St.destroy(),nt.destroy(),Nr.destroy(),nn.destroy(),sn.destroy();try{mn.destroy()}catch{}ze.dispose(),J.dispose(),Yn.dispose(),window.removeEventListener("resize",Uo),window.removeEventListener("orientationchange",Uo),window.visualViewport?.removeEventListener("resize",Uo),window.visualViewport?.removeEventListener("scroll",Uo);try{document.removeEventListener("visibilitychange",B)}catch{}document.removeEventListener("keydown",Rh),d.remove(),c.remove()}function A0(L){}let Bh="";function R0(L){let W=L.map(Ce=>`${Ce.id}|${Ce.summary}|${Ce.status}|${Ce.updatedAt}|${Ce.isActive}`).join(";;");if(W===Bh)return;Bh=W;let Ie=L.find(Ce=>Ce.isActive);if(F.conversationPillLabel.textContent=Ie&&Js(Ie.summary,{maxLength:44,maxUrlLength:32})||"Current task",F.conversationPill.style.display="flex",F.conversationList.innerHTML="",!L.length){let Ce=document.createElement("div");Ce.className="conversationEmpty",Ce.textContent="No previous chats yet.",F.conversationList.appendChild(Ce);return}for(let Ce of L){let Ke=document.createElement("div");Ke.className=`conversationItem ${Ce.status}${Ce.isActive?" active":""}`,Ke.dataset.id=Ce.id;let gt=document.createElement("span");gt.className="conversationDot";let on=document.createElement("div");on.className="conversationContent";let xt=document.createElement("div");xt.className="conversationSummary",xt.textContent=Js(Ce.summary,{maxLength:64,maxUrlLength:36})||"Task";let an=document.createElement("div");an.className="conversationMeta";let xr=Ce.status==="running"?"Running":Ce.status==="paused"?"Paused":Ce.status==="completed"?"Done":Ce.status;an.textContent=`${xr} \xB7 ${Vo(Ce.updatedAt)}`,on.appendChild(xt),on.appendChild(an);let Pu=document.createElement("div");Pu.className="conversationActions";let Ss=document.createElement("button");Ss.type="button",Ss.className="conversationDeleteBtn",Ss.textContent="\xD7",Ss.addEventListener("click",L0=>{L0.stopPropagation(),e.onDeleteConversation?.(Ce.id)}),Pu.appendChild(Ss),Ke.appendChild(gt),Ke.appendChild(on),Ke.appendChild(Pu),Ke.addEventListener("click",()=>{te=!1,F.conversationDrawer.classList.remove("open"),e.onSwitchConversation?.(Ce.id)}),F.conversationList.appendChild(Ke)}}function C0(L){F.conversationList.querySelectorAll(".conversationItem").forEach(W=>{W.dataset.id===L?W.classList.add("active"):W.classList.remove("active")})}function M0(L){Mt=L.taskId;let W=Js(L.rootUserInput,{maxLength:56,maxUrlLength:32})||"Task";F.pausedTaskBanner.innerHTML="";let Ie=document.createElement("span");Ie.className="pausedTaskText",Ie.textContent=`Paused: "${W}"`;let Ce=document.createElement("div");Ce.className="pausedTaskActions";let Ke=document.createElement("button");Ke.type="button",Ke.className="pausedTaskResumeBtn",Ke.textContent="Resume",Ke.addEventListener("click",()=>e.onResumeTask?.(Mt));let gt=document.createElement("button");gt.type="button",gt.className="pausedTaskCancelBtn",gt.textContent="Cancel",gt.addEventListener("click",()=>e.onCancelPausedTask?.(Mt)),Ce.appendChild(Ke),Ce.appendChild(gt),F.pausedTaskBanner.appendChild(Ie),F.pausedTaskBanner.appendChild(Ce),F.pausedTaskBanner.classList.add("visible")}function N0(){Mt="",F.pausedTaskBanner.classList.remove("visible")}if(e.greeting?.text&&e.greeting.disabled!==!0){let L=e.greeting.delay??800;_e=setTimeout(()=>{_e=null,F.panel.classList.contains("open")||(Dh(e.greeting.text),e.greeting.duration!=null&&e.greeting.duration>0&&(Je=setTimeout(()=>{Je=null,Ph()},e.greeting.duration)))},L)}return{addMessage:v0,setTranscript:(L,W)=>{Le.setTranscript(L,W.map(ws)),Cr=L.length>0||W.length>0;let Ie=[...L].reverse().find(Ce=>Ce.role==="user");$=Ie?Fe(Ie.text):"",rn(),Ye.syncVisibility(Cr,je,!!$e?.questions?.length)},setQuestionPrompt:Nh,clearMessages:k0,addTimelineEvent:L=>{let W=ws(L);Le.addTimelineEvent(W),Nr.addTimelineEvent(W),En(W.detailBlocks);let Ie=!0;if(W.kind==="thought"&&je&&ue&&(ue=!1,Ot()),(W.title||"").toLowerCase()==="run completed"){Le.setTraceExpanded(!1,i.stream?.maxVisibleLiveCards);try{mn.clearAll()}catch{}ke(),Ie=!1}let Ce=W.status||(W.kind==="error"?"error":W.kind==="tool_result"?"success":"pending");if(Ce==="error"?u.setMood("error",2200):Ce==="success"?u.setMood("success",1200):u.setMood("running",800),f.dataset.mood=u.getMood(),i.motion?.palimpsest!==!1&&F.backdrop.classList.toggle("palimpsest",je&&u.getMood()==="running"),rn(),W.kind==="tool_start"){Me++,De();let gt=!0;try{gt=nc(W,e.getLocalLogicalTabId?.())}catch{gt=!1}if(gt&&i.motion?.actionSpotlight!==!1)try{mn.addEvent(W)}catch{}if(Oe(W),Ie=!1,gt&&W.elementId!=null&&i.motion?.filaments!==!1)try{sn.addTarget(W.elementId,W.toolName);let on=e.resolveElement?.(W.elementId);if(on){let xt=on.getBoundingClientRect();_o()||xs(xt.left+xt.width/2,xt.top+xt.height/2),f.style.setProperty("--rv-palimpsest-x",`${xt.left+xt.width/2}px`),f.style.setProperty("--rv-palimpsest-y",`${xt.top+xt.height/2}px`)}else{let xt=F.panel.getBoundingClientRect();_o()||xs(xt.left,xt.top+xt.height/2)}}catch{}}if(W.kind==="tool_result"){br++,De();let gt=!0;try{gt=nc(W,e.getLocalLogicalTabId?.())}catch{gt=!1}if(gt)try{mn.fadeEvent(W)}catch{}if(gt&&W.elementId!=null)try{sn.fadeTarget(W.elementId)}catch{}}Ie&&Oe(W);let Ke=Le.traceOrder.length;Bt.textContent=String(Ke),Nt()},clearTimeline:()=>{ke(),Le.clearTimeline(),Nr.clear(),V=null,y=!1,jn(),rn(),Me=0,br=0,De(),sn.clearAll();try{mn.clearAll()}catch{}Bt.textContent="0"},setTaskSuggestion:ia,setStatus:x0,setRunning:w0,setExecutionMode:Lh,setShortcuts:L=>{Ye.render(L,Pt),Ye.syncVisibility(Cr,je,!!$e?.questions?.length),St.setItems(L)},showGreeting:Dh,dismissGreeting:Ph,setVisitorName:S0,setVoiceConfig:Oh,setPlaceholders:L=>{st.setPlaceholders(L)},setExperience:T0,open:Du,close:oa,minimize:ra,maximize:hi,show:_0,hide:E0,destroy:I0,setState:L=>{L==="window"?Du():L==="bar"?ra():oa()},getState:()=>u.getState(),setTabs:A0,setConversations:R0,setActiveConversationId:C0,getScrollPosition:()=>Le.getScrollPosition(),setScrollPosition:L=>Le.setScrollPosition(L),showPausedTaskBanner:M0,hidePausedTaskBanner:N0}}var Ov=3,rI="rover:shared:",oI="rover:channel:",fp=2*6e4,Dv=9e4,pp=45e3,mp=2e4,iI=45e3;function Se(){return Date.now()}function no(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function pd(e){let t=String(e||"").trim();if(!t)return"";try{return new URL(t,window.location.href).toString()}catch{return t}}function Bv(e){if(!e||typeof e!="object")return;let t=typeof e.taskId=="string"?e.taskId.trim():"";if(!t)return;let n=e.status==="completed"||e.status==="cancelled"||e.status==="failed"||e.status==="ended"||e.status==="running"?e.status:"running";return{taskId:t,status:n,startedAt:Number(e.startedAt)||Se(),lastUserAt:Number(e.lastUserAt)||void 0,lastAssistantAt:Number(e.lastAssistantAt)||void 0,boundaryReason:typeof e.boundaryReason=="string"?e.boundaryReason:void 0,endedAt:Number(e.endedAt)||void 0}}function Uv(e){return e==="completed"?"completed":e==="cancelled"||e==="ended"?"cancelled":e==="failed"?"failed":"running"}function hd(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-4)){let r=n?.role==="user"?"user":n?.role==="model"?"model":void 0;if(!r)continue;let o=String(n?.message||"").replace(/\s+/g," ").trim();if(!o)continue;let i=t[t.length-1];i&&i.role===r&&i.message===o||t.push({role:r,message:o})}return t}function rc(e,t){if(!e)return;let n=typeof e=="string"?e:e?.text,r=String(n||"").trim();if(!r)return;let o=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():typeof t?.runId=="string"&&t.runId.trim()?t.runId.trim():void 0,i=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():typeof t?.taskId=="string"&&t.taskId.trim()?t.taskId.trim():void 0;return{text:r,ts:Number(e?.ts)||Se(),runId:o,taskId:i,stage:typeof e?.stage=="string"&&e.stage.trim()?e.stage.trim():void 0}}function Fv(e){return Array.isArray(e)?e.slice(-Wt.uiMessages).map(t=>({id:String(t?.id||no("msg")),role:t?.role==="user"||t?.role==="assistant"||t?.role==="system"?t.role:"system",text:String(t?.text||""),blocks:Ra(t?.blocks),ts:Number(t?.ts)||Se(),sourceRuntimeId:typeof t?.sourceRuntimeId=="string"?t.sourceRuntimeId:void 0})).filter(t=>!!t.text||!!t.blocks?.length):[]}var aI=new Set(["click","type","select","clear","focus","hover","press","scroll","drag","navigate","read","wait","unknown"]);function sI(e){if(!Array.isArray(e))return;let t=new Set,n=[];for(let r of e){let o=Math.trunc(Number(r));!Number.isFinite(o)||o<=0||t.has(o)||(t.add(o),n.push(o))}return n.length?n:void 0}function gp(e){if(!e||typeof e!="object")return;let t=e,n=String(t.kind||"").trim();if(!aI.has(n))return;let r=Math.trunc(Number(t.primaryElementId)),o=Math.trunc(Number(t.logicalTabId)),i=sI(t.elementIds),a=typeof t.toolCallId=="string"&&t.toolCallId.trim()?t.toolCallId.trim().slice(0,128):void 0,s=typeof t.targetLabel=="string"&&t.targetLabel.trim()?t.targetLabel.trim().slice(0,64):void 0;return{kind:n,toolCallId:a,primaryElementId:Number.isFinite(r)&&r>0?r:void 0,elementIds:i,logicalTabId:Number.isFinite(o)&&o>0?o:void 0,valueRedacted:typeof t.valueRedacted=="boolean"?t.valueRedacted:void 0,targetLabel:s}}function zv(e){return Array.isArray(e)?e.slice(-Wt.timelineEvents).map(t=>({id:String(t?.id||no("timeline")),kind:String(t?.kind||"status"),title:String(t?.title||"Step"),detail:typeof t?.detail=="string"?t.detail:void 0,detailBlocks:Ra(t?.detailBlocks),status:t?.status==="pending"||t?.status==="success"||t?.status==="error"||t?.status==="info"?t.status:void 0,ts:Number(t?.ts)||Se(),sourceRuntimeId:typeof t?.sourceRuntimeId=="string"?t.sourceRuntimeId:void 0,elementId:Number.isFinite(Number(t?.elementId))?Math.trunc(Number(t.elementId)):void 0,toolName:typeof t?.toolName=="string"?t.toolName.slice(0,120):void 0,narration:typeof t?.narration=="string"&&t.narration.replace(/\s+/g," ").trim().slice(0,220)||void 0,narrationActive:typeof t?.narrationActive=="boolean"?t.narrationActive:void 0,responseKind:t?.responseKind==="checkpoint"||t?.responseKind==="final"||t?.responseKind==="question"||t?.responseKind==="error"?t.responseKind:void 0,actionCue:gp(t?.actionCue)})).filter(t=>!!t.title):[]}var cI=new Set(["idle","running","awaiting_user","paused","blocked","completed","failed","cancelled"]);function lI(e){if(!e||typeof e!="object")return;let t=typeof e.taskId=="string"?e.taskId.trim():"";if(!t)return;let n=cI.has(e.state)?e.state:"running";return{taskId:t,state:n,startedAt:Number(e.startedAt)||Se(),endedAt:Number(e.endedAt)||void 0,activeRun:e.activeRun&&typeof e.activeRun=="object"&&e.activeRun.runId?{runId:String(e.activeRun.runId),text:String(e.activeRun.text||""),runtimeId:String(e.activeRun.runtimeId||""),startedAt:Number(e.activeRun.startedAt)||Se(),updatedAt:Number(e.activeRun.updatedAt)||Se()}:void 0,workerContext:gd(e.workerContext),uiMessages:Array.isArray(e.uiMessages)?e.uiMessages.slice(-Wt.uiMessages).map(r=>({id:String(r?.id||no("msg")),role:r?.role==="user"||r?.role==="assistant"||r?.role==="system"?r.role:"system",text:String(r?.text||""),blocks:Ra(r?.blocks),ts:Number(r?.ts)||Se(),sourceRuntimeId:typeof r?.sourceRuntimeId=="string"?r.sourceRuntimeId:void 0})).filter(r=>!!r.text||!!r.blocks?.length):[],timeline:Array.isArray(e.timeline)?e.timeline.slice(-Wt.timelineEvents).map(r=>({id:String(r?.id||no("timeline")),kind:String(r?.kind||"status"),title:String(r?.title||"Step"),detail:typeof r?.detail=="string"?r.detail:void 0,detailBlocks:Ra(r?.detailBlocks),status:r?.status==="pending"||r?.status==="success"||r?.status==="error"||r?.status==="info"?r.status:void 0,ts:Number(r?.ts)||Se(),sourceRuntimeId:typeof r?.sourceRuntimeId=="string"?r.sourceRuntimeId:void 0,elementId:Number.isFinite(Number(r?.elementId))?Math.trunc(Number(r.elementId)):void 0,toolName:typeof r?.toolName=="string"?r.toolName.slice(0,120):void 0,actionCue:gp(r?.actionCue)})).filter(r=>!!r.title):[],rootUserInput:typeof e.rootUserInput=="string"?e.rootUserInput:void 0,summary:typeof e.summary=="string"?e.summary:void 0,seedChatLog:hd(e.seedChatLog),transientStatus:rc(e.transientStatus,{runId:e.activeRun?.runId,taskId:t})}}function dI(e){if(!e||typeof e!="object")return;let t={},n=0;for(let r of Object.keys(e)){if(n>=20)break;let o=lI(e[r]);o&&(t[o.taskId]=o,n++)}return Object.keys(t).length>0?t:void 0}function Hv(e){if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;try{return structuredClone(e)}catch{try{return JSON.parse(JSON.stringify(e))}catch{return}}}function Ra(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!n||typeof n!="object")continue;let r=n.type;if(r==="text"){let o=String(n.text||"");if(!o)continue;t.push({type:"text",text:o});continue}if(r==="tool_output"||r==="json"){let o=Hv(n.data);t.push({type:r,data:o,label:typeof n.label=="string"?n.label:void 0,toolName:typeof n.toolName=="string"?n.toolName:void 0})}}return t.length?t:void 0}function Pv(e,t){if(!Array.isArray(e))return[];let n=e.length<=t?e:[e[0],...e.slice(-(t-1))],r=[];for(let o of n){let i=Hv(o);i!==void 0&&r.push(i)}return r}function gd(e){if(!e||typeof e!="object")return;let t=Array.isArray(e.pendingAskUser?.questions)?e.pendingAskUser.questions.map((l,d)=>{let m=String(l?.key||l?.id||"").trim()||`clarification_${d+1}`,f=String(l?.query||l?.question||"").trim();if(f)return{key:m,query:f,id:typeof l?.id=="string"?l.id:void 0,question:typeof l?.question=="string"?l.question:void 0,choices:Array.isArray(l?.choices)?l.choices:void 0}}).filter(l=>!!l).slice(0,6):[],n=e.pendingAskUser?.stepRef,r=n&&Number.isFinite(Number(n.stepIndex))&&Number(n.stepIndex)>=0&&Number.isFinite(Number(n.functionIndex))&&Number(n.functionIndex)>=0?{stepIndex:Number(n.stepIndex),functionIndex:Number(n.functionIndex),...typeof n.accTreeId=="string"&&n.accTreeId.trim()?{accTreeId:n.accTreeId.trim()}:{}}:void 0,o=l=>l.slice(-Wt.uiMessages).map(d=>({role:typeof d?.role=="string"?d.role:"assistant",content:typeof d?.content=="string"?d.content:""})).filter(d=>!!d.content),i=Array.isArray(e.history)?o(e.history):[],a=Pv(e.plannerHistory,Wt.plannerHistory),s=Pv(e.agentPrevSteps,Wt.prevSteps),c=typeof e.rootUserInput=="string"?e.rootUserInput.trim():"";return{trajectoryId:typeof e.trajectoryId=="string"?e.trajectoryId:void 0,taskBoundaryId:typeof e.taskBoundaryId=="string"&&e.taskBoundaryId.trim()?e.taskBoundaryId.trim():void 0,rootUserInput:c||void 0,seedChatLog:hd(e.seedChatLog),history:i,plannerHistory:a,agentPrevSteps:s,pendingAskUser:t.length?{questions:t,source:e.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e.pendingAskUser?.askedAt)||Se(),boundaryId:typeof e.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...r?{stepRef:r}:{}}:void 0,updatedAt:Number(e.updatedAt)||Se()}}function hp(e,t){return{version:Ov,siteId:e,sessionId:t,seq:1,updatedAt:Se(),lease:void 0,tabs:[],nextLogicalTabId:1,activeLogicalTabId:void 0,uiMessages:[],timeline:[],uiStatus:void 0,transientStatus:void 0,activeRun:void 0,taskEpoch:1,task:void 0,workerContext:void 0,workflowLock:void 0,tasks:void 0,activeTaskId:void 0}}function Ia(e,t,n){let r=hp(t,n);if(!e||typeof e!="object")return r;let o={...r,version:Ov,siteId:t,sessionId:n,seq:Math.max(1,Number(e.seq)||1),updatedAt:Number(e.updatedAt)||Se(),tabs:Array.isArray(e.tabs)?e.tabs.map(s=>({logicalTabId:Math.max(1,Number(s?.logicalTabId)||0),runtimeId:typeof s?.runtimeId=="string"?s.runtimeId:void 0,url:String(s?.url||""),title:typeof s?.title=="string"?s.title:void 0,openedAt:Number(s?.openedAt)||Se(),updatedAt:Number(s?.updatedAt)||Se(),external:!!s?.external,openerRuntimeId:typeof s?.openerRuntimeId=="string"?s.openerRuntimeId:void 0,detachedAt:Number(s?.detachedAt)||void 0,detachedReason:s?.detachedReason==="navigation_handoff"||s?.detachedReason==="tab_close"||s?.detachedReason==="opened_pending_attach"||s?.detachedReason==="unknown"?s.detachedReason:void 0,handoffId:typeof s?.handoffId=="string"?s.handoffId:void 0,handoffRunId:typeof s?.handoffRunId=="string"?s.handoffRunId:void 0,handoffTargetUrl:typeof s?.handoffTargetUrl=="string"?s.handoffTargetUrl:void 0,handoffCreatedAt:Number(s?.handoffCreatedAt)||void 0})).filter(s=>!!s.logicalTabId):[],nextLogicalTabId:Math.max(1,Number(e.nextLogicalTabId)||1),activeLogicalTabId:Number(e.activeLogicalTabId)||void 0,uiMessages:Fv(e.uiMessages),timeline:zv(e.timeline),taskEpoch:Math.max(1,Number(e.taskEpoch)||1),task:Bv(e.task),workerContext:gd(e.workerContext),uiStatus:typeof e.uiStatus=="string"?e.uiStatus:void 0,transientStatus:rc(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:e.task?.taskId}),activeRun:e.activeRun&&typeof e.activeRun=="object"?{runId:String(e.activeRun.runId||""),text:String(e.activeRun.text||""),runtimeId:String(e.activeRun.runtimeId||""),startedAt:Number(e.activeRun.startedAt)||Se(),updatedAt:Number(e.activeRun.updatedAt)||Se()}:void 0,lease:e.lease&&typeof e.lease=="object"&&e.lease.holderRuntimeId?{holderRuntimeId:String(e.lease.holderRuntimeId),expiresAt:Number(e.lease.expiresAt)||0,updatedAt:Number(e.lease.updatedAt)||Se()}:void 0,workflowLock:e.workflowLock&&typeof e.workflowLock=="object"&&e.workflowLock.runtimeId&&e.workflowLock.runId?{runtimeId:String(e.workflowLock.runtimeId),runId:String(e.workflowLock.runId),lockedAt:Number(e.workflowLock.lockedAt)||Se(),expiresAt:Number(e.workflowLock.expiresAt)||0}:void 0,tasks:e.tasks&&typeof e.tasks=="object"?dI(e.tasks):void 0,activeTaskId:typeof e.activeTaskId=="string"?e.activeTaskId:void 0},i=o.tabs.length,a=new Set;return o.tabs=o.tabs.filter(s=>a.has(s.logicalTabId)?!1:(a.add(s.logicalTabId),!0)),o.nextLogicalTabId<=(o.tabs.at(-1)?.logicalTabId??0)&&(o.nextLogicalTabId=o.tabs.reduce((s,c)=>Math.max(s,c.logicalTabId),0)+1),i>0&&o.tabs.length<i&&console.warn(`[rover] sanitizeSharedState: dropped ${i-o.tabs.length} invalid/duplicate tab entries`),er(o),o}function uI(e){let t=String(e.task?.taskId||e.activeTaskId||"").trim();if(!t)return;let n=Number(e.task?.startedAt)||Se();e.tasks||(e.tasks={});let r=e.tasks[t];if(r)return e.activeTaskId=t,r;let o={taskId:t,state:Uv(e.task?.status),startedAt:n,endedAt:e.task?.endedAt,activeRun:e.activeRun,workerContext:e.workerContext,uiMessages:[...e.uiMessages],timeline:[...e.timeline],rootUserInput:e.workerContext?.rootUserInput,summary:void 0,seedChatLog:hd(e.workerContext?.seedChatLog),transientStatus:rc(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:t})};return e.tasks[t]=o,e.activeTaskId=t,o}function er(e){let t=uI(e);if(!t)return;t.state=Uv(e.task?.status),t.startedAt=Number(e.task?.startedAt)||t.startedAt||Se(),t.endedAt=Number(e.task?.endedAt)||void 0,t.activeRun=e.activeRun,t.workerContext=gd(e.workerContext),t.uiMessages=Fv(e.uiMessages),t.timeline=zv(e.timeline),t.rootUserInput=e.workerContext?.rootUserInput||t.rootUserInput;let n=[...t.uiMessages].reverse().find(r=>r.role==="assistant");t.summary=n?.text||t.summary,t.seedChatLog=hd(e.workerContext?.seedChatLog),t.transientStatus=rc(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:t.taskId})}var Aa=class Aa{constructor(t){q(this,"siteId");q(this,"sessionId");q(this,"runtimeId");q(this,"leaseMs");q(this,"workflowLockMs");q(this,"heartbeatMs");q(this,"maxMessages");q(this,"maxTimeline");q(this,"onRoleChange");q(this,"onStateChange");q(this,"onSwitchRequested");q(this,"onTaskTabsExhausted");q(this,"key");q(this,"channelName");q(this,"state");q(this,"taskTabMapping",new Map);q(this,"channel",null);q(this,"heartbeatTimer",null);q(this,"storageHandler",null);q(this,"localLogicalTabId");q(this,"closing",!1);q(this,"started",!1);q(this,"heartbeatCount",0);q(this,"lastNotifiedStateHash","");q(this,"pendingRpcRequests",new Map);q(this,"rpcRequestHandler");q(this,"lastNotifiedRole");q(this,"roleChangeTimer",null);q(this,"probeTimers",[]);q(this,"onSessionTokenReceived");q(this,"onProjectionReceived");q(this,"lastFullHeartbeatAt",0);this.siteId=t.siteId,this.sessionId=t.sessionId,this.runtimeId=t.runtimeId,this.leaseMs=Math.max(4e3,Number(t.leaseMs)||12e3),this.workflowLockMs=Math.max(3e4,Number(t.workflowLockMs)||18e4),this.heartbeatMs=Math.max(800,Number(t.heartbeatMs)||2e3),this.maxMessages=Math.max(20,Number(t.maxMessages)||Wt.uiMessages),this.maxTimeline=Math.max(20,Number(t.maxTimeline)||Wt.timelineEvents),this.onRoleChange=t.onRoleChange,this.onStateChange=t.onStateChange,this.onSwitchRequested=t.onSwitchRequested,this.onTaskTabsExhausted=t.onTaskTabsExhausted,this.key=`${rI}${this.siteId}:${this.sessionId}`,this.channelName=`${oI}${this.siteId}:${this.sessionId}`,this.state=this.loadState(),this.normalizeDraftTabs(this.state)}tabFreshnessTs(t){return Math.max(Number(t.updatedAt)||0,Number(t.openedAt)||0,Number(t.detachedAt)||0)}isBetterTabCandidate(t,n){if(!n)return!0;let r=this.tabFreshnessTs(t),o=this.tabFreshnessTs(n);return r!==o?r>o:!!t.runtimeId!=!!n.runtimeId?!!t.runtimeId:t.logicalTabId<n.logicalTabId}isRuntimeTabFresh(t,n){return t.runtimeId?t.runtimeId===this.runtimeId?!0:n-this.tabFreshnessTs(t)<=iI:!1}isTabVisibleInScope(t,n,r){return t.runtimeId?this.isRuntimeTabFresh(t,n):t.external?n-this.tabFreshnessTs(t)<=fp:t.detachedReason==="opened_pending_attach"?n-this.tabFreshnessTs(t)<=mp:r==="context"?!1:t.detachedReason==="navigation_handoff"?n-this.tabFreshnessTs(t)<=pp:n-this.tabFreshnessTs(t)<=Dv}normalizeDraftTabs(t){let n=new Map;for(let u of t.tabs){if(!Number.isFinite(Number(u.logicalTabId))||Number(u.logicalTabId)<=0)continue;let h=n.get(u.logicalTabId);this.isBetterTabCandidate(u,h)&&n.set(u.logicalTabId,u)}let r=[],o=new Set;for(let u of t.tabs){if(o.has(u.logicalTabId))continue;let h=n.get(u.logicalTabId);h&&h===u&&(r.push(h),o.add(h.logicalTabId))}for(let[u,h]of n.entries())o.has(u)||(r.push(h),o.add(u));let i=new Map;for(let u of r){if(!u.runtimeId)continue;let h=i.get(u.runtimeId);this.isBetterTabCandidate(u,h)&&i.set(u.runtimeId,u)}if(t.tabs=r.filter(u=>!u.runtimeId||i.get(u.runtimeId)===u).sort((u,h)=>u.logicalTabId-h.logicalTabId),!t.tabs.length){t.activeLogicalTabId=void 0,t.nextLogicalTabId=1;return}let a=Se(),s=t.activeLogicalTabId?t.tabs.find(u=>u.logicalTabId===t.activeLogicalTabId):void 0,c=t.tabs.find(u=>u.runtimeId===this.runtimeId),d=[...t.tabs.filter(u=>this.isRuntimeTabFresh(u,a))].sort((u,h)=>this.tabFreshnessTs(h)-this.tabFreshnessTs(u))[0],m=s?.logicalTabId;s?(!s.runtimeId||!this.isRuntimeTabFresh(s,a))&&(m=c?.logicalTabId||d?.logicalTabId||s.logicalTabId):m=c?.logicalTabId||d?.logicalTabId||t.tabs[0]?.logicalTabId,t.activeLogicalTabId=m;let f=t.tabs.reduce((u,h)=>Math.max(u,h.logicalTabId),0);t.nextLogicalTabId=Math.max(Number(t.nextLogicalTabId)||1,f+1)}setTaskTabMapping(t){this.taskTabMapping=t}pruneDetachedTabs(t,n){let r=!!n?.dropRuntimeDetached,o=!!n?.dropAllDetachedExternal,i=!!n?.keepOnlyActiveLiveTab,a=!!n?.keepRecentExternalPlaceholders,s=Se(),c=new Map;if(this.onTaskTabsExhausted&&this.taskTabMapping.size>0)for(let l of t.tabs){let d=this.taskTabMapping.get(l.logicalTabId);if(d){let m=c.get(d);m||(m=new Set,c.set(d,m)),m.add(l.logicalTabId)}}if(t.tabs=t.tabs.filter(l=>{if(l.runtimeId)return this.isRuntimeTabFresh(l,s);if(r&&!l.external&&l.openerRuntimeId===this.runtimeId)return!1;if(l.external)return o?!1:s-this.tabFreshnessTs(l)<=fp;let d=s-this.tabFreshnessTs(l);return l.detachedReason==="navigation_handoff"?d<=pp:l.detachedReason==="opened_pending_attach"?d<=mp:d<=Dv}),i){this.normalizeDraftTabs(t);let l=t.tabs.filter(h=>this.isRuntimeTabFresh(h,s)),d=l.find(h=>h.logicalTabId===t.activeLogicalTabId),m=l.find(h=>h.runtimeId===this.runtimeId),f=[...l].sort((h,b)=>this.tabFreshnessTs(b)-this.tabFreshnessTs(h))[0],u=d?.logicalTabId||m?.logicalTabId||f?.logicalTabId;t.tabs=t.tabs.filter(h=>h.runtimeId?!!u&&h.logicalTabId===u:h.external?a&&s-this.tabFreshnessTs(h)<=fp:!1),t.activeLogicalTabId=u||t.tabs.find(h=>h.runtimeId)?.logicalTabId||t.tabs[0]?.logicalTabId}if(this.normalizeDraftTabs(t),this.onTaskTabsExhausted&&c.size>0){let l=new Set(t.tabs.map(d=>d.logicalTabId));for(let[d,m]of c){let f=!1;for(let u of m)if(l.has(u)){f=!0;break}f||this.onTaskTabsExhausted(d)}}}resetDraftToSingleCurrentTab(t,n,r){let o=Se(),i=pd(n),a=t.tabs.find(c=>c.runtimeId===this.runtimeId),s=Number(a?.openedAt)||o;t.tabs=[{logicalTabId:1,runtimeId:this.runtimeId,url:i||a?.url||"",title:r||a?.title,openedAt:s,updatedAt:o,external:!1,detachedAt:void 0,detachedReason:void 0}],t.activeLogicalTabId=1,t.nextLogicalTabId=2,t.lease={holderRuntimeId:this.runtimeId,expiresAt:o+this.leaseMs,updatedAt:o}}start(t){this.started||(this.started=!0,this.mutate("local",n=>{this.pruneDetachedTabs(n,{dropRuntimeDetached:!0})}),this.registerCurrentTab(window.location.href,document.title||void 0,t),this.claimLease(!1),typeof BroadcastChannel<"u"&&(this.channel=new BroadcastChannel(this.channelName),this.channel.onmessage=n=>{let r=n.data;if(!(!r||typeof r!="object")){if(r.type==="state"&&r.state){let o=Ia(r.state,this.siteId,this.sessionId);this.applyIncomingState(o)}r.type==="switch_request"&&r.targetRuntimeId===this.runtimeId&&this.onSwitchRequested?.(Number(r.logicalTabId)||0),r.type==="rpc_request"&&r.targetRuntimeId===this.runtimeId&&this.handleInboundRpcRequest(r),r.type==="rpc_response"&&r.targetRuntimeId===this.runtimeId&&this.handleInboundRpcResponse(r),r.type==="tab_navigated"&&r.runtimeId&&r.runtimeId!==this.runtimeId&&this.handleRemoteNavigation(r),r.type==="tab_closing"&&r.runtimeId&&r.runtimeId!==this.runtimeId&&this.handleRemoteTabClosing(r),r.type==="session_token"&&r.runtimeId!==this.runtimeId&&this.onSessionTokenReceived?.(r.token,r.expiresAt),r.type==="projection"&&r.runtimeId!==this.runtimeId&&this.onProjectionReceived?.(r.projection)}}),this.storageHandler=n=>{if(!(n.key!==this.key||!n.newValue))try{let r=Ia(JSON.parse(n.newValue),this.siteId,this.sessionId);this.applyIncomingState(r)}catch{}},window.addEventListener("storage",this.storageHandler),this.heartbeatTimer=window.setInterval(()=>{this.heartbeat()},this.heartbeatMs),typeof this.heartbeatTimer?.unref=="function"&&this.heartbeatTimer.unref(),this.notifyRoleChange(),this.onStateChange?.(this.state,"local"))}stop(){this.heartbeatCount=0,this.heartbeatTimer!=null&&(window.clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),this.roleChangeTimer!=null&&(window.clearTimeout(this.roleChangeTimer),this.roleChangeTimer=null),this.storageHandler&&(window.removeEventListener("storage",this.storageHandler),this.storageHandler=null),this.channel&&(this.channel.close(),this.channel=null);for(let[,t]of this.pendingRpcRequests)window.clearTimeout(t.timer),t.reject(new Error("SessionCoordinator stopped"));this.pendingRpcRequests.clear();for(let t of this.probeTimers)clearTimeout(t);this.probeTimers=[],this.started&&(this.started=!1,this.mutate("local",t=>{t.tabs=t.tabs.filter(n=>n.runtimeId!==this.runtimeId),t.lease?.holderRuntimeId===this.runtimeId&&(t.lease=void 0),t.activeLogicalTabId&&!t.tabs.some(n=>n.logicalTabId===t.activeLogicalTabId)&&(t.activeLogicalTabId=void 0)}))}isController(){let t=this.state.lease;return!t||t.expiresAt<=Se()?!1:t.holderRuntimeId===this.runtimeId}getRole(){return this.isController()?"controller":"observer"}getLocalLogicalTabId(){return this.localLogicalTabId}getActiveLogicalTabId(){return this.state.activeLogicalTabId}getCurrentHolderRuntimeId(){return this.state.lease?.holderRuntimeId}getState(){return this.state}getTaskEpoch(){return this.state.taskEpoch}getTask(){return this.state.task}getWorkerContext(){return this.state.workerContext}syncTask(t,n){this.mutate("local",r=>{n&&Number.isFinite(n)&&n>r.taskEpoch&&(r.taskEpoch=Math.max(1,Math.trunc(n))),t&&(r.task=Bv(t)||r.task,er(r))})}hydrateExternalState(t){let n=Ia(t,this.siteId,this.sessionId);this.pruneDetachedTabs(n,{dropRuntimeDetached:!0});let r=this.state.seq,o=this.state.updatedAt;this.applyIncomingState(n);let i=this.state.seq!==r||this.state.updatedAt!==o;if(!i&&this.state.tabs.some(s=>s.runtimeId?!1:s.external?!0:s.openerRuntimeId===this.runtimeId)){let s=this.state.tabs.length;this.mutate("local",c=>{this.pruneDetachedTabs(c,{dropRuntimeDetached:!0})}),i=this.state.tabs.length!==s}return i?(this.persistState(),this.localLogicalTabId||this.registerCurrentTab(window.location.href,document.title||void 0),!0):!1}listTabs(t){let n=t?.scope==="all"?"all":"context",r=Se();return this.state.tabs.filter(o=>this.isTabVisibleInScope(o,r,n))}pruneTabs(t){this.mutate("local",n=>{this.pruneDetachedTabs(n,t)})}resetTabsToCurrent(t,n){return this.mutate("local",r=>{this.resetDraftToSingleCurrentTab(r,t,n)}),this.notifyRoleChange(),this.localLogicalTabId||1}startNewTask(t){let n=Number(t.startedAt)||Se(),r={taskId:String(t.taskId||no("task")),status:t.status==="completed"||t.status==="cancelled"||t.status==="failed"||t.status==="ended"?t.status:"running",startedAt:n,lastUserAt:Number(t.lastUserAt)||n,lastAssistantAt:Number(t.lastAssistantAt)||void 0,boundaryReason:t.boundaryReason,endedAt:void 0};return this.mutate("local",o=>{o.taskEpoch=Math.max(1,Number(o.taskEpoch)||1)+1,o.task=r,o.uiMessages=[],o.timeline=[],o.uiStatus=void 0,o.transientStatus=void 0,o.activeRun=void 0,o.workerContext=void 0,this.resetDraftToSingleCurrentTab(o,window.location.href,document.title||void 0),er(o)}),r}endTask(t){let n;return this.mutate("local",r=>{r.task&&(r.task={...r.task,status:"ended",boundaryReason:t||r.task.boundaryReason,endedAt:Se()},r.activeRun=void 0,r.transientStatus=void 0,r.uiStatus=void 0,er(r),n=r.task)}),n}markTaskActivity(t,n=Se()){t!=="system"&&this.mutate("local",r=>{if(!r.task){r.task={taskId:no("task"),status:"running",startedAt:n,boundaryReason:"implicit",lastUserAt:t==="user"?n:void 0,lastAssistantAt:t==="assistant"?n:void 0};return}r.task.status==="running"&&(t==="user"&&(r.task.lastUserAt=n),t==="assistant"&&(r.task.lastAssistantAt=n),er(r))})}setWorkerContext(t){this.mutate("local",n=>{if(!t){n.workerContext=void 0,er(n);return}n.workerContext=gd(t),er(n)})}setStatus(t){this.mutate("local",n=>{let r=rc(t,{runId:n.activeRun?.runId,taskId:n.task?.taskId});n.uiStatus=r?.text,n.transientStatus=r,er(n)})}appendMessage(t){let n={id:t.id||no("msg"),role:t.role,text:String(t.text||""),blocks:Ra(t.blocks),ts:Number(t.ts)||Se(),sourceRuntimeId:this.runtimeId};return this.mutate("local",r=>{r.uiMessages.push(n),r.uiMessages.length>this.maxMessages&&(r.uiMessages=r.uiMessages.slice(-this.maxMessages)),r.task||(r.task={taskId:no("task"),status:"running",startedAt:n.ts,boundaryReason:"implicit"}),n.role==="user"?r.task.lastUserAt=n.ts:n.role==="assistant"&&(r.task.lastAssistantAt=n.ts),er(r)}),n}appendTimeline(t){let n={id:t.id||no("timeline"),kind:String(t.kind||"status"),title:String(t.title||"Step"),detail:t.detail?String(t.detail):void 0,detailBlocks:Ra(t.detailBlocks),status:t.status,ts:Number(t.ts)||Se(),sourceRuntimeId:this.runtimeId,elementId:Number.isFinite(Number(t.elementId))?Math.trunc(Number(t.elementId)):void 0,toolName:typeof t.toolName=="string"?t.toolName.slice(0,120):void 0,narration:typeof t.narration=="string"&&t.narration.replace(/\s+/g," ").trim().slice(0,220)||void 0,narrationActive:typeof t.narrationActive=="boolean"?t.narrationActive:void 0,responseKind:t.responseKind==="checkpoint"||t.responseKind==="final"||t.responseKind==="question"||t.responseKind==="error"?t.responseKind:void 0,actionCue:gp(t.actionCue)};return this.mutate("local",r=>{r.timeline.push(n),r.timeline.length>this.maxTimeline&&(r.timeline=r.timeline.slice(-this.maxTimeline)),er(r)}),n}clearTimeline(){this.mutate("local",t=>{t.timeline=[],er(t)})}setActiveRun(t){this.mutate("local",n=>{if(!t){n.activeRun=void 0,n.transientStatus=void 0,n.uiStatus=void 0,er(n);return}if(n.task&&n.task.status!=="running"){n.activeRun=void 0,er(n);return}n.activeRun={runId:t.runId,text:t.text,runtimeId:this.runtimeId,startedAt:n.activeRun?.runId===t.runId?n.activeRun.startedAt:Se(),updatedAt:Se()},er(n)})}requestControl(){return this.claimLease(!0)}registerCurrentTab(t,n,r){let o=pd(t),i=typeof r?.handoffId=="string"?r.handoffId.trim():"",a=Number(r?.sourceLogicalTabId),s;return this.mutate("local",c=>{let l=Se(),m=!!(c.lease&&c.lease.expiresAt>l)?c.lease?.holderRuntimeId:void 0,f=c.workflowLock&&c.workflowLock.runtimeId&&c.workflowLock.runtimeId!==this.runtimeId&&c.workflowLock.expiresAt>l?c.workflowLock:void 0,u=f?c.tabs.find(S=>S.runtimeId===f.runtimeId&&S.updatedAt>l-2*this.heartbeatMs):void 0,h=!u&&(!m||m===this.runtimeId),b=c.tabs.find(S=>S.runtimeId===this.runtimeId);if(b)b.url=o||b.url,b.title=n||b.title,b.updatedAt=l,b.detachedAt=void 0,b.detachedReason=void 0,b.handoffId=void 0,b.handoffRunId=void 0,b.handoffTargetUrl=void 0,b.handoffCreatedAt=void 0,s=b.logicalTabId;else{let S;if(i&&(S=c.tabs.find(k=>{if(k.runtimeId||String(k.handoffId||"").trim()!==i||Number.isFinite(a)&&a>0&&k.logicalTabId!==a)return!1;let x=l-Number(k.handoffCreatedAt||k.updatedAt||k.openedAt||0);return x>=0&&x<=3e4})),S||(S=c.tabs.find(k=>!k.runtimeId&&!k.external&&k.url===o&&l-k.openedAt<18e4)),S)S.runtimeId=this.runtimeId,S.url=o||S.url,S.title=n||S.title,S.updatedAt=l,S.detachedAt=void 0,S.detachedReason=void 0,S.handoffId=void 0,S.handoffRunId=void 0,S.handoffTargetUrl=void 0,S.handoffCreatedAt=void 0,s=S.logicalTabId;else{let k=c.nextLogicalTabId++;c.tabs.push({logicalTabId:k,runtimeId:this.runtimeId,url:o,title:n,openedAt:l,updatedAt:l,external:!1,detachedAt:void 0,detachedReason:void 0}),s=k}}s&&(c.tabs=c.tabs.filter(S=>{if(S.logicalTabId===s||S.runtimeId||S.external)return!0;if(i&&String(S.handoffId||"").trim()===i)return!1;let k=l-this.tabFreshnessTs(S);return!(!String(S.url||"").trim()&&k>mp||o&&S.url===o&&k<=pp)}));let v=c.activeLogicalTabId?c.tabs.find(S=>S.logicalTabId===c.activeLogicalTabId):void 0;u?c.activeLogicalTabId=u.logicalTabId:(!v||!v.runtimeId||v.logicalTabId===s||h)&&(c.activeLogicalTabId=s)}),this.notifyRoleChange(),this.localLogicalTabId||s||1}registerOpenedTab(t){let n=pd(t.url),r=0;return this.mutate("local",o=>{let i=Se(),a=o.tabs.find(s=>!s.runtimeId&&!!s.external==!!t.external&&s.url===n);if(a){a.title=t.title||a.title,a.updatedAt=i,a.openerRuntimeId=t.openerRuntimeId||a.openerRuntimeId,a.detachedAt=a.detachedAt||i,a.detachedReason="opened_pending_attach",r=a.logicalTabId;return}r=o.nextLogicalTabId++,o.tabs.push({logicalTabId:r,runtimeId:void 0,url:n,title:t.title,openedAt:i,updatedAt:i,external:!!t.external,openerRuntimeId:t.openerRuntimeId,detachedAt:i,detachedReason:"opened_pending_attach"})}),t.external&&this.probeRoverAvailability(r),{logicalTabId:r}}probeRoverAvailability(t){let r=setTimeout(()=>{let o=this.state.tabs.find(i=>i.logicalTabId===t);o&&!o.runtimeId&&this.mutate("local",i=>{let a=i.tabs.find(s=>s.logicalTabId===t);a&&(a.roverAvailability="not_available")})},5e3);typeof r?.unref=="function"&&r.unref(),this.probeTimers.push(r)}switchToLogicalTab(t){let n={ok:!1,reason:"Unknown tab"};return this.mutate("local",r=>{let o=r.tabs.find(i=>i.logicalTabId===t);if(!o){n={ok:!1,reason:`Tab ${t} not found`};return}if(r.activeLogicalTabId=t,o.runtimeId&&o.runtimeId!==this.runtimeId){r.lease={holderRuntimeId:o.runtimeId,expiresAt:Se()+this.leaseMs,updatedAt:Se()},this.channel&&this.channel.postMessage({type:"switch_request",logicalTabId:t,targetRuntimeId:o.runtimeId,sourceRuntimeId:this.runtimeId}),n={ok:!0,delegated:!0};return}if(!o.runtimeId){n={ok:!1,reason:`Tab ${t} is not attached to an active Rover runtime yet`};return}r.lease={holderRuntimeId:this.runtimeId,expiresAt:Se()+this.leaseMs,updatedAt:Se()},n={ok:!0,delegated:!1}}),this.notifyRoleChange(),n}sendCrossTabRpc(t,n,r,o=15e3){return new Promise((i,a)=>{if(!this.channel){a(new Error("BroadcastChannel not available"));return}let s=no("rpc"),c=window.setTimeout(()=>{this.pendingRpcRequests.delete(s),a(new Error(`Cross-tab RPC timed out after ${o}ms (method=${n}, target=${t})`))},o);typeof c?.unref=="function"&&c.unref(),this.pendingRpcRequests.set(s,{resolve:i,reject:a,timer:c}),this.channel.postMessage({type:"rpc_request",requestId:s,sourceRuntimeId:this.runtimeId,targetRuntimeId:t,method:n,params:r,timeoutMs:o,createdAt:Se()})})}setRpcRequestHandler(t){this.rpcRequestHandler=t}broadcastNavigation(t,n){this.channel&&this.channel.postMessage({type:"tab_navigated",runtimeId:this.runtimeId,logicalTabId:this.localLogicalTabId,url:t,title:n})}broadcastClosing(t){this.closing=!0,this.mutate("local",n=>{let r=Se(),o=n.tabs.find(i=>i.runtimeId===this.runtimeId);o&&(o.runtimeId=void 0,o.updatedAt=r,o.detachedAt=r,o.detachedReason=t?"navigation_handoff":"tab_close",o.handoffId=typeof t?.handoffId=="string"?t.handoffId:void 0,o.handoffRunId=typeof t?.runId=="string"?t.runId:void 0,o.handoffTargetUrl=typeof t?.targetUrl=="string"?t.targetUrl:void 0,o.handoffCreatedAt=Number(t?.ts)||r),n.lease?.holderRuntimeId===this.runtimeId&&(n.lease=void 0)}),this.channel&&this.channel.postMessage({type:"tab_closing",runtimeId:this.runtimeId,logicalTabId:this.localLogicalTabId,handoff:t})}isTabAlive(t){let n=this.state.tabs.find(r=>r.logicalTabId===t);return n?n.updatedAt>Se()-2*this.heartbeatMs:!1}broadcastSessionToken(t,n){this.channel&&this.channel.postMessage({type:"session_token",runtimeId:this.runtimeId,token:t,expiresAt:n})}broadcastProjection(t){this.channel&&this.channel.postMessage({type:"projection",runtimeId:this.runtimeId,projection:t})}acquireWorkflowLock(t,n){let r=!1;return this.mutate("local",o=>{let i=o.workflowLock;if(!n?.force&&i&&i.runtimeId!==this.runtimeId&&i.expiresAt>Se()){let a=o.tabs.find(c=>c.runtimeId===i.runtimeId);if(a&&a.updatedAt>Se()-2*this.heartbeatMs){r=!1;return}}o.workflowLock={runtimeId:this.runtimeId,runId:t,lockedAt:Se(),expiresAt:Se()+this.workflowLockMs},r=!0}),r}releaseWorkflowLock(t){this.mutate("local",n=>{n.workflowLock&&n.workflowLock.runId===t&&(n.workflowLock=void 0)})}isWorkflowLocked(){let t=this.state.workflowLock;return!t||t.runtimeId===this.runtimeId?!1:t.expiresAt>Se()}getWorkflowLockInfo(){let t=this.state.workflowLock;return!t||t.expiresAt<=Se()?{locked:!1}:{locked:!0,holderRuntimeId:t.runtimeId,runId:t.runId}}async handleInboundRpcRequest(t){let{requestId:n,sourceRuntimeId:r,method:o,params:i}=t;if(!this.rpcRequestHandler){this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!1,error:{message:"No RPC handler registered",code:"NO_HANDLER"}});return}try{let a=await this.rpcRequestHandler({method:o,params:i});this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!0,result:a})}catch(a){this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!1,error:{message:a?.message||String(a)}})}}handleInboundRpcResponse(t){let{requestId:n,ok:r,result:o,error:i}=t,a=this.pendingRpcRequests.get(n);a&&(this.pendingRpcRequests.delete(n),window.clearTimeout(a.timer),r?a.resolve(o):a.reject(new Error(i?.message||"Cross-tab RPC failed")))}handleRemoteNavigation(t){let{runtimeId:n,url:r,title:o}=t;this.mutate("local",i=>{let a=i.tabs.find(s=>s.runtimeId===n);a&&(a.url=r||a.url,a.title=o||a.title,a.updatedAt=Se())})}handleRemoteTabClosing(t){let{runtimeId:n}=t,r=t?.handoff,o=typeof r?.handoffId=="string"&&r.handoffId.trim()?r.handoffId.trim():void 0,i=typeof r?.runId=="string"&&r.runId.trim()?r.runId.trim():void 0,a=typeof r?.targetUrl=="string"&&r.targetUrl.trim()?r.targetUrl.trim():void 0,s=Number(r?.ts)||Se();this.mutate("local",c=>{let l=Se(),d=c.tabs.find(m=>m.runtimeId===n);d&&(d.runtimeId=void 0,d.updatedAt=l,d.detachedAt=l,d.detachedReason=o?"navigation_handoff":"tab_close",d.handoffId=o,d.handoffRunId=i,d.handoffTargetUrl=a,d.handoffCreatedAt=s),c.lease?.holderRuntimeId===n&&(c.lease=void 0),c.workflowLock?.runtimeId===n&&(c.workflowLock=void 0),c.activeRun?.runtimeId===n&&(c.activeRun=void 0),c.activeLogicalTabId&&!c.tabs.some(m=>m.logicalTabId===c.activeLogicalTabId)&&(c.activeLogicalTabId=this.localLogicalTabId||c.tabs[0]?.logicalTabId)}),this.notifyRoleChange()}heartbeat(){if(this.closing)return;this.heartbeatCount++;let t=pd(window.location.href),n=document.title||void 0,r=Se(),o=this.state.lease,i=o&&o.holderRuntimeId===this.runtimeId&&o.expiresAt>r,a=r-this.lastFullHeartbeatAt<5e3,s=this.state.tabs.find(l=>l.runtimeId===this.runtimeId);if(i&&a&&s){s.url=t||s.url,s.title=n||s.title,s.updatedAt=r,s.detachedAt=void 0,s.detachedReason=void 0,this.state.updatedAt=r;return}this.lastFullHeartbeatAt=r;let c=this.heartbeatCount%Aa.LS_HEARTBEAT_DIVISOR!==0;this.mutate("local",l=>{let d=l.tabs.find(I=>I.runtimeId===this.runtimeId);if(d)d.url=t||d.url,d.title=n||d.title,d.updatedAt=Se(),d.detachedAt=void 0,d.detachedReason=void 0;else{let I=Se(),M=l.nextLogicalTabId++;l.tabs.push({logicalTabId:M,runtimeId:this.runtimeId,url:t,title:n,openedAt:I,updatedAt:I,external:!1,detachedAt:void 0,detachedReason:void 0})}let m=l.lease,f=!m||m.expiresAt<=Se(),u=m&&m.holderRuntimeId!==this.runtimeId&&m.expiresAt>Se()?m.holderRuntimeId:void 0,h=u?l.tabs.find(I=>I.runtimeId===u):void 0,b=!!(h&&h.updatedAt>Se()-2*this.heartbeatMs),v=l.workflowLock?.runtimeId,S=v?l.tabs.find(I=>I.runtimeId===v):void 0,k=!!(S&&S.runtimeId&&S.runtimeId!==this.runtimeId&&S.updatedAt>Se()-2*this.heartbeatMs);if(l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&(l.workflowLock.expiresAt<=Se()||!k)&&(l.workflowLock=void 0),l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&k&&S&&(l.activeLogicalTabId=S.logicalTabId),l.activeRun?.runtimeId&&l.activeRun.runtimeId!==this.runtimeId){let I=l.tabs.find(X=>X.runtimeId===l.activeRun?.runtimeId);I&&I.updatedAt>Se()-2*this.heartbeatMs||(l.activeRun=void 0)}let x=!!(l.activeRun?.runtimeId&&l.activeRun.runtimeId!==this.runtimeId),C=!!(l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&l.workflowLock.expiresAt>Se()),_=!!(u&&!b&&!x&&!C);(f||m?.holderRuntimeId===this.runtimeId||_)&&(l.lease={holderRuntimeId:this.runtimeId,expiresAt:Se()+this.leaseMs,updatedAt:Se()},!l.activeLogicalTabId&&this.localLogicalTabId&&(l.activeLogicalTabId=this.localLogicalTabId)),l.workflowLock?.runtimeId===this.runtimeId&&(l.workflowLock.expiresAt=Se()+this.workflowLockMs),this.pruneDetachedTabs(l)},{skipPersist:c}),this.notifyRoleChange()}reloadFromStorage(){let t=this.loadState();return this.normalizeDraftTabs(t),(t.seq>this.state.seq||t.seq===this.state.seq&&t.updatedAt>this.state.updatedAt)&&(this.state=t,this.syncLocalLogicalTabId(),this.onStateChange?.(this.state,"remote")),this.closing=!1,this.state}claimLease(t){let n=!1;return this.mutate("local",r=>{let o=r.lease,i=!o||o.expiresAt<=Se();(t||i||o?.holderRuntimeId===this.runtimeId)&&(r.lease={holderRuntimeId:this.runtimeId,expiresAt:Se()+this.leaseMs,updatedAt:Se()},!r.activeLogicalTabId&&this.localLogicalTabId&&(r.activeLogicalTabId=this.localLogicalTabId),n=!0)}),this.notifyRoleChange(),n}notifyRoleChange(){this.getRole()!==this.lastNotifiedRole&&(this.roleChangeTimer!=null&&window.clearTimeout(this.roleChangeTimer),this.roleChangeTimer=window.setTimeout(()=>{this.roleChangeTimer=null;let n=this.getRole();n!==this.lastNotifiedRole&&(this.lastNotifiedRole=n,this.onRoleChange?.(n,{localLogicalTabId:this.localLogicalTabId,activeLogicalTabId:this.state.activeLogicalTabId,holderRuntimeId:this.state.lease?.holderRuntimeId}))},Aa.ROLE_CHANGE_DEBOUNCE_MS),typeof this.roleChangeTimer?.unref=="function"&&this.roleChangeTimer.unref())}syncLocalLogicalTabId(){let t=this.state.tabs.find(n=>n.runtimeId===this.runtimeId);this.localLogicalTabId=t?.logicalTabId}mutate(t,n,r){if(t==="local")try{let a=window.localStorage.getItem(this.key);if(a){let s=Ia(JSON.parse(a),this.siteId,this.sessionId);(s.seq>this.state.seq||s.seq===this.state.seq&&s.updatedAt>this.state.updatedAt)&&(this.state=s)}}catch{}let o=Ia(this.state,this.siteId,this.sessionId);n(o),this.normalizeDraftTabs(o),o.seq=Math.max(1,Number(o.seq)||1)+(t==="local"?1:0),o.updatedAt=Se(),this.state=o,this.syncLocalLogicalTabId(),t==="local"&&(r?.skipPersist||this.persistState(),this.channel&&this.channel.postMessage({type:"state",sourceRuntimeId:this.runtimeId,state:this.state}));let i=this.computeStateHash(this.state);i!==this.lastNotifiedStateHash&&(this.lastNotifiedStateHash=i,this.onStateChange?.(this.state,t))}computeStateHash(t){let n=t.tabs;return`${n.length}:${n.map(r=>`${r.logicalTabId}|${r.runtimeId||""}|${r.url}|${r.title||""}|${!!r.detachedAt}`).join(";")}:${t.activeLogicalTabId??""}:${t.lease?.holderRuntimeId??""}:${t.activeRun?.runId??""}:${t.activeRun?.runtimeId??""}:${t.workflowLock?.runtimeId??""}:${t.taskEpoch??""}:${t.uiMessages?.length??0}:${t.timeline?.length??0}:${t.transientStatus?.text??t.uiStatus??""}`}applyIncomingState(t){t&&(t.seq<this.state.seq||t.seq===this.state.seq&&t.updatedAt<=this.state.updatedAt||(this.pruneDetachedTabs(t),this.normalizeDraftTabs(t),this.state=t,this.syncLocalLogicalTabId(),this.onStateChange?.(this.state,"remote"),this.notifyRoleChange()))}loadState(){try{let t=window.localStorage.getItem(this.key);if(!t)return hp(this.siteId,this.sessionId);let n=JSON.parse(t);return Ia(n,this.siteId,this.sessionId)}catch(t){return console.warn("[rover] Failed to load shared state from localStorage:",t),hp(this.siteId,this.sessionId)}}persistState(){try{window.localStorage.setItem(this.key,JSON.stringify(this.state))}catch{}}};q(Aa,"LS_HEARTBEAT_DIVISOR",5),q(Aa,"ROLE_CHANGE_DEBOUNCE_MS",200);var md=Aa;var jv="rover",bd="rover_shortcut";function $v(e,t){return String(e||"").trim().replace(/^[?#&]+/,"").slice(0,64)||t}function Vv(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function qv(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function oc(e){let t=$v(e?.promptParam,jv),n=$v(e?.shortcutParam,bd);return n===t&&(n=n===bd?`${bd}_id`:bd,n===t&&(t=jv)),{...typeof e?.enabled=="boolean"?{enabled:e.enabled}:{},promptParam:t,shortcutParam:n,consume:e?.consume!==!1}}function yd(e){let t=oc(e);return{enabled:t.enabled===!0,promptParam:t.promptParam,shortcutParam:t.shortcutParam,consume:t.consume}}function bp(e){return{enabled:e?.enabled===!0}}function Wv(e,t){let n=oc(e),r=typeof n.enabled=="boolean",o=bp(t);return{enabled:r?n.enabled===!0:o.enabled,promptParam:n.promptParam,shortcutParam:n.shortcutParam,consume:n.consume}}function Kv(e,t){let n=yd(t),r=Vv(e),o=qv(r.searchParams,n.shortcutParam);if(o)return{kind:"shortcut",paramName:n.shortcutParam,value:o,signature:`shortcut:${n.shortcutParam}:${o}`};let i=qv(r.searchParams,n.promptParam);return i?{kind:"prompt",paramName:n.promptParam,value:i,signature:`prompt:${n.promptParam}:${i}`}:null}function yp(e,t){let n=yd(t),r=Vv(e);r.searchParams.delete(n.promptParam),r.searchParams.delete(n.shortcutParam);let o=r.searchParams.toString();return`${r.pathname}${o?`?${o}`:""}${r.hash}`}var vp="rover_launch",Xv="rover_attach";function Yv(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function Gv(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function Jv(e){let t=Yv(e),n=Gv(t.searchParams,vp),r=Gv(t.searchParams,Xv);return!n||!r?null:{requestId:n,attachToken:r,signature:`${vp}:${n}:${r}`}}function Qv(e){let t=Yv(e);t.searchParams.delete(vp),t.searchParams.delete(Xv);let n=t.searchParams.toString();return`${t.pathname}${n?`?${n}`:""}${t.hash}`}function ic(e){return e==="cross_host_navigation"||e==="agent_navigation"||e==="handoff"||e==="page_reload"||e==="worker_interrupted"?e:void 0}function kp(e){return ic(e)!==void 0}var xp="rover_receipt",wp="rover_anchor";function Zv(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function Sp(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function ek(e){return new URLSearchParams(String(e.hash||"").replace(/^#\??/,""))}function Tp(e){let t=Zv(e),n=ek(t),r=Sp(n,xp);if(!r)return null;let o=Sp(n,wp)||void 0;return{receipt:r,anchor:o,signature:`${xp}:${r}`}}function tk(e){let t=Zv(e),n=ek(t),r=Sp(n,wp);n.delete(xp),n.delete(wp);let o=n.toString(),i=t.searchParams.toString(),a=r?`#${r}${o?`&${o}`:""}`:o?`#${o}`:"";return`${t.pathname}${i?`?${i}`:""}${a}`}var fI="https://rover.rtrvr.ai/embed.js",pI="https://agent.rtrvr.ai";function zt(e){return String(e||"").trim()}function Dt(e){return String(e||"").replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function mI(e){return e.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function Ci(e){let t=zt(e).toLowerCase();if(t){if(["1","true","yes","on"].includes(t))return!0;if(["0","false","no","off"].includes(t))return!1}}function hI(e){let t=zt(e).split(",").map(n=>n.trim()).filter(Boolean);if(t.length)return Array.from(new Set(t))}function gI(e){let t=Number(zt(e));return Number.isFinite(t)?Math.trunc(t):void 0}function rk(e){let t=zt(e);if(!t)return;let n=t.match(/^#?([0-9a-fA-F]{6})$/);return n?`#${n[1].toUpperCase()}`:void 0}function ok(e){if(!e||typeof e!="object")return;let t={};typeof e.enabled=="boolean"&&(t.enabled=e.enabled);let n=zt(e.language).replace(/[^a-zA-Z0-9-]/g,"").slice(0,48);n&&(t.language=n);let r=Number(e.autoStopMs);return Number.isFinite(r)&&(t.autoStopMs=Math.max(800,Math.min(5e3,Math.trunc(r)))),Object.keys(t).length?t:void 0}function ik(e){if(!e||typeof e!="object")return;let t={};if(e.audio&&typeof e.audio=="object"){let n=e.audio.narration&&typeof e.audio.narration=="object"?e.audio.narration:void 0;if(n){let r={};typeof n.enabled=="boolean"&&(r.enabled=n.enabled),(n.defaultMode==="guided"||n.defaultMode==="always"||n.defaultMode==="off")&&(r.defaultMode=n.defaultMode);let o=Number(n.rate);Number.isFinite(o)&&(r.rate=Math.max(.85,Math.min(1.15,o)));let i=zt(n.language).replace(/[^a-zA-Z0-9-]/g,"").slice(0,24);i&&(r.language=i),(n.voicePreference==="auto"||n.voicePreference==="system"||n.voicePreference==="natural")&&(r.voicePreference=n.voicePreference),Object.keys(r).length&&(t.audio={narration:r})}}if(e.motion&&typeof e.motion=="object"){let n={};typeof e.motion.actionSpotlight=="boolean"&&(n.actionSpotlight=e.motion.actionSpotlight);let r=rk(e.motion.actionSpotlightColor);r&&(n.actionSpotlightColor=r),Object.keys(n).length&&(t.motion=n)}return Object.keys(t).length?t:void 0}function bI(e){if(!e||typeof e!="object")return;let t={},n=ok(e.voice);n&&(t.voice=n);let r=ik(e.experience);return r&&(t.experience=r),Object.keys(t).length?t:void 0}function _p(e){let t={...e,scriptUrl:zt(e.scriptUrl)||fI},n=bI(e.ui);return n?t.ui=n:delete t.ui,t}function nk(e){let t=_p(e),n={siteId:t.siteId};return t.publicKey&&(n.publicKey=t.publicKey),t.sessionToken&&(n.sessionToken=t.sessionToken),t.sessionId&&(n.sessionId=t.sessionId),t.siteKeyId&&(n.siteKeyId=t.siteKeyId),t.apiBase&&(n.apiBase=t.apiBase),t.workerUrl&&(n.workerUrl=t.workerUrl),t.allowedDomains?.length&&(n.allowedDomains=t.allowedDomains),t.domainScopeMode&&(n.domainScopeMode=t.domainScopeMode),typeof t.cloudSandboxEnabled=="boolean"&&(n.cloudSandboxEnabled=t.cloudSandboxEnabled),t.sessionScope&&(n.sessionScope=t.sessionScope),typeof t.openOnInit=="boolean"&&(n.openOnInit=t.openOnInit),t.mode&&(n.mode=t.mode),typeof t.allowActions=="boolean"&&(n.allowActions=t.allowActions),typeof t.pageConfig?.disableAutoScroll=="boolean"&&(n.pageConfig={disableAutoScroll:t.pageConfig.disableAutoScroll}),t.ui&&(n.ui=t.ui),n}function yI(){return["(function(){"," var r = window.rover = window.rover || function(){"," (r.q = r.q || []).push(arguments);"," };"," r.l = +new Date();","})();"].join(`
|
|
4369
|
-
`)}function
|
|
4370
|
-
`)}function
|
|
4371
|
-
`)}function Ep(e){let t=zt(e.getAttribute("data-site-id")),n=zt(e.getAttribute("data-public-key")),r=zt(e.getAttribute("data-session-token"));if(!t||!n&&!r)return null;let o={siteId:t};n&&(o.publicKey=n),r&&(o.sessionToken=r);let i=zt(e.getAttribute("data-session-id"));i&&(o.sessionId=i);let a=zt(e.getAttribute("data-site-key-id"));a&&(o.siteKeyId=a);let s=zt(e.getAttribute("data-api-base"));s&&(o.apiBase=s);let c=zt(e.getAttribute("data-worker-url"));c&&(o.workerUrl=c);let l=hI(e.getAttribute("data-allowed-domains"));l&&(o.allowedDomains=l);let d=zt(e.getAttribute("data-domain-scope-mode"));(d==="host_only"||d==="registrable_domain")&&(o.domainScopeMode=d);let m=Ci(e.getAttribute("data-cloud-sandbox-enabled"));typeof m=="boolean"&&(o.cloudSandboxEnabled=m);let f=zt(e.getAttribute("data-session-scope"));(f==="shared_site"||f==="tab")&&(o.sessionScope=f);let u=Ci(e.getAttribute("data-open-on-init"));typeof u=="boolean"&&(o.openOnInit=u);let h=zt(e.getAttribute("data-mode"));(h==="safe"||h==="full")&&(o.mode=h);let b=Ci(e.getAttribute("data-allow-actions"));typeof b=="boolean"&&(o.allowActions=b);let v=Ci(e.getAttribute("data-disable-auto-scroll"));typeof v=="boolean"&&(o.pageConfig={disableAutoScroll:v});let S=Ci(e.getAttribute("data-voice-enabled")),k=zt(e.getAttribute("data-voice-language")),x=gI(e.getAttribute("data-voice-auto-stop-ms")),C=Ci(e.getAttribute("data-narration-enabled")),_=zt(e.getAttribute("data-narration-default-mode")),I=Number(zt(e.getAttribute("data-narration-rate"))),M=zt(e.getAttribute("data-narration-language")),X=zt(e.getAttribute("data-narration-voice-preference")),O=Ci(e.getAttribute("data-action-spotlight")),J=rk(e.getAttribute("data-action-spotlight-color")),ee=ok({...typeof S=="boolean"?{enabled:S}:{},...k?{language:k}:{},...typeof x=="number"?{autoStopMs:x}:{}}),se=ik({...typeof C=="boolean"||_||Number.isFinite(I)||M||X?{audio:{narration:{...typeof C=="boolean"?{enabled:C}:{},..._==="guided"||_==="always"||_==="off"?{defaultMode:_}:{},...Number.isFinite(I)?{rate:I}:{},...M?{language:M}:{},...X==="auto"||X==="system"||X==="natural"?{voicePreference:X}:{}}}}:{},...typeof O=="boolean"||J?{motion:{...typeof O=="boolean"?{actionSpotlight:O}:{},...J?{actionSpotlightColor:J}:{}}}:{}});return(ee||se)&&(o.ui={...ee?{voice:ee}:{},...se?{experience:se}:{}}),o}function kI(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function zr(e){let t="https://agent.rtrvr.ai",n=String(e||t).trim().replace(/\/+$/,"");if(!n)return t;if(n.endsWith("/extensionRouter/v2/rover"))return n.slice(0,-25);let r=n.match(/\/v\d+\/rover$/);return r?.[0]?n.slice(0,-r[0].length):n.endsWith("/extensionRouter")?n.slice(0,-16):n.endsWith("/v2/rover")?n.slice(0,-9):n}function sc(e){let t=new Set,n=[];for(let r of e){let o=cc(r);!o||t.has(o)||(t.add(o),n.push(o))}return n}function xI(e){let t=zr(e),n=`${t}/v2/rover`,r=cc(String(e||"").trim()),o=r.replace("/extensionRouter/v2/rover","/v2/rover");return r.endsWith("/v2/rover")||r.endsWith("/extensionRouter/v2/rover")?sc([o,n]):sc(!r&&t==="https://agent.rtrvr.ai"?[n,"https://extensionrouter.rtrvr.ai/v2/rover"]:[n])}function dk(e){return xI(e)}function wI(e){return dk(e)[0]||`${zr(e)}/v2/rover`}function Ni(e){return dk(e)}function kd(e){return wI(e)}function cc(e){return String(e||"").replace(/\/+$/,"")}function vd(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}function Mi(e){return!!e&&typeof e=="object"&&typeof e.sessionId=="string"&&Number.isFinite(Number(e.epoch))}function xd(e){let t=Number(e);return Number.isFinite(t)?t:void 0}function SI(e){if(!e||typeof e!="object")return;let t=String(e?.error||"").trim().toLowerCase(),n=e?.data&&typeof e.data=="object"?e.data:{},r=n?.conflict&&typeof n.conflict=="object"?n.conflict:{},o=String(r?.type||t||"").trim().toLowerCase(),i=o==="stale_seq"||o==="stale_epoch"||o==="active_run_exists"?o:void 0;if(!i)return;let a=xd(n?.currentSeq??r?.currentSeq),s=xd(n?.currentEpoch??n?.sessionEpoch??r?.currentEpoch),c=typeof r?.retryable=="boolean"?r.retryable:i==="stale_seq"||i==="stale_epoch";return{type:i,currentSeq:a,currentEpoch:s,retryable:c,decisionHint:typeof n?.decisionHint=="string"?n.decisionHint:void 0,decisionReason:typeof n?.decisionReason=="string"?n.decisionReason:void 0,runId:typeof n?.runId=="string"?n.runId:void 0,sessionId:typeof n?.sessionId=="string"?n.sessionId:void 0,clientEventId:typeof n?.clientEventId=="string"?n.clientEventId:void 0}}function ac(e){return String(e?.error||e?.data?.code||e?.code||"").trim().toUpperCase()}async function Ca(e){try{return await e.json()}catch{let t=await e.text().catch(()=>"");return t?{error:t}:void 0}}function Ip(e,t,n){let r=String(t||"").trim(),o=r.startsWith("http://")||r.startsWith("https://")?new URL(r):new URL(`${zr(e)}/v1/a2w/runs/${encodeURIComponent(r)}`);return n&&!o.searchParams.get("access")&&o.searchParams.set("access",n),o.toString()}var ro=class ro{constructor(t){q(this,"options");q(this,"base");q(this,"baseCandidates");q(this,"baseIndex",0);q(this,"sessionToken");q(this,"sessionTokenExpiresAt",0);q(this,"sessionId");q(this,"epoch",1);q(this,"eventSource",null);q(this,"pollTimer",null);q(this,"reconnectTimer",null);q(this,"sseReconnectAttempts",0);q(this,"started",!1);q(this,"lastSeq",0);q(this,"lastRunId","");q(this,"lastSnapshotDigest","");q(this,"activeRunId");q(this,"visibilityListener",null);q(this,"pollIntervalMs",2e3);q(this,"commandInFlight",!1);q(this,"commandQueue",Promise.resolve());this.options=t,this.baseCandidates=Ni(t.apiBase),this.base=this.baseCandidates[0]||kd(t.apiBase),this.sessionId=t.getSessionId()}getSessionToken(){return this.sessionToken}getSessionTokenExpiresAt(){return this.sessionTokenExpiresAt}getEpoch(){return Math.max(1,this.epoch)}getLastSeq(){return Math.max(0,this.lastSeq)}getActiveRunId(){return this.activeRunId}setApiBase(t){this.baseCandidates=Ni(t),this.baseIndex=0,this.base=this.baseCandidates[0]||kd(t)}stop(){this.started=!1,this.pauseBackgroundTransport(),this.visibilityListener&&typeof document<"u"&&(document.removeEventListener("visibilitychange",this.visibilityListener),this.visibilityListener=null),this.sseReconnectAttempts=0,this.lastSeq=0,this.lastRunId="",this.lastSnapshotDigest="",this.activeRunId=void 0}async start(){if(this.started=!0,typeof document<"u"&&!this.visibilityListener&&(this.visibilityListener=()=>{this.handleVisibilityChange()},document.addEventListener("visibilitychange",this.visibilityListener)),await this.ensureSession(!1),!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.startProjectionStream()}reportError(t){this.options.onError?.(t)}withCommandLock(t){let n=async()=>{this.commandInFlight=!0;try{return await t()}finally{this.commandInFlight=!1}},r=this.commandQueue.then(n,n);return this.commandQueue=r.then(()=>{},()=>{}),r}isDocumentHidden(){return typeof document<"u"&&document.visibilityState==="hidden"}hasOwnershipTransportAllowance(){if(typeof this.options.shouldKeepTransportActive=="function")try{return!!this.options.shouldKeepTransportActive()}catch{return!1}return!!this.activeRunId}shouldKeepTransportActive(){return!this.isDocumentHidden()||this.hasOwnershipTransportAllowance()}pauseBackgroundTransport(){this.eventSource&&(this.eventSource.close(),this.eventSource=null),this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null),this.pollIntervalMs=2e3,this.reconnectTimer!=null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}handleVisibilityChange(){if(this.started){if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.ensureSession(!1).catch(t=>this.reportError(t)).finally(()=>{this.startProjectionStream(),this.eventSource||this.startProjectionPolling(),this.fetchProjection().catch(t=>this.reportError(t))})}}getActiveBase(){return this.baseCandidates.length?cc(this.baseCandidates[this.baseIndex]||this.base):cc(this.base)}rotateBaseCandidate(){this.baseCandidates.length<=1||(this.baseIndex=(this.baseIndex+1)%this.baseCandidates.length,this.base=this.baseCandidates[this.baseIndex]||this.base)}async requestJson(t,n){this.baseCandidates.length||(this.baseCandidates=Ni(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let r,o=Math.max(1,this.baseCandidates.length);for(let i=0;i<o;i+=1){let a=(this.baseIndex+i)%o,s=cc(this.baseCandidates[a]||this.base);try{let c=await fetch(`${s}${t}`,n),l=await Ca(c);if(c.status===404||c.status===405){r=new Error(`Rover endpoint not found at ${s}${t}`);continue}return this.baseIndex=a,this.base=s,{response:c,json:l}}catch(c){r=c}}throw r instanceof Error?r:new Error(`Rover request failed for ${t}`)}applySessionData(t){t.sessionId&&(this.sessionId=t.sessionId),t.sessionToken&&(this.sessionToken=t.sessionToken,this.sessionTokenExpiresAt=kI(t.sessionTokenExpiresAt,Date.now()+8*6e4)),Number.isFinite(Number(t.epoch))&&(this.epoch=Math.max(1,Number(t.epoch))),t.projection&&Mi(t.projection)&&this.applyProjection(t.projection),this.options.onSession?.(t)}applyProjection(t){let n=this.epoch,r=this.lastRunId,o=this.lastSeq,i=this.lastSnapshotDigest;this.sessionId=t.sessionId||this.sessionId,this.epoch=Math.max(1,Number(t.epoch||this.epoch));let a=String(t.activeRunId||"");this.activeRunId=a||void 0,a!==this.lastRunId&&(this.lastRunId=a,this.lastSeq=0);let s=Array.isArray(t.events)?t.events:[];if(s.length){let d=Number(s[s.length-1]?.seq||0);Number.isFinite(d)&&d>this.lastSeq&&(this.lastSeq=d)}let c=String(t.snapshotMeta?.digest||"").trim()||(Number.isFinite(Number(t.snapshotMeta?.updatedAt))?`u:${Math.max(0,Number(t.snapshotMeta?.updatedAt||0))}`:Number.isFinite(Number(t.snapshotUpdatedAt))?`u:${Math.max(0,Number(t.snapshotUpdatedAt||0))}`:"");c&&(this.lastSnapshotDigest=c),this.isDocumentHidden()&&!this.shouldKeepTransportActive()&&this.pauseBackgroundTransport(),(this.epoch!==n||a!==r||this.lastSeq!==o||t.snapshot||c&&c!==i)&&this.options.onProjection?.(t)}shouldRefreshSessionToken(){return this.sessionToken?Date.now()+6e4>=this.sessionTokenExpiresAt:!0}async ensureSession(t=!1){if(this.sessionId=this.options.getSessionId()||this.sessionId,!t&&!this.shouldRefreshSessionToken())return null;let n=this.options.getBootstrapToken(),r={siteId:this.options.siteId,sessionId:this.sessionId,requestedSessionId:this.sessionId,host:this.options.getHost(),url:this.options.getPageUrl(),pageUrl:this.options.getPageUrl()},o=!t&&!!this.sessionToken,i={...r,...o?{sessionToken:this.sessionToken}:{},...n?{bootstrapToken:n}:{}};if(!i.sessionToken&&!i.bootstrapToken)return null;let a=async d=>this.requestJson("/session/open",{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(d)}),{response:s,json:c}=await a(i);if(s.status===401&&o&&n&&(ac(c)==="SESSION_TOKEN_EXPIRED"||ac(c)==="SESSION_TOKEN_INVALID"||ac(c)==="BOOTSTRAP_REQUIRED")&&(this.sessionToken=void 0,this.sessionTokenExpiresAt=0,{response:s,json:c}=await a({...r,bootstrapToken:n})),!s.ok||!c?.success||!c?.data){let d=ac(c),m=c?.data?.message||c?.error||`session/open failed (${s.status})`,f=new Error(String(m));throw f.code=d||void 0,f}let l=c.data;return this.applySessionData(l),l}syncCursorFromPayload(t){if(!t||typeof t!="object")return;let n=xd(t?.currentEpoch??t?.sessionEpoch);n!==void 0&&(this.epoch=Math.max(1,n));let r=xd(t?.currentSeq);r!==void 0&&r>=0&&(this.lastSeq=Math.max(this.lastSeq,r))}async postJson(t,n,r){await this.ensureSession(!1);let o={...n,requestNonce:vd(),sessionToken:this.sessionToken,sessionId:n.sessionId||this.sessionId},{response:i,json:a}=await this.requestJson(t,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(o)}),s=Math.max(0,Number(r?.authRetryCount||0));if(i.status===401&&s<1){let c=ac(a);if(c==="SESSION_TOKEN_EXPIRED"||c==="SESSION_TOKEN_INVALID"||c==="BOOTSTRAP_REQUIRED")return this.sessionToken=void 0,this.sessionTokenExpiresAt=0,await this.ensureSession(!0),this.postJson(t,n,{authRetryCount:s+1})}if(i.status===409)return this.syncCursorFromPayload(a?.data),{ok:!1,data:a?.data||null,conflict:SI(a),raw:a};if(!i.ok||!a?.success){let c=a?.error||`request failed (${i.status})`,l=new Error(String(c));throw l.status=i.status,l.code=String(a?.error||a?.data?.code||"").trim()||void 0,l.details=a?.data||a,l}return this.syncCursorFromPayload(a?.data),{ok:!0,data:a?.data||null,raw:a}}async submitRunInput(t){return this.withCommandLock(async()=>{let n=String(t.clientEventId||"").trim()||(typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():void 0);for(let r=0;r<2;r+=1){let o=await this.postJson("/command",{type:"RUN_INPUT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:{runId:t.runId,message:t.message,files:Array.isArray(t.files)?t.files:void 0,continueRun:!!t.continueRun,forceNewRun:!!t.forceNewRun,requestedMode:t.requestedMode,taskBoundaryId:this.options.getTaskBoundaryId?.()}});if(!o.ok){let l=(o.data||null)?.data||null;Mi(l?.projection)&&this.applyProjection(l.projection);let d=String(o.conflict?.type||"").trim(),m=o.conflict?.retryable!==!1&&(d==="stale_seq"||d==="stale_epoch");if(r===0&&m)continue;return l}let i=o.data||{},a=i?.data||null,s=String(i?.runId||a?.runId||"").trim();return s&&(this.activeRunId=s,this.lastRunId=s,Number(i?.seq||a?.seq||0)===0&&this.lastSeq>0&&(this.lastSeq=0)),Number.isFinite(Number(i?.epoch))&&(this.epoch=Math.max(1,Number(i?.epoch))),Number.isFinite(Number(i?.seq))&&(this.lastSeq=Math.max(0,Number(i?.seq||0))),a}return null})}async uploadAttachment(t){let n=await this.postJson("/attachments/upload",{fileName:t.fileName,mimeType:t.mimeType,dataBase64:t.dataBase64,sizeBytes:t.sizeBytes});if(!n.ok){let r=n.data?.message||n.raw?.error||"upload failed";throw new Error(String(r))}return n.data?.file||null}async controlRun(t){return this.withCommandLock(async()=>{let n=String(t.clientEventId||"").trim()||(typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():void 0);for(let r=0;r<2;r++){let o=await this.postJson("/command",{type:"RUN_CONTROL",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:{action:t.action,runId:t.runId,reason:t.reason}});if(!o.ok){if(r===0&&o.conflict?.retryable!==!1)continue;return o.data?.data||null}let i=o.data||{},a=i?.data||null;return Number.isFinite(Number(i?.seq))&&(this.lastSeq=Math.max(0,Number(i.seq||0))),Mi(a?.projection)&&this.applyProjection(a.projection),a}return null})}async fetchExternalContext(t){return this.withCommandLock(async()=>{let n=String(t.runId||this.activeRunId||this.lastRunId||"").trim()||void 0,r=typeof t.tabId=="string"&&t.tabId.trim()?t.tabId.trim():Number.isFinite(Number(t.tabId))&&Number(t.tabId)>0?String(Math.trunc(Number(t.tabId))):void 0,o=t.intent==="act"||t.intent==="open_only"||t.intent==="read_context"?t.intent:"read_context",i=t.source==="google_search"?"google_search":"direct_url";for(let a=0;a<2;a+=1){let s=await this.postJson("/context/external",{runId:n,logicalTabId:r,url:t.url,intent:o,source:i,message:t.message,adversarialScore:Number.isFinite(Number(t.adversarialScore))?Number(t.adversarialScore):void 0,expectedEpoch:this.epoch,expectedSeq:this.lastSeq});if(!s.ok){let c=String(s.conflict?.type||"").trim(),l=s.conflict?.retryable!==!1&&(c==="stale_seq"||c==="stale_epoch");if(a===0&&l)continue;return s.data||null}return s.data||null}return null})}async sendTabEvent(t){return this.withCommandLock(async()=>{let n=vd(),r={runId:t.runId,currentUrl:t.currentUrl,targetUrl:t.targetUrl,logicalTabId:t.logicalTabId,message:t.message,adversarialScore:t.adversarialScore,currentHost:t.currentHost,targetHost:t.targetHost,isCrossHost:t.isCrossHost,navigationClass:t.navigationClass,clientEventId:n},o=await this.postJson("/command",{type:"TAB_EVENT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:r});if(o.ok){let c=o.data||{},l=c?.data||null;return Number.isFinite(Number(c?.epoch))&&(this.epoch=Math.max(1,Number(c?.epoch||this.epoch))),Number.isFinite(Number(c?.seq))&&(this.lastSeq=Math.max(0,Number(c?.seq||0))),l?{...l,clientEventId:n,retryAttempted:!1,retryExhausted:!1}:null}let i=o.conflict;if(i?.retryable&&(i.type==="stale_seq"||i.type==="stale_epoch")){let c=await this.postJson("/command",{type:"TAB_EVENT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:r});if(c.ok){let m=c.data||{},f=m?.data||null;return Number.isFinite(Number(m?.epoch))&&(this.epoch=Math.max(1,Number(m?.epoch||this.epoch))),Number.isFinite(Number(m?.seq))&&(this.lastSeq=Math.max(0,Number(m?.seq||0))),f?{...f,clientEventId:n,retryAttempted:!0,retryExhausted:!1}:{clientEventId:n,retryAttempted:!0,retryExhausted:!1}}let l=c.conflict||i,d=(c.data||o.data||null)?.data||null;return this.fetchProjection().catch(()=>{}),{...d||{},clientEventId:n,retryAttempted:!0,retryExhausted:!0,decisionReason:d?.decisionReason||l?.decisionReason||(l?.type==="stale_epoch"?"stale_epoch_retryable":"stale_seq_retryable"),conflict:l?{type:l.type,currentSeq:l.currentSeq,currentEpoch:l.currentEpoch,retryable:!!l.retryable}:void 0}}let s=(o.data||null)?.data||null;return i?.type&&this.fetchProjection().catch(()=>{}),{...s||{},clientEventId:n,retryAttempted:!1,retryExhausted:!!i,conflict:i?{type:i.type,currentSeq:i.currentSeq,currentEpoch:i.currentEpoch,retryable:!!i.retryable}:s?.conflict}})}async fetchProjection(){if(await this.ensureSession(!1),!this.sessionToken||!this.sessionId)return null;let t=new URLSearchParams({sessionId:this.sessionId,seqAfter:String(this.lastSeq),sessionToken:this.sessionToken}),{response:n,json:r}=await this.requestJson(`/state?${t.toString()}`,{method:"GET"}),o=r?.data&&typeof r.data=="object"&&Mi(r.data?.projection)?r.data.projection:r?.data;if(!n.ok||!r?.success||!Mi(o))return null;let i=o;return this.applyProjection(i),i}async saveSnapshot(t){return this.withCommandLock(async()=>!!(await this.postJson("/snapshot",{checkpoint:t.checkpoint,updatedAt:t.updatedAt,version:t.version,seq:t.seq,chatSummary:t.chatSummary,compactedPrevSteps:t.compactedPrevSteps,ttlHours:t.ttlHours,visitorId:t.visitorId}))?.ok)}async sendBatch(t){if(!t.length)return[];let r=t.slice(0,5);return(await this.postJson("/batch",{requests:r.map(i=>({path:i.path,body:i.body}))}))?.data?.results||[]}async attachLaunch(t){let n=String(t.requestId||"").trim(),r=String(t.attachToken||"").trim();if(!n||!r)return null;let o=await this.postJson(`/launches/${encodeURIComponent(n)}/attach`,{attachToken:r,roverAttach:r,host:this.options.getHost?.()});return o.ok&&o.data||null}async claimBrowserRunReceipt(t){let n=String(t.receipt||"").trim();if(!n)return null;await this.ensureSession(!1);let r={receipt:n,requestNonce:vd(),sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()};this.baseCandidates.length||(this.baseCandidates=Ni(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let o=sc(this.baseCandidates.map(a=>zr(a))),i;for(let a of o)try{let s=await fetch(`${a}/v1/a2w/runs/claim-browser`,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(r)}),c=await Ca(s);if(!s.ok||!c?.success){i=new Error(String(c?.error||`request failed (${s.status})`)),i.status=s.status,i.details=c?.data||c;continue}return c.data||null}catch(s){i=s}throw i instanceof Error?i:new Error("Browser receipt claim failed.")}async createSessionRootRun(t){let n=String(t.url||"").trim(),r=String(t.prompt||"").trim();if(!n||!r)return null;await this.ensureSession(!1);let o={url:n,prompt:r,executionId:String(t.executionId||"").trim()||void 0,requestNonce:vd(),sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()};this.baseCandidates.length||(this.baseCandidates=Ni(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let i=sc(this.baseCandidates.map(s=>zr(s))),a;for(let s of i)try{let c=await fetch(`${s}/v1/a2w/runs/session-root`,{method:"POST",headers:{"Content-Type":"text/plain",Accept:"application/json"},body:JSON.stringify(o)}),l=await Ca(c);if(!c.ok||!l?.success){a=new Error(String(l?.error||`request failed (${c.status})`)),a.status=c.status,a.details=l?.data||l;continue}return l.data||null}catch(c){a=c}throw a instanceof Error?a:new Error("Session root A2W run creation failed.")}async createRunHandoff(t){let n=String(t.parentRunId||"").trim(),r=String(t.runAccessToken||"").trim(),o=String(t.url||"").trim();if(!n||!r||!o)return null;await this.ensureSession(!1);let i=Ip(zr(this.base),n,r).replace(/\/+$/,"").concat("/handoffs"),a=new Headers({"Content-Type":"application/json",Accept:"application/json"}),s=[];t.execution&&s.push(`execution=${t.execution}`),s.length&&a.set("Prefer",s.join(", "));let c={url:o,...String(t.prompt||"").trim()?{prompt:String(t.prompt).trim()}:{},...String(t.instruction||"").trim()?{instruction:String(t.instruction).trim()}:{},...String(t.shortcutId||"").trim()?{shortcutId:String(t.shortcutId).trim()}:{},...String(t.contextSummary||"").trim()?{contextSummary:String(t.contextSummary).trim()}:{},...String(t.expectedOutput||"").trim()?{expectedOutput:String(t.expectedOutput).trim()}:{},...String(t.originalGoal||"").trim()?{originalGoal:String(t.originalGoal).trim()}:{},...t.lastObservation&&typeof t.lastObservation=="object"?{lastObservation:t.lastObservation}:{},sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()},l=await fetch(i,{method:"POST",headers:a,body:JSON.stringify(c)}),d=await Ca(l);if(!l.ok||!d?.success){let m=String(d?.error||`request failed (${l.status})`),f=new Error(m);throw f.status=l.status,f.details=d?.data||d,f}return d.data||null}async getPublicRun(t,n={}){let r=new Headers({Accept:"application/json"});typeof n.waitSeconds=="number"&&n.waitSeconds>0&&r.set("Prefer",`wait=${Math.trunc(n.waitSeconds)}`);let o=Ip(zr(this.base),t,n.accessToken),i=await fetch(o,{method:"GET",headers:r}),a=await Ca(i);if(!i.ok||!a?.success){let s=String(a?.error||`request failed (${i.status})`),c=new Error(s);throw c.status=i.status,c.details=a?.data||a,c}return a.data||null}async continuePublicRun(t,n,r={}){let o=String(n||"").trim();if(!o)return null;let i=new Headers({Accept:"application/json","Content-Type":"application/json"}),a=Ip(zr(this.base),t,r.accessToken),s=await fetch(a,{method:"POST",headers:i,body:JSON.stringify({input:o})}),c=await Ca(s);if(!s.ok||!c?.success){let l=String(c?.error||`request failed (${s.status})`),d=new Error(l);throw d.status=s.status,d.details=c?.data||c,d}return c.data||null}async ingestLaunchEvents(t){let n=String(t.requestId||"").trim(),r=Array.isArray(t.events)?t.events.filter(Boolean):[];if(!n||!r.length)return!1;let o=await this.postJson("/events/ingest",{launchRequestId:n,runId:String(t.runId||"").trim()||void 0,events:r.map(i=>({type:i.type,ts:i.ts,data:i.data}))});return o.ok&&o.data?.accepted!==!1}scheduleProjectionPoll(t){this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null),this.pollTimer=window.setTimeout(async()=>{if(this.pollTimer=null,!this.started||!this.shouldKeepTransportActive())return;let n=this.epoch,r=this.lastSeq,o=this.lastSnapshotDigest;try{await this.fetchProjection()}catch(a){this.reportError(a)}this.epoch!==n||this.lastSeq!==r||this.lastSnapshotDigest!==o?this.pollIntervalMs=2e3:this.pollIntervalMs=Math.min(15e3,Math.round(this.pollIntervalMs*1.4)),this.started&&this.shouldKeepTransportActive()&&!this.eventSource&&this.scheduleProjectionPoll(this.pollIntervalMs)},t)}startProjectionPolling(){this.pollTimer==null&&(this.pollIntervalMs=2e3,this.scheduleProjectionPoll(this.pollIntervalMs))}scheduleSseReconnect(){if(!this.started||!this.shouldKeepTransportActive()||this.reconnectTimer!=null)return;if(this.sseReconnectAttempts>=ro.SSE_MAX_RECONNECT_ATTEMPTS){this.sseReconnectAttempts=0;return}let t=ro.SSE_BASE_DELAY_MS,n=Math.min(t*Math.pow(2,this.sseReconnectAttempts),ro.SSE_MAX_DELAY_MS),r=Math.random()*ro.SSE_MAX_JITTER_MS,o=Math.round(n+r);this.sseReconnectAttempts++,this.reconnectTimer=window.setTimeout(()=>{this.reconnectTimer=null,this.startProjectionStream()},o)}startProjectionStream(){if(!this.started)return;if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}if(!this.sessionToken||!this.sessionId){this.startProjectionPolling();return}if(this.eventSource)return;if(typeof EventSource>"u"){this.startProjectionPolling();return}let t=new URLSearchParams({sessionId:this.sessionId,cursor:String(this.lastSeq),sessionToken:this.sessionToken}),n=`${this.getActiveBase()}/stream?${t.toString()}`,r=new EventSource(n,{withCredentials:!1});this.eventSource=r;let o=i=>{try{let a=JSON.parse(i||"{}"),s=a&&typeof a=="object"&&Mi(a.projection)?a.projection:a;Mi(s)&&this.applyProjection(s)}catch(a){this.reportError(a)}};r.addEventListener("projection",i=>{o(i.data||"{}")}),r.addEventListener("projection_delta",i=>{o(i.data||"{}")}),r.onerror=()=>{this.eventSource&&(this.eventSource.close(),this.eventSource=null),this.ensureSession(!0).catch(i=>this.reportError(i)).finally(()=>{if(this.rotateBaseCandidate(),!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.pollTimer==null&&this.startProjectionPolling(),this.scheduleSseReconnect()})},r.onopen=()=>{if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.sseReconnectAttempts=0,this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null,this.pollIntervalMs=2e3)}}};q(ro,"SSE_BASE_DELAY_MS",2e3),q(ro,"SSE_MAX_DELAY_MS",6e4),q(ro,"SSE_MAX_JITTER_MS",3e3),q(ro,"SSE_MAX_RECONNECT_ATTEMPTS",10);var wd=ro;var Ro="/.well-known/agent-card.json",Li="/.well-known/rover-site.json",mk="/llms.txt",hk="__ROVER_WEBMCP_TOOL_DEFS__",dc=3,TI="/v1/a2w/runs",_I="/v1/a2w/workflows",EI=2e3,gk={type:"object",properties:{status:{type:"string",description:"A2W run status returned by Rover."},summary:{type:"string",description:"High-level summary of what Rover completed or observed."},run:{type:"string",description:"Canonical A2W run URL."},workflow:{type:"string",description:"Canonical A2W workflow URL when delegation occurs."}}},II={type:"object",properties:{success:{type:"boolean",description:"Whether the tool completed successfully."},summary:{type:"string",description:"Human-readable summary of the explicit site action."}}};function ye(e,t=0){let n=String(e||"").replace(/\s+/g," ").trim();return!t||n.length<=t?n:n.slice(0,t).trim()}function Io(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function At(e,t){if(!Array.isArray(e))return[];let n=new Set,r=[],o=Math.max(1,Number(t?.max)||24),i=Math.max(8,Number(t?.maxLen)||160);for(let a of e){let s=ye(a,i);if(!s)continue;let c=s.toLowerCase();if(!n.has(c)&&(n.add(c),r.push(s),r.length>=o))break}return r}function Ao(e){let t=Io(e);return t?{...t}:void 0}function lc(e){try{let t=new URL(e);return t.hash="",t.search="",t.toString()}catch{return ye(e)||"https://example.com/"}}function bk(e){let t=ye(e,512);if(t){if(t==="*"||t==="/*")return"*";if(/^https?:\/\//i.test(t))try{return new URL(t).pathname||"/"}catch{return}return t.startsWith("/")?t:`/${t}`}}function AI(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){let o=r==="text"||r==="markdown"||r==="json"||r==="observation"||r==="artifacts"?r:void 0;!o||n.has(o)||(n.add(o),t.push(o))}return t}function Ma(e,t="beacon"){return e==="silent"||e==="beacon"||e==="integrated"||e==="debug"?e:t}function RI(e,t="site"){return e==="site"||e==="co"||e==="rover"?e:t}function uc(e,t="auto"){return e==="auto"||e==="existing-assistant"||e==="floating-corner"||e==="inline-primary"?e:t}function fc(e,t="click"){return e==="click"||e==="focus"||e==="keyboard"||e==="agent-handshake"?e:t}function CI(e){return e.mode==="silent"?["Read rover-site.json, the page manifest, or the well-known agent card before falling back to raw DOM guesses."]:e.hostSurface==="existing-assistant"||e.mode==="integrated"?["Use the site assistant or chat entrypoint first when it is present on the page.","Prefer Rover A2W run and shortcut surfaces over selector or screenshot guessing once the assistant surface is active."]:["Use the page beacon or A2W run endpoint before attempting generic DOM automation.","When Rover is already active, prefer the current-page actions over screenshot loops."]}function MI(e){let t=e.discoverySurface||{},n=Ma(t.mode,e.visibleCue===!1?"silent":"beacon"),r=uc(t.hostSurface,"auto"),o=fc(t.actionReveal,"click"),i=ye(t.beaconLabel||e.pageContext?.beaconLabel||e.pageContext?.visibleCueLabel,180)||void 0,a={mode:n,branding:RI(t.branding,"site"),hostSurface:r,actionReveal:o,beaconLabel:i,agentModeEntryHints:At(t.agentModeEntryHints,{max:8,maxLen:240})};return{...a,agentModeEntryHints:a.agentModeEntryHints.length?a.agentModeEntryHints:CI(a)}}function Na(e){let t=Io(e);if(!t)return;let n=Io(t.discoverySurface),r={};if(n){let i=Ma(n.mode,"beacon");(n.mode==="silent"||n.mode==="beacon"||n.mode==="integrated"||n.mode==="debug")&&(r.mode=i),(n.branding==="site"||n.branding==="co"||n.branding==="rover")&&(r.branding=n.branding),(n.hostSurface==="auto"||n.hostSurface==="existing-assistant"||n.hostSurface==="floating-corner"||n.hostSurface==="inline-primary")&&(r.hostSurface=n.hostSurface),(n.actionReveal==="click"||n.actionReveal==="focus"||n.actionReveal==="keyboard"||n.actionReveal==="agent-handshake")&&(r.actionReveal=n.actionReveal);let a=ye(n.beaconLabel||n.visibleCueLabel,180)||void 0;a&&(r.beaconLabel=a);let s=At(n.agentModeEntryHints,{max:8,maxLen:240});s.length>0&&(r.agentModeEntryHints=s)}let o={};return typeof t.enabled=="boolean"?o.enabled=t.enabled:typeof t.visibleCue=="boolean"&&(o.enabled=t.visibleCue),typeof t.siteUrl=="string"&&ye(t.siteUrl)&&(o.siteUrl=ye(t.siteUrl)),typeof t.siteId=="string"&&ye(t.siteId,160)&&(o.siteId=ye(t.siteId,160)),typeof t.apiBase=="string"&&ye(t.apiBase,240)&&(o.apiBase=ye(t.apiBase,240)),typeof t.siteName=="string"&&ye(t.siteName,160)&&(o.siteName=ye(t.siteName,160)),typeof t.description=="string"&&ye(t.description,400)&&(o.description=ye(t.description,400)),typeof t.version=="string"&&ye(t.version,120)&&(o.version=ye(t.version,120)),typeof t.agentCardUrl=="string"&&ye(t.agentCardUrl,240)&&(o.agentCardUrl=ye(t.agentCardUrl,240)),typeof t.roverSiteUrl=="string"&&ye(t.roverSiteUrl,240)&&(o.roverSiteUrl=ye(t.roverSiteUrl,240)),typeof t.llmsUrl=="string"&&ye(t.llmsUrl,240)&&(o.llmsUrl=ye(t.llmsUrl,240)),typeof t.visibleCue=="boolean"&&(o.visibleCue=t.visibleCue),typeof t.hostSurfaceSelector=="string"&&ye(t.hostSurfaceSelector,240)&&(o.hostSurfaceSelector=ye(t.hostSurfaceSelector,240)),(t.preferExecution==="auto"||t.preferExecution==="browser"||t.preferExecution==="cloud")&&(o.preferExecution=t.preferExecution),Object.keys(r).length>0&&(o.discoverySurface=r),Object.keys(o).length?o:void 0}function yk(e){return e==="browser"?["browser"]:e==="cloud"?["cloud"]:["auto","browser","cloud"]}function NI(e,t){let n=Io(e);if(!n)return null;let r=ye(n.capabilityId||n.id,120),o=ye(n.label||n.name,180),i=ye(n.description,480);if(!r||!o||!i)return null;let a=Array.isArray(n.allowedExecutionModes)?n.allowedExecutionModes.filter(c=>c==="auto"||c==="browser"||c==="cloud"):[],s=AI(n.resultModes);return{capabilityId:r,version:ye(n.version,80)||t.version,label:o,description:i,inputSchema:Ao(n.inputSchema),outputSchema:Ao(n.outputSchema),sideEffect:n.sideEffect==="none"||n.sideEffect==="read"||n.sideEffect==="write"||n.sideEffect==="transactional"?n.sideEffect:void 0,requiresConfirmation:typeof n.requiresConfirmation=="boolean"?n.requiresConfirmation:void 0,preferredInterface:Ap({preferredInterface:n.preferredInterface}).preferredInterface,allowedExecutionModes:a.length?a:t.allowedExecutionModes,resultModes:s.length?s:t.resultModes,pageScope:At(n.pageScope,{max:24,maxLen:80}),analyticsTags:At(n.analyticsTags,{max:24,maxLen:64}),rover:Io(n.rover)?{...n.rover}:void 0}}function vk(e,t){let n=Io(e);if(!n)return null;let r=ye(n.pageId||n.id,120);if(!r)return null;let o=ye(n.beaconLabel||n.visibleCueLabel||t?.beaconLabel,180)||void 0;return{pageId:r,route:bk(n.route),label:ye(n.label,180)||void 0,capabilityIds:At(n.capabilityIds,{max:48,maxLen:120}),entityHints:At(n.entityHints,{max:24,maxLen:120}),formHints:At(n.formHints,{max:24,maxLen:120}),visibleCueLabel:o,beaconLabel:o,discoveryMode:Ma(n.discoveryMode,t?.mode||"beacon"),hostSurface:uc(n.hostSurface,t?.hostSurface||"auto"),actionReveal:fc(n.actionReveal,t?.actionReveal||"click"),agentModeEntryHints:At(Array.isArray(n.agentModeEntryHints)&&n.agentModeEntryHints.length?n.agentModeEntryHints:t?.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:At(n.capabilitySummary,{max:12,maxLen:180})}}function kk(e){return`${zr(e)}${TI}`}function xk(e){return`${zr(e)}${_I}`}function LI(e,t){try{let n=new URL(e);return n.searchParams.set("rover_shortcut",t),n.toString()}catch{let n=e.includes("?")?"&":"?";return`${e}${n}rover_shortcut=${encodeURIComponent(t)}`}}function DI(e){return ye(e).replace(/[_-]+/g," ").replace(/\s+/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function PI(e,t=[]){if(!e||typeof e!="object")return;let n={};for(let[r,o]of Object.entries(e)){let i=Io(o);if(!i)continue;let a=ye(i.type)||"string",s={type:["string","number","integer","boolean","array","object"].includes(a)?a:"string"};if(i.description&&(s.description=ye(i.description,240)),i.enum&&Array.isArray(i.enum)){let c=At(i.enum,{max:24,maxLen:80});c.length&&(s.enum=c)}if(a==="array"&&i.items&&(s.items=Ao(i.items)||{type:ye(i.items?.type)||"string"}),a==="object"&&i.properties&&typeof i.properties=="object"){s.properties={};for(let[c,l]of Object.entries(i.properties)){let d=Io(l);d&&(s.properties[c]={type:ye(d.type)||"string",...d.description?{description:ye(d.description,240)}:{}})}if(Array.isArray(i.required)){let c=At(i.required,{max:50,maxLen:80});c.length&&(s.required=c)}}n[r]=s}return{type:"object",properties:n,...t.length?{required:At(t,{max:50,maxLen:80})}:{}}}function Ap(e){let t=Io(e)||{};return{category:ye(t.category,40)||void 0,tags:At(t.tags,{max:16,maxLen:40}),examples:At(t.examples,{max:6,maxLen:200}),whenToUse:ye(t.whenToUse,280)||void 0,whyUse:ye(t.whyUse,280)||void 0,sideEffect:t.sideEffect==="none"||t.sideEffect==="read"||t.sideEffect==="write"||t.sideEffect==="transactional"?t.sideEffect:void 0,requiresConfirmation:typeof t.requiresConfirmation=="boolean"?t.requiresConfirmation:void 0,preferredInterface:t.preferredInterface==="run"||t.preferredInterface==="shortcut"||t.preferredInterface==="client_tool"||t.preferredInterface==="webmcp"?t.preferredInterface:void 0,priority:t.priority==="primary"||t.priority==="secondary"?t.priority:void 0}}function wk(e,t,n){if(n?.sideEffect)return n.sideEffect;if(t==="shortcut")return"transactional";let r=e.toLowerCase();return/^(get|read|list|show|find|search|compare|inspect|lookup)/.test(r)?"read":/^(save|create|reply|vote|leave|submit|answer|book|start|checkout|handoff)/.test(r)?"write":r.includes("run_task")?"transactional":"read"}function Sk(e,t){return typeof t?.requiresConfirmation=="boolean"?t.requiresConfirmation:e==="write"||e==="transactional"}function Tk(e,t,n,r){let o=[];return e&&o.push(ye(e,120)),t&&o.push(ye(t,320)),n.whenToUse&&o.push(`When to use: ${n.whenToUse}`),n.whyUse&&o.push(`Why use this path: ${n.whyUse}`),!t&&r==="shortcut"&&o.push("Use this explicit Rover shortcut when the user intent matches this site journey instead of improvising with raw DOM actions."),o.join(" ").trim()}function _k(e){let t=ye(e.id,80),n=ye(e.label,120),r=ye(e.prompt,EI);if(!t||!n||!r||e.enabled===!1)return null;let o=ye(e.description,320);return{id:t,label:n,prompt:r,...o?{description:o}:{},...e.routing?{routing:e.routing}:{},...e.runKind==="guide"||e.runKind==="task"?{runKind:e.runKind}:{}}}function OI(e,t,n){let r=_k(e);if(!r)return null;let{id:o,label:i,prompt:a}=r,s=At([...e.tags||[],"shortcut","rover"],{max:16,maxLen:40}),c=At([...e.examples||[],a],{max:6,maxLen:220}),l=Ap({tags:s,examples:c,sideEffect:e.sideEffect,requiresConfirmation:e.requiresConfirmation,preferredInterface:e.preferredInterface||"shortcut",priority:"primary"}),d="shortcut",m=wk(o,d,l),f=Sk(m,l);return{id:o,name:i,description:Tk(i,e.description||`Run the "${i}" site flow with Rover using the exact shortcut id "${o}".`,{...l,whenToUse:l.whenToUse||"Use this when the user wants this exact site outcome and you want a stable path that avoids brittle DOM guessing.",whyUse:l.whyUse||"Rover shortcuts are explicit site-owned entrypoints with structured A2W run progress and cleaner recovery than generic DOM automation."},d),tags:s,examples:c,inputSchema:Ao(e.inputSchema)||{type:"object",additionalProperties:!1,description:"This shortcut is parameterless. Invoke it directly by id."},outputSchema:Ao(e.outputSchema)||{...gk},sideEffect:m,requiresConfirmation:f,preferredInterface:d,category:"primary",rover:{shortcutId:o,prompt:a,routing:e.routing,runKind:e.runKind,deepLink:LI(t.siteUrl,o),run:{endpoint:n,payload:{url:lc(t.siteUrl),shortcut:o},preferExecution:t.preferExecution||"auto"},source:"shortcut"}}}function uk(e,t){let n=ye(e.name,120);if(!n||e.llmCallable===!1)return null;let r=Ap(e.annotations),o=wk(n,t,r),i=Sk(o,r),a=At([...r.tags||[],t,"rover"],{max:16,maxLen:40}),s=At(r.examples||[],{max:6,maxLen:220});return{id:n,name:ye(e.title,120)||DI(n),description:Tk(ye(e.title,120),e.description,{...r,whenToUse:r.whenToUse||(t==="webmcp"?"Use this explicit WebMCP tool when the browser exposes it instead of simulating DOM actions for the same outcome.":"Use this explicit site tool when it matches the user goal instead of reconstructing the same action through generic DOM automation."),whyUse:r.whyUse||"Explicit site tools expose stable schemas, clearer validation errors, and structured results that are easier to recover from than brittle DOM inference."},t),...a.length?{tags:a}:{},...s.length?{examples:s}:{},inputSchema:Ao(e.schema)||PI(e.parameters,e.required||[])||{type:"object",additionalProperties:!1},outputSchema:Ao(e.outputSchema)||{...II},sideEffect:o,requiresConfirmation:i,preferredInterface:t,category:r.priority==="primary"?"primary":"secondary",rover:{toolName:n,source:t==="webmcp"?"webmcp":"client_tool"}}}function BI(e){let t=[],n=new Set;for(let r of e){let o=ye(r.id,120);!o||n.has(o.toLowerCase())||(n.add(o.toLowerCase()),t.push({...r,id:o}))}return t}function UI(e){let t=[],n=new Set;for(let r of e){let o=ye(r.capabilityId,120);!o||n.has(o.toLowerCase())||(n.add(o.toLowerCase()),t.push({...r,capabilityId:o,pageScope:At(r.pageScope,{max:24,maxLen:80}),analyticsTags:At(r.analyticsTags,{max:24,maxLen:64}),allowedExecutionModes:Array.from(new Set(r.allowedExecutionModes||[])),resultModes:Array.from(new Set(r.resultModes||[]))}))}return t}function FI(e,t){let n=[],r=new Set;for(let o of e){let i=ye(o.pageId,120);if(!i||r.has(i.toLowerCase()))continue;r.add(i.toLowerCase());let a=ye(o.beaconLabel||o.visibleCueLabel||t?.beaconLabel,180)||void 0;n.push({pageId:i,route:bk(o.route),label:ye(o.label,180)||void 0,capabilityIds:At(o.capabilityIds,{max:48,maxLen:120}),entityHints:At(o.entityHints,{max:24,maxLen:120}),formHints:At(o.formHints,{max:24,maxLen:120}),visibleCueLabel:a,beaconLabel:a,discoveryMode:Ma(o.discoveryMode,t?.mode||"beacon"),hostSurface:uc(o.hostSurface,t?.hostSurface||"auto"),actionReveal:fc(o.actionReveal,t?.actionReveal||"click"),agentModeEntryHints:At(Array.isArray(o.agentModeEntryHints)&&o.agentModeEntryHints.length?o.agentModeEntryHints:t?.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:At(o.capabilitySummary,{max:12,maxLen:180})})}return n}function fk(e,t,n){let r=At(e.capabilityIds,{max:48,maxLen:120}),o=At(Array.isArray(e.capabilitySummary)&&e.capabilitySummary.length?e.capabilitySummary:r.map(s=>t.find(c=>c.capabilityId===s)?.label).filter(s=>!!s),{max:12,maxLen:180}),i=ye(e.beaconLabel||e.visibleCueLabel||n.beaconLabel,180)||void 0,a=At(Array.isArray(e.agentModeEntryHints)&&e.agentModeEntryHints.length?e.agentModeEntryHints:n.agentModeEntryHints,{max:8,maxLen:240});return{...e,capabilityIds:r,visibleCueLabel:i,beaconLabel:i,discoveryMode:Ma(e.discoveryMode,n.mode),hostSurface:uc(e.hostSurface,n.hostSurface),actionReveal:fc(e.actionReveal,n.actionReveal),agentModeEntryHints:a,capabilitySummary:o}}function zI(e,t){let n=t.preferExecution||"auto";return{capabilityId:e.id,version:ye(t.version,80)||"1.0.0",label:e.name,description:e.description,inputSchema:Ao(e.inputSchema),outputSchema:Ao(e.outputSchema)||{...gk},sideEffect:e.sideEffect,requiresConfirmation:e.requiresConfirmation,preferredInterface:e.preferredInterface,allowedExecutionModes:yk(n),resultModes:["text","json","observation","artifacts"],pageScope:At(e.rover?.shortcutId?["site",e.rover.shortcutId]:["site"],{max:8,maxLen:80}),analyticsTags:At(e.tags,{max:24,maxLen:64}),rover:e.rover?{...e.rover}:void 0}}function HI(e,t,n){let r=lc(e.siteUrl),o="/";try{o=new URL(r).pathname||"/"}catch{o="/"}return vk({pageId:e.pageContext?.pageId||o.replace(/^\/+|\/+$/g,"").replace(/[^a-z0-9/_-]+/gi,"-").replace(/\//g,"__")||"home",route:e.pageContext?.route||o,label:e.pageContext?.label,capabilityIds:e.pageContext?.capabilityIds,entityHints:e.pageContext?.entityHints,formHints:e.pageContext?.formHints,visibleCueLabel:e.pageContext?.visibleCueLabel,beaconLabel:e.pageContext?.beaconLabel,discoveryMode:e.pageContext?.discoveryMode,hostSurface:e.pageContext?.hostSurface,actionReveal:e.pageContext?.actionReveal,agentModeEntryHints:e.pageContext?.agentModeEntryHints,capabilitySummary:e.pageContext?.capabilitySummary},n)||{pageId:"home",route:o,label:void 0,capabilityIds:t.slice(0,12).map(a=>a.capabilityId),entityHints:[],formHints:[],visibleCueLabel:n.beaconLabel,beaconLabel:n.beaconLabel,discoveryMode:n.mode,hostSurface:n.hostSurface,actionReveal:n.actionReveal,agentModeEntryHints:n.agentModeEntryHints,capabilitySummary:t.slice(0,6).map(a=>a.label)}}function jI(e,t,n){let r=t.map(d=>zI(d,e)),o=(e.capabilities||[]).map(d=>NI(d,{version:ye(e.version,80)||"1.0.0",allowedExecutionModes:yk(e.preferExecution||"auto"),resultModes:["text","json","observation","artifacts"]})).filter(d=>!!d),i=UI([...o,...r]),a=HI(e,i,n),s=(e.pages||[]).map(d=>vk(d,n)).filter(d=>!!d);a.capabilityIds?.length||(a.capabilityIds=i.slice(0,12).map(d=>d.capabilityId));let c=FI([...s,a],n).map(d=>fk(d,i,n)),l=c.find(d=>d.pageId===a.pageId)||fk(a,i,n);return{capabilities:i,pages:c,currentPage:l}}function pk(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function Sd(e){return e.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function $I(e){return`data:application/json;charset=utf-8,${encodeURIComponent(e)}`}function Go(e){let t=lc(e.siteUrl),n=kk(e.apiBase),r=xk(e.apiBase),o=ye(e.agentCardUrl)||Ro,i=ye(e.roverSiteUrl)||Li,a=ye(e.llmsUrl),c=bp(e.aiAccess).enabled,l=e.aiAccess?.allowCloudBrowser!==!1,d=e.aiAccess?.allowDelegatedHandoffs===!0,m=(e.shortcuts||[]).map(C=>OI(C,e,n)).filter(C=>!!C),f=(e.tools||[]).map(C=>uk(C,"client_tool")).filter(C=>!!C),u=(e.webmcpTools||[]).map(C=>uk(C,"webmcp")).filter(C=>!!C),h=BI([...m,...e.additionalSkills||[],...f,...u]),b=MI(e),v=jI(e,h,b),S={mode:Ma(v.currentPage.discoveryMode,b.mode),branding:b.branding,hostSurface:uc(v.currentPage.hostSurface,b.hostSurface),actionReveal:fc(v.currentPage.actionReveal,b.actionReveal),beaconLabel:ye(v.currentPage.beaconLabel||v.currentPage.visibleCueLabel||b.beaconLabel,180)||void 0,agentModeEntryHints:At(v.currentPage.agentModeEntryHints?.length?v.currentPage.agentModeEntryHints:b.agentModeEntryHints,{max:8,maxLen:240}),compactActionMaxActions:dc},k=ye(e.siteName,120)||(()=>{try{return new URL(t).hostname}catch{return"Rover Site"}})(),x=ye(e.description,320)||`Structured Rover entrypoints for ${k}. Prefer the published shortcuts and explicit tools over raw DOM automation whenever they match the user's goal.`;return{name:k,description:x,url:n,version:ye(e.version,80)||"1.0.0",defaultInputModes:["text/plain","application/json"],defaultOutputModes:["text/plain","application/json"],capabilities:{streaming:c,a2wRuns:c,stateTransitions:c,delegatedHandoffs:d,webmcp:u.length>0},skills:h,interfaces:[{type:"run",url:n,description:"Canonical Agent-to-Web Protocol (A2W) run creation endpoint.",available:c},{type:"workflow",url:r,description:"Aggregated Rover workflow resource for delegated runs.",available:!0},{type:"site",url:t,description:"Human-visible website entrypoint.",available:!0},{type:"deep_link",url:t,description:"Browser-first Rover deep link surface using rover= or rover_shortcut= query params.",available:c},{type:"webmcp",url:t,description:"WebMCP tool surface when the browser host supports navigator.modelContext.",available:u.length>0}],extensions:{rover:{siteId:ye(e.siteId,120)||void 0,siteUrl:t,runEndpoint:n,workflowEndpoint:r,serviceDescUrl:o,roverSiteUrl:i,...a?{llmsUrl:a}:{},preferredExecution:e.preferExecution||"auto",a2wRunsEnabled:c,cloudBrowserAllowed:l,delegatedHandoffs:d,instructions:["Prefer exact Rover shortcuts and explicit site tools over raw DOM automation when the user goal matches a published skill.","Use POST /v1/a2w/runs when you need structured A2W progress, continuation input, or a stable final result channel.","Fall back to generic DOM automation only when no matching Rover shortcut or explicit tool exists for the requested outcome."],capabilitiesGraph:v.capabilities,pages:v.pages,currentPage:v.currentPage,discoverySurface:S,shortcuts:(e.shortcuts||[]).map(C=>_k(C)).filter(C=>!!C),webmcp:{available:u.length>0,tools:u.map(C=>C.id)}}}}}function La(e){let t=Go(e),n=t.extensions?.rover;return{identity:{siteId:n?.siteId,name:t.name,description:t.description,siteUrl:n?.siteUrl||lc(e.siteUrl),version:t.version},actions:n?.capabilitiesGraph||[],pages:n?.pages||[],policies:{preferredExecution:n?.preferredExecution||"auto",a2wRunsEnabled:n?.a2wRunsEnabled!==!1,cloudBrowserAllowed:n?.cloudBrowserAllowed!==!1,delegatedHandoffs:n?.delegatedHandoffs===!0},auth:{runEndpoint:n?.runEndpoint||kk(e.apiBase),workflowEndpoint:n?.workflowEndpoint||xk(e.apiBase),acceptsHttpMessageSignatures:!0,supportsUnsignedSelfReportedIdentity:!0},analytics:{layer:"roverbook",runIdField:"runId",workflowIdField:"workflowId",capabilityIdField:"capabilityId",pageIdField:"pageId"},currentPage:n?.currentPage,display:{mode:n?.discoverySurface.mode||"beacon",branding:n?.discoverySurface.branding||"site",hostSurface:n?.discoverySurface.hostSurface||"auto",actionReveal:n?.discoverySurface.actionReveal||"click",beaconLabel:n?.discoverySurface.beaconLabel,agentModeEntryHints:n?.discoverySurface.agentModeEntryHints||[],compactActionMaxActions:n?.discoverySurface.compactActionMaxActions||dc},artifacts:{agentCardUrl:n?.serviceDescUrl||ye(e.agentCardUrl)||Ro,roverSiteUrl:n?.roverSiteUrl||ye(e.roverSiteUrl)||Li,...n?.llmsUrl?{llmsUrl:n.llmsUrl}:{},siteUrl:n?.siteUrl||lc(e.siteUrl)},interfaces:t.interfaces}}function Td(e){let t=Da(e),n=Go(e),r=La(e),o=JSON.stringify(r,null,2),i=$I(t),a=ye(e.agentCardUrl)||i,s=ye(e.roverSiteUrl)||Li,c=n.extensions?.rover.currentPage||{pageId:"home",route:"/",capabilityIds:[]},l=JSON.stringify(c,null,2),d={a2w:n.extensions?.rover.runEndpoint,run:n.extensions?.rover.runEndpoint,card:a,roverSite:s,site:n.extensions?.rover.siteUrl,workflow:n.extensions?.rover.workflowEndpoint,page:c.pageId,preferExecution:n.extensions?.rover.preferredExecution,discoveryMode:n.extensions?.rover.discoverySurface.mode,hostSurface:n.extensions?.rover.discoverySurface.hostSurface,actionReveal:n.extensions?.rover.discoverySurface.actionReveal,beaconLabel:n.extensions?.rover.discoverySurface.beaconLabel,skills:n.skills.slice(0,24).map(m=>({id:m.id,name:m.name})),capabilities:(n.extensions?.rover.capabilitiesGraph||[]).slice(0,24).map(m=>({capabilityId:m.capabilityId,label:m.label}))};return{card:n,cardJson:t,serviceDescHref:a,roverSite:r,roverSiteJson:o,roverSiteHref:s,pageManifest:c,pageManifestJson:l,llmsUrl:ye(e.llmsUrl||n.extensions?.rover.llmsUrl)||void 0,marker:d,markerJson:Sd(JSON.stringify(d))}}function Da(e,t){return JSON.stringify(Go(e),null,t?.pretty===!1?void 0:2)}function Ek(e,t){return Da(e,t)}function pc(e,t){return JSON.stringify(La(e),null,t?.pretty===!1?void 0:2)}function Ik(e,t){return pc(e,t)}function _d(e){let t=[`<${ye(e.agentCardUrl)||Ro}>; rel="service-desc"; type="application/json"`],n=ye(e.llmsUrl);return n&&t.push(`<${n}>; rel="service-doc"; type="text/markdown"`),t.join(", ")}function Ak(e){let{cardJson:t,llmsUrl:n,markerJson:r,pageManifestJson:o,roverSiteJson:i,serviceDescHref:a}=Td(e),s=Sd(t),c=Sd(i),l=Sd(o),d=[`<script type="application/agent+json" data-rover-agent-discovery="marker">${r}<\/script>`,`<link rel="service-desc" href="${pk(a)}" type="application/json" data-rover-agent-discovery="service-desc" />`];return n&&d.push(`<link rel="service-doc" href="${pk(n)}" type="text/markdown" data-rover-agent-discovery="service-doc" />`),d.push(`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${c}<\/script>`),d.push(`<script type="application/rover-page+json" data-rover-agent-discovery="page">${l}<\/script>`),d.push(`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${s}<\/script>`),d.join(`
|
|
4372
|
-
`)}var
|
|
4373
|
-
`)}function
|
|
4368
|
+
`),on=st.getPendingAttachments();e.onSend(gt,{askUserAnswers:{answersByKey:W,rawText:gt,keys:Ke},attachments:on.length?on:void 0,...Te()}),st.clearAttachments()}),F.questionPromptCancel.addEventListener("click",()=>{if(!st.textarea.disabled){if(e.onCancelQuestionFlow){e.onCancelQuestionFlow();return}e.onCancelRun?.()}}),F.panel.appendChild(F.panelGrabber),F.panel.appendChild(ut.root),F.panel.appendChild(F.taskStage),F.panel.appendChild(F.artifactStage),F.panel.appendChild(F.conversationPill),F.panel.appendChild(F.pausedTaskBanner),F.panel.appendChild(Le.root),F.panel.appendChild(F.taskSuggestion),F.panel.appendChild(Ye.bar),F.panel.appendChild(F.questionPrompt),F.panel.appendChild(F.resizeHandle),F.panel.appendChild(F.conversationDrawer),nt.composerSlot.appendChild(st.root);let Nr=fv({thoughtStyle:e.thoughtStyle,stream:i.stream});Nr.setOnExpand(()=>{Nr.hide(),u.getState()==="bar"&&bi(),Le.setTraceExpanded(!0,i.stream?.maxVisibleLiveCards)}),f.appendChild(F.backdrop),f.appendChild(K.root),f.appendChild(K.greetingBubble),f.appendChild(F.panel),f.appendChild(Nr.root),f.appendChild(nt.root),f.appendChild(St.root),oe&&f.appendChild(oe.root),l.appendChild(f),l.addEventListener("keydown",L=>{let W=L;if(W.key==="Escape"){if(W.stopPropagation(),St.isOpen()){St.close();return}if(F.panel.classList.contains("open")){sa();return}if(u.getState()==="bar"){Pu();return}}});let Ch=L=>{if((L.metaKey||L.ctrlKey)&&L.code==="KeyK"){L.preventDefault(),L.stopPropagation(),St.isOpen()?St.close():St.open();return}L.code==="Period"&&L.shiftKey&&(L.metaKey||L.ctrlKey)&&(L.preventDefault(),L.stopPropagation(),F.panel.classList.contains("open")?ca():Ou())};document.addEventListener("keydown",Ch);let Fo=()=>{F.applyLayout(),K.applyPosition()};window.addEventListener("resize",Fo),window.addEventListener("orientationchange",Fo),window.visualViewport?.addEventListener("resize",Fo),window.visualViewport?.addEventListener("scroll",Fo),F.applyLayout(),K.applyPosition(),K.setMuted(v),ut.setMuted(v),nt.setMuted(v),Dh("controller"),Bh(ar),Le.setTraceExpanded(!1,i.stream?.maxVisibleLiveCards),jn(),rn();function Mh(){let L=ky(i.theme?.accentColor||"#FF4C00");for(let[Ie,Ce]of Object.entries(L))f.style.setProperty(Ie,Ce);let W=xy(i.motion?.actionSpotlightColor,i.theme?.accentColor);for(let[Ie,Ce]of Object.entries(W))f.style.setProperty(Ie,Ce)}Mh();function sa(){if(We=!0,u.getState()!=="window")return;ut.closeOverflow(),i.shell?.transitionStyle!=="crossfade"&&!Eo()?(F.backdrop.classList.remove("visible"),F.panel.animate([{opacity:1,transform:"translateY(0) scale(1)",filter:"blur(0)"},{opacity:0,transform:"translateY(12px) scale(0.97)",filter:"blur(3px)"}],{duration:nc(250,i.motion?.intensity||"balanced"),easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"forwards"}).finished.then(()=>{F.panel.classList.remove("open"),F.panel.style.display="none",F.panel.style.transform="",F.panel.style.filter="",F.panel.style.animation="",kt()}).catch(()=>{})):(F.panel.classList.remove("open"),F.panel.style.display="none",F.backdrop.classList.remove("visible"),kt()),u.setState("bar"),nt.setExpanded(!1),Nt(),je&&Nr.show()}function bi(){if(u.getState()!=="bar")return;F.applyLayout(),F.panel.style.transition="",i.shell?.transitionStyle!=="crossfade"&&!Eo()?(F.backdrop.classList.add("visible"),F.panel.style.animation="none",F.panel.style.opacity="0",F.panel.style.display="flex",F.panel.classList.add("open"),F.panel.animate([{opacity:0,transform:"translateY(12px) scale(0.97)",filter:"blur(3px)"},{opacity:1,transform:"translateY(0) scale(1)",filter:"blur(0)"}],{duration:nc(320,i.motion?.intensity||"balanced"),easing:"cubic-bezier(0.16, 1, 0.3, 1)",fill:"forwards"}).finished.then(()=>{F.panel.style.transform="",F.panel.style.filter="",F.panel.style.opacity="",kt(),st.textarea.disabled||st.textarea.focus()}).catch(()=>{})):(F.panel.classList.add("open"),F.panel.style.display="flex",F.backdrop.classList.add("visible"),kt(),st.textarea.disabled||st.textarea.focus()),u.setState("window"),nt.setExpanded(!0),Nt(),e.onOpen?.()}function Pu(){ke(),We=!1;let L=u.getState();if(L==="window")ut.closeOverflow(),F.panel.classList.remove("open"),F.panel.style.display="none",F.panel.style.transform="",F.panel.style.filter="",F.panel.style.animation="",F.backdrop.classList.remove("visible"),u.setState("bar"),nt.setExpanded(!1),Nt();else if(L!=="bar")return;u.setState("seed"),u.setMood("idle"),Nt(),!Eo()?(zy({seed:K.root,bar:nt.root,duration:nc(280,i.motion?.intensity||"balanced")}),kt()):(nt.hide(),kt()),e.onClose?.()}function Nh(){if(u.getState()!=="seed")return;me(),St.isOpen()&&St.close(),K.setGreeting(null),Pe(),u.setState("bar"),Nt(),!Eo()?Fy({seed:K.root,bar:nt.root,duration:nc(300,i.motion?.intensity||"balanced")}).then(()=>{kt(),We||bi()}):(nt.show(),kt(),We||bi())}function Ou(){if(St.isOpen()&&St.close(),u.getState()==="bar"){bi();return}if(u.getState()==="seed"){Nh();return}}function ca(){if(ke(),u.getState()==="bar"){Pu();return}if(ut.closeOverflow(),!F.panel.classList.contains("open")){e.onClose?.();return}sa()}function k0(L,W,Ie){Le.addMessage(L,W,Ie?.blocks),L==="assistant"&&je&&ue&&(ue=!1,Ot()),L==="user"&&($=Fe(W)||$,P=Date.now(),y=!1),L==="assistant"&&En(Ie?.blocks),Cr=!0,rn(),Ye.syncVisibility(Cr,je,!!$e?.questions?.length),L==="user"?u.setMood("typing",1200):L==="assistant"?u.setMood("success",1400):u.setMood("running",900),f.dataset.mood=u.getMood(),i.motion?.palimpsest!==!1&&F.backdrop.classList.toggle("palimpsest",je&&u.getMood()==="running")}function Lh(L){let W=pl(L);if(!W.length){$e=null,yt=null,ht={},F.questionPromptList.innerHTML="",F.questionPrompt.classList.remove("visible"),Ye.syncVisibility(Cr,je,!1);return}let Ie=y0(W),Ce=Ie!==yt||!$e;if($e={questions:W},Ce){let Ke=ht;ht={},F.questionPromptList.innerHTML="";for(let gt of W){let on=document.createElement("label");on.className="questionPromptItem";let xt=document.createElement("span");xt.className="questionPromptLabel",xt.textContent=gt.required===!1?`${gt.query} (optional)`:gt.query,on.appendChild(xt);let an=document.createElement("input");an.type="text",an.className="questionPromptInput",an.dataset.key=gt.key,an.required=gt.required!==!1;let xr=String(Ke[gt.key]||"");ht[gt.key]=xr,an.value=xr,an.addEventListener("input",()=>{ht[gt.key]=an.value,an.classList.remove("invalid")}),on.appendChild(an),F.questionPromptList.appendChild(on)}yt=Ie}F.questionPrompt.classList.add("visible"),Mr(),Ye.syncVisibility(Cr,je,!0)}function x0(){Le.clearMessages(),Cr=!1,$="",P=0,V=null,y=!1,st.clearAttachments(),jn(),rn(),Lh(void 0),Ye.syncVisibility(!1,je,!1)}function la(L){F.taskSuggestion.classList.toggle("visible",!!L?.visible),F.taskSuggestionTextEl.textContent=L?.text||"Looks like a new request. Start a new task?",F.taskSuggestionPrimaryBtn.textContent=L?.primaryLabel||"Start new",F.taskSuggestionSecondaryBtn.textContent=L?.secondaryLabel||"Continue"}function w0(L){let W=String(L||"ready");ut.setStatus(W),ne=W;let Ie=W.toLowerCase(),Ce=u.getMood();if(Ie.includes("error")||Ie.includes("failed")){if(u.setMood("error",1800),Ce!=="error"){try{K.root.animate([{transform:"translateX(0)"},{transform:"translateX(-6px)"},{transform:"translateX(5px)"},{transform:"translateX(-4px)"},{transform:"translateX(3px)"},{transform:"translateX(-1px)"},{transform:"translateX(0)"}],{duration:800,easing:"ease-out"})}catch{}K.root.classList.add("error-wobble"),setTimeout(()=>K.root.classList.remove("error-wobble"),850)}}else Ie.includes("waiting")||Ie.includes("queued")||Ie.includes("paused")?u.setMood("waiting",0):Ie==="ready"||Ie.includes("complete")?u.setMood("idle"):u.setMood("running",1e3);f.dataset.mood=u.getMood(),i.motion?.palimpsest!==!1&&F.backdrop.classList.toggle("palimpsest",je&&u.getMood()==="running"),rn()}function S0(L){let W=je;if(je=L,L)ue=!0,P||(P=Date.now()),Me=0,br=0,De(),i.motion?.particles!==!1&&nn.setMode("ambient"),u.getState()==="window"&&(ut.closeOverflow(),F.panel.classList.remove("open"),F.panel.style.display="none",F.panel.style.transform="",F.panel.style.filter="",F.panel.style.animation="",F.backdrop.classList.remove("visible"),u.setState("bar"),nt.setExpanded(!1)),Nr.show(),nt.setRunning(!0),st.setSendAsStop(!0,()=>{e.onCancelRun?.()});else{Nr.hide(),nt.setRunning(!1),st.setSendAsStop(!1,()=>{}),ke(),ue=!1,cn.clearAll();try{hn.clearAll()}catch{}if(W&&u.getState()!=="window"&&bi(),setTimeout(()=>Le.smartScrollToBottom(),80),W&&u.getMood()!=="error"){i.motion?.particles!==!1&&nn.setMode("burst");try{K.root.animate([{transform:"scale(1)"},{transform:"scale(1.08)"},{transform:"scale(0.97)"},{transform:"scale(1)"}],{duration:600,easing:"ease-out"})}catch{}K.root.classList.add("completion-burst"),setTimeout(()=>{K.root.classList.remove("completion-burst"),Nt()},700)}else i.motion?.particles!==!1&&nn.setMode("idle")}i.motion?.palimpsest!==!1&&F.backdrop.classList.toggle("palimpsest",L&&u.getMood()==="running"),Ot(),Mr(),ut.setRunning(L),!L&&i.stream?.artifactAutoMinimize!==!1&&(y=!1,jn()),rn(),Ye.syncVisibility(Cr,je,!!$e?.questions?.length),kt(),W&&!L&&u.getMood()!=="error"||Nt()}function Dh(L,W){Ee=L,Ue=L==="observer"?W?.canComposeInObserver===!0:!0,Mr(),ut.setExecutionMode(L,W),L==="controller"?st.setStaticPlaceholder(""):W?.note?st.setStaticPlaceholder(W.note):Ue?st.setStaticPlaceholder("Send to take control and run here."):st.setStaticPlaceholder("Observer mode. Take control to run actions here.")}function Ph(L){let W=Fe(L);W&&!F.panel.classList.contains("open")&&K.setGreeting(W)}function Oh(){K.setGreeting(null)}function T0(L){a=L||void 0,Ye.setVisitorName(a,t)}function Bh(L){let W=Pf(L),Ie=JSON.stringify(ar||null),Ce=JSON.stringify(W||null);if(Ie===Ce){be();return}ar=W,wn="",bo=!1,ft==="listening"?kr("config"):(Re(),He(),ft="idle"),be()}function _0(L){if(i=Of({...e,experience:L},t,o),K.update(i),st.update(i),Le.setStreamConfig(i.stream),Nr.setStreamConfig(i.stream),Le.setThoughtStyle(e.thoughtStyle),Nr.setThoughtStyle(e.thoughtStyle),Mh(),i.theme?.fontFamily&&f.style.setProperty("font-family",`${i.theme.fontFamily}, Manrope, sans-serif`),f.dataset.surfaceStyle=i.theme?.surfaceStyle||"glass",i.motion?.particles===!1&&nn.setMode("idle"),i.motion?.filaments===!1&&cn.clearAll(),i.motion?.actionSpotlight===!1)try{hn.clearAll()}catch{}i.motion?.palimpsest===!1&&F.backdrop.classList.remove("palimpsest"),ie(),rn(),jn(),K.applyPosition()}function E0(){F.applyLayout(),f.style.display="",K.applyPosition(),kt()}function I0(){ke(),ca(),f.style.display="none",kt()}function A0(){u.destroy(),Pe(),Z(),Hn.dispose(),St.destroy(),nt.destroy(),Nr.destroy(),nn.destroy(),cn.destroy();try{hn.destroy()}catch{}ze.dispose(),J.dispose(),Yn.dispose(),window.removeEventListener("resize",Fo),window.removeEventListener("orientationchange",Fo),window.visualViewport?.removeEventListener("resize",Fo),window.visualViewport?.removeEventListener("scroll",Fo);try{document.removeEventListener("visibilitychange",B)}catch{}document.removeEventListener("keydown",Ch),d.remove(),c.remove()}function R0(L){}let Uh="";function C0(L){let W=L.map(Ce=>`${Ce.id}|${Ce.summary}|${Ce.status}|${Ce.updatedAt}|${Ce.isActive}`).join(";;");if(W===Uh)return;Uh=W;let Ie=L.find(Ce=>Ce.isActive);if(F.conversationPillLabel.textContent=Ie&&Zs(Ie.summary,{maxLength:44,maxUrlLength:32})||"Current task",F.conversationPill.style.display="flex",F.conversationList.innerHTML="",!L.length){let Ce=document.createElement("div");Ce.className="conversationEmpty",Ce.textContent="No previous chats yet.",F.conversationList.appendChild(Ce);return}for(let Ce of L){let Ke=document.createElement("div");Ke.className=`conversationItem ${Ce.status}${Ce.isActive?" active":""}`,Ke.dataset.id=Ce.id;let gt=document.createElement("span");gt.className="conversationDot";let on=document.createElement("div");on.className="conversationContent";let xt=document.createElement("div");xt.className="conversationSummary",xt.textContent=Zs(Ce.summary,{maxLength:64,maxUrlLength:36})||"Task";let an=document.createElement("div");an.className="conversationMeta";let xr=Ce.status==="running"?"Running":Ce.status==="paused"?"Paused":Ce.status==="completed"?"Done":Ce.status;an.textContent=`${xr} \xB7 ${Wo(Ce.updatedAt)}`,on.appendChild(xt),on.appendChild(an);let Bu=document.createElement("div");Bu.className="conversationActions";let _s=document.createElement("button");_s.type="button",_s.className="conversationDeleteBtn",_s.textContent="\xD7",_s.addEventListener("click",D0=>{D0.stopPropagation(),e.onDeleteConversation?.(Ce.id)}),Bu.appendChild(_s),Ke.appendChild(gt),Ke.appendChild(on),Ke.appendChild(Bu),Ke.addEventListener("click",()=>{te=!1,F.conversationDrawer.classList.remove("open"),e.onSwitchConversation?.(Ce.id)}),F.conversationList.appendChild(Ke)}}function M0(L){F.conversationList.querySelectorAll(".conversationItem").forEach(W=>{W.dataset.id===L?W.classList.add("active"):W.classList.remove("active")})}function N0(L){Mt=L.taskId;let W=Zs(L.rootUserInput,{maxLength:56,maxUrlLength:32})||"Task";F.pausedTaskBanner.innerHTML="";let Ie=document.createElement("span");Ie.className="pausedTaskText",Ie.textContent=`Paused: "${W}"`;let Ce=document.createElement("div");Ce.className="pausedTaskActions";let Ke=document.createElement("button");Ke.type="button",Ke.className="pausedTaskResumeBtn",Ke.textContent="Resume",Ke.addEventListener("click",()=>e.onResumeTask?.(Mt));let gt=document.createElement("button");gt.type="button",gt.className="pausedTaskCancelBtn",gt.textContent="Cancel",gt.addEventListener("click",()=>e.onCancelPausedTask?.(Mt)),Ce.appendChild(Ke),Ce.appendChild(gt),F.pausedTaskBanner.appendChild(Ie),F.pausedTaskBanner.appendChild(Ce),F.pausedTaskBanner.classList.add("visible")}function L0(){Mt="",F.pausedTaskBanner.classList.remove("visible")}if(e.greeting?.text&&e.greeting.disabled!==!0){let L=e.greeting.delay??800;_e=setTimeout(()=>{_e=null,F.panel.classList.contains("open")||(Ph(e.greeting.text),e.greeting.duration!=null&&e.greeting.duration>0&&(Je=setTimeout(()=>{Je=null,Oh()},e.greeting.duration)))},L)}return{addMessage:k0,setTranscript:(L,W)=>{Le.setTranscript(L,W.map(Ts)),Cr=L.length>0||W.length>0;let Ie=[...L].reverse().find(Ce=>Ce.role==="user");$=Ie?Fe(Ie.text):"",rn(),Ye.syncVisibility(Cr,je,!!$e?.questions?.length)},setQuestionPrompt:Lh,clearMessages:x0,addTimelineEvent:L=>{let W=Ts(L);Le.addTimelineEvent(W),Nr.addTimelineEvent(W),En(W.detailBlocks);let Ie=!0;if(W.kind==="thought"&&je&&ue&&(ue=!1,Ot()),(W.title||"").toLowerCase()==="run completed"){Le.setTraceExpanded(!1,i.stream?.maxVisibleLiveCards);try{hn.clearAll()}catch{}Ie=!1}let Ce=W.status||(W.kind==="error"?"error":W.kind==="tool_result"?"success":"pending");if(Ce==="error"?u.setMood("error",2200):Ce==="success"?u.setMood("success",1200):u.setMood("running",800),f.dataset.mood=u.getMood(),i.motion?.palimpsest!==!1&&F.backdrop.classList.toggle("palimpsest",je&&u.getMood()==="running"),rn(),W.kind==="tool_start"){Me++,De();let gt=!0;try{gt=oc(W,e.getLocalLogicalTabId?.())}catch{gt=!1}if(gt&&i.motion?.actionSpotlight!==!1)try{hn.addEvent(W)}catch{}if(Oe(W),Ie=!1,gt&&W.elementId!=null&&i.motion?.filaments!==!1)try{cn.addTarget(W.elementId,W.toolName);let on=e.resolveElement?.(W.elementId);if(on){let xt=on.getBoundingClientRect();Eo()||Ss(xt.left+xt.width/2,xt.top+xt.height/2),f.style.setProperty("--rv-palimpsest-x",`${xt.left+xt.width/2}px`),f.style.setProperty("--rv-palimpsest-y",`${xt.top+xt.height/2}px`)}else{let xt=F.panel.getBoundingClientRect();Eo()||Ss(xt.left,xt.top+xt.height/2)}}catch{}}if(W.kind==="tool_result"){br++,De();let gt=!0;try{gt=oc(W,e.getLocalLogicalTabId?.())}catch{gt=!1}if(gt)try{hn.fadeEvent(W)}catch{}if(gt&&W.elementId!=null)try{cn.fadeTarget(W.elementId)}catch{}}Ie&&Oe(W);let Ke=Le.traceOrder.length;Bt.textContent=String(Ke),Nt()},clearTimeline:()=>{ke(),Le.clearTimeline(),Nr.clear(),V=null,y=!1,jn(),rn(),Me=0,br=0,De(),cn.clearAll();try{hn.clearAll()}catch{}Bt.textContent="0"},setTaskSuggestion:la,setStatus:w0,setRunning:S0,setExecutionMode:Dh,setShortcuts:L=>{Ye.render(L,Pt),Ye.syncVisibility(Cr,je,!!$e?.questions?.length),St.setItems(L)},showGreeting:Ph,dismissGreeting:Oh,setVisitorName:T0,setVoiceConfig:Bh,setPlaceholders:L=>{st.setPlaceholders(L)},setExperience:_0,open:Ou,close:ca,minimize:sa,maximize:bi,show:E0,hide:I0,destroy:A0,setState:L=>{L==="window"?Ou():L==="bar"?sa():ca()},getState:()=>u.getState(),setTabs:R0,setConversations:C0,setActiveConversationId:M0,getScrollPosition:()=>Le.getScrollPosition(),setScrollPosition:L=>Le.setScrollPosition(L),showPausedTaskBanner:N0,hidePausedTaskBanner:L0}}var Bv=3,oI="rover:shared:",iI="rover:channel:",mp=2*6e4,Pv=9e4,hp=45e3,gp=2e4,aI=45e3;function Se(){return Date.now()}function no(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function hd(e){let t=String(e||"").trim();if(!t)return"";try{return new URL(t,window.location.href).toString()}catch{return t}}function Uv(e){if(!e||typeof e!="object")return;let t=typeof e.taskId=="string"?e.taskId.trim():"";if(!t)return;let n=e.status==="completed"||e.status==="cancelled"||e.status==="failed"||e.status==="ended"||e.status==="running"?e.status:"running";return{taskId:t,status:n,startedAt:Number(e.startedAt)||Se(),lastUserAt:Number(e.lastUserAt)||void 0,lastAssistantAt:Number(e.lastAssistantAt)||void 0,boundaryReason:typeof e.boundaryReason=="string"?e.boundaryReason:void 0,endedAt:Number(e.endedAt)||void 0}}function Fv(e){return e==="completed"?"completed":e==="cancelled"||e==="ended"?"cancelled":e==="failed"?"failed":"running"}function bd(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-4)){let r=n?.role==="user"?"user":n?.role==="model"?"model":void 0;if(!r)continue;let o=String(n?.message||"").replace(/\s+/g," ").trim();if(!o)continue;let i=t[t.length-1];i&&i.role===r&&i.message===o||t.push({role:r,message:o})}return t}function ic(e,t){if(!e)return;let n=typeof e=="string"?e:e?.text,r=String(n||"").trim();if(!r)return;let o=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():typeof t?.runId=="string"&&t.runId.trim()?t.runId.trim():void 0,i=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():typeof t?.taskId=="string"&&t.taskId.trim()?t.taskId.trim():void 0;return{text:r,ts:Number(e?.ts)||Se(),runId:o,taskId:i,stage:typeof e?.stage=="string"&&e.stage.trim()?e.stage.trim():void 0}}function zv(e){return Array.isArray(e)?e.slice(-Wt.uiMessages).map(t=>({id:String(t?.id||no("msg")),role:t?.role==="user"||t?.role==="assistant"||t?.role==="system"?t.role:"system",text:String(t?.text||""),blocks:La(t?.blocks),ts:Number(t?.ts)||Se(),sourceRuntimeId:typeof t?.sourceRuntimeId=="string"?t.sourceRuntimeId:void 0})).filter(t=>!!t.text||!!t.blocks?.length):[]}var sI=new Set(["click","type","select","clear","focus","hover","press","scroll","drag","navigate","read","wait","unknown"]);function cI(e){if(!Array.isArray(e))return;let t=new Set,n=[];for(let r of e){let o=Math.trunc(Number(r));!Number.isFinite(o)||o<=0||t.has(o)||(t.add(o),n.push(o))}return n.length?n:void 0}function yp(e){if(!e||typeof e!="object")return;let t=e,n=String(t.kind||"").trim();if(!sI.has(n))return;let r=Math.trunc(Number(t.primaryElementId)),o=Math.trunc(Number(t.logicalTabId)),i=cI(t.elementIds),a=typeof t.toolCallId=="string"&&t.toolCallId.trim()?t.toolCallId.trim().slice(0,128):void 0,s=typeof t.targetLabel=="string"&&t.targetLabel.trim()?t.targetLabel.trim().slice(0,64):void 0;return{kind:n,toolCallId:a,primaryElementId:Number.isFinite(r)&&r>0?r:void 0,elementIds:i,logicalTabId:Number.isFinite(o)&&o>0?o:void 0,valueRedacted:typeof t.valueRedacted=="boolean"?t.valueRedacted:void 0,targetLabel:s}}function Hv(e){return Array.isArray(e)?e.slice(-Wt.timelineEvents).map(t=>({id:String(t?.id||no("timeline")),kind:String(t?.kind||"status"),title:String(t?.title||"Step"),detail:typeof t?.detail=="string"?t.detail:void 0,detailBlocks:La(t?.detailBlocks),status:t?.status==="pending"||t?.status==="success"||t?.status==="error"||t?.status==="info"?t.status:void 0,ts:Number(t?.ts)||Se(),sourceRuntimeId:typeof t?.sourceRuntimeId=="string"?t.sourceRuntimeId:void 0,elementId:Number.isFinite(Number(t?.elementId))?Math.trunc(Number(t.elementId)):void 0,toolName:typeof t?.toolName=="string"?t.toolName.slice(0,120):void 0,narration:typeof t?.narration=="string"&&t.narration.replace(/\s+/g," ").trim().slice(0,220)||void 0,narrationActive:typeof t?.narrationActive=="boolean"?t.narrationActive:void 0,responseKind:t?.responseKind==="checkpoint"||t?.responseKind==="final"||t?.responseKind==="question"||t?.responseKind==="error"?t.responseKind:void 0,actionCue:yp(t?.actionCue)})).filter(t=>!!t.title):[]}var lI=new Set(["idle","running","awaiting_user","paused","blocked","completed","failed","cancelled"]);function dI(e){if(!e||typeof e!="object")return;let t=typeof e.taskId=="string"?e.taskId.trim():"";if(!t)return;let n=lI.has(e.state)?e.state:"running";return{taskId:t,state:n,startedAt:Number(e.startedAt)||Se(),endedAt:Number(e.endedAt)||void 0,activeRun:e.activeRun&&typeof e.activeRun=="object"&&e.activeRun.runId?{runId:String(e.activeRun.runId),text:String(e.activeRun.text||""),runtimeId:String(e.activeRun.runtimeId||""),startedAt:Number(e.activeRun.startedAt)||Se(),updatedAt:Number(e.activeRun.updatedAt)||Se()}:void 0,workerContext:yd(e.workerContext),uiMessages:Array.isArray(e.uiMessages)?e.uiMessages.slice(-Wt.uiMessages).map(r=>({id:String(r?.id||no("msg")),role:r?.role==="user"||r?.role==="assistant"||r?.role==="system"?r.role:"system",text:String(r?.text||""),blocks:La(r?.blocks),ts:Number(r?.ts)||Se(),sourceRuntimeId:typeof r?.sourceRuntimeId=="string"?r.sourceRuntimeId:void 0})).filter(r=>!!r.text||!!r.blocks?.length):[],timeline:Array.isArray(e.timeline)?e.timeline.slice(-Wt.timelineEvents).map(r=>({id:String(r?.id||no("timeline")),kind:String(r?.kind||"status"),title:String(r?.title||"Step"),detail:typeof r?.detail=="string"?r.detail:void 0,detailBlocks:La(r?.detailBlocks),status:r?.status==="pending"||r?.status==="success"||r?.status==="error"||r?.status==="info"?r.status:void 0,ts:Number(r?.ts)||Se(),sourceRuntimeId:typeof r?.sourceRuntimeId=="string"?r.sourceRuntimeId:void 0,elementId:Number.isFinite(Number(r?.elementId))?Math.trunc(Number(r.elementId)):void 0,toolName:typeof r?.toolName=="string"?r.toolName.slice(0,120):void 0,actionCue:yp(r?.actionCue)})).filter(r=>!!r.title):[],rootUserInput:typeof e.rootUserInput=="string"?e.rootUserInput:void 0,summary:typeof e.summary=="string"?e.summary:void 0,seedChatLog:bd(e.seedChatLog),transientStatus:ic(e.transientStatus,{runId:e.activeRun?.runId,taskId:t})}}function uI(e){if(!e||typeof e!="object")return;let t={},n=0;for(let r of Object.keys(e)){if(n>=20)break;let o=dI(e[r]);o&&(t[o.taskId]=o,n++)}return Object.keys(t).length>0?t:void 0}function jv(e){if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;try{return structuredClone(e)}catch{try{return JSON.parse(JSON.stringify(e))}catch{return}}}function La(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!n||typeof n!="object")continue;let r=n.type;if(r==="text"){let o=String(n.text||"");if(!o)continue;t.push({type:"text",text:o});continue}if(r==="tool_output"||r==="json"){let o=jv(n.data);t.push({type:r,data:o,label:typeof n.label=="string"?n.label:void 0,toolName:typeof n.toolName=="string"?n.toolName:void 0})}}return t.length?t:void 0}function Ov(e,t){if(!Array.isArray(e))return[];let n=e.length<=t?e:[e[0],...e.slice(-(t-1))],r=[];for(let o of n){let i=jv(o);i!==void 0&&r.push(i)}return r}function yd(e){if(!e||typeof e!="object")return;let t=Array.isArray(e.pendingAskUser?.questions)?e.pendingAskUser.questions.map((l,d)=>{let m=String(l?.key||l?.id||"").trim()||`clarification_${d+1}`,f=String(l?.query||l?.question||"").trim();if(f)return{key:m,query:f,id:typeof l?.id=="string"?l.id:void 0,question:typeof l?.question=="string"?l.question:void 0,choices:Array.isArray(l?.choices)?l.choices:void 0}}).filter(l=>!!l).slice(0,6):[],n=e.pendingAskUser?.stepRef,r=n&&Number.isFinite(Number(n.stepIndex))&&Number(n.stepIndex)>=0&&Number.isFinite(Number(n.functionIndex))&&Number(n.functionIndex)>=0?{stepIndex:Number(n.stepIndex),functionIndex:Number(n.functionIndex),...typeof n.accTreeId=="string"&&n.accTreeId.trim()?{accTreeId:n.accTreeId.trim()}:{}}:void 0,o=l=>l.slice(-Wt.uiMessages).map(d=>({role:typeof d?.role=="string"?d.role:"assistant",content:typeof d?.content=="string"?d.content:""})).filter(d=>!!d.content),i=Array.isArray(e.history)?o(e.history):[],a=Ov(e.plannerHistory,Wt.plannerHistory),s=Ov(e.agentPrevSteps,Wt.prevSteps),c=typeof e.rootUserInput=="string"?e.rootUserInput.trim():"";return{trajectoryId:typeof e.trajectoryId=="string"?e.trajectoryId:void 0,taskBoundaryId:typeof e.taskBoundaryId=="string"&&e.taskBoundaryId.trim()?e.taskBoundaryId.trim():void 0,rootUserInput:c||void 0,seedChatLog:bd(e.seedChatLog),history:i,plannerHistory:a,agentPrevSteps:s,pendingAskUser:t.length?{questions:t,source:e.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e.pendingAskUser?.askedAt)||Se(),boundaryId:typeof e.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...r?{stepRef:r}:{}}:void 0,updatedAt:Number(e.updatedAt)||Se()}}function bp(e,t){return{version:Bv,siteId:e,sessionId:t,seq:1,updatedAt:Se(),lease:void 0,tabs:[],nextLogicalTabId:1,activeLogicalTabId:void 0,uiMessages:[],timeline:[],uiStatus:void 0,transientStatus:void 0,activeRun:void 0,taskEpoch:1,task:void 0,workerContext:void 0,workflowLock:void 0,tasks:void 0,activeTaskId:void 0}}function Ma(e,t,n){let r=bp(t,n);if(!e||typeof e!="object")return r;let o={...r,version:Bv,siteId:t,sessionId:n,seq:Math.max(1,Number(e.seq)||1),updatedAt:Number(e.updatedAt)||Se(),tabs:Array.isArray(e.tabs)?e.tabs.map(s=>({logicalTabId:Math.max(1,Number(s?.logicalTabId)||0),runtimeId:typeof s?.runtimeId=="string"?s.runtimeId:void 0,url:String(s?.url||""),title:typeof s?.title=="string"?s.title:void 0,openedAt:Number(s?.openedAt)||Se(),updatedAt:Number(s?.updatedAt)||Se(),external:!!s?.external,openerRuntimeId:typeof s?.openerRuntimeId=="string"?s.openerRuntimeId:void 0,detachedAt:Number(s?.detachedAt)||void 0,detachedReason:s?.detachedReason==="navigation_handoff"||s?.detachedReason==="tab_close"||s?.detachedReason==="opened_pending_attach"||s?.detachedReason==="unknown"?s.detachedReason:void 0,handoffId:typeof s?.handoffId=="string"?s.handoffId:void 0,handoffRunId:typeof s?.handoffRunId=="string"?s.handoffRunId:void 0,handoffTargetUrl:typeof s?.handoffTargetUrl=="string"?s.handoffTargetUrl:void 0,handoffCreatedAt:Number(s?.handoffCreatedAt)||void 0})).filter(s=>!!s.logicalTabId):[],nextLogicalTabId:Math.max(1,Number(e.nextLogicalTabId)||1),activeLogicalTabId:Number(e.activeLogicalTabId)||void 0,uiMessages:zv(e.uiMessages),timeline:Hv(e.timeline),taskEpoch:Math.max(1,Number(e.taskEpoch)||1),task:Uv(e.task),workerContext:yd(e.workerContext),uiStatus:typeof e.uiStatus=="string"?e.uiStatus:void 0,transientStatus:ic(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:e.task?.taskId}),activeRun:e.activeRun&&typeof e.activeRun=="object"?{runId:String(e.activeRun.runId||""),text:String(e.activeRun.text||""),runtimeId:String(e.activeRun.runtimeId||""),startedAt:Number(e.activeRun.startedAt)||Se(),updatedAt:Number(e.activeRun.updatedAt)||Se()}:void 0,lease:e.lease&&typeof e.lease=="object"&&e.lease.holderRuntimeId?{holderRuntimeId:String(e.lease.holderRuntimeId),expiresAt:Number(e.lease.expiresAt)||0,updatedAt:Number(e.lease.updatedAt)||Se()}:void 0,workflowLock:e.workflowLock&&typeof e.workflowLock=="object"&&e.workflowLock.runtimeId&&e.workflowLock.runId?{runtimeId:String(e.workflowLock.runtimeId),runId:String(e.workflowLock.runId),lockedAt:Number(e.workflowLock.lockedAt)||Se(),expiresAt:Number(e.workflowLock.expiresAt)||0}:void 0,tasks:e.tasks&&typeof e.tasks=="object"?uI(e.tasks):void 0,activeTaskId:typeof e.activeTaskId=="string"?e.activeTaskId:void 0},i=o.tabs.length,a=new Set;return o.tabs=o.tabs.filter(s=>a.has(s.logicalTabId)?!1:(a.add(s.logicalTabId),!0)),o.nextLogicalTabId<=(o.tabs.at(-1)?.logicalTabId??0)&&(o.nextLogicalTabId=o.tabs.reduce((s,c)=>Math.max(s,c.logicalTabId),0)+1),i>0&&o.tabs.length<i&&console.warn(`[rover] sanitizeSharedState: dropped ${i-o.tabs.length} invalid/duplicate tab entries`),er(o),o}function fI(e){let t=String(e.task?.taskId||e.activeTaskId||"").trim();if(!t)return;let n=Number(e.task?.startedAt)||Se();e.tasks||(e.tasks={});let r=e.tasks[t];if(r)return e.activeTaskId=t,r;let o={taskId:t,state:Fv(e.task?.status),startedAt:n,endedAt:e.task?.endedAt,activeRun:e.activeRun,workerContext:e.workerContext,uiMessages:[...e.uiMessages],timeline:[...e.timeline],rootUserInput:e.workerContext?.rootUserInput,summary:void 0,seedChatLog:bd(e.workerContext?.seedChatLog),transientStatus:ic(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:t})};return e.tasks[t]=o,e.activeTaskId=t,o}function er(e){let t=fI(e);if(!t)return;t.state=Fv(e.task?.status),t.startedAt=Number(e.task?.startedAt)||t.startedAt||Se(),t.endedAt=Number(e.task?.endedAt)||void 0,t.activeRun=e.activeRun,t.workerContext=yd(e.workerContext),t.uiMessages=zv(e.uiMessages),t.timeline=Hv(e.timeline),t.rootUserInput=e.workerContext?.rootUserInput||t.rootUserInput;let n=[...t.uiMessages].reverse().find(r=>r.role==="assistant");t.summary=n?.text||t.summary,t.seedChatLog=bd(e.workerContext?.seedChatLog),t.transientStatus=ic(e.transientStatus??e.uiStatus,{runId:e.activeRun?.runId,taskId:t.taskId})}var Na=class Na{constructor(t){q(this,"siteId");q(this,"sessionId");q(this,"runtimeId");q(this,"leaseMs");q(this,"workflowLockMs");q(this,"heartbeatMs");q(this,"maxMessages");q(this,"maxTimeline");q(this,"onRoleChange");q(this,"onStateChange");q(this,"onSwitchRequested");q(this,"onTaskTabsExhausted");q(this,"key");q(this,"channelName");q(this,"state");q(this,"taskTabMapping",new Map);q(this,"channel",null);q(this,"heartbeatTimer",null);q(this,"storageHandler",null);q(this,"localLogicalTabId");q(this,"closing",!1);q(this,"started",!1);q(this,"heartbeatCount",0);q(this,"lastNotifiedStateHash","");q(this,"pendingRpcRequests",new Map);q(this,"rpcRequestHandler");q(this,"lastNotifiedRole");q(this,"roleChangeTimer",null);q(this,"probeTimers",[]);q(this,"onSessionTokenReceived");q(this,"onProjectionReceived");q(this,"lastFullHeartbeatAt",0);this.siteId=t.siteId,this.sessionId=t.sessionId,this.runtimeId=t.runtimeId,this.leaseMs=Math.max(4e3,Number(t.leaseMs)||12e3),this.workflowLockMs=Math.max(3e4,Number(t.workflowLockMs)||18e4),this.heartbeatMs=Math.max(800,Number(t.heartbeatMs)||2e3),this.maxMessages=Math.max(20,Number(t.maxMessages)||Wt.uiMessages),this.maxTimeline=Math.max(20,Number(t.maxTimeline)||Wt.timelineEvents),this.onRoleChange=t.onRoleChange,this.onStateChange=t.onStateChange,this.onSwitchRequested=t.onSwitchRequested,this.onTaskTabsExhausted=t.onTaskTabsExhausted,this.key=`${oI}${this.siteId}:${this.sessionId}`,this.channelName=`${iI}${this.siteId}:${this.sessionId}`,this.state=this.loadState(),this.normalizeDraftTabs(this.state)}tabFreshnessTs(t){return Math.max(Number(t.updatedAt)||0,Number(t.openedAt)||0,Number(t.detachedAt)||0)}isBetterTabCandidate(t,n){if(!n)return!0;let r=this.tabFreshnessTs(t),o=this.tabFreshnessTs(n);return r!==o?r>o:!!t.runtimeId!=!!n.runtimeId?!!t.runtimeId:t.logicalTabId<n.logicalTabId}isRuntimeTabFresh(t,n){return t.runtimeId?t.runtimeId===this.runtimeId?!0:n-this.tabFreshnessTs(t)<=aI:!1}isTabVisibleInScope(t,n,r){return t.runtimeId?this.isRuntimeTabFresh(t,n):t.external?n-this.tabFreshnessTs(t)<=mp:t.detachedReason==="opened_pending_attach"?n-this.tabFreshnessTs(t)<=gp:r==="context"?!1:t.detachedReason==="navigation_handoff"?n-this.tabFreshnessTs(t)<=hp:n-this.tabFreshnessTs(t)<=Pv}normalizeDraftTabs(t){let n=new Map;for(let u of t.tabs){if(!Number.isFinite(Number(u.logicalTabId))||Number(u.logicalTabId)<=0)continue;let h=n.get(u.logicalTabId);this.isBetterTabCandidate(u,h)&&n.set(u.logicalTabId,u)}let r=[],o=new Set;for(let u of t.tabs){if(o.has(u.logicalTabId))continue;let h=n.get(u.logicalTabId);h&&h===u&&(r.push(h),o.add(h.logicalTabId))}for(let[u,h]of n.entries())o.has(u)||(r.push(h),o.add(u));let i=new Map;for(let u of r){if(!u.runtimeId)continue;let h=i.get(u.runtimeId);this.isBetterTabCandidate(u,h)&&i.set(u.runtimeId,u)}if(t.tabs=r.filter(u=>!u.runtimeId||i.get(u.runtimeId)===u).sort((u,h)=>u.logicalTabId-h.logicalTabId),!t.tabs.length){t.activeLogicalTabId=void 0,t.nextLogicalTabId=1;return}let a=Se(),s=t.activeLogicalTabId?t.tabs.find(u=>u.logicalTabId===t.activeLogicalTabId):void 0,c=t.tabs.find(u=>u.runtimeId===this.runtimeId),d=[...t.tabs.filter(u=>this.isRuntimeTabFresh(u,a))].sort((u,h)=>this.tabFreshnessTs(h)-this.tabFreshnessTs(u))[0],m=s?.logicalTabId;s?(!s.runtimeId||!this.isRuntimeTabFresh(s,a))&&(m=c?.logicalTabId||d?.logicalTabId||s.logicalTabId):m=c?.logicalTabId||d?.logicalTabId||t.tabs[0]?.logicalTabId,t.activeLogicalTabId=m;let f=t.tabs.reduce((u,h)=>Math.max(u,h.logicalTabId),0);t.nextLogicalTabId=Math.max(Number(t.nextLogicalTabId)||1,f+1)}setTaskTabMapping(t){this.taskTabMapping=t}pruneDetachedTabs(t,n){let r=!!n?.dropRuntimeDetached,o=!!n?.dropAllDetachedExternal,i=!!n?.keepOnlyActiveLiveTab,a=!!n?.keepRecentExternalPlaceholders,s=Se(),c=new Map;if(this.onTaskTabsExhausted&&this.taskTabMapping.size>0)for(let l of t.tabs){let d=this.taskTabMapping.get(l.logicalTabId);if(d){let m=c.get(d);m||(m=new Set,c.set(d,m)),m.add(l.logicalTabId)}}if(t.tabs=t.tabs.filter(l=>{if(l.runtimeId)return this.isRuntimeTabFresh(l,s);if(r&&!l.external&&l.openerRuntimeId===this.runtimeId)return!1;if(l.external)return o?!1:s-this.tabFreshnessTs(l)<=mp;let d=s-this.tabFreshnessTs(l);return l.detachedReason==="navigation_handoff"?d<=hp:l.detachedReason==="opened_pending_attach"?d<=gp:d<=Pv}),i){this.normalizeDraftTabs(t);let l=t.tabs.filter(h=>this.isRuntimeTabFresh(h,s)),d=l.find(h=>h.logicalTabId===t.activeLogicalTabId),m=l.find(h=>h.runtimeId===this.runtimeId),f=[...l].sort((h,b)=>this.tabFreshnessTs(b)-this.tabFreshnessTs(h))[0],u=d?.logicalTabId||m?.logicalTabId||f?.logicalTabId;t.tabs=t.tabs.filter(h=>h.runtimeId?!!u&&h.logicalTabId===u:h.external?a&&s-this.tabFreshnessTs(h)<=mp:!1),t.activeLogicalTabId=u||t.tabs.find(h=>h.runtimeId)?.logicalTabId||t.tabs[0]?.logicalTabId}if(this.normalizeDraftTabs(t),this.onTaskTabsExhausted&&c.size>0){let l=new Set(t.tabs.map(d=>d.logicalTabId));for(let[d,m]of c){let f=!1;for(let u of m)if(l.has(u)){f=!0;break}f||this.onTaskTabsExhausted(d)}}}resetDraftToSingleCurrentTab(t,n,r){let o=Se(),i=hd(n),a=t.tabs.find(c=>c.runtimeId===this.runtimeId),s=Number(a?.openedAt)||o;t.tabs=[{logicalTabId:1,runtimeId:this.runtimeId,url:i||a?.url||"",title:r||a?.title,openedAt:s,updatedAt:o,external:!1,detachedAt:void 0,detachedReason:void 0}],t.activeLogicalTabId=1,t.nextLogicalTabId=2,t.lease={holderRuntimeId:this.runtimeId,expiresAt:o+this.leaseMs,updatedAt:o}}start(t){this.started||(this.started=!0,this.mutate("local",n=>{this.pruneDetachedTabs(n,{dropRuntimeDetached:!0})}),this.registerCurrentTab(window.location.href,document.title||void 0,t),this.claimLease(!1),typeof BroadcastChannel<"u"&&(this.channel=new BroadcastChannel(this.channelName),this.channel.onmessage=n=>{let r=n.data;if(!(!r||typeof r!="object")){if(r.type==="state"&&r.state){let o=Ma(r.state,this.siteId,this.sessionId);this.applyIncomingState(o)}r.type==="switch_request"&&r.targetRuntimeId===this.runtimeId&&this.onSwitchRequested?.(Number(r.logicalTabId)||0),r.type==="rpc_request"&&r.targetRuntimeId===this.runtimeId&&this.handleInboundRpcRequest(r),r.type==="rpc_response"&&r.targetRuntimeId===this.runtimeId&&this.handleInboundRpcResponse(r),r.type==="tab_navigated"&&r.runtimeId&&r.runtimeId!==this.runtimeId&&this.handleRemoteNavigation(r),r.type==="tab_closing"&&r.runtimeId&&r.runtimeId!==this.runtimeId&&this.handleRemoteTabClosing(r),r.type==="session_token"&&r.runtimeId!==this.runtimeId&&this.onSessionTokenReceived?.(r.token,r.expiresAt),r.type==="projection"&&r.runtimeId!==this.runtimeId&&this.onProjectionReceived?.(r.projection)}}),this.storageHandler=n=>{if(!(n.key!==this.key||!n.newValue))try{let r=Ma(JSON.parse(n.newValue),this.siteId,this.sessionId);this.applyIncomingState(r)}catch{}},window.addEventListener("storage",this.storageHandler),this.heartbeatTimer=window.setInterval(()=>{this.heartbeat()},this.heartbeatMs),typeof this.heartbeatTimer?.unref=="function"&&this.heartbeatTimer.unref(),this.notifyRoleChange(),this.onStateChange?.(this.state,"local"))}stop(){this.heartbeatCount=0,this.heartbeatTimer!=null&&(window.clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),this.roleChangeTimer!=null&&(window.clearTimeout(this.roleChangeTimer),this.roleChangeTimer=null),this.storageHandler&&(window.removeEventListener("storage",this.storageHandler),this.storageHandler=null),this.channel&&(this.channel.close(),this.channel=null);for(let[,t]of this.pendingRpcRequests)window.clearTimeout(t.timer),t.reject(new Error("SessionCoordinator stopped"));this.pendingRpcRequests.clear();for(let t of this.probeTimers)clearTimeout(t);this.probeTimers=[],this.started&&(this.started=!1,this.mutate("local",t=>{t.tabs=t.tabs.filter(n=>n.runtimeId!==this.runtimeId),t.lease?.holderRuntimeId===this.runtimeId&&(t.lease=void 0),t.activeLogicalTabId&&!t.tabs.some(n=>n.logicalTabId===t.activeLogicalTabId)&&(t.activeLogicalTabId=void 0)}))}isController(){let t=this.state.lease;return!t||t.expiresAt<=Se()?!1:t.holderRuntimeId===this.runtimeId}getRole(){return this.isController()?"controller":"observer"}getLocalLogicalTabId(){return this.localLogicalTabId}getActiveLogicalTabId(){return this.state.activeLogicalTabId}getCurrentHolderRuntimeId(){return this.state.lease?.holderRuntimeId}getState(){return this.state}getTaskEpoch(){return this.state.taskEpoch}getTask(){return this.state.task}getWorkerContext(){return this.state.workerContext}syncTask(t,n){this.mutate("local",r=>{n&&Number.isFinite(n)&&n>r.taskEpoch&&(r.taskEpoch=Math.max(1,Math.trunc(n))),t&&(r.task=Uv(t)||r.task,er(r))})}hydrateExternalState(t){let n=Ma(t,this.siteId,this.sessionId);this.pruneDetachedTabs(n,{dropRuntimeDetached:!0});let r=this.state.seq,o=this.state.updatedAt;this.applyIncomingState(n);let i=this.state.seq!==r||this.state.updatedAt!==o;if(!i&&this.state.tabs.some(s=>s.runtimeId?!1:s.external?!0:s.openerRuntimeId===this.runtimeId)){let s=this.state.tabs.length;this.mutate("local",c=>{this.pruneDetachedTabs(c,{dropRuntimeDetached:!0})}),i=this.state.tabs.length!==s}return i?(this.persistState(),this.localLogicalTabId||this.registerCurrentTab(window.location.href,document.title||void 0),!0):!1}listTabs(t){let n=t?.scope==="all"?"all":"context",r=Se();return this.state.tabs.filter(o=>this.isTabVisibleInScope(o,r,n))}pruneTabs(t){this.mutate("local",n=>{this.pruneDetachedTabs(n,t)})}resetTabsToCurrent(t,n){return this.mutate("local",r=>{this.resetDraftToSingleCurrentTab(r,t,n)}),this.notifyRoleChange(),this.localLogicalTabId||1}startNewTask(t){let n=Number(t.startedAt)||Se(),r={taskId:String(t.taskId||no("task")),status:t.status==="completed"||t.status==="cancelled"||t.status==="failed"||t.status==="ended"?t.status:"running",startedAt:n,lastUserAt:Number(t.lastUserAt)||n,lastAssistantAt:Number(t.lastAssistantAt)||void 0,boundaryReason:t.boundaryReason,endedAt:void 0};return this.mutate("local",o=>{o.taskEpoch=Math.max(1,Number(o.taskEpoch)||1)+1,o.task=r,o.uiMessages=[],o.timeline=[],o.uiStatus=void 0,o.transientStatus=void 0,o.activeRun=void 0,o.workerContext=void 0,this.resetDraftToSingleCurrentTab(o,window.location.href,document.title||void 0),er(o)}),r}endTask(t){let n;return this.mutate("local",r=>{r.task&&(r.task={...r.task,status:"ended",boundaryReason:t||r.task.boundaryReason,endedAt:Se()},r.activeRun=void 0,r.transientStatus=void 0,r.uiStatus=void 0,er(r),n=r.task)}),n}markTaskActivity(t,n=Se()){t!=="system"&&this.mutate("local",r=>{if(!r.task){r.task={taskId:no("task"),status:"running",startedAt:n,boundaryReason:"implicit",lastUserAt:t==="user"?n:void 0,lastAssistantAt:t==="assistant"?n:void 0};return}r.task.status==="running"&&(t==="user"&&(r.task.lastUserAt=n),t==="assistant"&&(r.task.lastAssistantAt=n),er(r))})}setWorkerContext(t){this.mutate("local",n=>{if(!t){n.workerContext=void 0,er(n);return}n.workerContext=yd(t),er(n)})}setStatus(t){this.mutate("local",n=>{let r=ic(t,{runId:n.activeRun?.runId,taskId:n.task?.taskId});n.uiStatus=r?.text,n.transientStatus=r,er(n)})}appendMessage(t){let n={id:t.id||no("msg"),role:t.role,text:String(t.text||""),blocks:La(t.blocks),ts:Number(t.ts)||Se(),sourceRuntimeId:this.runtimeId};return this.mutate("local",r=>{r.uiMessages.push(n),r.uiMessages.length>this.maxMessages&&(r.uiMessages=r.uiMessages.slice(-this.maxMessages)),r.task||(r.task={taskId:no("task"),status:"running",startedAt:n.ts,boundaryReason:"implicit"}),n.role==="user"?r.task.lastUserAt=n.ts:n.role==="assistant"&&(r.task.lastAssistantAt=n.ts),er(r)}),n}appendTimeline(t){let n={id:t.id||no("timeline"),kind:String(t.kind||"status"),title:String(t.title||"Step"),detail:t.detail?String(t.detail):void 0,detailBlocks:La(t.detailBlocks),status:t.status,ts:Number(t.ts)||Se(),sourceRuntimeId:this.runtimeId,elementId:Number.isFinite(Number(t.elementId))?Math.trunc(Number(t.elementId)):void 0,toolName:typeof t.toolName=="string"?t.toolName.slice(0,120):void 0,narration:typeof t.narration=="string"&&t.narration.replace(/\s+/g," ").trim().slice(0,220)||void 0,narrationActive:typeof t.narrationActive=="boolean"?t.narrationActive:void 0,responseKind:t.responseKind==="checkpoint"||t.responseKind==="final"||t.responseKind==="question"||t.responseKind==="error"?t.responseKind:void 0,actionCue:yp(t.actionCue)};return this.mutate("local",r=>{r.timeline.push(n),r.timeline.length>this.maxTimeline&&(r.timeline=r.timeline.slice(-this.maxTimeline)),er(r)}),n}clearTimeline(){this.mutate("local",t=>{t.timeline=[],er(t)})}setActiveRun(t){this.mutate("local",n=>{if(!t){n.activeRun=void 0,n.transientStatus=void 0,n.uiStatus=void 0,er(n);return}if(n.task&&n.task.status!=="running"){n.activeRun=void 0,er(n);return}n.activeRun={runId:t.runId,text:t.text,runtimeId:this.runtimeId,startedAt:n.activeRun?.runId===t.runId?n.activeRun.startedAt:Se(),updatedAt:Se()},er(n)})}requestControl(){return this.claimLease(!0)}registerCurrentTab(t,n,r){let o=hd(t),i=typeof r?.handoffId=="string"?r.handoffId.trim():"",a=Number(r?.sourceLogicalTabId),s;return this.mutate("local",c=>{let l=Se(),m=!!(c.lease&&c.lease.expiresAt>l)?c.lease?.holderRuntimeId:void 0,f=c.workflowLock&&c.workflowLock.runtimeId&&c.workflowLock.runtimeId!==this.runtimeId&&c.workflowLock.expiresAt>l?c.workflowLock:void 0,u=f?c.tabs.find(S=>S.runtimeId===f.runtimeId&&S.updatedAt>l-2*this.heartbeatMs):void 0,h=!u&&(!m||m===this.runtimeId),b=c.tabs.find(S=>S.runtimeId===this.runtimeId);if(b)b.url=o||b.url,b.title=n||b.title,b.updatedAt=l,b.detachedAt=void 0,b.detachedReason=void 0,b.handoffId=void 0,b.handoffRunId=void 0,b.handoffTargetUrl=void 0,b.handoffCreatedAt=void 0,s=b.logicalTabId;else{let S;if(i&&(S=c.tabs.find(k=>{if(k.runtimeId||String(k.handoffId||"").trim()!==i||Number.isFinite(a)&&a>0&&k.logicalTabId!==a)return!1;let x=l-Number(k.handoffCreatedAt||k.updatedAt||k.openedAt||0);return x>=0&&x<=3e4})),S||(S=c.tabs.find(k=>!k.runtimeId&&!k.external&&k.url===o&&l-k.openedAt<18e4)),S)S.runtimeId=this.runtimeId,S.url=o||S.url,S.title=n||S.title,S.updatedAt=l,S.detachedAt=void 0,S.detachedReason=void 0,S.handoffId=void 0,S.handoffRunId=void 0,S.handoffTargetUrl=void 0,S.handoffCreatedAt=void 0,s=S.logicalTabId;else{let k=c.nextLogicalTabId++;c.tabs.push({logicalTabId:k,runtimeId:this.runtimeId,url:o,title:n,openedAt:l,updatedAt:l,external:!1,detachedAt:void 0,detachedReason:void 0}),s=k}}s&&(c.tabs=c.tabs.filter(S=>{if(S.logicalTabId===s||S.runtimeId||S.external)return!0;if(i&&String(S.handoffId||"").trim()===i)return!1;let k=l-this.tabFreshnessTs(S);return!(!String(S.url||"").trim()&&k>gp||o&&S.url===o&&k<=hp)}));let v=c.activeLogicalTabId?c.tabs.find(S=>S.logicalTabId===c.activeLogicalTabId):void 0;u?c.activeLogicalTabId=u.logicalTabId:(!v||!v.runtimeId||v.logicalTabId===s||h)&&(c.activeLogicalTabId=s)}),this.notifyRoleChange(),this.localLogicalTabId||s||1}registerOpenedTab(t){let n=hd(t.url),r=0;return this.mutate("local",o=>{let i=Se(),a=o.tabs.find(s=>!s.runtimeId&&!!s.external==!!t.external&&s.url===n);if(a){a.title=t.title||a.title,a.updatedAt=i,a.openerRuntimeId=t.openerRuntimeId||a.openerRuntimeId,a.detachedAt=a.detachedAt||i,a.detachedReason="opened_pending_attach",r=a.logicalTabId;return}r=o.nextLogicalTabId++,o.tabs.push({logicalTabId:r,runtimeId:void 0,url:n,title:t.title,openedAt:i,updatedAt:i,external:!!t.external,openerRuntimeId:t.openerRuntimeId,detachedAt:i,detachedReason:"opened_pending_attach"})}),t.external&&this.probeRoverAvailability(r),{logicalTabId:r}}probeRoverAvailability(t){let r=setTimeout(()=>{let o=this.state.tabs.find(i=>i.logicalTabId===t);o&&!o.runtimeId&&this.mutate("local",i=>{let a=i.tabs.find(s=>s.logicalTabId===t);a&&(a.roverAvailability="not_available")})},5e3);typeof r?.unref=="function"&&r.unref(),this.probeTimers.push(r)}switchToLogicalTab(t){let n={ok:!1,reason:"Unknown tab"};return this.mutate("local",r=>{let o=r.tabs.find(i=>i.logicalTabId===t);if(!o){n={ok:!1,reason:`Tab ${t} not found`};return}if(r.activeLogicalTabId=t,o.runtimeId&&o.runtimeId!==this.runtimeId){r.lease={holderRuntimeId:o.runtimeId,expiresAt:Se()+this.leaseMs,updatedAt:Se()},this.channel&&this.channel.postMessage({type:"switch_request",logicalTabId:t,targetRuntimeId:o.runtimeId,sourceRuntimeId:this.runtimeId}),n={ok:!0,delegated:!0};return}if(!o.runtimeId){n={ok:!1,reason:`Tab ${t} is not attached to an active Rover runtime yet`};return}r.lease={holderRuntimeId:this.runtimeId,expiresAt:Se()+this.leaseMs,updatedAt:Se()},n={ok:!0,delegated:!1}}),this.notifyRoleChange(),n}sendCrossTabRpc(t,n,r,o=15e3){return new Promise((i,a)=>{if(!this.channel){a(new Error("BroadcastChannel not available"));return}let s=no("rpc"),c=window.setTimeout(()=>{this.pendingRpcRequests.delete(s),a(new Error(`Cross-tab RPC timed out after ${o}ms (method=${n}, target=${t})`))},o);typeof c?.unref=="function"&&c.unref(),this.pendingRpcRequests.set(s,{resolve:i,reject:a,timer:c}),this.channel.postMessage({type:"rpc_request",requestId:s,sourceRuntimeId:this.runtimeId,targetRuntimeId:t,method:n,params:r,timeoutMs:o,createdAt:Se()})})}setRpcRequestHandler(t){this.rpcRequestHandler=t}broadcastNavigation(t,n){this.channel&&this.channel.postMessage({type:"tab_navigated",runtimeId:this.runtimeId,logicalTabId:this.localLogicalTabId,url:t,title:n})}broadcastClosing(t){this.closing=!0,this.mutate("local",n=>{let r=Se(),o=n.tabs.find(i=>i.runtimeId===this.runtimeId);o&&(o.runtimeId=void 0,o.updatedAt=r,o.detachedAt=r,o.detachedReason=t?"navigation_handoff":"tab_close",o.handoffId=typeof t?.handoffId=="string"?t.handoffId:void 0,o.handoffRunId=typeof t?.runId=="string"?t.runId:void 0,o.handoffTargetUrl=typeof t?.targetUrl=="string"?t.targetUrl:void 0,o.handoffCreatedAt=Number(t?.ts)||r),n.lease?.holderRuntimeId===this.runtimeId&&(n.lease=void 0)}),this.channel&&this.channel.postMessage({type:"tab_closing",runtimeId:this.runtimeId,logicalTabId:this.localLogicalTabId,handoff:t})}isTabAlive(t){let n=this.state.tabs.find(r=>r.logicalTabId===t);return n?n.updatedAt>Se()-2*this.heartbeatMs:!1}broadcastSessionToken(t,n){this.channel&&this.channel.postMessage({type:"session_token",runtimeId:this.runtimeId,token:t,expiresAt:n})}broadcastProjection(t){this.channel&&this.channel.postMessage({type:"projection",runtimeId:this.runtimeId,projection:t})}acquireWorkflowLock(t,n){let r=!1;return this.mutate("local",o=>{let i=o.workflowLock;if(!n?.force&&i&&i.runtimeId!==this.runtimeId&&i.expiresAt>Se()){let a=o.tabs.find(c=>c.runtimeId===i.runtimeId);if(a&&a.updatedAt>Se()-2*this.heartbeatMs){r=!1;return}}o.workflowLock={runtimeId:this.runtimeId,runId:t,lockedAt:Se(),expiresAt:Se()+this.workflowLockMs},r=!0}),r}releaseWorkflowLock(t){this.mutate("local",n=>{n.workflowLock&&n.workflowLock.runId===t&&(n.workflowLock=void 0)})}isWorkflowLocked(){let t=this.state.workflowLock;return!t||t.runtimeId===this.runtimeId?!1:t.expiresAt>Se()}getWorkflowLockInfo(){let t=this.state.workflowLock;return!t||t.expiresAt<=Se()?{locked:!1}:{locked:!0,holderRuntimeId:t.runtimeId,runId:t.runId}}async handleInboundRpcRequest(t){let{requestId:n,sourceRuntimeId:r,method:o,params:i}=t;if(!this.rpcRequestHandler){this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!1,error:{message:"No RPC handler registered",code:"NO_HANDLER"}});return}try{let a=await this.rpcRequestHandler({method:o,params:i});this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!0,result:a})}catch(a){this.channel?.postMessage({type:"rpc_response",requestId:n,sourceRuntimeId:this.runtimeId,targetRuntimeId:r,ok:!1,error:{message:a?.message||String(a)}})}}handleInboundRpcResponse(t){let{requestId:n,ok:r,result:o,error:i}=t,a=this.pendingRpcRequests.get(n);a&&(this.pendingRpcRequests.delete(n),window.clearTimeout(a.timer),r?a.resolve(o):a.reject(new Error(i?.message||"Cross-tab RPC failed")))}handleRemoteNavigation(t){let{runtimeId:n,url:r,title:o}=t;this.mutate("local",i=>{let a=i.tabs.find(s=>s.runtimeId===n);a&&(a.url=r||a.url,a.title=o||a.title,a.updatedAt=Se())})}handleRemoteTabClosing(t){let{runtimeId:n}=t,r=t?.handoff,o=typeof r?.handoffId=="string"&&r.handoffId.trim()?r.handoffId.trim():void 0,i=typeof r?.runId=="string"&&r.runId.trim()?r.runId.trim():void 0,a=typeof r?.targetUrl=="string"&&r.targetUrl.trim()?r.targetUrl.trim():void 0,s=Number(r?.ts)||Se();this.mutate("local",c=>{let l=Se(),d=c.tabs.find(m=>m.runtimeId===n);d&&(d.runtimeId=void 0,d.updatedAt=l,d.detachedAt=l,d.detachedReason=o?"navigation_handoff":"tab_close",d.handoffId=o,d.handoffRunId=i,d.handoffTargetUrl=a,d.handoffCreatedAt=s),c.lease?.holderRuntimeId===n&&(c.lease=void 0),c.workflowLock?.runtimeId===n&&(c.workflowLock=void 0),c.activeRun?.runtimeId===n&&(c.activeRun=void 0),c.activeLogicalTabId&&!c.tabs.some(m=>m.logicalTabId===c.activeLogicalTabId)&&(c.activeLogicalTabId=this.localLogicalTabId||c.tabs[0]?.logicalTabId)}),this.notifyRoleChange()}heartbeat(){if(this.closing)return;this.heartbeatCount++;let t=hd(window.location.href),n=document.title||void 0,r=Se(),o=this.state.lease,i=o&&o.holderRuntimeId===this.runtimeId&&o.expiresAt>r,a=r-this.lastFullHeartbeatAt<5e3,s=this.state.tabs.find(l=>l.runtimeId===this.runtimeId);if(i&&a&&s){s.url=t||s.url,s.title=n||s.title,s.updatedAt=r,s.detachedAt=void 0,s.detachedReason=void 0,this.state.updatedAt=r;return}this.lastFullHeartbeatAt=r;let c=this.heartbeatCount%Na.LS_HEARTBEAT_DIVISOR!==0;this.mutate("local",l=>{let d=l.tabs.find(I=>I.runtimeId===this.runtimeId);if(d)d.url=t||d.url,d.title=n||d.title,d.updatedAt=Se(),d.detachedAt=void 0,d.detachedReason=void 0;else{let I=Se(),M=l.nextLogicalTabId++;l.tabs.push({logicalTabId:M,runtimeId:this.runtimeId,url:t,title:n,openedAt:I,updatedAt:I,external:!1,detachedAt:void 0,detachedReason:void 0})}let m=l.lease,f=!m||m.expiresAt<=Se(),u=m&&m.holderRuntimeId!==this.runtimeId&&m.expiresAt>Se()?m.holderRuntimeId:void 0,h=u?l.tabs.find(I=>I.runtimeId===u):void 0,b=!!(h&&h.updatedAt>Se()-2*this.heartbeatMs),v=l.workflowLock?.runtimeId,S=v?l.tabs.find(I=>I.runtimeId===v):void 0,k=!!(S&&S.runtimeId&&S.runtimeId!==this.runtimeId&&S.updatedAt>Se()-2*this.heartbeatMs);if(l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&(l.workflowLock.expiresAt<=Se()||!k)&&(l.workflowLock=void 0),l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&k&&S&&(l.activeLogicalTabId=S.logicalTabId),l.activeRun?.runtimeId&&l.activeRun.runtimeId!==this.runtimeId){let I=l.tabs.find(X=>X.runtimeId===l.activeRun?.runtimeId);I&&I.updatedAt>Se()-2*this.heartbeatMs||(l.activeRun=void 0)}let x=!!(l.activeRun?.runtimeId&&l.activeRun.runtimeId!==this.runtimeId),C=!!(l.workflowLock&&l.workflowLock.runtimeId!==this.runtimeId&&l.workflowLock.expiresAt>Se()),_=!!(u&&!b&&!x&&!C);(f||m?.holderRuntimeId===this.runtimeId||_)&&(l.lease={holderRuntimeId:this.runtimeId,expiresAt:Se()+this.leaseMs,updatedAt:Se()},!l.activeLogicalTabId&&this.localLogicalTabId&&(l.activeLogicalTabId=this.localLogicalTabId)),l.workflowLock?.runtimeId===this.runtimeId&&(l.workflowLock.expiresAt=Se()+this.workflowLockMs),this.pruneDetachedTabs(l)},{skipPersist:c}),this.notifyRoleChange()}reloadFromStorage(){let t=this.loadState();return this.normalizeDraftTabs(t),(t.seq>this.state.seq||t.seq===this.state.seq&&t.updatedAt>this.state.updatedAt)&&(this.state=t,this.syncLocalLogicalTabId(),this.onStateChange?.(this.state,"remote")),this.closing=!1,this.state}claimLease(t){let n=!1;return this.mutate("local",r=>{let o=r.lease,i=!o||o.expiresAt<=Se();(t||i||o?.holderRuntimeId===this.runtimeId)&&(r.lease={holderRuntimeId:this.runtimeId,expiresAt:Se()+this.leaseMs,updatedAt:Se()},!r.activeLogicalTabId&&this.localLogicalTabId&&(r.activeLogicalTabId=this.localLogicalTabId),n=!0)}),this.notifyRoleChange(),n}notifyRoleChange(){this.getRole()!==this.lastNotifiedRole&&(this.roleChangeTimer!=null&&window.clearTimeout(this.roleChangeTimer),this.roleChangeTimer=window.setTimeout(()=>{this.roleChangeTimer=null;let n=this.getRole();n!==this.lastNotifiedRole&&(this.lastNotifiedRole=n,this.onRoleChange?.(n,{localLogicalTabId:this.localLogicalTabId,activeLogicalTabId:this.state.activeLogicalTabId,holderRuntimeId:this.state.lease?.holderRuntimeId}))},Na.ROLE_CHANGE_DEBOUNCE_MS),typeof this.roleChangeTimer?.unref=="function"&&this.roleChangeTimer.unref())}syncLocalLogicalTabId(){let t=this.state.tabs.find(n=>n.runtimeId===this.runtimeId);this.localLogicalTabId=t?.logicalTabId}mutate(t,n,r){if(t==="local")try{let a=window.localStorage.getItem(this.key);if(a){let s=Ma(JSON.parse(a),this.siteId,this.sessionId);(s.seq>this.state.seq||s.seq===this.state.seq&&s.updatedAt>this.state.updatedAt)&&(this.state=s)}}catch{}let o=Ma(this.state,this.siteId,this.sessionId);n(o),this.normalizeDraftTabs(o),o.seq=Math.max(1,Number(o.seq)||1)+(t==="local"?1:0),o.updatedAt=Se(),this.state=o,this.syncLocalLogicalTabId(),t==="local"&&(r?.skipPersist||this.persistState(),this.channel&&this.channel.postMessage({type:"state",sourceRuntimeId:this.runtimeId,state:this.state}));let i=this.computeStateHash(this.state);i!==this.lastNotifiedStateHash&&(this.lastNotifiedStateHash=i,this.onStateChange?.(this.state,t))}computeStateHash(t){let n=t.tabs;return`${n.length}:${n.map(r=>`${r.logicalTabId}|${r.runtimeId||""}|${r.url}|${r.title||""}|${!!r.detachedAt}`).join(";")}:${t.activeLogicalTabId??""}:${t.lease?.holderRuntimeId??""}:${t.activeRun?.runId??""}:${t.activeRun?.runtimeId??""}:${t.workflowLock?.runtimeId??""}:${t.taskEpoch??""}:${t.uiMessages?.length??0}:${t.timeline?.length??0}:${t.transientStatus?.text??t.uiStatus??""}`}applyIncomingState(t){t&&(t.seq<this.state.seq||t.seq===this.state.seq&&t.updatedAt<=this.state.updatedAt||(this.pruneDetachedTabs(t),this.normalizeDraftTabs(t),this.state=t,this.syncLocalLogicalTabId(),this.onStateChange?.(this.state,"remote"),this.notifyRoleChange()))}loadState(){try{let t=window.localStorage.getItem(this.key);if(!t)return bp(this.siteId,this.sessionId);let n=JSON.parse(t);return Ma(n,this.siteId,this.sessionId)}catch(t){return console.warn("[rover] Failed to load shared state from localStorage:",t),bp(this.siteId,this.sessionId)}}persistState(){try{window.localStorage.setItem(this.key,JSON.stringify(this.state))}catch{}}};q(Na,"LS_HEARTBEAT_DIVISOR",5),q(Na,"ROLE_CHANGE_DEBOUNCE_MS",200);var gd=Na;var $v="rover",vd="rover_shortcut";function qv(e,t){return String(e||"").trim().replace(/^[?#&]+/,"").slice(0,64)||t}function Wv(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function Vv(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function ac(e){let t=qv(e?.promptParam,$v),n=qv(e?.shortcutParam,vd);return n===t&&(n=n===vd?`${vd}_id`:vd,n===t&&(t=$v)),{...typeof e?.enabled=="boolean"?{enabled:e.enabled}:{},promptParam:t,shortcutParam:n,consume:e?.consume!==!1}}function kd(e){let t=ac(e);return{enabled:t.enabled===!0,promptParam:t.promptParam,shortcutParam:t.shortcutParam,consume:t.consume}}function vp(e){return{enabled:e?.enabled===!0}}function Kv(e,t){let n=ac(e),r=typeof n.enabled=="boolean",o=vp(t);return{enabled:r?n.enabled===!0:o.enabled,promptParam:n.promptParam,shortcutParam:n.shortcutParam,consume:n.consume}}function Gv(e,t){let n=kd(t),r=Wv(e),o=Vv(r.searchParams,n.shortcutParam);if(o)return{kind:"shortcut",paramName:n.shortcutParam,value:o,signature:`shortcut:${n.shortcutParam}:${o}`};let i=Vv(r.searchParams,n.promptParam);return i?{kind:"prompt",paramName:n.promptParam,value:i,signature:`prompt:${n.promptParam}:${i}`}:null}function kp(e,t){let n=kd(t),r=Wv(e);r.searchParams.delete(n.promptParam),r.searchParams.delete(n.shortcutParam);let o=r.searchParams.toString();return`${r.pathname}${o?`?${o}`:""}${r.hash}`}var xp="rover_launch",Yv="rover_attach";function Jv(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function Xv(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function Qv(e){let t=Jv(e),n=Xv(t.searchParams,xp),r=Xv(t.searchParams,Yv);return!n||!r?null:{requestId:n,attachToken:r,signature:`${xp}:${n}:${r}`}}function Zv(e){let t=Jv(e);t.searchParams.delete(xp),t.searchParams.delete(Yv);let n=t.searchParams.toString();return`${t.pathname}${n?`?${n}`:""}${t.hash}`}function sc(e){return e==="cross_host_navigation"||e==="agent_navigation"||e==="handoff"||e==="page_reload"||e==="worker_interrupted"?e:void 0}function wp(e){return sc(e)!==void 0}var Sp="rover_receipt",Tp="rover_anchor";function ek(e){return e instanceof URL?new URL(e.toString()):new URL(String(e||""),"https://rover.local")}function _p(e,t){let n=e.getAll(t);for(let r=n.length-1;r>=0;r-=1){let o=String(n[r]||"").trim();if(o)return o}return""}function tk(e){return new URLSearchParams(String(e.hash||"").replace(/^#\??/,""))}function Ep(e){let t=ek(e),n=tk(t),r=_p(n,Sp);if(!r)return null;let o=_p(n,Tp)||void 0;return{receipt:r,anchor:o,signature:`${Sp}:${r}`}}function nk(e){let t=ek(e),n=tk(t),r=_p(n,Tp);n.delete(Sp),n.delete(Tp);let o=n.toString(),i=t.searchParams.toString(),a=r?`#${r}${o?`&${o}`:""}`:o?`#${o}`:"";return`${t.pathname}${i?`?${i}`:""}${a}`}var pI="https://rover.rtrvr.ai/embed.js",mI="https://agent.rtrvr.ai";function zt(e){return String(e||"").trim()}function Dt(e){return String(e||"").replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function hI(e){return e.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function Ni(e){let t=zt(e).toLowerCase();if(t){if(["1","true","yes","on"].includes(t))return!0;if(["0","false","no","off"].includes(t))return!1}}function gI(e){let t=zt(e).split(",").map(n=>n.trim()).filter(Boolean);if(t.length)return Array.from(new Set(t))}function bI(e){let t=Number(zt(e));return Number.isFinite(t)?Math.trunc(t):void 0}function ok(e){let t=zt(e);if(!t)return;let n=t.match(/^#?([0-9a-fA-F]{6})$/);return n?`#${n[1].toUpperCase()}`:void 0}function ik(e){if(!e||typeof e!="object")return;let t={};typeof e.enabled=="boolean"&&(t.enabled=e.enabled);let n=zt(e.language).replace(/[^a-zA-Z0-9-]/g,"").slice(0,48);n&&(t.language=n);let r=Number(e.autoStopMs);return Number.isFinite(r)&&(t.autoStopMs=Math.max(800,Math.min(5e3,Math.trunc(r)))),Object.keys(t).length?t:void 0}function ak(e){if(!e||typeof e!="object")return;let t={};if(e.audio&&typeof e.audio=="object"){let n=e.audio.narration&&typeof e.audio.narration=="object"?e.audio.narration:void 0;if(n){let r={};typeof n.enabled=="boolean"&&(r.enabled=n.enabled),(n.defaultMode==="guided"||n.defaultMode==="always"||n.defaultMode==="off")&&(r.defaultMode=n.defaultMode);let o=Number(n.rate);Number.isFinite(o)&&(r.rate=Math.max(.85,Math.min(1.15,o)));let i=zt(n.language).replace(/[^a-zA-Z0-9-]/g,"").slice(0,24);i&&(r.language=i),(n.voicePreference==="auto"||n.voicePreference==="system"||n.voicePreference==="natural")&&(r.voicePreference=n.voicePreference),Object.keys(r).length&&(t.audio={narration:r})}}if(e.motion&&typeof e.motion=="object"){let n={};typeof e.motion.actionSpotlight=="boolean"&&(n.actionSpotlight=e.motion.actionSpotlight);let r=ok(e.motion.actionSpotlightColor);r&&(n.actionSpotlightColor=r),Object.keys(n).length&&(t.motion=n)}return Object.keys(t).length?t:void 0}function yI(e){if(!e||typeof e!="object")return;let t={},n=ik(e.voice);n&&(t.voice=n);let r=ak(e.experience);return r&&(t.experience=r),Object.keys(t).length?t:void 0}function Ip(e){let t={...e,scriptUrl:zt(e.scriptUrl)||pI},n=yI(e.ui);return n?t.ui=n:delete t.ui,t}function rk(e){let t=Ip(e),n={siteId:t.siteId};return t.publicKey&&(n.publicKey=t.publicKey),t.sessionToken&&(n.sessionToken=t.sessionToken),t.sessionId&&(n.sessionId=t.sessionId),t.siteKeyId&&(n.siteKeyId=t.siteKeyId),t.apiBase&&(n.apiBase=t.apiBase),t.workerUrl&&(n.workerUrl=t.workerUrl),t.allowedDomains?.length&&(n.allowedDomains=t.allowedDomains),t.domainScopeMode&&(n.domainScopeMode=t.domainScopeMode),typeof t.cloudSandboxEnabled=="boolean"&&(n.cloudSandboxEnabled=t.cloudSandboxEnabled),t.sessionScope&&(n.sessionScope=t.sessionScope),typeof t.openOnInit=="boolean"&&(n.openOnInit=t.openOnInit),t.mode&&(n.mode=t.mode),typeof t.allowActions=="boolean"&&(n.allowActions=t.allowActions),typeof t.pageConfig?.disableAutoScroll=="boolean"&&(n.pageConfig={disableAutoScroll:t.pageConfig.disableAutoScroll}),t.ui&&(n.ui=t.ui),n}function vI(){return["(function(){"," var r = window.rover = window.rover || function(){"," (r.q = r.q || []).push(arguments);"," };"," r.l = +new Date();","})();"].join(`
|
|
4369
|
+
`)}function kI(){return"(function(){var r=window.rover=window.rover||function(){(r.q=r.q||[]).push(arguments)};r.l=+new Date()})();"}function sk(e,t=!1){let n=Ip(e),r=t?JSON.stringify(rk(n)):JSON.stringify(rk(n),null,2),o=n.attachLaunch?t?JSON.stringify(n.attachLaunch):JSON.stringify(n.attachLaunch,null,2):"",i=JSON.stringify(n.scriptUrl);if(t)return[kI(),`rover('boot', ${r});`,n.attachLaunch?`rover('attachLaunch', ${o});`:"",`(function(){var s=document.createElement('script');s.src=${i};s.async=true;(document.head||document.documentElement).appendChild(s)})();`].filter(Boolean).join("");let a=[vI(),"",`rover('boot', ${r});`];return n.attachLaunch&&a.push(`rover('attachLaunch', ${o});`),a.push("","(function(){",' var s = document.createElement("script");',` s.src = ${i};`," s.async = true;"," (document.head || document.documentElement).appendChild(s);","})();"),a.join(`
|
|
4370
|
+
`)}function ck(e){return sk(e,!1)}function lk(e){return`javascript:${sk(e,!0)}`}function dk(e){let t=Ip(e),n=[`src="${Dt(t.scriptUrl)}"`,`data-site-id="${Dt(t.siteId)}"`];t.publicKey&&n.push(`data-public-key="${Dt(t.publicKey)}"`),t.sessionToken&&n.push(`data-session-token="${Dt(t.sessionToken)}"`),t.sessionId&&n.push(`data-session-id="${Dt(t.sessionId)}"`),t.siteKeyId&&n.push(`data-site-key-id="${Dt(t.siteKeyId)}"`),t.apiBase&&n.push(`data-api-base="${Dt(t.apiBase)}"`),t.workerUrl&&n.push(`data-worker-url="${Dt(t.workerUrl)}"`),t.allowedDomains?.length&&n.push(`data-allowed-domains="${Dt(t.allowedDomains.join(","))}"`),t.domainScopeMode&&n.push(`data-domain-scope-mode="${Dt(t.domainScopeMode)}"`),typeof t.cloudSandboxEnabled=="boolean"&&n.push(`data-cloud-sandbox-enabled="${Dt(String(t.cloudSandboxEnabled))}"`),t.sessionScope&&n.push(`data-session-scope="${Dt(t.sessionScope)}"`),typeof t.openOnInit=="boolean"&&n.push(`data-open-on-init="${Dt(String(t.openOnInit))}"`),t.mode&&n.push(`data-mode="${Dt(t.mode)}"`),typeof t.allowActions=="boolean"&&n.push(`data-allow-actions="${Dt(String(t.allowActions))}"`),typeof t.pageConfig?.disableAutoScroll=="boolean"&&n.push(`data-disable-auto-scroll="${Dt(String(t.pageConfig.disableAutoScroll))}"`),typeof t.ui?.voice?.enabled=="boolean"&&n.push(`data-voice-enabled="${Dt(String(t.ui.voice.enabled))}"`),t.ui?.voice?.language&&n.push(`data-voice-language="${Dt(t.ui.voice.language)}"`),typeof t.ui?.voice?.autoStopMs=="number"&&n.push(`data-voice-auto-stop-ms="${Dt(String(t.ui.voice.autoStopMs))}"`);let r=t.ui?.experience?.audio?.narration;typeof r?.enabled=="boolean"&&n.push(`data-narration-enabled="${Dt(String(r.enabled))}"`),r?.defaultMode&&n.push(`data-narration-default-mode="${Dt(r.defaultMode)}"`),typeof r?.rate=="number"&&n.push(`data-narration-rate="${Dt(String(r.rate))}"`),r?.language&&n.push(`data-narration-language="${Dt(r.language)}"`),r?.voicePreference&&n.push(`data-narration-voice-preference="${Dt(r.voicePreference)}"`),typeof t.ui?.experience?.motion?.actionSpotlight=="boolean"&&n.push(`data-action-spotlight="${Dt(String(t.ui.experience.motion.actionSpotlight))}"`),t.ui?.experience?.motion?.actionSpotlightColor&&n.push(`data-action-spotlight-color="${Dt(t.ui.experience.motion.actionSpotlightColor)}"`);let o=`${zt(t.apiBase)||mI}/v1/a2w/runs`;return[`<script type="application/agent+json" data-rover-agent-discovery="marker">${hI(JSON.stringify({a2w:o,run:o}))}<\/script>`,'<link rel="service-desc" href="/.well-known/agent-card.json" type="application/json" data-rover-agent-discovery="service-desc" />','<link rel="service-doc" href="/llms.txt" type="text/markdown" data-rover-agent-discovery="service-doc" />',`<script ${n.join(" ")}><\/script>`].join(`
|
|
4371
|
+
`)}function Ap(e){let t=zt(e.getAttribute("data-site-id")),n=zt(e.getAttribute("data-public-key")),r=zt(e.getAttribute("data-session-token"));if(!t||!n&&!r)return null;let o={siteId:t};n&&(o.publicKey=n),r&&(o.sessionToken=r);let i=zt(e.getAttribute("data-session-id"));i&&(o.sessionId=i);let a=zt(e.getAttribute("data-site-key-id"));a&&(o.siteKeyId=a);let s=zt(e.getAttribute("data-api-base"));s&&(o.apiBase=s);let c=zt(e.getAttribute("data-worker-url"));c&&(o.workerUrl=c);let l=gI(e.getAttribute("data-allowed-domains"));l&&(o.allowedDomains=l);let d=zt(e.getAttribute("data-domain-scope-mode"));(d==="host_only"||d==="registrable_domain")&&(o.domainScopeMode=d);let m=Ni(e.getAttribute("data-cloud-sandbox-enabled"));typeof m=="boolean"&&(o.cloudSandboxEnabled=m);let f=zt(e.getAttribute("data-session-scope"));(f==="shared_site"||f==="tab")&&(o.sessionScope=f);let u=Ni(e.getAttribute("data-open-on-init"));typeof u=="boolean"&&(o.openOnInit=u);let h=zt(e.getAttribute("data-mode"));(h==="safe"||h==="full")&&(o.mode=h);let b=Ni(e.getAttribute("data-allow-actions"));typeof b=="boolean"&&(o.allowActions=b);let v=Ni(e.getAttribute("data-disable-auto-scroll"));typeof v=="boolean"&&(o.pageConfig={disableAutoScroll:v});let S=Ni(e.getAttribute("data-voice-enabled")),k=zt(e.getAttribute("data-voice-language")),x=bI(e.getAttribute("data-voice-auto-stop-ms")),C=Ni(e.getAttribute("data-narration-enabled")),_=zt(e.getAttribute("data-narration-default-mode")),I=Number(zt(e.getAttribute("data-narration-rate"))),M=zt(e.getAttribute("data-narration-language")),X=zt(e.getAttribute("data-narration-voice-preference")),O=Ni(e.getAttribute("data-action-spotlight")),J=ok(e.getAttribute("data-action-spotlight-color")),ee=ik({...typeof S=="boolean"?{enabled:S}:{},...k?{language:k}:{},...typeof x=="number"?{autoStopMs:x}:{}}),se=ak({...typeof C=="boolean"||_||Number.isFinite(I)||M||X?{audio:{narration:{...typeof C=="boolean"?{enabled:C}:{},..._==="guided"||_==="always"||_==="off"?{defaultMode:_}:{},...Number.isFinite(I)?{rate:I}:{},...M?{language:M}:{},...X==="auto"||X==="system"||X==="natural"?{voicePreference:X}:{}}}}:{},...typeof O=="boolean"||J?{motion:{...typeof O=="boolean"?{actionSpotlight:O}:{},...J?{actionSpotlightColor:J}:{}}}:{}});return(ee||se)&&(o.ui={...ee?{voice:ee}:{},...se?{experience:se}:{}}),o}function xI(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function zr(e){let t="https://agent.rtrvr.ai",n=String(e||t).trim().replace(/\/+$/,"");if(!n)return t;if(n.endsWith("/extensionRouter/v2/rover"))return n.slice(0,-25);let r=n.match(/\/v\d+\/rover$/);return r?.[0]?n.slice(0,-r[0].length):n.endsWith("/extensionRouter")?n.slice(0,-16):n.endsWith("/v2/rover")?n.slice(0,-9):n}function lc(e){let t=new Set,n=[];for(let r of e){let o=dc(r);!o||t.has(o)||(t.add(o),n.push(o))}return n}function wI(e){let t=zr(e),n=`${t}/v2/rover`,r=dc(String(e||"").trim()),o=r.replace("/extensionRouter/v2/rover","/v2/rover");return r.endsWith("/v2/rover")||r.endsWith("/extensionRouter/v2/rover")?lc([o,n]):lc(!r&&t==="https://agent.rtrvr.ai"?[n,"https://extensionrouter.rtrvr.ai/v2/rover"]:[n])}function uk(e){return wI(e)}function SI(e){return uk(e)[0]||`${zr(e)}/v2/rover`}function Di(e){return uk(e)}function wd(e){return SI(e)}function dc(e){return String(e||"").replace(/\/+$/,"")}function xd(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}function Li(e){return!!e&&typeof e=="object"&&typeof e.sessionId=="string"&&Number.isFinite(Number(e.epoch))}function Sd(e){let t=Number(e);return Number.isFinite(t)?t:void 0}function TI(e){if(!e||typeof e!="object")return;let t=String(e?.error||"").trim().toLowerCase(),n=e?.data&&typeof e.data=="object"?e.data:{},r=n?.conflict&&typeof n.conflict=="object"?n.conflict:{},o=String(r?.type||t||"").trim().toLowerCase(),i=o==="stale_seq"||o==="stale_epoch"||o==="active_run_exists"?o:void 0;if(!i)return;let a=Sd(n?.currentSeq??r?.currentSeq),s=Sd(n?.currentEpoch??n?.sessionEpoch??r?.currentEpoch),c=typeof r?.retryable=="boolean"?r.retryable:i==="stale_seq"||i==="stale_epoch";return{type:i,currentSeq:a,currentEpoch:s,retryable:c,decisionHint:typeof n?.decisionHint=="string"?n.decisionHint:void 0,decisionReason:typeof n?.decisionReason=="string"?n.decisionReason:void 0,runId:typeof n?.runId=="string"?n.runId:void 0,sessionId:typeof n?.sessionId=="string"?n.sessionId:void 0,clientEventId:typeof n?.clientEventId=="string"?n.clientEventId:void 0}}function cc(e){return String(e?.error||e?.data?.code||e?.code||"").trim().toUpperCase()}async function Da(e){try{return await e.json()}catch{let t=await e.text().catch(()=>"");return t?{error:t}:void 0}}function Rp(e,t,n){let r=String(t||"").trim(),o=r.startsWith("http://")||r.startsWith("https://")?new URL(r):new URL(`${zr(e)}/v1/a2w/runs/${encodeURIComponent(r)}`);return n&&!o.searchParams.get("access")&&o.searchParams.set("access",n),o.toString()}var ro=class ro{constructor(t){q(this,"options");q(this,"base");q(this,"baseCandidates");q(this,"baseIndex",0);q(this,"sessionToken");q(this,"sessionTokenExpiresAt",0);q(this,"sessionId");q(this,"epoch",1);q(this,"eventSource",null);q(this,"pollTimer",null);q(this,"reconnectTimer",null);q(this,"sseReconnectAttempts",0);q(this,"started",!1);q(this,"lastSeq",0);q(this,"lastRunId","");q(this,"lastSnapshotDigest","");q(this,"activeRunId");q(this,"visibilityListener",null);q(this,"pollIntervalMs",2e3);q(this,"commandInFlight",!1);q(this,"commandQueue",Promise.resolve());this.options=t,this.baseCandidates=Di(t.apiBase),this.base=this.baseCandidates[0]||wd(t.apiBase),this.sessionId=t.getSessionId()}getSessionToken(){return this.sessionToken}getSessionTokenExpiresAt(){return this.sessionTokenExpiresAt}getEpoch(){return Math.max(1,this.epoch)}getLastSeq(){return Math.max(0,this.lastSeq)}getActiveRunId(){return this.activeRunId}setApiBase(t){this.baseCandidates=Di(t),this.baseIndex=0,this.base=this.baseCandidates[0]||wd(t)}stop(){this.started=!1,this.pauseBackgroundTransport(),this.visibilityListener&&typeof document<"u"&&(document.removeEventListener("visibilitychange",this.visibilityListener),this.visibilityListener=null),this.sseReconnectAttempts=0,this.lastSeq=0,this.lastRunId="",this.lastSnapshotDigest="",this.activeRunId=void 0}async start(){if(this.started=!0,typeof document<"u"&&!this.visibilityListener&&(this.visibilityListener=()=>{this.handleVisibilityChange()},document.addEventListener("visibilitychange",this.visibilityListener)),await this.ensureSession(!1),!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.startProjectionStream()}reportError(t){this.options.onError?.(t)}withCommandLock(t){let n=async()=>{this.commandInFlight=!0;try{return await t()}finally{this.commandInFlight=!1}},r=this.commandQueue.then(n,n);return this.commandQueue=r.then(()=>{},()=>{}),r}isDocumentHidden(){return typeof document<"u"&&document.visibilityState==="hidden"}hasOwnershipTransportAllowance(){if(typeof this.options.shouldKeepTransportActive=="function")try{return!!this.options.shouldKeepTransportActive()}catch{return!1}return!!this.activeRunId}shouldKeepTransportActive(){return!this.isDocumentHidden()||this.hasOwnershipTransportAllowance()}pauseBackgroundTransport(){this.eventSource&&(this.eventSource.close(),this.eventSource=null),this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null),this.pollIntervalMs=2e3,this.reconnectTimer!=null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}handleVisibilityChange(){if(this.started){if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.ensureSession(!1).catch(t=>this.reportError(t)).finally(()=>{this.startProjectionStream(),this.eventSource||this.startProjectionPolling(),this.fetchProjection().catch(t=>this.reportError(t))})}}getActiveBase(){return this.baseCandidates.length?dc(this.baseCandidates[this.baseIndex]||this.base):dc(this.base)}rotateBaseCandidate(){this.baseCandidates.length<=1||(this.baseIndex=(this.baseIndex+1)%this.baseCandidates.length,this.base=this.baseCandidates[this.baseIndex]||this.base)}async requestJson(t,n){this.baseCandidates.length||(this.baseCandidates=Di(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let r,o=Math.max(1,this.baseCandidates.length);for(let i=0;i<o;i+=1){let a=(this.baseIndex+i)%o,s=dc(this.baseCandidates[a]||this.base);try{let c=await fetch(`${s}${t}`,n),l=await Da(c);if(c.status===404||c.status===405){r=new Error(`Rover endpoint not found at ${s}${t}`);continue}return this.baseIndex=a,this.base=s,{response:c,json:l}}catch(c){r=c}}throw r instanceof Error?r:new Error(`Rover request failed for ${t}`)}applySessionData(t){t.sessionId&&(this.sessionId=t.sessionId),t.sessionToken&&(this.sessionToken=t.sessionToken,this.sessionTokenExpiresAt=xI(t.sessionTokenExpiresAt,Date.now()+8*6e4)),Number.isFinite(Number(t.epoch))&&(this.epoch=Math.max(1,Number(t.epoch))),t.projection&&Li(t.projection)&&this.applyProjection(t.projection),this.options.onSession?.(t)}applyProjection(t){let n=this.epoch,r=this.lastRunId,o=this.lastSeq,i=this.lastSnapshotDigest;this.sessionId=t.sessionId||this.sessionId,this.epoch=Math.max(1,Number(t.epoch||this.epoch));let a=String(t.activeRunId||"");this.activeRunId=a||void 0,a!==this.lastRunId&&(this.lastRunId=a,this.lastSeq=0);let s=Array.isArray(t.events)?t.events:[];if(s.length){let d=Number(s[s.length-1]?.seq||0);Number.isFinite(d)&&d>this.lastSeq&&(this.lastSeq=d)}let c=String(t.snapshotMeta?.digest||"").trim()||(Number.isFinite(Number(t.snapshotMeta?.updatedAt))?`u:${Math.max(0,Number(t.snapshotMeta?.updatedAt||0))}`:Number.isFinite(Number(t.snapshotUpdatedAt))?`u:${Math.max(0,Number(t.snapshotUpdatedAt||0))}`:"");c&&(this.lastSnapshotDigest=c),this.isDocumentHidden()&&!this.shouldKeepTransportActive()&&this.pauseBackgroundTransport(),(this.epoch!==n||a!==r||this.lastSeq!==o||t.snapshot||c&&c!==i)&&this.options.onProjection?.(t)}shouldRefreshSessionToken(){return this.sessionToken?Date.now()+6e4>=this.sessionTokenExpiresAt:!0}async ensureSession(t=!1){if(this.sessionId=this.options.getSessionId()||this.sessionId,!t&&!this.shouldRefreshSessionToken())return null;let n=this.options.getBootstrapToken(),r={siteId:this.options.siteId,sessionId:this.sessionId,requestedSessionId:this.sessionId,host:this.options.getHost(),url:this.options.getPageUrl(),pageUrl:this.options.getPageUrl()},o=!t&&!!this.sessionToken,i={...r,...o?{sessionToken:this.sessionToken}:{},...n?{bootstrapToken:n}:{}};if(!i.sessionToken&&!i.bootstrapToken)return null;let a=async d=>this.requestJson("/session/open",{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(d)}),{response:s,json:c}=await a(i);if(s.status===401&&o&&n&&(cc(c)==="SESSION_TOKEN_EXPIRED"||cc(c)==="SESSION_TOKEN_INVALID"||cc(c)==="BOOTSTRAP_REQUIRED")&&(this.sessionToken=void 0,this.sessionTokenExpiresAt=0,{response:s,json:c}=await a({...r,bootstrapToken:n})),!s.ok||!c?.success||!c?.data){let d=cc(c),m=c?.data?.message||c?.error||`session/open failed (${s.status})`,f=new Error(String(m));throw f.code=d||void 0,f}let l=c.data;return this.applySessionData(l),l}syncCursorFromPayload(t){if(!t||typeof t!="object")return;let n=Sd(t?.currentEpoch??t?.sessionEpoch);n!==void 0&&(this.epoch=Math.max(1,n));let r=Sd(t?.currentSeq);r!==void 0&&r>=0&&(this.lastSeq=Math.max(this.lastSeq,r))}async postJson(t,n,r){await this.ensureSession(!1);let o={...n,requestNonce:xd(),sessionToken:this.sessionToken,sessionId:n.sessionId||this.sessionId},{response:i,json:a}=await this.requestJson(t,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(o)}),s=Math.max(0,Number(r?.authRetryCount||0));if(i.status===401&&s<1){let c=cc(a);if(c==="SESSION_TOKEN_EXPIRED"||c==="SESSION_TOKEN_INVALID"||c==="BOOTSTRAP_REQUIRED")return this.sessionToken=void 0,this.sessionTokenExpiresAt=0,await this.ensureSession(!0),this.postJson(t,n,{authRetryCount:s+1})}if(i.status===409)return this.syncCursorFromPayload(a?.data),{ok:!1,data:a?.data||null,conflict:TI(a),raw:a};if(!i.ok||!a?.success){let c=a?.error||`request failed (${i.status})`,l=new Error(String(c));throw l.status=i.status,l.code=String(a?.error||a?.data?.code||"").trim()||void 0,l.details=a?.data||a,l}return this.syncCursorFromPayload(a?.data),{ok:!0,data:a?.data||null,raw:a}}async submitRunInput(t){return this.withCommandLock(async()=>{let n=String(t.clientEventId||"").trim()||(typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():void 0);for(let r=0;r<2;r+=1){let o=await this.postJson("/command",{type:"RUN_INPUT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:{runId:t.runId,message:t.message,files:Array.isArray(t.files)?t.files:void 0,continueRun:!!t.continueRun,forceNewRun:!!t.forceNewRun,requestedMode:t.requestedMode,taskBoundaryId:this.options.getTaskBoundaryId?.()}});if(!o.ok){let l=(o.data||null)?.data||null;Li(l?.projection)&&this.applyProjection(l.projection);let d=String(o.conflict?.type||"").trim(),m=o.conflict?.retryable!==!1&&(d==="stale_seq"||d==="stale_epoch");if(r===0&&m)continue;return l}let i=o.data||{},a=i?.data||null,s=String(i?.runId||a?.runId||"").trim();return s&&(this.activeRunId=s,this.lastRunId=s,Number(i?.seq||a?.seq||0)===0&&this.lastSeq>0&&(this.lastSeq=0)),Number.isFinite(Number(i?.epoch))&&(this.epoch=Math.max(1,Number(i?.epoch))),Number.isFinite(Number(i?.seq))&&(this.lastSeq=Math.max(0,Number(i?.seq||0))),a}return null})}async uploadAttachment(t){let n=await this.postJson("/attachments/upload",{fileName:t.fileName,mimeType:t.mimeType,dataBase64:t.dataBase64,sizeBytes:t.sizeBytes});if(!n.ok){let r=n.data?.message||n.raw?.error||"upload failed";throw new Error(String(r))}return n.data?.file||null}async controlRun(t){return this.withCommandLock(async()=>{let n=String(t.clientEventId||"").trim()||(typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():void 0);for(let r=0;r<2;r++){let o=await this.postJson("/command",{type:"RUN_CONTROL",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:{action:t.action,runId:t.runId,reason:t.reason}});if(!o.ok){if(r===0&&o.conflict?.retryable!==!1)continue;return o.data?.data||null}let i=o.data||{},a=i?.data||null;return Number.isFinite(Number(i?.seq))&&(this.lastSeq=Math.max(0,Number(i.seq||0))),Li(a?.projection)&&this.applyProjection(a.projection),a}return null})}async fetchExternalContext(t){return this.withCommandLock(async()=>{let n=String(t.runId||this.activeRunId||this.lastRunId||"").trim()||void 0,r=typeof t.tabId=="string"&&t.tabId.trim()?t.tabId.trim():Number.isFinite(Number(t.tabId))&&Number(t.tabId)>0?String(Math.trunc(Number(t.tabId))):void 0,o=t.intent==="act"||t.intent==="open_only"||t.intent==="read_context"?t.intent:"read_context",i=t.source==="google_search"?"google_search":"direct_url";for(let a=0;a<2;a+=1){let s=await this.postJson("/context/external",{runId:n,logicalTabId:r,url:t.url,intent:o,source:i,message:t.message,adversarialScore:Number.isFinite(Number(t.adversarialScore))?Number(t.adversarialScore):void 0,expectedEpoch:this.epoch,expectedSeq:this.lastSeq});if(!s.ok){let c=String(s.conflict?.type||"").trim(),l=s.conflict?.retryable!==!1&&(c==="stale_seq"||c==="stale_epoch");if(a===0&&l)continue;return s.data||null}return s.data||null}return null})}async sendTabEvent(t){return this.withCommandLock(async()=>{let n=xd(),r={runId:t.runId,currentUrl:t.currentUrl,targetUrl:t.targetUrl,logicalTabId:t.logicalTabId,message:t.message,adversarialScore:t.adversarialScore,currentHost:t.currentHost,targetHost:t.targetHost,isCrossHost:t.isCrossHost,navigationClass:t.navigationClass,clientEventId:n},o=await this.postJson("/command",{type:"TAB_EVENT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:r});if(o.ok){let c=o.data||{},l=c?.data||null;return Number.isFinite(Number(c?.epoch))&&(this.epoch=Math.max(1,Number(c?.epoch||this.epoch))),Number.isFinite(Number(c?.seq))&&(this.lastSeq=Math.max(0,Number(c?.seq||0))),l?{...l,clientEventId:n,retryAttempted:!1,retryExhausted:!1}:null}let i=o.conflict;if(i?.retryable&&(i.type==="stale_seq"||i.type==="stale_epoch")){let c=await this.postJson("/command",{type:"TAB_EVENT",commandId:n,expectedEpoch:this.epoch,expectedSeq:this.lastSeq,payload:r});if(c.ok){let m=c.data||{},f=m?.data||null;return Number.isFinite(Number(m?.epoch))&&(this.epoch=Math.max(1,Number(m?.epoch||this.epoch))),Number.isFinite(Number(m?.seq))&&(this.lastSeq=Math.max(0,Number(m?.seq||0))),f?{...f,clientEventId:n,retryAttempted:!0,retryExhausted:!1}:{clientEventId:n,retryAttempted:!0,retryExhausted:!1}}let l=c.conflict||i,d=(c.data||o.data||null)?.data||null;return this.fetchProjection().catch(()=>{}),{...d||{},clientEventId:n,retryAttempted:!0,retryExhausted:!0,decisionReason:d?.decisionReason||l?.decisionReason||(l?.type==="stale_epoch"?"stale_epoch_retryable":"stale_seq_retryable"),conflict:l?{type:l.type,currentSeq:l.currentSeq,currentEpoch:l.currentEpoch,retryable:!!l.retryable}:void 0}}let s=(o.data||null)?.data||null;return i?.type&&this.fetchProjection().catch(()=>{}),{...s||{},clientEventId:n,retryAttempted:!1,retryExhausted:!!i,conflict:i?{type:i.type,currentSeq:i.currentSeq,currentEpoch:i.currentEpoch,retryable:!!i.retryable}:s?.conflict}})}async fetchProjection(){if(await this.ensureSession(!1),!this.sessionToken||!this.sessionId)return null;let t=new URLSearchParams({sessionId:this.sessionId,seqAfter:String(this.lastSeq),sessionToken:this.sessionToken}),{response:n,json:r}=await this.requestJson(`/state?${t.toString()}`,{method:"GET"}),o=r?.data&&typeof r.data=="object"&&Li(r.data?.projection)?r.data.projection:r?.data;if(!n.ok||!r?.success||!Li(o))return null;let i=o;return this.applyProjection(i),i}async saveSnapshot(t){return this.withCommandLock(async()=>!!(await this.postJson("/snapshot",{checkpoint:t.checkpoint,updatedAt:t.updatedAt,version:t.version,seq:t.seq,chatSummary:t.chatSummary,compactedPrevSteps:t.compactedPrevSteps,ttlHours:t.ttlHours,visitorId:t.visitorId}))?.ok)}async sendBatch(t){if(!t.length)return[];let r=t.slice(0,5);return(await this.postJson("/batch",{requests:r.map(i=>({path:i.path,body:i.body}))}))?.data?.results||[]}async attachLaunch(t){let n=String(t.requestId||"").trim(),r=String(t.attachToken||"").trim();if(!n||!r)return null;let o=await this.postJson(`/launches/${encodeURIComponent(n)}/attach`,{attachToken:r,roverAttach:r,host:this.options.getHost?.()});return o.ok&&o.data||null}async claimBrowserRunReceipt(t){let n=String(t.receipt||"").trim();if(!n)return null;await this.ensureSession(!1);let r={receipt:n,requestNonce:xd(),sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()};this.baseCandidates.length||(this.baseCandidates=Di(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let o=lc(this.baseCandidates.map(a=>zr(a))),i;for(let a of o)try{let s=await fetch(`${a}/v1/a2w/runs/claim-browser`,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(r)}),c=await Da(s);if(!s.ok||!c?.success){i=new Error(String(c?.error||`request failed (${s.status})`)),i.status=s.status,i.details=c?.data||c;continue}return c.data||null}catch(s){i=s}throw i instanceof Error?i:new Error("Browser receipt claim failed.")}async createSessionRootRun(t){let n=String(t.url||"").trim(),r=String(t.prompt||"").trim();if(!n||!r)return null;await this.ensureSession(!1);let o={url:n,prompt:r,executionId:String(t.executionId||"").trim()||void 0,requestNonce:xd(),sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()};this.baseCandidates.length||(this.baseCandidates=Di(this.base),this.base=this.baseCandidates[0]||this.base,this.baseIndex=0);let i=lc(this.baseCandidates.map(s=>zr(s))),a;for(let s of i)try{let c=await fetch(`${s}/v1/a2w/runs/session-root`,{method:"POST",headers:{"Content-Type":"text/plain",Accept:"application/json"},body:JSON.stringify(o)}),l=await Da(c);if(!c.ok||!l?.success){a=new Error(String(l?.error||`request failed (${c.status})`)),a.status=c.status,a.details=l?.data||l;continue}return l.data||null}catch(c){a=c}throw a instanceof Error?a:new Error("Session root A2W run creation failed.")}async createRunHandoff(t){let n=String(t.parentRunId||"").trim(),r=String(t.runAccessToken||"").trim(),o=String(t.url||"").trim();if(!n||!r||!o)return null;await this.ensureSession(!1);let i=Rp(zr(this.base),n,r).replace(/\/+$/,"").concat("/handoffs"),a=new Headers({"Content-Type":"application/json",Accept:"application/json"}),s=[];t.execution&&s.push(`execution=${t.execution}`),s.length&&a.set("Prefer",s.join(", "));let c={url:o,...String(t.prompt||"").trim()?{prompt:String(t.prompt).trim()}:{},...String(t.instruction||"").trim()?{instruction:String(t.instruction).trim()}:{},...String(t.shortcutId||"").trim()?{shortcutId:String(t.shortcutId).trim()}:{},...String(t.contextSummary||"").trim()?{contextSummary:String(t.contextSummary).trim()}:{},...String(t.expectedOutput||"").trim()?{expectedOutput:String(t.expectedOutput).trim()}:{},...String(t.originalGoal||"").trim()?{originalGoal:String(t.originalGoal).trim()}:{},...t.lastObservation&&typeof t.lastObservation=="object"?{lastObservation:t.lastObservation}:{},sessionToken:this.sessionToken,sessionId:this.sessionId,host:this.options.getHost?.()},l=await fetch(i,{method:"POST",headers:a,body:JSON.stringify(c)}),d=await Da(l);if(!l.ok||!d?.success){let m=String(d?.error||`request failed (${l.status})`),f=new Error(m);throw f.status=l.status,f.details=d?.data||d,f}return d.data||null}async getPublicRun(t,n={}){let r=new Headers({Accept:"application/json"});typeof n.waitSeconds=="number"&&n.waitSeconds>0&&r.set("Prefer",`wait=${Math.trunc(n.waitSeconds)}`);let o=Rp(zr(this.base),t,n.accessToken),i=await fetch(o,{method:"GET",headers:r}),a=await Da(i);if(!i.ok||!a?.success){let s=String(a?.error||`request failed (${i.status})`),c=new Error(s);throw c.status=i.status,c.details=a?.data||a,c}return a.data||null}async continuePublicRun(t,n,r={}){let o=String(n||"").trim();if(!o)return null;let i=new Headers({Accept:"application/json","Content-Type":"application/json"}),a=Rp(zr(this.base),t,r.accessToken),s=await fetch(a,{method:"POST",headers:i,body:JSON.stringify({input:o})}),c=await Da(s);if(!s.ok||!c?.success){let l=String(c?.error||`request failed (${s.status})`),d=new Error(l);throw d.status=s.status,d.details=c?.data||c,d}return c.data||null}async ingestLaunchEvents(t){let n=String(t.requestId||"").trim(),r=Array.isArray(t.events)?t.events.filter(Boolean):[];if(!n||!r.length)return!1;let o=await this.postJson("/events/ingest",{launchRequestId:n,runId:String(t.runId||"").trim()||void 0,events:r.map(i=>({type:i.type,ts:i.ts,data:i.data}))});return o.ok&&o.data?.accepted!==!1}scheduleProjectionPoll(t){this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null),this.pollTimer=window.setTimeout(async()=>{if(this.pollTimer=null,!this.started||!this.shouldKeepTransportActive())return;let n=this.epoch,r=this.lastSeq,o=this.lastSnapshotDigest;try{await this.fetchProjection()}catch(a){this.reportError(a)}this.epoch!==n||this.lastSeq!==r||this.lastSnapshotDigest!==o?this.pollIntervalMs=2e3:this.pollIntervalMs=Math.min(15e3,Math.round(this.pollIntervalMs*1.4)),this.started&&this.shouldKeepTransportActive()&&!this.eventSource&&this.scheduleProjectionPoll(this.pollIntervalMs)},t)}startProjectionPolling(){this.pollTimer==null&&(this.pollIntervalMs=2e3,this.scheduleProjectionPoll(this.pollIntervalMs))}scheduleSseReconnect(){if(!this.started||!this.shouldKeepTransportActive()||this.reconnectTimer!=null)return;if(this.sseReconnectAttempts>=ro.SSE_MAX_RECONNECT_ATTEMPTS){this.sseReconnectAttempts=0;return}let t=ro.SSE_BASE_DELAY_MS,n=Math.min(t*Math.pow(2,this.sseReconnectAttempts),ro.SSE_MAX_DELAY_MS),r=Math.random()*ro.SSE_MAX_JITTER_MS,o=Math.round(n+r);this.sseReconnectAttempts++,this.reconnectTimer=window.setTimeout(()=>{this.reconnectTimer=null,this.startProjectionStream()},o)}startProjectionStream(){if(!this.started)return;if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}if(!this.sessionToken||!this.sessionId){this.startProjectionPolling();return}if(this.eventSource)return;if(typeof EventSource>"u"){this.startProjectionPolling();return}let t=new URLSearchParams({sessionId:this.sessionId,cursor:String(this.lastSeq),sessionToken:this.sessionToken}),n=`${this.getActiveBase()}/stream?${t.toString()}`,r=new EventSource(n,{withCredentials:!1});this.eventSource=r;let o=i=>{try{let a=JSON.parse(i||"{}"),s=a&&typeof a=="object"&&Li(a.projection)?a.projection:a;Li(s)&&this.applyProjection(s)}catch(a){this.reportError(a)}};r.addEventListener("projection",i=>{o(i.data||"{}")}),r.addEventListener("projection_delta",i=>{o(i.data||"{}")}),r.onerror=()=>{this.eventSource&&(this.eventSource.close(),this.eventSource=null),this.ensureSession(!0).catch(i=>this.reportError(i)).finally(()=>{if(this.rotateBaseCandidate(),!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.pollTimer==null&&this.startProjectionPolling(),this.scheduleSseReconnect()})},r.onopen=()=>{if(!this.shouldKeepTransportActive()){this.pauseBackgroundTransport();return}this.sseReconnectAttempts=0,this.pollTimer!=null&&(window.clearTimeout(this.pollTimer),this.pollTimer=null,this.pollIntervalMs=2e3)}}};q(ro,"SSE_BASE_DELAY_MS",2e3),q(ro,"SSE_MAX_DELAY_MS",6e4),q(ro,"SSE_MAX_JITTER_MS",3e3),q(ro,"SSE_MAX_RECONNECT_ATTEMPTS",10);var Td=ro;var Co="/.well-known/agent-card.json",Pi="/.well-known/rover-site.json",hk="/llms.txt",gk="__ROVER_WEBMCP_TOOL_DEFS__",fc=3,_I="/v1/a2w/runs",EI="/v1/a2w/workflows",II=2e3,bk={type:"object",properties:{status:{type:"string",description:"A2W run status returned by Rover."},summary:{type:"string",description:"High-level summary of what Rover completed or observed."},run:{type:"string",description:"Canonical A2W run URL."},workflow:{type:"string",description:"Canonical A2W workflow URL when delegation occurs."}}},AI={type:"object",properties:{success:{type:"boolean",description:"Whether the tool completed successfully."},summary:{type:"string",description:"Human-readable summary of the explicit site action."}}};function ye(e,t=0){let n=String(e||"").replace(/\s+/g," ").trim();return!t||n.length<=t?n:n.slice(0,t).trim()}function Ao(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function At(e,t){if(!Array.isArray(e))return[];let n=new Set,r=[],o=Math.max(1,Number(t?.max)||24),i=Math.max(8,Number(t?.maxLen)||160);for(let a of e){let s=ye(a,i);if(!s)continue;let c=s.toLowerCase();if(!n.has(c)&&(n.add(c),r.push(s),r.length>=o))break}return r}function Ro(e){let t=Ao(e);return t?{...t}:void 0}function uc(e){try{let t=new URL(e);return t.hash="",t.search="",t.toString()}catch{return ye(e)||"https://example.com/"}}function yk(e){let t=ye(e,512);if(t){if(t==="*"||t==="/*")return"*";if(/^https?:\/\//i.test(t))try{return new URL(t).pathname||"/"}catch{return}return t.startsWith("/")?t:`/${t}`}}function RI(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){let o=r==="text"||r==="markdown"||r==="json"||r==="observation"||r==="artifacts"?r:void 0;!o||n.has(o)||(n.add(o),t.push(o))}return t}function Pa(e,t="beacon"){return e==="silent"||e==="beacon"||e==="integrated"||e==="debug"?e:t}function CI(e,t="site"){return e==="site"||e==="co"||e==="rover"?e:t}function pc(e,t="auto"){return e==="auto"||e==="existing-assistant"||e==="floating-corner"||e==="inline-primary"?e:t}function mc(e,t="click"){return e==="click"||e==="focus"||e==="keyboard"||e==="agent-handshake"?e:t}function MI(e){return e.mode==="silent"?["Read rover-site.json, the page manifest, or the well-known agent card before falling back to raw DOM guesses."]:e.hostSurface==="existing-assistant"||e.mode==="integrated"?["Use the site assistant or chat entrypoint first when it is present on the page.","Prefer Rover A2W run and shortcut surfaces over selector or screenshot guessing once the assistant surface is active."]:["Use the page beacon or A2W run endpoint before attempting generic DOM automation.","When Rover is already active, prefer the current-page actions over screenshot loops."]}function NI(e){let t=e.discoverySurface||{},n=Pa(t.mode,e.visibleCue===!1?"silent":"beacon"),r=pc(t.hostSurface,"auto"),o=mc(t.actionReveal,"click"),i=ye(t.beaconLabel||e.pageContext?.beaconLabel||e.pageContext?.visibleCueLabel,180)||void 0,a={mode:n,branding:CI(t.branding,"site"),hostSurface:r,actionReveal:o,beaconLabel:i,agentModeEntryHints:At(t.agentModeEntryHints,{max:8,maxLen:240})};return{...a,agentModeEntryHints:a.agentModeEntryHints.length?a.agentModeEntryHints:MI(a)}}function Oi(e){let t=Ao(e);if(!t)return;let n=Ao(t.discoverySurface),r={};if(n){let i=Pa(n.mode,"beacon");(n.mode==="silent"||n.mode==="beacon"||n.mode==="integrated"||n.mode==="debug")&&(r.mode=i),(n.branding==="site"||n.branding==="co"||n.branding==="rover")&&(r.branding=n.branding),(n.hostSurface==="auto"||n.hostSurface==="existing-assistant"||n.hostSurface==="floating-corner"||n.hostSurface==="inline-primary")&&(r.hostSurface=n.hostSurface),(n.actionReveal==="click"||n.actionReveal==="focus"||n.actionReveal==="keyboard"||n.actionReveal==="agent-handshake")&&(r.actionReveal=n.actionReveal);let a=ye(n.beaconLabel||n.visibleCueLabel,180)||void 0;a&&(r.beaconLabel=a);let s=At(n.agentModeEntryHints,{max:8,maxLen:240});s.length>0&&(r.agentModeEntryHints=s)}let o={};return typeof t.enabled=="boolean"?o.enabled=t.enabled:typeof t.visibleCue=="boolean"&&(o.enabled=t.visibleCue),typeof t.siteUrl=="string"&&ye(t.siteUrl)&&(o.siteUrl=ye(t.siteUrl)),typeof t.siteId=="string"&&ye(t.siteId,160)&&(o.siteId=ye(t.siteId,160)),typeof t.apiBase=="string"&&ye(t.apiBase,240)&&(o.apiBase=ye(t.apiBase,240)),typeof t.siteName=="string"&&ye(t.siteName,160)&&(o.siteName=ye(t.siteName,160)),typeof t.description=="string"&&ye(t.description,400)&&(o.description=ye(t.description,400)),typeof t.version=="string"&&ye(t.version,120)&&(o.version=ye(t.version,120)),typeof t.agentCardUrl=="string"&&ye(t.agentCardUrl,240)&&(o.agentCardUrl=ye(t.agentCardUrl,240)),typeof t.roverSiteUrl=="string"&&ye(t.roverSiteUrl,240)&&(o.roverSiteUrl=ye(t.roverSiteUrl,240)),typeof t.llmsUrl=="string"&&ye(t.llmsUrl,240)&&(o.llmsUrl=ye(t.llmsUrl,240)),typeof t.visibleCue=="boolean"&&(o.visibleCue=t.visibleCue),typeof t.hostSurfaceSelector=="string"&&ye(t.hostSurfaceSelector,240)&&(o.hostSurfaceSelector=ye(t.hostSurfaceSelector,240)),(t.preferExecution==="auto"||t.preferExecution==="browser"||t.preferExecution==="cloud")&&(o.preferExecution=t.preferExecution),Object.keys(r).length>0&&(o.discoverySurface=r),Object.keys(o).length?o:void 0}function vk(e){return e==="browser"?["browser"]:e==="cloud"?["cloud"]:["auto","browser","cloud"]}function LI(e,t){let n=Ao(e);if(!n)return null;let r=ye(n.capabilityId||n.id,120),o=ye(n.label||n.name,180),i=ye(n.description,480);if(!r||!o||!i)return null;let a=Array.isArray(n.allowedExecutionModes)?n.allowedExecutionModes.filter(c=>c==="auto"||c==="browser"||c==="cloud"):[],s=RI(n.resultModes);return{capabilityId:r,version:ye(n.version,80)||t.version,label:o,description:i,inputSchema:Ro(n.inputSchema),outputSchema:Ro(n.outputSchema),sideEffect:n.sideEffect==="none"||n.sideEffect==="read"||n.sideEffect==="write"||n.sideEffect==="transactional"?n.sideEffect:void 0,requiresConfirmation:typeof n.requiresConfirmation=="boolean"?n.requiresConfirmation:void 0,preferredInterface:Cp({preferredInterface:n.preferredInterface}).preferredInterface,allowedExecutionModes:a.length?a:t.allowedExecutionModes,resultModes:s.length?s:t.resultModes,pageScope:At(n.pageScope,{max:24,maxLen:80}),analyticsTags:At(n.analyticsTags,{max:24,maxLen:64}),rover:Ao(n.rover)?{...n.rover}:void 0}}function kk(e,t){let n=Ao(e);if(!n)return null;let r=ye(n.pageId||n.id,120);if(!r)return null;let o=ye(n.beaconLabel||n.visibleCueLabel||t?.beaconLabel,180)||void 0;return{pageId:r,route:yk(n.route),label:ye(n.label,180)||void 0,capabilityIds:At(n.capabilityIds,{max:48,maxLen:120}),entityHints:At(n.entityHints,{max:24,maxLen:120}),formHints:At(n.formHints,{max:24,maxLen:120}),visibleCueLabel:o,beaconLabel:o,discoveryMode:Pa(n.discoveryMode,t?.mode||"beacon"),hostSurface:pc(n.hostSurface,t?.hostSurface||"auto"),actionReveal:mc(n.actionReveal,t?.actionReveal||"click"),agentModeEntryHints:At(Array.isArray(n.agentModeEntryHints)&&n.agentModeEntryHints.length?n.agentModeEntryHints:t?.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:At(n.capabilitySummary,{max:12,maxLen:180})}}function xk(e){return`${zr(e)}${_I}`}function wk(e){return`${zr(e)}${EI}`}function DI(e,t){try{let n=new URL(e);return n.searchParams.set("rover_shortcut",t),n.toString()}catch{let n=e.includes("?")?"&":"?";return`${e}${n}rover_shortcut=${encodeURIComponent(t)}`}}function PI(e){return ye(e).replace(/[_-]+/g," ").replace(/\s+/g," ").replace(/\b\w/g,t=>t.toUpperCase())}function OI(e,t=[]){if(!e||typeof e!="object")return;let n={};for(let[r,o]of Object.entries(e)){let i=Ao(o);if(!i)continue;let a=ye(i.type)||"string",s={type:["string","number","integer","boolean","array","object"].includes(a)?a:"string"};if(i.description&&(s.description=ye(i.description,240)),i.enum&&Array.isArray(i.enum)){let c=At(i.enum,{max:24,maxLen:80});c.length&&(s.enum=c)}if(a==="array"&&i.items&&(s.items=Ro(i.items)||{type:ye(i.items?.type)||"string"}),a==="object"&&i.properties&&typeof i.properties=="object"){s.properties={};for(let[c,l]of Object.entries(i.properties)){let d=Ao(l);d&&(s.properties[c]={type:ye(d.type)||"string",...d.description?{description:ye(d.description,240)}:{}})}if(Array.isArray(i.required)){let c=At(i.required,{max:50,maxLen:80});c.length&&(s.required=c)}}n[r]=s}return{type:"object",properties:n,...t.length?{required:At(t,{max:50,maxLen:80})}:{}}}function Cp(e){let t=Ao(e)||{};return{category:ye(t.category,40)||void 0,tags:At(t.tags,{max:16,maxLen:40}),examples:At(t.examples,{max:6,maxLen:200}),whenToUse:ye(t.whenToUse,280)||void 0,whyUse:ye(t.whyUse,280)||void 0,sideEffect:t.sideEffect==="none"||t.sideEffect==="read"||t.sideEffect==="write"||t.sideEffect==="transactional"?t.sideEffect:void 0,requiresConfirmation:typeof t.requiresConfirmation=="boolean"?t.requiresConfirmation:void 0,preferredInterface:t.preferredInterface==="run"||t.preferredInterface==="shortcut"||t.preferredInterface==="client_tool"||t.preferredInterface==="webmcp"?t.preferredInterface:void 0,priority:t.priority==="primary"||t.priority==="secondary"?t.priority:void 0}}function Sk(e,t,n){if(n?.sideEffect)return n.sideEffect;if(t==="shortcut")return"transactional";let r=e.toLowerCase();return/^(get|read|list|show|find|search|compare|inspect|lookup)/.test(r)?"read":/^(save|create|reply|vote|leave|submit|answer|book|start|checkout|handoff)/.test(r)?"write":r.includes("run_task")?"transactional":"read"}function Tk(e,t){return typeof t?.requiresConfirmation=="boolean"?t.requiresConfirmation:e==="write"||e==="transactional"}function _k(e,t,n,r){let o=[];return e&&o.push(ye(e,120)),t&&o.push(ye(t,320)),n.whenToUse&&o.push(`When to use: ${n.whenToUse}`),n.whyUse&&o.push(`Why use this path: ${n.whyUse}`),!t&&r==="shortcut"&&o.push("Use this explicit Rover shortcut when the user intent matches this site journey instead of improvising with raw DOM actions."),o.join(" ").trim()}function Ek(e){let t=ye(e.id,80),n=ye(e.label,120),r=ye(e.prompt,II);if(!t||!n||!r||e.enabled===!1)return null;let o=ye(e.description,320);return{id:t,label:n,prompt:r,...o?{description:o}:{},...e.routing?{routing:e.routing}:{},...e.runKind==="guide"||e.runKind==="task"?{runKind:e.runKind}:{}}}function BI(e,t,n){let r=Ek(e);if(!r)return null;let{id:o,label:i,prompt:a}=r,s=At([...e.tags||[],"shortcut","rover"],{max:16,maxLen:40}),c=At([...e.examples||[],a],{max:6,maxLen:220}),l=Cp({tags:s,examples:c,sideEffect:e.sideEffect,requiresConfirmation:e.requiresConfirmation,preferredInterface:e.preferredInterface||"shortcut",priority:"primary"}),d="shortcut",m=Sk(o,d,l),f=Tk(m,l);return{id:o,name:i,description:_k(i,e.description||`Run the "${i}" site flow with Rover using the exact shortcut id "${o}".`,{...l,whenToUse:l.whenToUse||"Use this when the user wants this exact site outcome and you want a stable path that avoids brittle DOM guessing.",whyUse:l.whyUse||"Rover shortcuts are explicit site-owned entrypoints with structured A2W run progress and cleaner recovery than generic DOM automation."},d),tags:s,examples:c,inputSchema:Ro(e.inputSchema)||{type:"object",additionalProperties:!1,description:"This shortcut is parameterless. Invoke it directly by id."},outputSchema:Ro(e.outputSchema)||{...bk},sideEffect:m,requiresConfirmation:f,preferredInterface:d,category:"primary",rover:{shortcutId:o,prompt:a,routing:e.routing,runKind:e.runKind,deepLink:DI(t.siteUrl,o),run:{endpoint:n,payload:{url:uc(t.siteUrl),shortcutId:o},preferExecution:t.preferExecution||"auto"},source:"shortcut"}}}function fk(e,t){let n=ye(e.name,120);if(!n||e.llmCallable===!1)return null;let r=Cp(e.annotations),o=Sk(n,t,r),i=Tk(o,r),a=At([...r.tags||[],t,"rover"],{max:16,maxLen:40}),s=At(r.examples||[],{max:6,maxLen:220});return{id:n,name:ye(e.title,120)||PI(n),description:_k(ye(e.title,120),e.description,{...r,whenToUse:r.whenToUse||(t==="webmcp"?"Use this explicit WebMCP tool when the browser exposes it instead of simulating DOM actions for the same outcome.":"Use this explicit site tool when it matches the user goal instead of reconstructing the same action through generic DOM automation."),whyUse:r.whyUse||"Explicit site tools expose stable schemas, clearer validation errors, and structured results that are easier to recover from than brittle DOM inference."},t),...a.length?{tags:a}:{},...s.length?{examples:s}:{},inputSchema:Ro(e.schema)||OI(e.parameters,e.required||[])||{type:"object",additionalProperties:!1},outputSchema:Ro(e.outputSchema)||{...AI},sideEffect:o,requiresConfirmation:i,preferredInterface:t,category:r.priority==="primary"?"primary":"secondary",rover:{toolName:n,source:t==="webmcp"?"webmcp":"client_tool"}}}function UI(e){let t=[],n=new Set;for(let r of e){let o=ye(r.id,120);!o||n.has(o.toLowerCase())||(n.add(o.toLowerCase()),t.push({...r,id:o}))}return t}function FI(e){let t=[],n=new Set;for(let r of e){let o=ye(r.capabilityId,120);!o||n.has(o.toLowerCase())||(n.add(o.toLowerCase()),t.push({...r,capabilityId:o,pageScope:At(r.pageScope,{max:24,maxLen:80}),analyticsTags:At(r.analyticsTags,{max:24,maxLen:64}),allowedExecutionModes:Array.from(new Set(r.allowedExecutionModes||[])),resultModes:Array.from(new Set(r.resultModes||[]))}))}return t}function zI(e,t){let n=[],r=new Set;for(let o of e){let i=ye(o.pageId,120);if(!i||r.has(i.toLowerCase()))continue;r.add(i.toLowerCase());let a=ye(o.beaconLabel||o.visibleCueLabel||t?.beaconLabel,180)||void 0;n.push({pageId:i,route:yk(o.route),label:ye(o.label,180)||void 0,capabilityIds:At(o.capabilityIds,{max:48,maxLen:120}),entityHints:At(o.entityHints,{max:24,maxLen:120}),formHints:At(o.formHints,{max:24,maxLen:120}),visibleCueLabel:a,beaconLabel:a,discoveryMode:Pa(o.discoveryMode,t?.mode||"beacon"),hostSurface:pc(o.hostSurface,t?.hostSurface||"auto"),actionReveal:mc(o.actionReveal,t?.actionReveal||"click"),agentModeEntryHints:At(Array.isArray(o.agentModeEntryHints)&&o.agentModeEntryHints.length?o.agentModeEntryHints:t?.agentModeEntryHints,{max:8,maxLen:240}),capabilitySummary:At(o.capabilitySummary,{max:12,maxLen:180})})}return n}function pk(e,t,n){let r=At(e.capabilityIds,{max:48,maxLen:120}),o=At(Array.isArray(e.capabilitySummary)&&e.capabilitySummary.length?e.capabilitySummary:r.map(s=>t.find(c=>c.capabilityId===s)?.label).filter(s=>!!s),{max:12,maxLen:180}),i=ye(e.beaconLabel||e.visibleCueLabel||n.beaconLabel,180)||void 0,a=At(Array.isArray(e.agentModeEntryHints)&&e.agentModeEntryHints.length?e.agentModeEntryHints:n.agentModeEntryHints,{max:8,maxLen:240});return{...e,capabilityIds:r,visibleCueLabel:i,beaconLabel:i,discoveryMode:Pa(e.discoveryMode,n.mode),hostSurface:pc(e.hostSurface,n.hostSurface),actionReveal:mc(e.actionReveal,n.actionReveal),agentModeEntryHints:a,capabilitySummary:o}}function HI(e,t){let n=t.preferExecution||"auto";return{capabilityId:e.id,version:ye(t.version,80)||"1.0.0",label:e.name,description:e.description,inputSchema:Ro(e.inputSchema),outputSchema:Ro(e.outputSchema)||{...bk},sideEffect:e.sideEffect,requiresConfirmation:e.requiresConfirmation,preferredInterface:e.preferredInterface,allowedExecutionModes:vk(n),resultModes:["text","json","observation","artifacts"],pageScope:At(e.rover?.shortcutId?["site",e.rover.shortcutId]:["site"],{max:8,maxLen:80}),analyticsTags:At(e.tags,{max:24,maxLen:64}),rover:e.rover?{...e.rover}:void 0}}function jI(e,t,n){let r=uc(e.siteUrl),o="/";try{o=new URL(r).pathname||"/"}catch{o="/"}return kk({pageId:e.pageContext?.pageId||o.replace(/^\/+|\/+$/g,"").replace(/[^a-z0-9/_-]+/gi,"-").replace(/\//g,"__")||"home",route:e.pageContext?.route||o,label:e.pageContext?.label,capabilityIds:e.pageContext?.capabilityIds,entityHints:e.pageContext?.entityHints,formHints:e.pageContext?.formHints,visibleCueLabel:e.pageContext?.visibleCueLabel,beaconLabel:e.pageContext?.beaconLabel,discoveryMode:e.pageContext?.discoveryMode,hostSurface:e.pageContext?.hostSurface,actionReveal:e.pageContext?.actionReveal,agentModeEntryHints:e.pageContext?.agentModeEntryHints,capabilitySummary:e.pageContext?.capabilitySummary},n)||{pageId:"home",route:o,label:void 0,capabilityIds:t.slice(0,12).map(a=>a.capabilityId),entityHints:[],formHints:[],visibleCueLabel:n.beaconLabel,beaconLabel:n.beaconLabel,discoveryMode:n.mode,hostSurface:n.hostSurface,actionReveal:n.actionReveal,agentModeEntryHints:n.agentModeEntryHints,capabilitySummary:t.slice(0,6).map(a=>a.label)}}function $I(e,t,n){let r=t.map(d=>HI(d,e)),o=(e.capabilities||[]).map(d=>LI(d,{version:ye(e.version,80)||"1.0.0",allowedExecutionModes:vk(e.preferExecution||"auto"),resultModes:["text","json","observation","artifacts"]})).filter(d=>!!d),i=FI([...o,...r]),a=jI(e,i,n),s=(e.pages||[]).map(d=>kk(d,n)).filter(d=>!!d);a.capabilityIds?.length||(a.capabilityIds=i.slice(0,12).map(d=>d.capabilityId));let c=zI([...s,a],n).map(d=>pk(d,i,n)),l=c.find(d=>d.pageId===a.pageId)||pk(a,i,n);return{capabilities:i,pages:c,currentPage:l}}function mk(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function _d(e){return e.replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function qI(e){return`data:application/json;charset=utf-8,${encodeURIComponent(e)}`}function Xo(e){let t=uc(e.siteUrl),n=xk(e.apiBase),r=wk(e.apiBase),o=ye(e.agentCardUrl)||Co,i=ye(e.roverSiteUrl)||Pi,a=ye(e.llmsUrl),c=vp(e.aiAccess).enabled,l=e.aiAccess?.allowCloudBrowser!==!1,d=e.aiAccess?.allowDelegatedHandoffs===!0,m=(e.shortcuts||[]).map(C=>BI(C,e,n)).filter(C=>!!C),f=(e.tools||[]).map(C=>fk(C,"client_tool")).filter(C=>!!C),u=(e.webmcpTools||[]).map(C=>fk(C,"webmcp")).filter(C=>!!C),h=UI([...m,...e.additionalSkills||[],...f,...u]),b=NI(e),v=$I(e,h,b),S={mode:Pa(v.currentPage.discoveryMode,b.mode),branding:b.branding,hostSurface:pc(v.currentPage.hostSurface,b.hostSurface),actionReveal:mc(v.currentPage.actionReveal,b.actionReveal),beaconLabel:ye(v.currentPage.beaconLabel||v.currentPage.visibleCueLabel||b.beaconLabel,180)||void 0,agentModeEntryHints:At(v.currentPage.agentModeEntryHints?.length?v.currentPage.agentModeEntryHints:b.agentModeEntryHints,{max:8,maxLen:240}),compactActionMaxActions:fc},k=ye(e.siteName,120)||(()=>{try{return new URL(t).hostname}catch{return"Rover Site"}})(),x=ye(e.description,320)||`Structured Rover entrypoints for ${k}. Prefer the published shortcuts and explicit tools over raw DOM automation whenever they match the user's goal.`;return{name:k,description:x,url:n,version:ye(e.version,80)||"1.0.0",defaultInputModes:["text/plain","application/json"],defaultOutputModes:["text/plain","application/json"],capabilities:{streaming:c,a2wRuns:c,stateTransitions:c,delegatedHandoffs:d,webmcp:u.length>0},skills:h,interfaces:[{type:"run",url:n,description:"Canonical Agent-to-Web Protocol (A2W) run creation endpoint.",available:c},{type:"workflow",url:r,description:"Aggregated Rover workflow resource for delegated runs.",available:!0},{type:"site",url:t,description:"Human-visible website entrypoint.",available:!0},{type:"deep_link",url:t,description:"Browser-first Rover deep link surface using rover= or rover_shortcut= query params.",available:c},{type:"webmcp",url:t,description:"WebMCP tool surface when the browser host supports navigator.modelContext.",available:u.length>0}],extensions:{rover:{siteId:ye(e.siteId,120)||void 0,siteUrl:t,runEndpoint:n,workflowEndpoint:r,serviceDescUrl:o,roverSiteUrl:i,...a?{llmsUrl:a}:{},preferredExecution:e.preferExecution||"auto",a2wRunsEnabled:c,cloudBrowserAllowed:l,delegatedHandoffs:d,instructions:["Prefer exact Rover shortcuts and explicit site tools over raw DOM automation when the user goal matches a published skill.","Use POST /v1/a2w/runs when you need structured A2W progress, continuation input, or a stable final result channel.","For browserless calls, send Prefer: execution=cloud, wait=10 and follow links.stream, links.ndjson, or links.poll until terminal or input_required.","Fall back to generic DOM automation only when no matching Rover shortcut or explicit tool exists for the requested outcome."],capabilitiesGraph:v.capabilities,pages:v.pages,currentPage:v.currentPage,discoverySurface:S,shortcuts:(e.shortcuts||[]).map(C=>Ek(C)).filter(C=>!!C),webmcp:{available:u.length>0,tools:u.map(C=>C.id)}}}}}function Oa(e){let t=Xo(e),n=t.extensions?.rover;return{identity:{siteId:n?.siteId,name:t.name,description:t.description,siteUrl:n?.siteUrl||uc(e.siteUrl),version:t.version},actions:n?.capabilitiesGraph||[],pages:n?.pages||[],policies:{preferredExecution:n?.preferredExecution||"auto",a2wRunsEnabled:n?.a2wRunsEnabled!==!1,cloudBrowserAllowed:n?.cloudBrowserAllowed!==!1,delegatedHandoffs:n?.delegatedHandoffs===!0},auth:{runEndpoint:n?.runEndpoint||xk(e.apiBase),workflowEndpoint:n?.workflowEndpoint||wk(e.apiBase),acceptsHttpMessageSignatures:!0,supportsUnsignedSelfReportedIdentity:!0},analytics:{layer:"roverbook",runIdField:"runId",workflowIdField:"workflowId",capabilityIdField:"capabilityId",pageIdField:"pageId"},currentPage:n?.currentPage,display:{mode:n?.discoverySurface.mode||"beacon",branding:n?.discoverySurface.branding||"site",hostSurface:n?.discoverySurface.hostSurface||"auto",actionReveal:n?.discoverySurface.actionReveal||"click",beaconLabel:n?.discoverySurface.beaconLabel,agentModeEntryHints:n?.discoverySurface.agentModeEntryHints||[],compactActionMaxActions:n?.discoverySurface.compactActionMaxActions||fc},artifacts:{agentCardUrl:n?.serviceDescUrl||ye(e.agentCardUrl)||Co,roverSiteUrl:n?.roverSiteUrl||ye(e.roverSiteUrl)||Pi,...n?.llmsUrl?{llmsUrl:n.llmsUrl}:{},siteUrl:n?.siteUrl||uc(e.siteUrl)},interfaces:t.interfaces}}function Ed(e){let t=Ba(e),n=Xo(e),r=Oa(e),o=JSON.stringify(r,null,2),i=qI(t),a=ye(e.agentCardUrl)||i,s=ye(e.roverSiteUrl)||Pi,c=n.extensions?.rover.currentPage||{pageId:"home",route:"/",capabilityIds:[]},l=JSON.stringify(c,null,2),d={a2w:n.extensions?.rover.runEndpoint,run:n.extensions?.rover.runEndpoint,card:a,roverSite:s,site:n.extensions?.rover.siteUrl,workflow:n.extensions?.rover.workflowEndpoint,page:c.pageId,preferExecution:n.extensions?.rover.preferredExecution,discoveryMode:n.extensions?.rover.discoverySurface.mode,hostSurface:n.extensions?.rover.discoverySurface.hostSurface,actionReveal:n.extensions?.rover.discoverySurface.actionReveal,beaconLabel:n.extensions?.rover.discoverySurface.beaconLabel,skills:n.skills.slice(0,24).map(m=>({id:m.id,name:m.name})),capabilities:(n.extensions?.rover.capabilitiesGraph||[]).slice(0,24).map(m=>({capabilityId:m.capabilityId,label:m.label}))};return{card:n,cardJson:t,serviceDescHref:a,roverSite:r,roverSiteJson:o,roverSiteHref:s,pageManifest:c,pageManifestJson:l,llmsUrl:ye(e.llmsUrl||n.extensions?.rover.llmsUrl)||void 0,marker:d,markerJson:_d(JSON.stringify(d))}}function Ba(e,t){return JSON.stringify(Xo(e),null,t?.pretty===!1?void 0:2)}function Ik(e,t){return Ba(e,t)}function hc(e,t){return JSON.stringify(Oa(e),null,t?.pretty===!1?void 0:2)}function Ak(e,t){return hc(e,t)}function Id(e){let t=[`<${ye(e.agentCardUrl)||Co}>; rel="service-desc"; type="application/json"`],n=ye(e.llmsUrl);return n&&t.push(`<${n}>; rel="service-doc"; type="text/markdown"`),t.join(", ")}function Rk(e){let{cardJson:t,llmsUrl:n,markerJson:r,pageManifestJson:o,roverSiteJson:i,serviceDescHref:a}=Ed(e),s=_d(t),c=_d(i),l=_d(o),d=[`<script type="application/agent+json" data-rover-agent-discovery="marker">${r}<\/script>`,`<link rel="service-desc" href="${mk(a)}" type="application/json" data-rover-agent-discovery="service-desc" />`];return n&&d.push(`<link rel="service-doc" href="${mk(n)}" type="text/markdown" data-rover-agent-discovery="service-doc" />`),d.push(`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${c}<\/script>`),d.push(`<script type="application/rover-page+json" data-rover-agent-discovery="page">${l}<\/script>`),d.push(`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${s}<\/script>`),d.join(`
|
|
4372
|
+
`)}var VI="https://rover.rtrvr.ai/embed.js",WI="https://rover.rtrvr.ai/roverbook.js";function Ht(e){return String(e||"").trim()}function Ad(e){return String(e||"").replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function Fa(e){return String(e||"").replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026")}function Ck(e,t,n){if(!n)return e;let r=new RegExp(`<script[^>]+data-rover-agent-discovery="${t}"[^>]*>[\\s\\S]*?<\\/script>`);return r.test(e)?e.replace(r,n):[e,n].filter(Boolean).join(`
|
|
4373
|
+
`)}function KI(e,t){let n=Ua(t.ui?.experience)?t.ui?.experience:null;if(!n)return e;let r=Ua(n.presence)?n.presence:{},o=Ua(n.inputs)?n.inputs:{},i=Ua(n.shell)?n.shell:{},a=Ua(n.stream)?n.stream:{},s=Ht(r.ctaText)||`Do it with ${Ht(t.ui?.agent?.name)||"Rover"}`,c=Ht(r.assistantName)||Ht(t.ui?.agent?.name)||"Rover",l=e.agentCard?JSON.parse(JSON.stringify(e.agentCard)):void 0;l?.extensions?.rover&&(l.extensions.rover.discoverySurface={...l.extensions.rover.discoverySurface||{},mode:"beacon",hostSurface:"floating-corner",actionReveal:"click",beaconLabel:s},l.extensions.rover.presence={assistantName:c,ctaText:s,draggable:r.draggable!==!1},l.extensions.rover.experience=n,l.extensions.rover.inputs={filesEnabled:o.files!==!1,acceptedMimeGroups:Array.isArray(o.acceptedMimeGroups)?o.acceptedMimeGroups:["images","pdfs","office","text"],allowMultipleFiles:o.allowMultipleFiles!==!1});let d=e.roverSite?JSON.parse(JSON.stringify(e.roverSite)):void 0;d&&(d.display={...d.display||{},mode:"beacon",hostSurface:"floating-corner",actionReveal:"click",beaconLabel:s,presence:"draggable_pill",openMode:Ht(i.openMode)||"center_stage",mobileMode:Ht(i.mobileMode)||"fullscreen_sheet",streamMode:Ht(a.layout)||"single_column",focusView:"focus_stream"},d.experience=n,d.inputs={...d.inputs||{},filesEnabled:o.files!==!1,acceptedMimeGroups:Array.isArray(o.acceptedMimeGroups)?o.acceptedMimeGroups:["images","pdfs","office","text"],allowMultipleFiles:o.allowMultipleFiles!==!1});let m=l?JSON.stringify(l,null,2):e.agentCardJson,f=d?JSON.stringify(d,null,2):e.roverSiteJson,u=m?`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${Fa(m)}<\/script>`:e.metadata.inlineAgentCardScript,h=f?`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${Fa(f)}<\/script>`:e.metadata.inlineRoverSiteScript;return{...e,agentCard:l,agentCardJson:m,roverSite:d,roverSiteJson:f,bodyInstallHtml:Ck(Ck(e.bodyInstallHtml,"agent-card",u),"rover-site",h),metadata:{...e.metadata,roverSiteJson:f,inlineAgentCardScript:u,inlineRoverSiteScript:h}}}function Mk(e){return JSON.stringify(e,null,2).split(`
|
|
4374
4374
|
`).map(t=>` ${t}`).join(`
|
|
4375
|
-
`)}function
|
|
4376
|
-
`)}function
|
|
4377
|
-
`)}function
|
|
4378
|
-
`)}function
|
|
4375
|
+
`)}function Ua(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function GI(e){return Ua(e)&&Object.keys(e).length>0}function XI(e){let t=Number(e);return!Number.isFinite(t)||t<10?50:Math.round(t)}function YI(e){let t=Number(e);return!Number.isFinite(t)||t<1?300:Math.round(t)}function Nk(e){return!!e&&e.enabled!==!1&&e.aiAccess?.enabled!==!1}function JI(e,t){return Nk(t)?e.emitLlmsTxt===!0||!!Ht(t.llmsUrl):!1}function QI(e,t){let n=e.extensions?.rover.runEndpoint;return{a2w:n,run:n,card:t,roverSite:e.extensions?.rover.roverSiteUrl,site:e.extensions?.rover.siteUrl,workflow:e.extensions?.rover.workflowEndpoint,page:e.extensions?.rover.currentPage?.pageId,preferExecution:e.extensions?.rover.preferredExecution,display:e.extensions?.rover.discoverySurface?{mode:e.extensions.rover.discoverySurface.mode,hostSurface:e.extensions.rover.discoverySurface.hostSurface,actionReveal:e.extensions.rover.discoverySurface.actionReveal,beaconLabel:e.extensions.rover.discoverySurface.beaconLabel}:void 0,skills:e.skills.slice(0,24).map(r=>({id:r.id,name:r.name})),capabilities:(e.extensions?.rover.capabilitiesGraph||[]).slice(0,24).map(r=>({capabilityId:r.capabilityId,label:r.label}))}}function ZI(e,t){let n=[`# ${e.name}`,"",e.description,"","Prefer Rover shortcuts, explicit site tools, and A2W runs over raw DOM automation when they match the requested outcome.",`Primary A2W run endpoint: ${Ht(e.extensions?.rover.runEndpoint||e.url)}`,`A2W workflow endpoint: ${Ht(e.extensions?.rover.workflowEndpoint)}`,'Create runs with { "url": "<site>", "prompt": "<instruction>" } or { "url": "<site>", "shortcutId": "<id>" }; "goal" is accepted as a compatibility alias.',"For browserless execution, send Prefer: execution=cloud, wait=10 and follow returned links.stream, links.ndjson, or links.poll until completed, failed, cancelled, expired, or input_required.",`Capability card: ${t.agentCardUrl}`],r=e.skills.map(i=>({id:Ht(i.id),name:Ht(i.name),description:Ht(i.description),interface:Ht(i.preferredInterface||i.rover?.source||"run")})).filter(i=>i.id&&i.name);if(r.length>0){n.push("","Published skills:");for(let i of r){let a=i.description?` - ${i.description}`:"";n.push(`- ${i.id}: ${i.name} [${i.interface}]${a}`)}}let o=(e.extensions?.rover.shortcuts||[]).map(i=>`${Ht(i.id)}: ${Ht(i.label)}`).filter(Boolean);if(o.length>0){n.push("","Shortcut IDs:");for(let i of o)n.push(`- ${i}`)}return n.join(`
|
|
4376
|
+
`)}function eA(){return["(function(){ var r = window.rover = window.rover || function(){ (r.q = r.q || []).push(arguments); }; r.l = +new Date(); })();"]}function Lk(e){return e.cloudSandboxEnabled!==!0?e:{...e,tools:{...e.tools||{},web:{...e.tools?.web||{},enableExternalWebContext:!0,scrapeMode:"on_demand"}}}}function tA(e){let t=Lk(e);return["<script>",...eA().map(r=>` ${r}`),` rover('boot', ${Mk(t)});`,"<\/script>"].join(`
|
|
4377
|
+
`)}function nA(e,t){let n=XI(t?.pollIntervalMs),r=YI(t?.maxAttempts);return["<script>"," (function(){",` var roverBookConfig = ${Mk(e)};`," function attachRoverBook(){"," if (window.__ROVERBOOK_INSTANCE__) return true;"," var roverApi = window.rover;"," var roverBook = window.RoverBook;"," if (!roverApi || typeof roverApi.on !== 'function' || typeof roverApi.requestSigned !== 'function') return false;"," if (!roverBook || typeof roverBook.enableRoverBook !== 'function') return false;"," window.__ROVERBOOK_INSTANCE__ = roverBook.enableRoverBook(roverApi, roverBookConfig);"," return true;"," }"," if (attachRoverBook()) return;"," var attempts = 0;"," var timer = setInterval(function(){"," attempts += 1;",` if (attachRoverBook() || attempts >= ${r}) clearInterval(timer);`,` }, ${n});`," })();","<\/script>"].join(`
|
|
4378
|
+
`)}function Dk(e){let t=Lk(e.bootConfig),n=Nk(e.discovery)?e.discovery:null,r=JI(e,n),o=n?Ht(n.agentCardUrl)||Co:"",i=n?Ht(n.roverSiteUrl)||Pi:"",a=n?Ht(n.llmsUrl)||(r?hk:""):"",s=n&&a&&!Ht(n.llmsUrl)?{...n,llmsUrl:a}:n,c=Ht(e.embedScriptUrl)||VI,l=e.roverBook?.enabled!==!1&&GI(e.roverBook?.config),d=l?Ht(e.roverBook?.scriptUrl)||WI:"",m=s?Xo(s):void 0,f=s?Ba(s):void 0,u=s?Oa(s):void 0,h=s?hc(s):void 0,b=s?JSON.stringify(m?.extensions?.rover.currentPage||null,null,2):void 0,v=m&&o?QI(m,o):void 0,S=v?Fa(JSON.stringify(v)):void 0,k=f?Fa(f):void 0,x=h?Fa(h):void 0,C=b?Fa(b):void 0,_=n&&o?`<link rel="service-desc" href="${Ad(o)}" type="application/json" />`:void 0,I=n&&a?`<link rel="service-doc" href="${Ad(a)}" type="text/markdown" />`:void 0,M=[];S&&M.push(`<script type="application/agent+json" data-rover-agent-discovery="marker">${S}<\/script>`),x&&M.push(`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${x}<\/script>`),C&&M.push(`<script type="application/rover-page+json" data-rover-agent-discovery="page">${C}<\/script>`),k&&M.push(`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${k}<\/script>`),M.push(tA(t)),M.push(`<script src="${Ad(c)}" async><\/script>`),l&&d&&(M.push(`<script src="${Ad(d)}" async><\/script>`),M.push(nA(e.roverBook?.config||{},{pollIntervalMs:e.roverBook?.attachPollIntervalMs,maxAttempts:e.roverBook?.attachMaxAttempts})));let X=r&&m?Ht(e.llmsTxt)?e.llmsTxt:ZI(m,{agentCardUrl:o||Co}):void 0;return KI({bodyInstallHtml:M.join(`
|
|
4379
4379
|
`),headDiscoveryHtml:[_,I].filter(Boolean).join(`
|
|
4380
|
-
`),agentCard:m,agentCardJson:f,roverSite:u,roverSiteJson:h,serviceDescLinkHeader:n?_d({agentCardUrl:o||Ro,...a?{llmsUrl:a}:{}}):void 0,llmsTxt:X,metadata:{discoveryEnabled:!!n,llmsPublished:!!I,embedScriptUrl:c,roverBookEnabled:l,roverBookScriptUrl:d||void 0,publishedAgentCardUrl:o||void 0,publishedRoverSiteUrl:i||void 0,publishedLlmsUrl:a||void 0,serviceDescLinkTag:_,serviceDocLinkTag:I,markerJson:S,markerScript:S?`<script type="application/agent+json" data-rover-agent-discovery="marker">${S}<\/script>`:void 0,inlineAgentCardScript:k?`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${k}<\/script>`:void 0,roverSiteJson:h,inlineRoverSiteScript:x?`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${x}<\/script>`:void 0,pageManifestJson:b,pageManifestScript:C?`<script type="application/rover-page+json" data-rover-agent-discovery="page">${C}<\/script>`:void 0}},e.bootConfig)}var Ok="https://agent.rtrvr.ai",Dk="rvrsess_";function Ba(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function nA(e,t=8e3){let n=String(e??"");return n.length<=t?n:`${n.slice(0,t)}\u2026`}function rA(e){let t=String(e||"").trim();if(!t)return"";try{let n=new URL(t);return n.hash="",`${n.origin}${n.pathname}${n.search}`}catch{return t}}function Cp(e){return e==null?"null":typeof e=="number"?Number.isFinite(e)?String(e):JSON.stringify(String(e)):typeof e=="boolean"?e?"true":"false":typeof e=="string"?JSON.stringify(e):Array.isArray(e)?`[${e.map(t=>Cp(t)).join(",")}]`:typeof e=="object"?`{${Object.entries(e).filter(([n])=>n!=="updatedAt"&&n!=="ts"&&n!=="timestamp").sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>`${JSON.stringify(n)}:${Cp(r)}`).join(",")}}`:JSON.stringify(String(e))}function oA(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return`sd:${(t>>>0).toString(16)}`}function Pk(e){let t=Array.isArray(e.sharedState?.tabs)?e.sharedState.tabs:[],n=e.runtimeState?.workerState||{},r=e.runtimeState?.taskTabScope||{},o=e.sharedState?.activeRun||{},i=e.runtimeState?.pendingRun||{},a=Array.isArray(n.plannerHistory)?n.plannerHistory:[],s=Array.isArray(n.agentPrevSteps)?n.agentPrevSteps:[],c=a.length?a[a.length-1]:void 0,l=s.length?s[s.length-1]:void 0,d=a.map(u=>String(u?.id||u?.toolCall?.name||u?.toolName||u?.name||"")),m=s.map(u=>String(u?.id||u?.toolCall?.name||u?.toolName||u?.name||"")),f={sessionId:String(e.sessionId||""),shared:{taskEpoch:Number(e.sharedState?.taskEpoch||0),taskId:String(e.sharedState?.task?.taskId||""),taskStatus:String(e.sharedState?.task?.status||""),activeRunId:String(o.runId||""),activeRunStatus:String(o.status||""),tabs:t.map(u=>({logicalTabId:Number(u?.logicalTabId)||0,scope:String(u?.scope||""),status:String(u?.status||""),url:rA(u?.url),external:!!u?.external}))},runtime:{taskEpoch:Number(e.runtimeState?.taskEpoch||0),activeTaskId:String(e.runtimeState?.activeTask?.taskId||""),activeTaskStatus:String(e.runtimeState?.activeTask?.status||""),pendingRunId:String(i.id||""),pendingRunStatus:String(i.status||""),pendingResumeRequired:i.resumeRequired===!0,worker:{taskBoundaryId:String(n.taskBoundaryId||""),trajectoryId:String(n.trajectoryId||""),pendingAskBoundaryId:String(n.pendingAskUser?.boundaryId||""),plannerHistoryCount:a.length,agentPrevStepsCount:s.length,lastPlannerStepId:String(c?.id||""),lastAgentStepId:String(l?.id||""),plannerStepMarkers:d,agentStepMarkers:m},continuity:{boundaryId:String(r.boundaryId||""),seedTabId:Number(r.seedTabId||0),touchedTabIds:Array.isArray(r.touchedTabIds)?r.touchedTabIds.map(u=>Number(u)||0).filter(u=>u>0):[]}}};return oA(Cp(f))}function iA(e){let t=Ok,n=String(e||t).trim().replace(/\/+$/,"");if(!n)return t;if(n.endsWith("/extensionRouter/v2/rover"))return n.slice(0,-25);if(n.endsWith("/v2/rover"))return n.slice(0,-9);let r=n.match(/\/v\d+\/rover$/);return r?.[0]?n.slice(0,-r[0].length):n.endsWith("/extensionRouter")?n.slice(0,-16):n}function Rp(e){let t=new Set,n=[];for(let r of e){let o=String(r||"").trim().replace(/\/+$/,"");!o||t.has(o)||(t.add(o),n.push(o))}return n}function aA(e){let t=iA(e),n=String(e||"").trim().replace(/\/+$/,"");return n.endsWith("/v2/rover")||n.endsWith("/extensionRouter/v2/rover")?Rp([n.replace("/extensionRouter/v2/rover","/v2/rover"),`${t}/v2/rover`]):Rp(!n&&t==="https://agent.rtrvr.ai"?[`${t}/v2/rover`,"https://extensionrouter.rtrvr.ai/v2/rover"]:[`${t}/v2/rover`])}function Di(e,t){let n=new Error(e);return n.details=t,n}function sA(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}var Id=class{constructor(t){q(this,"endpoint");q(this,"endpointCandidates");q(this,"endpointIndex",0);q(this,"getToken");q(this,"siteId");q(this,"visitorId");q(this,"ttlHours");q(this,"flushIntervalMs");q(this,"pullIntervalMs");q(this,"minFlushIntervalMs");q(this,"maxSnapshotBytes");q(this,"shouldSync");q(this,"shouldWrite");q(this,"buildCheckpoint");q(this,"onCheckpoint");q(this,"onStateChange");q(this,"onError");q(this,"idlePullIntervalMs");q(this,"started",!1);q(this,"idleMode",!1);q(this,"dirty",!1);q(this,"flushTimer",null);q(this,"pullTimer",null);q(this,"lastFlushAt",0);q(this,"lastPullAt",0);q(this,"lastUploadedRevision","");q(this,"lastAppliedRemoteUpdatedAt",0);q(this,"lastAppliedRemoteDigest","");q(this,"pushInFlight",!1);q(this,"pullInFlight",!1);q(this,"state","active");q(this,"visibilityListener",null);let n=String(t.authToken||"").trim(),r=t.getSessionToken,o=r?String(r()||"").trim():n;if(!o||!o.startsWith(Dk))throw Di("Rover cloud checkpoint requires a session token (rvrsess_...).");this.endpointCandidates=aA(t.apiBase),this.endpoint=this.endpointCandidates[0]||`${Ok}/v2/rover`,this.getToken=()=>{let i=r?String(r()||"").trim():n;if(!i||!i.startsWith(Dk))throw Di("Rover cloud checkpoint requires an active session token.");return i},this.siteId=t.siteId,this.visitorId=t.visitorId,this.ttlHours=Math.max(1,Math.min(168,Math.floor(Ba(t.ttlHours,1)))),this.flushIntervalMs=Math.max(2e3,Math.floor(Ba(t.flushIntervalMs,3e4))),this.pullIntervalMs=Math.max(2e3,Math.floor(Ba(t.pullIntervalMs,3e4))),this.idlePullIntervalMs=12e4,this.minFlushIntervalMs=Math.max(1e3,Math.floor(Ba(t.minFlushIntervalMs,2500))),this.maxSnapshotBytes=Math.max(64e3,Math.min(1048576,Math.floor(Ba(t.maxSnapshotBytes,262144)))),this.shouldSync=t.shouldSync||(()=>!0),this.shouldWrite=t.shouldWrite||(()=>!0),this.buildCheckpoint=t.buildCheckpoint,this.onCheckpoint=t.onCheckpoint,this.onStateChange=t.onStateChange,this.onError=t.onError}start(){this.started||(this.started=!0,this.setState("active"),typeof document<"u"&&!this.visibilityListener&&(this.visibilityListener=()=>{if(this.started){if(document.hidden){this.enterIdleMode();return}this.enterActiveMode(),this.shouldSync()&&(this.pull(!0),this.dirty&&this.flush(!0))}},document.addEventListener("visibilitychange",this.visibilityListener)),this.flushTimer=window.setInterval(()=>{this.shouldSync()&&this.flush(!1)},this.flushIntervalMs),this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.pullIntervalMs),this.pull(!0))}stop(){this.started&&(this.started=!1,this.idleMode=!1,this.flushTimer!=null&&(window.clearInterval(this.flushTimer),this.flushTimer=null),this.pullTimer!=null&&(window.clearInterval(this.pullTimer),this.pullTimer=null),this.visibilityListener&&typeof document<"u"&&(document.removeEventListener("visibilitychange",this.visibilityListener),this.visibilityListener=null),this.flush(!0))}markDirty(){this.dirty=!0}syncNow(t){let n=t?.push!==!1,r=t?.pull!==!1;n&&this.flush(!0),r&&this.pull(!0)}syncPullFirst(){(async()=>(await this.pull(!0),await this.flush(!0)))()}pullNow(t=!0){this.pull(!!t)}enterIdleMode(){this.idleMode||(this.idleMode=!0,this.flushTimer!=null&&(window.clearInterval(this.flushTimer),this.flushTimer=null),this.pullTimer!=null&&(window.clearInterval(this.pullTimer),this.pullTimer=null),this.started&&(this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.idlePullIntervalMs)))}enterActiveMode(){this.idleMode&&(this.idleMode=!1,this.started&&(this.flushTimer==null&&(this.flushTimer=window.setInterval(()=>{this.shouldSync()&&this.flush(!1)},this.flushIntervalMs)),this.pullTimer==null&&(this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.pullIntervalMs))))}getActiveEndpoint(){return this.endpointCandidates.length?this.endpointCandidates[this.endpointIndex]||this.endpoint:this.endpoint}rotateEndpoint(){this.endpointCandidates.length<=1||(this.endpointIndex=(this.endpointIndex+1)%this.endpointCandidates.length,this.endpoint=this.endpointCandidates[this.endpointIndex]||this.endpoint)}async requestJson(t,n){let r=Math.max(1,this.endpointCandidates.length||1),o;for(let i=0;i<r;i+=1){let a=(this.endpointIndex+i)%r,s=this.endpointCandidates[a]||this.endpoint;try{let c=await fetch(`${s}${t}`,n),l=await c.json().catch(()=>{});if(c.status===404||c.status===405){o=Di(`Checkpoint endpoint unavailable at ${s}${t}`,{status:c.status,payload:l});continue}return this.endpointIndex=a,this.endpoint=s,{response:c,payload:l}}catch(c){o=c}}throw o instanceof Error?o:Di(`Checkpoint request failed for ${t}`)}async flush(t){if(this.pushInFlight||this.idleMode||this.state==="paused_auth"||!t&&!this.shouldSync()||!this.dirty&&!t||!this.shouldWrite()||!t&&Date.now()-this.lastFlushAt<this.minFlushIntervalMs)return;let n=this.buildCheckpoint();if(!n)return;let r=Pk(n);if(n.digest=r,!t&&r===this.lastUploadedRevision){this.dirty=!1;return}this.pushInFlight=!0;try{let o=await this.callCheckpointApi("session_snapshot_upsert",{siteId:this.siteId,visitorId:this.visitorId,sessionId:n.sessionId,ttlHours:this.ttlHours,updatedAt:n.updatedAt,checkpoint:n});this.lastFlushAt=Date.now(),o?.saved&&(this.dirty=!1,this.lastUploadedRevision=r),o?.stale&&o?.checkpoint&&typeof o.checkpoint=="object"&&(this.applyRemoteCheckpoint(o.checkpoint,"push_stale"),this.dirty=!1),this.setState("active")}catch(o){this.handleCheckpointError(o,"session_snapshot_upsert")}finally{this.pushInFlight=!1}}async pull(t){if(!this.pullInFlight&&this.state!=="paused_auth"&&!(!t&&!this.shouldSync())&&!(!t&&Date.now()-this.lastPullAt<this.pullIntervalMs)){this.pullInFlight=!0;try{let n=await this.callCheckpointApi("session_projection_get",{siteId:this.siteId,visitorId:this.visitorId,sessionId:this.buildCheckpoint()?.sessionId});if(this.lastPullAt=Date.now(),!n?.found||!n?.checkpoint||typeof n.checkpoint!="object")return;this.applyRemoteCheckpoint(n.checkpoint,"pull"),this.setState("active")}catch(n){this.handleCheckpointError(n,"session_projection_get")}finally{this.pullInFlight=!1}}}applyRemoteCheckpoint(t,n){let r=Math.max(0,Math.floor(Ba(t?.updatedAt,0))),o=String(t?.digest||"").trim()||Pk(t);r<=this.lastAppliedRemoteUpdatedAt&&(!o||o===this.lastAppliedRemoteDigest)||(this.lastAppliedRemoteUpdatedAt=r,o&&(this.lastAppliedRemoteDigest=o),this.onCheckpoint(t,n))}async callCheckpointApi(t,n){return this.callRoverV2(t,n)}async callRoverV2(t,n){let r=this.getToken();if(t==="session_snapshot_upsert"){let c=JSON.stringify({requestNonce:sA(),sessionToken:r,sessionId:n?.sessionId,visitorId:n?.visitorId,ttlHours:n?.ttlHours,updatedAt:n?.updatedAt,version:n?.checkpoint?.version||n?.version||1,checkpoint:n?.checkpoint});if(c.length>this.maxSnapshotBytes)throw Di("Checkpoint snapshot exceeds maxSnapshotBytes limit.",{action:t,size:c.length,maxSnapshotBytes:this.maxSnapshotBytes,code:"SNAPSHOT_TOO_LARGE"});let l=c.length<6e4,{response:d,payload:m}=await this.requestJson("/snapshot",{method:"POST",headers:{"Content-Type":"text/plain"},keepalive:l,body:c});if(!d.ok||!m?.success)throw Di(`Checkpoint HTTP ${d.status}`,{action:t,status:d.status,payload:m});return{saved:!!m?.data?.saved,stale:m?.data?.stale===!0,checkpoint:m?.data?.checkpoint,updatedAt:Number(m?.data?.updatedAt)||void 0}}let o=new URLSearchParams({sessionId:String(n?.sessionId||""),sessionToken:r,includeSnapshot:"true"}),{response:i,payload:a}=await this.requestJson(`/state?${o.toString()}`,{method:"GET"});if(!i.ok||!a?.success)throw Di(`Checkpoint HTTP ${i.status}`,{action:t,status:i.status,payload:a});let s=a?.data?.projection?.snapshot??a?.data?.snapshot;return{found:!!s,checkpoint:s}}setState(t,n){this.state!==t&&(this.state=t,this.onStateChange?.(t,n||{}))}handleCheckpointError(t,n){let r=this.normalizeCheckpointError(t),o=this.isAuthFailure(r);o&&this.setState("paused_auth",{reason:"auth_failed",action:n,code:r.code,message:r.message}),this.onError?.(t,{action:n,state:this.state,code:r.code,message:r.message,status:r.status,paused:o})}normalizeCheckpointError(t){let n=t,r=n?.details,o=r?.payload||r?.response||r,i=o?.errorCode||o?.errorDetails?.code||o?.error?.code||o?.code,a=o?.error||o?.errorDetails?.message||o?.error?.message||n?.message||"Checkpoint request failed",s=Number(r?.status);return{code:typeof i=="string"?i:void 0,message:nA(a,1e3),status:Number.isFinite(s)?s:void 0}}isAuthFailure(t){let n=String(t.code||"").toUpperCase();return n==="INVALID_API_KEY"||n==="MISSING_API_KEY"||n==="UNAUTHENTICATED"||n==="PERMISSION_DENIED"?!0:t.status===401||t.status===403}};var cA="rover-runtime-state-db",Ad="runtime-state",Mp=class{read(t){try{let n=window.sessionStorage.getItem(t);return n?JSON.parse(n):null}catch{return null}}write(t,n){try{window.sessionStorage.setItem(t,JSON.stringify(n))}catch{}}remove(t){try{window.sessionStorage.removeItem(t)}catch{}}},Np=class{constructor(){q(this,"dbPromise",null)}openDb(){return this.dbPromise?this.dbPromise:(this.dbPromise=new Promise((t,n)=>{if(typeof indexedDB>"u"){n(new Error("indexedDB unavailable"));return}let r=indexedDB.open(cA,1);r.onupgradeneeded=()=>{let o=r.result;o.objectStoreNames.contains(Ad)||o.createObjectStore(Ad)},r.onsuccess=()=>{t(r.result)},r.onerror=()=>{n(r.error||new Error("indexedDB open failed"))}}).catch(t=>{throw this.dbPromise=null,t}),this.dbPromise)}async withStore(t,n){let r=await this.openDb();return new Promise((o,i)=>{let a=r.transaction(Ad,t),s=a.objectStore(Ad);n(s,o,i),a.onerror=()=>{i(a.error||new Error("indexedDB transaction failed"))}})}async read(t){try{return await this.withStore("readonly",(n,r,o)=>{let i=n.get(t);i.onsuccess=()=>{let a=i.result;r(a??null)},i.onerror=()=>{o(i.error||new Error("indexedDB read failed"))}})}catch{return null}}async write(t,n){await this.withStore("readwrite",(r,o,i)=>{let a=r.put(n,t);a.onsuccess=()=>o(),a.onerror=()=>{i(a.error||new Error("indexedDB write failed"))}}).catch(()=>{})}async remove(t){await this.withStore("readwrite",(n,r,o)=>{let i=n.delete(t);i.onsuccess=()=>r(),i.onerror=()=>{o(i.error||new Error("indexedDB delete failed"))}}).catch(()=>{})}};function Rd(){let e=new Mp,t=new Np;return{readSync:n=>e.read(n),readSyncAny:n=>{for(let r of n){if(!r)continue;let o=e.read(r);if(o)return o}return null},readAsync:async n=>t.read(n),readAsyncAny:async n=>{for(let r of n){if(!r)continue;let o=await t.read(r);if(o)return o}return null},write:(n,r)=>{e.write(n,r),t.write(n,r)},remove:n=>{e.remove(n),t.remove(n)}}}var lA="https://agent.rtrvr.ai";function dA(e){let t=lA,n=String(e||t).trim().replace(/\/+$/,"");return n?n.endsWith("/extensionRouter/v2/rover")?n.slice(0,-25):n.endsWith("/v2/rover")?n.slice(0,-9):n:t}function uA(e){let t=String(e||"").trim().replace(/\/+$/,"");return t.endsWith("/v2/rover")?t:t.endsWith("/extensionRouter/v2/rover")?t.replace("/extensionRouter/v2/rover","/v2/rover"):`${dA(e)}/v2/rover`}function fA(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}function Bk(e,t){return String(e||t).trim().toLowerCase().replace(/[^a-z0-9._:-]+/g,"_").slice(0,128)||t}function Co(e){return String(e||"").trim().replace(/[^a-zA-Z0-9._:-]/g,"").slice(0,128)}function Ua(e,t){return String(e||"").replace(/[\u0000-\u001f\u007f]/g," ").replace(/\s+/g," ").trim().slice(0,t)}function Xo(e,t="New chat"){return Ua(e,72)||t}function Uk(e){let t=Rd(),n=`${Bk(e.siteId,"unknown-site")}:${Bk(e.visitorId,"anonymous")}`,r=`rover:conversations:${n}:index`,o=s=>`rover:conversations:${n}:record:${Co(s)}`;async function i(){let s=t.readSync(r);if(Array.isArray(s))return s;let c=await t.readAsync(r);return Array.isArray(c)?c:[]}function a(s){t.write(r,s.filter(c=>!!Co(c.conversationId)&&!c.deletedAt).sort((c,l)=>Number(l.updatedAt||0)-Number(c.updatedAt||0)).slice(0,100))}return{async list(){return i()},async get(s){let c=Co(s);return c?t.readSync(o(c))||await t.readAsync(o(c)):null},upsert(s){let c=Co(s.summary.conversationId);if(!c)return;let l={...s.summary,conversationId:c,title:Xo(s.summary.title),preview:Ua(s.summary.preview,180),updatedAt:Number(s.summary.updatedAt||Date.now()),createdAt:Number(s.summary.createdAt||s.summary.updatedAt||Date.now())};t.write(o(c),{summary:l,payload:s.payload}),i().then(d=>{a([l,...d.filter(m=>m.conversationId!==c)])})},remove(s,c){let l=Co(s);l&&(t.remove(o(l)),i().then(d=>{a(d.filter(m=>m.conversationId!==l).map(m=>m.conversationId===l?{...m,deletedAt:c?.deletedAt||Date.now(),revision:c?.revision}:m))}))}}}var Cd=class{constructor(t){q(this,"base");q(this,"getSessionToken");q(this,"siteId");q(this,"visitorId");this.base=uA(t.apiBase),this.getSessionToken=t.getSessionToken,this.siteId=t.siteId,this.visitorId=t.visitorId}async request(t,n){let r=this.getSessionToken?.();if(!r)throw new Error("Rover session token unavailable.");let o=n?.method||"GET",i=new URL(`${this.base}${t}`);o==="GET"&&(i.searchParams.set("sessionToken",r),i.searchParams.set("siteId",this.siteId),i.searchParams.set("visitorId",this.visitorId));let a=o==="GET"?void 0:JSON.stringify({...n?.json||{},sessionToken:r,siteId:this.siteId,visitorId:this.visitorId,requestNonce:fA()}),s=await fetch(i.toString(),{method:o,headers:o==="GET"?void 0:{"content-type":"text/plain;charset=UTF-8"},body:a,credentials:"omit"}),c=await s.json().catch(()=>({}));if(!s.ok||c?.success===!1)throw new Error(String(c?.error||c?.message||`conversation request failed (${s.status})`));return c.data||c}async list(){let t=await this.request("/conversations"),n=Array.isArray(t.conversations)?t.conversations.map(o=>({conversationId:Co(o.conversationId),title:Xo(o.title),preview:Ua(o.preview,180),status:o.status,createdAt:Number(o.createdAt||0)||void 0,updatedAt:Number(o.updatedAt||0)||Date.now(),revision:Number(o.revision||0)||void 0})).filter(o=>!!o.conversationId):[],r=Array.isArray(t.tombstones)?t.tombstones:[];return{conversations:n,tombstones:r}}async get(t){let n=Co(t);if(!n)return null;let r=await this.request(`/conversations/${encodeURIComponent(n)}`),o=r.conversation||{};return{summary:{conversationId:n,title:Xo(o.title),preview:Ua(o.preview,180),status:o.status,createdAt:Number(o.createdAt||0)||void 0,updatedAt:Number(o.updatedAt||0)||Date.now(),revision:Number(o.revision||0)||void 0},payload:r.payload?.payload||r.payload}}async upsert(t){let n=Co(t.summary.conversationId);if(!n)return null;let o=(await this.request(`/conversations/${encodeURIComponent(n)}`,{method:"POST",json:{title:Xo(t.summary.title),preview:Ua(t.summary.preview,180),status:t.summary.status||"completed",payload:t.payload||{}}})).conversation||{};return{conversationId:n,title:Xo(o.title||t.summary.title),preview:Ua(o.preview||t.summary.preview,180),status:o.status||t.summary.status,createdAt:Number(o.createdAt||t.summary.createdAt||0)||void 0,updatedAt:Number(o.updatedAt||Date.now()),revision:Number(o.revision||0)||void 0}}async delete(t){let n=Co(t),r=await this.request(`/conversations/${encodeURIComponent(n)}`,{method:"DELETE",json:{}});return{conversationId:n,deletedAt:Number(r.deletedAt||Date.now()),revision:Number(r.revision||0)||void 0}}};var pA="https://agent.rtrvr.ai";var mA={0:"Available",1:"Cross-origin frame without a frame agent",2:"Frame DOM is empty",3:"Frame was not ready",4:"Frame scan timed out",5:"Frame sandbox blocked access",6:"Frame adapter unavailable",7:"Frame tree scan failed"};function hA(){try{if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID()}catch{}return`${Date.now()}-${Math.random().toString(16).slice(2)}`}function gA(e){let t=pA,n=String(e||t).trim().replace(/\/+$/,"");return n?n.endsWith("/extensionRouter/v2/rover")?n.slice(0,-25):n.endsWith("/v2/rover")?n.slice(0,-9):n:t}function bA(e){let t=String(e||"").trim().replace(/\/+$/,"");return t.endsWith("/v2/rover")?t:t.endsWith("/extensionRouter/v2/rover")?t.replace("/extensionRouter/v2/rover","/v2/rover"):`${gA(e)}/v2/rover`}function yA(e,t){return String(e||t).trim().replace(/[^a-zA-Z0-9._:-]+/g,"_").slice(0,128)||t}function Md(e,t){let n=String(e||"").replace(/[\u0000-\u001f\u007f]/g," ").replace(/\s+/g," ").trim();return n?n.slice(0,t):void 0}function Fa(e){let t=Number(e);return Number.isFinite(t)?Math.trunc(t):void 0}function Fk(e){let t=Fa(e);if(t!=null)return mA[t]||`Unavailable (${t})`}function Lp(e,t){let n=String(e||"").trim();if(n)try{let r=new URL(n,t||void 0);return r.search="",r.hash="",r.toString().slice(0,300)}catch{let r=n.split("#")[0].split("?")[0].trim();return r?r.slice(0,300):void 0}}function vA(e,t){let n=String(e||"").trim();if(n)try{return new URL(n,t||void 0).origin.slice(0,300)}catch{return}}function kA(e){if(!e||typeof e!="object")return!1;if(e.isFrameElement===!0)return!0;let t=String(e.elementTag||e.elementName||"").trim().toLowerCase();return t==="iframe"||t==="frame"}function xA(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){let r=Fa(n);r!=null&&t.push(r)}return t}function wA(e,t){if(t==null)return;let n=e.metadata?.frameRealms?.realms;return n?.[String(t)]||n?.[t]}function SA(e,t){let n=e.nodes?.[t];if(!kA(n))return;let r=Fa(t);if(r==null)return;let o=Array.isArray(n.frameRealm)?n.frameRealm:[],i=Fa(o[0]),a=Fa(o[1]),s=Fa(o[2]),c=wA(e,i),l=c?.url||n.resourceLocator,d=Lp(l,e.url),m=Md(c?.origin,300)||vA(l,e.url),f=xA(n.frameContent),u=Md(n.computedName||c?.title||n.computedDescription,120);return{hostElementId:r,...u?{label:u}:{},...d?{src:d}:{},...m?{origin:m}:{},hasFrameContent:f.length>0,childCount:f.length,...a!=null?{capabilityCode:a}:{},...s!=null?{unavailableCode:s}:{},...Fk(s)?{reasonLabel:Fk(s)}:{}}}function zk(e,t={}){if(!e?.nodes||typeof e.nodes!="object")return;let n=[];for(let i of Object.keys(e.nodes)){let a=SA(e,i);if(a&&(n.push(a),n.length>=50))break}if(!n.length)return;let r={version:1,captureId:yA(t.captureId,`frame-${Date.now().toString(36)}-${Math.random().toString(16).slice(2,8)}`),capturedAt:Number(t.now||Date.now()),...Lp(e.url)?{pageUrl:Lp(e.url)}:{},...Md(e.title,120)?{title:Md(e.title,120)}:{},frameCount:n.length,frames:n},o=TA(r);return o.frames.length?o:void 0}function Hk(e){return JSON.stringify({pageUrl:e.pageUrl,frames:e.frames.map(t=>[t.hostElementId,t.src,t.origin,t.childCount,t.capabilityCode,t.unavailableCode])})}function TA(e){let t={...e,frames:e.frames.slice(0,50),frameCount:Math.min(e.frameCount,50)};for(;JSON.stringify(t).length>64e3&&t.frames.length>0;)t={...t,frames:t.frames.slice(0,-1),frameCount:t.frames.length-1};return t.frameCount=t.frames.length,t}var Nd=class{constructor(t){q(this,"base");q(this,"getSessionToken");q(this,"siteId");q(this,"sessionId");this.base=bA(t.apiBase),this.getSessionToken=t.getSessionToken,this.siteId=t.siteId,this.sessionId=t.sessionId}async upload(t){let n=this.getSessionToken?.();if(!n)return;let r=await fetch(`${this.base}/debug/frame-diagnostics`,{method:"POST",headers:{"content-type":"text/plain;charset=UTF-8"},credentials:"omit",body:JSON.stringify({sessionToken:n,sessionId:this.sessionId,siteId:this.siteId,runId:t.runId,captureId:t.diagnostics.captureId,diagnostics:t.diagnostics,requestNonce:hA()})}),o=await r.json().catch(()=>({}));if(!r.ok||o?.success===!1)throw new Error(String(o?.error||o?.message||`frame diagnostics upload failed (${r.status})`));return o.data?.debugRef||o.debugRef}};function jk(e){if(typeof e=="string"){let n=String(e||"").trim().slice(0,4e3);return n?{role:"model",message:n}:null}if(!e||typeof e!="object")return null;let t=String(e.message||"").trim().slice(0,4e3);return t?{role:"model",message:t}:null}function $k(e){let t=e.normalizeRunBoundaryId||(r=>String(r||"").trim()||void 0),n=typeof e.msg?.executionId=="string"&&e.msg.executionId.trim()?e.msg.executionId.trim():typeof e.msg?.runId=="string"?e.msg.runId:void 0;return{runId:String(e.runId||"").trim()||void 0,executionId:n,runBoundaryId:typeof e.msg?.runBoundaryId=="string"?t(e.msg.runBoundaryId):t(e.currentRunBoundaryId),text:typeof e.msg?.text=="string"?e.msg.text:void 0,startedAt:e.now||Date.now(),pageUrl:e.pageUrl}}function qk(e){let t=e.normalizeRunBoundaryId||(s=>String(s||"").trim()||void 0),n=typeof e.msg?.executionId=="string"&&e.msg.executionId.trim()?e.msg.executionId.trim():typeof e.msg?.runId=="string"&&e.msg.runId.trim()?e.msg.runId.trim():void 0,r=e.completionState.terminalState==="waiting_input"?"waiting_input":e.completionState.terminalState,o=String(e.msg?.summary||e.msg?.message||e.msg?.result?.summary||e.latestSummary||"").trim()||void 0,i=String(e.msg?.error||e.msg?.result?.error||"").trim()||void 0,a=r==="completed"?"success":r==="failed"?"failure":e.completionState.needsUserInput||r==="in_progress"?"partial":"abandoned";return{runId:String(e.runId||"").trim()||void 0,executionId:n,runBoundaryId:typeof e.msg?.runBoundaryId=="string"?t(e.msg.runBoundaryId):t(e.currentRunBoundaryId),terminalState:r,continuationReason:e.completionState.continuationReason,runComplete:e.completionState.runComplete===!0,needsUserInput:e.completionState.needsUserInput,summary:o,error:i,ok:e.msg?.ok!==!1,questions:e.completionState.questions,endedAt:e.now||Date.now(),outcome:a,pageUrl:e.pageUrl}}var _A=/(?:password|passcode|secret|token|api[_-]?key|authorization|cookie|session|credit|card|cvv|cvc|ssn|otp|mfa|email|phone)/i,EA=/^(?:text|value|input|content|typed_text|field_value|option_value|search_text|query)$/i,IA=/^(?:file_url|url|file_name|filename|name|path|file_path|download_url|storage_url|gcs_uri)$/i,AA=new Set(ba),Gt=["element_id"],RA=["source_element_id","target_element_id"],CA=["center_element_id"],oo=[],Vk=Object.freeze({[z.click_element]:{kind:"click",elementKeys:Gt},[z.type_into_element]:{kind:"type",elementKeys:Gt},[z.type_and_enter]:{kind:"type",elementKeys:Gt},[z.select_dropdown_value]:{kind:"select",elementKeys:Gt},[z.clear_element]:{kind:"clear",elementKeys:Gt},[z.focus_element]:{kind:"focus",elementKeys:Gt},[z.check_field_validity]:{kind:"read",emit:!1},[z.select_text]:{kind:"select",elementKeys:Gt},[z.hover_element]:{kind:"hover",elementKeys:Gt},[z.right_click_element]:{kind:"click",elementKeys:Gt},[z.double_click_element]:{kind:"click",elementKeys:Gt},[z.press_key]:{kind:"press",elementKeys:Gt},[z.mouse_wheel]:{kind:"scroll",elementKeys:Gt},[z.dispatch_pointer_path]:{kind:"drag",elementKeys:Gt},[z.drag_element]:{kind:"drag",elementKeys:Gt},[z.drag_and_drop]:{kind:"drag",elementKeys:RA},[z.adjust_slider]:{kind:"drag",elementKeys:Gt},[z.scroll_page]:{kind:"scroll",elementKeys:Gt},[z.scroll_to_element]:{kind:"scroll",elementKeys:Gt},[z.swipe_element]:{kind:"scroll",elementKeys:Gt},[z.long_press_element]:{kind:"click",elementKeys:Gt},[z.pinch_zoom]:{kind:"drag",elementKeys:CA},[z.go_back]:{kind:"navigate",elementKeys:oo},[z.go_forward]:{kind:"navigate",elementKeys:oo},[z.goto_url]:{kind:"navigate",elementKeys:oo},[z.refresh_page]:{kind:"navigate",elementKeys:oo},[z.open_new_tab]:{kind:"navigate",elementKeys:oo},[z.switch_tab]:{kind:"navigate",elementKeys:oo},[z.close_tab]:{kind:"navigate",elementKeys:oo},[z.describe_images]:{kind:"read",emit:!1},[z.google_search]:{kind:"navigate",elementKeys:oo},[z.network_run_recipe]:{kind:"read",emit:!1},[z.rover_external_read_context]:{kind:"read",emit:!1},[z.rover_external_act_context]:{kind:"read",emit:!1},[z.copy_text]:{kind:"copy",elementKeys:Gt},[z.paste_text]:{kind:"paste",elementKeys:Gt},[z.wait_action]:{kind:"wait",elementKeys:oo},[z.wait_for_element]:{kind:"wait",emit:!1},[z.answer_task]:{kind:"unknown",emit:!1},[z.upload_file]:{kind:"upload",elementKeys:Gt},[z.solve_captcha]:{kind:"unknown",emit:!1},discover_and_extract_network_data:{kind:"read",emit:!1}});function za(e){let t=Math.trunc(Number(e));return Number.isFinite(t)&&t>0?t:void 0}function MA(e,t){if(!e||typeof e!="object")return[];let n=new Set,r=[];for(let o of t){if(!AA.has(o))continue;let i=e[o],a=Array.isArray(i)?i:[i];for(let s of a){let c=za(s);!c||n.has(c)||(n.add(c),r.push(c))}}return r}function NA(e){if(!(!e||typeof e!="object"))return za(e.logical_tab_id)??za(e.tab_id)??za(e.logicalTabId)??za(e.tabId)}function LA(e){let t=String(e||"").trim().toLowerCase();return t&&Vk[t]?.kind||"unknown"}function DA(e,t){return!!(_A.test(e)||(t==="type"||t==="select"||t==="paste")&&EA.test(e)||t==="upload"&&IA.test(e))}function PA(e){if(typeof e=="string"){let t=[...e].length;return t>0?`[REDACTED ${t} chars]`:"[REDACTED]"}return"[REDACTED]"}function Dp(e,t,n="",r=0){if(r>5)return{value:"[Truncated]",redacted:!1};if(DA(n,t))return{value:PA(e),redacted:!0};if(Array.isArray(e)){let o=!1,i=e.slice(0,40).map(a=>{let s=Dp(a,t,n,r+1);return o=o||s.redacted,s.value});return e.length>40&&i.push(`[${e.length-40} more items]`),{value:i,redacted:o}}if(e&&typeof e=="object"){let o=!1,i={};for(let[a,s]of Object.entries(e).slice(0,80)){let c=Dp(s,t,a,r+1);o=o||c.redacted,i[a]=c.value}return{value:i,redacted:o}}return{value:e,redacted:!1}}function Wk(e,t){if(!e||typeof e!="object")return{args:{},valueRedacted:!1};let n=Dp(e,t);return{args:n.value&&typeof n.value=="object"&&!Array.isArray(n.value)?n.value:{},valueRedacted:n.redacted}}function mc(e,t,n={}){if(!e||typeof e!="object")return;let r=String(e.name||"").trim().toLowerCase(),o=Vk[r];if(!o||o.emit===!1)return;let i=o.kind,a=MA(e.args,o.elementKeys||oo),s=a[0],c=NA(e.args)??za(n.logicalTabId),l=Wk(e.args,i);return{kind:i,toolCallId:String(t||e.id||"").trim()||void 0,primaryElementId:s,elementIds:a.length?a:void 0,logicalTabId:c,valueRedacted:l.valueRedacted||void 0}}function Kk(e){if(!e?.args)return;let t=LA(e.name),n=Wk(e.args,t);if(Object.keys(n.args).length)return[{type:"json",label:`${e.name||"tool"} args`,toolName:e.name,data:n.args}]}function OA(e){let t=Math.trunc(Number(e));return Number.isFinite(t)&&t>0?t:void 0}function Gk(e,t=document){let n=OA(e);if(!n)return null;try{let r=ur(t,n);if(r)return r}catch{}try{return t.querySelector(`[data-rveid="${n}"]`)}catch{return null}}var BA="rover_xdr_",Yk=300;function Jk(e){return mr(e)}function Qk(e){let t=Qn(e);return!(!t||t==="localhost"||Rf(t))}function Pp(e){return`${BA}${e.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,40)}`}function Ld(e){let t=String(e||"").trim();if(!t)return"";try{let n=new URL(t,window.location.href);return n.hash="",n.toString()}catch{return t}}function Xk(e){let t=String(e||"").trim();return!t||t==="/"?"/":t.replace(/\/\/+/g,"/").replace(/\/+$/,"")||"/"}function UA(e,t){let n=new Set;for(let[r]of e.entries())n.add(r);for(let r of n){let o=e.getAll(r);if(!o.length)continue;let i=t.getAll(r);if(!i.length)return!1;let a=new Map;for(let s of i)a.set(s,(a.get(s)||0)+1);for(let s of o){let c=a.get(s)||0;if(c<=0)return!1;a.set(s,c-1)}}return!0}function Op(e,t){let n=Ld(e),r=Ld(t);if(!n||!r)return!1;try{let o=new URL(n,window.location.href),i=new URL(r,window.location.href);return o.origin.toLowerCase()!==i.origin.toLowerCase()||Xk(o.pathname)!==Xk(i.pathname)?!1:UA(o.searchParams,i.searchParams)}catch{return n===r}}function Zk(e,t){try{let n=Pp(e),r=Jk(window.location.hostname),o=encodeURIComponent(JSON.stringify(t)),i=window.location.protocol==="https:",a=[`${n}=${o}`,"path=/",`max-age=${Yk}`,"SameSite=Lax"];Qk(r)&&a.push(`domain=.${r}`),i&&a.push("Secure"),document.cookie=a.join("; ")}catch{}}function Bp(e,t){try{let n=Pp(e),r=document.cookie.split(";"),o=Math.max(1e3,Number(t?.maxAgeMs)||Yk*1e3),i=Ld(t?.currentUrl||window.location.href),a=Qn(t?.currentHost||window.location.hostname||""),s=String(t?.expectedHandoffId||"").trim(),c=t?.requireTargetMatch!==!1;for(let l of r){let[d,...m]=l.trim().split("=");if(d===n){let f=m.join("="),u=JSON.parse(decodeURIComponent(f));if(!u.timestamp||Date.now()-u.timestamp>=o)continue;let h=String(u.handoffId||u.handoff?.handoffId||"").trim();if(!h||s&&h!==s)continue;if(c){let b=Ld(u.targetUrl||u.handoff?.targetUrl||"");if(!b||!i||!Op(b,i))continue}if(u.sourceHost){let b=Qn(u.sourceHost||"");if(b&&a&&b===a&&!s)continue}if(u.sessionId&&typeof u.sessionId=="string")return u}}}catch{}return null}function hc(e){try{let t=Pp(e),n=Jk(window.location.hostname),r=window.location.protocol==="https:",o=[`${t}=`,"path=/","max-age=0","SameSite=Lax"];Qk(n)&&o.push(`domain=.${n}`),r&&o.push("Secure"),document.cookie=o.join("; ")}catch{}}function qe(e){return String(e||"").trim()||void 0}function FA(e){let t=qe(e.incomingBoundaryId),n=qe(e.currentBoundaryId);return!t||t===n?!1:n?e.taskEpochAdvanced===!0&&e.hasPendingRun!==!0:e.allowBootstrapAdoption!==!1}function ex(e){let t=qe(e.incomingBoundaryId),n=qe(e.currentBoundaryId);return t&&n&&t===n?{accept:!0,reason:"match"}:t?FA(e)?{accept:!0,adoptedBoundaryId:t,reason:n?"epoch_adopt":"bootstrap_adopt"}:{accept:!1,reason:"mismatch"}:!n&&e.allowBootstrapAdoption!==!1?{accept:!0,reason:"bootstrap_adopt"}:{accept:!1,reason:"missing_incoming"}}function zA(){return[{kind:"create_task"},{kind:"rotate_boundary"},{kind:"assign_worker"}]}function Up(){return[{kind:"release_worker"},{kind:"clear_run"}]}function Dd(){return[{kind:"release_worker"},{kind:"clear_run"}]}function Pi(){return[{kind:"archive_task"},{kind:"clear_run"},{kind:"clear_worker_state"}]}var HA={idle:{START:{to:"running",sideEffects:()=>zA()}},running:{AGENT_PROGRESS:{to:"running",sideEffects:()=>[{kind:"update_timestamps",ts:Date.now()}]},NAVIGATION_STARTED:{to:"running",sideEffects:e=>[{kind:"record_navigation",targetUrl:e.targetUrl,isCrossHost:e.isCrossHost},{kind:"update_timestamps",ts:Date.now()}]},NAVIGATION_COMPLETED:{to:"running",sideEffects:()=>[{kind:"clear_navigation"},{kind:"update_timestamps",ts:Date.now()}]},ASK_USER:{to:"awaiting_user",sideEffects:e=>[{kind:"set_pending_questions",questions:e.questions||[]}]},PAUSE:{to:"paused",sideEffects:()=>[{kind:"snapshot_worker_state"},{kind:"release_worker"}]},BLOCK:{to:"blocked",sideEffects:e=>[{kind:"record_block_reason",reason:e.reason},{kind:"notify_agent_blocked"}]},COMPLETE:{to:"completed",sideEffects:()=>Up()},FAIL:{to:"failed",sideEffects:e=>[...Up(),{kind:"emit_error",error:e.error}]},CANCEL:{to:"cancelled",sideEffects:()=>Dd()},RESET:{to:"idle",sideEffects:()=>Pi()}},awaiting_user:{USER_RESPONDED:{to:"running",sideEffects:()=>[{kind:"clear_questions"}]},PAUSE:{to:"paused",sideEffects:()=>[{kind:"snapshot_worker_state"},{kind:"release_worker"}]},CANCEL:{to:"cancelled",sideEffects:()=>Dd()},RESET:{to:"idle",sideEffects:()=>Pi()}},paused:{RESUME:{to:"running",sideEffects:()=>[{kind:"restore_snapshot"},{kind:"assign_worker"}]},CANCEL:{to:"cancelled",sideEffects:()=>Dd()},RESET:{to:"idle",sideEffects:()=>Pi()}},blocked:{UNBLOCK:{to:"running",sideEffects:()=>[{kind:"resume_from_block"}]},CANCEL:{to:"cancelled",sideEffects:()=>Dd()},FAIL:{to:"failed",sideEffects:e=>[...Up(),{kind:"emit_error",error:e.error}]},RESET:{to:"idle",sideEffects:()=>Pi()}},completed:{RESET:{to:"idle",sideEffects:()=>Pi()}},failed:{RESET:{to:"idle",sideEffects:()=>Pi()}},cancelled:{RESET:{to:"idle",sideEffects:()=>Pi()}}};function jA(e,t,n){let o=HA[e]?.[t.type];if(!o)return{next:e,rejected:!0,rejectedReason:`Invalid transition: ${e} + ${t.type}`,sideEffects:[]};let i=o.to;return e==="paused"&&t.type==="RESUME"&&n?.prePauseState==="awaiting_user"&&(i="awaiting_user"),{next:i,rejected:!1,sideEffects:o.sideEffects(t,n)}}function gc(e){return e==="completed"||e==="failed"||e==="cancelled"}function tx(e){switch(e){case"idle":return"running";case"running":return"running";case"awaiting_user":return"running";case"paused":return"running";case"blocked":return"running";case"completed":return"completed";case"failed":return"failed";case"cancelled":return"cancelled";default:return"running"}}function bc(e,t){if(!e)return"idle";switch(e){case"running":{let n=String(t||"").trim().toLowerCase();return n.includes("waiting_for_input")||n.includes("awaiting_user")?"awaiting_user":"running"}case"completed":return"completed";case"cancelled":return"cancelled";case"failed":return"failed";case"ended":return"cancelled";default:return"idle"}}function nx(e,t){let n=jA(e.state,t,e);if(n.rejected)return{record:e,result:n};let r=Date.now(),o={...e,state:n.next};if(n.next==="paused"&&!o.pausedAt&&(o.pausedAt=r,o.prePauseState=e.state==="awaiting_user"?"awaiting_user":"running"),n.next==="blocked"){o.blockedAt=r;let i=t;o.blockReason=i.reason}return n.next==="running"&&e.state==="paused"&&(o.pausedAt=void 0,o.prePauseState=void 0),n.next==="running"&&e.state==="blocked"&&(o.blockedAt=void 0,o.blockReason=void 0),n.next==="running"&&e.state==="awaiting_user"&&(o.pausedAt=void 0,o.prePauseState=void 0),gc(n.next)&&(o.endedAt=r),t.type==="COMPLETE"&&t.summary&&(o.summary=t.summary),t.type==="RESET"&&(o.pausedAt=void 0,o.prePauseState=void 0,o.blockedAt=void 0,o.blockReason=void 0,o.endedAt=void 0),{record:o,result:n}}function Fp(e){let t=Date.now(),n=e?.taskId||$A(),r=e?.boundaryId||qA();return{taskId:n,state:"idle",boundaryId:r,startedAt:t,uiMessages:[],timeline:[],seedChatLog:[],tabIds:[],...e}}function $A(){return`task_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function qA(){return`bnd_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function Pd(e){return e==="running"}function rx(e){return e.resumeRequired?e.hasLiveRemoteController?"defer_remote_owner":e.policy==="never"?"cancel_resume":e.policy==="confirm"?"prompt_resume":"auto_resume":"noop"}function ox(e){let t=qe(e.currentTaskBoundaryId),n=qe(e.localPendingTaskBoundaryId),r=qe(e.candidateTaskBoundaryId);return!(!n||t&&n!==t||r&&r!==(t||n))}function ix(e){let t=String(e.serverRunId||"").trim();if(!t||e.taskStatus!=="running"||e.ignoredRunIds?.has(t))return!1;let n=String(e.localPendingRunId||"").trim();return!n||n!==t?!1:ox({currentTaskBoundaryId:e.currentTaskBoundaryId,localPendingTaskBoundaryId:e.localPendingTaskBoundaryId})}function ax(e){let t=String(e.serverRunId||"").trim();if(!t||!e.ignoredRunIds?.has(t))return!1;let n=String(e.runStatus||"").trim().toLowerCase();return!(n==="completed"||n==="cancelled"||n==="failed"||n==="ended")}function zp(e){if(e.taskStatus!=="running")return!1;let t=String(e.candidateRunId||"").trim(),n=String(e.localPendingRunId||"").trim();return!t||!String(e.candidateRunText||"").trim()||!n||e.ignoredRunIds?.has(t)||n!==t?!1:ox({currentTaskBoundaryId:e.currentTaskBoundaryId,localPendingTaskBoundaryId:e.localPendingTaskBoundaryId,candidateTaskBoundaryId:e.candidateTaskBoundaryId})}function Hp(e){return!!(e.localTaskStatus!=="running"||e.remoteTaskStatus&&e.remoteTaskStatus!=="running"||e.mode==="observer"&&!e.hasRemoteActiveRun)}function sx(e){let{type:t,messageRunId:n,messageTaskBoundaryId:r,currentTaskBoundaryId:o,pendingRunId:i,sharedActiveRunId:a,authoritativeActiveRunId:s,taskStatus:c,ignoredRunIds:l}=e,d=qe(o),m=qe(r),f=t==="run_state_transition"||t==="run_completed";if(d&&(m&&m!==d||(t==="run_started"||t==="run_resumed"||f)&&!m&&!(f&&!!n&&!!i&&n===i&&c==="running")))return!0;if(!n&&t!=="run_started"&&t!=="run_resumed")return!1;if(n&&l?.has(n))return!0;let b=s||a;return t==="run_started"||t==="run_resumed"?!n||b&&b===n?!1:i?i!==n&&(!b||b!==n):!0:n?t==="run_completed"||t==="run_state_transition"?c!=="running"?!0:i?i!==n&&(!b||b!==n):!(b&&b===n):i?i!==n:!0:!1}function VA(e){return Math.max(1,Number(e)||1)}function WA(e){if(!e)return"idle";if(e.status!=="running")return"terminal";let t=String(e.boundaryReason||"").trim().toLowerCase();return t.includes("waiting_for_input")||t.includes("awaiting_user")?"awaiting_user":"running"}function jp(e){return e==="completed"||e==="cancelled"||e==="failed"||e==="ended"}function cx(e,t,n){let r=Number(t.at)||Date.now(),o=String(t.reason||"kernel").trim()||"kernel",i=VA(e.taskEpoch),a=e.task||n.createTask(o,r,t.taskId);if(t.type==="new_task")return{task:n.createTask(o,r,t.taskId),taskEpoch:i+1,lifecycle:"running",rotateBoundary:!0,clearPendingRun:!0,clearWorkerState:!0};if(t.type==="terminal"){let l=t.terminal;return{task:{...a,status:l,boundaryReason:o,endedAt:r},taskEpoch:i,lifecycle:"terminal",rotateBoundary:!1,clearPendingRun:!0,clearWorkerState:!0}}let c={...a,status:"running",boundaryReason:o,endedAt:void 0};return!c.lastUserAt&&!c.lastAssistantAt&&(c.lastAssistantAt=r),{task:c,taskEpoch:i,lifecycle:t.type==="awaiting_user"?"awaiting_user":WA(c),rotateBoundary:!1,clearPendingRun:!1,clearWorkerState:!1}}function yc(e){return Array.isArray(e)?e.length:0}function $p(e){return String(e||"").trim()||void 0}function lx(e){return String(e||"").trim()||void 0}function dx(e){if(!e)return 0;let t=0;String(e.pendingRun?.id||"").trim()&&(t+=4,e.pendingRun?.resumeRequired&&(t+=1),$p(e.pendingRun?.taskBoundaryId)&&(t+=1)),e.activeTask?.status==="running"&&(t+=2);let r=e.workerState;return r&&(t+=1,String(r.rootUserInput||"").trim()&&(t+=1),t+=Math.min(3,yc(r.history)),t+=Math.min(3,yc(r.plannerHistory)),t+=Math.min(4,yc(r.agentPrevSteps)),yc(r.pendingAskUser?.questions)>0&&(t+=3)),yc(e.taskTabScope?.touchedTabIds)>0&&(t+=1),t}function qp(e){let t=lx(e.localState.pendingRun?.id),n=lx(e.incomingState.pendingRun?.id),r=$p(e.localState.pendingRun?.taskBoundaryId||e.localState.workerState?.taskBoundaryId),o=$p(e.incomingState.pendingRun?.taskBoundaryId||e.incomingState.workerState?.taskBoundaryId);return{localRunId:t,incomingRunId:n,exactRunMatch:!!(t&&n&&t===n),localBoundaryId:r,incomingBoundaryId:o,exactBoundaryMatch:!!(r&&o&&r===o),localScore:dx(e.localState),incomingScore:dx(e.incomingState)}}function Vp(e){let t=Math.max(0,Number(e.clockSkewMs)||200);if(e.incomingUpdatedAt>e.localUpdatedAt+t)return!0;if(!e.crossDomainResumeActive)return!1;let n=qp({localState:e.localState,incomingState:e.incomingState});if(n.incomingScore<=n.localScore)return!1;if(n.localBoundaryId&&n.incomingBoundaryId&&n.localBoundaryId!==n.incomingBoundaryId){let o=Math.max(1,Number(e.localState.taskEpoch)||1);if(Math.max(1,Number(e.incomingState.taskEpoch)||1)<o)return!1}return!!(n.exactRunMatch||n.exactBoundaryMatch||!!!(n.localRunId||n.localBoundaryId))}function io(e){return String(e||"").trim()||void 0}function Wp(e){return e==="preserve_if_running"}function ux(e,t){let n=io(t.boundaryId),r=io(t.runId),o=io(t.taskId),i=Array.from(e);if(n){let a=i.find(s=>io(s.boundaryId)===n);if(a)return a}if(r){let a=i.find(s=>io(s.pendingRun?.id)===r);if(a)return a}if(o){let a=i.find(s=>io(s.taskId)===o);if(a)return a}}function fx(e){let t=io(e.localPendingRunId);if(t)return t;let n=io(e.sharedActiveRunId);if(!n)return;let r=io(e.sharedTaskId),o=io(e.activeTaskId);if(!(r&&o&&r!==o))return n}var Od=class{constructor(t){q(this,"maxWorkers");q(this,"maxQueue");q(this,"activeWorkers",new Map);q(this,"queue",[]);q(this,"onWorkerFreed");this.maxWorkers=Math.min(Math.max(1,Number(t?.maxWorkers)||1),2),this.maxQueue=Math.max(1,Number(t?.maxQueue)||3),this.onWorkerFreed=t?.onWorkerFreed}acquire(t,n){if(this.activeWorkers.has(t))return this.activeWorkers.get(t);if(this.removeFromQueue(t),this.activeWorkers.size<this.maxWorkers){let r=new Worker(n.workerUrl,n.workerOptions);return this.activeWorkers.set(t,r),r}return this.queue.length>=this.maxQueue&&this.queue.shift(),this.queue.push(t),null}release(t){let n=this.activeWorkers.get(t);if(n){try{n.terminate()}catch{}this.activeWorkers.delete(t)}this.removeFromQueue(t),this.dequeueNext()}getWorker(t){return this.activeWorkers.get(t)}getActiveCount(){return this.activeWorkers.size}isQueued(t){return this.queue.includes(t)}getQueuedTasks(){return[...this.queue]}getActiveTasks(){return Array.from(this.activeWorkers.keys())}shutdown(){for(let[,t]of this.activeWorkers)try{t.terminate()}catch{}this.activeWorkers.clear(),this.queue=[]}removeFromQueue(t){let n=this.queue.indexOf(t);n>=0&&this.queue.splice(n,1)}dequeueNext(){if(this.queue.length===0||this.activeWorkers.size>=this.maxWorkers)return;let t=this.queue.shift();t&&this.onWorkerFreed&&this.onWorkerFreed(t)}};var KA=10,GA=8,XA=12,px=40,mx=60,YA=5*6e4,JA=5,Ha=class e{constructor(t){q(this,"tasks",new Map);q(this,"activeTaskId");q(this,"taskOrder",[]);q(this,"workerPool");q(this,"maxArchivedTasks");q(this,"tabToTask",new Map);this.workerPool=new Od({maxWorkers:t?.maxConcurrentWorkers,maxQueue:t?.maxQueuedTasks,onWorkerFreed:n=>this.onWorkerSlotFreed(n)}),this.maxArchivedTasks=Math.max(1,Number(t?.maxArchivedTasks)||KA)}createTask(t,n){let r=Fp(n);return this.tasks.set(r.taskId,r),this.taskOrder.push(r.taskId),r}dispatch(t,n){let r=this.tasks.get(t);if(!r)return{accepted:!1,task:Fp({taskId:t}),sideEffects:[],rejectedReason:`Task ${t} not found`};let{record:o,result:i}=nx(r,n);return i.rejected||this.tasks.set(t,o),{accepted:!i.rejected,task:i.rejected?r:o,sideEffects:i.sideEffects,rejectedReason:i.rejectedReason}}switchActiveTask(t){let n=this.tasks.get(t);if(!n)return;let r=this.getActiveTask();return this.activeTaskId=t,n}getActiveTask(){if(this.activeTaskId)return this.tasks.get(this.activeTaskId)}getActiveTaskId(){return this.activeTaskId}listTasks(){return this.taskOrder.map(t=>this.tasks.get(t)).filter(t=>!!t)}getTask(t){return this.tasks.get(t)}hasTask(t){return this.tasks.has(t)}getTaskCount(){return this.tasks.size}updateTask(t,n){let r=this.tasks.get(t);if(!r)return;let o=n(r);return this.tasks.set(t,o),o}updateScrollPosition(t,n){let r=this.tasks.get(t);r&&this.tasks.set(t,{...r,scrollPosition:n})}assignWorker(t,n){let r=this.workerPool.acquire(t,n);if(r){let o=this.tasks.get(t);o&&this.tasks.set(t,{...o,workerId:t})}return r}releaseWorker(t){this.workerPool.release(t);let n=this.tasks.get(t);n&&this.tasks.set(t,{...n,workerId:void 0})}getWorker(t){return this.workerPool.getWorker(t)}getQueuedTasks(){return this.workerPool.getQueuedTasks()}isTaskQueued(t){return this.workerPool.isQueued(t)}onWorkerSlotFreed(t){}mapTabToTask(t,n){this.tabToTask.set(t,n);let r=this.tasks.get(n);r&&!r.tabIds.includes(t)&&this.tasks.set(n,{...r,tabIds:[...r.tabIds,t]})}getTaskForTab(t){let n=this.tabToTask.get(t);if(n)return this.tasks.get(n)}getTaskByBoundaryId(t){for(let n of this.tasks.values())if(n.boundaryId===t)return n}archiveTask(t){let n=this.tasks.get(t);if(!n)return;let r={...n,uiMessages:n.uiMessages.slice(-GA),timeline:n.timeline.slice(-XA),transientStatus:void 0,workerState:void 0,pendingRun:void 0};this.tasks.set(t,r),this.workerPool.release(t)}pruneArchivedTasks(){let t=[];for(let n of this.taskOrder){let r=this.tasks.get(n);r&&gc(r.state)&&t.push(n)}for(;t.length>this.maxArchivedTasks;){let n=t.shift();this.tasks.delete(n),this.taskOrder=this.taskOrder.filter(r=>r!==n);for(let[r,o]of this.tabToTask)o===n&&this.tabToTask.delete(r)}}deleteTask(t){if(!this.tasks.has(t))return!1;this.workerPool.release(t),this.tasks.delete(t),this.taskOrder=this.taskOrder.filter(n=>n!==t);for(let[n,r]of this.tabToTask)r===t&&this.tabToTask.delete(n);return this.activeTaskId===t&&(this.activeTaskId=this.taskOrder.length>0?this.taskOrder[this.taskOrder.length-1]:void 0),!0}toPersistedState(){let t={};for(let[n,r]of this.tasks)t[n]=r;return{tasks:t,activeTaskId:this.activeTaskId,taskOrder:[...this.taskOrder]}}static fromPersistedState(t,n){let r=new e(n);if(t.tasks&&typeof t.tasks=="object"){for(let[o,i]of Object.entries(t.tasks))if(i&&typeof i=="object"&&i.taskId&&(r.tasks.set(o,i),Array.isArray(i.tabIds)))for(let a of i.tabIds)r.tabToTask.set(a,o)}return r.taskOrder=Array.isArray(t.taskOrder)?t.taskOrder.filter(o=>r.tasks.has(o)):Array.from(r.tasks.keys()),r.activeTaskId=t.activeTaskId&&r.tasks.has(t.activeTaskId)?t.activeTaskId:r.taskOrder.length>0?r.taskOrder[r.taskOrder.length-1]:void 0,r}static fromV1State(t,n){let r=new e(n);if(t.activeTask){let o=bc(t.activeTask.status,t.activeTask.boundaryReason),i={taskId:t.activeTask.taskId,state:o,boundaryId:t.workerState?.taskBoundaryId||t.pendingRun?.taskBoundaryId||`bnd_migrated_${Date.now().toString(36)}`,startedAt:t.activeTask.startedAt,endedAt:t.activeTask.endedAt,lastUserAt:t.activeTask.lastUserAt,lastAssistantAt:t.activeTask.lastAssistantAt,uiMessages:Array.isArray(t.uiMessages)?[...t.uiMessages]:[],timeline:Array.isArray(t.timeline)?[...t.timeline]:[],workerState:t.workerState?{...t.workerState}:void 0,pendingRun:t.pendingRun?{...t.pendingRun}:void 0,tabScope:t.taskTabScope?{...t.taskTabScope}:void 0,rootUserInput:t.workerState?.rootUserInput,seedChatLog:t.workerState?.seedChatLog?[...t.workerState.seedChatLog]:[],transientStatus:t.transientStatus?{...t.transientStatus}:void 0,tabIds:t.taskTabScope?.touchedTabIds?[...t.taskTabScope.touchedTabIds]:[]};r.tasks.set(i.taskId,i),r.taskOrder.push(i.taskId),r.activeTaskId=i.taskId;for(let a of i.tabIds)r.tabToTask.set(a,i.taskId)}return r}enforceMemoryCaps(){for(let[,t]of this.tasks)gc(t.state)||(t.uiMessages.length>px&&(t.uiMessages=t.uiMessages.slice(-px)),t.timeline.length>mx&&(t.timeline=t.timeline.slice(-mx)))}terminateInactiveWorkers(){let t=Date.now(),n=[];for(let[r,o]of this.tasks){if(o.state!=="paused")continue;t-(o.pausedAt||t)>YA&&this.workerPool.getWorker(r)&&(this.workerPool.release(r),n.push(r))}return n}canCreateNewTask(t){if(t>JA)return{allowed:!1,reason:`Too many Rover tabs open (${t}). Close some tabs to create new tasks.`};let n=this.workerPool.getActiveCount(),r=this.workerPool.getQueuedTasks().length;return n>=2&&r>=3?{allowed:!1,reason:"Maximum parallel tasks reached. Complete or cancel a task first."}:{allowed:!0}}shutdown(){this.workerPool.shutdown(),this.tasks.clear(),this.taskOrder=[],this.tabToTask.clear(),this.activeTaskId=void 0}};var QA=[/\/login/i,/\/signin/i,/\/auth/i,/\/oauth/i,/\/password/i,/\/reset/i,/\/verify/i,/\/confirm/i,/\/account/i,/\/security/i,/\/2fa/i,/\/mfa/i],ZA=[/data:/i,/javascript:/i,/vbscript:/i,/blob:/i],eR=[/token/i,/secret/i,/password/i,/apikey/i,/api_key/i,/access_token/i,/refresh_token/i,/session/i,/cookie/i,/credential/i],tR=/^(\d{1,3}\.){3}\d{1,3}$/;function Kp(e,t){let n=0,r=[],o;try{o=new URL(e)}catch{return{score:1,blocked:!1,reasons:["invalid_url"]}}for(let d of ZA)if(d.test(e)){n+=3,r.push("exfiltration_scheme");break}tR.test(o.hostname)&&(n+=2,r.push("ip_address_host")),o.hostname.split(".").length>4&&(n+=1,r.push("excessive_subdomains"));let a=QA.filter(d=>d.test(o.pathname)).length;a>=2?(n+=2,r.push("multiple_credential_paths")):a===1&&(n+=1,r.push("credential_path"));let c=Array.from(o.searchParams.keys()).filter(d=>eR.some(m=>m.test(d))).length;return c>0&&(n+=Math.min(2,c),r.push("sensitive_query_params")),e.length>2e3&&(n+=1,r.push("excessive_url_length")),(e.match(/%[0-9A-Fa-f]{2}/g)||[]).length>20&&(n+=1,r.push("excessive_encoding")),o.port&&o.port!=="80"&&o.port!=="443"&&(n+=1,r.push("non_standard_port")),{score:n,blocked:n>=3,reasons:r}}function hx(e,t){return Kp(e,t).blocked}var $a,Bd=null,vc=!1,Sr=32,ja=4,nR="#6b6bff";function rR(){return document.querySelector('link[rel="icon"], link[rel="shortcut icon"]')}function gx(){let e=document.createElement("link");return e.rel="icon",e.type="image/png",document.head.appendChild(e),e}function bx(e=nR){if(vc)return!0;try{let t=rR();t&&($a=t.href,Bd=t);let n=document.createElement("canvas");n.width=Sr,n.height=Sr;let r=n.getContext("2d");if(!r)return!1;let o=new Image;return o.crossOrigin="anonymous",o.onload=()=>{r.drawImage(o,0,0,Sr,Sr),r.beginPath(),r.arc(Sr-ja-1,Sr-ja-1,ja,0,Math.PI*2),r.fillStyle=e,r.fill(),r.strokeStyle="#1a1a2e",r.lineWidth=1,r.stroke();let i=n.toDataURL("image/png"),a=t||gx();a.href=i,vc=!0},o.onerror=()=>{r.fillStyle="#1a1a2e",r.fillRect(0,0,Sr,Sr),r.fillStyle="#fff",r.font="bold 20px sans-serif",r.textAlign="center",r.textBaseline="middle",r.fillText("R",Sr/2,Sr/2),r.beginPath(),r.arc(Sr-ja-1,Sr-ja-1,ja,0,Math.PI*2),r.fillStyle=e,r.fill();let i=n.toDataURL("image/png"),a=t||gx();a.href=i,vc=!0},$a?o.src=$a:o.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEAAAAALAAAAAABAAEAAAIBAAA=",!0}catch{return!1}}function yx(){if(vc){vc=!1;try{Bd&&$a&&(Bd.href=$a),$a=void 0,Bd=null}catch{}}}function vx(e){if(e.crossRegistrableDomain&&!e.serverAvailable)return{decision:e.fallbackDecision,decisionReason:"preflight_unavailable_fallback",failSafeBlocked:!1};let t=e.serverDecision==="stale_run"?e.fallbackDecision:e.serverDecision||e.fallbackDecision;return{decision:t,decisionReason:t,failSafeBlocked:!1}}function kx(e){let t=String(e.pendingRunText||"").trim();if(t)return t;let n=String(e.activeRunText||"").trim();if(n)return n;let r=String(e.rootWorkerInput||"").trim();if(r)return r;let o=String(e.lastUserInputText||"").trim();return o||String(e.fallback||"navigation request").trim()||"navigation request"}function Ud(e){let t=String(e||"").trim();if(t)try{return new URL(t).hostname.toLowerCase()}catch{return t.toLowerCase()}}function xx(e){let t=String(e||"").trim();if(t)try{let n=new URL(t);return n.hash="",n.toString()}catch{return}}function oR(e){let t=xx(e.targetUrl),n=Ud(e.targetUrl);if(!n)return!1;let r=Number(e.sourceLogicalTabId);return(e.knownTabs||[]).some(o=>{if(!Number.isFinite(Number(o.logicalTabId))||Number(o.logicalTabId)<=0||Number.isFinite(r)&&Number(o.logicalTabId)===r)return!1;let i=xx(o.url);return t&&i&&i===t?!0:Ud(o.url)===n})}function iR(e){let t=Array.from(new Set((e.taskScopedTabIds||[]).map(r=>Number(r)).filter(r=>Number.isFinite(r)&&r>0))),n=Number(e.sourceLogicalTabId);return t.length>=2?!0:!Number.isFinite(n)||n<=0?!1:t.some(r=>r!==n)}function wx(e){let t=Ud(e.targetUrl),n=Ud(e.currentHost||e.currentUrl);return t?Ws({host:t,currentHost:n,allowedDomains:e.allowedDomains,domainScopeMode:e.domainScopeMode})?n&&t===n?e.preferredDisposition==="new_tab"?"open_new_tab":"allow_same_tab":e.preferredDisposition==="new_tab"||oR(e)||iR(e)?"open_new_tab":"allow_same_tab":"open_new_tab":"allow_same_tab"}function kc(e,t="tab_not_accessible"){let n=Number(e?.logicalTabId)||void 0,r=e?.url||"",o=e?.title||(e?.external?"External Tab (Inaccessible)":"Detached Runtime Tab (Unavailable)"),i=String(t||"").trim(),a=i?` Reason: ${i}.`:"",s=e?.external?`This external tab is tracked in virtual mode only. Live DOM control and accessibility-tree access are unavailable here.${a}`:`This tab is a detached runtime placeholder and is not attached to an active Rover runtime. Switch to an attached tab or reopen the page.${a}`;return{url:r,title:o,contentType:"text/html",content:s,metadata:{inaccessible:!0,external:!!e?.external,accessMode:e?.external?"external_placeholder":"detached_runtime_placeholder",roverAvailability:e?.roverAvailability||"unknown",reason:t,logicalTabId:n}}}function xc(e,t,n="tab_not_accessible"){let r=Number(t?.logicalTabId)||0,o=t?.url||"",i=t?.external?`Tab ${r} is external to the active runtime and cannot be controlled directly.`:`Tab ${r} is not attached to an active Rover runtime.`,a=t?.external?"DOMAIN_SCOPE_BLOCKED":"TAB_NOT_ACCESSIBLE";return{success:!1,error:i,allowFallback:!0,output:{success:!1,error:{code:a,message:i,missing:[],next_action:t?.external?"External pages open in a new tab with notice. Switch to that tab or continue on an allowed Rover tab.":"Switch to an active tab and retry.",retryable:!1},blocked_url:o||void 0,logical_tab_id:r||void 0,external:!!t?.external,policy_action:t?.external?"open_new_tab_notice":void 0,reason:n},errorDetails:{code:a,message:i,retryable:!1,details:{logicalTabId:r,blockedUrl:o,external:!!t?.external,reason:n}}}}function aR(e){if(e.startNewTask||!e.hasAskUserAnswers||e.taskStatus!=="running")return!1;let t=qe(e.pendingAskUserBoundaryId),n=qe(e.currentTaskBoundaryId);return t&&n&&t!==n?!1:(Math.max(0,Number(e.pendingAskUserQuestionCount)||0)<=0,!0)}function Sx(e){return!aR(e)}var sR=new Set(["a","an","and","are","as","at","be","by","for","from","how","i","in","is","it","of","on","or","that","the","this","to","was","what","when","where","who","why","with","you","your"]);function Gp(e){return String(e||"").replace(/\s+/g," ").trim().slice(0,2e3)}function cR(e){if(!Array.isArray(e)||e.length===0)return[];let t=[];for(let n of e){if(!n||n.role!=="user"&&n.role!=="assistant")continue;let r=Gp(n.text);if(!r)continue;if(n.role==="user"){t.push({user:r,ts:Number(n.ts)||0});continue}if(!t.length)continue;let o=t[t.length-1];o.assistant||(o.assistant=r,o.ts=Math.max(o.ts,Number(n.ts)||0))}return t}function Tx(e){let t=String(e||"").toLowerCase().split(/[^a-z0-9]+/g).map(n=>n.trim()).filter(n=>n.length>=2&&!sR.has(n));return new Set(t)}function lR(e,t){let n=Tx(e),r=Tx(t);if(!n.size||!r.size)return 0;let o=0;for(let a of n)r.has(a)&&(o+=1);let i=n.size+r.size-o;return i<=0?0:o/i}function _x(e){if(e.mode!=="heuristic_same_window")return{reason:"mode_disabled",overlap:0};let t=e.previousTaskStatus;if(t!=="completed"&&t!=="ended"&&t!=="cancelled")return{reason:"status_ineligible",overlap:0};let n=cR(e.previousTaskMessages),r=Gp(e.previousTaskUserInput),o=Gp(e.previousTaskAssistantOutput),i=n.length?n:r&&o?[{user:r,assistant:o,ts:Number(e.previousTaskCompletedAt)||0}]:[];if(!i.some(u=>u.user))return{reason:"missing_previous_intent",overlap:0};if(!i.some(u=>u.assistant))return{reason:"missing_previous_output",overlap:0};let a=Math.max(0,Number(e.previousTaskCompletedAt)||0),s=Math.max(a,Number(e.now)||Date.now()),c=Math.max(1e3,Number(e.ttlMs)||0);if(!a||s-a>c)return{reason:"ttl_expired",overlap:0};let l=Math.max(0,Math.min(1,Number(e.minLexicalOverlap)||0)),d=i.map((u,h)=>{let b=lR(u.user,e.currentPrompt),v=i.length>1?h/(i.length-1)*.05:.05;return{...u,overlap:b,score:b+v,index:h}}).filter(u=>!!u.assistant);if(!d.length)return{reason:"missing_previous_output",overlap:0};let m=d.filter(u=>u.overlap>=l).sort((u,h)=>h.score!==u.score?h.score-u.score:h.index-u.index).slice(0,2).sort((u,h)=>u.index-h.index),f=d.reduce((u,h)=>Math.max(u,h.overlap),0);return m.length?{reason:"attached",overlap:f,chatLog:m.flatMap(u=>[{role:"user",message:u.user},{role:"model",message:u.assistant||""}])}:{reason:"low_lexical_overlap",overlap:f}}var Pm=2,vu="rover:runtime:",dR="rover:runtime-id:",Qx="rover:visitor-id:",Qd=Wt.uiMessages,Zd=Wt.timelineEvents,Om=Wt.uiMessages,uR=4,Bm=Wt.plannerHistory,Um=Wt.prevSteps,fR=8e3,pR=12,mR=15*6e4,hR=2,gR=12e4,bR=.18,yR=30,vR=3600*24*365,Zx=1,kR=3e3,xR=4500,wR=12e3,SR=30,eu=240,Ex=5*6e4,tu=100,nu=12,TR=80,_R=200,ER=2e3,IR=8,AR=240,RR=48,CR=2600,MR=800,NR=5e3,LR="rover:handoff-bootstrap:",ew=3e4,DR=12e4,PR=2500,OR=2*6e4,BR=45e3,UR=2e4,Bc=400,FR=15e3,zR=7,HR=80,jR=2500,$R=250,qR=1e4,VR=400,Xp=40,Yp=1e3,WR=350,KR=1e4,Uc=3e4,GR=20,XR=6,YR=12,JR=YR*1024*1024,as="data-rover-agent-discovery",qn="rover-agent-discovery-cue",im="rover-agent-discovery-cue-style",Pn="rover-agent-discovery-landmark",On="rover-agent-discovery-actions",QR="AI ready",am="AI-ready path available on this page",Ix="Alt+Shift+A",ZR="rover:agent-discovery-changed",Ax=28,Rx=12,e1=1e4,t1=6e4,ni=null,Rt=null,lt=null,de=null,A=null,Vn=null,Mo=null,p=null,Lo=null,It="",j=null,Jt=null,Tr=null,$i=null,Jp=null,Cx="",Mx=0,Nx=0,qd=null,nr=[],Vd=!1,Ya=!1,tw=0,sm=0,cm=0,ru=0,Rc=!1,Do=null,n1=1500,r1=5e3,Lx=1e4,Dx=1200,nw=new Set(["error","navigation_guardrail","checkpoint_error","tab_event_conflict_exhausted","voice_error","voice_permission_denied"]),o1=new Set(["ready","error","auth_required","navigation_guardrail","checkpoint_error","tab_event_conflict_exhausted","voice_error","voice_permission_denied"]),Yt,$r,ai=!1,qi=!1,Cc=null,Mc=null,Sn=null,lm="",ss=!1,Va="",Ft="controller",dm=!1,um="default",cs,Ar=!1,ls=!1,jr=!0,Gr=!1,Un=!1,Kn=!1,so=!1,Oi=[],i1=3,Px=1e4,Ve="",Qt=null,Ut=null,Wn=0,Jo=null,Wd=!1,fm=!1,pm=!1,mm=!1,ri=[],Ja=null,Qa=null,Ga="",Fi="",Qo=null,Za=null,Nc="",Ec="",Zo=null,zi="",Fc=null,Xe=null,es=null,vn=!1,si=!1,hm=!1;function Fm(e){if(!e||typeof e!="object")return;let t=typeof e.requestId=="string"?e.requestId.trim():"";if(!t)return;let n=e.executionTarget==="browser_attach"||e.executionTarget==="cloud_browser"?e.executionTarget:void 0,r=e.promptDispatchState==="pending"||e.promptDispatchState==="started"||e.promptDispatchState==="failed"?e.promptDispatchState:void 0;return{requestId:t,status:typeof e.status=="string"&&e.status.trim()||void 0,executionTarget:n,runId:typeof e.runId=="string"&&e.runId.trim()||void 0,promptDispatchState:r,attachedAt:Number(e.attachedAt)||void 0}}function rw(e=Xe){if(e)return Fm({requestId:e.requestId,status:e.status,executionTarget:e.executionTarget,runId:e.runId,promptDispatchState:e.promptDispatchState,attachedAt:e.attachCompletedAt})}function Vi(){p&&(p.launchBinding=rw(),Ze())}function ow(){return rw()||Fm(p?.launchBinding)}function Wi(e,t,n,r){e.addEventListener(t,n,r),ri.push({target:e,event:t,handler:n,options:r}),ri.length>100&&ri.length%50===0&&a1()}function a1(){for(let e=ri.length-1;e>=0;e--){let t=ri[e],n=t.target;if(n&&"isConnected"in n&&n.isConnected===!1){try{t.target.removeEventListener(t.event,t.handler,t.options)}catch{}ri.splice(e,1)}}}var ou=null,Ic=0,oi=null,ts,Fd="",Mn,Lc,Dc=!1,ns=null,Xi,po,ds=0,s1=50,c1=100,l1=20,d1=3e5;function iu(e,t){for(;e.size>t;){let n=e.keys().next();if(n.done)break;e.delete(n.value)}}function u1(e,t){let n=e.values();for(;e.size>t;){let r=n.next();if(r.done)break;e.delete(r.value)}}var co=new Map,Wa=new Map,_r=new Set,Ae=null,Rn,uo=0,No=1,Xc,zc="",ae=null,ei=null,Hc=new Set,Pc="",Ka="",ti=null,jc=null,gm=!1,f1=new Set(["execution_started","execution_state_transition","execution_completed","assistant","status","tool_start","tool_result","runtime_tabs_diagnostics","auth_required","navigation_guardrail","error"]),bm={read:"rover_external_read_context",act:"rover_external_act_context"},Kd=[],Gd=new Map,Bn=new Map;function bt(e,t){ot(e,t);let n=Gd.get(e);if(n)for(let r of n)try{r(t)}catch{}}function iw(e){return jk(e)}async function p1(e){if(Hc.size===0)return[];let t=[];for(let n of Hc)try{let r=await n(e),o=Array.isArray(r)?r:r==null?[]:[r];for(let i of o){let a=iw(i);a&&t.push(a)}}catch{}return Jr(t)}function aw(e){return $k({msg:e,runId:String(p?.activeTask?.taskId||ms()?.taskId||"").trim()||void 0,currentRunBoundaryId:p?.pendingRun?.taskBoundaryId||Ve,normalizeRunBoundaryId:t=>qe(typeof t=="string"?t:void 0),pageUrl:typeof window<"u"?window.location.href:void 0,now:Date.now()})}function sw(e,t){let n=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():String(p?.pendingRun?.id||"").trim()||void 0,r=String(p?.activeTask?.taskId||ms()?.taskId||"").trim()||void 0;return qk({msg:n?{...e,executionId:n}:e,runId:r,currentRunBoundaryId:p?.pendingRun?.taskBoundaryId||Ve,normalizeRunBoundaryId:o=>qe(typeof o=="string"?o:void 0),completionState:t,latestSummary:n?co.get(n):void 0,pageUrl:typeof window<"u"?window.location.href:void 0,now:Date.now()})}function cw(e,t){Gd.has(e)||Gd.set(e,new Set);let n=Gd.get(e);return n.add(t),()=>{n.delete(t)}}function m1(e){return typeof e=="string"?{name:e}:e}function h1(){if(typeof window>"u")return[];let e=window[hk];if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(!r||typeof r!="object")continue;let o=String(r.name||"").trim();!o||n.has(o)||(n.add(o),t.push(r))}return t}function zm(){let e=Hm(A);return e?Go(e):null}function Hm(e){if(!e||typeof window>"u")return null;let t=rl(e);if(t?.enabled===!1)return null;let n=String(e.agentDiscovery?.siteUrl||`${window.location.origin}/`).trim(),r=Ru(e),o=Rt?.listClientTools?.()||e.tools?.client||[],i=h1();return{siteId:e.siteId,siteUrl:String(t?.siteUrl||n).trim(),apiBase:e.apiBase,siteName:String(t?.siteName||e.ui?.agent?.name||document.title||"").trim()||window.location.hostname,description:String(t?.description||"").trim()||`Structured Rover entrypoints for ${window.location.hostname}. Prefer these explicit Rover skills and tools over brittle DOM automation whenever they match the user's goal.`,version:String(t?.version||Sn?.version||"").trim()||void 0,agentCardUrl:String(t?.agentCardUrl||"").trim()||Ro,roverSiteUrl:String(t?.roverSiteUrl||"").trim()||Li,llmsUrl:String(t?.llmsUrl||"").trim()||void 0,enabled:t?.enabled,visibleCue:t?.visibleCue,discoverySurface:t?.discoverySurface,hostSurfaceSelector:t?.hostSurfaceSelector,preferExecution:t?.preferExecution||(r?.allowCloudBrowser===!1?"browser":"auto"),shortcuts:hh(e),tools:o,webmcpTools:i,additionalSkills:t?.additionalSkills,capabilities:t?.capabilities,pages:t?.pages,pageContext:t?.pageContext,aiAccess:r}}function ku(e){return!e||typeof document>"u"||Ru(e)?.enabled===!1?!1:rl(e)?.enabled!==!1}function au(){if(!(typeof document>"u"))for(let e of Array.from(document.querySelectorAll(`[${as}]`)))e.remove()}function zd(e,t,n){let r=document.head||document.documentElement;if(!r)return;let o=document.querySelector(`script[${as}="${e}"]`);o?o.type!==t&&(o.type=t):(o=document.createElement("script"),o.setAttribute(as,e),o.type=t,r.appendChild(o)),o.textContent!==n&&(o.textContent=n)}function Ox(e,t,n,r){let o=document.head||document.documentElement;if(!o)return;let i=document.querySelector(`link[${as}="${e}"]`);i||(i=document.createElement("link"),i.setAttribute(as,e),o.appendChild(i)),i.rel=t,i.href=n,i.type=r}function jm(e){if(typeof document>"u")return;if(!ku(e)){au();return}let t=Hm(e);if(!t){au();return}let{cardJson:n,llmsUrl:r,marker:o,pageManifestJson:i,roverSiteJson:a,serviceDescHref:s}=Td(t);zd("marker","application/agent+json",JSON.stringify(o)),Ox("service-desc","service-desc",s,"application/json"),r?Ox("service-doc","service-doc",r,"text/markdown"):document.querySelector(`link[${as}="service-doc"]`)?.remove(),zd("rover-site","application/rover-site+json",a),zd("page","application/rover-page+json",i),zd("agent-card","application/agent-card+json",n)}function rr(e){return String(e||"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function g1(e){let t=String(e.page?.beaconLabel||e.page?.visibleCueLabel||e.policy?.beaconLabel||"").trim();return t||(e.policy?.branding==="rover"?"Rover AI":e.policy?.branding==="co"?"AI with Rover":QR)}function lw(e){let t=String(e||"").trim();return t?`${t}. ${am}`:am}function b1(){return!!(si||p?.uiOpen||ei||Xe?.requestId)}function $m(){if(!(typeof document>"u"))for(let e of Array.from(document.querySelectorAll('[data-rover-discovery-host="true"]')))e.removeAttribute("data-rover-discovery-host"),e.removeAttribute("data-rover-discovery-mode"),e.removeAttribute("data-rover-host-surface"),e.removeAttribute("data-rover-discovery-branding"),e.removeAttribute("data-rover-current-page"),e.removeAttribute("data-rover-capability-count")}function y1(e,t){if(typeof document>"u"||t?.hostSurface==="floating-corner")return null;let n=[String(e.hostSurfaceSelector||"").trim(),"[data-rover-host-surface]","[data-rover-assistant-surface]","[data-rover-chat-surface]"].filter(Boolean);for(let r of n)try{let o=document.querySelector(r);if(o instanceof HTMLElement)return o}catch{}return null}function ci(e){if(!ku(e))return null;let t=Hm(e);if(!t)return null;let n=Td(t),r=n.pageManifest,o=n.card.extensions?.rover.discoverySurface;if(!o)return null;let i=n.roverSite.actions||[],a=(r.capabilityIds||[]).map(m=>i.find(f=>f.capabilityId===m)).filter(m=>!!m),s=y1(t,o),c=!!s&&o.mode!=="debug"&&(o.mode==="integrated"||o.hostSurface!=="floating-corner"),l=p?.uiHidden===!0||p?.uiOpen===!0,d=g1({page:r,policy:o});return{config:t,payloads:n,page:r,policy:o,visibleCapabilities:a,hostSurfaceTarget:s,integratedHost:c,agentModeActive:b1(),hidden:l,beaconLabel:d}}function dw(){typeof document>"u"||hm||(hm=!0,Wi(document,"keydown",(e=>{let t=e;if(t.key==="Escape"&&vn){vn=!1,Gn(A);return}if(!t.altKey||!t.shiftKey||t.key.toLowerCase()!=="a")return;let n=ci(A);!n||n.policy.mode==="silent"||n.integratedHost||(t.preventDefault(),si=!0,vn=!vn,Gn(A))}),!0),Wi(document,"pointerdown",(e=>{if(!vn)return;let n=e.target;if(!n)return;let r=document.getElementById(qn),o=document.getElementById(On);r?.contains(n)||o?.contains(n)||(vn=!1,Gn(A))}),!0))}function qm(){if(typeof document>"u"||document.getElementById(im))return;let e=`calc(${78+Rx}px + env(safe-area-inset-right))`,t=`calc(${20+Math.round((58-Ax)/2)}px + env(safe-area-inset-bottom))`,n=`calc(${66+Rx}px + env(safe-area-inset-right))`,r=`calc(${14+Math.round((52-Ax)/2)}px + env(safe-area-inset-bottom))`,o=document.createElement("style");o.id=im,o.textContent=`
|
|
4380
|
+
`),agentCard:m,agentCardJson:f,roverSite:u,roverSiteJson:h,serviceDescLinkHeader:n?Id({agentCardUrl:o||Co,...a?{llmsUrl:a}:{}}):void 0,llmsTxt:X,metadata:{discoveryEnabled:!!n,llmsPublished:!!I,embedScriptUrl:c,roverBookEnabled:l,roverBookScriptUrl:d||void 0,publishedAgentCardUrl:o||void 0,publishedRoverSiteUrl:i||void 0,publishedLlmsUrl:a||void 0,serviceDescLinkTag:_,serviceDocLinkTag:I,markerJson:S,markerScript:S?`<script type="application/agent+json" data-rover-agent-discovery="marker">${S}<\/script>`:void 0,inlineAgentCardScript:k?`<script type="application/agent-card+json" data-rover-agent-discovery="agent-card">${k}<\/script>`:void 0,roverSiteJson:h,inlineRoverSiteScript:x?`<script type="application/rover-site+json" data-rover-agent-discovery="rover-site">${x}<\/script>`:void 0,pageManifestJson:b,pageManifestScript:C?`<script type="application/rover-page+json" data-rover-agent-discovery="page">${C}<\/script>`:void 0}},e.bootConfig)}var Bk="https://agent.rtrvr.ai",Pk="rvrsess_";function za(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function rA(e,t=8e3){let n=String(e??"");return n.length<=t?n:`${n.slice(0,t)}\u2026`}function oA(e){let t=String(e||"").trim();if(!t)return"";try{let n=new URL(t);return n.hash="",`${n.origin}${n.pathname}${n.search}`}catch{return t}}function Np(e){return e==null?"null":typeof e=="number"?Number.isFinite(e)?String(e):JSON.stringify(String(e)):typeof e=="boolean"?e?"true":"false":typeof e=="string"?JSON.stringify(e):Array.isArray(e)?`[${e.map(t=>Np(t)).join(",")}]`:typeof e=="object"?`{${Object.entries(e).filter(([n])=>n!=="updatedAt"&&n!=="ts"&&n!=="timestamp").sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>`${JSON.stringify(n)}:${Np(r)}`).join(",")}}`:JSON.stringify(String(e))}function iA(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return`sd:${(t>>>0).toString(16)}`}function Ok(e){let t=Array.isArray(e.sharedState?.tabs)?e.sharedState.tabs:[],n=e.runtimeState?.workerState||{},r=e.runtimeState?.taskTabScope||{},o=e.sharedState?.activeRun||{},i=e.runtimeState?.pendingRun||{},a=Array.isArray(n.plannerHistory)?n.plannerHistory:[],s=Array.isArray(n.agentPrevSteps)?n.agentPrevSteps:[],c=a.length?a[a.length-1]:void 0,l=s.length?s[s.length-1]:void 0,d=a.map(u=>String(u?.id||u?.toolCall?.name||u?.toolName||u?.name||"")),m=s.map(u=>String(u?.id||u?.toolCall?.name||u?.toolName||u?.name||"")),f={sessionId:String(e.sessionId||""),shared:{taskEpoch:Number(e.sharedState?.taskEpoch||0),taskId:String(e.sharedState?.task?.taskId||""),taskStatus:String(e.sharedState?.task?.status||""),activeRunId:String(o.runId||""),activeRunStatus:String(o.status||""),tabs:t.map(u=>({logicalTabId:Number(u?.logicalTabId)||0,scope:String(u?.scope||""),status:String(u?.status||""),url:oA(u?.url),external:!!u?.external}))},runtime:{taskEpoch:Number(e.runtimeState?.taskEpoch||0),activeTaskId:String(e.runtimeState?.activeTask?.taskId||""),activeTaskStatus:String(e.runtimeState?.activeTask?.status||""),pendingRunId:String(i.id||""),pendingRunStatus:String(i.status||""),pendingResumeRequired:i.resumeRequired===!0,worker:{taskBoundaryId:String(n.taskBoundaryId||""),trajectoryId:String(n.trajectoryId||""),pendingAskBoundaryId:String(n.pendingAskUser?.boundaryId||""),plannerHistoryCount:a.length,agentPrevStepsCount:s.length,lastPlannerStepId:String(c?.id||""),lastAgentStepId:String(l?.id||""),plannerStepMarkers:d,agentStepMarkers:m},continuity:{boundaryId:String(r.boundaryId||""),seedTabId:Number(r.seedTabId||0),touchedTabIds:Array.isArray(r.touchedTabIds)?r.touchedTabIds.map(u=>Number(u)||0).filter(u=>u>0):[]}}};return iA(Np(f))}function aA(e){let t=Bk,n=String(e||t).trim().replace(/\/+$/,"");if(!n)return t;if(n.endsWith("/extensionRouter/v2/rover"))return n.slice(0,-25);if(n.endsWith("/v2/rover"))return n.slice(0,-9);let r=n.match(/\/v\d+\/rover$/);return r?.[0]?n.slice(0,-r[0].length):n.endsWith("/extensionRouter")?n.slice(0,-16):n}function Mp(e){let t=new Set,n=[];for(let r of e){let o=String(r||"").trim().replace(/\/+$/,"");!o||t.has(o)||(t.add(o),n.push(o))}return n}function sA(e){let t=aA(e),n=String(e||"").trim().replace(/\/+$/,"");return n.endsWith("/v2/rover")||n.endsWith("/extensionRouter/v2/rover")?Mp([n.replace("/extensionRouter/v2/rover","/v2/rover"),`${t}/v2/rover`]):Mp(!n&&t==="https://agent.rtrvr.ai"?[`${t}/v2/rover`,"https://extensionrouter.rtrvr.ai/v2/rover"]:[`${t}/v2/rover`])}function Bi(e,t){let n=new Error(e);return n.details=t,n}function cA(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}var Rd=class{constructor(t){q(this,"endpoint");q(this,"endpointCandidates");q(this,"endpointIndex",0);q(this,"getToken");q(this,"siteId");q(this,"visitorId");q(this,"ttlHours");q(this,"flushIntervalMs");q(this,"pullIntervalMs");q(this,"minFlushIntervalMs");q(this,"maxSnapshotBytes");q(this,"shouldSync");q(this,"shouldWrite");q(this,"buildCheckpoint");q(this,"onCheckpoint");q(this,"onStateChange");q(this,"onError");q(this,"idlePullIntervalMs");q(this,"started",!1);q(this,"idleMode",!1);q(this,"dirty",!1);q(this,"flushTimer",null);q(this,"pullTimer",null);q(this,"lastFlushAt",0);q(this,"lastPullAt",0);q(this,"lastUploadedRevision","");q(this,"lastAppliedRemoteUpdatedAt",0);q(this,"lastAppliedRemoteDigest","");q(this,"pushInFlight",!1);q(this,"pullInFlight",!1);q(this,"state","active");q(this,"visibilityListener",null);let n=String(t.authToken||"").trim(),r=t.getSessionToken,o=r?String(r()||"").trim():n;if(!o||!o.startsWith(Pk))throw Bi("Rover cloud checkpoint requires a session token (rvrsess_...).");this.endpointCandidates=sA(t.apiBase),this.endpoint=this.endpointCandidates[0]||`${Bk}/v2/rover`,this.getToken=()=>{let i=r?String(r()||"").trim():n;if(!i||!i.startsWith(Pk))throw Bi("Rover cloud checkpoint requires an active session token.");return i},this.siteId=t.siteId,this.visitorId=t.visitorId,this.ttlHours=Math.max(1,Math.min(168,Math.floor(za(t.ttlHours,1)))),this.flushIntervalMs=Math.max(2e3,Math.floor(za(t.flushIntervalMs,3e4))),this.pullIntervalMs=Math.max(2e3,Math.floor(za(t.pullIntervalMs,3e4))),this.idlePullIntervalMs=12e4,this.minFlushIntervalMs=Math.max(1e3,Math.floor(za(t.minFlushIntervalMs,2500))),this.maxSnapshotBytes=Math.max(64e3,Math.min(1048576,Math.floor(za(t.maxSnapshotBytes,262144)))),this.shouldSync=t.shouldSync||(()=>!0),this.shouldWrite=t.shouldWrite||(()=>!0),this.buildCheckpoint=t.buildCheckpoint,this.onCheckpoint=t.onCheckpoint,this.onStateChange=t.onStateChange,this.onError=t.onError}start(){this.started||(this.started=!0,this.setState("active"),typeof document<"u"&&!this.visibilityListener&&(this.visibilityListener=()=>{if(this.started){if(document.hidden){this.enterIdleMode();return}this.enterActiveMode(),this.shouldSync()&&(this.pull(!0),this.dirty&&this.flush(!0))}},document.addEventListener("visibilitychange",this.visibilityListener)),this.flushTimer=window.setInterval(()=>{this.shouldSync()&&this.flush(!1)},this.flushIntervalMs),this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.pullIntervalMs),this.pull(!0))}stop(){this.started&&(this.started=!1,this.idleMode=!1,this.flushTimer!=null&&(window.clearInterval(this.flushTimer),this.flushTimer=null),this.pullTimer!=null&&(window.clearInterval(this.pullTimer),this.pullTimer=null),this.visibilityListener&&typeof document<"u"&&(document.removeEventListener("visibilitychange",this.visibilityListener),this.visibilityListener=null),this.flush(!0))}markDirty(){this.dirty=!0}syncNow(t){let n=t?.push!==!1,r=t?.pull!==!1;n&&this.flush(!0),r&&this.pull(!0)}syncPullFirst(){(async()=>(await this.pull(!0),await this.flush(!0)))()}pullNow(t=!0){this.pull(!!t)}enterIdleMode(){this.idleMode||(this.idleMode=!0,this.flushTimer!=null&&(window.clearInterval(this.flushTimer),this.flushTimer=null),this.pullTimer!=null&&(window.clearInterval(this.pullTimer),this.pullTimer=null),this.started&&(this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.idlePullIntervalMs)))}enterActiveMode(){this.idleMode&&(this.idleMode=!1,this.started&&(this.flushTimer==null&&(this.flushTimer=window.setInterval(()=>{this.shouldSync()&&this.flush(!1)},this.flushIntervalMs)),this.pullTimer==null&&(this.pullTimer=window.setInterval(()=>{this.shouldSync()&&this.pull(!1)},this.pullIntervalMs))))}getActiveEndpoint(){return this.endpointCandidates.length?this.endpointCandidates[this.endpointIndex]||this.endpoint:this.endpoint}rotateEndpoint(){this.endpointCandidates.length<=1||(this.endpointIndex=(this.endpointIndex+1)%this.endpointCandidates.length,this.endpoint=this.endpointCandidates[this.endpointIndex]||this.endpoint)}async requestJson(t,n){let r=Math.max(1,this.endpointCandidates.length||1),o;for(let i=0;i<r;i+=1){let a=(this.endpointIndex+i)%r,s=this.endpointCandidates[a]||this.endpoint;try{let c=await fetch(`${s}${t}`,n),l=await c.json().catch(()=>{});if(c.status===404||c.status===405){o=Bi(`Checkpoint endpoint unavailable at ${s}${t}`,{status:c.status,payload:l});continue}return this.endpointIndex=a,this.endpoint=s,{response:c,payload:l}}catch(c){o=c}}throw o instanceof Error?o:Bi(`Checkpoint request failed for ${t}`)}async flush(t){if(this.pushInFlight||this.idleMode||this.state==="paused_auth"||!t&&!this.shouldSync()||!this.dirty&&!t||!this.shouldWrite()||!t&&Date.now()-this.lastFlushAt<this.minFlushIntervalMs)return;let n=this.buildCheckpoint();if(!n)return;let r=Ok(n);if(n.digest=r,!t&&r===this.lastUploadedRevision){this.dirty=!1;return}this.pushInFlight=!0;try{let o=await this.callCheckpointApi("session_snapshot_upsert",{siteId:this.siteId,visitorId:this.visitorId,sessionId:n.sessionId,ttlHours:this.ttlHours,updatedAt:n.updatedAt,checkpoint:n});this.lastFlushAt=Date.now(),o?.saved&&(this.dirty=!1,this.lastUploadedRevision=r),o?.stale&&o?.checkpoint&&typeof o.checkpoint=="object"&&(this.applyRemoteCheckpoint(o.checkpoint,"push_stale"),this.dirty=!1),this.setState("active")}catch(o){this.handleCheckpointError(o,"session_snapshot_upsert")}finally{this.pushInFlight=!1}}async pull(t){if(!this.pullInFlight&&this.state!=="paused_auth"&&!(!t&&!this.shouldSync())&&!(!t&&Date.now()-this.lastPullAt<this.pullIntervalMs)){this.pullInFlight=!0;try{let n=await this.callCheckpointApi("session_projection_get",{siteId:this.siteId,visitorId:this.visitorId,sessionId:this.buildCheckpoint()?.sessionId});if(this.lastPullAt=Date.now(),!n?.found||!n?.checkpoint||typeof n.checkpoint!="object")return;this.applyRemoteCheckpoint(n.checkpoint,"pull"),this.setState("active")}catch(n){this.handleCheckpointError(n,"session_projection_get")}finally{this.pullInFlight=!1}}}applyRemoteCheckpoint(t,n){let r=Math.max(0,Math.floor(za(t?.updatedAt,0))),o=String(t?.digest||"").trim()||Ok(t);r<=this.lastAppliedRemoteUpdatedAt&&(!o||o===this.lastAppliedRemoteDigest)||(this.lastAppliedRemoteUpdatedAt=r,o&&(this.lastAppliedRemoteDigest=o),this.onCheckpoint(t,n))}async callCheckpointApi(t,n){return this.callRoverV2(t,n)}async callRoverV2(t,n){let r=this.getToken();if(t==="session_snapshot_upsert"){let c=JSON.stringify({requestNonce:cA(),sessionToken:r,sessionId:n?.sessionId,visitorId:n?.visitorId,ttlHours:n?.ttlHours,updatedAt:n?.updatedAt,version:n?.checkpoint?.version||n?.version||1,checkpoint:n?.checkpoint});if(c.length>this.maxSnapshotBytes)throw Bi("Checkpoint snapshot exceeds maxSnapshotBytes limit.",{action:t,size:c.length,maxSnapshotBytes:this.maxSnapshotBytes,code:"SNAPSHOT_TOO_LARGE"});let l=c.length<6e4,{response:d,payload:m}=await this.requestJson("/snapshot",{method:"POST",headers:{"Content-Type":"text/plain"},keepalive:l,body:c});if(!d.ok||!m?.success)throw Bi(`Checkpoint HTTP ${d.status}`,{action:t,status:d.status,payload:m});return{saved:!!m?.data?.saved,stale:m?.data?.stale===!0,checkpoint:m?.data?.checkpoint,updatedAt:Number(m?.data?.updatedAt)||void 0}}let o=new URLSearchParams({sessionId:String(n?.sessionId||""),sessionToken:r,includeSnapshot:"true"}),{response:i,payload:a}=await this.requestJson(`/state?${o.toString()}`,{method:"GET"});if(!i.ok||!a?.success)throw Bi(`Checkpoint HTTP ${i.status}`,{action:t,status:i.status,payload:a});let s=a?.data?.projection?.snapshot??a?.data?.snapshot;return{found:!!s,checkpoint:s}}setState(t,n){this.state!==t&&(this.state=t,this.onStateChange?.(t,n||{}))}handleCheckpointError(t,n){let r=this.normalizeCheckpointError(t),o=this.isAuthFailure(r);o&&this.setState("paused_auth",{reason:"auth_failed",action:n,code:r.code,message:r.message}),this.onError?.(t,{action:n,state:this.state,code:r.code,message:r.message,status:r.status,paused:o})}normalizeCheckpointError(t){let n=t,r=n?.details,o=r?.payload||r?.response||r,i=o?.errorCode||o?.errorDetails?.code||o?.error?.code||o?.code,a=o?.error||o?.errorDetails?.message||o?.error?.message||n?.message||"Checkpoint request failed",s=Number(r?.status);return{code:typeof i=="string"?i:void 0,message:rA(a,1e3),status:Number.isFinite(s)?s:void 0}}isAuthFailure(t){let n=String(t.code||"").toUpperCase();return n==="INVALID_API_KEY"||n==="MISSING_API_KEY"||n==="UNAUTHENTICATED"||n==="PERMISSION_DENIED"?!0:t.status===401||t.status===403}};var lA="rover-runtime-state-db",Cd="runtime-state",Lp=class{read(t){try{let n=window.sessionStorage.getItem(t);return n?JSON.parse(n):null}catch{return null}}write(t,n){try{window.sessionStorage.setItem(t,JSON.stringify(n))}catch{}}remove(t){try{window.sessionStorage.removeItem(t)}catch{}}},Dp=class{constructor(){q(this,"dbPromise",null)}openDb(){return this.dbPromise?this.dbPromise:(this.dbPromise=new Promise((t,n)=>{if(typeof indexedDB>"u"){n(new Error("indexedDB unavailable"));return}let r=indexedDB.open(lA,1);r.onupgradeneeded=()=>{let o=r.result;o.objectStoreNames.contains(Cd)||o.createObjectStore(Cd)},r.onsuccess=()=>{t(r.result)},r.onerror=()=>{n(r.error||new Error("indexedDB open failed"))}}).catch(t=>{throw this.dbPromise=null,t}),this.dbPromise)}async withStore(t,n){let r=await this.openDb();return new Promise((o,i)=>{let a=r.transaction(Cd,t),s=a.objectStore(Cd);n(s,o,i),a.onerror=()=>{i(a.error||new Error("indexedDB transaction failed"))}})}async read(t){try{return await this.withStore("readonly",(n,r,o)=>{let i=n.get(t);i.onsuccess=()=>{let a=i.result;r(a??null)},i.onerror=()=>{o(i.error||new Error("indexedDB read failed"))}})}catch{return null}}async write(t,n){await this.withStore("readwrite",(r,o,i)=>{let a=r.put(n,t);a.onsuccess=()=>o(),a.onerror=()=>{i(a.error||new Error("indexedDB write failed"))}}).catch(()=>{})}async remove(t){await this.withStore("readwrite",(n,r,o)=>{let i=n.delete(t);i.onsuccess=()=>r(),i.onerror=()=>{o(i.error||new Error("indexedDB delete failed"))}}).catch(()=>{})}};function Md(){let e=new Lp,t=new Dp;return{readSync:n=>e.read(n),readSyncAny:n=>{for(let r of n){if(!r)continue;let o=e.read(r);if(o)return o}return null},readAsync:async n=>t.read(n),readAsyncAny:async n=>{for(let r of n){if(!r)continue;let o=await t.read(r);if(o)return o}return null},write:(n,r)=>{e.write(n,r),t.write(n,r)},remove:n=>{e.remove(n),t.remove(n)}}}var dA="https://agent.rtrvr.ai";function uA(e){let t=dA,n=String(e||t).trim().replace(/\/+$/,"");return n?n.endsWith("/extensionRouter/v2/rover")?n.slice(0,-25):n.endsWith("/v2/rover")?n.slice(0,-9):n:t}function fA(e){let t=String(e||"").trim().replace(/\/+$/,"");return t.endsWith("/v2/rover")?t:t.endsWith("/extensionRouter/v2/rover")?t.replace("/extensionRouter/v2/rover","/v2/rover"):`${uA(e)}/v2/rover`}function pA(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}function Uk(e,t){return String(e||t).trim().toLowerCase().replace(/[^a-z0-9._:-]+/g,"_").slice(0,128)||t}function Mo(e){return String(e||"").trim().replace(/[^a-zA-Z0-9._:-]/g,"").slice(0,128)}function Ha(e,t){return String(e||"").replace(/[\u0000-\u001f\u007f]/g," ").replace(/\s+/g," ").trim().slice(0,t)}function Yo(e,t="New chat"){return Ha(e,72)||t}function Fk(e){let t=Md(),n=`${Uk(e.siteId,"unknown-site")}:${Uk(e.visitorId,"anonymous")}`,r=`rover:conversations:${n}:index`,o=s=>`rover:conversations:${n}:record:${Mo(s)}`;async function i(){let s=t.readSync(r);if(Array.isArray(s))return s;let c=await t.readAsync(r);return Array.isArray(c)?c:[]}function a(s){t.write(r,s.filter(c=>!!Mo(c.conversationId)&&!c.deletedAt).sort((c,l)=>Number(l.updatedAt||0)-Number(c.updatedAt||0)).slice(0,100))}return{async list(){return i()},async get(s){let c=Mo(s);return c?t.readSync(o(c))||await t.readAsync(o(c)):null},upsert(s){let c=Mo(s.summary.conversationId);if(!c)return;let l={...s.summary,conversationId:c,title:Yo(s.summary.title),preview:Ha(s.summary.preview,180),updatedAt:Number(s.summary.updatedAt||Date.now()),createdAt:Number(s.summary.createdAt||s.summary.updatedAt||Date.now())};t.write(o(c),{summary:l,payload:s.payload}),i().then(d=>{a([l,...d.filter(m=>m.conversationId!==c)])})},remove(s,c){let l=Mo(s);l&&(t.remove(o(l)),i().then(d=>{a(d.filter(m=>m.conversationId!==l).map(m=>m.conversationId===l?{...m,deletedAt:c?.deletedAt||Date.now(),revision:c?.revision}:m))}))}}}var Nd=class{constructor(t){q(this,"base");q(this,"getSessionToken");q(this,"siteId");q(this,"visitorId");this.base=fA(t.apiBase),this.getSessionToken=t.getSessionToken,this.siteId=t.siteId,this.visitorId=t.visitorId}async request(t,n){let r=this.getSessionToken?.();if(!r)throw new Error("Rover session token unavailable.");let o=n?.method||"GET",i=new URL(`${this.base}${t}`);o==="GET"&&(i.searchParams.set("sessionToken",r),i.searchParams.set("siteId",this.siteId),i.searchParams.set("visitorId",this.visitorId));let a=o==="GET"?void 0:JSON.stringify({...n?.json||{},sessionToken:r,siteId:this.siteId,visitorId:this.visitorId,requestNonce:pA()}),s=await fetch(i.toString(),{method:o,headers:o==="GET"?void 0:{"content-type":"text/plain;charset=UTF-8"},body:a,credentials:"omit"}),c=await s.json().catch(()=>({}));if(!s.ok||c?.success===!1)throw new Error(String(c?.error||c?.message||`conversation request failed (${s.status})`));return c.data||c}async list(){let t=await this.request("/conversations"),n=Array.isArray(t.conversations)?t.conversations.map(o=>({conversationId:Mo(o.conversationId),title:Yo(o.title),preview:Ha(o.preview,180),status:o.status,createdAt:Number(o.createdAt||0)||void 0,updatedAt:Number(o.updatedAt||0)||Date.now(),revision:Number(o.revision||0)||void 0})).filter(o=>!!o.conversationId):[],r=Array.isArray(t.tombstones)?t.tombstones:[];return{conversations:n,tombstones:r}}async get(t){let n=Mo(t);if(!n)return null;let r=await this.request(`/conversations/${encodeURIComponent(n)}`),o=r.conversation||{};return{summary:{conversationId:n,title:Yo(o.title),preview:Ha(o.preview,180),status:o.status,createdAt:Number(o.createdAt||0)||void 0,updatedAt:Number(o.updatedAt||0)||Date.now(),revision:Number(o.revision||0)||void 0},payload:r.payload?.payload||r.payload}}async upsert(t){let n=Mo(t.summary.conversationId);if(!n)return null;let o=(await this.request(`/conversations/${encodeURIComponent(n)}`,{method:"POST",json:{title:Yo(t.summary.title),preview:Ha(t.summary.preview,180),status:t.summary.status||"completed",payload:t.payload||{}}})).conversation||{};return{conversationId:n,title:Yo(o.title||t.summary.title),preview:Ha(o.preview||t.summary.preview,180),status:o.status||t.summary.status,createdAt:Number(o.createdAt||t.summary.createdAt||0)||void 0,updatedAt:Number(o.updatedAt||Date.now()),revision:Number(o.revision||0)||void 0}}async delete(t){let n=Mo(t),r=await this.request(`/conversations/${encodeURIComponent(n)}`,{method:"DELETE",json:{}});return{conversationId:n,deletedAt:Number(r.deletedAt||Date.now()),revision:Number(r.revision||0)||void 0}}};var mA="https://agent.rtrvr.ai";var hA={0:"Available",1:"Cross-origin frame without a frame agent",2:"Frame DOM is empty",3:"Frame was not ready",4:"Frame scan timed out",5:"Frame sandbox blocked access",6:"Frame adapter unavailable",7:"Frame tree scan failed"};function gA(){try{if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID()}catch{}return`${Date.now()}-${Math.random().toString(16).slice(2)}`}function bA(e){let t=mA,n=String(e||t).trim().replace(/\/+$/,"");return n?n.endsWith("/extensionRouter/v2/rover")?n.slice(0,-25):n.endsWith("/v2/rover")?n.slice(0,-9):n:t}function yA(e){let t=String(e||"").trim().replace(/\/+$/,"");return t.endsWith("/v2/rover")?t:t.endsWith("/extensionRouter/v2/rover")?t.replace("/extensionRouter/v2/rover","/v2/rover"):`${bA(e)}/v2/rover`}function vA(e,t){return String(e||t).trim().replace(/[^a-zA-Z0-9._:-]+/g,"_").slice(0,128)||t}function Ld(e,t){let n=String(e||"").replace(/[\u0000-\u001f\u007f]/g," ").replace(/\s+/g," ").trim();return n?n.slice(0,t):void 0}function ja(e){let t=Number(e);return Number.isFinite(t)?Math.trunc(t):void 0}function zk(e){let t=ja(e);if(t!=null)return hA[t]||`Unavailable (${t})`}function Pp(e,t){let n=String(e||"").trim();if(n)try{let r=new URL(n,t||void 0);return r.search="",r.hash="",r.toString().slice(0,300)}catch{let r=n.split("#")[0].split("?")[0].trim();return r?r.slice(0,300):void 0}}function kA(e,t){let n=String(e||"").trim();if(n)try{return new URL(n,t||void 0).origin.slice(0,300)}catch{return}}function xA(e){if(!e||typeof e!="object")return!1;if(e.isFrameElement===!0)return!0;let t=String(e.elementTag||e.elementName||"").trim().toLowerCase();return t==="iframe"||t==="frame"}function wA(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){let r=ja(n);r!=null&&t.push(r)}return t}function SA(e,t){if(t==null)return;let n=e.metadata?.frameRealms?.realms;return n?.[String(t)]||n?.[t]}function TA(e,t){let n=e.nodes?.[t];if(!xA(n))return;let r=ja(t);if(r==null)return;let o=Array.isArray(n.frameRealm)?n.frameRealm:[],i=ja(o[0]),a=ja(o[1]),s=ja(o[2]),c=SA(e,i),l=c?.url||n.resourceLocator,d=Pp(l,e.url),m=Ld(c?.origin,300)||kA(l,e.url),f=wA(n.frameContent),u=Ld(n.computedName||c?.title||n.computedDescription,120);return{hostElementId:r,...u?{label:u}:{},...d?{src:d}:{},...m?{origin:m}:{},hasFrameContent:f.length>0,childCount:f.length,...a!=null?{capabilityCode:a}:{},...s!=null?{unavailableCode:s}:{},...zk(s)?{reasonLabel:zk(s)}:{}}}function Hk(e,t={}){if(!e?.nodes||typeof e.nodes!="object")return;let n=[];for(let i of Object.keys(e.nodes)){let a=TA(e,i);if(a&&(n.push(a),n.length>=50))break}if(!n.length)return;let r={version:1,captureId:vA(t.captureId,`frame-${Date.now().toString(36)}-${Math.random().toString(16).slice(2,8)}`),capturedAt:Number(t.now||Date.now()),...Pp(e.url)?{pageUrl:Pp(e.url)}:{},...Ld(e.title,120)?{title:Ld(e.title,120)}:{},frameCount:n.length,frames:n},o=_A(r);return o.frames.length?o:void 0}function jk(e){return JSON.stringify({pageUrl:e.pageUrl,frames:e.frames.map(t=>[t.hostElementId,t.src,t.origin,t.childCount,t.capabilityCode,t.unavailableCode])})}function _A(e){let t={...e,frames:e.frames.slice(0,50),frameCount:Math.min(e.frameCount,50)};for(;JSON.stringify(t).length>64e3&&t.frames.length>0;)t={...t,frames:t.frames.slice(0,-1),frameCount:t.frames.length-1};return t.frameCount=t.frames.length,t}var Dd=class{constructor(t){q(this,"base");q(this,"getSessionToken");q(this,"siteId");q(this,"sessionId");this.base=yA(t.apiBase),this.getSessionToken=t.getSessionToken,this.siteId=t.siteId,this.sessionId=t.sessionId}async upload(t){let n=this.getSessionToken?.();if(!n)return;let r=await fetch(`${this.base}/debug/frame-diagnostics`,{method:"POST",headers:{"content-type":"text/plain;charset=UTF-8"},credentials:"omit",body:JSON.stringify({sessionToken:n,sessionId:this.sessionId,siteId:this.siteId,runId:t.runId,captureId:t.diagnostics.captureId,diagnostics:t.diagnostics,requestNonce:gA()})}),o=await r.json().catch(()=>({}));if(!r.ok||o?.success===!1)throw new Error(String(o?.error||o?.message||`frame diagnostics upload failed (${r.status})`));return o.data?.debugRef||o.debugRef}};function $k(e){if(typeof e=="string"){let n=String(e||"").trim().slice(0,4e3);return n?{role:"model",message:n}:null}if(!e||typeof e!="object")return null;let t=String(e.message||"").trim().slice(0,4e3);return t?{role:"model",message:t}:null}function qk(e){let t=e.normalizeRunBoundaryId||(r=>String(r||"").trim()||void 0),n=typeof e.msg?.executionId=="string"&&e.msg.executionId.trim()?e.msg.executionId.trim():typeof e.msg?.runId=="string"?e.msg.runId:void 0;return{runId:String(e.runId||"").trim()||void 0,executionId:n,runBoundaryId:typeof e.msg?.runBoundaryId=="string"?t(e.msg.runBoundaryId):t(e.currentRunBoundaryId),text:typeof e.msg?.text=="string"?e.msg.text:void 0,startedAt:e.now||Date.now(),pageUrl:e.pageUrl}}function Vk(e){let t=e.normalizeRunBoundaryId||(s=>String(s||"").trim()||void 0),n=typeof e.msg?.executionId=="string"&&e.msg.executionId.trim()?e.msg.executionId.trim():typeof e.msg?.runId=="string"&&e.msg.runId.trim()?e.msg.runId.trim():void 0,r=e.completionState.terminalState==="waiting_input"?"waiting_input":e.completionState.terminalState,o=String(e.msg?.summary||e.msg?.message||e.msg?.result?.summary||e.latestSummary||"").trim()||void 0,i=String(e.msg?.error||e.msg?.result?.error||"").trim()||void 0,a=r==="completed"?"success":r==="failed"?"failure":e.completionState.needsUserInput||r==="in_progress"?"partial":"abandoned";return{runId:String(e.runId||"").trim()||void 0,executionId:n,runBoundaryId:typeof e.msg?.runBoundaryId=="string"?t(e.msg.runBoundaryId):t(e.currentRunBoundaryId),terminalState:r,continuationReason:e.completionState.continuationReason,runComplete:e.completionState.runComplete===!0,needsUserInput:e.completionState.needsUserInput,summary:o,error:i,ok:e.msg?.ok!==!1,questions:e.completionState.questions,endedAt:e.now||Date.now(),outcome:a,pageUrl:e.pageUrl}}var EA=/(?:password|passcode|secret|token|api[_-]?key|authorization|cookie|session|credit|card|cvv|cvc|ssn|otp|mfa|email|phone)/i,IA=/^(?:text|value|input|content|typed_text|field_value|option_value|search_text|query)$/i,AA=/^(?:file_url|url|file_name|filename|name|path|file_path|download_url|storage_url|gcs_uri)$/i,RA=new Set(xa),Gt=["element_id"],CA=["source_element_id","target_element_id"],MA=["center_element_id"],oo=[],Wk=Object.freeze({[z.click_element]:{kind:"click",elementKeys:Gt},[z.type_into_element]:{kind:"type",elementKeys:Gt},[z.type_and_enter]:{kind:"type",elementKeys:Gt},[z.select_dropdown_value]:{kind:"select",elementKeys:Gt},[z.clear_element]:{kind:"clear",elementKeys:Gt},[z.focus_element]:{kind:"focus",elementKeys:Gt},[z.check_field_validity]:{kind:"read",emit:!1},[z.select_text]:{kind:"select",elementKeys:Gt},[z.hover_element]:{kind:"hover",elementKeys:Gt},[z.right_click_element]:{kind:"click",elementKeys:Gt},[z.double_click_element]:{kind:"click",elementKeys:Gt},[z.press_key]:{kind:"press",elementKeys:Gt},[z.mouse_wheel]:{kind:"scroll",elementKeys:Gt},[z.dispatch_pointer_path]:{kind:"drag",elementKeys:Gt},[z.drag_element]:{kind:"drag",elementKeys:Gt},[z.drag_and_drop]:{kind:"drag",elementKeys:CA},[z.adjust_slider]:{kind:"drag",elementKeys:Gt},[z.scroll_page]:{kind:"scroll",elementKeys:Gt},[z.scroll_to_element]:{kind:"scroll",elementKeys:Gt},[z.swipe_element]:{kind:"scroll",elementKeys:Gt},[z.long_press_element]:{kind:"click",elementKeys:Gt},[z.pinch_zoom]:{kind:"drag",elementKeys:MA},[z.go_back]:{kind:"navigate",elementKeys:oo},[z.go_forward]:{kind:"navigate",elementKeys:oo},[z.goto_url]:{kind:"navigate",elementKeys:oo},[z.refresh_page]:{kind:"navigate",elementKeys:oo},[z.open_new_tab]:{kind:"navigate",elementKeys:oo},[z.switch_tab]:{kind:"navigate",elementKeys:oo},[z.close_tab]:{kind:"navigate",elementKeys:oo},[z.describe_images]:{kind:"read",emit:!1},[z.google_search]:{kind:"navigate",elementKeys:oo},[z.network_run_recipe]:{kind:"read",emit:!1},[z.rover_external_read_context]:{kind:"read",emit:!1},[z.rover_external_act_context]:{kind:"read",emit:!1},[z.copy_text]:{kind:"copy",elementKeys:Gt},[z.paste_text]:{kind:"paste",elementKeys:Gt},[z.wait_action]:{kind:"wait",elementKeys:oo},[z.wait_for_element]:{kind:"wait",emit:!1},[z.answer_task]:{kind:"unknown",emit:!1},[z.upload_file]:{kind:"upload",elementKeys:Gt},[z.solve_captcha]:{kind:"unknown",emit:!1},discover_and_extract_network_data:{kind:"read",emit:!1}});function $a(e){let t=Math.trunc(Number(e));return Number.isFinite(t)&&t>0?t:void 0}function NA(e,t){if(!e||typeof e!="object")return[];let n=new Set,r=[];for(let o of t){if(!RA.has(o))continue;let i=e[o],a=Array.isArray(i)?i:[i];for(let s of a){let c=$a(s);!c||n.has(c)||(n.add(c),r.push(c))}}return r}function LA(e){if(!(!e||typeof e!="object"))return $a(e.logical_tab_id)??$a(e.tab_id)??$a(e.logicalTabId)??$a(e.tabId)}function DA(e){let t=String(e||"").trim().toLowerCase();return t&&Wk[t]?.kind||"unknown"}function PA(e,t){return!!(EA.test(e)||(t==="type"||t==="select"||t==="paste")&&IA.test(e)||t==="upload"&&AA.test(e))}function OA(e){if(typeof e=="string"){let t=[...e].length;return t>0?`[REDACTED ${t} chars]`:"[REDACTED]"}return"[REDACTED]"}function Op(e,t,n="",r=0){if(r>5)return{value:"[Truncated]",redacted:!1};if(PA(n,t))return{value:OA(e),redacted:!0};if(Array.isArray(e)){let o=!1,i=e.slice(0,40).map(a=>{let s=Op(a,t,n,r+1);return o=o||s.redacted,s.value});return e.length>40&&i.push(`[${e.length-40} more items]`),{value:i,redacted:o}}if(e&&typeof e=="object"){let o=!1,i={};for(let[a,s]of Object.entries(e).slice(0,80)){let c=Op(s,t,a,r+1);o=o||c.redacted,i[a]=c.value}return{value:i,redacted:o}}return{value:e,redacted:!1}}function Kk(e,t){if(!e||typeof e!="object")return{args:{},valueRedacted:!1};let n=Op(e,t);return{args:n.value&&typeof n.value=="object"&&!Array.isArray(n.value)?n.value:{},valueRedacted:n.redacted}}function gc(e,t,n={}){if(!e||typeof e!="object")return;let r=String(e.name||"").trim().toLowerCase(),o=Wk[r];if(!o||o.emit===!1)return;let i=o.kind,a=NA(e.args,o.elementKeys||oo),s=a[0],c=LA(e.args)??$a(n.logicalTabId),l=Kk(e.args,i);return{kind:i,toolCallId:String(t||e.id||"").trim()||void 0,primaryElementId:s,elementIds:a.length?a:void 0,logicalTabId:c,valueRedacted:l.valueRedacted||void 0}}function Gk(e){if(!e?.args)return;let t=DA(e.name),n=Kk(e.args,t);if(Object.keys(n.args).length)return[{type:"json",label:`${e.name||"tool"} args`,toolName:e.name,data:n.args}]}function BA(e){let t=Math.trunc(Number(e));return Number.isFinite(t)&&t>0?t:void 0}function Xk(e,t=document){let n=BA(e);if(!n)return null;try{let r=ur(t,n);if(r)return r}catch{}try{return t.querySelector(`[data-rveid="${n}"]`)}catch{return null}}var UA="rover_xdr_",Jk=300;function Qk(e){return mr(e)}function Zk(e){let t=Qn(e);return!(!t||t==="localhost"||Mf(t))}function Bp(e){return`${UA}${e.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,40)}`}function Pd(e){let t=String(e||"").trim();if(!t)return"";try{let n=new URL(t,window.location.href);return n.hash="",n.toString()}catch{return t}}function Yk(e){let t=String(e||"").trim();return!t||t==="/"?"/":t.replace(/\/\/+/g,"/").replace(/\/+$/,"")||"/"}function FA(e,t){let n=new Set;for(let[r]of e.entries())n.add(r);for(let r of n){let o=e.getAll(r);if(!o.length)continue;let i=t.getAll(r);if(!i.length)return!1;let a=new Map;for(let s of i)a.set(s,(a.get(s)||0)+1);for(let s of o){let c=a.get(s)||0;if(c<=0)return!1;a.set(s,c-1)}}return!0}function Up(e,t){let n=Pd(e),r=Pd(t);if(!n||!r)return!1;try{let o=new URL(n,window.location.href),i=new URL(r,window.location.href);return o.origin.toLowerCase()!==i.origin.toLowerCase()||Yk(o.pathname)!==Yk(i.pathname)?!1:FA(o.searchParams,i.searchParams)}catch{return n===r}}function ex(e,t){try{let n=Bp(e),r=Qk(window.location.hostname),o=encodeURIComponent(JSON.stringify(t)),i=window.location.protocol==="https:",a=[`${n}=${o}`,"path=/",`max-age=${Jk}`,"SameSite=Lax"];Zk(r)&&a.push(`domain=.${r}`),i&&a.push("Secure"),document.cookie=a.join("; ")}catch{}}function Fp(e,t){try{let n=Bp(e),r=document.cookie.split(";"),o=Math.max(1e3,Number(t?.maxAgeMs)||Jk*1e3),i=Pd(t?.currentUrl||window.location.href),a=Qn(t?.currentHost||window.location.hostname||""),s=String(t?.expectedHandoffId||"").trim(),c=t?.requireTargetMatch!==!1;for(let l of r){let[d,...m]=l.trim().split("=");if(d===n){let f=m.join("="),u=JSON.parse(decodeURIComponent(f));if(!u.timestamp||Date.now()-u.timestamp>=o)continue;let h=String(u.handoffId||u.handoff?.handoffId||"").trim();if(!h||s&&h!==s)continue;if(c){let b=Pd(u.targetUrl||u.handoff?.targetUrl||"");if(!b||!i||!Up(b,i))continue}if(u.sourceHost){let b=Qn(u.sourceHost||"");if(b&&a&&b===a&&!s)continue}if(u.sessionId&&typeof u.sessionId=="string")return u}}}catch{}return null}function bc(e){try{let t=Bp(e),n=Qk(window.location.hostname),r=window.location.protocol==="https:",o=[`${t}=`,"path=/","max-age=0","SameSite=Lax"];Zk(n)&&o.push(`domain=.${n}`),r&&o.push("Secure"),document.cookie=o.join("; ")}catch{}}function qe(e){return String(e||"").trim()||void 0}function zA(e){let t=qe(e.incomingBoundaryId),n=qe(e.currentBoundaryId);return!t||t===n?!1:n?e.taskEpochAdvanced===!0&&e.hasPendingRun!==!0:e.allowBootstrapAdoption!==!1}function tx(e){let t=qe(e.incomingBoundaryId),n=qe(e.currentBoundaryId);return t&&n&&t===n?{accept:!0,reason:"match"}:t?zA(e)?{accept:!0,adoptedBoundaryId:t,reason:n?"epoch_adopt":"bootstrap_adopt"}:{accept:!1,reason:"mismatch"}:!n&&e.allowBootstrapAdoption!==!1?{accept:!0,reason:"bootstrap_adopt"}:{accept:!1,reason:"missing_incoming"}}function HA(){return[{kind:"create_task"},{kind:"rotate_boundary"},{kind:"assign_worker"}]}function zp(){return[{kind:"release_worker"},{kind:"clear_run"}]}function Od(){return[{kind:"release_worker"},{kind:"clear_run"}]}function Ui(){return[{kind:"archive_task"},{kind:"clear_run"},{kind:"clear_worker_state"}]}var jA={idle:{START:{to:"running",sideEffects:()=>HA()}},running:{AGENT_PROGRESS:{to:"running",sideEffects:()=>[{kind:"update_timestamps",ts:Date.now()}]},NAVIGATION_STARTED:{to:"running",sideEffects:e=>[{kind:"record_navigation",targetUrl:e.targetUrl,isCrossHost:e.isCrossHost},{kind:"update_timestamps",ts:Date.now()}]},NAVIGATION_COMPLETED:{to:"running",sideEffects:()=>[{kind:"clear_navigation"},{kind:"update_timestamps",ts:Date.now()}]},ASK_USER:{to:"awaiting_user",sideEffects:e=>[{kind:"set_pending_questions",questions:e.questions||[]}]},PAUSE:{to:"paused",sideEffects:()=>[{kind:"snapshot_worker_state"},{kind:"release_worker"}]},BLOCK:{to:"blocked",sideEffects:e=>[{kind:"record_block_reason",reason:e.reason},{kind:"notify_agent_blocked"}]},COMPLETE:{to:"completed",sideEffects:()=>zp()},FAIL:{to:"failed",sideEffects:e=>[...zp(),{kind:"emit_error",error:e.error}]},CANCEL:{to:"cancelled",sideEffects:()=>Od()},RESET:{to:"idle",sideEffects:()=>Ui()}},awaiting_user:{USER_RESPONDED:{to:"running",sideEffects:()=>[{kind:"clear_questions"}]},PAUSE:{to:"paused",sideEffects:()=>[{kind:"snapshot_worker_state"},{kind:"release_worker"}]},CANCEL:{to:"cancelled",sideEffects:()=>Od()},RESET:{to:"idle",sideEffects:()=>Ui()}},paused:{RESUME:{to:"running",sideEffects:()=>[{kind:"restore_snapshot"},{kind:"assign_worker"}]},CANCEL:{to:"cancelled",sideEffects:()=>Od()},RESET:{to:"idle",sideEffects:()=>Ui()}},blocked:{UNBLOCK:{to:"running",sideEffects:()=>[{kind:"resume_from_block"}]},CANCEL:{to:"cancelled",sideEffects:()=>Od()},FAIL:{to:"failed",sideEffects:e=>[...zp(),{kind:"emit_error",error:e.error}]},RESET:{to:"idle",sideEffects:()=>Ui()}},completed:{RESET:{to:"idle",sideEffects:()=>Ui()}},failed:{RESET:{to:"idle",sideEffects:()=>Ui()}},cancelled:{RESET:{to:"idle",sideEffects:()=>Ui()}}};function $A(e,t,n){let o=jA[e]?.[t.type];if(!o)return{next:e,rejected:!0,rejectedReason:`Invalid transition: ${e} + ${t.type}`,sideEffects:[]};let i=o.to;return e==="paused"&&t.type==="RESUME"&&n?.prePauseState==="awaiting_user"&&(i="awaiting_user"),{next:i,rejected:!1,sideEffects:o.sideEffects(t,n)}}function yc(e){return e==="completed"||e==="failed"||e==="cancelled"}function nx(e){switch(e){case"idle":return"running";case"running":return"running";case"awaiting_user":return"running";case"paused":return"running";case"blocked":return"running";case"completed":return"completed";case"failed":return"failed";case"cancelled":return"cancelled";default:return"running"}}function vc(e,t){if(!e)return"idle";switch(e){case"running":{let n=String(t||"").trim().toLowerCase();return n.includes("waiting_for_input")||n.includes("awaiting_user")?"awaiting_user":"running"}case"completed":return"completed";case"cancelled":return"cancelled";case"failed":return"failed";case"ended":return"cancelled";default:return"idle"}}function rx(e,t){let n=$A(e.state,t,e);if(n.rejected)return{record:e,result:n};let r=Date.now(),o={...e,state:n.next};if(n.next==="paused"&&!o.pausedAt&&(o.pausedAt=r,o.prePauseState=e.state==="awaiting_user"?"awaiting_user":"running"),n.next==="blocked"){o.blockedAt=r;let i=t;o.blockReason=i.reason}return n.next==="running"&&e.state==="paused"&&(o.pausedAt=void 0,o.prePauseState=void 0),n.next==="running"&&e.state==="blocked"&&(o.blockedAt=void 0,o.blockReason=void 0),n.next==="running"&&e.state==="awaiting_user"&&(o.pausedAt=void 0,o.prePauseState=void 0),yc(n.next)&&(o.endedAt=r),t.type==="COMPLETE"&&t.summary&&(o.summary=t.summary),t.type==="RESET"&&(o.pausedAt=void 0,o.prePauseState=void 0,o.blockedAt=void 0,o.blockReason=void 0,o.endedAt=void 0),{record:o,result:n}}function Hp(e){let t=Date.now(),n=e?.taskId||qA(),r=e?.boundaryId||VA();return{taskId:n,state:"idle",boundaryId:r,startedAt:t,uiMessages:[],timeline:[],seedChatLog:[],tabIds:[],...e}}function qA(){return`task_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function VA(){return`bnd_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function Bd(e){return e==="running"}function ox(e){return e.resumeRequired?e.hasLiveRemoteController?"defer_remote_owner":e.policy==="never"?"cancel_resume":e.policy==="confirm"?"prompt_resume":"auto_resume":"noop"}function ix(e){let t=qe(e.currentTaskBoundaryId),n=qe(e.localPendingTaskBoundaryId),r=qe(e.candidateTaskBoundaryId);return!(!n||t&&n!==t||r&&r!==(t||n))}function ax(e){let t=String(e.serverRunId||"").trim();if(!t||e.taskStatus!=="running"||e.ignoredRunIds?.has(t))return!1;let n=String(e.localPendingRunId||"").trim();return!n||n!==t?!1:ix({currentTaskBoundaryId:e.currentTaskBoundaryId,localPendingTaskBoundaryId:e.localPendingTaskBoundaryId})}function sx(e){let t=String(e.serverRunId||"").trim();if(!t||!e.ignoredRunIds?.has(t))return!1;let n=String(e.runStatus||"").trim().toLowerCase();return!(n==="completed"||n==="cancelled"||n==="failed"||n==="ended")}function jp(e){if(e.taskStatus!=="running")return!1;let t=String(e.candidateRunId||"").trim(),n=String(e.localPendingRunId||"").trim();return!t||!String(e.candidateRunText||"").trim()||!n||e.ignoredRunIds?.has(t)||n!==t?!1:ix({currentTaskBoundaryId:e.currentTaskBoundaryId,localPendingTaskBoundaryId:e.localPendingTaskBoundaryId,candidateTaskBoundaryId:e.candidateTaskBoundaryId})}function $p(e){return!!(e.localTaskStatus!=="running"||e.remoteTaskStatus&&e.remoteTaskStatus!=="running"||e.mode==="observer"&&!e.hasRemoteActiveRun)}function cx(e){let{type:t,messageRunId:n,messageTaskBoundaryId:r,currentTaskBoundaryId:o,pendingRunId:i,sharedActiveRunId:a,authoritativeActiveRunId:s,taskStatus:c,ignoredRunIds:l}=e,d=qe(o),m=qe(r),f=t==="run_state_transition"||t==="run_completed";if(d&&(m&&m!==d||(t==="run_started"||t==="run_resumed"||f)&&!m&&!(f&&!!n&&!!i&&n===i&&c==="running")))return!0;if(!n&&t!=="run_started"&&t!=="run_resumed")return!1;if(n&&l?.has(n))return!0;let b=s||a;return t==="run_started"||t==="run_resumed"?!n||b&&b===n?!1:i?i!==n&&(!b||b!==n):!0:n?t==="run_completed"||t==="run_state_transition"?c!=="running"?!0:i?i!==n&&(!b||b!==n):!(b&&b===n):i?i!==n:!0:!1}function WA(e){return Math.max(1,Number(e)||1)}function KA(e){if(!e)return"idle";if(e.status!=="running")return"terminal";let t=String(e.boundaryReason||"").trim().toLowerCase();return t.includes("waiting_for_input")||t.includes("awaiting_user")?"awaiting_user":"running"}function qp(e){return e==="completed"||e==="cancelled"||e==="failed"||e==="ended"}function lx(e,t,n){let r=Number(t.at)||Date.now(),o=String(t.reason||"kernel").trim()||"kernel",i=WA(e.taskEpoch),a=e.task||n.createTask(o,r,t.taskId);if(t.type==="new_task")return{task:n.createTask(o,r,t.taskId),taskEpoch:i+1,lifecycle:"running",rotateBoundary:!0,clearPendingRun:!0,clearWorkerState:!0};if(t.type==="terminal"){let l=t.terminal;return{task:{...a,status:l,boundaryReason:o,endedAt:r},taskEpoch:i,lifecycle:"terminal",rotateBoundary:!1,clearPendingRun:!0,clearWorkerState:!0}}let c={...a,status:"running",boundaryReason:o,endedAt:void 0};return!c.lastUserAt&&!c.lastAssistantAt&&(c.lastAssistantAt=r),{task:c,taskEpoch:i,lifecycle:t.type==="awaiting_user"?"awaiting_user":KA(c),rotateBoundary:!1,clearPendingRun:!1,clearWorkerState:!1}}function kc(e){return Array.isArray(e)?e.length:0}function Vp(e){return String(e||"").trim()||void 0}function dx(e){return String(e||"").trim()||void 0}function ux(e){if(!e)return 0;let t=0;String(e.pendingRun?.id||"").trim()&&(t+=4,e.pendingRun?.resumeRequired&&(t+=1),Vp(e.pendingRun?.taskBoundaryId)&&(t+=1)),e.activeTask?.status==="running"&&(t+=2);let r=e.workerState;return r&&(t+=1,String(r.rootUserInput||"").trim()&&(t+=1),t+=Math.min(3,kc(r.history)),t+=Math.min(3,kc(r.plannerHistory)),t+=Math.min(4,kc(r.agentPrevSteps)),kc(r.pendingAskUser?.questions)>0&&(t+=3)),kc(e.taskTabScope?.touchedTabIds)>0&&(t+=1),t}function Wp(e){let t=dx(e.localState.pendingRun?.id),n=dx(e.incomingState.pendingRun?.id),r=Vp(e.localState.pendingRun?.taskBoundaryId||e.localState.workerState?.taskBoundaryId),o=Vp(e.incomingState.pendingRun?.taskBoundaryId||e.incomingState.workerState?.taskBoundaryId);return{localRunId:t,incomingRunId:n,exactRunMatch:!!(t&&n&&t===n),localBoundaryId:r,incomingBoundaryId:o,exactBoundaryMatch:!!(r&&o&&r===o),localScore:ux(e.localState),incomingScore:ux(e.incomingState)}}function Kp(e){let t=Math.max(0,Number(e.clockSkewMs)||200);if(e.incomingUpdatedAt>e.localUpdatedAt+t)return!0;if(!e.crossDomainResumeActive)return!1;let n=Wp({localState:e.localState,incomingState:e.incomingState});if(n.incomingScore<=n.localScore)return!1;if(n.localBoundaryId&&n.incomingBoundaryId&&n.localBoundaryId!==n.incomingBoundaryId){let o=Math.max(1,Number(e.localState.taskEpoch)||1);if(Math.max(1,Number(e.incomingState.taskEpoch)||1)<o)return!1}return!!(n.exactRunMatch||n.exactBoundaryMatch||!!!(n.localRunId||n.localBoundaryId))}function io(e){return String(e||"").trim()||void 0}function Gp(e){return e==="preserve_if_running"}function fx(e,t){let n=io(t.boundaryId),r=io(t.runId),o=io(t.taskId),i=Array.from(e);if(n){let a=i.find(s=>io(s.boundaryId)===n);if(a)return a}if(r){let a=i.find(s=>io(s.pendingRun?.id)===r);if(a)return a}if(o){let a=i.find(s=>io(s.taskId)===o);if(a)return a}}function px(e){let t=io(e.localPendingRunId);if(t)return t;let n=io(e.sharedActiveRunId);if(!n)return;let r=io(e.sharedTaskId),o=io(e.activeTaskId);if(!(r&&o&&r!==o))return n}var Ud=class{constructor(t){q(this,"maxWorkers");q(this,"maxQueue");q(this,"activeWorkers",new Map);q(this,"queue",[]);q(this,"onWorkerFreed");this.maxWorkers=Math.min(Math.max(1,Number(t?.maxWorkers)||1),2),this.maxQueue=Math.max(1,Number(t?.maxQueue)||3),this.onWorkerFreed=t?.onWorkerFreed}acquire(t,n){if(this.activeWorkers.has(t))return this.activeWorkers.get(t);if(this.removeFromQueue(t),this.activeWorkers.size<this.maxWorkers){let r=new Worker(n.workerUrl,n.workerOptions);return this.activeWorkers.set(t,r),r}return this.queue.length>=this.maxQueue&&this.queue.shift(),this.queue.push(t),null}release(t){let n=this.activeWorkers.get(t);if(n){try{n.terminate()}catch{}this.activeWorkers.delete(t)}this.removeFromQueue(t),this.dequeueNext()}getWorker(t){return this.activeWorkers.get(t)}getActiveCount(){return this.activeWorkers.size}isQueued(t){return this.queue.includes(t)}getQueuedTasks(){return[...this.queue]}getActiveTasks(){return Array.from(this.activeWorkers.keys())}shutdown(){for(let[,t]of this.activeWorkers)try{t.terminate()}catch{}this.activeWorkers.clear(),this.queue=[]}removeFromQueue(t){let n=this.queue.indexOf(t);n>=0&&this.queue.splice(n,1)}dequeueNext(){if(this.queue.length===0||this.activeWorkers.size>=this.maxWorkers)return;let t=this.queue.shift();t&&this.onWorkerFreed&&this.onWorkerFreed(t)}};var GA=10,XA=8,YA=12,mx=40,hx=60,JA=5*6e4,QA=5,qa=class e{constructor(t){q(this,"tasks",new Map);q(this,"activeTaskId");q(this,"taskOrder",[]);q(this,"workerPool");q(this,"maxArchivedTasks");q(this,"tabToTask",new Map);this.workerPool=new Ud({maxWorkers:t?.maxConcurrentWorkers,maxQueue:t?.maxQueuedTasks,onWorkerFreed:n=>this.onWorkerSlotFreed(n)}),this.maxArchivedTasks=Math.max(1,Number(t?.maxArchivedTasks)||GA)}createTask(t,n){let r=Hp(n);return this.tasks.set(r.taskId,r),this.taskOrder.push(r.taskId),r}dispatch(t,n){let r=this.tasks.get(t);if(!r)return{accepted:!1,task:Hp({taskId:t}),sideEffects:[],rejectedReason:`Task ${t} not found`};let{record:o,result:i}=rx(r,n);return i.rejected||this.tasks.set(t,o),{accepted:!i.rejected,task:i.rejected?r:o,sideEffects:i.sideEffects,rejectedReason:i.rejectedReason}}switchActiveTask(t){let n=this.tasks.get(t);if(!n)return;let r=this.getActiveTask();return this.activeTaskId=t,n}getActiveTask(){if(this.activeTaskId)return this.tasks.get(this.activeTaskId)}getActiveTaskId(){return this.activeTaskId}listTasks(){return this.taskOrder.map(t=>this.tasks.get(t)).filter(t=>!!t)}getTask(t){return this.tasks.get(t)}hasTask(t){return this.tasks.has(t)}getTaskCount(){return this.tasks.size}updateTask(t,n){let r=this.tasks.get(t);if(!r)return;let o=n(r);return this.tasks.set(t,o),o}updateScrollPosition(t,n){let r=this.tasks.get(t);r&&this.tasks.set(t,{...r,scrollPosition:n})}assignWorker(t,n){let r=this.workerPool.acquire(t,n);if(r){let o=this.tasks.get(t);o&&this.tasks.set(t,{...o,workerId:t})}return r}releaseWorker(t){this.workerPool.release(t);let n=this.tasks.get(t);n&&this.tasks.set(t,{...n,workerId:void 0})}getWorker(t){return this.workerPool.getWorker(t)}getQueuedTasks(){return this.workerPool.getQueuedTasks()}isTaskQueued(t){return this.workerPool.isQueued(t)}onWorkerSlotFreed(t){}mapTabToTask(t,n){this.tabToTask.set(t,n);let r=this.tasks.get(n);r&&!r.tabIds.includes(t)&&this.tasks.set(n,{...r,tabIds:[...r.tabIds,t]})}getTaskForTab(t){let n=this.tabToTask.get(t);if(n)return this.tasks.get(n)}getTaskByBoundaryId(t){for(let n of this.tasks.values())if(n.boundaryId===t)return n}archiveTask(t){let n=this.tasks.get(t);if(!n)return;let r={...n,uiMessages:n.uiMessages.slice(-XA),timeline:n.timeline.slice(-YA),transientStatus:void 0,workerState:void 0,pendingRun:void 0};this.tasks.set(t,r),this.workerPool.release(t)}pruneArchivedTasks(){let t=[];for(let n of this.taskOrder){let r=this.tasks.get(n);r&&yc(r.state)&&t.push(n)}for(;t.length>this.maxArchivedTasks;){let n=t.shift();this.tasks.delete(n),this.taskOrder=this.taskOrder.filter(r=>r!==n);for(let[r,o]of this.tabToTask)o===n&&this.tabToTask.delete(r)}}deleteTask(t){if(!this.tasks.has(t))return!1;this.workerPool.release(t),this.tasks.delete(t),this.taskOrder=this.taskOrder.filter(n=>n!==t);for(let[n,r]of this.tabToTask)r===t&&this.tabToTask.delete(n);return this.activeTaskId===t&&(this.activeTaskId=this.taskOrder.length>0?this.taskOrder[this.taskOrder.length-1]:void 0),!0}toPersistedState(){let t={};for(let[n,r]of this.tasks)t[n]=r;return{tasks:t,activeTaskId:this.activeTaskId,taskOrder:[...this.taskOrder]}}static fromPersistedState(t,n){let r=new e(n);if(t.tasks&&typeof t.tasks=="object"){for(let[o,i]of Object.entries(t.tasks))if(i&&typeof i=="object"&&i.taskId&&(r.tasks.set(o,i),Array.isArray(i.tabIds)))for(let a of i.tabIds)r.tabToTask.set(a,o)}return r.taskOrder=Array.isArray(t.taskOrder)?t.taskOrder.filter(o=>r.tasks.has(o)):Array.from(r.tasks.keys()),r.activeTaskId=t.activeTaskId&&r.tasks.has(t.activeTaskId)?t.activeTaskId:r.taskOrder.length>0?r.taskOrder[r.taskOrder.length-1]:void 0,r}static fromV1State(t,n){let r=new e(n);if(t.activeTask){let o=vc(t.activeTask.status,t.activeTask.boundaryReason),i={taskId:t.activeTask.taskId,state:o,boundaryId:t.workerState?.taskBoundaryId||t.pendingRun?.taskBoundaryId||`bnd_migrated_${Date.now().toString(36)}`,startedAt:t.activeTask.startedAt,endedAt:t.activeTask.endedAt,lastUserAt:t.activeTask.lastUserAt,lastAssistantAt:t.activeTask.lastAssistantAt,uiMessages:Array.isArray(t.uiMessages)?[...t.uiMessages]:[],timeline:Array.isArray(t.timeline)?[...t.timeline]:[],workerState:t.workerState?{...t.workerState}:void 0,pendingRun:t.pendingRun?{...t.pendingRun}:void 0,tabScope:t.taskTabScope?{...t.taskTabScope}:void 0,rootUserInput:t.workerState?.rootUserInput,seedChatLog:t.workerState?.seedChatLog?[...t.workerState.seedChatLog]:[],transientStatus:t.transientStatus?{...t.transientStatus}:void 0,tabIds:t.taskTabScope?.touchedTabIds?[...t.taskTabScope.touchedTabIds]:[]};r.tasks.set(i.taskId,i),r.taskOrder.push(i.taskId),r.activeTaskId=i.taskId;for(let a of i.tabIds)r.tabToTask.set(a,i.taskId)}return r}enforceMemoryCaps(){for(let[,t]of this.tasks)yc(t.state)||(t.uiMessages.length>mx&&(t.uiMessages=t.uiMessages.slice(-mx)),t.timeline.length>hx&&(t.timeline=t.timeline.slice(-hx)))}terminateInactiveWorkers(){let t=Date.now(),n=[];for(let[r,o]of this.tasks){if(o.state!=="paused")continue;t-(o.pausedAt||t)>JA&&this.workerPool.getWorker(r)&&(this.workerPool.release(r),n.push(r))}return n}canCreateNewTask(t){if(t>QA)return{allowed:!1,reason:`Too many Rover tabs open (${t}). Close some tabs to create new tasks.`};let n=this.workerPool.getActiveCount(),r=this.workerPool.getQueuedTasks().length;return n>=2&&r>=3?{allowed:!1,reason:"Maximum parallel tasks reached. Complete or cancel a task first."}:{allowed:!0}}shutdown(){this.workerPool.shutdown(),this.tasks.clear(),this.taskOrder=[],this.tabToTask.clear(),this.activeTaskId=void 0}};var ZA=[/\/login/i,/\/signin/i,/\/auth/i,/\/oauth/i,/\/password/i,/\/reset/i,/\/verify/i,/\/confirm/i,/\/account/i,/\/security/i,/\/2fa/i,/\/mfa/i],eR=[/data:/i,/javascript:/i,/vbscript:/i,/blob:/i],tR=[/token/i,/secret/i,/password/i,/apikey/i,/api_key/i,/access_token/i,/refresh_token/i,/session/i,/cookie/i,/credential/i],nR=/^(\d{1,3}\.){3}\d{1,3}$/;function Xp(e,t){let n=0,r=[],o;try{o=new URL(e)}catch{return{score:1,blocked:!1,reasons:["invalid_url"]}}for(let d of eR)if(d.test(e)){n+=3,r.push("exfiltration_scheme");break}nR.test(o.hostname)&&(n+=2,r.push("ip_address_host")),o.hostname.split(".").length>4&&(n+=1,r.push("excessive_subdomains"));let a=ZA.filter(d=>d.test(o.pathname)).length;a>=2?(n+=2,r.push("multiple_credential_paths")):a===1&&(n+=1,r.push("credential_path"));let c=Array.from(o.searchParams.keys()).filter(d=>tR.some(m=>m.test(d))).length;return c>0&&(n+=Math.min(2,c),r.push("sensitive_query_params")),e.length>2e3&&(n+=1,r.push("excessive_url_length")),(e.match(/%[0-9A-Fa-f]{2}/g)||[]).length>20&&(n+=1,r.push("excessive_encoding")),o.port&&o.port!=="80"&&o.port!=="443"&&(n+=1,r.push("non_standard_port")),{score:n,blocked:n>=3,reasons:r}}function gx(e,t){return Xp(e,t).blocked}var Wa,Fd=null,xc=!1,Sr=32,Va=4,rR="#6b6bff";function oR(){return document.querySelector('link[rel="icon"], link[rel="shortcut icon"]')}function bx(){let e=document.createElement("link");return e.rel="icon",e.type="image/png",document.head.appendChild(e),e}function yx(e=rR){if(xc)return!0;try{let t=oR();t&&(Wa=t.href,Fd=t);let n=document.createElement("canvas");n.width=Sr,n.height=Sr;let r=n.getContext("2d");if(!r)return!1;let o=new Image;return o.crossOrigin="anonymous",o.onload=()=>{r.drawImage(o,0,0,Sr,Sr),r.beginPath(),r.arc(Sr-Va-1,Sr-Va-1,Va,0,Math.PI*2),r.fillStyle=e,r.fill(),r.strokeStyle="#1a1a2e",r.lineWidth=1,r.stroke();let i=n.toDataURL("image/png"),a=t||bx();a.href=i,xc=!0},o.onerror=()=>{r.fillStyle="#1a1a2e",r.fillRect(0,0,Sr,Sr),r.fillStyle="#fff",r.font="bold 20px sans-serif",r.textAlign="center",r.textBaseline="middle",r.fillText("R",Sr/2,Sr/2),r.beginPath(),r.arc(Sr-Va-1,Sr-Va-1,Va,0,Math.PI*2),r.fillStyle=e,r.fill();let i=n.toDataURL("image/png"),a=t||bx();a.href=i,xc=!0},Wa?o.src=Wa:o.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEAAAAALAAAAAABAAEAAAIBAAA=",!0}catch{return!1}}function vx(){if(xc){xc=!1;try{Fd&&Wa&&(Fd.href=Wa),Wa=void 0,Fd=null}catch{}}}function kx(e){if(e.crossRegistrableDomain&&!e.serverAvailable)return{decision:e.fallbackDecision,decisionReason:"preflight_unavailable_fallback",failSafeBlocked:!1};let t=e.serverDecision==="stale_run"?e.fallbackDecision:e.serverDecision||e.fallbackDecision;return{decision:t,decisionReason:t,failSafeBlocked:!1}}function xx(e){let t=String(e.pendingRunText||"").trim();if(t)return t;let n=String(e.activeRunText||"").trim();if(n)return n;let r=String(e.rootWorkerInput||"").trim();if(r)return r;let o=String(e.lastUserInputText||"").trim();return o||String(e.fallback||"navigation request").trim()||"navigation request"}function zd(e){let t=String(e||"").trim();if(t)try{return new URL(t).hostname.toLowerCase()}catch{return t.toLowerCase()}}function wx(e){let t=String(e||"").trim();if(t)try{let n=new URL(t);return n.hash="",n.toString()}catch{return}}function iR(e){let t=wx(e.targetUrl),n=zd(e.targetUrl);if(!n)return!1;let r=Number(e.sourceLogicalTabId);return(e.knownTabs||[]).some(o=>{if(!Number.isFinite(Number(o.logicalTabId))||Number(o.logicalTabId)<=0||Number.isFinite(r)&&Number(o.logicalTabId)===r)return!1;let i=wx(o.url);return t&&i&&i===t?!0:zd(o.url)===n})}function aR(e){let t=Array.from(new Set((e.taskScopedTabIds||[]).map(r=>Number(r)).filter(r=>Number.isFinite(r)&&r>0))),n=Number(e.sourceLogicalTabId);return t.length>=2?!0:!Number.isFinite(n)||n<=0?!1:t.some(r=>r!==n)}function Sx(e){let t=zd(e.targetUrl),n=zd(e.currentHost||e.currentUrl);return t?Gs({host:t,currentHost:n,allowedDomains:e.allowedDomains,domainScopeMode:e.domainScopeMode})?n&&t===n?e.preferredDisposition==="new_tab"?"open_new_tab":"allow_same_tab":e.preferredDisposition==="new_tab"||iR(e)||aR(e)?"open_new_tab":"allow_same_tab":"open_new_tab":"allow_same_tab"}function wc(e,t="tab_not_accessible"){let n=Number(e?.logicalTabId)||void 0,r=e?.url||"",o=e?.title||(e?.external?"External Tab (Inaccessible)":"Detached Runtime Tab (Unavailable)"),i=String(t||"").trim(),a=i?` Reason: ${i}.`:"",s=e?.external?`This external tab is tracked in virtual mode only. Live DOM control and accessibility-tree access are unavailable here.${a}`:`This tab is a detached runtime placeholder and is not attached to an active Rover runtime. Switch to an attached tab or reopen the page.${a}`;return{url:r,title:o,contentType:"text/html",content:s,metadata:{inaccessible:!0,external:!!e?.external,accessMode:e?.external?"external_placeholder":"detached_runtime_placeholder",roverAvailability:e?.roverAvailability||"unknown",reason:t,logicalTabId:n}}}function Sc(e,t,n="tab_not_accessible"){let r=Number(t?.logicalTabId)||0,o=t?.url||"",i=t?.external?`Tab ${r} is external to the active runtime and cannot be controlled directly.`:`Tab ${r} is not attached to an active Rover runtime.`,a=t?.external?"DOMAIN_SCOPE_BLOCKED":"TAB_NOT_ACCESSIBLE";return{success:!1,error:i,allowFallback:!0,output:{success:!1,error:{code:a,message:i,missing:[],next_action:t?.external?"External pages open in a new tab with notice. Switch to that tab or continue on an allowed Rover tab.":"Switch to an active tab and retry.",retryable:!1},blocked_url:o||void 0,logical_tab_id:r||void 0,external:!!t?.external,policy_action:t?.external?"open_new_tab_notice":void 0,reason:n},errorDetails:{code:a,message:i,retryable:!1,details:{logicalTabId:r,blockedUrl:o,external:!!t?.external,reason:n}}}}function sR(e){if(e.startNewTask||!e.hasAskUserAnswers||e.taskStatus!=="running")return!1;let t=qe(e.pendingAskUserBoundaryId),n=qe(e.currentTaskBoundaryId);return t&&n&&t!==n?!1:(Math.max(0,Number(e.pendingAskUserQuestionCount)||0)<=0,!0)}function Tx(e){return!sR(e)}var cR=new Set(["a","an","and","are","as","at","be","by","for","from","how","i","in","is","it","of","on","or","that","the","this","to","was","what","when","where","who","why","with","you","your"]);function Yp(e){return String(e||"").replace(/\s+/g," ").trim().slice(0,2e3)}function lR(e){if(!Array.isArray(e)||e.length===0)return[];let t=[];for(let n of e){if(!n||n.role!=="user"&&n.role!=="assistant")continue;let r=Yp(n.text);if(!r)continue;if(n.role==="user"){t.push({user:r,ts:Number(n.ts)||0});continue}if(!t.length)continue;let o=t[t.length-1];o.assistant||(o.assistant=r,o.ts=Math.max(o.ts,Number(n.ts)||0))}return t}function _x(e){let t=String(e||"").toLowerCase().split(/[^a-z0-9]+/g).map(n=>n.trim()).filter(n=>n.length>=2&&!cR.has(n));return new Set(t)}function dR(e,t){let n=_x(e),r=_x(t);if(!n.size||!r.size)return 0;let o=0;for(let a of n)r.has(a)&&(o+=1);let i=n.size+r.size-o;return i<=0?0:o/i}function Ex(e){if(e.mode!=="heuristic_same_window")return{reason:"mode_disabled",overlap:0};let t=e.previousTaskStatus;if(t!=="completed"&&t!=="ended"&&t!=="cancelled")return{reason:"status_ineligible",overlap:0};let n=lR(e.previousTaskMessages),r=Yp(e.previousTaskUserInput),o=Yp(e.previousTaskAssistantOutput),i=n.length?n:r&&o?[{user:r,assistant:o,ts:Number(e.previousTaskCompletedAt)||0}]:[];if(!i.some(u=>u.user))return{reason:"missing_previous_intent",overlap:0};if(!i.some(u=>u.assistant))return{reason:"missing_previous_output",overlap:0};let a=Math.max(0,Number(e.previousTaskCompletedAt)||0),s=Math.max(a,Number(e.now)||Date.now()),c=Math.max(1e3,Number(e.ttlMs)||0);if(!a||s-a>c)return{reason:"ttl_expired",overlap:0};let l=Math.max(0,Math.min(1,Number(e.minLexicalOverlap)||0)),d=i.map((u,h)=>{let b=dR(u.user,e.currentPrompt),v=i.length>1?h/(i.length-1)*.05:.05;return{...u,overlap:b,score:b+v,index:h}}).filter(u=>!!u.assistant);if(!d.length)return{reason:"missing_previous_output",overlap:0};let m=d.filter(u=>u.overlap>=l).sort((u,h)=>h.score!==u.score?h.score-u.score:h.index-u.index).slice(0,2).sort((u,h)=>u.index-h.index),f=d.reduce((u,h)=>Math.max(u,h.overlap),0);return m.length?{reason:"attached",overlap:f,chatLog:m.flatMap(u=>[{role:"user",message:u.user},{role:"model",message:u.assistant||""}])}:{reason:"low_lexical_overlap",overlap:f}}var Bm=2,xu="rover:runtime:",uR="rover:runtime-id:",Zx="rover:visitor-id:",tu=Wt.uiMessages,nu=Wt.timelineEvents,Um=Wt.uiMessages,fR=4,Fm=Wt.plannerHistory,zm=Wt.prevSteps,pR=8e3,mR=12,hR=15*6e4,gR=2,bR=12e4,yR=.18,vR=30,kR=3600*24*365,ew=1,xR=3e3,wR=4500,SR=12e3,TR=30,ru=240,Ix=5*6e4,Vi=100,ou=12,_R=80,ER=200,IR=2e3,AR=8,RR=240,CR=48,MR=2600,NR=800,LR=5e3,DR="rover:handoff-bootstrap:",tw=3e4,PR=12e4,OR=2500,BR=2*6e4,UR=45e3,FR=2e4,Fc=400,zR=15e3,HR=7,jR=80,$R=2500,qR=250,VR=1e4,WR=400,Jp=40,Qp=1e3,KR=350,GR=1e4,zc=3e4,XR=20,YR=6,JR=12,QR=JR*1024*1024,ls="data-rover-agent-discovery",qn="rover-agent-discovery-cue",sm="rover-agent-discovery-cue-style",Pn="rover-agent-discovery-landmark",On="rover-agent-discovery-actions",ZR="AI ready",cm="AI-ready path available on this page",Ax="Alt+Shift+A",e1="rover:agent-discovery-changed",Rx=28,Cx=12,t1=1e4,n1=6e4,ri=null,Rt=null,lt=null,de=null,A=null,Vn=null,No=null,p=null,Do=null,It="",j=null,Jt=null,Tr=null,Ki=null,Zp=null,Mx="",Nx=0,Lx=0,Kd=null,nr=[],Gd=!1,Za=!1,nw=0,lm=0,dm=0,iu=0,Mc=!1,Po=null,r1=1500,o1=5e3,Dx=1e4,Px=1200,rw=new Set(["error","navigation_guardrail","checkpoint_error","tab_event_conflict_exhausted","voice_error","voice_permission_denied"]),i1=new Set(["ready","error","auth_required","navigation_guardrail","checkpoint_error","tab_event_conflict_exhausted","voice_error","voice_permission_denied"]),Yt,$r,ci=!1,Gi=!1,Nc=null,Lc=null,sn=null,um="",ds=!1,Ga="",Ft="controller",fm=!1,pm="default",us,Ar=!1,fs=!1,jr=!0,Gr=!1,Un=!1,Kn=!1,so=!1,Fi=[],a1=3,Ox=1e4,Ve="",Qt=null,Ut=null,Wn=0,Qo=null,Xd=!1,mm=!1,hm=!1,gm=!1,oi=[],es=null,ts=null,Ja="",ji="",Zo=null,ns=null,Dc="",Ac="",ei=null,$i="",Hc=null,Xe=null,rs=null,kn=!1,li=!1,bm=!1;function Hm(e){if(!e||typeof e!="object")return;let t=typeof e.requestId=="string"?e.requestId.trim():"";if(!t)return;let n=e.executionTarget==="browser_attach"||e.executionTarget==="cloud_browser"?e.executionTarget:void 0,r=e.promptDispatchState==="pending"||e.promptDispatchState==="started"||e.promptDispatchState==="failed"?e.promptDispatchState:void 0;return{requestId:t,status:typeof e.status=="string"&&e.status.trim()||void 0,executionTarget:n,runId:typeof e.runId=="string"&&e.runId.trim()||void 0,promptDispatchState:r,attachedAt:Number(e.attachedAt)||void 0}}function ow(e=Xe){if(e)return Hm({requestId:e.requestId,status:e.status,executionTarget:e.executionTarget,runId:e.runId,promptDispatchState:e.promptDispatchState,attachedAt:e.attachCompletedAt})}function Xi(){p&&(p.launchBinding=ow(),Ze())}function iw(){return ow()||Hm(p?.launchBinding)}function Yi(e,t,n,r){e.addEventListener(t,n,r),oi.push({target:e,event:t,handler:n,options:r}),oi.length>100&&oi.length%50===0&&s1()}function s1(){for(let e=oi.length-1;e>=0;e--){let t=oi[e],n=t.target;if(n&&"isConnected"in n&&n.isConnected===!1){try{t.target.removeEventListener(t.event,t.handler,t.options)}catch{}oi.splice(e,1)}}}var au=null,Rc=0,ii=null,os,Hd="",Mn,Pc,Oc=!1,is=null,Qi,mo,ps=0,c1=50,l1=100,d1=20,u1=3e5;function su(e,t){for(;e.size>t;){let n=e.keys().next();if(n.done)break;e.delete(n.value)}}function f1(e,t){let n=e.values();for(;e.size>t;){let r=n.next();if(r.done)break;e.delete(r.value)}}var co=new Map,Xa=new Map,_r=new Set,Ae=null,Rn,uo=0,Lo=1,Jc,jc="",ae=null,ti=null,$c=new Set,Bc="",Ya="",ni=null,qc=null,ym=!1,p1=new Set(["execution_started","execution_state_transition","execution_completed","assistant","status","tool_start","tool_result","runtime_tabs_diagnostics","auth_required","navigation_guardrail","error"]),vm={read:"rover_external_read_context",act:"rover_external_act_context"},Yd=[],Jd=new Map,Bn=new Map;function bt(e,t){ot(e,t);let n=Jd.get(e);if(n)for(let r of n)try{r(t)}catch{}}function aw(e){return $k(e)}async function m1(e){if($c.size===0)return[];let t=[];for(let n of $c)try{let r=await n(e),o=Array.isArray(r)?r:r==null?[]:[r];for(let i of o){let a=aw(i);a&&t.push(a)}}catch{}return Jr(t)}function sw(e){return qk({msg:e,runId:String(p?.activeTask?.taskId||bs()?.taskId||"").trim()||void 0,currentRunBoundaryId:p?.pendingRun?.taskBoundaryId||Ve,normalizeRunBoundaryId:t=>qe(typeof t=="string"?t:void 0),pageUrl:typeof window<"u"?window.location.href:void 0,now:Date.now()})}function cw(e,t){let n=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():String(p?.pendingRun?.id||"").trim()||void 0,r=String(p?.activeTask?.taskId||bs()?.taskId||"").trim()||void 0;return Vk({msg:n?{...e,executionId:n}:e,runId:r,currentRunBoundaryId:p?.pendingRun?.taskBoundaryId||Ve,normalizeRunBoundaryId:o=>qe(typeof o=="string"?o:void 0),completionState:t,latestSummary:n?co.get(n):void 0,pageUrl:typeof window<"u"?window.location.href:void 0,now:Date.now()})}function lw(e,t){Jd.has(e)||Jd.set(e,new Set);let n=Jd.get(e);return n.add(t),()=>{n.delete(t)}}function h1(e){return typeof e=="string"?{name:e}:e}function g1(){if(typeof window>"u")return[];let e=window[gk];if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(!r||typeof r!="object")continue;let o=String(r.name||"").trim();!o||n.has(o)||(n.add(o),t.push(r))}return t}function jm(){let e=$m(A);return e?Xo(e):null}function $m(e){if(!e||typeof window>"u")return null;let t=al(e);if(t?.enabled===!1)return null;let n=String(e.agentDiscovery?.siteUrl||`${window.location.origin}/`).trim(),r=Cu(e),o=Rt?.listClientTools?.()||e.tools?.client||[],i=g1();return{siteId:e.siteId,siteUrl:String(t?.siteUrl||n).trim(),apiBase:e.apiBase,siteName:String(t?.siteName||e.ui?.agent?.name||document.title||"").trim()||window.location.hostname,description:String(t?.description||"").trim()||`Structured Rover entrypoints for ${window.location.hostname}. Prefer these explicit Rover skills and tools over brittle DOM automation whenever they match the user's goal.`,version:String(t?.version||sn?.version||"").trim()||void 0,agentCardUrl:String(t?.agentCardUrl||"").trim()||Co,roverSiteUrl:String(t?.roverSiteUrl||"").trim()||Pi,llmsUrl:String(t?.llmsUrl||"").trim()||void 0,enabled:t?.enabled,visibleCue:t?.visibleCue,discoverySurface:t?.discoverySurface,hostSurfaceSelector:t?.hostSurfaceSelector,preferExecution:t?.preferExecution||(r?.allowCloudBrowser===!1?"browser":"auto"),shortcuts:Mu(e),tools:o,webmcpTools:i,additionalSkills:t?.additionalSkills,capabilities:t?.capabilities,pages:t?.pages,pageContext:t?.pageContext,aiAccess:r}}function wu(e){return!e||typeof document>"u"||Cu(e)?.enabled===!1?!1:al(e)?.enabled!==!1}function cu(){if(!(typeof document>"u"))for(let e of Array.from(document.querySelectorAll(`[${ls}]`)))e.remove()}function jd(e,t,n){let r=document.head||document.documentElement;if(!r)return;let o=document.querySelector(`script[${ls}="${e}"]`);o?o.type!==t&&(o.type=t):(o=document.createElement("script"),o.setAttribute(ls,e),o.type=t,r.appendChild(o)),o.textContent!==n&&(o.textContent=n)}function Bx(e,t,n,r){let o=document.head||document.documentElement;if(!o)return;let i=document.querySelector(`link[${ls}="${e}"]`);i||(i=document.createElement("link"),i.setAttribute(ls,e),o.appendChild(i)),i.rel=t,i.href=n,i.type=r}function qm(e){if(typeof document>"u")return;if(!wu(e)){cu();return}let t=$m(e);if(!t){cu();return}let{cardJson:n,llmsUrl:r,marker:o,pageManifestJson:i,roverSiteJson:a,serviceDescHref:s}=Ed(t);jd("marker","application/agent+json",JSON.stringify(o)),Bx("service-desc","service-desc",s,"application/json"),r?Bx("service-doc","service-doc",r,"text/markdown"):document.querySelector(`link[${ls}="service-doc"]`)?.remove(),jd("rover-site","application/rover-site+json",a),jd("page","application/rover-page+json",i),jd("agent-card","application/agent-card+json",n)}function rr(e){return String(e||"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function b1(e){let t=String(e.page?.beaconLabel||e.page?.visibleCueLabel||e.policy?.beaconLabel||"").trim();return t||(e.policy?.branding==="rover"?"Rover AI":e.policy?.branding==="co"?"AI with Rover":ZR)}function dw(e){let t=String(e||"").trim();return t?`${t}. ${cm}`:cm}function y1(){return!!(li||p?.uiOpen||ti||Xe?.requestId)}function Vm(){if(!(typeof document>"u"))for(let e of Array.from(document.querySelectorAll('[data-rover-discovery-host="true"]')))e.removeAttribute("data-rover-discovery-host"),e.removeAttribute("data-rover-discovery-mode"),e.removeAttribute("data-rover-host-surface"),e.removeAttribute("data-rover-discovery-branding"),e.removeAttribute("data-rover-current-page"),e.removeAttribute("data-rover-capability-count")}function v1(e,t){if(typeof document>"u"||t?.hostSurface==="floating-corner")return null;let n=[String(e.hostSurfaceSelector||"").trim(),"[data-rover-host-surface]","[data-rover-assistant-surface]","[data-rover-chat-surface]"].filter(Boolean);for(let r of n)try{let o=document.querySelector(r);if(o instanceof HTMLElement)return o}catch{}return null}function di(e){if(!wu(e))return null;let t=$m(e);if(!t)return null;let n=Ed(t),r=n.pageManifest,o=n.card.extensions?.rover.discoverySurface;if(!o)return null;let i=n.roverSite.actions||[],a=(r.capabilityIds||[]).map(m=>i.find(f=>f.capabilityId===m)).filter(m=>!!m),s=v1(t,o),c=!!s&&o.mode!=="debug"&&(o.mode==="integrated"||o.hostSurface!=="floating-corner"),l=p?.uiHidden===!0||p?.uiOpen===!0,d=b1({page:r,policy:o});return{config:t,payloads:n,page:r,policy:o,visibleCapabilities:a,hostSurfaceTarget:s,integratedHost:c,agentModeActive:y1(),hidden:l,beaconLabel:d}}function uw(){typeof document>"u"||bm||(bm=!0,Yi(document,"keydown",(e=>{let t=e;if(t.key==="Escape"&&kn){kn=!1,Gn(A);return}if(!t.altKey||!t.shiftKey||t.key.toLowerCase()!=="a")return;let n=di(A);!n||n.policy.mode==="silent"||n.integratedHost||(t.preventDefault(),li=!0,kn=!kn,Gn(A))}),!0),Yi(document,"pointerdown",(e=>{if(!kn)return;let n=e.target;if(!n)return;let r=document.getElementById(qn),o=document.getElementById(On);r?.contains(n)||o?.contains(n)||(kn=!1,Gn(A))}),!0))}function Wm(){if(typeof document>"u"||document.getElementById(sm))return;let e=`calc(${78+Cx}px + env(safe-area-inset-right))`,t=`calc(${20+Math.round((58-Rx)/2)}px + env(safe-area-inset-bottom))`,n=`calc(${66+Cx}px + env(safe-area-inset-right))`,r=`calc(${14+Math.round((52-Rx)/2)}px + env(safe-area-inset-bottom))`,o=document.createElement("style");o.id=sm,o.textContent=`
|
|
4381
4381
|
#${qn} {
|
|
4382
4382
|
position: fixed;
|
|
4383
4383
|
right: ${e};
|
|
@@ -4588,7 +4588,7 @@ Author: ${s.textContent} `),i.textContent&&(t+=`Comment: ${i.textContent}
|
|
|
4588
4588
|
bottom: ${r};
|
|
4589
4589
|
}
|
|
4590
4590
|
}
|
|
4591
|
-
`,(document.head||document.documentElement)?.appendChild(o)}function Vm(){typeof document>"u"||(document.getElementById(qn)?.remove(),document.getElementById(On)?.remove(),vn=!1)}function Wm(){typeof document>"u"||document.getElementById(Pn)?.remove()}function uw(){typeof document>"u"||document.getElementById(im)?.remove()}function v1(){if(typeof document>"u")return null;dw(),qm();let e=document.getElementById(qn);return e||(e=document.createElement("button"),e.id=qn,e.type="button",e.setAttribute("data-rover-discovery-cue","true"),e.addEventListener("click",()=>{let t=ci(A);if(t){if(si=!0,!t.visibleCapabilities.length||t.policy.mode==="debug"){vn=!1,Nn();return}vn=!vn,Gn(A)}}),e.addEventListener("focus",()=>{let t=ci(A);!t||t.policy.actionReveal!=="focus"||t.hidden||(si=!0,vn=!0,Gn(A))}),(document.body||document.documentElement)?.appendChild(e),e)}function k1(){if(typeof document>"u")return null;dw(),qm();let e=document.getElementById(On);return e||(e=document.createElement("section"),e.id=On,e.setAttribute("role","dialog"),e.setAttribute("aria-modal","false"),e.setAttribute("aria-label","Rover actions"),e.hidden=!0,(document.body||document.documentElement)?.appendChild(e),e)}function x1(){if(typeof document>"u")return null;qm();let e=document.getElementById(Pn);return e||(e=document.createElement("aside"),e.id=Pn,e.setAttribute("role","complementary"),e.setAttribute("aria-label",am),(document.body||document.documentElement)?.appendChild(e),e)}function w1(e){$m();let t=ci(e);t?.hostSurfaceTarget&&(t.hostSurfaceTarget.setAttribute("data-rover-discovery-host","true"),t.hostSurfaceTarget.setAttribute("data-rover-discovery-mode",t.policy.mode),t.hostSurfaceTarget.setAttribute("data-rover-host-surface",t.policy.hostSurface),t.hostSurfaceTarget.setAttribute("data-rover-discovery-branding",t.policy.branding),t.hostSurfaceTarget.setAttribute("data-rover-current-page",t.page.pageId),t.hostSurfaceTarget.setAttribute("data-rover-capability-count",String(t.visibleCapabilities.length)))}function S1(e){if(typeof document>"u")return;if(!ku(e)){Wm();return}let t=ci(e);if(!t)return;let n=x1();if(!n)return;let r=t.policy.mode==="debug";if(n.hidden=!1,n.setAttribute("aria-label",lw(t.beaconLabel)),n.setAttribute("data-rover-debug",r?"true":"false"),n.setAttribute("data-rover-discovery-mode",t.policy.mode),n.setAttribute("data-rover-host-surface",t.policy.hostSurface),n.setAttribute("data-rover-current-page",t.page.pageId),!t.visibleCapabilities.length){n.innerHTML=[`<strong>${rr(t.beaconLabel)}</strong>`,'<div class="rover-discovery-summary">Rover is published on this page and ready through the A2W run protocol, page manifest, and semantic surface.</div>'].join("");return}let o=t.visibleCapabilities.slice(0,6).map(i=>{let a=String(i.description||"Rover action available on this page.").trim();return[`<li data-rover-capability-id="${rr(i.capabilityId)}">`,`<span class="rover-discovery-capability-label">${rr(i.label)}</span>`,r?`<code>${rr(i.capabilityId)}</code>`:"",`<span class="rover-discovery-capability-copy">${rr(a)}</span>`,"</li>"].join("")}).join("");n.innerHTML=[`<strong>${rr(t.beaconLabel)}</strong>`,`<div class="rover-discovery-summary">${rr(t.page.capabilitySummary?.length?t.page.capabilitySummary.join(" \u2022 "):"Current-page Rover actions are available.")}</div>`,`<ol>${o}</ol>`].join("")}function T1(e){if(typeof document>"u")return;let t=ci(e);if(!t||t.policy.mode==="silent"||t.integratedHost||t.policy.mode!=="debug"){Vm();return}let n=v1();n&&(n.innerHTML=`<span class="rover-discovery-mark" aria-hidden="true"><span></span><span></span><span></span></span><span class="rover-discovery-label">${rr(t.beaconLabel)}</span>`,n.setAttribute("aria-label",lw(t.beaconLabel)),n.setAttribute("aria-describedby",Pn),n.setAttribute("aria-haspopup",t.visibleCapabilities.length?"dialog":"false"),n.setAttribute("aria-expanded",vn?"true":"false"),n.setAttribute("aria-keyshortcuts",Ix),n.setAttribute("title",`${t.beaconLabel} (${Ix})`),n.setAttribute("data-rover-discovery-mode",t.policy.mode),n.setAttribute("data-rover-host-surface",t.policy.hostSurface),n.setAttribute("data-rover-branding",t.policy.branding),n.hidden=t.hidden,n.setAttribute("aria-hidden",t.hidden?"true":"false"))}function _1(e){if(typeof document>"u")return;let t=ci(e);if(!t||t.policy.mode==="silent"||t.integratedHost||t.policy.mode!=="debug"){document.getElementById(On)?.remove(),vn=!1;return}if(!(!t.hidden&&t.visibleCapabilities.length>0&&(vn||t.policy.actionReveal==="agent-handshake"&&t.agentModeActive))){document.getElementById(On)?.remove(),vn=!1;return}let r=k1();if(!r)return;let o=t.visibleCapabilities.slice(0,dc),i=t.visibleCapabilities.length>dc?"More actions":"Open Rover";r.hidden=!1,r.setAttribute("data-rover-discovery-mode",t.policy.mode),r.setAttribute("data-rover-current-page",t.page.pageId),r.innerHTML=[`<h2>${rr(t.beaconLabel)}</h2>`,`<p>${rr(t.page.capabilitySummary?.length?t.page.capabilitySummary.join(" \u2022 "):"Current-page Rover actions are available.")}</p>`,'<div class="rover-discovery-actions">',...o.map(a=>[`<button type="button" class="rover-discovery-action" data-rover-discovery-action="capability" data-rover-capability-id="${rr(a.capabilityId)}">`,rr(a.label),`<span class="rover-discovery-action-copy">${rr(String(a.description||"Open Rover on this action.").trim())}</span>`,"</button>"].join("")),`<button type="button" class="rover-discovery-action" data-rover-discovery-action="open">${rr(i)}</button>`,"</div>"].join("");for(let a of Array.from(r.querySelectorAll("[data-rover-discovery-action]")))a.addEventListener("click",()=>{if(si=!0,a.getAttribute("data-rover-discovery-action")==="capability"){let c=String(a.getAttribute("data-rover-capability-id")||"").trim(),d=ci(A)?.visibleCapabilities.find(m=>m.capabilityId===c);vn=!1,Nn(),d?.rover?.prompt?Er(d.rover.prompt,{reason:"agent_discovery_surface",routing:d.rover.routing==="act"||d.rover.routing==="planner"?d.rover.routing:"auto"}):d&&Cn("system",`Rover can help with "${d.label}" from this page. Continue in the assistant to execute it safely.`,!0),Gn(A);return}vn=!1,Nn(),Gn(A)})}function Gn(e){if(!ku(e)){au(),Vm(),Wm(),uw(),$m();return}jm(e),w1(e),T1(e),_1(e),S1(e)}function Oo(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function Xr(){return Oo("task-boundary")}function Bo(e){if(!e||typeof e!="object")return;let t=typeof e.handoffId=="string"?e.handoffId.trim():"",n=typeof e.targetUrl=="string"?e.targetUrl.trim():"";if(!t||!n)return;let r=Number(e.sourceLogicalTabId);return{handoffId:t,targetUrl:n,sourceLogicalTabId:Number.isFinite(r)&&r>0?r:void 0,runId:typeof e.runId=="string"&&e.runId.trim()?e.runId.trim():void 0,createdAt:Number(e.createdAt)||Date.now(),consumed:e.consumed===!0}}function fw(e){if(e)return{handoffId:e.handoffId,targetUrl:e.targetUrl,sourceLogicalTabId:e.sourceLogicalTabId,runId:e.runId,ts:e.createdAt}}function Qp(e){return{handoffId:e.handoffId,targetUrl:e.targetUrl,sourceLogicalTabId:e.sourceLogicalTabId,runId:e.runId,createdAt:Number(e.ts)||Date.now(),consumed:!1}}function Yi(e){let t=typeof e?.pendingRun?.taskBoundaryId=="string"?e.pendingRun.taskBoundaryId:void 0;if(t)return qe(t);let n=typeof e?.workerState?.taskBoundaryId=="string"?e.workerState.taskBoundaryId:void 0;if(n)return qe(n)}function E1(e){let t=Yi(e);return t||Xr()}function or(){return qe(Ve)||Yi(p)}function Ki(e){let t=ex({source:e.source,incomingBoundaryId:e.incomingBoundaryId,currentBoundaryId:or(),taskEpochAdvanced:e.taskEpochAdvanced,hasPendingRun:!!p?.pendingRun,taskStatus:p?.activeTask?.status,allowBootstrapAdoption:e.allowBootstrapAdoption});return t.accept?(t.adoptedBoundaryId&&(Ve=t.adoptedBoundaryId),!0):!1}function Km(e=12e4){let t=Bo(p?.lastNavigationHandoff);if(!t||t.consumed===!0)return;let n=Date.now()-Number(t.createdAt||0);if(!(!Number.isFinite(n)||n<-5e3||n>e))return t}function I1(e){if(!p||!kp(e.resumeReason))return!1;let t=Bo(p.lastNavigationHandoff);if(!t?.targetUrl)return!1;let n=Date.now()-Number(t.createdAt||0);return!Number.isFinite(n)||n<-5e3||n>12e4?!1:Op(t.targetUrl,window.location.href)}function A1(e){if(!so||!kp(e.resumeReason))return!1;let t=Bo(p?.lastNavigationHandoff);if(!t)return!1;let n=Date.now()-Number(t.createdAt||0);return Number.isFinite(n)&&n>=-5e3&&n<=ew}function us(e){let t=Ct(p?.pendingRun)?.taskBoundaryId;if(t){Ve=t;return}let n=kn(p?.workerState)?.taskBoundaryId;if(n){Ve=n;return}(!Ve||e?.rotateIfMissing)&&(Ve=Xr())}function R1(e){let t=`${dR}${e}`;try{let n=window.sessionStorage.getItem(t);if(n&&n.trim())return n.trim();let r=Oo("runtime");return window.sessionStorage.setItem(t,r),r}catch{return Oo("runtime")}}function $c(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}function Hd(e){return String(e||"").trim().replace(/[^a-zA-Z0-9._:-]/g,"").slice(0,180)}function pw(e){try{let t=document.cookie.match(new RegExp(`(?:^|; )${e}=([^;]*)`));return t?decodeURIComponent(t[1]||""):void 0}catch{return}}function Bx(e,t,n){try{let r=n?`; domain=${n}`:"";return document.cookie=`${e}=${encodeURIComponent(t)}; path=/; max-age=${vR}; samesite=lax${r}`,pw(e)===t}catch{return!1}}function C1(e){let t=String(e||"").trim().toLowerCase();if(!t||t==="localhost"||/^\d{1,3}(\.\d{1,3}){3}$/.test(t))return[];let n=t.split(".").filter(Boolean);if(n.length<2)return[];let r=[];for(let o=n.length-2;o>=0;o-=1)r.push(`.${n.slice(o).join(".")}`);return r}function M1(e,t){let n=`rover_vid_${$c(e)}`;for(let r of C1(window.location.hostname))if(Bx(n,t,r))return;Bx(n,t)}function jd(e,t){let n=`${Qx}${e}`;try{window.localStorage.setItem(n,t)}catch{}try{window.sessionStorage.setItem(n,t)}catch{}M1(e,t)}function mw(e,t){p&&(p.visitor=t,Ze());try{localStorage.setItem(`rover:visitor:${e}`,JSON.stringify(t))}catch{}}function N1(e){if(p?.visitor?.name||p?.visitor?.email)return p.visitor;try{let t=localStorage.getItem(`rover:visitor:${e}`);return t?JSON.parse(t):void 0}catch{return}}function hw(e){let t=Hd(e.visitorId||"");if(t)return t;if(e.checkpointing?.autoVisitorId===!1)return;let n=`${Qx}${e.siteId}`,r=`rover_vid_${$c(e.siteId)}`,o=Hd(pw(r)||"");if(o)return jd(e.siteId,o),o;try{let a=Hd(window.localStorage.getItem(n)||"");if(a)return jd(e.siteId,a),a}catch{}try{let a=Hd(window.sessionStorage.getItem(n)||"");if(a)return jd(e.siteId,a),a}catch{}let i=`v_${$c(`${e.siteId}:${Oo("visitor")}`)}_${Date.now().toString(36)}`;return jd(e.siteId,i),i}function Ux(e,t){return`visitor-${$c(`${e}:${t}`)}`}function Gm(e){!Rt||!lt||(Rt.registerTool(e.def,e.handler),lt.postMessage({type:"register_tool",tool:e.def}),jm(A))}function rs(e){return`${vu}${e}`}function Xd(e,t){let n=String(t||"").trim();return n?`${vu}${e}:${$c(n)}`:rs(e)}function ym(e){return`${vu}${e}:latest_key`}function L1(e){try{let t=String(sessionStorage.getItem(ym(e))||"").trim();return!t||!t.startsWith(vu)?void 0:t}catch{return}}function vm(e,t){if(e)try{if(!t){sessionStorage.removeItem(ym(e));return}sessionStorage.setItem(ym(e),t)}catch{}}function Xm(e){return`${LR}${e}`}function D1(e,t){try{sessionStorage.setItem(Xm(e),JSON.stringify(t))}catch{}}function P1(e){try{let t=Xm(e),n=sessionStorage.getItem(t);if(!n)return;sessionStorage.removeItem(t);let r=JSON.parse(n),o=Number(r?.ts)||0;return!r?.runId||!o||Date.now()-o>ew?void 0:{runId:String(r.runId),text:typeof r.text=="string"?r.text:void 0,taskBoundaryId:typeof r.taskBoundaryId=="string"&&r.taskBoundaryId.trim()?r.taskBoundaryId.trim():void 0,resumeReason:ic(r.resumeReason),handoffId:typeof r.handoffId=="string"?r.handoffId:void 0,openIntent:r.openIntent==="preserve_if_running"?"preserve_if_running":void 0,ts:o}}catch{return}}function gw(e){if(e)try{sessionStorage.removeItem(Xm(e))}catch{}}function Fx(e){let t=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():void 0,n=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():void 0;if(!t&&!n){ts=void 0;return}ts={runId:t,taskId:n,expiresAt:Date.now()+Math.max(1e3,Number(e?.ttlMs)||DR)}}function Ji(){ts=void 0}function Ym(e){let t=ts;if(!t)return!1;if(t.expiresAt<=Date.now())return ts=void 0,!1;let n=String(e?.activeTask?.status||"").trim();if(n&&n!=="running")return ts=void 0,!1;let r=String(t.runId||"").trim(),o=String(t.taskId||"").trim(),i=String(e?.pendingRun?.id||"").trim(),a=String(e?.activeTask?.taskId||"").trim();return!(r&&i&&r!==i&&(!o||!a||o!==a)||o&&a&&o!==a)}function Yc(e){e&&Ym(e)&&(e.uiHidden=!1,e.uiOpen=!0)}function Xn(e="session_start",t=Date.now(),n){return{taskId:n||Oo("task"),status:"running",startedAt:t,lastUserAt:void 0,lastAssistantAt:void 0,boundaryReason:e,endedAt:void 0}}function km(e,t){return{version:Pm,sessionId:e,runtimeId:t,uiOpen:!1,uiHidden:!1,uiStatus:void 0,transientStatus:void 0,uiMessages:[],timeline:[],executionMode:"controller",workerState:void 0,pendingRun:void 0,lastNavigationHandoff:void 0,taskEpoch:1,activeTask:Xn(),taskTabScope:void 0,lastRoutingDecision:void 0,launchBinding:void 0,updatedAt:Date.now(),tasks:{},activeTaskId:void 0,taskOrder:[]}}function en(e,t=fR){return e.length<=t?e:`${e.slice(0,t)}\u2026`}function bw(e){if(e!=null){if(typeof e=="string")return en(e,1200);try{return en(JSON.stringify(e),1200)}catch{try{return en(String(e),1200)}catch{return}}}}function xu(e){let t=e?.telemetry,n=Number(t?.sampleRate),r=Number.isFinite(n)?Math.min(1,Math.max(0,n)):1,o=Number(t?.flushIntervalMs),i=Number.isFinite(o)?Math.min(6e4,Math.max(2e3,Math.floor(o))):wR,a=Number(t?.maxBatchSize),s=Number.isFinite(a)?Math.min(80,Math.max(1,Math.floor(a))):SR;return{enabled:t?.enabled!==!1,sampleRate:r,flushIntervalMs:i,maxBatchSize:s,includePayloads:t?.includePayloads===!0}}function qc(e){return e==="host_only"?"host_only":"registrable_domain"}function Jc(e,t){return e==="observer"?"This tab is in observer mode because another tab currently holds Rover action control.":t?"Controller tab ready for actions.":"Actions are disabled by configuration (allowActions=false)."}function Jm(e){return e==="auto"||e==="confirm"||e==="never"?e:"confirm"}function yw(e){return"host_session"}function vw(e){return"task_touched_only"}function Qm(e){return"crash_only"}function su(e){let t=Number(e);return Number.isFinite(t)?Math.max(6e4,Math.min(30*6e4,Math.floor(t))):mR}function Zm(e){return"read_only"}function kw(e){return"heuristic_same_window"}function eh(e){let t=Number(e);return Number.isFinite(t)?Math.max(1e4,Math.min(10*6e4,Math.floor(t))):gR}function th(e){let t=Number(e);return Number.isFinite(t)?Math.max(.05,Math.min(.9,t)):bR}function xw(e){return"empty"}function ww(e){return"deterministic_cues"}function Sw(e){let t=Number(e);return Number.isFinite(t)?Math.max(1,Math.min(4,Math.floor(t))):hR}function Tw(e){return"auto"}function _w(e){return!1}function Ew(e){return"pre_tool_block"}function O1(){return kx({pendingRunText:p?.pendingRun?.text,activeRunText:j?.getState()?.activeRun?.text,rootWorkerInput:p?.workerState?.rootUserInput,lastUserInputText:Mn,fallback:"navigation request"})}function Iw(e){return e!==!1}function yn(e,t,n){let r=Number(e);if(Number.isFinite(r))return Math.max(t,Math.min(n,Math.floor(r)))}function nh(e){return"on_demand"}function rh(e){let t=Number(e);return Number.isFinite(t)?Math.max(5e3,Math.min(12e4,Math.floor(t))):gb.idleCloseMs}function fs(e,t){let n=Number(e);return Number.isFinite(n)?Math.max(32768,Math.min(2097152,Math.floor(n))):t}function oh(e){return!(!e||!xu(e).enabled||!Fn(e))}function zx(e){if(e!=null){if(typeof e=="string")return en(e,260);if(typeof e=="number"||typeof e=="boolean")return e;if(Array.isArray(e))return{type:"array",length:e.length};if(typeof e=="object"){let n={type:"object",keys:Object.keys(e).slice(0,20)},r=["code","message","stage","status","reason","taskId","runId","policyAction"];for(let o of r){let i=e?.[o];i!=null&&(typeof i=="string"?n[o]=en(i,180):(typeof i=="number"||typeof i=="boolean")&&(n[o]=i))}return n}}}function B1(e,t){if(!t)return zx(e);let n=sh(e);if(n!=null)return typeof n=="string"?en(n,1e3):typeof n=="number"||typeof n=="boolean"?n:Array.isArray(n)?{type:"array",length:n.length}:typeof n=="object"?n:zx(e)}function ih(){qd&&(clearInterval(qd),qd=null),Do&&(clearTimeout(Do),Do=null),Rc=!1}function U1(e){return`${kd(e.apiBase)}/telemetry/ingest`}function cu(e){let t=e||A,n=String(t?.publicKey||"").trim();if(n.startsWith("pk_site_"))return n;let r=String(t?.authToken||"").trim();return r.startsWith("pk_site_")?r:""}function Fn(e){if(Rn&&uo>Date.now()+2e3)return Rn;try{let r=A?.siteId||e?.siteId||"";if(r){let o=sessionStorage.getItem(`rover:sess:${r}`);if(o){let{t:i,e:a}=JSON.parse(o);if(i&&typeof i=="string"&&i.startsWith("rvrsess_")&&Number(a)>Date.now()+2e3)return Rn=i,uo=Number(a),i}}}catch{}let t=e||A,n=String(t?.sessionToken||t?.authToken||"").trim();return n.startsWith("rvrsess_")?n:""}function lu(e,t){let n=String(e||"").trim();Rn=n||void 0,uo=Number(t)>0?Number(t):0;try{let r=A?.siteId||"";n&&uo>Date.now()?sessionStorage.setItem(`rover:sess:${r}`,JSON.stringify({t:n,e:uo})):sessionStorage.removeItem(`rover:sess:${r}`)}catch{}}function F1(e){try{let t=String(e||"").replace(/-/g,"+").replace(/_/g,"/"),n=t+"=".repeat((4-(t.length%4||4))%4);if(typeof atob=="function"){let r=atob(n),o=Uint8Array.from(r,i=>i.charCodeAt(0));return new TextDecoder().decode(o)}}catch{}return""}function z1(e){let t=String(e||"").trim();if(!t.startsWith("rvrsess_"))return null;let n=t.slice(8),r=n.lastIndexOf(".");if(r<=0)return null;let o=F1(n.slice(0,r));if(!o)return null;try{let i=JSON.parse(o),a=String(i.agentKey||"").trim(),s=String(i.agentName||"").trim()||void 0,c=String(i.agentVendor||"").trim()||void 0,l=String(i.agentModel||"").trim()||void 0,d=String(i.agentTrust||"").trim(),m=String(i.agentSource||"").trim(),f=String(i.agentMemoryKey||"").trim()||void 0,u=String(i.launchSource||"").trim();return!a&&!s&&!c&&!l?null:{agentKey:a||f||c||s||"anonymous",agentName:s,agentVendor:c,agentModel:l,agentTrust:d==="verified_signed"||d==="signed_directory_only"||d==="self_reported"||d==="heuristic"||d==="anonymous"?d:d==="verified"?"verified_signed":void 0,agentSource:m==="public_run_agent"||m==="handoff_agent"||m==="webmcp_agent"||m==="signature_agent"||m==="user_agent"||m==="owner_resolver"||m==="anonymous"?m:void 0,agentMemoryKey:f,launchSource:u==="public_run_api"||u==="delegated_handoff"||u==="webmcp"||u==="embedded_widget"?u:void 0}}catch{return null}}function H1(e){if(!e||!A)return;let t=e.cloudSandboxEnabled===!0||e.enableExternalWebContext===!0&&e.externalScrapeMode==="on_demand";e.domainScopeMode&&(A.domainScopeMode=qc(e.domainScopeMode)),A.tools||(A.tools={}),A.tools.web||(A.tools.web={}),A.tools.web.enableExternalWebContext=t?!0:e.enableExternalWebContext??A.tools.web.enableExternalWebContext,A.tools.web.scrapeMode=t?"on_demand":e.externalScrapeMode??A.tools.web.scrapeMode,Array.isArray(e.externalAllowDomains)&&(A.tools.web.allowDomains=e.externalAllowDomains),Array.isArray(e.externalDenyDomains)&&(A.tools.web.denyDomains=e.externalDenyDomains),typeof e.uiMascotSoundEnabled=="boolean"&&(A.ui||(A.ui={}),A.ui.mascot||(A.ui.mascot={}),A.ui.mascot.soundEnabled=e.uiMascotSoundEnabled),typeof e.uiMuted=="boolean"&&(A.ui||(A.ui={}),A.ui.muted=e.uiMuted)}function xm(e){if(!p||!e)return;No=Math.max(1,Number(e.epoch||No));let t=typeof e.activeRunId=="string"?e.activeRunId:"",n=String(e.runStatus||"").trim().toLowerCase();ax({serverRunId:t,runStatus:n,ignoredRunIds:_r})&&li(t,"projection_ignored_active_run",{attemptImmediately:!0}),ii(t||void 0);let r=p.pendingRun,o=r?.id||"";!t&&o?(n==="completed"||n==="cancelled"||n==="failed"||n==="ended"||p.activeTask?.status!=="running")&&(fi(o),Zt(void 0),j?.setActiveRun(void 0)):t&&!ho()&&Qc(Ft)!=="observer"&&ix({serverRunId:t,localPendingRunId:o,localPendingTaskBoundaryId:r?.taskBoundaryId,currentTaskBoundaryId:Ve,taskStatus:p.activeTask?.status,ignoredRunIds:_r})?Zt({id:t,text:r?.text||"",startedAt:r?.startedAt||Date.now(),attempts:r?.attempts||0,autoResume:!0,taskBoundaryId:r?.taskBoundaryId||Ve,resumeRequired:r?.resumeRequired===!0,resumeReason:r?.resumeReason}):t&&_r.has(t)&&o===t&&(j?.releaseWorkflowLock(t),Zt(void 0),j?.setActiveRun(void 0));let i=String(e.snapshotMeta?.digest||"").trim()||(Number.isFinite(Number(e.snapshotMeta?.updatedAt))?`u:${Math.max(0,Number(e.snapshotMeta?.updatedAt||0))}`:Number.isFinite(Number(e.snapshotUpdatedAt))?`u:${Math.max(0,Number(e.snapshotUpdatedAt||0))}`:""),a=i?`${e.sessionId}:${i}`:"";if(e.snapshot&&typeof e.snapshot=="object"&&(!a||a!==zc)){let c=e.snapshot?.runtimeState,l=e.snapshot?.sharedState;if(c&&typeof c=="object"){ss=!0;try{t0({version:Zx,siteId:A?.siteId||p.sessionId,visitorId:Yt||"server_projection",sessionId:p.sessionId,updatedAt:Number(e.snapshot?.updatedAt)||Date.now(),runtimeState:c,sharedState:l})}finally{ss=!1}a&&(zc=a)}}let s=String(p?.pendingRun?.id||"").trim();s&&_r.has(s)&&(j?.releaseWorkflowLock(s),Zt(void 0),j?.setActiveRun(void 0)),du()}async function mo(e){if(!(!p||!e.apiBase&&!e.publicKey&&!e.authToken&&!e.sessionToken||!cu(e)&&!Rn)){Ae?Ae.setApiBase(e.apiBase):Ae=new wd({apiBase:e.apiBase,siteId:e.siteId,getSessionId:()=>p?.sessionId,getBootstrapToken:()=>cu(A),getHost:()=>window.location.hostname,getPageUrl:()=>window.location.href,getTaskBoundaryId:()=>Ve,shouldKeepTransportActive:()=>!Qi(),onSession:n=>{if(lu(n.sessionToken,n.sessionTokenExpiresAt),jr&&j?.broadcastSessionToken(n.sessionToken||"",n.sessionTokenExpiresAt||0),No=Math.max(1,Number(n.epoch||No)),p&&n.sessionId&&p.sessionId!==n.sessionId&&(p.sessionId=n.sessionId,zc="",Ze()),H1(n.policy),n.siteConfig&&typeof n.siteConfig=="object"&&A){let r={shortcuts:ui(n.siteConfig.shortcuts),businessType:sl(n.siteConfig.businessType),experience:Gi(n.siteConfig.experience),greeting:na(n.siteConfig.greeting),voice:gs(n.siteConfig.voice),aiAccess:bs(n.siteConfig.aiAccess),limits:Iu(n.siteConfig.limits),pageConfig:Po(n.siteConfig.pageConfig),agentDiscovery:Na(n.siteConfig.agentDiscovery),version:n.siteConfig.version!=null?String(n.siteConfig.version):void 0};Sn=r,r0(A.siteId,r),gu(A)}n.projection&&xm(n.projection),lt&<.postMessage({type:"update_config",config:{...ta(),pageConfig:Wc(A),publicKey:void 0,sessionToken:Rn,authToken:Fn(A),sessionId:p?.sessionId,activeRunId:p?.pendingRun?.id,sessionEpoch:Ae?.getEpoch?.()??No,sessionSeq:Ae?.getLastSeq?.()??0}}),Rt&&Rt.setNavigationPolicy({allowedDomains:A?.allowedDomains,domainScopeMode:A?.domainScopeMode}),A&&(mh(A),wu(A)),ls=!0,fo(),du()},onProjection:n=>{xm(n),jr&&j?.broadcastProjection(n),du(),lt&<.postMessage({type:"update_config",config:{...ta(),pageConfig:Wc(A),sessionToken:Rn,authToken:Fn(A),sessionId:p?.sessionId,activeRunId:p?.pendingRun?.id,sessionEpoch:Ae?.getEpoch?.()??No,sessionSeq:Ae?.getLastSeq?.()??0}})},onError:n=>{ot("error",{message:n?.message||"server runtime sync failed",scope:"server_runtime"})}});try{await Ae.start()}catch(n){A?.apiMode!==!1&&bt("error",{message:n?.message||"server runtime sync failed",scope:"server_runtime_start"})}}}async function ji(e=!1){if(Vd||Ya)return;if(!A||!oh(A)){nr=[];return}if(!e&&Qi()||!nr.length)return;let t=xu(A),n=Fn(A);if(!n)return;let r=nr.splice(0,t.maxBatchSize);if(r.length){Vd=!0,ru=Date.now();try{let o=await fetch(U1(A),{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify({sessionToken:n,sessionId:p?.sessionId,runId:p?.pendingRun?.id,siteId:A.siteId,runtimeId:It,visitorId:Yt,flushReason:e?"manual":"interval",sdkVersion:"rover_sdk_v1",pageUrl:window.location.href,userAgent:navigator.userAgent,sampleRate:t.sampleRate,events:r})});if(!o.ok){o.status===401||o.status===403?Ya=!0:nr=[...r,...nr].slice(-eu);return}let i=await o.json().catch(()=>{});if(i?.success===!1){let a=String(i?.errorCode||i?.errorDetails?.code||"").toUpperCase();(a==="INVALID_API_KEY"||a==="MISSING_API_KEY"||a==="UNAUTHENTICATED"||a==="PERMISSION_DENIED")&&(Ya=!0);return}}catch{nr=[...r,...nr].slice(-eu)}finally{Vd=!1}}}function wu(e){if(ih(),Ya=!1,!oh(e)){nr=[];return}let t=xu(e);qd=setInterval(()=>{ji(!1)},t.flushIntervalMs)}function ot(e,t){if(!oh(A)||Ya||Qi()&&!o1.has(e))return;let n=xu(A);if(n.sampleRate<1&&Math.random()>n.sampleRate)return;let r=Date.now();if(e==="status"){if(!String(t?.event||"").trim().startsWith("deep_link_")){if(r-sm<n1)return;sm=r}}else if(e==="checkpoint_state"){if(r-cm<r1)return;cm=r}let o={name:e,ts:r,seq:++tw,payload:B1(t,n.includePayloads)};if(nr.push(o),nr.length>eu&&(nr=nr.slice(-eu)),nw.has(e)){let a=Date.now()-ru;if(a>=Dx){ji(!1);return}Do||(Do=setTimeout(()=>{Do=null,ji(!1)},Dx-a));return}if(nr.length>=n.maxBatchSize){let a=Date.now()-ru;a>=Lx?ji(!1):Rc||(Rc=!0,setTimeout(()=>{Rc=!1,ji(!1)},Lx-a))}}function j1(e,t){ot(e,t)}function Aw(e){if(e==="analyze"||e==="route"||e==="execute"||e==="verify"||e==="complete")return e}function $1(e){return e?e==="analyze"?"Analyze":e==="route"?"Route":e==="execute"?"Execute":e==="verify"?"Verify":e==="complete"?"Complete":"Status":"Status"}function q1(e,t,n){return[String(t||""),String(e||"").trim().toLowerCase(),String(n||"").trim().toLowerCase()].join("|")}function V1(e,t){if(!e)return!0;let n=e.trim();return!!(t&&n.toLowerCase()===t.trim().toLowerCase()||/^complexity score\b/i.test(n)||/\btool loop$/i.test(n)||/^calling \w[\w\s]*(workflow|sub-agent)$/i.test(n))}function W1(){return p?.pendingRun?.id}function ii(e){Xc=String(e||"").trim()||void 0}function Hx(){let e=p?.pendingRun?.id;if(!e)return;if(!Ae)return e;let t=Ae.getActiveRunId(),n=String(t||Xc||"").trim();if(n)return n===e?e:void 0}function fi(e){e&&(_r.add(e),u1(_r,c1))}function wm(e){e&&_r.delete(e)}function Sm(e){let t=Math.max(0,Math.floor(e)),n=Bc*2**t;return Math.max(120,Math.min(FR,n))}function K1(){if(!Bn.size)return null;let e=Number.POSITIVE_INFINITY;for(let t of Bn.values())e=Math.min(e,Number(t.nextAttemptAt)||Number.POSITIVE_INFINITY);return Number.isFinite(e)?Math.max(120,Math.floor(e-Date.now())):null}function Tm(e=Bc){Jo&&(clearTimeout(Jo),Jo=null);let t=Math.max(80,Math.floor(e));Jo=setTimeout(()=>{Jo=null,du()},t)}function li(e,t="local_run_abandoned",n){let r=String(e||"").trim();if(!r)return;let o=Date.now(),i=Bn.get(r),a=n?.attemptImmediately===!0?o:i?.nextAttemptAt&&i.nextAttemptAt>o?i.nextAttemptAt:o+Sm(i?.attempts||0);for(Bn.set(r,{runId:r,reason:String(t||i?.reason||"local_run_abandoned").trim()||"local_run_abandoned",attempts:i?.attempts||0,nextAttemptAt:a,createdAt:i?.createdAt||o,lastError:i?.lastError});Bn.size>HR;){let s=Array.from(Bn.values()).sort((c,l)=>Number(c.createdAt)-Number(l.createdAt))[0];if(!s?.runId)break;Bn.delete(s.runId)}Tm(n?.attemptImmediately?50:Bc)}async function du(){if(Wd||!Bn.size)return;if(!(!!Ae&&!!ls&&!!Fn(A))){Tm(Bc);return}Wd=!0;try{let t=Date.now(),n=Array.from(Bn.values()).sort((r,o)=>Number(r.nextAttemptAt)-Number(o.nextAttemptAt));for(let r of n){if(r.nextAttemptAt>t)break;if(!Bn.has(r.runId))continue;if(uh(r.runId)){Bn.set(r.runId,{...r,nextAttemptAt:Date.now()+Sm(Math.max(1,r.attempts))});continue}let o=Ae;if(!o){Bn.set(r.runId,{...r,nextAttemptAt:Date.now()+Bc});continue}try{if(await o.controlRun({action:"cancel",runId:r.runId,reason:r.reason})){Bn.delete(r.runId);continue}throw new Error("cancel_control_no_response")}catch(i){let a=Math.max(0,Number(r.attempts||0))+1;if(a>=zR){Bn.delete(r.runId),bt("error",{message:`Failed to cancel stale run ${r.runId} after retries.`,scope:"run_cancel_repair",code:"RUN_CANCEL_REPAIR_FAILED",runId:r.runId});continue}Bn.set(r.runId,{...r,attempts:a,lastError:String(i?.message||"cancel_control_failed"),nextAttemptAt:Date.now()+Sm(a)})}}}finally{Wd=!1;let t=K1();t!=null&&Tm(t)}}function Yo(){return p?.activeTask?.status==="running"}function Rw(){Jt&&(Yo()||_m()?Jt.enterActiveMode():Jt.enterIdleMode())}function G1(){return typeof document<"u"&&document.visibilityState==="hidden"}function _m(){return!!p?.pendingRun?.id}function X1(){let e=j?.getState()?.activeRun;if(!e)return!1;if(e.runtimeId)return e.runtimeId===It;let t=String(p?.pendingRun?.id||"").trim();return!!(t&&e.runId===t)}function Y1(){let e=j?.getWorkflowLockInfo();return!!(e?.locked&&e.holderRuntimeId===It)}function Cw(){return j?Y1()||X1()?!0:_m()&&!ho():Yo()||_m()}function J1(){return nh(A?.transport?.activation)!=="on_demand"?!0:!!(p?.uiOpen||Cw()||Mw()||Nw())}function Qi(){if(!jr)return!0;if(J1())Ic=0;else{let t=rh(A?.transport?.idleCloseMs);return Ic<=0&&(Ic=Date.now()+t),!(Date.now()<Ic)}return G1()?!Cw()&&!p?.uiOpen:!1}function Yr(e=!1){if(typeof window>"u")return;let t=Qi();if(!(!e&&ou===t)){ou=t;try{let n=window.rtrvrAISetObserverPaused;typeof n=="function"&&n(t)}catch{}}}function Mw(){let e=j?.getState()?.activeRun;return!!(e&&e.runtimeId&&e.runtimeId!==It)}function Nw(){let e=j;if(!e?.isWorkflowLocked())return!1;let t=e.getWorkflowLockInfo();if(!t.locked||!t.holderRuntimeId||t.holderRuntimeId===It)return!1;let n=e.listTabs({scope:"all"}).find(r=>r.runtimeId===t.holderRuntimeId);return n?Number(n.updatedAt)>Date.now()-5e3:!1}function ho(){return Nw()}function Qc(e){return ho()?"observer":e==="observer"?"controller":e}function Lw(){return Zm(A?.task?.observerInput)==="read_only"?!ho():!Mw()}function Dw(e){if(e==="observer")return ho()?"Observing active run in another tab...":"Send to take control and run here."}function Q1(){if(!j)return!1;let e=j.getState(),t=e?.activeRun,n=String(t?.runId||"").trim(),r=String(t?.text||"").trim();if(!j.requestControl())return!1;if(!n)return!0;if(!j.acquireWorkflowLock(n,{force:!0}))return!1;if(!p)return!0;let a=qr(kn(e?.workerContext),or());return a&&(p.workerState=a,us(),j.setWorkerContext(el(p.workerState)),Ar&<&&(Ir(),lt.postMessage({type:"hydrate_state",state:p.workerState}),bt("context_restored",{source:"controller_handoff",ts:Date.now()}))),e?.task&&(p.activeTask=Hw(e.task,p.activeTask||Xn("handoff"))),p.uiHidden=!1,p.uiOpen=!0,(r||n)&&(Zt(Ct({id:n,text:r||p.pendingRun?.text||Mn||"Continue task",startedAt:t?.startedAt||p.pendingRun?.startedAt||Date.now(),attempts:p.pendingRun?.id===n&&p.pendingRun.attempts||0,autoResume:!0,taskBoundaryId:p.pendingRun?.taskBoundaryId||p.workerState?.taskBoundaryId||Ve,resumeRequired:!0,resumeReason:"handoff"})),j.setActiveRun({runId:n,text:r||p.pendingRun?.text||"Continue task"})),Ze(),fo({overridePolicyAction:"auto_resume"}),!0}function Z1(e){let t=typeof e?.type=="string"?e.type:"";if(!f1.has(t))return!1;let n=typeof e?.runId=="string"&&e.runId?e.runId:void 0,r=typeof e?.runBoundaryId=="string"&&e.runBoundaryId?e.runBoundaryId:typeof e?.taskBoundaryId=="string"&&e.taskBoundaryId?e.taskBoundaryId:void 0,o=String(Ae?.getActiveRunId()||Xc||"").trim()||void 0;return sx({type:t,messageRunId:n,messageTaskBoundaryId:r,currentTaskBoundaryId:or(),pendingRunId:W1(),sharedActiveRunId:j?.getState()?.activeRun?.runId,authoritativeActiveRunId:o,taskStatus:p?.activeTask?.status,ignoredRunIds:_r})}function Vr(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r=0;r<e.length;r+=1){let o=e[r];if(!o||typeof o!="object")continue;let i=String(o.key||o.id||"").trim()||`clarification_${r+1}`,a=String(o.query||o.question||"").trim();if(!a)continue;let s=typeof o.required=="boolean",c=typeof o.optional=="boolean",l=s?!!o.required:c?!o.optional:!0,d=`${i}::${a}`.toLowerCase();if(n.has(d))continue;n.add(d);let m={key:i,query:a,...typeof o.id=="string"&&o.id.trim()?{id:o.id.trim()}:{},...typeof o.question=="string"&&o.question.trim()?{question:o.question.trim()}:{},...Array.isArray(o.choices)?{choices:o.choices}:{}};l||(m.required=!1),t.push(m)}return t.slice(0,6)}function eC(e,t){let n=String(e||"").trim();if(n)return n;if(!t||typeof t!="object")return"";let r=t.answersByKey&&typeof t.answersByKey=="object"?t.answersByKey:{},o=Vr(p?.workerState?.pendingAskUser?.questions),a=(Array.isArray(t.keys)?t.keys:[]).map(l=>String(l||"").trim()).filter(Boolean);if(a.length===0)for(let l of o){let d=String(l.key||"").trim();d&&a.push(d)}if(a.length===0)for(let l of Object.keys(r)){let d=String(l||"").trim();d&&a.push(d)}let s=[],c=new Set;for(let l of a){let d=String(l||"").trim();if(!d||c.has(d))continue;c.add(d);let m=String(r[d]||"").trim();s.push(`${d}: ${m||"(no answer provided)"}`)}return s.length>0?s.join(`
|
|
4592
|
-
`):String(t.rawText||"").trim()}function
|
|
4591
|
+
`,(document.head||document.documentElement)?.appendChild(o)}function Km(){typeof document>"u"||(document.getElementById(qn)?.remove(),document.getElementById(On)?.remove(),kn=!1)}function Gm(){typeof document>"u"||document.getElementById(Pn)?.remove()}function fw(){typeof document>"u"||document.getElementById(sm)?.remove()}function k1(){if(typeof document>"u")return null;uw(),Wm();let e=document.getElementById(qn);return e||(e=document.createElement("button"),e.id=qn,e.type="button",e.setAttribute("data-rover-discovery-cue","true"),e.addEventListener("click",()=>{let t=di(A);if(t){if(li=!0,!t.visibleCapabilities.length||t.policy.mode==="debug"){kn=!1,Nn();return}kn=!kn,Gn(A)}}),e.addEventListener("focus",()=>{let t=di(A);!t||t.policy.actionReveal!=="focus"||t.hidden||(li=!0,kn=!0,Gn(A))}),(document.body||document.documentElement)?.appendChild(e),e)}function x1(){if(typeof document>"u")return null;uw(),Wm();let e=document.getElementById(On);return e||(e=document.createElement("section"),e.id=On,e.setAttribute("role","dialog"),e.setAttribute("aria-modal","false"),e.setAttribute("aria-label","Rover actions"),e.hidden=!0,(document.body||document.documentElement)?.appendChild(e),e)}function w1(){if(typeof document>"u")return null;Wm();let e=document.getElementById(Pn);return e||(e=document.createElement("aside"),e.id=Pn,e.setAttribute("role","complementary"),e.setAttribute("aria-label",cm),(document.body||document.documentElement)?.appendChild(e),e)}function S1(e){Vm();let t=di(e);t?.hostSurfaceTarget&&(t.hostSurfaceTarget.setAttribute("data-rover-discovery-host","true"),t.hostSurfaceTarget.setAttribute("data-rover-discovery-mode",t.policy.mode),t.hostSurfaceTarget.setAttribute("data-rover-host-surface",t.policy.hostSurface),t.hostSurfaceTarget.setAttribute("data-rover-discovery-branding",t.policy.branding),t.hostSurfaceTarget.setAttribute("data-rover-current-page",t.page.pageId),t.hostSurfaceTarget.setAttribute("data-rover-capability-count",String(t.visibleCapabilities.length)))}function T1(e){if(typeof document>"u")return;if(!wu(e)){Gm();return}let t=di(e);if(!t)return;let n=w1();if(!n)return;let r=t.policy.mode==="debug";if(n.hidden=!1,n.setAttribute("aria-label",dw(t.beaconLabel)),n.setAttribute("data-rover-debug",r?"true":"false"),n.setAttribute("data-rover-discovery-mode",t.policy.mode),n.setAttribute("data-rover-host-surface",t.policy.hostSurface),n.setAttribute("data-rover-current-page",t.page.pageId),!t.visibleCapabilities.length){n.innerHTML=[`<strong>${rr(t.beaconLabel)}</strong>`,'<div class="rover-discovery-summary">Rover is published on this page and ready through the A2W run protocol, page manifest, and semantic surface.</div>'].join("");return}let o=t.visibleCapabilities.slice(0,6).map(i=>{let a=String(i.description||"Rover action available on this page.").trim();return[`<li data-rover-capability-id="${rr(i.capabilityId)}">`,`<span class="rover-discovery-capability-label">${rr(i.label)}</span>`,r?`<code>${rr(i.capabilityId)}</code>`:"",`<span class="rover-discovery-capability-copy">${rr(a)}</span>`,"</li>"].join("")}).join("");n.innerHTML=[`<strong>${rr(t.beaconLabel)}</strong>`,`<div class="rover-discovery-summary">${rr(t.page.capabilitySummary?.length?t.page.capabilitySummary.join(" \u2022 "):"Current-page Rover actions are available.")}</div>`,`<ol>${o}</ol>`].join("")}function _1(e){if(typeof document>"u")return;let t=di(e);if(!t||t.policy.mode==="silent"||t.integratedHost||t.policy.mode!=="debug"){Km();return}let n=k1();n&&(n.innerHTML=`<span class="rover-discovery-mark" aria-hidden="true"><span></span><span></span><span></span></span><span class="rover-discovery-label">${rr(t.beaconLabel)}</span>`,n.setAttribute("aria-label",dw(t.beaconLabel)),n.setAttribute("aria-describedby",Pn),n.setAttribute("aria-haspopup",t.visibleCapabilities.length?"dialog":"false"),n.setAttribute("aria-expanded",kn?"true":"false"),n.setAttribute("aria-keyshortcuts",Ax),n.setAttribute("title",`${t.beaconLabel} (${Ax})`),n.setAttribute("data-rover-discovery-mode",t.policy.mode),n.setAttribute("data-rover-host-surface",t.policy.hostSurface),n.setAttribute("data-rover-branding",t.policy.branding),n.hidden=t.hidden,n.setAttribute("aria-hidden",t.hidden?"true":"false"))}function E1(e){if(typeof document>"u")return;let t=di(e);if(!t||t.policy.mode==="silent"||t.integratedHost||t.policy.mode!=="debug"){document.getElementById(On)?.remove(),kn=!1;return}if(!(!t.hidden&&t.visibleCapabilities.length>0&&(kn||t.policy.actionReveal==="agent-handshake"&&t.agentModeActive))){document.getElementById(On)?.remove(),kn=!1;return}let r=x1();if(!r)return;let o=t.visibleCapabilities.slice(0,fc),i=t.visibleCapabilities.length>fc?"More actions":"Open Rover";r.hidden=!1,r.setAttribute("data-rover-discovery-mode",t.policy.mode),r.setAttribute("data-rover-current-page",t.page.pageId),r.innerHTML=[`<h2>${rr(t.beaconLabel)}</h2>`,`<p>${rr(t.page.capabilitySummary?.length?t.page.capabilitySummary.join(" \u2022 "):"Current-page Rover actions are available.")}</p>`,'<div class="rover-discovery-actions">',...o.map(a=>[`<button type="button" class="rover-discovery-action" data-rover-discovery-action="capability" data-rover-capability-id="${rr(a.capabilityId)}">`,rr(a.label),`<span class="rover-discovery-action-copy">${rr(String(a.description||"Open Rover on this action.").trim())}</span>`,"</button>"].join("")),`<button type="button" class="rover-discovery-action" data-rover-discovery-action="open">${rr(i)}</button>`,"</div>"].join("");for(let a of Array.from(r.querySelectorAll("[data-rover-discovery-action]")))a.addEventListener("click",()=>{if(li=!0,a.getAttribute("data-rover-discovery-action")==="capability"){let c=String(a.getAttribute("data-rover-capability-id")||"").trim(),d=di(A)?.visibleCapabilities.find(m=>m.capabilityId===c);kn=!1,Nn(),d?.rover?.prompt?Er(d.rover.prompt,{reason:"agent_discovery_surface",routing:d.rover.routing==="act"||d.rover.routing==="planner"?d.rover.routing:"auto"}):d&&Cn("system",`Rover can help with "${d.label}" from this page. Continue in the assistant to execute it safely.`,!0),Gn(A);return}kn=!1,Nn(),Gn(A)})}function Gn(e){if(!wu(e)){cu(),Km(),Gm(),fw(),Vm();return}qm(e),S1(e),_1(e),E1(e),T1(e)}function Oo(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.floor(Math.random()*1e5)}`}}function Xr(){return Oo("task-boundary")}function Uo(e){if(!e||typeof e!="object")return;let t=typeof e.handoffId=="string"?e.handoffId.trim():"",n=typeof e.targetUrl=="string"?e.targetUrl.trim():"";if(!t||!n)return;let r=Number(e.sourceLogicalTabId);return{handoffId:t,targetUrl:n,sourceLogicalTabId:Number.isFinite(r)&&r>0?r:void 0,runId:typeof e.runId=="string"&&e.runId.trim()?e.runId.trim():void 0,createdAt:Number(e.createdAt)||Date.now(),consumed:e.consumed===!0}}function pw(e){if(e)return{handoffId:e.handoffId,targetUrl:e.targetUrl,sourceLogicalTabId:e.sourceLogicalTabId,runId:e.runId,ts:e.createdAt}}function em(e){return{handoffId:e.handoffId,targetUrl:e.targetUrl,sourceLogicalTabId:e.sourceLogicalTabId,runId:e.runId,createdAt:Number(e.ts)||Date.now(),consumed:!1}}function Zi(e){let t=typeof e?.pendingRun?.taskBoundaryId=="string"?e.pendingRun.taskBoundaryId:void 0;if(t)return qe(t);let n=typeof e?.workerState?.taskBoundaryId=="string"?e.workerState.taskBoundaryId:void 0;if(n)return qe(n)}function I1(e){let t=Zi(e);return t||Xr()}function or(){return qe(Ve)||Zi(p)}function Ji(e){let t=tx({source:e.source,incomingBoundaryId:e.incomingBoundaryId,currentBoundaryId:or(),taskEpochAdvanced:e.taskEpochAdvanced,hasPendingRun:!!p?.pendingRun,taskStatus:p?.activeTask?.status,allowBootstrapAdoption:e.allowBootstrapAdoption});return t.accept?(t.adoptedBoundaryId&&(Ve=t.adoptedBoundaryId),!0):!1}function Xm(e=12e4){let t=Uo(p?.lastNavigationHandoff);if(!t||t.consumed===!0)return;let n=Date.now()-Number(t.createdAt||0);if(!(!Number.isFinite(n)||n<-5e3||n>e))return t}function A1(e){if(!p||!wp(e.resumeReason))return!1;let t=Uo(p.lastNavigationHandoff);if(!t?.targetUrl)return!1;let n=Date.now()-Number(t.createdAt||0);return!Number.isFinite(n)||n<-5e3||n>12e4?!1:Up(t.targetUrl,window.location.href)}function R1(e){if(!so||!wp(e.resumeReason))return!1;let t=Uo(p?.lastNavigationHandoff);if(!t)return!1;let n=Date.now()-Number(t.createdAt||0);return Number.isFinite(n)&&n>=-5e3&&n<=tw}function ms(e){let t=Ct(p?.pendingRun)?.taskBoundaryId;if(t){Ve=t;return}let n=xn(p?.workerState)?.taskBoundaryId;if(n){Ve=n;return}(!Ve||e?.rotateIfMissing)&&(Ve=Xr())}function C1(e){let t=`${uR}${e}`;try{let n=window.sessionStorage.getItem(t);if(n&&n.trim())return n.trim();let r=Oo("runtime");return window.sessionStorage.setItem(t,r),r}catch{return Oo("runtime")}}function Vc(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}function $d(e){return String(e||"").trim().replace(/[^a-zA-Z0-9._:-]/g,"").slice(0,180)}function mw(e){try{let t=document.cookie.match(new RegExp(`(?:^|; )${e}=([^;]*)`));return t?decodeURIComponent(t[1]||""):void 0}catch{return}}function Ux(e,t,n){try{let r=n?`; domain=${n}`:"";return document.cookie=`${e}=${encodeURIComponent(t)}; path=/; max-age=${kR}; samesite=lax${r}`,mw(e)===t}catch{return!1}}function M1(e){let t=String(e||"").trim().toLowerCase();if(!t||t==="localhost"||/^\d{1,3}(\.\d{1,3}){3}$/.test(t))return[];let n=t.split(".").filter(Boolean);if(n.length<2)return[];let r=[];for(let o=n.length-2;o>=0;o-=1)r.push(`.${n.slice(o).join(".")}`);return r}function N1(e,t){let n=`rover_vid_${Vc(e)}`;for(let r of M1(window.location.hostname))if(Ux(n,t,r))return;Ux(n,t)}function qd(e,t){let n=`${Zx}${e}`;try{window.localStorage.setItem(n,t)}catch{}try{window.sessionStorage.setItem(n,t)}catch{}N1(e,t)}function hw(e,t){p&&(p.visitor=t,Ze());try{localStorage.setItem(`rover:visitor:${e}`,JSON.stringify(t))}catch{}}function L1(e){if(p?.visitor?.name||p?.visitor?.email)return p.visitor;try{let t=localStorage.getItem(`rover:visitor:${e}`);return t?JSON.parse(t):void 0}catch{return}}function gw(e){let t=$d(e.visitorId||"");if(t)return t;if(e.checkpointing?.autoVisitorId===!1)return;let n=`${Zx}${e.siteId}`,r=`rover_vid_${Vc(e.siteId)}`,o=$d(mw(r)||"");if(o)return qd(e.siteId,o),o;try{let a=$d(window.localStorage.getItem(n)||"");if(a)return qd(e.siteId,a),a}catch{}try{let a=$d(window.sessionStorage.getItem(n)||"");if(a)return qd(e.siteId,a),a}catch{}let i=`v_${Vc(`${e.siteId}:${Oo("visitor")}`)}_${Date.now().toString(36)}`;return qd(e.siteId,i),i}function Fx(e,t){return`visitor-${Vc(`${e}:${t}`)}`}function Ym(e){!Rt||!lt||(Rt.registerTool(e.def,e.handler),lt.postMessage({type:"register_tool",tool:e.def}),qm(A))}function as(e){return`${xu}${e}`}function Qd(e,t){let n=String(t||"").trim();return n?`${xu}${e}:${Vc(n)}`:as(e)}function km(e){return`${xu}${e}:latest_key`}function D1(e){try{let t=String(sessionStorage.getItem(km(e))||"").trim();return!t||!t.startsWith(xu)?void 0:t}catch{return}}function xm(e,t){if(e)try{if(!t){sessionStorage.removeItem(km(e));return}sessionStorage.setItem(km(e),t)}catch{}}function Jm(e){return`${DR}${e}`}function P1(e,t){try{sessionStorage.setItem(Jm(e),JSON.stringify(t))}catch{}}function O1(e){try{let t=Jm(e),n=sessionStorage.getItem(t);if(!n)return;sessionStorage.removeItem(t);let r=JSON.parse(n),o=Number(r?.ts)||0;return!r?.runId||!o||Date.now()-o>tw?void 0:{runId:String(r.runId),text:typeof r.text=="string"?r.text:void 0,taskBoundaryId:typeof r.taskBoundaryId=="string"&&r.taskBoundaryId.trim()?r.taskBoundaryId.trim():void 0,resumeReason:sc(r.resumeReason),handoffId:typeof r.handoffId=="string"?r.handoffId:void 0,openIntent:r.openIntent==="preserve_if_running"?"preserve_if_running":void 0,ts:o}}catch{return}}function bw(e){if(e)try{sessionStorage.removeItem(Jm(e))}catch{}}function zx(e){let t=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():void 0,n=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():void 0;if(!t&&!n){os=void 0;return}os={runId:t,taskId:n,expiresAt:Date.now()+Math.max(1e3,Number(e?.ttlMs)||PR)}}function ea(){os=void 0}function Qm(e){let t=os;if(!t)return!1;if(t.expiresAt<=Date.now())return os=void 0,!1;let n=String(e?.activeTask?.status||"").trim();if(n&&n!=="running")return os=void 0,!1;let r=String(t.runId||"").trim(),o=String(t.taskId||"").trim(),i=String(e?.pendingRun?.id||"").trim(),a=String(e?.activeTask?.taskId||"").trim();return!(r&&i&&r!==i&&(!o||!a||o!==a)||o&&a&&o!==a)}function Qc(e){e&&Qm(e)&&(e.uiHidden=!1,e.uiOpen=!0)}function Xn(e="session_start",t=Date.now(),n){return{taskId:n||Oo("task"),status:"running",startedAt:t,lastUserAt:void 0,lastAssistantAt:void 0,boundaryReason:e,endedAt:void 0}}function wm(e,t){return{version:Bm,sessionId:e,runtimeId:t,uiOpen:!1,uiHidden:!1,uiStatus:void 0,transientStatus:void 0,uiMessages:[],timeline:[],executionMode:"controller",workerState:void 0,pendingRun:void 0,lastNavigationHandoff:void 0,taskEpoch:1,activeTask:Xn(),taskTabScope:void 0,lastRoutingDecision:void 0,launchBinding:void 0,updatedAt:Date.now(),tasks:{},activeTaskId:void 0,taskOrder:[]}}function en(e,t=pR){return e.length<=t?e:`${e.slice(0,t)}\u2026`}function yw(e){if(e!=null){if(typeof e=="string")return en(e,1200);try{return en(JSON.stringify(e),1200)}catch{try{return en(String(e),1200)}catch{return}}}}function Su(e){let t=e?.telemetry,n=Number(t?.sampleRate),r=Number.isFinite(n)?Math.min(1,Math.max(0,n)):1,o=Number(t?.flushIntervalMs),i=Number.isFinite(o)?Math.min(6e4,Math.max(2e3,Math.floor(o))):SR,a=Number(t?.maxBatchSize),s=Number.isFinite(a)?Math.min(80,Math.max(1,Math.floor(a))):TR;return{enabled:t?.enabled!==!1,sampleRate:r,flushIntervalMs:i,maxBatchSize:s,includePayloads:t?.includePayloads===!0}}function Wc(e){return e==="host_only"?"host_only":"registrable_domain"}function Zc(e,t){return e==="observer"?"This tab is in observer mode because another tab currently holds Rover action control.":t?"Controller tab ready for actions.":"Actions are disabled by configuration (allowActions=false)."}function Zm(e){return e==="auto"||e==="confirm"||e==="never"?e:"confirm"}function vw(e){return"host_session"}function kw(e){return"task_touched_only"}function eh(e){return"crash_only"}function lu(e){let t=Number(e);return Number.isFinite(t)?Math.max(6e4,Math.min(30*6e4,Math.floor(t))):hR}function th(e){return"read_only"}function xw(e){return"heuristic_same_window"}function nh(e){let t=Number(e);return Number.isFinite(t)?Math.max(1e4,Math.min(10*6e4,Math.floor(t))):bR}function rh(e){let t=Number(e);return Number.isFinite(t)?Math.max(.05,Math.min(.9,t)):yR}function ww(e){return"empty"}function Sw(e){return"deterministic_cues"}function Tw(e){let t=Number(e);return Number.isFinite(t)?Math.max(1,Math.min(4,Math.floor(t))):gR}function _w(e){return"auto"}function Ew(e){return!1}function Iw(e){return"pre_tool_block"}function B1(){return xx({pendingRunText:p?.pendingRun?.text,activeRunText:j?.getState()?.activeRun?.text,rootWorkerInput:p?.workerState?.rootUserInput,lastUserInputText:Mn,fallback:"navigation request"})}function Aw(e){return e!==!1}function vn(e,t,n){let r=Number(e);if(Number.isFinite(r))return Math.max(t,Math.min(n,Math.floor(r)))}function oh(e){return"on_demand"}function ih(e){let t=Number(e);return Number.isFinite(t)?Math.max(5e3,Math.min(12e4,Math.floor(t))):bb.idleCloseMs}function hs(e,t){let n=Number(e);return Number.isFinite(n)?Math.max(32768,Math.min(2097152,Math.floor(n))):t}function ah(e){return!(!e||!Su(e).enabled||!Fn(e))}function Hx(e){if(e!=null){if(typeof e=="string")return en(e,260);if(typeof e=="number"||typeof e=="boolean")return e;if(Array.isArray(e))return{type:"array",length:e.length};if(typeof e=="object"){let n={type:"object",keys:Object.keys(e).slice(0,20)},r=["code","message","stage","status","reason","taskId","runId","policyAction"];for(let o of r){let i=e?.[o];i!=null&&(typeof i=="string"?n[o]=en(i,180):(typeof i=="number"||typeof i=="boolean")&&(n[o]=i))}return n}}}function U1(e,t){if(!t)return Hx(e);let n=lh(e);if(n!=null)return typeof n=="string"?en(n,1e3):typeof n=="number"||typeof n=="boolean"?n:Array.isArray(n)?{type:"array",length:n.length}:typeof n=="object"?n:Hx(e)}function sh(){Kd&&(clearInterval(Kd),Kd=null),Po&&(clearTimeout(Po),Po=null),Mc=!1}function F1(e){return`${wd(e.apiBase)}/telemetry/ingest`}function du(e){let t=e||A,n=String(t?.publicKey||"").trim();if(n.startsWith("pk_site_"))return n;let r=String(t?.authToken||"").trim();return r.startsWith("pk_site_")?r:""}function Fn(e){if(Rn&&uo>Date.now()+2e3)return Rn;try{let r=A?.siteId||e?.siteId||"";if(r){let o=sessionStorage.getItem(`rover:sess:${r}`);if(o){let{t:i,e:a}=JSON.parse(o);if(i&&typeof i=="string"&&i.startsWith("rvrsess_")&&Number(a)>Date.now()+2e3)return Rn=i,uo=Number(a),i}}}catch{}let t=e||A,n=String(t?.sessionToken||t?.authToken||"").trim();return n.startsWith("rvrsess_")?n:""}function uu(e,t){let n=String(e||"").trim();Rn=n||void 0,uo=Number(t)>0?Number(t):0;try{let r=A?.siteId||"";n&&uo>Date.now()?sessionStorage.setItem(`rover:sess:${r}`,JSON.stringify({t:n,e:uo})):sessionStorage.removeItem(`rover:sess:${r}`)}catch{}}function z1(e){try{let t=String(e||"").replace(/-/g,"+").replace(/_/g,"/"),n=t+"=".repeat((4-(t.length%4||4))%4);if(typeof atob=="function"){let r=atob(n),o=Uint8Array.from(r,i=>i.charCodeAt(0));return new TextDecoder().decode(o)}}catch{}return""}function H1(e){let t=String(e||"").trim();if(!t.startsWith("rvrsess_"))return null;let n=t.slice(8),r=n.lastIndexOf(".");if(r<=0)return null;let o=z1(n.slice(0,r));if(!o)return null;try{let i=JSON.parse(o),a=String(i.agentKey||"").trim(),s=String(i.agentName||"").trim()||void 0,c=String(i.agentVendor||"").trim()||void 0,l=String(i.agentModel||"").trim()||void 0,d=String(i.agentTrust||"").trim(),m=String(i.agentSource||"").trim(),f=String(i.agentMemoryKey||"").trim()||void 0,u=String(i.launchSource||"").trim();return!a&&!s&&!c&&!l?null:{agentKey:a||f||c||s||"anonymous",agentName:s,agentVendor:c,agentModel:l,agentTrust:d==="verified_signed"||d==="signed_directory_only"||d==="self_reported"||d==="heuristic"||d==="anonymous"?d:d==="verified"?"verified_signed":void 0,agentSource:m==="public_run_agent"||m==="handoff_agent"||m==="webmcp_agent"||m==="signature_agent"||m==="user_agent"||m==="owner_resolver"||m==="anonymous"?m:void 0,agentMemoryKey:f,launchSource:u==="public_run_api"||u==="delegated_handoff"||u==="webmcp"||u==="embedded_widget"?u:void 0}}catch{return null}}function j1(e){if(!e||!A)return;let t=e.cloudSandboxEnabled===!0||e.enableExternalWebContext===!0&&e.externalScrapeMode==="on_demand";e.domainScopeMode&&(A.domainScopeMode=Wc(e.domainScopeMode)),A.tools||(A.tools={}),A.tools.web||(A.tools.web={}),A.tools.web.enableExternalWebContext=t?!0:e.enableExternalWebContext??A.tools.web.enableExternalWebContext,A.tools.web.scrapeMode=t?"on_demand":e.externalScrapeMode??A.tools.web.scrapeMode,Array.isArray(e.externalAllowDomains)&&(A.tools.web.allowDomains=e.externalAllowDomains),Array.isArray(e.externalDenyDomains)&&(A.tools.web.denyDomains=e.externalDenyDomains),typeof e.uiMascotSoundEnabled=="boolean"&&(A.ui||(A.ui={}),A.ui.mascot||(A.ui.mascot={}),A.ui.mascot.soundEnabled=e.uiMascotSoundEnabled),typeof e.uiMuted=="boolean"&&(A.ui||(A.ui={}),A.ui.muted=e.uiMuted)}function Sm(e){if(!p||!e)return;Lo=Math.max(1,Number(e.epoch||Lo));let t=typeof e.activeRunId=="string"?e.activeRunId:"",n=String(e.runStatus||"").trim().toLowerCase();sx({serverRunId:t,runStatus:n,ignoredRunIds:_r})&&ui(t,"projection_ignored_active_run",{attemptImmediately:!0}),ai(t||void 0);let r=p.pendingRun,o=r?.id||"";!t&&o?(n==="completed"||n==="cancelled"||n==="failed"||n==="ended"||p.activeTask?.status!=="running")&&(mi(o),Zt(void 0),j?.setActiveRun(void 0)):t&&!go()&&el(Ft)!=="observer"&&ax({serverRunId:t,localPendingRunId:o,localPendingTaskBoundaryId:r?.taskBoundaryId,currentTaskBoundaryId:Ve,taskStatus:p.activeTask?.status,ignoredRunIds:_r})?Zt({id:t,text:r?.text||"",startedAt:r?.startedAt||Date.now(),attempts:r?.attempts||0,autoResume:!0,taskBoundaryId:r?.taskBoundaryId||Ve,resumeRequired:r?.resumeRequired===!0,resumeReason:r?.resumeReason}):t&&_r.has(t)&&o===t&&(j?.releaseWorkflowLock(t),Zt(void 0),j?.setActiveRun(void 0));let i=String(e.snapshotMeta?.digest||"").trim()||(Number.isFinite(Number(e.snapshotMeta?.updatedAt))?`u:${Math.max(0,Number(e.snapshotMeta?.updatedAt||0))}`:Number.isFinite(Number(e.snapshotUpdatedAt))?`u:${Math.max(0,Number(e.snapshotUpdatedAt||0))}`:""),a=i?`${e.sessionId}:${i}`:"";if(e.snapshot&&typeof e.snapshot=="object"&&(!a||a!==jc)){let c=e.snapshot?.runtimeState,l=e.snapshot?.sharedState;if(c&&typeof c=="object"){ds=!0;try{n0({version:ew,siteId:A?.siteId||p.sessionId,visitorId:Yt||"server_projection",sessionId:p.sessionId,updatedAt:Number(e.snapshot?.updatedAt)||Date.now(),runtimeState:c,sharedState:l})}finally{ds=!1}a&&(jc=a)}}let s=String(p?.pendingRun?.id||"").trim();s&&_r.has(s)&&(j?.releaseWorkflowLock(s),Zt(void 0),j?.setActiveRun(void 0)),fu()}async function ho(e){if(!(!p||!e.apiBase&&!e.publicKey&&!e.authToken&&!e.sessionToken||!du(e)&&!Rn)){Ae?Ae.setApiBase(e.apiBase):Ae=new Td({apiBase:e.apiBase,siteId:e.siteId,getSessionId:()=>p?.sessionId,getBootstrapToken:()=>du(A),getHost:()=>window.location.hostname,getPageUrl:()=>window.location.href,getTaskBoundaryId:()=>Ve,shouldKeepTransportActive:()=>!ta(),onSession:n=>{if(uu(n.sessionToken,n.sessionTokenExpiresAt),jr&&j?.broadcastSessionToken(n.sessionToken||"",n.sessionTokenExpiresAt||0),Lo=Math.max(1,Number(n.epoch||Lo)),p&&n.sessionId&&p.sessionId!==n.sessionId&&(p.sessionId=n.sessionId,jc="",Ze()),j1(n.policy),n.siteConfig&&typeof n.siteConfig=="object"&&A){let r={shortcuts:Bo(n.siteConfig.shortcuts),businessType:ws(n.siteConfig.businessType),experience:si(n.siteConfig.experience),greeting:pi(n.siteConfig.greeting),voice:ia(n.siteConfig.voice),aiAccess:aa(n.siteConfig.aiAccess),limits:il(n.siteConfig.limits),pageConfig:po(n.siteConfig.pageConfig),agentDiscovery:Oi(n.siteConfig.agentDiscovery),version:n.siteConfig.version!=null?String(n.siteConfig.version):void 0};sn=r,o0(A.siteId,r),yu(A)}n.projection&&Sm(n.projection),lt&<.postMessage({type:"update_config",config:{...oa(),pageConfig:Gc(A),publicKey:void 0,sessionToken:Rn,authToken:Fn(A),sessionId:p?.sessionId,activeRunId:p?.pendingRun?.id,sessionEpoch:Ae?.getEpoch?.()??Lo,sessionSeq:Ae?.getLastSeq?.()??0}}),Rt&&Rt.setNavigationPolicy({allowedDomains:A?.allowedDomains,domainScopeMode:A?.domainScopeMode}),A&&(gh(A),Tu(A)),fs=!0,fo(),fu()},onProjection:n=>{Sm(n),jr&&j?.broadcastProjection(n),fu(),lt&<.postMessage({type:"update_config",config:{...oa(),pageConfig:Gc(A),sessionToken:Rn,authToken:Fn(A),sessionId:p?.sessionId,activeRunId:p?.pendingRun?.id,sessionEpoch:Ae?.getEpoch?.()??Lo,sessionSeq:Ae?.getLastSeq?.()??0}})},onError:n=>{ot("error",{message:n?.message||"server runtime sync failed",scope:"server_runtime"})}});try{await Ae.start()}catch(n){A?.apiMode!==!1&&bt("error",{message:n?.message||"server runtime sync failed",scope:"server_runtime_start"})}}}async function Wi(e=!1){if(Gd||Za)return;if(!A||!ah(A)){nr=[];return}if(!e&&ta()||!nr.length)return;let t=Su(A),n=Fn(A);if(!n)return;let r=nr.splice(0,t.maxBatchSize);if(r.length){Gd=!0,iu=Date.now();try{let o=await fetch(F1(A),{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify({sessionToken:n,sessionId:p?.sessionId,runId:p?.pendingRun?.id,siteId:A.siteId,runtimeId:It,visitorId:Yt,flushReason:e?"manual":"interval",sdkVersion:"rover_sdk_v1",pageUrl:window.location.href,userAgent:navigator.userAgent,sampleRate:t.sampleRate,events:r})});if(!o.ok){o.status===401||o.status===403?Za=!0:nr=[...r,...nr].slice(-ru);return}let i=await o.json().catch(()=>{});if(i?.success===!1){let a=String(i?.errorCode||i?.errorDetails?.code||"").toUpperCase();(a==="INVALID_API_KEY"||a==="MISSING_API_KEY"||a==="UNAUTHENTICATED"||a==="PERMISSION_DENIED")&&(Za=!0);return}}catch{nr=[...r,...nr].slice(-ru)}finally{Gd=!1}}}function Tu(e){if(sh(),Za=!1,!ah(e)){nr=[];return}let t=Su(e);Kd=setInterval(()=>{Wi(!1)},t.flushIntervalMs)}function ot(e,t){if(!ah(A)||Za||ta()&&!i1.has(e))return;let n=Su(A);if(n.sampleRate<1&&Math.random()>n.sampleRate)return;let r=Date.now();if(e==="status"){if(!String(t?.event||"").trim().startsWith("deep_link_")){if(r-lm<r1)return;lm=r}}else if(e==="checkpoint_state"){if(r-dm<o1)return;dm=r}let o={name:e,ts:r,seq:++nw,payload:U1(t,n.includePayloads)};if(nr.push(o),nr.length>ru&&(nr=nr.slice(-ru)),rw.has(e)){let a=Date.now()-iu;if(a>=Px){Wi(!1);return}Po||(Po=setTimeout(()=>{Po=null,Wi(!1)},Px-a));return}if(nr.length>=n.maxBatchSize){let a=Date.now()-iu;a>=Dx?Wi(!1):Mc||(Mc=!0,setTimeout(()=>{Mc=!1,Wi(!1)},Dx-a))}}function $1(e,t){ot(e,t)}function Rw(e){if(e==="analyze"||e==="route"||e==="execute"||e==="verify"||e==="complete")return e}function q1(e){return e?e==="analyze"?"Analyze":e==="route"?"Route":e==="execute"?"Execute":e==="verify"?"Verify":e==="complete"?"Complete":"Status":"Status"}function V1(e,t,n){return[String(t||""),String(e||"").trim().toLowerCase(),String(n||"").trim().toLowerCase()].join("|")}function W1(e,t){if(!e)return!0;let n=e.trim();return!!(t&&n.toLowerCase()===t.trim().toLowerCase()||/^complexity score\b/i.test(n)||/\btool loop$/i.test(n)||/^calling \w[\w\s]*(workflow|sub-agent)$/i.test(n))}function K1(){return p?.pendingRun?.id}function ai(e){Jc=String(e||"").trim()||void 0}function jx(){let e=p?.pendingRun?.id;if(!e)return;if(!Ae)return e;let t=Ae.getActiveRunId(),n=String(t||Jc||"").trim();if(n)return n===e?e:void 0}function mi(e){e&&(_r.add(e),f1(_r,l1))}function Tm(e){e&&_r.delete(e)}function _m(e){let t=Math.max(0,Math.floor(e)),n=Fc*2**t;return Math.max(120,Math.min(zR,n))}function G1(){if(!Bn.size)return null;let e=Number.POSITIVE_INFINITY;for(let t of Bn.values())e=Math.min(e,Number(t.nextAttemptAt)||Number.POSITIVE_INFINITY);return Number.isFinite(e)?Math.max(120,Math.floor(e-Date.now())):null}function Em(e=Fc){Qo&&(clearTimeout(Qo),Qo=null);let t=Math.max(80,Math.floor(e));Qo=setTimeout(()=>{Qo=null,fu()},t)}function ui(e,t="local_run_abandoned",n){let r=String(e||"").trim();if(!r)return;let o=Date.now(),i=Bn.get(r),a=n?.attemptImmediately===!0?o:i?.nextAttemptAt&&i.nextAttemptAt>o?i.nextAttemptAt:o+_m(i?.attempts||0);for(Bn.set(r,{runId:r,reason:String(t||i?.reason||"local_run_abandoned").trim()||"local_run_abandoned",attempts:i?.attempts||0,nextAttemptAt:a,createdAt:i?.createdAt||o,lastError:i?.lastError});Bn.size>jR;){let s=Array.from(Bn.values()).sort((c,l)=>Number(c.createdAt)-Number(l.createdAt))[0];if(!s?.runId)break;Bn.delete(s.runId)}Em(n?.attemptImmediately?50:Fc)}async function fu(){if(Xd||!Bn.size)return;if(!(!!Ae&&!!fs&&!!Fn(A))){Em(Fc);return}Xd=!0;try{let t=Date.now(),n=Array.from(Bn.values()).sort((r,o)=>Number(r.nextAttemptAt)-Number(o.nextAttemptAt));for(let r of n){if(r.nextAttemptAt>t)break;if(!Bn.has(r.runId))continue;if(ph(r.runId)){Bn.set(r.runId,{...r,nextAttemptAt:Date.now()+_m(Math.max(1,r.attempts))});continue}let o=Ae;if(!o){Bn.set(r.runId,{...r,nextAttemptAt:Date.now()+Fc});continue}try{if(await o.controlRun({action:"cancel",runId:r.runId,reason:r.reason})){Bn.delete(r.runId);continue}throw new Error("cancel_control_no_response")}catch(i){let a=Math.max(0,Number(r.attempts||0))+1;if(a>=HR){Bn.delete(r.runId),bt("error",{message:`Failed to cancel stale run ${r.runId} after retries.`,scope:"run_cancel_repair",code:"RUN_CANCEL_REPAIR_FAILED",runId:r.runId});continue}Bn.set(r.runId,{...r,attempts:a,lastError:String(i?.message||"cancel_control_failed"),nextAttemptAt:Date.now()+_m(a)})}}}finally{Xd=!1;let t=G1();t!=null&&Em(t)}}function Jo(){return p?.activeTask?.status==="running"}function Cw(){Jt&&(Jo()||Im()?Jt.enterActiveMode():Jt.enterIdleMode())}function X1(){return typeof document<"u"&&document.visibilityState==="hidden"}function Im(){return!!p?.pendingRun?.id}function Y1(){let e=j?.getState()?.activeRun;if(!e)return!1;if(e.runtimeId)return e.runtimeId===It;let t=String(p?.pendingRun?.id||"").trim();return!!(t&&e.runId===t)}function J1(){let e=j?.getWorkflowLockInfo();return!!(e?.locked&&e.holderRuntimeId===It)}function Mw(){return j?J1()||Y1()?!0:Im()&&!go():Jo()||Im()}function Q1(){return oh(A?.transport?.activation)!=="on_demand"?!0:!!(p?.uiOpen||Mw()||Nw()||Lw())}function ta(){if(!jr)return!0;if(Q1())Rc=0;else{let t=ih(A?.transport?.idleCloseMs);return Rc<=0&&(Rc=Date.now()+t),!(Date.now()<Rc)}return X1()?!Mw()&&!p?.uiOpen:!1}function Yr(e=!1){if(typeof window>"u")return;let t=ta();if(!(!e&&au===t)){au=t;try{let n=window.rtrvrAISetObserverPaused;typeof n=="function"&&n(t)}catch{}}}function Nw(){let e=j?.getState()?.activeRun;return!!(e&&e.runtimeId&&e.runtimeId!==It)}function Lw(){let e=j;if(!e?.isWorkflowLocked())return!1;let t=e.getWorkflowLockInfo();if(!t.locked||!t.holderRuntimeId||t.holderRuntimeId===It)return!1;let n=e.listTabs({scope:"all"}).find(r=>r.runtimeId===t.holderRuntimeId);return n?Number(n.updatedAt)>Date.now()-5e3:!1}function go(){return Lw()}function el(e){return go()?"observer":e==="observer"?"controller":e}function Dw(){return th(A?.task?.observerInput)==="read_only"?!go():!Nw()}function Pw(e){if(e==="observer")return go()?"Observing active run in another tab...":"Send to take control and run here."}function Z1(){if(!j)return!1;let e=j.getState(),t=e?.activeRun,n=String(t?.runId||"").trim(),r=String(t?.text||"").trim();if(!j.requestControl())return!1;if(!n)return!0;if(!j.acquireWorkflowLock(n,{force:!0}))return!1;if(!p)return!0;let a=qr(xn(e?.workerContext),or());return a&&(p.workerState=a,ms(),j.setWorkerContext(nl(p.workerState)),Ar&<&&(Ir(),lt.postMessage({type:"hydrate_state",state:p.workerState}),bt("context_restored",{source:"controller_handoff",ts:Date.now()}))),e?.task&&(p.activeTask=jw(e.task,p.activeTask||Xn("handoff"))),p.uiHidden=!1,p.uiOpen=!0,(r||n)&&(Zt(Ct({id:n,text:r||p.pendingRun?.text||Mn||"Continue task",startedAt:t?.startedAt||p.pendingRun?.startedAt||Date.now(),attempts:p.pendingRun?.id===n&&p.pendingRun.attempts||0,autoResume:!0,taskBoundaryId:p.pendingRun?.taskBoundaryId||p.workerState?.taskBoundaryId||Ve,resumeRequired:!0,resumeReason:"handoff"})),j.setActiveRun({runId:n,text:r||p.pendingRun?.text||"Continue task"})),Ze(),fo({overridePolicyAction:"auto_resume"}),!0}function eC(e){let t=typeof e?.type=="string"?e.type:"";if(!p1.has(t))return!1;let n=typeof e?.runId=="string"&&e.runId?e.runId:void 0,r=typeof e?.runBoundaryId=="string"&&e.runBoundaryId?e.runBoundaryId:typeof e?.taskBoundaryId=="string"&&e.taskBoundaryId?e.taskBoundaryId:void 0,o=String(Ae?.getActiveRunId()||Jc||"").trim()||void 0;return cx({type:t,messageRunId:n,messageTaskBoundaryId:r,currentTaskBoundaryId:or(),pendingRunId:K1(),sharedActiveRunId:j?.getState()?.activeRun?.runId,authoritativeActiveRunId:o,taskStatus:p?.activeTask?.status,ignoredRunIds:_r})}function Vr(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r=0;r<e.length;r+=1){let o=e[r];if(!o||typeof o!="object")continue;let i=String(o.key||o.id||"").trim()||`clarification_${r+1}`,a=String(o.query||o.question||"").trim();if(!a)continue;let s=typeof o.required=="boolean",c=typeof o.optional=="boolean",l=s?!!o.required:c?!o.optional:!0,d=`${i}::${a}`.toLowerCase();if(n.has(d))continue;n.add(d);let m={key:i,query:a,...typeof o.id=="string"&&o.id.trim()?{id:o.id.trim()}:{},...typeof o.question=="string"&&o.question.trim()?{question:o.question.trim()}:{},...Array.isArray(o.choices)?{choices:o.choices}:{}};l||(m.required=!1),t.push(m)}return t.slice(0,6)}function tC(e,t){let n=String(e||"").trim();if(n)return n;if(!t||typeof t!="object")return"";let r=t.answersByKey&&typeof t.answersByKey=="object"?t.answersByKey:{},o=Vr(p?.workerState?.pendingAskUser?.questions),a=(Array.isArray(t.keys)?t.keys:[]).map(l=>String(l||"").trim()).filter(Boolean);if(a.length===0)for(let l of o){let d=String(l.key||"").trim();d&&a.push(d)}if(a.length===0)for(let l of Object.keys(r)){let d=String(l||"").trim();d&&a.push(d)}let s=[],c=new Set;for(let l of a){let d=String(l||"").trim();if(!d||c.has(d))continue;c.add(d);let m=String(r[d]||"").trim();s.push(`${d}: ${m||"(no answer provided)"}`)}return s.length>0?s.join(`
|
|
4592
|
+
`):String(t.rawText||"").trim()}function ch(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(!r||typeof r!="object")continue;let o=r,i=String(o.id||"").trim(),a=String(o.displayName||"").trim(),s=String(o.mimeType||"").trim();if(!(!i||!a||!s||n.has(i))&&(n.add(i),t.push({id:i,displayName:a,mimeType:s,storageUrl:typeof o.storageUrl=="string"&&o.storageUrl.trim()?o.storageUrl.trim():void 0,gcsUri:typeof o.gcsUri=="string"&&o.gcsUri.trim()?o.gcsUri.trim():void 0,sizeBytes:Number.isFinite(Number(o.sizeBytes))?Math.max(0,Number(o.sizeBytes)):void 0,downloadUrl:typeof o.downloadUrl=="string"&&o.downloadUrl.trim()?o.downloadUrl.trim():void 0,expiresAt:typeof o.expiresAt=="string"&&o.expiresAt.trim()?o.expiresAt.trim():void 0,kind:typeof o.kind=="string"&&o.kind.trim()?o.kind.trim():void 0,sourceStepId:typeof o.sourceStepId=="string"&&o.sourceStepId.trim()?o.sourceStepId.trim():void 0,originalIndex:Number.isFinite(Number(o.originalIndex))?Math.max(0,Number(o.originalIndex)):void 0,data:typeof o.data=="string"&&o.data.trim()?o.data.trim():void 0,ORIGIN_KEY:o.ORIGIN_KEY==="tool"?"tool":"user"}),t.length>=12))break}return t}function nC(){let e=Number(Ru(A)?.inputs?.attachmentLimit);return Number.isFinite(e)?Math.max(1,Math.min(12,Math.trunc(e))):YR}function rC(){let e=Number(Ru(A)?.inputs?.maxFileSizeMb);return Number.isFinite(e)?Math.max(1,Math.min(32,Math.trunc(e)))*1024*1024:QR}function oC(e){let t="";for(let r=0;r<e.length;r+=32768){let o=e.subarray(r,r+32768);t+=String.fromCharCode(...o)}return btoa(t)}async function iC(e){let t=await e.arrayBuffer();return oC(new Uint8Array(t))}function Ow(e,t,n){return{id:`inline_${crypto.randomUUID()}`,displayName:String(e.name||`attachment-${n+1}`).trim()||`attachment-${n+1}`,mimeType:String(e.type||"application/octet-stream").trim()||"application/octet-stream",sizeBytes:Number.isFinite(e.size)?e.size:void 0,originalIndex:n,data:t,ORIGIN_KEY:"user"}}function aC(e,t,n,r){let o=Ow(e,r||"",n);return t?.id?{id:t.id,displayName:String(t.displayName||o.displayName).trim()||o.displayName,mimeType:String(t.mimeType||o.mimeType).trim()||o.mimeType,storageUrl:t.storageUrl,gcsUri:t.gcsUri,sizeBytes:Number.isFinite(Number(t.sizeBytes))?Number(t.sizeBytes):o.sizeBytes,downloadUrl:t.downloadUrl,expiresAt:t.expiresAt,kind:t.kind,sourceStepId:t.sourceStepId,originalIndex:Number.isFinite(Number(t.originalIndex))?Number(t.originalIndex):n,data:t.data||o.data,ORIGIN_KEY:"user"}:o}async function sC(e){if(!Array.isArray(e)||e.length===0)return[];let t=nC(),n=rC(),r=e.slice(0,t),o=[];for(let i=0;i<r.length;i+=1){let a=r[i];if(!(a instanceof File))continue;if(Number.isFinite(a.size)&&a.size>n)throw new Error(`${a.name} exceeds the ${Math.round(n/(1024*1024))}MB limit.`);let s=await iC(a);if(Ae){let c=await Ae.uploadAttachment({fileName:a.name,mimeType:a.type||"application/octet-stream",dataBase64:s,sizeBytes:a.size});o.push(aC(a,c,i,s))}else o.push(Ow(a,s,i))}return ch(o)}function pu(e){let t=String(ae?.getActiveTask()?.rootUserInput||"").trim();if(t)return t;let n=String(p?.workerState?.rootUserInput||"").trim();if(n)return n;let r=p?.pendingRun,o=r&&r.id===e?String(r.text||"").trim():"";if(o)return o;let i=String(r?.text||"").trim();return i||String(Mn||"").trim()||void 0}function cC(e){if(!e||typeof e!="object")return{runComplete:!1,needsUserInput:!1,terminalState:"in_progress",contextResetRecommended:!1};let t=String(e.terminalState||"").trim().toLowerCase(),n=e.needsUserInput===!0,r=t==="waiting_input"||t==="in_progress"||t==="completed"||t==="failed"?t:n?"waiting_input":e.runComplete===!0?"completed":e.ok===!1?"failed":"in_progress",o=r==="completed"||e.runComplete===!0&&r!=="waiting_input",i=Vr(e.questions),a=String(e.continuationReason||"").trim().toLowerCase(),s=a==="loop_continue"||a==="same_tab_navigation_handoff"||a==="awaiting_user"?a:r==="waiting_input"?"awaiting_user":r==="in_progress"?"loop_continue":void 0;return{runComplete:o,needsUserInput:r==="waiting_input"||n,terminalState:r,contextResetRecommended:e.contextResetRecommended===!0||r==="completed",continuationReason:s,...i.length?{questions:i}:{}}}function lC(e){return Do?Do.readSync(e):null}function lh(e){if(e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;try{return structuredClone(e)}catch{try{return JSON.parse(JSON.stringify(e))}catch{return}}}function fi(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!n||typeof n!="object")continue;let r=n.type;if(r==="text"){let o=String(n.text||"");if(!o)continue;t.push({type:"text",text:o});continue}(r==="tool_output"||r==="json")&&t.push({type:r,data:lh(n.data),label:typeof n.label=="string"?n.label:void 0,toolName:typeof n.toolName=="string"?n.toolName:void 0})}return t.length?t:void 0}function $x(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.entries(e).filter(([,i])=>i!=null);if(t.length!==1)return!1;let[n,r]=t[0];return typeof r!="string"||!r.trim()?!1:new Set(["response","message","summary","text","content","result","description"]).has(n)}function dC(e,t){if(e==null)return!1;if(typeof e=="string"){let n=e.trim();return n?!t||n!==t.trim():!1}if(Array.isArray(e)){let n=e.filter(r=>r!=null);if(n.length===1){let r=n[0];if(typeof r=="string"||typeof r=="number"||typeof r=="boolean"||$x(r))return!1}return!0}return!$x(e)}function Bw(e){if(!Array.isArray(e)||!e.length)return;let t=e.filter(r=>r.type==="text").map(r=>String(r.text||"").trim()).filter(Boolean);if(t.length)return t.join(`
|
|
4593
4593
|
|
|
4594
|
-
`);let n=e.find(r=>r.type==="tool_output"||r.type==="json");if(n){if(typeof n.data=="string"&&n.data.trim())return n.data.trim();if(typeof n.data=="number"||typeof n.data=="boolean")return String(n.data)}}function dC(e){if(e==null)return;let t=typeof e=="object"&&e!==null?e:void 0,n=t?.output??t?.generatedContentRef??t?.schemaHeaderSheetInfo??e,r=Ow(di([{type:"tool_output",data:n}]));if(lC(n,r))return di([{type:"tool_output",label:typeof t?.name=="string"?`${t.name} output`:"Tool output",data:n}])}function tr(e){let t=Number(e);if(!(!Number.isFinite(t)||t<=0))return t}function Bw(e){if(!e||typeof e!="object")return[];let t=e,n=[tr(t.tab_id),tr(t.logical_tab_id),tr(t.tabId),tr(t.logicalTabId)].filter(r=>!!r);return hr(n)}function uC(e){if(!e||typeof e!="object")return[];let t=e,n=t.output&&typeof t.output=="object"?t.output:void 0,r=[tr(t.tab_id),tr(t.logical_tab_id),tr(t.tabId),tr(t.logicalTabId),tr(n?.tab_id),tr(n?.logical_tab_id),tr(n?.tabId),tr(n?.logicalTabId)].filter(o=>!!o);return hr(r)}function Uw(e){return(typeof e?.toolCallId=="string"&&e.toolCallId.trim()?e.toolCallId.trim():typeof e?.call?.id=="string"&&e.call.id.trim()?e.call.id.trim():"").slice(0,128)}function fu(e){let t=Uw(e),n=tr(e?.logicalTabId)??tr(e?.logical_tab_id)??Bw(e?.call?.args)[0];if(n)return t&&(Wa.set(t,n),iu(Wa,80)),n;let r=t?Wa.get(t):void 0;if(r)return r;let o=j?.getActiveLogicalTabId()??j?.getLocalLogicalTabId();return o&&t&&(Wa.set(t,o),iu(Wa,80)),o}function fC(e){let t=Uw(e);t&&Wa.delete(t)}function pC(e){if(!e||typeof e!="object")return!1;let t=e,n=t.output&&typeof t.output=="object"?t.output:void 0,r=String(t.status||t.taskStatus||n?.status||n?.taskStatus||"").trim().toLowerCase();return!!(r==="failure"||r==="failed"||r==="error"||t.success===!1||n?.success===!1||t.error||n?.error)}function Fw(e){if(!e||typeof e!="object")return null;let t=e.role,n=e.content;return typeof t!="string"||typeof n!="string"||!n?null:{role:t,content:n}}function ps(e,t){if(!Array.isArray(e))return[];let n=e.length<=t?e:[e[0],...e.slice(-(t-1))],r=[];for(let o of n){let i=sh(o);i!==void 0&&r.push(i)}return r}function zw(e){if(!Array.isArray(e)||e.length===0)return[];let t=[...e],n=[];for(let o=0;o<t.length;o+=1){let i=t[o]?.accTreeId;typeof i=="string"&&i.trim()&&n.push(o)}if(n.length<=3)return t;let r=new Set([n[0],...n.slice(-2)]);for(let o of n)r.has(o)||t[o]&&typeof t[o]=="object"&&delete t[o].accTreeId;return t}async function mC(e,t){if(!Lo)return null;try{let n=await Lo.readAsync(e);if(n)return n;for(let r of t||[]){if(!r||r===e)continue;let o=await Lo.readAsync(r);if(o)return o}return null}catch{return null}}function Wr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-Qd)){let r=n?.role;r!=="user"&&r!=="assistant"&&r!=="system"||t.push({id:typeof n?.id=="string"&&n.id?n.id:Oo("msg"),role:r,text:String(n?.text||""),blocks:di(n?.blocks),ts:Number(n?.ts)||Date.now(),sourceRuntimeId:typeof n?.sourceRuntimeId=="string"?n.sourceRuntimeId:void 0})}return t.filter(n=>!!n.text||!!n.blocks?.length)}var hC=new Set(["click","type","select","clear","focus","hover","press","scroll","drag","navigate","read","wait","unknown"]);function gC(e){if(!Array.isArray(e))return;let t=new Set,n=[];for(let r of e){let o=Math.trunc(Number(r));!Number.isFinite(o)||o<=0||t.has(o)||(t.add(o),n.push(o))}return n.length?n:void 0}function bC(e){if(!e||typeof e!="object")return;let t=e,n=String(t.kind||"").trim();if(!hC.has(n))return;let r=Math.trunc(Number(t.primaryElementId)),o=Math.trunc(Number(t.logicalTabId)),i=gC(t.elementIds),a=typeof t.toolCallId=="string"&&t.toolCallId.trim()?en(t.toolCallId.trim(),128):void 0,s=typeof t.targetLabel=="string"&&t.targetLabel.trim()?en(t.targetLabel.trim(),64):void 0;return{kind:n,toolCallId:a,primaryElementId:Number.isFinite(r)&&r>0?r:void 0,elementIds:i,logicalTabId:Number.isFinite(o)&&o>0?o:void 0,valueRedacted:typeof t.valueRedacted=="boolean"?t.valueRedacted:void 0,targetLabel:s}}function Kr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-Zd)){let r=en(String(n?.title||""),400);if(!r)continue;let o=String(n?.kind||"status"),i=n?.status;t.push({id:typeof n?.id=="string"&&n.id?n.id:Oo("timeline"),kind:o,title:r,detail:n?.detail?String(n.detail):void 0,detailBlocks:di(n?.detailBlocks),status:i==="pending"||i==="success"||i==="error"||i==="info"?i:void 0,ts:Number(n?.ts)||Date.now(),sourceRuntimeId:typeof n?.sourceRuntimeId=="string"?n.sourceRuntimeId:void 0,elementId:Number.isFinite(Number(n?.elementId))?Math.trunc(Number(n.elementId)):void 0,toolName:typeof n?.toolName=="string"?en(n.toolName,120):void 0,narration:typeof n?.narration=="string"?en(n.narration.replace(/\s+/g," ").trim(),220):void 0,narrationActive:typeof n?.narrationActive=="boolean"?n.narrationActive:void 0,responseKind:Nm(n?.responseKind),actionCue:bC(n?.actionCue)})}return t}function Jr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-uR)){let r=n?.role==="user"?"user":n?.role==="model"?"model":void 0;if(!r)continue;let o=en(String(n?.message||"").replace(/\s+/g," ").trim(),1500);if(!o)continue;let i=t[t.length-1];i&&i.role===r&&i.message===o||t.push({role:r,message:o})}return t}function Zc(e,t){if(!e)return;let n=typeof e=="string"?e:e?.text,r=en(String(n||"").trim(),300);if(!r)return;let o=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():typeof t?.runId=="string"&&t.runId.trim()?t.runId.trim():void 0,i=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():typeof t?.taskId=="string"&&t.taskId.trim()?t.taskId.trim():void 0,a=typeof e?.stage=="string"&&e.stage.trim()?en(e.stage.trim(),40):void 0;return{text:r,ts:Number(e?.ts)||Date.now(),runId:o,taskId:i,stage:a}}function yC(e,t){let n=Number(e.ts)||0,r=Number(t.ts)||0;if(n!==r)return n-r;let o=Array.isArray(e.blocks)?e.blocks.length:0,i=Array.isArray(t.blocks)?t.blocks.length:0;return o!==i?o-i:String(e.text||"").length-String(t.text||"").length}function vC(e,t){let n=new Map;for(let r of Wr(e))n.set(r.id,r);for(let r of Wr(t)){let o=n.get(r.id);(!o||yC(r,o)>0)&&n.set(r.id,r)}return Wr([...n.values()].sort((r,o)=>{let i=(Number(r.ts)||0)-(Number(o.ts)||0);return i!==0?i:r.id.localeCompare(o.id)}))}function kC(e,t){let n=Number(e.ts)||0,r=Number(t.ts)||0;if(n!==r)return n-r;let o=Array.isArray(e.detailBlocks)?e.detailBlocks.length:0,i=Array.isArray(t.detailBlocks)?t.detailBlocks.length:0;return o!==i?o-i:String(e.detail||"").length-String(t.detail||"").length}function xC(e,t){let n=new Map;for(let r of Kr(e))n.set(r.id,r);for(let r of Kr(t)){let o=n.get(r.id);(!o||kC(r,o)>0)&&n.set(r.id,r)}return Kr([...n.values()].sort((r,o)=>{let i=(Number(r.ts)||0)-(Number(o.ts)||0);return i!==0?i:r.id.localeCompare(o.id)}))}function kn(e){if(!e||typeof e!="object")return;let t=String(e.taskBoundaryId||"").trim(),n=Array.isArray(e.history)?e.history:[],r=Array.isArray(e.plannerHistory)?e.plannerHistory:[],o=Array.isArray(e.agentPrevSteps)?e.agentPrevSteps:Array.isArray(e.lastToolPreviousSteps)?e.lastToolPreviousSteps:[],i=n.slice(-Om).map(b=>Fw(b)).filter(b=>!!b),a=ps(r,Bm),s=ps(zw(o),Um),c=Vr(e?.pendingAskUser?.questions),l=e?.pendingAskUser?.stepRef,d=l&&Number.isFinite(Number(l.stepIndex))&&Number(l.stepIndex)>=0&&Number.isFinite(Number(l.functionIndex))&&Number(l.functionIndex)>=0?{stepIndex:Number(l.stepIndex),functionIndex:Number(l.functionIndex),...typeof l.accTreeId=="string"&&l.accTreeId.trim()?{accTreeId:l.accTreeId.trim()}:{}}:void 0,m=c.length?{questions:c,source:e?.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e?.pendingAskUser?.askedAt)||Date.now(),boundaryId:typeof e?.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...d?{stepRef:d}:{}}:void 0,f=qe(t||void 0),u=qe(m?.boundaryId||f);m&&f&&u&&u!==f&&(m=void 0);let h=typeof e.rootUserInput=="string"?e.rootUserInput.trim():"";return{trajectoryId:typeof e.trajectoryId=="string"?e.trajectoryId:void 0,taskBoundaryId:t||void 0,rootUserInput:h||void 0,seedChatLog:Jr(e.seedChatLog),files:ah(e.files),history:i,plannerHistory:a,agentPrevSteps:s,lastToolPreviousSteps:s,pendingAskUser:m,updatedAt:Number(e.updatedAt)||Date.now()}}function Vc(e,t,n){if(!e||typeof e!="object")return km(t,n);let r=Xn(),o=pi(e.activeTask,r),i=Ct(e.pendingRun),a=o.status==="running"?i:void 0,s=a?.taskBoundaryId&&String(a.taskBoundaryId).trim()||(typeof e?.workerState?.taskBoundaryId=="string"?String(e.workerState.taskBoundaryId).trim():"")||void 0,c=vs(e.taskTabScope,s),l={version:Pm,sessionId:typeof e.sessionId=="string"&&e.sessionId?e.sessionId:t,runtimeId:typeof e.runtimeId=="string"&&e.runtimeId?e.runtimeId:n,uiOpen:!!e.uiOpen,uiHidden:!!e.uiHidden,uiStatus:typeof e.uiStatus=="string"?en(e.uiStatus,300):void 0,transientStatus:Zc(e.transientStatus??e.uiStatus,{runId:i?.id,taskId:o?.taskId}),uiMessages:Wr(e.uiMessages),timeline:Kr(e.timeline),executionMode:e.executionMode==="observer"||e.executionMode==="controller"?e.executionMode:"controller",workerState:kn(e.workerState),pendingRun:a,taskTabScope:c,lastNavigationHandoff:Bo(e.lastNavigationHandoff),taskEpoch:Math.max(1,Number(e.taskEpoch)||1),activeTask:o,lastRoutingDecision:e.lastRoutingDecision&&(e.lastRoutingDecision.mode==="act"||e.lastRoutingDecision.mode==="planner")?{mode:e.lastRoutingDecision.mode,score:Number(e.lastRoutingDecision.score)||void 0,reason:typeof e.lastRoutingDecision.reason=="string"?en(e.lastRoutingDecision.reason,200):void 0,ts:Number(e.lastRoutingDecision.ts)||Date.now()}:void 0,launchBinding:Fm(e.launchBinding),updatedAt:Number(e.updatedAt)||Date.now(),tasks:e.tasks&&typeof e.tasks=="object"?e.tasks:{},activeTaskId:typeof e.activeTaskId=="string"?e.activeTaskId:void 0,taskOrder:Array.isArray(e.taskOrder)?e.taskOrder:[]};if((Number(e.version)||1)<2&&o&&o.taskId){let m=Ha.fromV1State(l),{tasks:f,activeTaskId:u,taskOrder:h}=m.toPersistedState();l.tasks=f,l.activeTaskId=u,l.taskOrder=h,m.shutdown()}return l}function pi(e,t){if(!e||typeof e!="object")return t;let n=typeof e.taskId=="string"&&e.taskId.trim()?e.taskId.trim():t.taskId,r=e.status==="ended"||e.status==="completed"||e.status==="cancelled"||e.status==="failed"||e.status==="running"?e.status:"running";return{taskId:n,status:r,startedAt:Number(e.startedAt)||t.startedAt,lastUserAt:Number(e.lastUserAt)||void 0,lastAssistantAt:Number(e.lastAssistantAt)||void 0,boundaryReason:typeof e.boundaryReason=="string"?en(e.boundaryReason,120):t.boundaryReason,endedAt:Number(e.endedAt)||void 0}}function Hw(e,t){return pi(e,t)}function el(e){if(!e)return;let t=Vr(e.pendingAskUser?.questions);return{trajectoryId:e.trajectoryId,taskBoundaryId:typeof e.taskBoundaryId=="string"?e.taskBoundaryId:void 0,rootUserInput:typeof e.rootUserInput=="string"?e.rootUserInput:void 0,seedChatLog:Jr(e.seedChatLog),history:Array.isArray(e.history)?e.history.slice(-Om).map(n=>Fw(n)).filter(n=>!!n):[],plannerHistory:ps(e.plannerHistory,Bm),agentPrevSteps:ps(zw(e.agentPrevSteps),Um),pendingAskUser:t.length?{questions:t,source:e.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e.pendingAskUser?.askedAt)||Date.now(),boundaryId:typeof e.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...e.pendingAskUser?.stepRef&&Number.isFinite(Number(e.pendingAskUser.stepRef.stepIndex))&&Number(e.pendingAskUser.stepRef.stepIndex)>=0&&Number.isFinite(Number(e.pendingAskUser.stepRef.functionIndex))&&Number(e.pendingAskUser.stepRef.functionIndex)>=0?{stepRef:{stepIndex:Number(e.pendingAskUser.stepRef.stepIndex),functionIndex:Number(e.pendingAskUser.stepRef.functionIndex),...typeof e.pendingAskUser.stepRef.accTreeId=="string"&&e.pendingAskUser.stepRef.accTreeId.trim()?{accTreeId:e.pendingAskUser.stepRef.accTreeId.trim()}:{}}}:{}}:void 0,updatedAt:Number(e.updatedAt)||Date.now()}}function hr(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){let o=Number(r);!Number.isFinite(o)||o<=0||t.has(o)||(t.add(o),n.push(o))}return n}function vs(e,t){if(!e||typeof e!="object")return;let n=typeof e.boundaryId=="string"&&e.boundaryId.trim()?e.boundaryId.trim():typeof t=="string"&&t.trim()?t.trim():void 0;if(!n)return;let r=Number(e.seedTabId);if(!Number.isFinite(r)||r<=0)return;let o=hr(e.touchedTabIds);return o.includes(r)||o.unshift(r),{boundaryId:n,seedTabId:r,touchedTabIds:o.slice(0,24),updatedAt:Number(e.updatedAt)||Date.now()}}function Ct(e){if(!e||typeof e!="object")return;let t=typeof e.id=="string"&&e.id.trim()?e.id.trim():void 0,n=typeof e.text=="string"?e.text.trim():"",r=typeof e.lastUserInputText=="string"&&e.lastUserInputText.trim()?e.lastUserInputText.trim():typeof Mn=="string"&&Mn.trim()?Mn.trim():"Continue task",o=n||r,i=typeof e.taskBoundaryId=="string"&&e.taskBoundaryId.trim()?e.taskBoundaryId.trim():void 0;if(t)return{id:t,text:o,startedAt:Number(e.startedAt)||Date.now(),attempts:Math.max(0,Number(e.attempts)||0),autoResume:e.autoResume!==!1,taskBoundaryId:i,resumeRequired:e.resumeRequired===!0,resumeReason:ic(e.resumeReason)}}function wC(){return fs(A?.stability?.maxPersistBytes,Wt.localPersistBytes)}function SC(e,t){let n={...e,uiMessages:Wr(e.uiMessages).slice(-Qd),timeline:Kr(e.timeline).slice(-Zd),workerState:kn(e.workerState)};n.workerState&&(n.workerState={...n.workerState,history:Array.isArray(n.workerState.history)?n.workerState.history.slice(-Om):[],plannerHistory:ps(n.workerState.plannerHistory,Bm),agentPrevSteps:ps(n.workerState.agentPrevSteps,Um)});let r="";try{r=JSON.stringify(n)}catch{return e}if(r.length<=t)return n;let o={...n,uiMessages:[],timeline:[],workerState:void 0};try{if(JSON.stringify(o).length<=t)return o}catch{return o}return{...o,pendingRun:void 0,activeTask:Xn("persist_trim")}}function os(e){if(!(!p||!Vn))try{if(ae){tl(),ae.enforceMemoryCaps();let{tasks:r,activeTaskId:o,taskOrder:i}=ae.toPersistedState();p.tasks=r,p.activeTaskId=o,p.taskOrder=i}let t=wC();p=SC(p,t);let n=JSON.stringify({s:p.sessionId,p:p.pendingRun?.id,pa:p.pendingRun?.autoResume,t:p.activeTask?.status,te:p.taskEpoch,m:p.uiMessages?.length,tl:p.timeline?.length,o:p.uiOpen,h:p.uiHidden,e:p.executionMode,at:p.activeTaskId});if(n===Em&&!e?.markCheckpointDirty)return;Em=n,p.updatedAt=Date.now(),Lo?.write(Vn,p),Mo&&Mo!==Vn&&(Lo?.remove(Mo),Mo=null),!ss&&e?.markCheckpointDirty!==!1&&Jt?.markDirty(),IC("runtime_persist")}catch{}}var Bi=!1,Ui=!1,Em="",wc=0,qa=0,Im=2e3,jw=2e3;function is(e){os({markCheckpointDirty:!0}),Jt?.syncNow({push:!0,pull:!1}),ot("checkpoint_state",{event:"critical_flush",reason:e})}function Ze(e){e?.markCheckpointDirty!==!1&&(Ui=!0);let t=Date.now();if(!Bi)qa=t;else if(qa>0&&t-qa>=jw){Bi=!1,qa=0;let n=Ui;Ui=!1,wc=t,os({markCheckpointDirty:n});return}Bi||(Bi=!0,setTimeout(()=>{Bi=!1,qa=0;let n=Ui;Ui=!1;let r=Date.now();if(r-wc<Im){Bi=!0,setTimeout(()=>{Bi=!1,qa=0,wc=Date.now(),os({markCheckpointDirty:Ui||n}),Ui=!1},Im-(r-wc));return}wc=r,os({markCheckpointDirty:n})},0))}function TC(){if(fm)return;fm=!0,pm||(pm=!0,Wi(document,"visibilitychange",()=>{Yr()},{passive:!0})),Wi(window,"pagehide",()=>{if(Rn&&A?.siteId)try{sessionStorage.setItem(`rover:sess:${A.siteId}`,JSON.stringify({t:Rn,e:uo}))}catch{}if(p?.pendingRun?.autoResume){let r=p.pendingRun.resumeReason||(so?"agent_navigation":"page_reload"),o=Ct({...p.pendingRun,resumeRequired:!0,resumeReason:r});if(p.pendingRun=o,o&&A?.siteId){let i=Bo(p?.lastNavigationHandoff);D1(A.siteId,{runId:o.id,text:o.text,taskBoundaryId:o.taskBoundaryId||Ve,resumeReason:r,handoffId:i?.handoffId,openIntent:p.uiOpen?"preserve_if_running":void 0,ts:Date.now()})}}let n=Km();j?.broadcastClosing(fw(n)),p?.pendingRun&&j?.releaseWorkflowLock(p.pendingRun.id),os(),ji(!0),ih(),Jt?.markDirty(),Jt?.syncNow({push:!0,pull:!1}),Jt?.stop(),j?.stop()},{capture:!0}),Wi(window,"pageshow",n=>{n.persisted&&(j&&(j.reloadFromStorage(),j.registerCurrentTab(window.location.href,document.title||void 0),j.claimLease(!1)),Gr=!1,Wn=0,A&&wu(A),Yr(!0))})}function _C(e="implicit"){if(p)return p.activeTask||(p.activeTask=Xn(e),p.taskEpoch=Math.max(1,Number(p.taskEpoch)||1)),p.activeTask}function mi(e,t){if(!p)return;let n=p.activeTask?.status,r=qe(Ve),o=cx({task:p.activeTask,taskEpoch:p.taskEpoch},e,{createTask:(i,a,s)=>Xn(i,a,s)});if(p.activeTask=o.task,p.taskEpoch=o.taskEpoch,o.rotateBoundary&&t?.rotateBoundary!==!1?(Ve=Xr(),gr({forceReset:!0,persist:!1})):gr({persist:!1,appendSeed:!1}),o.clearPendingRun&&p.pendingRun&&Zt(void 0),o.clearWorkerState&&p.workerState&&(p.workerState=void 0,j?.setWorkerContext(void 0)),o.lifecycle==="terminal"&&(Ut&&(clearTimeout(Ut),Ut=null),nl()),t?.syncShared!==!1&&j?.syncTask({...o.task},p.taskEpoch),t?.persist!==!1){let i=qe(Ve);n!==o.task.status?is("run_status_transition"):!!i&&i!==r?is("task_boundary_transition"):Ze()}if(Yr(),Rw(),ae){let i=ae.toPersistedState();p.tasks=i.tasks,p.activeTaskId=i.activeTaskId,p.taskOrder=i.taskOrder}return o.task}function lo(){if(!ae||!de)return;tl();let e=ae.listTasks(),t=ae.getActiveTask()?.taskId;de.setConversations(e.map(n=>({id:n.taskId,summary:n.rootUserInput||n.taskId.slice(0,8),status:n.state,updatedAt:n.endedAt||n.lastAssistantAt||n.lastUserAt||n.startedAt,isActive:n.taskId===t}))),t&&de.setActiveConversationId(t)}function $w(e){let t=Number(e.endedAt||e.lastAssistantAt||e.lastUserAt||e.startedAt||Date.now()),n=e.rootUserInput||e.summary||e.taskId;return{conversationId:e.taskId,title:Xo(n),preview:Xo(e.summary||e.rootUserInput||""," "),status:e.state,createdAt:Number(e.startedAt||t),updatedAt:t}}function EC(){if(!ae||!p)return null;tl();let e=ae.getActiveTask();if(!e)return null;let t=p.pendingRun,n=Array.isArray(t?.files)?t.files:[];return{summary:$w(e),payload:{uiMessages:p.uiMessages||e.uiMessages||[],timeline:p.timeline||e.timeline||[],taskRecord:{...e,uiMessages:e.uiMessages||[],timeline:e.timeline||[]},runMeta:{activeTaskId:p.activeTaskId,pendingRun:p.pendingRun?{id:p.pendingRun.id,status:p.pendingRun.status,startedAt:p.pendingRun.startedAt}:void 0},attachments:n.map(r=>({id:String(r?.id||r?.fileId||""),displayName:String(r?.displayName||r?.name||"").slice(0,180),mimeType:String(r?.mimeType||"").slice(0,120),size:Number(r?.size||r?.sizeBytes||0)||void 0,storageRef:r?.storageRef||r?.uri||void 0}))}}}function IC(e="state_persist"){!Tr||!ae||!p||Jp||(Jp=setTimeout(()=>{Jp=null;let t=EC();t&&(Tr?.upsert(t),$i?.upsert(t).then(n=>{n&&(Tr?.upsert({summary:n,payload:t.payload}),Am("cloud_upsert").catch(()=>{}))}).catch(()=>{ot("status",{event:"conversation_history_sync_failed",reason:e})}))},1e3))}async function Am(e="manual"){if(!de||!Tr)return;let t=await Tr.list();if($i)try{let o=await $i.list();for(let i of o.tombstones||[])i?.conversationId&&Tr.remove(i.conversationId,i);for(let i of o.conversations||[])Tr.upsert({summary:i});t=await Tr.list()}catch{ot("status",{event:"conversation_history_list_offline",reason:e})}let n=ae?.getActiveTask()?.taskId||p?.activeTaskId,r=t.map(o=>({id:o.conversationId,summary:o.title||o.preview||o.conversationId,status:o.status||"completed",updatedAt:o.updatedAt||Date.now(),isActive:o.conversationId===n}));if(!r.some(o=>o.id===n)&&ae){let o=ae.getActiveTask();if(o){let i=$w(o);r.unshift({id:i.conversationId,summary:i.title,status:i.status||"running",updatedAt:i.updatedAt,isActive:!0})}}de.setConversations(r)}function ms(){if(ae)return ae.getActiveTask()}function AC(e=p,t){let n=String(t||e?.activeTaskId||e?.activeTask?.taskId||"").trim()||void 0,r=qe(Yi(e)),o=String(Ct(e?.pendingRun)?.id||"").trim()||void 0;return{taskId:n,boundaryId:r,runId:o}}function RC(){let e=Jr(ms()?.seedChatLog);return e.length?e:Jr(p?.workerState?.seedChatLog)}function CC(e,t){let n=t||Xn("task_record_sync");return pi({taskId:e.taskId,status:tx(e.state),startedAt:e.startedAt,lastUserAt:e.lastUserAt,lastAssistantAt:e.lastAssistantAt,boundaryReason:e.blockReason||n.boundaryReason,endedAt:e.endedAt},n)}function Rm(e,t){if(!p)return;let n=qe(e.boundaryId)||qe(e.pendingRun?.taskBoundaryId)||qe(e.workerState?.taskBoundaryId)||or()||Xr(),r=Jr(e.seedChatLog??e.workerState?.seedChatLog),o=qr(kn(e.workerState||r.length||e.rootUserInput?{...e.workerState||{},...e.rootUserInput?{rootUserInput:e.rootUserInput}:{},...r.length?{seedChatLog:r}:{},taskBoundaryId:e.workerState?.taskBoundaryId||n}:void 0),n),i=Ct(e.pendingRun),a=Zc(e.transientStatus,{runId:i?.id,taskId:e.taskId});p.activeTaskId=e.taskId,p.activeTask=CC(e,p.activeTask),p.uiMessages=Wr(e.uiMessages),p.timeline=Kr(e.timeline),p.workerState=o,p.pendingRun=i,p.taskTabScope=vs(e.tabScope,n),p.uiStatus=a?.text,p.transientStatus=a,Ve=n,e.rootUserInput?.trim()&&(Mn=e.rootUserInput.trim()),t?.replayUi!==!1&&(lh(),Tu(p.uiMessages,p.timeline),_u(p),hs(),de?.setRunning(!!p.pendingRun&&p.activeTask?.status==="running"),e.state==="paused"?de?.showPausedTaskBanner({taskId:e.taskId,rootUserInput:e.rootUserInput||"Task"}):de?.hidePausedTaskBanner())}function qw(e){let t=Jr(e),n=ms();n&&ae&&ae.updateTask(n.taskId,r=>({...r,seedChatLog:t})),p?.workerState&&(p.workerState=kn({...p.workerState,seedChatLog:t,updatedAt:Date.now()}),j?.setWorkerContext(el(p.workerState)))}function tl(){if(!p||!ae)return;let e=ae.getActiveTask();if(!e)return;let t=bc(p.activeTask?.status||"running",p.activeTask?.boundaryReason),n=Wr(p.uiMessages),r=Kr(p.timeline),o=[...n].reverse().find(m=>m.role==="assistant"),i=kn(p.workerState),a=Ct(p.pendingRun),s=qe(a?.taskBoundaryId)||qe(i?.taskBoundaryId)||qe(e.boundaryId)||or()||Xr(),c=vs(p.taskTabScope,s),l=Zc(p.transientStatus,{runId:a?.id,taskId:e.taskId}),d=Jr(e.seedChatLog?.length?e.seedChatLog:i?.seedChatLog);ae.updateTask(e.taskId,m=>({...m,state:t,boundaryId:s,startedAt:Number(p?.activeTask?.startedAt)||m.startedAt,endedAt:Number(p?.activeTask?.endedAt)||void 0,lastUserAt:Number(p?.activeTask?.lastUserAt)||m.lastUserAt,lastAssistantAt:Number(p?.activeTask?.lastAssistantAt)||m.lastAssistantAt,uiMessages:n,timeline:r,workerState:i,pendingRun:a,tabScope:c,rootUserInput:i?.rootUserInput||a?.text||m.rootUserInput||Mn,summary:o?.text||m.summary,seedChatLog:d,transientStatus:l}))}function ch(e){if(!p||!ae)return;let t=AC(p,e?.preferredTaskId),n=ux(ae.listTasks(),t);if(!n&&e?.allowCreate!==!1){let o=t.boundaryId||Xr(),i=bc(p.activeTask?.status||"running",p.activeTask?.boundaryReason);n=ae.createTask("adopted_continuation",{taskId:t.taskId,state:i,boundaryId:o,startedAt:Number(p.activeTask?.startedAt)||Date.now(),endedAt:Number(p.activeTask?.endedAt)||void 0,lastUserAt:Number(p.activeTask?.lastUserAt)||void 0,lastAssistantAt:Number(p.activeTask?.lastAssistantAt)||void 0,rootUserInput:kn(p.workerState)?.rootUserInput||Ct(p.pendingRun)?.text||Mn,seedChatLog:Jr(p.workerState?.seedChatLog),tabIds:vs(p.taskTabScope,o)?.touchedTabIds||[]})}if(!n)return;e?.makeActive!==!1&&ae.getActiveTaskId()!==n.taskId&&ae.switchActiveTask(n.taskId),p.activeTaskId=ae.getActiveTaskId()||n.taskId,p.activeTask=pi({...p.activeTask||Xn("adopted_continuation"),taskId:p.activeTaskId},Xn("adopted_continuation",Date.now(),p.activeTaskId)),tl();let r=ae.toPersistedState();return p.tasks=r.tasks,p.activeTaskId=r.activeTaskId,p.taskOrder=r.taskOrder,lo(),ae.getTask(p.activeTaskId||n.taskId)}function MC(e,t=Date.now()){if(!p||e==="system")return;let n=_C("implicit");n&&n.status==="running"&&(e==="user"&&(n.lastUserAt=t),e==="assistant"&&(n.lastAssistantAt=t))}var Zp="[Rover]";function NC(e){if(!(A?.ui?.tabIndicator?.titlePrefix!==!1))return;let n=e||"[Rover: Running]",r=Dc;r||(Lc=document.title),Dc=!0,Zp=n;let o=r?document.title.replace(/^\[Rover[^\]]*\]\s*/,"")||Lc||"":document.title;if(document.title=`${n} ${o}`,!ns){let i=document.querySelector("title");i&&(ns=new MutationObserver(()=>{if(Dc&&!document.title.startsWith(Zp)){let a=document.title.replace(/^\[Rover[^\]]*\]\s*/,"");document.title=`${Zp} ${a}`}}),ns.observe(i,{childList:!0,characterData:!0,subtree:!0}))}A?.ui?.tabIndicator?.faviconBadge===!0&&bx()}function Su(){Dc&&(Dc=!1,ns&&(ns.disconnect(),ns=null),Lc!==void 0?(document.title=Lc,Lc=void 0):document.title.startsWith("[Rover] ")&&(document.title=document.title.slice(8)),yx())}function Vw(e="worker_task_active",t=Date.now()){if(ae){let n=ae.getActiveTask();n&&ae.dispatch(n.taskId,{type:"START",reason:e})}mi({type:"ensure_running",reason:e,at:t}),NC()}function LC(e="worker_task_complete",t=Date.now()){if(ae){let n=ae.getActiveTask();n&&ae.dispatch(n.taskId,{type:"COMPLETE"})}mi({type:"terminal",terminal:"completed",reason:e,at:t}),Su()}function $d(e="worker_task_failed",t=Date.now()){if(ae){let n=ae.getActiveTask();n&&ae.dispatch(n.taskId,{type:"FAIL",error:e})}mi({type:"terminal",terminal:"failed",reason:e,at:t}),Su()}function DC(e="worker_visit_ended",t=Date.now()){if(ae){let n=ae.getActiveTask();n&&ae.dispatch(n.taskId,{type:"CANCEL",reason:"ended"})}mi({type:"terminal",terminal:"ended",reason:e,at:t}),Su()}function Ww(e="worker_task_cancelled",t=Date.now()){if(ae){let n=ae.getActiveTask();n&&ae.dispatch(n.taskId,{type:"CANCEL",reason:e})}mi({type:"terminal",terminal:"cancelled",reason:e,at:t}),Su()}function ir(){oi=null,de?.setTaskSuggestion({visible:!1})}function PC(e){let t=String(e?.id||"").trim();if(!t||ho())return!1;let n=String(e?.text||"").trim()||"Continue task";return oi?.kind==="resume_run"&&oi.runId===t?!1:(oi={kind:"resume_run",runId:t,text:n,createdAt:Date.now()},de?.setTaskSuggestion({visible:!0,text:"Resume your interrupted task or cancel it?",primaryLabel:"Resume",secondaryLabel:"Cancel"}),!0)}function nl(){Un=!1,Kn=!1,Ji(),A?.siteId&&(hc(A.siteId),gw(A.siteId)),Jt?.markDirty(),Jt?.syncNow({push:!0,pull:!1})}function lh(){de?.clearMessages(),de?.clearTimeline(),de?.setQuestionPrompt(void 0),ir()}function dh(e){if(!p)return;Ut&&(clearTimeout(Ut),Ut=null),Gr=!1,Wn=0,Un=!1,Kn=!1,Qt&&(clearTimeout(Qt),Qt=null);let t=Ct(p.pendingRun),n=String(e.runId||t?.id||"").trim();n&&(fi(n),j?.releaseWorkflowLock(n),uh(n)||li(n,e.cancelReason||e.reason,{attemptImmediately:!0})),Zt(void 0),j?.setActiveRun(void 0),de?.setRunning(!1),de?.setQuestionPrompt(void 0),ir(),p.activeTask?.status==="running"?Ww(e.reason):nl(),Xt(void 0),ot("status",{event:"local_run_abandoned",reason:e.reason,runId:n||void 0}),e.timelineTitle&&_t({kind:e.timelineStatus==="error"?"error":"info",title:e.timelineTitle,detail:e.timelineDetail,status:e.timelineStatus||"info"}),e.emitError?.message&&bt("error",{message:e.emitError.message,scope:e.emitError.scope||"resume",code:e.emitError.code,runId:n||void 0})}function OC(e){if(e)return qe(e.pendingAskUser?.boundaryId||e.taskBoundaryId)}function qr(e,t){if(!e)return;let n=qe(t);if(!n)return e;let r=qe(e.taskBoundaryId);if(r&&r!==n)return;let o=qe(e.pendingAskUser?.boundaryId);if(!(o&&o!==n))return e}function hs(){if(p?.activeTask?.status!=="running"){Va="",de?.setQuestionPrompt(void 0);return}let e=or(),t=OC(p?.workerState);if(e&&t&&t!==qe(e)){Va="",de?.setQuestionPrompt(void 0);return}let n=Vr(p?.workerState?.pendingAskUser?.questions);if(!n.length){Va="",Xe&&(Xe.lastNeedsInputSignature=void 0),de?.setQuestionPrompt(void 0);return}let r=`${qe(t||e)||""}:${n.map(o=>`${o.key}:${o.query}`).join("|")}`;r!==Va&&(Va=r,is("question_prompt_boundary")),de?.setQuestionPrompt({questions:n}),c0(n)}function BC(){let e=p?.pendingRun;if(!e)return!1;if(!j)return!0;let t=j?.getState()?.activeRun;if(t?.runId&&t.runId===e.id||t?.runtimeId&&t.runtimeId!==It)return!0;let n=Date.now()-Number(e.startedAt||0);return n>=0&&n<=kR}function UC(){if(!p?.pendingRun||BC()||!j)return;let e=p.pendingRun;if(e.resumeRequired===!0&&Pd(p.activeTask?.status))return;let t=String(Ae?.getActiveRunId()||"").trim();if(t&&t===e.id||ho())return;let n=Date.now()-Number(e.startedAt||0);!Number.isFinite(n)||n<xR||(fi(e.id),li(e.id,"stale_pending_cleanup",{attemptImmediately:!0}),Zt(void 0),j?.releaseWorkflowLock(e.id),j?.setActiveRun(void 0),Ut&&(clearTimeout(Ut),Ut=null))}function Cn(e,t,n=!0,r){let o=String(t||""),i=di(r?.blocks);if(!o&&(!i||i.length===0))return;let a={id:r?.id||Oo("msg"),role:e,text:o,blocks:i,ts:r?.ts||Date.now(),sourceRuntimeId:r?.sourceRuntimeId};return de?.addMessage(a.role,a.text,{blocks:a.blocks}),p&&n&&(p.uiMessages.push(a),p.uiMessages.length>Qd&&(p.uiMessages=p.uiMessages.slice(-Qd)),MC(a.role,a.ts),Ze()),j&&r?.publishShared!==!1&&(j.appendMessage({id:a.id,role:a.role,text:a.text,blocks:a.blocks,ts:a.ts}),j.markTaskActivity(a.role,a.ts)),a}function FC(e){for(let t of e)Cn(t.role,t.text,!1,{id:t.id,ts:t.ts,sourceRuntimeId:t.sourceRuntimeId,publishShared:!1,blocks:t.blocks})}function _t(e,t=!0){let n={id:e.id||Oo("timeline"),kind:e.kind,title:en(e.title,400),detail:e.detail?String(e.detail):void 0,detailBlocks:di(e.detailBlocks),status:e.status,ts:e.ts||Date.now(),sourceRuntimeId:e.sourceRuntimeId,elementId:e.elementId,toolName:e.toolName,narration:e.narration,narrationActive:e.narrationActive,responseKind:e.responseKind,actionCue:e.actionCue};return de?.addTimelineEvent(n),p&&t&&(p.timeline.push(n),p.timeline.length>Zd&&(p.timeline=p.timeline.slice(-Zd)),Ze({markCheckpointDirty:!1})),j&&e.publishShared!==!1&&j.appendTimeline({id:n.id,kind:n.kind,title:n.title,detail:n.detail,detailBlocks:n.detailBlocks,status:n.status,ts:n.ts,elementId:n.elementId,toolName:n.toolName,narration:n.narration,narrationActive:n.narrationActive,responseKind:n.responseKind,actionCue:n.actionCue}),n}function zC(e=A){try{return Ru(e)?.debugStreaming===!0?!0:rl(e)?.discoverySurface?.mode==="debug"}catch{return!1}}function HC(e){_t({kind:"debug",title:"Frame diagnostics",detail:`${e.frameCount} iframe${e.frameCount===1?"":"s"} inspected for child element availability.`,status:"info",detailBlocks:[{type:"json",label:"Frame diagnostics",data:e}],publishShared:!1},!0)}function Cm(e){let t=Date.now();if(t-Nx<t1)return;Nx=t;let n=e instanceof Error?e.message:String(e||"Unknown upload failure");_t({kind:"debug",title:"Frame diagnostics upload failed",detail:en(n,180),status:"error",publishShared:!1},!0)}function jC(e){try{if(!A||!p?.sessionId)return;new Nd({apiBase:A.apiBase,getSessionToken:()=>Fn(A),siteId:A.siteId,sessionId:p.sessionId}).upload({diagnostics:e,runId:p.pendingRun?.id||p.activeTaskId}).then(n=>{n&&_t({kind:"debug",title:"Frame diagnostics stored",detail:"Frame diagnostics artifact uploaded for support debugging.",status:"info",detailBlocks:[{type:"json",label:"Frame diagnostics reference",data:n}],publishShared:!1},!0)}).catch(Cm)}catch(t){Cm(t)}}function Yd(e,t){if(zC())try{let n=zk(e,{captureId:`${t}-${Date.now().toString(36)}-${Math.random().toString(16).slice(2,8)}`});if(!n?.frames.length)return;let r=Hk(n),o=Date.now();if(r===Cx&&o-Mx<e1)return;Cx=r,Mx=o,HC(n),jC(n)}catch(n){Cm(n)}}function $C(e){de?.clearTimeline();for(let t of e)_t({id:t.id,kind:t.kind,title:t.title,detail:t.detail,detailBlocks:t.detailBlocks,status:t.status,ts:t.ts,sourceRuntimeId:t.sourceRuntimeId,elementId:t.elementId,toolName:t.toolName,narration:t.narration,narrationActive:t.narrationActive,responseKind:t.responseKind,actionCue:t.actionCue,publishShared:!1},!1)}function Tu(e=p?.uiMessages||[],t=p?.timeline||[]){if(de){if(typeof de.setTranscript=="function"){de.setTranscript(e,t);return}de.clearMessages(),FC(e),$C(t)}}function Kw(e,t){if(!e?.text||t?.taskStatus&&t.taskStatus!=="running")return;let n=String(t?.activeRunId||"").trim(),r=String(e.runId||"").trim(),o=String(t?.activeTaskId||"").trim(),i=String(e.taskId||"").trim();if(!(r&&!n)&&!(r&&n&&r!==n)&&!(i&&o&&i!==o))return e.text}function Gw(e=p){let t=j?.getState();return fx({localPendingRunId:e?.pendingRun?.id,sharedActiveRunId:t?.activeRun?.runId,sharedTaskId:t?.task?.taskId||t?.activeTaskId,activeTaskId:e?.activeTask?.taskId||e?.activeTaskId})}function Xt(e,t){let n=Zc(e?{text:e,runId:t?.runId||p?.pendingRun?.id,taskId:t?.taskId||p?.activeTask?.taskId||ms()?.taskId,stage:t?.stage,ts:Date.now()}:void 0,{runId:t?.runId||p?.pendingRun?.id,taskId:t?.taskId||p?.activeTask?.taskId||ms()?.taskId}),r=Kw(n,{activeRunId:Gw(p),activeTaskId:p?.activeTask?.taskId,taskStatus:p?.activeTask?.status});r?de?.setStatus(r):de?.setStatus?.(void 0),p&&(p.uiStatus=n?.text,p.transientStatus=n,tl(),Ze({markCheckpointDirty:!1})),j&&t?.publishShared!==!1&&j.setStatus(n)}function _u(e=p){let t=Kw(e?.transientStatus,{activeRunId:Gw(e),activeTaskId:e?.activeTask?.taskId,taskStatus:e?.activeTask?.status});t?de?.setStatus(t):de?.setStatus?.(void 0)}function Zi(e,t){let n=Qc(e);Ft=n;let r=t?.localLogicalTabId??j?.getLocalLogicalTabId(),o=t?.activeLogicalTabId??j?.getActiveLogicalTabId(),i=t?.holderRuntimeId??j?.getCurrentHolderRuntimeId(),a=n==="controller"&&!!(A?.allowActions??!0);Rt?.setAllowActions(a),Rt?.setActionGateContext?.({mode:n,controllerRuntimeId:i,activeLogicalTabId:o,localLogicalTabId:r,reason:Jc(n,a)}),p&&(p.executionMode=n,Ze()),Yr(),de?.setExecutionMode(n,{controllerRuntimeId:i,localLogicalTabId:r,activeLogicalTabId:o,canTakeControl:!0,canComposeInObserver:Lw(),note:Dw(n)}),bt("mode_change",{mode:n,rawMode:e,...t})}function Zt(e){p&&(e?p.pendingRun=Ct({...e,taskBoundaryId:e.taskBoundaryId||Ve}):(p.pendingRun=void 0,p.uiStatus=void 0,p.transientStatus=void 0,ii(void 0),Ym(p)||Ji()),Yc(p),Yr(),Ze())}function em(e){p&&(p.lastNavigationHandoff=Bo(e),Ze())}function Eu(){let e=Number(j?.getLocalLogicalTabId()||j?.getActiveLogicalTabId()||1);return!Number.isFinite(e)||e<=0?1:e}function gr(e){if(!p)return;let t=qe(Ve)||Xr();Ve||(Ve=t);let n=Eu(),r=e?.appendSeed!==!1,o=vs(p.taskTabScope,t);if(!!e?.forceReset||!o||qe(o.boundaryId)!==t){let c={boundaryId:t,seedTabId:n,touchedTabIds:[n],updatedAt:Date.now()};return p.taskTabScope=c,e?.persist!==!1&&Ze(),c}let a=hr(o.touchedTabIds);r&&!a.includes(n)&&a.unshift(n);let s={...o,seedTabId:Number.isFinite(Number(o.seedTabId))&&Number(o.seedTabId)>0?Number(o.seedTabId):n,touchedTabIds:a.slice(0,24),updatedAt:Date.now()};return p.taskTabScope=s,e?.persist&&Ze(),s}function Xw(e,t){if(!p)return;let n=gr({persist:!1});if(!n)return;let r=hr([n.seedTabId,...n.touchedTabIds||[],...e]),o={...n,touchedTabIds:r.slice(0,24),updatedAt:Date.now()};return p.taskTabScope=o,t?.persist!==!1&&Ze(),o}function qC(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function ea(e){if(!p)return;let t=gr({persist:!1,appendSeed:!1});if(!t||!j)return t;let n=Date.now(),r=Array.isArray(j.getState()?.tabs)?j.getState().tabs:[],o=new Set;for(let b of r){let v=Number(b?.logicalTabId);if(!Number.isFinite(v)||v<=0)continue;let S=Math.max(Number(b?.updatedAt)||0,Number(b?.openedAt)||0,Number(b?.detachedAt)||0),k=n-S;if(b.runtimeId){o.add(v);continue}if(b.external){k<=OR&&o.add(v);continue}if(b.detachedReason==="navigation_handoff"){k<=BR&&o.add(v);continue}if(b.detachedReason==="opened_pending_attach"){k<=UR&&o.add(v);continue}}let i=Number(j.getLocalLogicalTabId()),a=Number(j.getActiveLogicalTabId()),s=Number(t.seedTabId)>0?Number(t.seedTabId):Eu();Number.isFinite(i)&&i>0&&o.add(i),Number.isFinite(a)&&a>0&&o.add(a),o.size===0&&Number.isFinite(s)&&s>0&&o.add(s);let c=hr(t.touchedTabIds),l=c.filter(b=>o.has(b)),d=o.has(t.seedTabId)?t.seedTabId:Number.isFinite(i)&&i>0?i:Number.isFinite(a)&&a>0?a:s;l.includes(d)||l.unshift(d);let m=hr(l).slice(0,24);if(!(d!==t.seedTabId||!qC(m,c)))return t;let u=c.filter(b=>!m.includes(b)),h={...t,seedTabId:d,touchedTabIds:m.length?m:[d],updatedAt:Date.now()};return p.taskTabScope=h,e?.persist!==!1&&Ze(),ot("status",{event:"scoped_tab_reconciled",removedTabIds:u,scopedTabIds:h.touchedTabIds,seedTabId:h.seedTabId}),h}function Xa(){let e=ea({persist:!1})||gr({persist:!1,appendSeed:!1});if(!e)return[Eu()];let t=hr(e.touchedTabIds);return t.length?t:[e.seedTabId]}function Yw(){let e=ea({persist:!1})||gr({persist:!1,appendSeed:!1});if(e)return{boundaryId:e.boundaryId,seedTabId:e.seedTabId,touchedTabIds:hr(e.touchedTabIds)}}function VC(e,t){let n=Xi,r=po,o=ds,i,a=t;if(ae){let l=ae.listTasks(),d=ae.getActiveTask()?.taskId,m=j?.getLocalLogicalTabId(),f=l.filter(b=>b.taskId!==d&&(b.state==="completed"||b.state==="cancelled")&&!!b.endedAt).sort((b,v)=>(Number(v.endedAt)||0)-(Number(b.endedAt)||0)),h=(Number.isFinite(Number(m))&&Number(m)>0?f.filter(b=>Array.isArray(b.tabIds)&&b.tabIds.includes(Number(m))):f)[0];h&&(n=h.rootUserInput||n,r=h.summary||r,o=h.endedAt||o,i=h.uiMessages.map(b=>({role:b.role,text:b.text,ts:b.ts})),a=h.state)}let s=A?.task?.followup,c=_x({mode:s?.mode,previousTaskStatus:a,previousTaskMessages:i,previousTaskUserInput:n,previousTaskAssistantOutput:r,previousTaskCompletedAt:o,currentPrompt:e,ttlMs:eh(s?.ttlMs),minLexicalOverlap:th(s?.minLexicalOverlap)});return{chatLog:c.chatLog,reason:c.reason,overlap:c.overlap}}var ao=new Map,Mm=d1;async function WC(e){if(ao.has(e)){let o=ao.get(e);if(Date.now()-o.ts<Mm)return;ao.delete(e)}let t=Date.now();for(let[o,i]of ao)t-i.ts>=Mm&&ao.delete(o);let n=p?.pendingRun?.id;if(!n||!Ae)return;let r=await Ae.fetchExternalContext({runId:n,url:e,source:"direct_url"});r&&(ao.set(e,{data:r,ts:Date.now()}),iu(ao,l1))}function KC(e){let t=ao.get(e);if(t){if(Date.now()-t.ts>=Mm){ao.delete(e);return}return t.data}}function GC(e){let t=String(e||"").trim();return t===bm.read||t===bm.act}function Sc(e){let t=String(e.code||"EXTERNAL_CONTEXT_FAILED").trim()||"EXTERNAL_CONTEXT_FAILED",n=String(e.message||"External context request failed").trim()||"External context request failed";return{success:!1,error:`${t}: ${n}`,allowFallback:e.retryable!==!1,output:{success:!1,error:{code:t,message:n,retryable:e.retryable===!0,status:Number.isFinite(Number(e.status))?Number(e.status):void 0},details:e.details}}}async function XC(e){let t=String(e.call?.name||"").trim(),n=e.call?.args&&typeof e.call.args=="object"?e.call.args:{},r=t===bm.act?"act":"read_context",o=Number(n.tab_id),i=Number.isFinite(o)&&o>0?Math.trunc(o):Number.isFinite(Number(e.routeTabId))&&Number(e.routeTabId)>0?Math.trunc(Number(e.routeTabId)):void 0,a=j?.listTabs({scope:"all"})||[],s=i?a.find(u=>u.logicalTabId===i):void 0,l=String(n.url||"").trim()||String(s?.url||"").trim(),d=String(n.message||n.user_input||"").trim()||void 0,m=String(n.source||"").trim().toLowerCase()==="google_search"?"google_search":"direct_url";if(!l)return Sc({code:"MISSING_URL",message:"External context tools require a target url or tab with a url.",retryable:!1});if(!Ae)return Sc({code:"RUNTIME_UNAVAILABLE",message:"Rover server runtime is not initialized.",retryable:!0});let f=String(p?.pendingRun?.id||Ae.getActiveRunId()||Xc||"").trim()||void 0;if(!f)return Sc({code:"NO_ACTIVE_RUN",message:"External context tools can only run during an active run.",retryable:!1});try{let u=KC(l);if(u)return u;let h=await Ae.fetchExternalContext({runId:f,tabId:i,url:l,intent:r,message:d,source:m});if(!h)return Sc({code:"EMPTY_RESPONSE",message:"Server returned no external context response.",retryable:!0});let v=(h.pageData&&typeof h.pageData=="object"?h.pageData:void 0)||h;return{success:!0,output:{...v,metadata:{...v&&typeof v=="object"?v.metadata||{}:{},external:!0,accessMode:"external_scraped",logicalTabId:i,sourceTool:t},intent:r}}}catch(u){let h=String(u?.code||"").trim().toUpperCase()||"EXTERNAL_CONTEXT_FAILED",b=Number(u?.status),v=b>=500||h==="STALE_SEQ"||h==="STALE_EPOCH";return Sc({code:h,message:String(u?.message||"External context request failed"),retryable:v,status:Number.isFinite(b)?b:void 0,details:u?.details})}}function ta(e){let t=Xa(),n=A?rl(A):void 0,r=String(n?.siteUrl||A?.agentDiscovery?.siteUrl||(typeof window<"u"?`${window.location.origin}/`:"")).trim(),o=String(n?.siteName||A?.ui?.agent?.name||A?.ui?.experience?.presence?.assistantName||(typeof document<"u"?document.title:"")||"").trim();return{taskBoundaryId:Ve,taskTabScope:Yw(),scopedTabIds:t,...o?{siteName:o.slice(0,120)}:{},...r?{siteUrl:r.slice(0,240)}:{},...e||{}}}var $x="";function Ir(e){if(!lt)return;let t=ta(e),n=JSON.stringify(t);n!==$x&&($x=n,lt.postMessage({type:"update_config",config:t}))}function Jw(e,t){let n=String(e||"").trim();if(!n||!lt)return;if(Ft==="observer"){if(ho()){Cn("system","This tab is read-only while another tab is actively running Rover.",!0),_t({kind:"info",title:"Observer mode",detail:"Input is disabled while the active run is controlled by another tab.",status:"info"});return}if(!(j?.requestControl()??!1)){Cn("system","Unable to take control right now because another tab is still running Rover actions.",!0),_t({kind:"info",title:"Observer mode",detail:"Action execution is currently owned by another tab runtime.",status:"info"});return}let h=j?.getLocalLogicalTabId(),b=j?.getActiveLogicalTabId(),v=j?.getCurrentHolderRuntimeId()||It;Zi("controller",{localLogicalTabId:h,activeLogicalTabId:b,holderRuntimeId:v});let S=!!(A?.allowActions??!0);Rt?.setAllowActions(S),Rt?.setActionGateContext?.({mode:"controller",controllerRuntimeId:v,activeLogicalTabId:b,localLogicalTabId:h,reason:Jc("controller",S)})}let r=t?.runId||crypto.randomUUID(),o=!!t?.resume,i=t?.appendUserMessage!==!1,s=(t?.askUserAnswers?uu(r):void 0)||n;wm(r),i&&Cn("user",n,!0);let c=p?.pendingRun?.id===r?p.pendingRun.attempts:0,l=p?.pendingRun?.id===r&&p.pendingRun.taskBoundaryId||Ve;Xw([Eu()],{persist:!0});let d=Xa(),m=Jr(Array.isArray(t?.seedChatLog)?t.seedChatLog:RC());so=!1,Zt({id:r,text:s,startedAt:Date.now(),attempts:o?c+1:0,autoResume:t?.autoResume!==!1,taskBoundaryId:l,resumeRequired:!1,resumeReason:void 0}),Vw(o?"worker_task_resumed":"worker_task_active"),Mn=s,p&&(p.workerState=kn({...p.workerState||{},taskBoundaryId:l,rootUserInput:p.workerState?.rootUserInput||s,seedChatLog:m,history:p.workerState?.history||[],plannerHistory:p.workerState?.plannerHistory||[],agentPrevSteps:p.workerState?.agentPrevSteps||[],updatedAt:Date.now()}),j?.setWorkerContext(el(p.workerState))),qw(m),j?.acquireWorkflowLock(r),j?.setActiveRun({runId:r,text:s}),lt.postMessage({type:"run",text:n,runId:r,trajectoryId:p?.workerState?.trajectoryId,resume:o,preserveHistory:!!t?.preserveHistory,seedChatLog:m,routing:t?.routing,askUserAnswers:t?.askUserAnswers,files:ah(t?.files),narrationEnabledForRun:t?.narrationEnabledForRun===!0,narrationPreferenceSource:t?.narrationPreferenceSource==="visitor"?"visitor":"default",narrationRunKind:t?.narrationRunKind==="guide"||t?.narrationRunKind==="task"?t.narrationRunKind:void 0,narrationLanguage:t?.narrationLanguage,scopedTabIds:d,taskTabScope:Yw()}),Qt&&clearTimeout(Qt);let f=r;Qt=setTimeout(()=>{p?.pendingRun?.id===f&&(dh({reason:"run_timeout_terminal",statusText:"Task timed out.",runId:f,cancelReason:"run_timeout_terminal",timelineTitle:"Run timed out",timelineDetail:"Task timed out after 5 minutes with no response.",timelineStatus:"error",emitError:{message:"Run safety timeout",scope:"run_timeout",code:"RUN_TIMEOUT"}}),Cn("system","Task timed out after 5 minutes with no response.",!0)),Qt=null},5*6e4)}async function YC(e,t){let n=eC(e,t?.askUserAnswers);if(!n)return;UC();let r=p?.activeTask?.status,o=Vr(p?.workerState?.pendingAskUser?.questions).length,i=p?.workerState?.pendingAskUser?.boundaryId,a=Sx({startNewTask:!!t?.startNewTask,taskStatus:r,pendingAskUserQuestionCount:o,hasAskUserAnswers:!!t?.askUserAnswers,pendingAskUserBoundaryId:i,currentTaskBoundaryId:Ve}),s=!a,c=s?t?.continueRunId||p?.pendingRun?.id||Ae?.getActiveRunId():void 0,l=a?VC(n,r):{reason:"mode_disabled",overlap:0},d=a?await p1({userText:n,isFreshTask:!0,pageUrl:window.location.href,taskId:String(p?.activeTask?.taskId||"").trim()||void 0,taskBoundaryId:qe(Ve),visitorId:Yt,visitor:$r}):[],m=Jr([...d,...l.chatLog||[]]),f=Array.isArray(t?.attachments)?t.attachments.filter(x=>x instanceof File):[];if(ot("status",{event:"task_boundary_decision",startFreshTask:a,askUserContinuation:s,pendingAskUserQuestionCount:o,activeTaskStatus:r||"none"}),ot("status",{event:"followup_chat_cue",attached:m.length>0,reason:l.reason,overlap:l.overlap}),j?.pruneTabs(a?{dropRuntimeDetached:!0,keepOnlyActiveLiveTab:!0,keepRecentExternalPlaceholders:!0}:{dropRuntimeDetached:!0}),a){let x=!!p?.pendingRun,C=t?.reason||(r==="completed"?"auto_after_task_complete":r==="running"?"auto_new_prompt_boundary":"auto_after_task_end");if(ot("status",{event:"task_boundary_reset",reason:C,hadActiveRun:x}),ae&&r==="running"){let _=ae.getActiveTask();_&&(_.uiMessages=p?.uiMessages||[],_.timeline=p?.timeline||[],_.rootUserInput=_.rootUserInput||Mn)}if(cl({reason:C,clearUi:!0}),ae){let _=ae.getActiveTask();_&&(_.rootUserInput=n,_.seedChatLog=m),lo()}x&&Ae&&await new Promise(_=>setTimeout(_,50))}ir();let u=c,h=t?.routing,b=[];if(f.length>0)try{_t({kind:"tool_start",title:f.length===1?"Uploading attachment":"Uploading attachments",detail:f.map(x=>x.name).join(", "),status:"pending"}),b=await aC(f),_t({kind:"tool_result",title:b.length===1?"Attachment ready":`${b.length} attachments ready`,detail:b.map(x=>x.displayName).join(", "),status:"success"})}catch(x){let C=String(x?.message||"attachment upload failed");_t({kind:"error",title:"Attachment upload failed",detail:C,status:"error"}),Cn("system",`Unable to attach files: ${C}`,!0),Xt(`Attachment upload failed (${C})`),bt("error",{message:C,scope:"attachment_upload"});return}if(Ae&&A)try{let x=await Ae.submitRunInput({message:n,files:b,clientEventId:crypto.randomUUID(),continueRun:s,forceNewRun:a,runId:s?c:void 0,requestedMode:t?.routing||A.taskRouting?.mode||"act"});if(!x)throw new Error("Server run/input returned no data; run was not accepted.");Number.isFinite(Number(x.epoch||x.currentEpoch))&&(No=Math.max(1,Number(x.epoch||x.currentEpoch)));let C=typeof x.runId=="string"&&x.runId.trim()?x.runId.trim():"";if(!C){let _=String(x?.conflict?.type||"").trim();if(_==="active_run_exists"&&Ae&&a){let I=x?.conflict?.runId||x.runId;if(I){await Ae.controlRun({action:"cancel",runId:I,reason:"stale_run_cleanup"});let M=await Ae.submitRunInput({message:n,files:b,clientEventId:crypto.randomUUID(),continueRun:!1,forceNewRun:!0,requestedMode:t?.routing||A.taskRouting?.mode||"act"});M?.runId&&(u=M.runId.trim(),ii(u),(M.acceptedMode==="act"||M.acceptedMode==="planner")&&(h=M.acceptedMode))}}if(!u){let I=String(x.decisionReason||_||x.message||"run_not_accepted").trim();throw new Error(`Server did not accept this run (${I}).`)}}u||(u=C),ii(u),(x.acceptedMode==="act"||x.acceptedMode==="planner")&&(h=x.acceptedMode)}catch(x){let C=String(x?.message||"server run submission failed");ii(void 0),_t({kind:"error",title:"Run start failed",detail:C,status:"error"}),Cn("system",`Unable to start task: ${C}`,!0),Xt(`Task could not start (${C})`),bt("error",{message:C,scope:"run_input"});return}let v=t?.narrationEnabledForRun??dm,S=t?.narrationPreferenceSource||um,k=t?.narrationLanguage||cs;Jw(n,{runId:u,appendUserMessage:!0,resume:!1,preserveHistory:!1,seedChatLog:m,autoResume:!0,routing:h,askUserAnswers:t?.askUserAnswers,files:b,narrationEnabledForRun:v===!0,narrationPreferenceSource:S==="visitor"?"visitor":"default",narrationRunKind:t?.narrationRunKind==="guide"||t?.narrationRunKind==="task"?t.narrationRunKind:void 0,narrationLanguage:k})}function Er(e,t){YC(e,t)}function Tc(e,t){dh({reason:e,statusText:t||e,cancelReason:e})}function uh(e){let t=String(e||"").trim();if(!t)return!1;let n=j?.getWorkflowLockInfo();if(!n?.locked||!n.holderRuntimeId||n.holderRuntimeId===It||n.runId!==t)return!1;let r=j?.listTabs({scope:"all"}).find(o=>o.runtimeId===n.holderRuntimeId);return r?Number(r.updatedAt)>Date.now()-5e3:!1}function _c(e=450,t){Ut||(Ut=setTimeout(()=>{Ut=null,fo(t)},Math.max(120,e)))}function JC(e,t){Gr=!0,Un=!1,Kn=!1,ir(),Xt("Resuming interrupted task...");let n=e.text?.trim()||p?.workerState?.rootUserInput?.trim()||Mn?.trim()||"Continue the current task on this page";ot("status",{event:"resume_dispatch",source:t,runId:e.id}),Jw(n,{runId:e.id,resume:!0,appendUserMessage:!1,autoResume:!0})}function fo(e){if(!p?.pendingRun){Ut&&(clearTimeout(Ut),Ut=null),Wn=0;return}let t=Ct(p.pendingRun);if(!t||(Ft==="observer"&&!ho()&&Zi("controller",{localLogicalTabId:j?.getLocalLogicalTabId(),activeLogicalTabId:j?.getActiveLogicalTabId(),holderRuntimeId:j?.getCurrentHolderRuntimeId()}),Ft==="observer")||Gr)return;if(!Ar||!lt){_c(250,e);return}let n=p.activeTask?.status;if(jp(n)){Tc("terminal_task","Previous task already ended.");return}if(!Pd(n)||!t.autoResume)return;if(Qm(A?.task?.resume?.mode)!=="crash_only"){Tc("unsupported_resume_mode","Previous task dismissed.");return}if(t.resumeRequired!==!0){let l=Date.now()-Number(t.startedAt||0),d=su(A?.task?.resume?.ttlMs);if(Number.isFinite(l)&&l>=0&&l<d)t.resumeRequired=!0,t.resumeReason=t.resumeReason||"worker_interrupted",Zt(t);else{Ut&&(clearTimeout(Ut),Ut=null),Wn=0,ir();return}}let o=Jm(A?.task?.autoResumePolicy),i=uh(t.id),a=rx({policy:o,resumeRequired:t.resumeRequired===!0,hasLiveRemoteController:i});if(a==="prompt_resume"&&(t.resumeReason==="agent_navigation"||t.resumeReason==="cross_host_navigation"||t.resumeReason==="worker_interrupted"||t.resumeReason==="page_reload")&&(a="auto_resume"),e?.overridePolicyAction&&a!=="defer_remote_owner"&&a!=="noop"&&(a=e.overridePolicyAction),a==="defer_remote_owner"){_c(650,e);return}if(a==="cancel_resume"){Tc("resume_policy_never","Previous task cancelled by resume policy."),_t({kind:"info",title:"Resume cancelled",detail:"Auto-resume policy is set to never, so the interrupted run was cancelled.",status:"info"});return}if(!Kn&&I1(t)&&(Kn=!0),!Kn&&(t.resumeReason==="worker_interrupted"||t.resumeReason==="agent_navigation"||t.resumeReason==="page_reload")&&(Kn=!0),!Kn&&A1(t)){_c(320,e);return}if(Kn||(Kn=!0),i){_c(650,e);return}if(Ut&&(clearTimeout(Ut),Ut=null),!ls&&!e?.overridePolicyAction){if(Wn+=1,ot("status",{event:"resume_blocked_no_session",reason:"session_not_ready",attempt:Wn,runId:t.id}),Wn<yR){Xt("Preparing secure resume...");let l=Math.min(2e3,240+Wn*160);_c(l,e);return}Wn=0,Un=!1,ls=!0}Wn=0;let s=su(A?.task?.resume?.ttlMs),c=Date.now()-Number(t.startedAt||0);if(!Number.isFinite(c)||c<0||c>s){Tc("resume_ttl_expired","Previous task expired.");return}if(t.attempts>=pR){Tc("resume_attempt_limit","Previous task dismissed.");return}if(a==="prompt_resume"){PC(t)&&(Xt("Resume available. Choose Resume or Cancel."),ot("status",{event:"resume_prompt_shown",runId:t.id}));return}JC(t,e?.overridePolicyAction==="auto_resume"?"manual_resume_confirm":`policy_${o}`)}function Qw(e){if(!Vp({localUpdatedAt:Number(e.localState.updatedAt)||0,incomingUpdatedAt:Number(e.incomingState.updatedAt)||0,localState:e.localState,incomingState:e.incomingState,crossDomainResumeActive:!!e.allowRicherIncomingOnResume&&Un}))return!1;if(!e.allowRicherIncomingOnResume||!Un)return!0;let n=qp({localState:e.localState,incomingState:e.incomingState});return n.exactRunMatch||n.exactBoundaryMatch?!0:!(n.localRunId||n.localBoundaryId)}function qx(e,t,n,r,o){return{pendingRun:o?.includePendingIdentity!==!1&&t?{id:t.id,resumeRequired:t.resumeRequired,taskBoundaryId:t.taskBoundaryId}:void 0,activeTask:n?{status:n}:void 0,workerState:e,taskEpoch:r}}function Zw(e){return e.incomingWorkerState?e.localWorkerState?Vp({localUpdatedAt:Number(e.localUpdatedAt)||Number(e.localWorkerState.updatedAt)||0,incomingUpdatedAt:Number(e.incomingUpdatedAt)||Number(e.incomingWorkerState.updatedAt)||0,localState:qx(e.localWorkerState,e.fallbackPendingRun,e.taskStatus,e.taskEpoch,{includePendingIdentity:!0}),incomingState:qx(e.incomingWorkerState,void 0,e.taskStatus,e.taskEpoch,{includePendingIdentity:!1}),crossDomainResumeActive:!!e.allowRicherIncomingOnResume&&Un}):!0:!1}function e0(e){if(pi(e.localState.activeTask,Xn("compat_local")).status!=="running")return!0;let n=Math.max(1,Number(e.localState.taskEpoch)||1),r=Math.max(1,Number(e.incomingState.taskEpoch)||1);if(r<n)return!1;if(r>n)return!0;let o=qe(Yi(e.localState)),i=qe(Yi(e.incomingState));return o&&i?o===i:!(o&&!i||!o&&i)}async function QC(e,t){if(!p)return;let n=await mC(e,t);if(!n||!p)return;let r=Vc({...n,sessionId:p.sessionId,runtimeId:It},p.sessionId,It);if(!Qw({localState:p,incomingState:r,allowRicherIncomingOnResume:!0})||!e0({localState:p,incomingState:r}))return;let o=Math.max(1,Number(p.taskEpoch)||1),i=Math.max(1,Number(r.taskEpoch)||1),a=Yi(r);Ki({source:"indexeddb_checkpoint",incomingBoundaryId:a,taskEpochAdvanced:i>o,allowBootstrapAdoption:!0})&&(p=Vc({...p,...r,sessionId:p.sessionId,runtimeId:It},p.sessionId,It),Yc(p),us({rotateIfMissing:!Ve}),ea({persist:!1}),ch({preferredTaskId:r.activeTaskId||r.activeTask?.taskId}),Ze(),de&&(Tu(p.uiMessages,p.timeline),_u(p),hs(),p.uiHidden?de.hide():(de.show(),p.uiOpen?de.open():de.close())),Ar&<&&Ir(),Ar&<&&p.workerState&&Ft==="controller"&&(lt.postMessage({type:"hydrate_state",state:p.workerState}),bt("context_restored",{source:"indexeddb_checkpoint",ts:Date.now()})))}var tm=!1;function fh(e,t){if(p&&!tm){tm=!0;try{if(t==="remote"){let r=Math.max(1,Number(p.taskEpoch)||1),o=Math.max(1,Number(e.taskEpoch)||1),i=o>r;p.taskEpoch=Math.max(r,o);let a=p.activeTask||Xn("shared_sync");p.activeTask=Hw(e.task,a),i&&(p.uiMessages=[],p.timeline=[],lh(),Zt(void 0),p.workerState=void 0,Ve=Xr(),p.taskTabScope=void 0,gr({forceReset:!0,persist:!1}),Ir(),ir());let s=Wr(e.uiMessages),c=new Set(s.map(x=>x.id)),l=p.uiMessages,d=p.uiMessages.filter(x=>x.role==="user"&&x.sourceRuntimeId===It&&!c.has(x.id)).length;d>0&&ot("status",{event:"local_message_preserved",count:d});let m=vC(l,s),f=m.length!==l.length||m.some((x,C)=>{let _=l[C];return _?_.id!==x.id||_.ts!==x.ts||_.role!==x.role||_.text!==x.text:!0});f&&(p.uiMessages=m);let u=Kr(e.timeline),h=p.timeline,b=xC(h,u),v=b.length!==h.length||b.some((x,C)=>{let _=h[C];return _?_.id!==x.id||_.ts!==x.ts||_.kind!==x.kind||_.title!==x.title||_.detail!==x.detail:!0});v&&(p.timeline=b),(f||v)&&Tu(p.uiMessages,p.timeline),Xt(typeof e.transientStatus?.text=="string"?String(e.transientStatus.text):typeof e.uiStatus=="string"?e.uiStatus:void 0,{publishShared:!1,runId:e.transientStatus?.runId||e.activeRun?.runId,taskId:e.transientStatus?.taskId||e.task?.taskId,stage:e.transientStatus?.stage});let S=p.activeTask?.status,k=e.task?.status;if(e.activeRun&&e.activeRun.runtimeId!==It&&!Hp({localTaskStatus:S,remoteTaskStatus:k,mode:Ft,hasRemoteActiveRun:!0}))if(String(e.activeRun.runtimeId||"").trim()!==""||ho()||Qc(Ft)==="observer")Zt(void 0);else{let _=Ct(p.pendingRun),I=qe(e.workerContext?.taskBoundaryId);zp({taskStatus:S,localPendingRunId:_?.id,localPendingTaskBoundaryId:_?.taskBoundaryId,currentTaskBoundaryId:Ve,candidateRunId:e.activeRun.runId,candidateRunText:e.activeRun.text,candidateTaskBoundaryId:I,ignoredRunIds:_r})&&Zt(Ct({id:e.activeRun.runId,text:e.activeRun.text,startedAt:e.activeRun.startedAt,attempts:_?.attempts||0,autoResume:!0,taskBoundaryId:_?.taskBoundaryId||I||Ve,resumeRequired:_?.resumeRequired===!0,resumeReason:_?.resumeReason}))}else{let x=Hp({localTaskStatus:S,remoteTaskStatus:k,mode:Ft,hasRemoteActiveRun:!!e.activeRun}),_=Ct(p.pendingRun)?.resumeRequired===!0&&Pd(S);x&&!_&&(p.pendingRun?.id&&fi(p.pendingRun.id),Zt(void 0),k&&k!=="running"&&nl())}if(Ft==="observer"&&Zi("observer",{localLogicalTabId:j?.getLocalLogicalTabId(),activeLogicalTabId:j?.getActiveLogicalTabId(),holderRuntimeId:j?.getCurrentHolderRuntimeId()}),e.workerContext){let x=kn(e.workerContext),C=Number(p.workerState?.updatedAt)||0,_=Number(x?.updatedAt)||0;x&&Zw({localWorkerState:p.workerState,incomingWorkerState:x,fallbackPendingRun:Ct(p.pendingRun),taskStatus:p.activeTask?.status,taskEpoch:p.taskEpoch,localUpdatedAt:C,incomingUpdatedAt:_,allowRicherIncomingOnResume:!0})&&Ki({source:"shared_worker_context",incomingBoundaryId:x.taskBoundaryId,taskEpochAdvanced:i,allowBootstrapAdoption:!0})&&(p.workerState=qr(x,or()),us(),Ar&<&&Ft==="controller"&&(Ir(),lt.postMessage({type:"hydrate_state",state:p.workerState}),bt("context_restored",{source:"shared_session",ts:Date.now()})))}}if(p.uiMessages=Wr(p.uiMessages),p.timeline=Kr(p.timeline),p.workerState=qr(kn(p.workerState),or()),Yc(p),us(),ea({persist:!1}),Ar&<&&Ft==="controller"&&Ir(),Yr(),hs(),p.activeTask=pi(p.activeTask,Xn("implicit")),ch(),j&&ae){let r=new Map;for(let o of ae.listTasks())for(let i of o.tabIds)r.set(i,o.taskId);j.setTaskTabMapping(r)}let n=A?.ui?.tabIndicator?.widgetTabBar!==!1;if(de&&e.tabs&&n){let r=j?.getLocalLogicalTabId(),o=j?.getActiveLogicalTabId(),i=(e.tabs||[]).filter(a=>a&&typeof a.logicalTabId=="number").map(a=>({logicalTabId:a.logicalTabId,url:String(a.url||""),title:typeof a.title=="string"?a.title:void 0,isActive:a.logicalTabId===o,isCurrent:a.logicalTabId===r,external:!!a.external,taskId:ae?.getTaskForTab(a.logicalTabId)?.taskId}));i.length>1?de.setTabs(i):de.setTabs([])}else de&&de.setTabs([]);if(t==="local")return;Ze()}finally{tm=!1}}}function ph(e){let t=Xn("checkpoint_clone");return{version:Pm,sessionId:e.sessionId,runtimeId:e.runtimeId,uiOpen:!!e.uiOpen,uiHidden:!!e.uiHidden,uiStatus:typeof e.uiStatus=="string"?en(e.uiStatus,300):void 0,transientStatus:Zc(e.transientStatus??e.uiStatus,{runId:e.pendingRun?.id,taskId:e.activeTask?.taskId}),uiMessages:Wr(e.uiMessages),timeline:Kr(e.timeline),executionMode:e.executionMode==="observer"||e.executionMode==="controller"?e.executionMode:"controller",workerState:kn(e.workerState),pendingRun:Ct(e.pendingRun),taskTabScope:vs(e.taskTabScope,Ct(e.pendingRun)?.taskBoundaryId||kn(e.workerState)?.taskBoundaryId),lastNavigationHandoff:Bo(e.lastNavigationHandoff),tasks:e.tasks?{...e.tasks}:{},activeTaskId:e.activeTaskId,taskOrder:e.taskOrder?[...e.taskOrder]:[],taskEpoch:Math.max(1,Number(e.taskEpoch)||1),activeTask:pi(e.activeTask,t),lastRoutingDecision:e.lastRoutingDecision&&(e.lastRoutingDecision.mode==="act"||e.lastRoutingDecision.mode==="planner")?{mode:e.lastRoutingDecision.mode,score:Number(e.lastRoutingDecision.score)||void 0,reason:e.lastRoutingDecision.reason,ts:Number(e.lastRoutingDecision.ts)||Date.now()}:void 0,updatedAt:Number(e.updatedAt)||Date.now()}}function ZC(e){return!(e.sessionScope==="tab"||e.checkpointing?.enabled===!1||!Fn(e)||!Yt)}function eM(){if(!p||!A||!Yt)return null;let e=j?.getState(),t=ph(p),n=Math.max(Number(e?.updatedAt||0),Number(t.updatedAt||0)),r=n>0?n:Date.now();return{version:Zx,siteId:A.siteId,visitorId:Yt,sessionId:p.sessionId,updatedAt:r,sharedState:e,runtimeState:t}}function t0(e){if(!e||typeof e!="object"||!p||!A||e.siteId&&e.siteId!==A.siteId||Yt&&e.visitorId&&e.visitorId!==Yt)return;let t=typeof e.sessionId=="string"&&e.sessionId.trim()?e.sessionId.trim():p.sessionId;ss=!0;try{if(t&&p.sessionId!==t&&(p.sessionId=t,A={...A,sessionId:t},pu(A),Ir({sessionId:t})),e.sharedState&&j&&j.hydrateExternalState(e.sharedState)&&(fh(j.getState(),"remote"),Zi(j.getRole(),{localLogicalTabId:j.getLocalLogicalTabId(),activeLogicalTabId:j.getActiveLogicalTabId(),holderRuntimeId:j.getCurrentHolderRuntimeId()})),e.runtimeState&&typeof e.runtimeState=="object"){let n=Vc({...e.runtimeState,sessionId:t,runtimeId:It},t,It);if(Qw({localState:p,incomingState:n,allowRicherIncomingOnResume:!0})){if(!e0({localState:p,incomingState:n}))return;let r=Math.max(1,Number(p.taskEpoch)||1),o=Math.max(1,Number(n.taskEpoch)||1),i=Yi(n);if(!Ki({source:"cloud_checkpoint",incomingBoundaryId:i,taskEpochAdvanced:o>r,allowBootstrapAdoption:!0}))return;p=Vc({...p,...n,sessionId:t,runtimeId:It},t,It),Yc(p),us(),p.workerState=qr(p.workerState,or()),ea({persist:!1}),ch({preferredTaskId:n.activeTaskId||n.activeTask?.taskId}),Ze(),_u(p),p.uiHidden?de?.hide():(de?.show(),p.uiOpen?de?.open():de?.close()),Ar&&Ir(),Ar&&p.workerState&&(lt?.postMessage({type:"hydrate_state",state:p.workerState}),bt("context_restored",{source:"cloud_checkpoint",ts:Date.now()})),Ft==="controller"&&fo(),Un=!1}}}finally{ss=!1}}function mh(e){if(Jt?.stop(),Jt=null,!ZC(e)||!Yt)return;let t=Fn(e);if(!t){bt("checkpoint_token_missing",{reason:"missing_or_invalid_session_token",expectedPrefix:"rvrsess_",action:"disabled_cloud_checkpoint_client"});return}try{let n=r=>{bt("checkpoint_state",r),e.checkpointing?.onStateChange?.(r)};Jt=new Id({apiBase:e.apiBase,authToken:t,getSessionToken:()=>Fn(A),shouldSync:()=>Ft==="controller"&&!Un&&!Qi(),siteId:e.siteId,visitorId:Yt,ttlHours:e.checkpointing?.ttlHours??1,flushIntervalMs:e.checkpointing?.flushIntervalMs,pullIntervalMs:e.checkpointing?.pullIntervalMs,minFlushIntervalMs:e.checkpointing?.minFlushIntervalMs,maxSnapshotBytes:fs(e.stability?.maxSnapshotBytes,Wt.snapshotBytes),shouldWrite:()=>Ft==="controller"&&!Un&&!Qi(),buildCheckpoint:()=>eM(),onCheckpoint:r=>{t0(r)},onStateChange:(r,o)=>{n({state:r,reason:o.reason,action:o.action,code:o.code,message:o.message}),r==="paused_auth"&&bt("checkpoint_error",{action:o.action,code:o.code||"INVALID_API_KEY",message:o.message||"Checkpoint sync paused due to auth failure.",disabled:!0,reason:o.reason||"auth_failed"})},onError:(r,o)=>{e.checkpointing?.onError?.(o),o.paused||bt("checkpoint_error",{action:o.action,code:o.code,message:o.message,status:o.status,disabled:!1,reason:"transient_failure"})}}),Jt.start(),Jt.markDirty(),Rw()}catch{Jt=null}}function pu(e){if(!p)return;if(j?.stop(),j=null,e.sessionScope==="tab"){Zi("controller");return}j=new md({siteId:e.siteId,sessionId:p.sessionId,runtimeId:It,leaseMs:e.tabPolicy?.actionLeaseMs,onRoleChange:(r,o)=>{let i=Qc(r);Zi(i,o);let a=jr;jr=i==="controller",a!==jr&&(jr?(Yr(!0),A&&mo(A)):Yr(!0));let s=i==="controller"&&(A?.allowActions??!0);if(Rt?.setAllowActions(s),Rt?.setActionGateContext?.({mode:i,controllerRuntimeId:o?.holderRuntimeId??j?.getCurrentHolderRuntimeId(),activeLogicalTabId:o?.activeLogicalTabId??j?.getActiveLogicalTabId(),localLogicalTabId:o?.localLogicalTabId??j?.getLocalLogicalTabId(),reason:Jc(i,s)}),i==="controller"){gr({persist:!0,appendSeed:!1}),ea({persist:!0});let c=j?.getWorkerContext();if(c){let l=kn(c),d=Number(p?.workerState?.updatedAt)||0,m=Number(l?.updatedAt)||0;l&&m>d+100&&Ki({source:"controller_handoff",incomingBoundaryId:l.taskBoundaryId,allowBootstrapAdoption:!0})&&(p&&(p.workerState=qr(l,or()),us(),Ze()),Ar&<&&(Ir(),lt.postMessage({type:"hydrate_state",state:p?.workerState}),bt("context_restored",{source:"controller_handoff",ts:Date.now()})))}fo()}},onStateChange:(r,o)=>{fh(r,o)},onSwitchRequested:r=>{r>0&&(Nn(),_t({kind:"status",title:`Switched to tab #${r}`,status:"info"}))},onTaskTabsExhausted:r=>{ae&&(ae.dispatch(r,{type:"PAUSE",reason:"all_tabs_closed"}),lo(),Ze(),de?.showPausedTaskBanner({taskId:r,rootUserInput:ae.getTask(r)?.rootUserInput||"Task"}))}}),j.onSessionTokenReceived=(r,o)=>{jr||lu(r,o)},j.onProjectionReceived=r=>{!jr&&r&&xm(r)};let t=Km();j.start(fw(t)),gr({persist:!0,appendSeed:!1}),ea({persist:!0}),Ct(p?.pendingRun)?.resumeRequired===!0&&j.requestControl(),p?.lastNavigationHandoff&&t&&(p.lastNavigationHandoff=Bo({...p.lastNavigationHandoff,consumed:!0}),Ze()),j.setRpcRequestHandler(async r=>{if(!Rt)throw new Error("Bridge not available");if(r.method==="getPageData"){let o=await Rt.getPageData(r.params);return Yd(o,"rpc-local"),o}if(r.method==="executeTool")return Rt.executeTool(r.params.call,r.params.payload);throw new Error(`Unknown RPC method: ${r.method}`)}),p?.activeTask&&j.syncTask({...p.activeTask,taskId:p.activeTask.taskId},p.taskEpoch),p?.workerState&&j.setWorkerContext(el(p.workerState))}function tM(e){e&&co.delete(e),de?.clearTimeline(),p&&(p.timeline=[]),j?.clearTimeline()}function Nm(e){return e==="checkpoint"||e==="final"||e==="question"||e==="error"?e:void 0}function Vx(e){return e==="question"?"Needs input":e==="error"?"Response error":e==="final"?"Final response":"Step response"}function nM(e){if(!(!e||typeof e!="object")&&(typeof e.executionId=="string"&&e.executionId.trim()&&!e.runId&&(e={...e,runId:e.executionId.trim()}),!Z1(e))){if(e.type==="assistant"){let t=di(e.blocks),n=String(e.text||Ow(t)||""),r=Nm(e.responseKind);typeof e.runId=="string"&&e.runId&&(co.set(e.runId,n),iu(co,s1)),Cn("assistant",n,!0,{blocks:t}),_t({kind:r?"assistant_response":"tool_result",title:r?Vx(r):"Assistant update",detail:n,detailBlocks:t,status:r==="error"?"error":"success",narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0,responseKind:r}),Hr("assistant_output",{text:n,blocks:t},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="assistant_response"){let t=Nm(e.responseKind)||"checkpoint",n=String(e.text||e.narration||"").trim();_t({kind:"assistant_response",title:typeof e.title=="string"&&e.title.trim()?e.title.trim():Vx(t),detail:n||void 0,status:t==="error"?"error":t==="final"?"success":"info",narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0,responseKind:t}),Hr("assistant_output",{text:n,responseKind:t,narration:typeof e.narration=="string"?e.narration:void 0},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="status"){let t=Aw(e.stage),n=e.message?String(e.message):void 0,r=e.compactThought?String(e.compactThought):void 0,o=q1(n,t,r);if(n&&Xt(n,{runId:typeof e.runId=="string"?e.runId:p?.pendingRun?.id,taskId:p?.activeTask?.taskId,stage:t}),o&&o!==Fd&&(Fd=o,n)){let i=!!(e.thought||r),a=r||(e.thought?String(e.thought):"");if(i&&t!=="analyze"&&t!=="route"&&t!=="complete"&&!V1(a,Mn))_t({kind:"thought",title:a,detail:e.thought?String(e.thought):r,status:"pending",narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0});else{let c=t?`${$1(t)}: ${n}`:n;_t({kind:"status",title:c,detail:r||(e.thought?String(e.thought):void 0),status:t==="complete"?"success":"info",narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0})}}bt("status",e),Hr("status_update",hM(e),{runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="runtime_tabs_diagnostics"){let t=e?.diagnostics&&typeof e.diagnostics=="object"?e.diagnostics:{},n=hr(t.keptScopedTabIds||[]),r=hr(t.listedTabIds||[]),o=hr(t.resolvedTabOrder||[]),i=n.filter(a=>!r.includes(a));i.length>0&&(_t({kind:"status",title:"Scoped tab placeholder retained",detail:`missing_in_listing=${i.join(",")}; resolved_order=${o.join(",")||"none"}`,status:"info"}),ot("status",{event:"scoped_tab_missing_from_listing",missingScopedTabIds:i,listedTabIds:r,resolvedTabOrder:o}));return}if(e.type==="tool_start"){let t=fu(e),n=mc(e.call,e.toolCallId,{logicalTabId:t}),r=n?.primaryElementId??(typeof e.call?.args?.element_id=="number"?e.call.args.element_id:void 0);_t({kind:"tool_start",title:`Running ${e.call?.name||"tool"}`,detailBlocks:Kk(e.call),status:"pending",elementId:r,toolName:e.call?.name,narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0,actionCue:n}),bt("tool_start",e),Hr("tool_start",gM(e),{runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="tool_result"){if(!pC(e.result)){let i=hr([...Bw(e.call?.args),...uC(e.result)]);i.length&&(Xw(i,{persist:!0}),Ir())}let t=di(e.detailBlocks)||dC(e.result),n=fu(e),r=mc(e.call,e.toolCallId,{logicalTabId:n}),o=r?.primaryElementId??(typeof e.call?.args?.element_id=="number"?e.call.args.element_id:void 0);_t({kind:"tool_result",title:`${e.call?.name||"tool"} completed`,detailBlocks:t,status:e?.result?.success===!1?"error":"success",elementId:o,toolName:e.call?.name,narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0,actionCue:r}),bt("tool_result",e),Hr("tool_result",bM(e),{runId:typeof e.runId=="string"?e.runId:void 0}),fC(e);return}if(e.type==="auth_required"){bt("auth_required",e.error),e.error?.message&&(Cn("system",`Auth required: ${e.error.message}`,!0),_t({kind:"error",title:"Auth required",detail:String(e.error.message),status:"error"}));return}if(e.type==="navigation_guardrail"){bt("navigation_guardrail",e),_t({kind:"status",title:"Navigation guardrail",detail:bw(e),status:"info"});return}if(e.type==="error"){Cn("system",`Error: ${e.message||"unknown"}`,!0),_t({kind:"error",title:"Execution error",detail:String(e.message||"unknown"),status:"error"}),bt("error",e),Hr("error",{message:String(e.message||"unknown")},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="state_snapshot"){if(p){let t=kn({...e.state||{},updatedAt:Date.now()});if(!t||!Ki({source:"worker_snapshot",incomingBoundaryId:t.taskBoundaryId,allowBootstrapAdoption:!0}))return;p.workerState=qr(t,or());let n=typeof e?.activeRun?.runId=="string"&&e.activeRun.runId?e.activeRun.runId:void 0,r=typeof e?.activeRun?.text=="string"?e.activeRun.text:void 0,o=Ct(p.pendingRun),i=zp({taskStatus:p.activeTask?.status,localPendingRunId:o?.id,localPendingTaskBoundaryId:o?.taskBoundaryId,currentTaskBoundaryId:Ve,candidateRunId:n,candidateRunText:r,candidateTaskBoundaryId:t.taskBoundaryId,ignoredRunIds:_r});if(i&&Zt(Ct({id:n,text:r,startedAt:e.activeRun.startedAt,attempts:o?.attempts||0,autoResume:!0,taskBoundaryId:o?.taskBoundaryId||t.taskBoundaryId||Ve,resumeRequired:o?.resumeRequired===!0,resumeReason:o?.resumeReason})),n&&r&&i?j?.setActiveRun({runId:n,text:r}):n&&(!Yo()||_r.has(n)||o?.id!==n)&&j?.setActiveRun(void 0),!Yo()&&p.pendingRun&&Zt(void 0),p.workerState&&j?.setWorkerContext(el(p.workerState)),ae&&t?.taskBoundaryId){let a=ae.getTaskByBoundaryId(t.taskBoundaryId);a&&(a.workerState=p.workerState,n&&(a.pendingRun=p.pendingRun))}hs(),Ze()}return}if(e.type==="execution_started"){if(Fd="",ir(),typeof e.runId=="string"&&e.runId&&co.delete(e.runId),!Yo()){j?.setActiveRun(void 0);return}let t=p?.pendingRun,n=typeof e?.runBoundaryId=="string"?qe(e.runBoundaryId):typeof e?.taskBoundaryId=="string"?qe(e.taskBoundaryId):void 0;typeof e.runId=="string"&&e.runId&&wm(e.runId),Zt(Ct({id:e.runId,text:e.text,startedAt:t?.startedAt||Date.now(),attempts:t?.attempts||0,autoResume:t?.autoResume!==!1,taskBoundaryId:n||t?.taskBoundaryId||Ve,resumeReason:t?.resumeReason,resumeRequired:t?.resumeRequired})),j?.setActiveRun({runId:e.runId,text:String(e.text||"")}),de?.setRunning(!0),de?.setQuestionPrompt(void 0);let r=`run:${String(e.runId||"")}:start`;if(p?.timeline.some(o=>o.id===r)||_t({id:r,kind:"plan",title:e.resume?"Run resumed":"Run started",detail:String(e.text||""),status:"pending"}),ae&&n){let o=ae.getTaskByBoundaryId(n);o&&(o.pendingRun=p?.pendingRun,ae.dispatch(o.taskId,{type:"START"}))}Hr("state_transition",{status:"running",mode:p?.lastRoutingDecision?.mode,reason:e.resume?"run_resumed":"run_started"},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0}),Xe&&(Xe.status="running",Xe.runId=typeof e.runId=="string"&&e.runId?e.runId:Xe.runId,Xe.promptDispatchState="started",Vi()),bt("run_started",aw(e));return}if(e.type==="execution_completed"||e.type==="execution_state_transition"){Fd="",Gr=!1,Wn=0;let t=sC(e),n=sw(e,t),r=t.terminalState,o=t.continuationReason,i=t.needsUserInput?"awaiting_user":r==="completed"?"completed":r==="failed"||e?.ok===!1?"failed":"running",a=e?.ok===!1||r==="completed"||r==="failed",s=!a&&r==="in_progress"&&o!=="awaiting_user";de?.setRunning(s),Qt&&(clearTimeout(Qt),Qt=null);let c=typeof e.runId=="string"&&e.runId?e.runId:void 0,l=typeof e?.runBoundaryId=="string"?qe(e.runBoundaryId):typeof e?.taskBoundaryId=="string"?qe(e.taskBoundaryId):void 0;if(a){let d=Ct(p?.pendingRun),m=String(d?.text||Mn||"").trim(),f=String((c?co.get(c):"")||"").trim();Xi=m||Xi,po=f||po,ds=Date.now(),d?.id&&j?.releaseWorkflowLock(d.id),c&&j?.releaseWorkflowLock(c),Zt(void 0),ii(void 0),j?.setActiveRun(void 0),ir(),c&&fi(c)}else if(Yo()&&c){wm(c),ii(c);let d=p?.pendingRun,m=d?.id===c&&d?.text?d.text:Mn||d?.text||"Continue task";Zt(Ct({id:c,text:m,startedAt:d?.startedAt||Date.now(),attempts:d?.attempts||0,autoResume:d?.autoResume!==!1,taskBoundaryId:l||d?.taskBoundaryId||Ve,resumeRequired:r==="in_progress"&&o==="same_tab_navigation_handoff",resumeReason:r==="in_progress"&&o==="same_tab_navigation_handoff"?d?.resumeReason||"agent_navigation":void 0})),j?.setActiveRun({runId:c,text:m})}if(p&&e?.route&&(e.route.mode==="act"||e.route.mode==="planner")&&(p.lastRoutingDecision={mode:e.route.mode,score:Number(e.route.score)||void 0,reason:typeof e.route.reason=="string"?en(e.route.reason,200):void 0,ts:Date.now()},Ze()),!e.ok&&e.error){if(c&&co.delete(c),c&&(li(c,"worker_run_failed",{attemptImmediately:!0}),Ae?.controlRun({action:"cancel",runId:c,reason:"worker_run_failed"})),!Yo())return;de?.setQuestionPrompt(void 0),t.contextResetRecommended?($d("worker_run_failed_terminal"),j?.resetTabsToCurrent(window.location.href,document.title||void 0),Xt(void 0)):($d("worker_run_failed_terminal"),Xt(void 0)),c&&co.delete(c),_t({kind:"error",title:"Run failed",detail:String(e.error),status:"error"})}else if(e.ok){if(!Yo())return;let d=t.runComplete,m=t.needsUserInput,f=t.questions||Vr(e.questions),u=Vr(p?.workerState?.pendingAskUser?.questions),h=f.length?f:m?u:[];if(r==="failed")c&&(li(c,"worker_terminal_failed",{attemptImmediately:!0}),Ae?.controlRun({action:"cancel",runId:c,reason:"worker_terminal_failed"})),de?.setQuestionPrompt(void 0),t.contextResetRecommended?($d("worker_run_failed_terminal"),j?.resetTabsToCurrent(window.location.href,document.title||void 0),Xt(void 0)):($d("worker_run_failed_terminal"),Xt(void 0)),_t({kind:"error",title:"Run failed",detail:typeof e.error=="string"?e.error:"Run reported failure state.",status:"error"});else if(d||r==="completed")c&&Ae?.controlRun({action:"end_task",runId:c,reason:"worker_task_complete"}),de?.setQuestionPrompt(void 0),LC("worker_task_complete"),j?.resetTabsToCurrent(window.location.href,document.title||void 0),Xt(void 0),tM(typeof e.runId=="string"?e.runId:void 0);else{let b=m?"worker_waiting_for_input":o==="same_tab_navigation_handoff"?"worker_navigation_handoff":r==="in_progress"?"worker_loop_continue":"worker_task_active";if(m){if(ae){let v=ae.getActiveTask();v&&ae.dispatch(v.taskId,{type:"ASK_USER"})}mi({type:"awaiting_user",reason:b,at:Date.now()})}else Vw(b);m&&h.length>0?de?.setQuestionPrompt({questions:h}):m?hs():de?.setQuestionPrompt(void 0),m?(Xt(void 0),_t({kind:"status",title:"Waiting for your input",detail:h.length?`Please answer: ${h.map(v=>`${v.key} (${v.query})`).join("; ")}`:"Planner requested more information before marking the task complete.",status:"info"})):o==="same_tab_navigation_handoff"?(Xt("Navigating to continue task..."),_t({kind:"status",title:"Navigation handoff",detail:"Rover will resume after same-tab navigation completes.",status:"pending"})):Xt("Working...")}}if(ae&&l){let d=ae.getTaskByBoundaryId(l);if(d)if(a){let m=r==="completed"?{type:"COMPLETE"}:{type:"FAIL",error:typeof e.error=="string"?e.error:void 0};ae.dispatch(d.taskId,m),ae.releaseWorker(d.taskId)}else t.continuationReason==="awaiting_user"&&ae.dispatch(d.taskId,{type:"ASK_USER"})}if(Hr("state_transition",{status:i,mode:e?.route?.mode==="act"||e?.route?.mode==="planner"?e.route.mode:p?.lastRoutingDecision?.mode,reason:typeof e?.error=="string"?e.error:o||r,terminalState:r},{immediate:a||t.needsUserInput,runId:c}),t.needsUserInput){let d=t.questions||Vr(e.questions);d.length&&c0(d)}Xe&&(Xe.status=i,Xe.runId=c||Xe.runId,i==="failed"?Xe.promptDispatchState="failed":(i==="running"||i==="awaiting_user"||i==="completed")&&(Xe.promptDispatchState="started"),Vi()),a&&vM(c),bt("run_state_transition",n),(e.type==="execution_completed"||a)&&bt("run_completed",n),lo();return}if(e.type==="ready"){Ar=!0,Xt(void 0),bt("ready"),A&&h0(A);let t=j?.getWorkerContext(),n=qr(kn(t),or()),r=n&&Ki({source:"ready_hydrate",incomingBoundaryId:n.taskBoundaryId,allowBootstrapAdoption:!0})?n:void 0,o=qr(kn(p?.workerState),or()),i=o&&Ki({source:"ready_hydrate",incomingBoundaryId:o.taskBoundaryId,allowBootstrapAdoption:!0})?o:void 0,a=Number(i?.updatedAt)||0,s=Number(r?.updatedAt)||0,c=r&&Zw({localWorkerState:i,incomingWorkerState:r,fallbackPendingRun:Ct(p?.pendingRun),taskStatus:p?.activeTask?.status,taskEpoch:p?.taskEpoch,localUpdatedAt:a,incomingUpdatedAt:s,allowRicherIncomingOnResume:!0})?r:i;p&&(c&&c!==p.workerState?(p.workerState=qr(c,or()),Ze()):!c&&p.workerState&&(p.workerState=void 0,Ze())),c?(lt?.postMessage({type:"hydrate_state",state:c}),bt("context_restored",{source:"runtime_start",ts:Date.now()}),setTimeout(()=>{Gr||fo()},500)):Un&&Jt?(ot("status",{event:"checkpoint_pull_first"}),Jt.syncPullFirst()):fo();return}if(e.type==="hydrated"){fo();return}e.type==="updated"&&bt("updated")}}function Lm(e,t){let n=Number(e);return Number.isFinite(n)?Math.max(t.min,Math.min(t.max,Math.floor(n))):t.fallback}function Iu(e){if(!e||typeof e!="object")return;let t=Lm(e.shortcutMaxStored,{min:1,max:tu,fallback:tu}),n=Lm(e.shortcutMaxRendered,{min:1,max:nu,fallback:nu});return{shortcutMaxStored:t,shortcutMaxRendered:n}}function Po(e){return Fl(e)}function rM(e){let t=String(e||"").trim();if(!t)return;let n=t.match(/^#?([0-9a-fA-F]{6})$/);return n?`#${n[1].toUpperCase()}`:void 0}function oM(e){let t=Number(e);if(Number.isFinite(t))return Math.max(MR,Math.min(NR,Math.floor(t)))}function gs(e){if(!e||typeof e!="object")return;let t=e,n={};typeof t.enabled=="boolean"&&(n.enabled=t.enabled);let r=String(t.language||"").trim().replace(/[^a-zA-Z0-9-]/g,"").slice(0,RR);r&&(n.language=r);let o=oM(t.autoStopMs);return o!==void 0&&(n.autoStopMs=o),Object.keys(n).length?n:void 0}function bs(e){if(!e||typeof e!="object")return;let t=e,n={};return typeof t.enabled=="boolean"&&(n.enabled=t.enabled),typeof t.allowCloudBrowser=="boolean"&&(n.allowCloudBrowser=t.allowCloudBrowser),typeof t.allowDelegatedHandoffs=="boolean"&&(n.allowDelegatedHandoffs=t.allowDelegatedHandoffs),typeof t.debugStreaming=="boolean"&&(n.debugStreaming=t.debugStreaming),Object.keys(n).length?n:void 0}function Gi(e){if(!e||typeof e!="object")return;let t=e,n={};if(t.presence&&typeof t.presence=="object"){let r=t.presence,o={},i=String(r.assistantName||"").trim();i&&(o.assistantName=i.slice(0,160));let a=String(r.ctaText||"").trim();a&&(o.ctaText=a.slice(0,160)),(r.iconMode==="logo"||r.iconMode==="mascot"||r.iconMode==="rover")&&(o.iconMode=r.iconMode),typeof r.draggable=="boolean"&&(o.draggable=r.draggable),(r.defaultAnchor==="bottom-right"||r.defaultAnchor==="bottom-left"||r.defaultAnchor==="top-right"||r.defaultAnchor==="top-left"||r.defaultAnchor==="bottom-center")&&(o.defaultAnchor=r.defaultAnchor),typeof r.persistPosition=="boolean"&&(o.persistPosition=r.persistPosition),(r.idleAnimation==="breathe"||r.idleAnimation==="orbit"||r.idleAnimation==="none")&&(o.idleAnimation=r.idleAnimation),(r.firstRunIntro==="ambient"||r.firstRunIntro==="headline"||r.firstRunIntro==="none")&&(o.firstRunIntro=r.firstRunIntro),Object.keys(o).length&&(n.presence=o)}if(t.shell&&typeof t.shell=="object"){let r=t.shell,o={};r.openMode==="center_stage"&&(o.openMode=r.openMode),r.mobileMode==="fullscreen_sheet"&&(o.mobileMode=r.mobileMode),(r.desktopSize==="compact"||r.desktopSize==="stage"||r.desktopSize==="cinema")&&(o.desktopSize=r.desktopSize),(r.desktopHeight==="tall"||r.desktopHeight==="full")&&(o.desktopHeight=r.desktopHeight),typeof r.dimBackground=="boolean"&&(o.dimBackground=r.dimBackground),typeof r.blurBackground=="boolean"&&(o.blurBackground=r.blurBackground),Number.isFinite(Number(r.safeAreaInsetPx))&&(o.safeAreaInsetPx=Math.max(0,Math.min(48,Math.trunc(Number(r.safeAreaInsetPx))))),Object.keys(o).length&&(n.shell=o)}if(t.stream&&typeof t.stream=="object"){let r=t.stream,o={};r.layout==="single_column"&&(o.layout=r.layout),Number.isFinite(Number(r.maxVisibleLiveCards))&&(o.maxVisibleLiveCards=Math.max(1,Math.min(4,Math.trunc(Number(r.maxVisibleLiveCards))))),typeof r.collapseCompletedSteps=="boolean"&&(o.collapseCompletedSteps=r.collapseCompletedSteps),typeof r.artifactAutoMinimize=="boolean"&&(o.artifactAutoMinimize=r.artifactAutoMinimize),(r.artifactOpenMode==="inline"||r.artifactOpenMode==="overlay")&&(o.artifactOpenMode=r.artifactOpenMode),Object.keys(o).length&&(n.stream=o)}if(t.inputs&&typeof t.inputs=="object"){let r=t.inputs,o={};typeof r.text=="boolean"&&(o.text=r.text),typeof r.voice=="boolean"&&(o.voice=r.voice),typeof r.files=="boolean"&&(o.files=r.files);let i=Array.isArray(r.acceptedMimeGroups)?r.acceptedMimeGroups.filter(a=>a==="images"||a==="pdfs"||a==="office"||a==="text"):[];i.length&&(o.acceptedMimeGroups=Array.from(new Set(i))),typeof r.allowMultipleFiles=="boolean"&&(o.allowMultipleFiles=r.allowMultipleFiles),typeof r.mobileCameraCapture=="boolean"&&(o.mobileCameraCapture=r.mobileCameraCapture),Number.isFinite(Number(r.attachmentLimit))&&(o.attachmentLimit=Math.max(1,Math.min(12,Math.trunc(Number(r.attachmentLimit))))),Number.isFinite(Number(r.maxFileSizeMb))&&(o.maxFileSizeMb=Math.max(1,Math.min(32,Math.trunc(Number(r.maxFileSizeMb))))),Object.keys(o).length&&(n.inputs=o)}if(t.audio&&typeof t.audio=="object"){let r=t.audio,o=r.narration&&typeof r.narration=="object"?r.narration:void 0;if(o){let i={};typeof o.enabled=="boolean"&&(i.enabled=o.enabled),(o.defaultMode==="guided"||o.defaultMode==="always"||o.defaultMode==="off")&&(i.defaultMode=o.defaultMode),Number.isFinite(Number(o.rate))&&(i.rate=Math.max(.85,Math.min(1.15,Number(o.rate))));let a=String(o.language||"").trim();a&&(i.language=a.slice(0,24)),(o.voicePreference==="auto"||o.voicePreference==="system"||o.voicePreference==="natural")&&(i.voicePreference=o.voicePreference),Object.keys(i).length&&(n.audio={narration:i})}}if(t.motion&&typeof t.motion=="object"){let r=t.motion,o={};(r.intensity==="calm"||r.intensity==="balanced"||r.intensity==="expressive")&&(o.intensity=r.intensity),(r.reducedMotionFallback==="reduce"||r.reducedMotionFallback==="remove")&&(o.reducedMotionFallback=r.reducedMotionFallback),(r.performanceBudget==="standard"||r.performanceBudget==="high")&&(o.performanceBudget=r.performanceBudget),typeof r.actionSpotlight=="boolean"&&(o.actionSpotlight=r.actionSpotlight);let i=rM(r.actionSpotlightColor);i&&(o.actionSpotlightColor=i),Object.keys(o).length&&(n.motion=o)}if(t.theme&&typeof t.theme=="object"){let r=t.theme,o={};(r.mode==="auto"||r.mode==="light"||r.mode==="dark")&&(o.mode=r.mode);let i=String(r.accentColor||"").trim();i&&(o.accentColor=i.slice(0,32)),(r.surfaceStyle==="glass"||r.surfaceStyle==="solid")&&(o.surfaceStyle=r.surfaceStyle),(r.radius==="soft"||r.radius==="rounded"||r.radius==="pill")&&(o.radius=r.radius);let a=String(r.fontFamily||"").trim();a&&(o.fontFamily=a.slice(0,120)),Object.keys(o).length&&(n.theme=o)}return Object.keys(n).length?n:void 0}function Au(e){if(!e)return;let t=Gi(Sn?.experience),n=Gi(e.ui?.experience),r={...t||{},...n||{}};(t?.presence||n?.presence)&&(r.presence={...t?.presence||{},...n?.presence||{}}),(t?.shell||n?.shell)&&(r.shell={...t?.shell||{},...n?.shell||{}}),(t?.stream||n?.stream)&&(r.stream={...t?.stream||{},...n?.stream||{}}),(t?.inputs||n?.inputs)&&(r.inputs={...t?.inputs||{},...n?.inputs||{}}),(t?.motion||n?.motion)&&(r.motion={...t?.motion||{},...n?.motion||{}}),(t?.theme||n?.theme)&&(r.theme={...t?.theme||{},...n?.theme||{}});let o=na(Sn?.greeting||e.ui?.greeting),i=bh(e),a=rl(e),s={};return(a?.discoverySurface?.beaconLabel||o?.disabled===!0)&&(s.presence={...a?.discoverySurface?.beaconLabel?{ctaText:a.discoverySurface.beaconLabel}:{},...o?.disabled===!0?{firstRunIntro:"none"}:{}}),i?.enabled===!1&&(s.inputs={voice:!1}),Gi({...s,...r,presence:{...s.presence||{},...r.presence||{}},inputs:{...s.inputs||{},...r.inputs||{}},shell:r.shell,stream:r.stream,motion:r.motion,theme:r.theme})}function rl(e){if(!e)return;let t=Na(Sn?.agentDiscovery),n=e.agentDiscovery?{...e.agentDiscovery}:void 0;if(!t&&!n)return;let r={...t||{},...n||{}};return(t?.discoverySurface||n?.discoverySurface)&&(r.discoverySurface={...t?.discoverySurface||{},...n?.discoverySurface||{}}),(t?.pageContext||n?.pageContext)&&(r.pageContext={...t?.pageContext||{},...n?.pageContext||{}}),Object.keys(r).length?r:void 0}function Wc(e){if(!e)return;let t=Po(Sn?.pageConfig),n=Po(e.pageConfig);return Po({...t||{},...n||{}})}function Ru(e){if(!e)return;let t=bs(Sn?.aiAccess),n=bs(e.agentDiscovery?.aiAccess);if(!(!t&&!n))return{...t||{},...n||{}}}function n0(e){return e.cloudSandboxEnabled!==!0?e:{...e,tools:{...e.tools||{},web:{...e.tools?.web||{},enableExternalWebContext:!0,scrapeMode:"on_demand"}}}}function iM(e){if(!lt||!e)return;let t=Wc(e),n=JSON.stringify(t||null);n!==lm&&(lm=n,lt.postMessage({type:"update_config",config:{...ta(),pageConfig:t}}))}function ol(){Cc&&(clearTimeout(Cc),Cc=null),Mc&&(clearTimeout(Mc),Mc=null)}function aM(e){try{let t=localStorage.getItem(`rover:site-config:${e}`);if(t){let n=JSON.parse(t);return!n||typeof n.ts!="number"||typeof n.data!="object"||!n.data||Date.now()-n.ts>Ex?null:{shortcuts:ui(n.data.shortcuts),businessType:sl(n.data.businessType),experience:Gi(n.data.experience),greeting:na(n.data.greeting),voice:gs(n.data.voice),aiAccess:bs(n.data.aiAccess),limits:Iu(n.data.limits),pageConfig:Po(n.data.pageConfig),agentDiscovery:Na(n.data.agentDiscovery),version:typeof n.version=="string"?n.version:void 0}}}catch{}try{let t=localStorage.getItem(`rover:shortcuts:${e}`);if(!t)return null;let n=JSON.parse(t);return!n||typeof n.ts!="number"||!Array.isArray(n.data)||Date.now()-n.ts>Ex?null:{shortcuts:ui(n.data)}}catch{return null}}function r0(e,t){try{localStorage.setItem(`rover:site-config:${e}`,JSON.stringify({ts:Date.now(),version:t.version,data:{shortcuts:ui(t.shortcuts),businessType:sl(t.businessType),experience:Gi(t.experience),greeting:na(t.greeting),voice:gs(t.voice),aiAccess:bs(t.aiAccess),limits:Iu(t.limits),pageConfig:Po(t.pageConfig),agentDiscovery:Na(t.agentDiscovery)}}))}catch{}}function na(e){if(!e||typeof e!="object")return;let t={},n=String(e.text||"").trim();n&&(t.text=n.slice(0,AR));let r=Number(e.delay);Number.isFinite(r)&&(t.delay=Math.max(0,Math.min(6e4,Math.floor(r))));let o=Number(e.duration);return Number.isFinite(o)&&(t.duration=Math.max(1200,Math.min(6e4,Math.floor(o)))),typeof e.disabled=="boolean"&&(t.disabled=e.disabled),Object.keys(t).length?t:void 0}function Wx(e,t){if(!Array.isArray(e))return;let n=[],r=new Set;for(let o of e){let i=String(o||"").trim().slice(0,t.maxChars);if(!i)continue;let a=i.toLowerCase();if(!r.has(a)&&(r.add(a),n.push(i),n.length>=t.maxItems))break}return n.length?n:void 0}function sM(e){if(!e||typeof e!="object")return null;let t=String(e.id||"").trim().slice(0,80),n=String(e.label||"").trim().slice(0,TR),r=String(e.prompt||"").trim().slice(0,ER);if(!t||!n||!r)return null;let o={id:t,label:n,prompt:r,enabled:e.enabled!==!1};e.description&&(o.description=String(e.description).trim().slice(0,_R)),e.icon&&(o.icon=String(e.icon).trim().slice(0,IR)),(e.routing==="auto"||e.routing==="act"||e.routing==="planner")&&(o.routing=e.routing),(e.runKind==="guide"||e.runKind==="task")&&(o.runKind=e.runKind);let i=Number(e.order);Number.isFinite(i)&&(o.order=Math.trunc(i));let a=Wx(e.tags,{maxItems:16,maxChars:40});a&&(o.tags=a);let s=Wx(e.examples,{maxItems:6,maxChars:220});return s&&(o.examples=s),e.inputSchema&&typeof e.inputSchema=="object"&&!Array.isArray(e.inputSchema)&&(o.inputSchema=e.inputSchema),e.outputSchema&&typeof e.outputSchema=="object"&&!Array.isArray(e.outputSchema)&&(o.outputSchema=e.outputSchema),(e.sideEffect==="none"||e.sideEffect==="read"||e.sideEffect==="write"||e.sideEffect==="transactional")&&(o.sideEffect=e.sideEffect),typeof e.requiresConfirmation=="boolean"&&(o.requiresConfirmation=e.requiresConfirmation),(e.preferredInterface==="run"||e.preferredInterface==="shortcut"||e.preferredInterface==="client_tool"||e.preferredInterface==="webmcp")&&(o.preferredInterface=e.preferredInterface),o}function ui(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(t.length>=tu)break;let o=sM(r);!o||n.has(o.id)||(n.add(o.id),t.push(o))}return t}function cM(e){return e.map((t,n)=>({item:t,index:n})).sort((t,n)=>{let r=Number.isFinite(t.item.order),o=Number.isFinite(n.item.order);return r&&o?Number(t.item.order)-Number(n.item.order):r?-1:o?1:t.index-n.index}).map(t=>t.item)}function lM(e,t){let n=new Map;for(let r of t)n.set(r.id,r);for(let r of e){let o=n.get(r.id);n.set(r.id,o?{...o,...r}:r)}return cM(Array.from(n.values())).slice(0,tu)}function hh(e){if(!e)return[];let t=ui(e.ui?.shortcuts||[]),n=ui(Sn?.shortcuts||[]),r=lM(t,n);if(r.length>=3)return r;let o=BM(Sn?.businessType);if(!o.length)return r;let i=new Set(r.map(d=>d.id)),a=new Set(r.map(d=>d.label.trim().toLowerCase())),s=new Set(r.map(d=>d.prompt.trim().toLowerCase())),c=Math.max(0,3-r.length),l=o.filter(d=>{let m=d.label.trim().toLowerCase(),f=d.prompt.trim().toLowerCase();return i.has(d.id)||a.has(m)||s.has(f)?!1:(i.add(d.id),a.add(m),s.add(f),!0)}).slice(0,c);return[...r,...l]}function o0(e){let t=Lm(Sn?.limits?.shortcutMaxRendered,{min:1,max:nu,fallback:nu});return e.filter(n=>n.enabled!==!1).slice(0,t)}function Oc(){Zo&&(clearTimeout(Zo),Zo=null),Fc=null}function dM(e){return`${window.location.href}::${e.signature}`}function i0(e){let t=`${window.location.pathname}${window.location.search}${window.location.hash}`,n=Qv(window.location.href);if(n!==t)try{history.replaceState(history.state,document.title,n),ot("status",{event:"launch_params_consumed",requestId:e.requestId})}catch{}}function nm(e,t,n){let r=Fc;r?.handleKey===e&&r.deadlineAt===n&&Zo||(Zo&&clearTimeout(Zo),Fc={handleKey:e,request:t,deadlineAt:n},Zo=setTimeout(()=>{Zo=null,il("attach_retry")},VR))}function a0(){es&&(clearTimeout(es),es=null)}function uM(){a0(),Xe=null}function Ac(e=0){Xe?.pendingEvents.length&&(es||(es=setTimeout(()=>{es=null,gh()},Math.max(0,e))))}async function gh(e=!1){let t=Xe;if(!t||!t.pendingEvents.length||t.ingestInFlight||!Ae)return;if(!e&&Qi()){Ac(Yp);return}let n=t.pendingEvents.splice(0,Xp);if(n.length){t.ingestInFlight=!0;try{await Ae.ingestLaunchEvents({requestId:t.requestId,runId:t.runId,events:n})||(t.pendingEvents=[...n,...t.pendingEvents].slice(-Xp*4),Ac(Yp))}catch{t.pendingEvents=[...n,...t.pendingEvents].slice(-Xp*4),Ac(Yp)}finally{t.ingestInFlight=!1}t.pendingEvents.length&&Ac(0)}}function Hr(e,t,n){let r=Xe;if(r){if(n?.runId&&(r.runId=n.runId),r.pendingEvents.push({type:e,ts:Date.now(),data:t}),n?.immediate){a0(),gh(!0);return}Ac(0)}}function fM(e){let t=String(e||"").trim();if(t){let o=String(co.get(t)||"").trim();if(o)return o}let n=[...p?.uiMessages||[]].reverse().find(o=>o.role==="assistant");return String(n?.text||"").trim()||void 0}function pM(){let e=String(zc||"").trim();if(!e)return;let t=e.indexOf(":");return t<0?void 0:e.slice(t+1).trim()||void 0}function s0(){return Xe?.detail==="full"||Xe?.detail==="debug"}function mM(){return Xe?.detail==="debug"}function hM(e){let t={stage:Aw(e?.stage),message:typeof e?.message=="string"?e.message:void 0,compactThought:typeof e?.compactThought=="string"?e.compactThought:void 0};return mM()&&(t.thought=typeof e?.thought=="string"?e.thought:void 0),t}function gM(e){let t=fu(e),n=mc(e?.call,e?.toolCallId,{logicalTabId:t}),r={toolName:typeof e?.call?.name=="string"?e.call.name:"tool",actionKind:n?.kind,logicalTabId:n?.logicalTabId,valueRedacted:n?.valueRedacted,narration:typeof e?.narration=="string"?en(e.narration.replace(/\s+/g," ").trim(),220):void 0};return s0()&&(r.args=e?.call?.args),r}function bM(e){let t=fu(e),n=mc(e?.call,e?.toolCallId,{logicalTabId:t}),r={toolName:typeof e?.call?.name=="string"?e.call.name:"tool",success:e?.result?.success!==!1,actionKind:n?.kind,logicalTabId:n?.logicalTabId,valueRedacted:n?.valueRedacted};return s0()?r.result=e?.result:typeof e?.result?.message=="string"&&(r.message=e.result.message),r}function yM(e){let t=window.location.href,n=String(document.title||"").trim()||void 0,r=String(window.location.hostname||"").trim()||void 0,o=fM(e),i=pM();return{url:t,title:n,host:r,summary:o,snapshotDigest:i}}function c0(e){let t=Xe;if(!t||!e.length)return;let n=e.map(r=>`${r.key}:${r.query}`).join("|");t.lastNeedsInputSignature!==n&&(t.lastNeedsInputSignature=n,Hr("needs_input",{questions:e},{immediate:!0}))}function vM(e){let t=Xe;if(!t)return;let n=String(e||t.runId||"").trim()||void 0;n&&t.finalObservationRunId===n||(n&&(t.finalObservationRunId=n),Hr("page_observation",yM(n),{immediate:!0,runId:n}))}function rm(e,t,n,r){Oc(),zi="",r?.openWidget!==!1&&(Nn(),Cn("system",`Rover couldn't start the AI launch: ${n}`,!0)),ot("status",{event:"launch_attach_failed",requestId:e.requestId,message:n}),Nc=t,r?.consume!==!1&&i0(e)}function mu(e){let t=String(e.requestId||"").trim();if(!t)return!1;let n=ow();return n?.requestId!==t?!String(e.runId||"").trim():n.promptDispatchState==="started"?!1:n.promptDispatchState==="failed"?!0:String(n.runId||"").trim()&&String(e.runId||"").trim()?!1:!String(e.runId||"").trim()}function l0(e){let t=e.input;if(!t||typeof t.prompt!="string"||!t.prompt.trim())throw new Error("Launch attach response did not include a prompt.");let n=e.executionTarget==="cloud_browser";n&&ot("status",{event:"hosted_launch_attached",requestId:e.requestId,detail:e.detail}),Xe&&(Xe.status=e.status||Xe.status,Xe.executionTarget=e.executionTarget||Xe.executionTarget,Xe.runId=String(e.runId||Xe.runId||"").trim()||void 0,Xe.promptDispatchState="pending",Vi()),Nn();try{t.kind==="shortcut"?Er(t.prompt,{reason:"launch_shortcut",routing:t.routing,narrationRunKind:t.runKind,narrationLanguage:cs}):Er(t.prompt,{reason:"launch_prompt"}),n&&ot("status",{event:"hosted_launch_prompt_dispatched",requestId:e.requestId,detail:e.detail,inputKind:t.kind}),Xe&&(Xe.promptDispatchState="started",Xe.status=e.status==="awaiting_user"?"awaiting_user":e.status||"running",Xe.runId=String(e.runId||Xe.runId||"").trim()||void 0,Vi())}catch(r){throw n&&ot("status",{event:"hosted_launch_prompt_failed",requestId:e.requestId,detail:e.detail,message:String(r?.message||"launch_prompt_dispatch_failed")}),Xe&&(Xe.promptDispatchState="failed",Xe.status="failed",Vi()),r}}function il(e){if(!A||typeof window>"u")return;let t=Jv(window.location.href);if(!t){Oc(),Nc="",Ec="",zi="";return}let n=dM(t);if(n===Nc||Xe?.handleKey===n||zi===n)return;let r=Ru(A);if(r&&r.enabled===!1){Oc(),Ec!==n&&(ot("status",{event:"launch_ignored_disabled",requestId:t.requestId,source:e}),Ec=n),rm(t,n,"AI launch is not enabled for this Rover embed.",{consume:!0,openWidget:!0});return}Ec="";let o=Fc?.handleKey===n?Fc.deadlineAt:Date.now()+qR;if(Date.now()>=o){rm(t,n,"Launch attach timed out before Rover finished booting.",{consume:!0,openWidget:!0});return}zi=n,mo(A).then(async()=>{if(!Ae){nm(n,t,o);return}let i=await Ae.attachLaunch({requestId:t.requestId,attachToken:t.attachToken});if(!i){nm(n,t,o);return}Oc(),Xe={requestId:t.requestId,attachToken:t.attachToken,handleKey:n,status:i.status,detail:i.detail,executionTarget:i.executionTarget,runId:i.runId,promptDispatchState:mu(i)?"pending":"started",pendingEvents:[],attachCompletedAt:Date.now()},Vi(),mu(i)?l0(i):Nn(),Hr("state_transition",{status:i.status==="awaiting_user"?"awaiting_user":"running",executionTarget:i.executionTarget,detail:i.detail,source:"launch_attach"},{immediate:!0,runId:i.runId}),ot("status",{event:"launch_attached",requestId:t.requestId,source:e,executionTarget:i.executionTarget,detail:i.detail}),Nc=n,i0(t)}).catch(i=>{if(Date.now()<o){nm(n,t,o);return}rm(t,n,i?.message||"Unknown launch attach failure.",{consume:!0,openWidget:!0})}).finally(()=>{zi===n&&(zi="")})}function Hi(){Qo&&(clearTimeout(Qo),Qo=null),Za=null}function kM(e){return`${window.location.href}::${e.signature}`}function xM(e){return e?!!(cu(e)||Fn(e)):!1}function Dm(e,t){if(!e.consume)return;let n=`${window.location.pathname}${window.location.search}${window.location.hash}`,r=yp(window.location.href,e);if(r!==n)try{history.replaceState(history.state,document.title,r),ot("status",{event:"deep_link_consumed",kind:t.kind,paramName:t.paramName})}catch{}}function wM(e,t,n){let r=Za;r?.handleKey===e&&r.deadlineAt===n&&Qo||(Qo&&clearTimeout(Qo),Za={handleKey:e,request:t,deadlineAt:n},Qo=setTimeout(()=>{Qo=null,ks("shortcut_retry")},$R))}function SM(e,t,n){Hi(),Nn(),Cn("system",`Rover couldn't find shortcut "${e.value}" for this embed. Check the URL or expose that shortcut in the Rover boot config/site config.`,!0),ot("status",{event:"deep_link_shortcut_not_found",shortcutId:e.value,paramName:e.paramName}),Ga=t,Dm(n,e)}function d0(){let e=String(A?.apiBase||"https://agent.rtrvr.ai").trim().replace(/\/+$/,"");return e?e.endsWith("/extensionRouter/v2/rover")?e.slice(0,-25):e.endsWith("/v2/rover")?e.slice(0,-9):e:"https://agent.rtrvr.ai"}function ys(e){let t=String(e||"").trim();if(t)try{let n=new URL(t);return String(n.searchParams.get("access")||"").trim()||void 0}catch{return}}function TM(e,t){let n=new URL(`${d0()}/v1/a2w/runs/${encodeURIComponent(e)}`);return t&&n.searchParams.set("access",t),n.toString()}function _M(e,t){let n=new URL(`${d0()}/v1/a2w/workflows/${encodeURIComponent(e)}`);return t&&n.searchParams.set("access",t),n.toString()}function u0(e){let t=String(e.runId||"").trim();if(!t)return;let n=String(e.runAccessToken||ys(e.runUrl)||"").trim()||void 0,r=String(e.workflowId||"").trim()||void 0,o=String(e.workflowAccessToken||ys(e.workflowUrl)||"").trim()||void 0;ei={runId:t,runUrl:String(e.runUrl||TM(t,n)).trim(),runAccessToken:n,workflowId:r,workflowUrl:r?String(e.workflowUrl||_M(r,o)).trim():void 0,workflowAccessToken:o,runBoundaryId:qe(Ve||p?.workerState?.taskBoundaryId),executionId:String(e.executionId||p?.pendingRun?.id||"").trim()||void 0,updatedAt:Date.now()},Gn(A)}function EM(){return qe(Ve||p?.workerState?.taskBoundaryId)||""}function IM(e){let t=String(e||"").trim().toLowerCase();return t==="browser"||t==="cloud"?t:"auto"}function Jd(e){let t=String(e||"").trim().toLowerCase();return t==="completed"||t==="failed"||t==="cancelled"||t==="expired"}function f0(e){let t=String(e||"").trim();if(t){if(!/^https?:\/\//i.test(t))return t;try{let r=new URL(t).pathname.split("/").filter(Boolean),o=r.lastIndexOf("runs");if(o>=0&&r[o+1])return decodeURIComponent(r[o+1]);let i=r.lastIndexOf("tasks");if(i>=0&&r[i+1])return decodeURIComponent(r[i+1]);let a=r.lastIndexOf("workflows");if(a>=0&&r[a+1])return decodeURIComponent(r[a+1])}catch{}}}function AM(){let e=String(po||p?.uiStatus||p?.transientStatus?.text||"").trim();return{url:window.location.href,title:document.title,host:window.location.hostname,...e?{summary:e}:{}}}function RM(){let e=String(document.title||"").trim();return e?`Continue the current Rover workflow on ${e}.`:`Continue the current Rover workflow on ${window.location.hostname}.`}async function CM(){let e=EM(),t=ei;if(t&&t.runId&&t.runAccessToken&&(!e||t.runBoundaryId===e))return t.executionId=String(p?.pendingRun?.id||t.executionId||"").trim()||void 0,t.updatedAt=Date.now(),t;if(!A)throw new Error("Rover is not booted.");if(await mo(A),!Ae)throw new Error("Rover server runtime is unavailable.");let n=uu(p?.pendingRun?.id)||RM(),r=await Ae.createSessionRootRun({url:window.location.href,prompt:n,executionId:String(p?.pendingRun?.id||"").trim()||void 0}),o=String(r?.run||"").trim();if(!r?.id||!o)throw new Error("Failed to create the root A2W workflow run.");if(u0({runId:String(r.runId||r.id||"").trim(),runUrl:o,runAccessToken:ys(o),workflowId:f0(r.workflow||""),workflowUrl:r.workflow,workflowAccessToken:ys(r.workflow),executionId:String(p?.pendingRun?.id||"").trim()||void 0}),!ei?.runAccessToken)throw new Error("Root A2W workflow run is missing an access token.");return ot("status",{event:"handoff_root_run_created",runId:ei.runId,workflowId:ei.workflowId}),ei}async function Kx(e,t,n=Uc){if(!A)return null;if(await mo(A),!Ae)throw new Error("Rover server runtime is unavailable.");let r=Date.now()+Math.max(0,n),o=null;for(;;){let i=r-Date.now(),a=i>0?Math.max(1,Math.min(GR,Math.ceil(i/1e3))):0;if(o=await Ae.getPublicRun(e,{accessToken:t,waitSeconds:a}),!o||Jd(o.status)||o.status==="input_required"||i<=0)return o}}function Gx(e,t){if(t==="cloud")return{opened:!1};let n=String(e.open||e.browserLink||"").trim();if(!n)return{opened:!1};try{return window.open(n,"_blank","noopener,noreferrer")?{opened:!0,targetUrl:n}:{opened:!1,targetUrl:n,error:"Browser blocked the delegated Rover handoff window."}}catch(r){return{opened:!1,targetUrl:n,error:r?.message||"Unable to open the delegated Rover site."}}}function Xx(e,t){let n=String(e.status||"pending").trim().toLowerCase(),r=String(e.run||"").trim(),o=String(e.workflow||"").trim(),i=String(e.result?.summary||e.result?.text||e.input?.message||"").trim(),a=Vr(e.input?.questions),s=t?.browserOpen,c={success:n==="completed",status:n,run:r||void 0,workflow:o||void 0,open:e.open,browserLink:e.browserLink,result:e.result,handoff:e.handoff,summary:e.result?.summary,text:e.result?.text||i||void 0,observation:e.result?.observation,transcript:e.result?.transcript,artifacts:e.result?.artifacts,runStatus:n,...s?.targetUrl?{browserOpenUrl:s.targetUrl}:{},...s?.opened?{browserOpened:!0}:{},...s?.error?{browserOpenError:s.error}:{}};if(n==="completed")return{...c,runComplete:!0,terminalState:"completed",message:i||"Delegated A2W run completed."};if(n==="input_required")return{...c,success:!1,runComplete:!1,terminalState:"waiting_input",continuationReason:"awaiting_user",needsUserInput:!0,waitingForUserInput:!0,questions:a.length?a:e.input?.questions,input:e.input,message:String(e.input?.message||i||"Delegated A2W run needs more input.").trim()};if(n==="failed"||n==="cancelled"||n==="expired"){let d=String(e.result?.error||i||`Delegated A2W run ${n}.`).trim();return{...c,success:!1,runComplete:!1,terminalState:"failed",error:d,message:d}}return{...c,success:!1,runComplete:!1,terminalState:"in_progress",continuationReason:"loop_continue",message:n==="waiting_browser"?'Delegated A2W run is waiting for a browser attachment. Re-open the returned URL or call again with execution="cloud" for a browserless run.':"Delegated A2W run is still running. Call handoff_to_rover_site again with the returned run URL to keep following it."}}async function MM(e){let t=e&&typeof e=="object"?e:{};if(!A)throw new Error("Rover is not booted.");if(await mo(A),!Ae)throw new Error("Rover server runtime is unavailable.");let n=IM(t.execution),r=String(t.answer||"").trim(),o=String(t.run||"").trim();if(o){let b=ys(o),v=r?await Ae.continuePublicRun(o,r,{accessToken:b}):await Ae.getPublicRun(o,{accessToken:b});if(!v)throw new Error("Delegated A2W run could not be loaded.");let S;return!Jd(v.status)&&v.status!=="input_required"&&(S=Gx(v,n),v=await Kx(o,b,Uc)||v),Xx(v,S?{browserOpen:S}:void 0)}let i=String(t.url||"").trim(),a=String(t.shortcutId||"").trim(),s=String(t.instruction||"").trim(),c=String(t.prompt||"").trim();if(!i)throw new Error("handoff_to_rover_site requires url or run.");if(!a&&!s&&!c)throw new Error("handoff_to_rover_site requires instruction, prompt, or shortcutId when creating a new handoff.");let l=await CM(),d=await Ae.createRunHandoff({parentRunId:l.runId,runAccessToken:String(l.runAccessToken||"").trim(),url:i,...a?{shortcutId:a}:{},...!a&&s?{instruction:s}:{},...!a&&!s&&c?{prompt:c}:{},...String(t.contextSummary||po||"").trim()?{contextSummary:String(t.contextSummary||po).trim()}:{},...String(t.expectedOutput||"").trim()?{expectedOutput:String(t.expectedOutput).trim()}:{},...String(uu(p?.pendingRun?.id)||"").trim()?{originalGoal:String(uu(p?.pendingRun?.id)||"").trim()}:{},lastObservation:AM(),execution:n});if(!d)throw new Error("Delegated Rover handoff could not be created.");let m;!Jd(d.status)&&d.status!=="input_required"&&(m=Gx(d,n));let f=String(d.run||"").trim(),u=ys(f),h=!Jd(d.status)&&d.status!=="input_required"&&await Kx(f,u,Uc)||d;return ot("status",{event:"handoff_run_created",parentRunId:l.runId,childRunId:String(h.runId||h.id||"").trim(),workflowId:f0(h.workflow||"")||l.workflowId,targetHost:(()=>{try{return new URL(i).hostname}catch{return}})()}),Xx(h,m?{browserOpen:m}:void 0)}var NM={name:"handoff_to_rover_site",title:"Delegate To Another Rover Site",description:"Delegate part of the current workflow to Rover on another Rover-enabled site. Use this when the next step belongs to a different Rover-enabled domain and you want structured handoff state, lineage, and recovery instead of opening the target site and improvising with raw DOM actions.",parameters:{url:{type:"string",description:"Absolute URL for the Rover-enabled site that should handle the delegated step."},instruction:{type:"string",description:"Delegation instruction for the target site. Use this for natural-language delegation."},prompt:{type:"string",description:"Prompt alias for instruction when creating a delegated A2W run."},shortcutId:{type:"string",description:"Exact shortcut ID to run on the delegated Rover site instead of a natural-language instruction."},contextSummary:{type:"string",description:"Short structured summary of what the target Rover site should know before continuing."},expectedOutput:{type:"string",description:"Describe the output the delegated site should return to the parent workflow."},execution:{type:"string",enum:["auto","browser","cloud"],description:"Use browser to try a new tab first, cloud for guaranteed browserless execution, or auto for browser-first hybrid behavior."},run:{type:"string",description:"Existing delegated A2W run URL or run ID to keep following or resume after user input."},answer:{type:"string",description:"Answer to send when resuming a delegated run that is waiting for user input."}},outputSchema:{type:"object",properties:{success:{type:"boolean",description:"Whether the delegated A2W run completed or reached a stable state."},status:{type:"string",description:"Current delegated run status."},summary:{type:"string",description:"High-level summary of what the delegated site returned."},run:{type:"string",description:"Canonical delegated A2W run URL."},workflow:{type:"string",description:"Canonical workflow URL spanning the parent and child runs."}}},annotations:{category:"delegation",priority:"secondary",sideEffect:"transactional",requiresConfirmation:!0,preferredInterface:"client_tool",whenToUse:"Use this when the user goal crosses into another Rover-enabled site or domain-specific workflow.",whyUse:"The explicit Rover handoff preserves workflow lineage, structured continuation, and final results better than navigating away and reconstructing the state through generic DOM automation.",examples:["Delegate checkout financing to a Rover-enabled lender site.","Continue identity verification on a partner site without losing workflow state."]},llmCallable:!0};function LM(){gm||!Rt||!lt||(Gm({def:NM,handler:MM}),gm=!0)}function hu(){ti&&(clearTimeout(ti),ti=null),jc=null}function DM(e){return`${window.location.href}::${e.signature}`}function p0(e,t){let n=`${window.location.pathname}${window.location.search}${window.location.hash}`,r=tk(window.location.href);if(t?.consumeDeepLink&&A){let o=new URL(r,window.location.origin).toString();r=yp(o,yd(A.deepLink))}if(r!==n)try{history.replaceState(history.state,document.title,r),ot("status",{event:"browser_receipt_consumed",receipt:e.receipt,consumeDeepLink:t?.consumeDeepLink===!0})}catch{}}function om(e,t){let n=jc;n?.handleKey===e&&n.deadlineAt===t&&ti||(ti&&clearTimeout(ti),jc={handleKey:e,deadlineAt:t},ti=setTimeout(()=>{ti=null,al("receipt_retry")},WR))}function PM(e){let t=e.input;if(!t||typeof t.prompt!="string"||!t.prompt.trim())throw new Error("Browser receipt claim did not include a prompt.");if(Nn(),t.kind==="shortcut"){Er(t.prompt,{reason:"browser_receipt_shortcut",routing:t.routing,narrationRunKind:t.runKind,narrationLanguage:cs});return}Er(t.prompt,{reason:"browser_receipt_prompt"})}function Yx(e,t,n,r){hu(),r?.openWidget&&(Nn(),Cn("system",`Rover couldn't claim the browser receipt: ${n}`,!0)),ot("status",{event:"browser_receipt_claim_failed",message:n}),Pc=t,p0(e,{consumeDeepLink:!1}),r?.fallbackToDeepLink&&ks("receipt_fallback")}function al(e){if(!A||typeof window>"u")return!1;let t=Tp(window.location.href);if(!t)return hu(),Pc="",Ka="",!1;let n=DM(t);if(n===Pc||Ka===n)return!0;let r=jc?.handleKey===n?jc.deadlineAt:Date.now()+KR;return Date.now()>=r?(Yx(t,n,"Browser receipt claim timed out before Rover finished booting.",{fallbackToDeepLink:!0,openWidget:!0}),!0):(Ka=n,mo(A).then(async()=>{if(!Ae){om(n,r);return}let o=await Ae.claimBrowserRunReceipt({receipt:t.receipt});if(!o){om(n,r);return}hu(),u0({runId:o.runId,runAccessToken:o.runAccessToken,workflowId:o.workflowId,workflowAccessToken:o.workflowAccessToken,executionId:o.executionId}),PM(o),ot("status",{event:"browser_receipt_claimed",source:e,runId:o.runId,executionId:o.executionId}),Pc=n,p0(t,{consumeDeepLink:!0})}).catch(o=>{if(Date.now()<r){om(n,r);return}Yx(t,n,o?.message||"Unknown browser receipt failure.",{fallbackToDeepLink:!0,openWidget:!0})}).finally(()=>{Ka===n&&(Ka="")}),!0)}function ks(e){if(!A||typeof window>"u")return;let t=Wv(A.deepLink,Sn?.aiAccess);if(e!=="receipt_fallback"&&Tp(window.location.href))return;let n=Kv(window.location.href,t);if(!n){Hi(),Ga="",Fi="";return}let r=kM(n);if(!t.enabled){Hi(),Fi!==r&&(ot("status",{event:"deep_link_ignored_disabled",kind:n.kind,paramName:n.paramName,source:e}),Fi=r);return}if(Fi="",r===Ga)return;if(!t.enabled){Hi(),Fi!==r&&(ot("status",{event:"deep_link_ignored_disabled",kind:n.kind,paramName:n.paramName,source:e}),Fi=r);return}if(Za?.handleKey===r||ot("status",{event:"deep_link_detected",kind:n.kind,paramName:n.paramName,source:e}),n.kind==="prompt"){Hi(),Nn(),Er(n.value,{reason:"deep_link_prompt"}),ot("status",{event:"deep_link_dispatched",kind:n.kind,paramName:n.paramName}),Ga=r,Dm(t,n);return}let i=hh(A).find(s=>s.enabled!==!1&&s.id===n.value);if(i){Hi(),Nn(),Er(i.prompt,{reason:"deep_link_shortcut",routing:i.routing,narrationRunKind:i.runKind,narrationLanguage:cs}),ot("status",{event:"deep_link_dispatched",kind:n.kind,paramName:n.paramName,shortcutId:i.id,routing:i.routing}),Ga=r,Dm(t,n);return}let a=Za?.handleKey===r?Za.deadlineAt:Date.now()+jR;if(Date.now()<a&&xM(A)){wM(r,n,a);return}SM(n,r,t)}function Cu(e){if(!e)return;let t=na(Sn?.greeting),n=na(e.ui?.greeting);if(!(!t&&!n))return{...t||{},...n||{}}}function bh(e){if(!e)return;let t=gs(Sn?.voice),n=gs(e.ui?.voice);if(!t&&!n)return;let r={...t||{},...n||{}};return r.enabled===!0&&r.autoStopMs===void 0&&(r.autoStopMs=CR),r}function yh(e){let t=$r?.name,n=e?.text;return n?n.replace(/\{name\}/g,t||"").trim()||(t?`Hey ${t}! Need any help?`:"Hey! Need any help?"):t?`Hey ${t}! Need any help?`:"Hey! Need any help?"}function Kc(){if(ai||!de||!A||p?.uiOpen)return;let e=Cu(A);if(e?.disabled===!0)return;let t=`rover:greeting-shown:${A.siteId}`;try{if(sessionStorage.getItem(t)){qi=!0;return}}catch{}if(qi)return;ol();let n=e?.delay??3e3,r=e?.duration??8e3,o=yh(e);Cc=setTimeout(()=>{if(Cc=null,!(ai||p?.uiOpen)){de?.showGreeting(o),qi=!0;try{sessionStorage.setItem(t,"1")}catch{}Mc=setTimeout(()=>{Mc=null,de?.dismissGreeting()},r)}},n)}function sl(e){return["ecommerce","travel","saas","finance","healthcare","real_estate","restaurant","education","support","legal","automotive","general"].includes(e)?e:void 0}var m0={ecommerce:["Find the best deal here...","Add this to my cart...","What sizes are available?","Track my order..."],travel:["Book this for me...","Find flights to Paris...","What's the check-in time?","Compare hotel prices..."],saas:["How do I export my data?","Set up an integration...","Help me configure this...","Show me usage analytics..."],finance:["Check my account balance...","Help me apply for a loan...","What are the transfer fees?","Explain this charge..."],healthcare:["Book an appointment...","Refill my prescription...","Find a specialist near me...","What are your office hours?"],real_estate:["Schedule a viewing...","What's the price per sqft?","Find homes near good schools...","Tell me about this property..."],restaurant:["Make a reservation...","What's on the menu today?","Do you have vegan options?","Order delivery to my address..."],education:["Enroll me in this course...","What are the prerequisites?","Show my learning progress...","Find a tutor for calculus..."],support:["I need help with...","Reset my password...","Track my support ticket...","Report a problem..."],legal:["Schedule a consultation...","Explain this clause...","What documents do I need?","Find a lawyer specializing in..."],automotive:["Schedule a test drive...","What's the trade-in value?","Book a service appointment...","Check parts availability..."],general:["Fill this form for me...","Find the best option here...","Help me get started...","What can you do for me?"]},OM=m0.general,Jx={ecommerce:[{id:"biz_ecommerce_compare",label:"Compare pricing",description:"Check plans, bundles, or pricing tiers on this site.",prompt:"Compare the main pricing or product options on this site and summarize the best fit."},{id:"biz_ecommerce_checkout",label:"Complete checkout",description:"Add items, apply a code, and walk through checkout.",prompt:"Help me buy the right item on this site and walk me through checkout."},{id:"biz_ecommerce_support",label:"Track an order",description:"Find order status, shipping, or return information.",prompt:"Find the order tracking or returns flow on this site and help me complete it."}],travel:[{id:"biz_travel_book",label:"Book travel",description:"Search dates, compare options, and complete a booking flow.",prompt:"Help me compare the main travel options on this site and complete the best booking."},{id:"biz_travel_policy",label:"Check policies",description:"Find cancellation, baggage, or check-in rules.",prompt:"Find the important travel policies on this site and summarize them clearly."},{id:"biz_travel_support",label:"Manage reservation",description:"Open the reservation flow and help with changes.",prompt:"Help me find and manage an existing reservation on this site."}],saas:[{id:"biz_saas_pricing",label:"Compare plans",description:"Review pricing, tiers, and feature differences.",prompt:"Compare the pricing plans on this site and recommend the right one for my use case."},{id:"biz_saas_docs",label:"Find setup docs",description:"Locate docs, integrations, and onboarding steps.",prompt:"Find the best setup or integration docs on this site and summarize the next steps."},{id:"biz_saas_contact",label:"Talk to sales",description:"Open demo or contact flows and prepare the form.",prompt:"Find the sales or demo request flow on this site and help me complete it."}],finance:[{id:"biz_finance_rates",label:"Check rates",description:"Compare rates, fees, or account options.",prompt:"Compare the main rates or fees on this site and explain the important differences."},{id:"biz_finance_apply",label:"Start application",description:"Open the relevant application flow and prepare inputs.",prompt:"Help me find the right application flow on this site and get it started."},{id:"biz_finance_support",label:"Resolve account issue",description:"Find support, dispute, or account-help flows.",prompt:"Find the best support or dispute path on this site and help me use it."}],healthcare:[{id:"biz_healthcare_book",label:"Book appointment",description:"Find providers, locations, and scheduling steps.",prompt:"Help me find the right appointment flow on this site and complete the booking steps."},{id:"biz_healthcare_forms",label:"Prepare forms",description:"Locate intake, insurance, or patient forms.",prompt:"Find the forms or patient-prep information I need on this site."},{id:"biz_healthcare_support",label:"Patient portal help",description:"Navigate patient support or portal entry points.",prompt:"Help me find the patient portal or support path on this site."}],real_estate:[{id:"biz_real_estate_search",label:"Explore listings",description:"Search listings, filters, and property details.",prompt:"Help me compare the best matching listings on this site."},{id:"biz_real_estate_tour",label:"Request a tour",description:"Open contact, showing, or inquiry flows.",prompt:"Find the right showing or inquiry flow on this site and help me use it."},{id:"biz_real_estate_market",label:"Research property",description:"Summarize pricing, location, and property facts.",prompt:"Summarize the most important facts and pricing details for this property."}],restaurant:[{id:"biz_restaurant_reserve",label:"Reserve a table",description:"Find reservation or booking steps.",prompt:"Help me make a reservation on this site."},{id:"biz_restaurant_menu",label:"Review the menu",description:"Summarize menu sections, dietary filters, and specials.",prompt:"Summarize the menu on this site and highlight the best options."},{id:"biz_restaurant_order",label:"Start an order",description:"Navigate pickup or delivery ordering flow.",prompt:"Help me place an order on this site."}],education:[{id:"biz_education_course",label:"Compare courses",description:"Review programs, syllabus, and enrollment details.",prompt:"Compare the main courses or programs on this site and summarize the differences."},{id:"biz_education_apply",label:"Start enrollment",description:"Open signup or application flows.",prompt:"Help me find the right enrollment or application flow on this site."},{id:"biz_education_support",label:"Find support",description:"Locate advising, tuition, or admissions help.",prompt:"Find the most useful support or admissions contact path on this site."}],support:[{id:"biz_support_ticket",label:"Open support path",description:"Find the fastest route to help or ticket submission.",prompt:"Help me find the best support path on this site and use it."},{id:"biz_support_docs",label:"Search help docs",description:"Look through troubleshooting or FAQ content.",prompt:"Search the help content on this site and summarize the answer."},{id:"biz_support_status",label:"Check status",description:"Find system status or issue updates.",prompt:"Find the current status or outage information on this site."}],legal:[{id:"biz_legal_consult",label:"Request consultation",description:"Open consultation or contact intake flow.",prompt:"Help me request a consultation on this site."},{id:"biz_legal_pricing",label:"Review services",description:"Compare services, practice areas, or pricing.",prompt:"Compare the main services on this legal site and summarize what matters."},{id:"biz_legal_docs",label:"Find requirements",description:"Locate intake requirements or needed documents.",prompt:"Find the documents or information this site says I need before getting started."}],automotive:[{id:"biz_auto_inventory",label:"Compare inventory",description:"Review vehicles, trims, and availability.",prompt:"Compare the best matching vehicles on this site."},{id:"biz_auto_service",label:"Book service",description:"Find service scheduling and maintenance flows.",prompt:"Help me schedule service on this site."},{id:"biz_auto_financing",label:"Check financing",description:"Compare financing, lease, or trade-in paths.",prompt:"Find the financing or trade-in flow on this site and summarize the options."}],general:[{id:"biz_general_start",label:"Get started",description:"Open the main conversion or onboarding path on this site.",prompt:"Help me complete the main get-started flow on this site."},{id:"biz_general_compare",label:"Compare options",description:"Summarize the main plans, products, or actions here.",prompt:"Compare the main options on this site and tell me which one fits best."},{id:"biz_general_contact",label:"Find the right contact",description:"Locate the best contact, demo, or support path.",prompt:"Find the best contact or support path on this site."}]};function BM(e){let t=sl(e)||"general";return(Jx[t]||Jx.general).map((n,r)=>({...n,id:`suggested_${t}_${n.id}`,enabled:!0,order:1e4+r,preferredInterface:"run"}))}function UM(){let e=Sn?.businessType;return(e&&m0[e])??OM}function gu(e){let t=hh(e);de?.setShortcuts(o0(t)),de?.setExperience?.(Au(e)),de?.setVoiceConfig(bh(e)),de?.setPlaceholders?.(UM()),iM(e),Gn(e),al("site_config"),il("site_config"),ks("site_config")}async function FM(e){let t=null,n=cu(e)||Fn(e);if(!n)return null;let r={siteId:e.siteId,sessionId:p?.sessionId||e.sessionId,requestedSessionId:p?.sessionId||e.sessionId,host:window.location.hostname,url:window.location.href,pageUrl:window.location.href};n.startsWith("rvrsess_")?r.sessionToken=n:r.bootstrapToken=n;let o=Ni(e.apiBase);for(let i of o)try{let a=await fetch(`${i}/session/open`,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(r)}),s=await a.json().catch(()=>{});if(!a.ok||!s?.success)continue;if(t=s?.data?.siteConfig||null,t)break}catch{}return t?{shortcuts:ui(t.shortcuts),businessType:sl(t.businessType),experience:Gi(t.experience),greeting:na(t.greeting),voice:gs(t.voice),aiAccess:bs(t.aiAccess),limits:Iu(t.limits),pageConfig:Po(t.pageConfig),agentDiscovery:Na(t.agentDiscovery),version:t.version!=null?String(t.version):void 0}:null}function h0(e){let t=aM(e.siteId);t&&(Sn=t),gu(e),Kc(),FM(e).then(n=>{if(n&&(Sn=n,r0(e.siteId,n),gu(e),!ai)){let r=Cu(e);qi&&!p?.uiOpen?de?.showGreeting(yh(r)):Kc()}}).catch(()=>{})}function vh(e){if(!A)return;let t={...$r,...e};t.name&&(t.name=String(t.name).trim().slice(0,120)),t.email&&(t.email=String(t.email).trim().slice(0,240)),$r=t,mw(A.siteId,$r),de?.setVisitorName($r.name||""),ai||(qi&&!p?.uiOpen?de?.showGreeting(yh(Cu(A))):Kc())}function zM(e){if(pu(e),typeof window<"u"&&Wi(window,ZR,()=>{jm(A)}),j){let f=Qc(j.getRole());Ft=f,jr=f==="controller",p&&(p.executionMode=f)}mh(e),wu(e),Yr(!0);let t=(e.allowActions??!0)&&(j?j.isController():!0),n=f=>{if(!p)return;let u=Ct(p.pendingRun);if(u){let k=Ct({...u,taskBoundaryId:u.taskBoundaryId||Ve,resumeRequired:!0,resumeReason:f});return p.pendingRun=k,k&&j?.setActiveRun({runId:k.id,text:k.text}),k}let h=j?.getState().activeRun,b=String(Ae?.getActiveRunId()||Xc||h?.runId||"").trim();if(!b)return;let v=String(h?.text||Mn||"Continue task").trim()||"Continue task",S=Ct({id:b,text:v,startedAt:Date.now(),attempts:0,autoResume:!0,taskBoundaryId:Ve,resumeRequired:!0,resumeReason:f});return p.pendingRun=S,S&&j?.setActiveRun({runId:S.id,text:S.text}),S};Rt=new td({allowActions:t,runtimeId:It,allowedDomains:e.allowedDomains,domainScopeMode:qc(e.domainScopeMode),navigationDelayMs:e.timing?.navigationDelayMs,domSettle:{debounceMs:yn(e.timing?.domSettleDebounceMs,8,500),maxWaitMs:yn(e.timing?.domSettleMaxWaitMs,80,5e3),retries:yn(e.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:yn(e.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:yn(e.timing?.sparseTreeRetryMaxAttempts,0,4)},registerOpenedTab:f=>j?.registerOpenedTab(f),switchToLogicalTab:f=>j?.switchToLogicalTab(f)||{ok:!1,reason:"No session coordinator"},listKnownTabs:()=>(j?.listTabs({scope:"all"})||[]).map(f=>({logicalTabId:f.logicalTabId,runtimeId:f.runtimeId,url:f.url,title:f.title,external:!!f.external})),onNavigationGuardrail:f=>{if(bt("navigation_guardrail",f),_t({kind:"status",title:"Navigation guardrail",detail:bw(f),status:"info"}),Ae&&f?.blockedUrl){let u=Hx();if(!u)return;let h=String(window.location.hostname||"").toLowerCase(),b=(()=>{try{return new URL(String(f.blockedUrl)).hostname.toLowerCase()}catch{return}})();Ae.sendTabEvent({runId:u,currentUrl:String(f.currentUrl||window.location.href),targetUrl:String(f.blockedUrl),message:String(f.reason||""),currentHost:h||void 0,targetHost:b,isCrossHost:!!b&&!!h&&b!==h}).then(v=>{v&&(v.retryAttempted&&bt("tab_event_conflict_retry",{runId:v.runId||u,decisionReason:v.decisionReason,conflict:v.conflict}),v.retryExhausted&&bt("tab_event_conflict_exhausted",{runId:v.runId||u,decisionReason:v.decisionReason,conflict:v.conflict}))}).catch(()=>{})}},onBeforeAgentNavigation:async f=>{let u=Hx(),h=String(window.location.hostname||"").toLowerCase();if(f?.targetUrl&&hx(f.targetUrl,h)){let O=Kp(f.targetUrl,h);return ot("navigation_guardrail",{event:"adversarial_blocked",targetUrl:f.targetUrl,score:O.score,reasons:O.reasons}),{decision:"block",reason:`Navigation blocked: suspicious URL detected (adversarial score ${O.score}).`,decisionReason:"adversarial_block"}}if(f?.isCrossHost){let O=Date.now();for(Oi.push(O);Oi.length>0&&Oi[0]<O-Px;)Oi.shift();if(Oi.length>i1)return ot("navigation_guardrail",{event:"rapid_cross_origin_blocked",targetUrl:f.targetUrl,count:Oi.length}),{decision:"block",reason:`Navigation blocked: too many cross-origin navigations (${Oi.length} in ${Px/1e3}s).`,decisionReason:"rapid_cross_origin_block"}}let b=(()=>{try{return new URL(String(f?.targetUrl||"")).hostname.toLowerCase()}catch{return}})(),v=!!h&&!!b&&mr(h)!==mr(b),S=!!h&&!!b&&h!==b,k=Ws({host:b,currentHost:h,allowedDomains:A?.allowedDomains,domainScopeMode:A?.domainScopeMode}),x=wx({targetUrl:f?.targetUrl,currentUrl:window.location.href,currentHost:h,allowedDomains:A?.allowedDomains,domainScopeMode:A?.domainScopeMode,preferredDisposition:f?.preferredDisposition||"auto",knownTabs:(j?.listTabs({scope:"all"})||[]).map(O=>({logicalTabId:O.logicalTabId,url:O.url,external:!!O.external})),taskScopedTabIds:Xa(),sourceLogicalTabId:f?.sourceLogicalTabId}),C=O1(),_=x==="allow_same_tab";if(_&&p){if(so=!0,em(Qp(f)),n(f.isCrossHost?"cross_host_navigation":"agent_navigation"),Rn&&A?.siteId)try{sessionStorage.setItem(`rover:sess:${A.siteId}`,JSON.stringify({t:Rn,e:uo}))}catch{}if(ae){let O=ae.getActiveTask();O&&ae.dispatch(O.taskId,{type:"NAVIGATION_STARTED",targetUrl:f.targetUrl,isCrossHost:f.isCrossHost})}is("same_tab_navigation_handoff_early")}let I=null;if(f?.targetUrl&&Ae&&u){let O=!!b&&!!h&&b!==h;I=await Ae.sendTabEvent({runId:u,currentUrl:window.location.href,targetUrl:f.targetUrl,message:C,currentHost:h||void 0,targetHost:b,isCrossHost:O}).catch(()=>null),I?.retryAttempted&&bt("tab_event_conflict_retry",{runId:I.runId||u,decisionReason:I.decisionReason,conflict:I.conflict,targetUrl:f.targetUrl}),I?.retryExhausted&&bt("tab_event_conflict_exhausted",{runId:I.runId||u,decisionReason:I.decisionReason,conflict:I.conflict,targetUrl:f.targetUrl})}let M=vx({crossRegistrableDomain:v,fallbackDecision:x,serverDecision:I?.decision,serverAvailable:!!I}),X=M.decision;if(X==="block")return _&&(so=!1),{decision:"block",reason:M.failSafeBlocked?"Cross-domain navigation blocked because preflight policy check is unavailable.":I?.reason||"Navigation blocked by policy.",decisionReason:M.failSafeBlocked?"preflight_unavailable_block":I?.decisionReason||"policy_blocked"};if(X==="open_new_tab"){_&&(so=!1),A?.tools?.web?.scrapeMode==="on_demand"&&Ae&&f?.targetUrl&&WC(f.targetUrl).catch(()=>{});let J=M.decisionReason==="preflight_unavailable_fallback"&&!I;return{decision:"open_new_tab",reason:I?.reason||(J?"Preflight is unavailable; Rover will open this page in a new tab and keep the task moving there.":"Rover will open this page in a new tab and keep the task moving there."),decisionReason:I?.decisionReason||M.decisionReason||"open_new_tab"}}return!_&&p?(so=!0,em(Qp(f)),n(f.isCrossHost?"cross_host_navigation":"agent_navigation"),is("same_tab_navigation_handoff")):_||(so=!0),{decision:"allow_same_tab",reason:I?.reason||(M.decisionReason==="preflight_unavailable_fallback"&&!I?"Preflight is unavailable; Rover will continue in the current tab.":"Navigation allowed."),decisionReason:I?.decisionReason||M.decisionReason||"allow_same_tab"}},onBeforeCrossHostNavigation:f=>{if(so=!0,!p||!A)return;em(Qp(f));let u=Km(),h=n("cross_host_navigation");Zk(A.siteId,{sessionId:p.sessionId,sessionToken:Rn,sessionTokenExpiresAt:uo,openIntent:p.uiOpen?"preserve_if_running":void 0,targetUrl:String(f?.targetUrl||"").trim()||void 0,sourceHost:String(window.location.hostname||"").trim().toLowerCase()||void 0,handoffId:u?.handoffId||f?.handoffId,pendingRun:h?{id:h.id,text:h.text,startedAt:h.startedAt,attempts:h.attempts,taskBoundaryId:h.taskBoundaryId||Ve}:void 0,handoff:u?{handoffId:u.handoffId,sourceLogicalTabId:u.sourceLogicalTabId,runId:u.runId,targetUrl:u.targetUrl,createdAt:u.createdAt}:void 0,activeTask:p.activeTask?{taskId:p.activeTask.taskId,status:p.activeTask.status}:void 0,taskEpoch:p.taskEpoch,timestamp:Date.now()}),is("cross_domain_handoff_pre_navigation")},instrumentationOptions:e.mode==="safe"?{observeInlineMutations:!1}:void 0});let r=Ft==="observer"?"observer":"controller";Rt?.setActionGateContext?.({mode:r,controllerRuntimeId:j?.getCurrentHolderRuntimeId(),activeLogicalTabId:j?.getActiveLogicalTabId(),localLogicalTabId:j?.getLocalLogicalTabId(),reason:Jc(r,t)});let o=new MessageChannel;sy(o.port1,{getSnapshot:()=>Rt.getSnapshot(),getPageData:async f=>{let u=A||e,h=Number(f?.tabId),b=j?.getLocalLogicalTabId();if(!Number.isFinite(h)||h<=0||h===b||!j){let k=await Rt.getPageData(f);return Yd(k,"local"),k}let S=j.listTabs().find(k=>k.logicalTabId===h);if(!S){let k=Xa().includes(h);return kc({logicalTabId:h,external:!1},k?"detached_runtime_placeholder":"target_tab_missing")}if(S.runtimeId===It){let k=await Rt.getPageData(f);return Yd(k,"local-target"),k}if(S.external)return kc(S,"external_domain_inaccessible");if(!S.runtimeId||!j.isTabAlive(h))return kc(S,"target_tab_inactive");try{let k=await j.sendCrossTabRpc(S.runtimeId,"getPageData",f,15e3);return Yd(k,"cross-tab"),k}catch{return kc(S,"cross_tab_rpc_failed")}},executeTool:async f=>{let u=A||e,h=f?.payload?.forceLocal===!0,b=String(f?.call?.name||"").trim(),v=Number(f?.call?.args?.tab_id),S=j?.getActiveLogicalTabId(),k=Number.isFinite(v)&&v>0?v:S;if(GC(b)){let I=f?.call?.serverResult;return I?I.success?{success:!0,output:I.data}:{success:!1,error:I.error||"Server-side execution failed"}:XC({call:f?.call,routeTabId:Number.isFinite(Number(k))?Number(k):void 0,runtimeCfg:u})}if(h)return Rt.executeTool(f.call,f.payload);let x=j?.getLocalLogicalTabId();if(!k||k===x||!j)return Rt.executeTool(f.call,f.payload);let _=j.listTabs().find(I=>I.logicalTabId===k);if(!_){let I=Xa().includes(k);return xc(u,{logicalTabId:k,external:!1},I?"detached_runtime_placeholder":"target_tab_missing")}if(_.external)return xc(u,_,"external_tab_action_blocked");if(_.runtimeId===It)return Rt.executeTool(f.call,f.payload);if(!_.runtimeId||!j.isTabAlive(k))return xc(u,_,"target_tab_inactive");try{return await j.sendCrossTabRpc(_.runtimeId,"executeTool",f,2e4)}catch{return xc(u,_,"cross_tab_execute_failed")}},executeClientTool:f=>Rt.executeClientTool(f.name,f.args),listClientTools:()=>Rt.listClientTools(),getTabContext:()=>{let f=j?.getLocalLogicalTabId(),u=j?.getActiveLogicalTabId();return{id:f||1,logicalTabId:f||1,activeLogicalTabId:u||f||1,runtimeId:It,mode:Ft,url:window.location.href,title:document.title}},listSessionTabs:()=>{if(!j)return[];let f=j.listTabs({scope:"all"}),u=Array.isArray(j.getState()?.tabs)?j.getState().tabs:[],h=new Set(Xa()),b=new Map,v=S=>{let k=Number(S?.logicalTabId||S?.id);!Number.isFinite(k)||k<=0||b.set(k,{...b.get(k)||{},...S,logicalTabId:k,id:k})};for(let S of f)v(S);for(let S of u){let k=Number(S?.logicalTabId);!Number.isFinite(k)||k<=0||(S.runtimeId||S.external||h.has(k))&&v(S)}return[...b.values()].sort((S,k)=>Number(S.logicalTabId)-Number(k.logicalTabId))}}),o.port1.start?.();let i=e.workerUrl?e.workerUrl:new URL("./worker/worker.js",__ROVER_SCRIPT_URL__).toString(),a=i;try{let f=window.location.origin,u=new URL(i).origin;if(f!==u){let h=new Blob([`import '${i}';`],{type:"application/javascript"});a=URL.createObjectURL(h)}}catch{}lt=new Worker(a,{type:"module"}),lt.postMessage({type:"init",config:{...e,...ta(),pageConfig:Wc(A),publicKey:void 0,authToken:Fn(e),sessionToken:Rn,sessionId:p?.sessionId,activeRunId:p?.pendingRun?.id},port:o.port2},[o.port2]);let s=(f="manual_cancel_task")=>{if(!p)return;let u=p.pendingRun;if(u){fi(u.id),lt?.postMessage({type:"cancel_run",runId:u.id}),li(u.id,f,{attemptImmediately:!0}),Ae?.controlRun({action:"cancel",runId:u.id,reason:f}).catch(()=>{}),j?.releaseWorkflowLock(u.id),j?.setActiveRun(void 0),Zt(void 0),p.workerState=void 0,j?.setWorkerContext(void 0),Ve=Xr(),p.taskTabScope=void 0,gr({forceReset:!0,persist:!1}),Ir(),Qt&&(clearTimeout(Qt),Qt=null),de?.setRunning(!1),de?.setQuestionPrompt(void 0),Ww(f),Xt(void 0),_t({kind:"info",title:"Run cancelled",status:"info"}),Cn("system","Task cancelled.",!0),Xi=void 0,po=void 0,ds=0,Ze();return}let h=Vr(p.workerState?.pendingAskUser?.questions).length>0,b=p.activeTask?.status;!h&&b!=="running"||(Ve=Xr(),p.workerState=void 0,p.taskTabScope=void 0,gr({forceReset:!0,persist:!1}),Ir(),Qt&&(clearTimeout(Qt),Qt=null),de?.setRunning(!1),de?.setQuestionPrompt(void 0),ir(),Zt(void 0),DC(f),j?.endTask(f),j?.setActiveRun(void 0),j?.setWorkerContext(void 0),Xt(void 0),Xi=void 0,po=void 0,ds=0,_t({kind:"info",title:f==="question_prompt_cancel"?"Input request cancelled":"Task cancelled",status:"info"}),Ze())},c={siteId:e.siteId,resolveElement:f=>Gk(f),getLocalLogicalTabId:()=>j?.getLocalLogicalTabId(),panel:{resizable:e.ui?.panel?.resizable!==!1},shortcuts:o0(ui(e.ui?.shortcuts||[])),experience:Au(e),greeting:Cu(e),voice:bh(e),thoughtStyle:e.ui?.thoughtStyle,visitorName:$r?.name,onVoiceTelemetry:(f,u)=>{j1(f,u)},onShortcutClick:f=>{let u=String(f.prompt||"").trim();u&&Er(u,{routing:f.routing,narrationEnabledForRun:dm,narrationPreferenceSource:um,narrationRunKind:f.runKind,narrationLanguage:cs})},onSend:(f,u)=>{Er(f,{askUserAnswers:u?.askUserAnswers,attachments:u?.attachments,narrationEnabledForRun:u?.narrationEnabledForRun===!0,narrationPreferenceSource:u?.narrationPreferenceSource==="visitor"?"visitor":"default",narrationRunKind:u?.narrationRunKind,narrationLanguage:u?.narrationLanguage})},onOpenConversations:()=>{Am("drawer_open").catch(()=>{})},onNarrationPreferenceChange:(f,u,h,b)=>{dm=u&&f,um=h==="visitor"?"visitor":"default",cs=b},onRequestControl:()=>{Q1()?_t({kind:"status",title:"Control requested",detail:"This tab is now the active Rover controller for the current task.",status:"info"}):Cn("system","Unable to acquire control right now. Try again in a moment.",!0)},onCancelRun:()=>{s("manual_cancel_task")},onCancelQuestionFlow:()=>{s("question_prompt_cancel")},onNewTask:()=>{cl({reason:"manual_new_task",clearUi:!0})},onEndTask:()=>{Nu({reason:"manual_end_task"})},onTaskSuggestionPrimary:()=>{let f=oi;if(f){if(f.kind==="resume_run"){let u=Ct(p?.pendingRun);if(ir(),!u||u.id!==f.runId){Xt("Previous task is no longer resumable.");return}fo({overridePolicyAction:"auto_resume"});return}Er(f.text,{bypassSuggestion:!0,startNewTask:!0,reason:f.reason})}},onTaskSuggestionSecondary:()=>{let f=oi;if(f){if(f.kind==="resume_run"){let u=String(p?.pendingRun?.id||"").trim();if(ir(),!u||u!==f.runId)return;dh({reason:"resume_declined_by_user",statusText:"Resume cancelled. Start a new task when you are ready.",runId:f.runId,cancelReason:"resume_declined_by_user",timelineTitle:"Resume cancelled",timelineDetail:"Interrupted run was cancelled by user action.",timelineStatus:"info"});return}Er(f.text,{bypassSuggestion:!0})}},onSwitchConversation:f=>{if(!ae||!p)return;let u=ae.getActiveTask();u&&de&&(u.scrollPosition=de.getScrollPosition());let h=String(j?.getState()?.activeRun?.runId||"").trim(),v=!!(String(p.pendingRun?.id||"").trim()||h);if(u&&u.taskId!==f&&v){Cn("system","Finish the active run before switching conversations.",!0);return}let S=ae.switchActiveTask(f);if(!S){(async()=>{let k=await Tr?.get(f);!k&&$i&&(k=await $i.get(f).catch(()=>null),k&&Tr?.upsert(k));let x=k?.payload?.taskRecord;if(!x)return;ae?.createTask("conversation_history_restore",x);let C=ae?.switchActiveTask(x.taskId);C&&(Rm(C,{replayUi:!0}),p.activeTaskId=C.taskId,de?.setActiveConversationId(C.taskId),lo(),Ze())})().catch(()=>{});return}Rm(S,{replayUi:!0}),p.activeTaskId=f,de&&(requestAnimationFrame(()=>{S.scrollPosition!=null&&de.setScrollPosition(S.scrollPosition)}),de.setActiveConversationId(f)),lo(),Ze()},onDeleteConversation:f=>{ae&&(ae.deleteTask(f),Tr?.remove(f,{deletedAt:Date.now()}),$i?.delete(f).catch(()=>{}),lo(),Ze())},onResumeTask:f=>{if(!ae)return;ae.dispatch(f,{type:"RESUME"}).accepted&&(de?.hidePausedTaskBanner(),ae.assignWorker(f,{}),lo(),Ze())},onCancelPausedTask:f=>{if(!ae)return;ae.dispatch(f,{type:"CANCEL",reason:"user_cancelled_paused_task"}).accepted&&(de?.hidePausedTaskBanner(),ae.archiveTask(f),lo(),Ze())},onTabClick:f=>{j?.switchToLogicalTab(f)},showTaskControls:e.ui?.showTaskControls!==!1,muted:e.ui?.muted,agent:{name:e.ui?.agent?.name},mascot:{disabled:e.ui?.mascot?.disabled,imageUrl:e.ui?.mascot?.imageUrl,mp4Url:e.ui?.mascot?.mp4Url,webmUrl:e.ui?.mascot?.webmUrl,soundEnabled:e.ui?.mascot?.soundEnabled},onOpen:()=>{ai=!0,ol(),p&&(p.uiOpen=!0,p.uiHidden=!1,Ze()),Gn(A),bt("open")},onClose:()=>{p&&(p.uiOpen=!1,Ze()),Gn(A),bt("close")}};de=Lv(c),ir(),Tu(p?.uiMessages||[],p?.timeline||[]),_u(p),hs(),lo(),Am("boot").catch(()=>{}),p?.executionMode&&de.setExecutionMode(p.executionMode,{localLogicalTabId:j?.getLocalLogicalTabId(),activeLogicalTabId:j?.getActiveLogicalTabId(),controllerRuntimeId:j?.getCurrentHolderRuntimeId(),canTakeControl:!0,canComposeInObserver:Lw(),note:Dw(p.executionMode)}),lt.onmessage=f=>{nM(f.data||{})};let l=()=>{j?.registerCurrentTab(window.location.href,document.title),j?.broadcastNavigation(window.location.href,document.title),al("navigation"),il("navigation"),ks("navigation")};Ja||(Ja=History.prototype.pushState),Qa||(Qa=History.prototype.replaceState);let d=Ja.bind(history),m=Qa.bind(history);history.pushState=function(...f){let u=d(...f);return setTimeout(l,0),u},history.replaceState=function(...f){let u=m(...f);return setTimeout(l,0),u},Wi(window,"popstate",l),p?.uiHidden?de.hide():(de.show(),p?.uiOpen??!!e.openOnInit?de.open():de.close()),p&&(p.uiHidden=!!p.uiHidden,p.uiOpen=!!p.uiOpen,Ze()),j&&(fh(j.getState(),"remote"),Zi(j.getRole(),{localLogicalTabId:j.getLocalLogicalTabId(),activeLogicalTabId:j.getActiveLogicalTabId(),holderRuntimeId:j.getCurrentHolderRuntimeId()})),Kc()}function Gc(e){if(e=n0(e),ni)return bu(e),ni;mm&&yu(),mm=!0,Lo=Rd(),It=R1(e.siteId),Yt=hw(e),Tr=Uk({siteId:e.siteId,visitorId:Yt||It}),$i=new Cd({apiBase:e.apiBase,getSessionToken:()=>Fn(A),siteId:e.siteId,visitorId:Yt||It}),$r=e.visitor||N1(e.siteId),ai=!1,qi=!1,ol(),Ji(),Sn=null,Kn=!1;let t=e.sessionId?.trim(),n=L1(e.siteId),r=!t&&e.sessionScope!=="tab"&&Yt?Ux(e.siteId,Yt):void 0,o=Xd(e.siteId,t||r),i=rs(e.siteId),a=Array.from(new Set([t?o:n,o,n,r?Xd(e.siteId,r):void 0,i].filter(x=>!!x))),s=null,c=null;for(let x of a){let C=cC(x);if(C){s=C,c=x;break}}Vn=c||o,Mo=i!==Vn?i:null;let l=a.filter(x=>x!==Vn);vm(e.siteId,Vn);let d=s?null:Bp(e.siteId,{currentUrl:window.location.href,currentHost:window.location.hostname,requireTargetMatch:!0});!s&&!d&&Bp(e.siteId,{currentHost:window.location.hostname,requireTargetMatch:!1})&&(ot("status",{event:"resume_cookie_rejected",reason:"target_or_host_mismatch"}),hc(e.siteId)),d&&(hc(e.siteId),Un=!0,Kn=!0,d.openIntent==="preserve_if_running"&&Fx({runId:d.pendingRun?.id,taskId:d.activeTask?.taskId}),d.sessionToken&&lu(d.sessionToken,d.sessionTokenExpiresAt));let m=e.sessionId?.trim(),f=!m&&!s?.sessionId&&!d?.sessionId&&e.sessionScope!=="tab"&&Yt?Ux(e.siteId,Yt):void 0,u=m||s?.sessionId||d?.sessionId||f||crypto.randomUUID(),h=s;if(!s&&d){let x=km(d.sessionId,It),C=String(d.activeTask?.status||"").trim().toLowerCase(),_=!C||C==="running";d.pendingRun&&_&&(x.pendingRun=Ct({...d.pendingRun,autoResume:!0,taskBoundaryId:d.pendingRun.taskBoundaryId,resumeRequired:!0,resumeReason:"cross_host_navigation"})),d.handoff&&(x.lastNavigationHandoff=Bo({...d.handoff,createdAt:d.handoff.createdAt})),d.activeTask&&(x.activeTask={...Xn("cross_domain_resume"),taskId:d.activeTask.taskId,status:d.activeTask.status}),x.taskEpoch=d.taskEpoch||1,Wp(d.openIntent)&&(x.uiHidden=!1,x.uiOpen=!0),h=x}p=Vc(h,u,It),m&&p.sessionId!==m&&(p=km(m,It));let b=P1(e.siteId);Ve=E1(p),b&&p.activeTask?.status==="running"&&(Kn=!0,Wp(b.openIntent)&&(p.uiHidden=!1,p.uiOpen=!0,Fx({runId:b.runId,taskId:p.activeTask?.taskId})),p.pendingRun=Ct({...p.pendingRun||{},id:p.pendingRun?.id||b.runId,text:p.pendingRun?.text||b.text||Mn||"Continue task",startedAt:p.pendingRun?.startedAt||Date.now(),attempts:p.pendingRun?.attempts||0,autoResume:!0,taskBoundaryId:p.pendingRun?.taskBoundaryId||b.taskBoundaryId||Ve,resumeRequired:!0,resumeReason:b.resumeReason||p.pendingRun?.resumeReason||"agent_navigation"})),p.pendingRun&&!p.pendingRun.taskBoundaryId&&(p.pendingRun=Ct({...p.pendingRun,taskBoundaryId:Ve})),p.workerState&&!p.workerState.taskBoundaryId&&(p.workerState=qr(kn({...p.workerState,taskBoundaryId:Ve}),Ve)),Yc(p),A={...e,deepLink:oc(e.deepLink),pageConfig:Po(e.pageConfig),visitorId:Yt||e.visitorId,sessionId:m||p.sessionId,domainScopeMode:qc(e.domainScopeMode),taskRouting:{mode:e.taskRouting?.mode||"act",actHeuristicThreshold:e.taskRouting?.actHeuristicThreshold,plannerOnActError:e.taskRouting?.plannerOnActError},timing:{navigationDelayMs:yn(e.timing?.navigationDelayMs,0,3e3),actionTimeoutMs:yn(e.timing?.actionTimeoutMs,Uc,12e4),domSettleDebounceMs:yn(e.timing?.domSettleDebounceMs,8,500),domSettleMaxWaitMs:yn(e.timing?.domSettleMaxWaitMs,80,5e3),domSettleRetries:yn(e.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:yn(e.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:yn(e.timing?.sparseTreeRetryMaxAttempts,0,4)},transport:{activation:nh(e.transport?.activation),idleCloseMs:rh(e.transport?.idleCloseMs)},stability:{maxPersistBytes:fs(e.stability?.maxPersistBytes,Wt.localPersistBytes),maxSnapshotBytes:fs(e.stability?.maxSnapshotBytes,Wt.snapshotBytes)},task:{singleActiveScope:yw(e.task?.singleActiveScope),tabScope:vw(e.task?.tabScope),resume:{mode:Qm(e.task?.resume?.mode),ttlMs:su(e.task?.resume?.ttlMs)},followup:{mode:kw(e.task?.followup?.mode),ttlMs:eh(e.task?.followup?.ttlMs),minLexicalOverlap:th(e.task?.followup?.minLexicalOverlap)},observerInput:Zm(e.task?.observerInput),autoResumePolicy:Jm(e.task?.autoResumePolicy)},chat:{inRun:xw(e.chat?.inRun),resumeFollowup:{mode:ww(e.chat?.resumeFollowup?.mode),maxTurns:Sw(e.chat?.resumeFollowup?.maxTurns)}},external:{intentSelection:Tw(e.external?.intentSelection),requireUserConfirm:_w(e.external?.requireUserConfirm),adversarialGate:Ew(e.external?.adversarialGate)},taskContext:{...e.taskContext},features:{rover_v2_kernel_runtime:Iw(e.features?.rover_v2_kernel_runtime)}},p.sessionId=A.sessionId,p.runtimeId=It,Vn=Xd(e.siteId,p.sessionId),Mo=Vn!==rs(e.siteId)?rs(e.siteId):null,vm(e.siteId,Vn),p.executionMode=p.executionMode||"controller",p.timeline=Kr(p.timeline),p.uiMessages=Wr(p.uiMessages),p.activeTask=pi(p.activeTask,Xn("boot")),jp(p.activeTask?.status)&&(p.pendingRun=void 0,p.workerState=void 0,Un=!1,Kn=!1,Ji(),hc(e.siteId),gw(e.siteId)),p.taskEpoch=Math.max(1,Number(p.taskEpoch)||1),Ft=p.executionMode,$r&&mw(e.siteId,$r);let v={maxConcurrentWorkers:e.task?.maxConcurrentWorkers??2,maxQueuedTasks:e.task?.maxQueuedTasks??5,maxArchivedTasks:e.task?.maxArchivedTasks??10};if(p.tasks&&Object.keys(p.tasks).length>0)ae=Ha.fromPersistedState({tasks:p.tasks,activeTaskId:p.activeTaskId,taskOrder:p.taskOrder},v);else{ae=Ha.fromV1State(p,v);let{tasks:x,activeTaskId:C,taskOrder:_}=ae.toPersistedState();p.tasks=x,p.activeTaskId=C,p.taskOrder=_}let S=ae.getActiveTask();S&&Rm(S,{replayUi:!1}),Ze();try{sessionStorage.setItem(`rover:tab-alive:${e.siteId}`,"1")}catch{}Ar=!1,ls=!1,Gr=!1,Wn=0,ou=null;try{let x=sessionStorage.getItem(`rover:sess:${e.siteId}`);if(x){let{t:C,e:_}=JSON.parse(x);C&&typeof C=="string"&&C.startsWith("rvrsess_")&&Number(_)>Date.now()+2e3&&lu(C,Number(_))}}catch{}zM(A),mo(A),al("boot"),il("boot"),ks("boot");let k=!!(Rn&&uo>Date.now()+2e3);if((!Ae||k)&&(ls=!0),Vn&&QC(Vn,l.length?l:Mo?[Mo]:void 0),TC(),Yr(!0),Un&&setTimeout(()=>{Un&&!Gr&&(Un=!1,fo())},PR),ni={boot:Gc,init:kh,update:bu,shutdown:yu,open:Nn,close:Mu,show:xh,hide:wh,send:Sh,newTask:cl,endTask:Nu,getState:Ih,getAgentCard:zm,requestSigned:_h,attachLaunch:Th,registerPromptContextProvider:Eh,registerTool:Ah,identify:vh,on:cw},LM(),Kd.length){for(let x of Kd)Gm(x);Kd.length=0}return ni}function kh(e){return Gc(e)}function bu(e){if(!ni||!lt||!A)return;e=n0(e),A={...A,...e,deepLink:oc({...A.deepLink,...e.deepLink}),pageConfig:e.pageConfig!==void 0?Po(e.pageConfig):A.pageConfig,domainScopeMode:qc(e.domainScopeMode??A.domainScopeMode),taskRouting:{...A.taskRouting,...e.taskRouting},timing:{...A.timing,...e.timing,navigationDelayMs:yn(e.timing?.navigationDelayMs??A.timing?.navigationDelayMs,0,3e3),actionTimeoutMs:yn(e.timing?.actionTimeoutMs??A.timing?.actionTimeoutMs,Uc,12e4),domSettleDebounceMs:yn(e.timing?.domSettleDebounceMs??A.timing?.domSettleDebounceMs,8,500),domSettleMaxWaitMs:yn(e.timing?.domSettleMaxWaitMs??A.timing?.domSettleMaxWaitMs,80,5e3),domSettleRetries:yn(e.timing?.domSettleRetries??A.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:yn(e.timing?.sparseTreeRetryDelayMs??A.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:yn(e.timing?.sparseTreeRetryMaxAttempts??A.timing?.sparseTreeRetryMaxAttempts,0,4)},transport:{...A.transport,...e.transport,activation:nh(e.transport?.activation??A.transport?.activation),idleCloseMs:rh(e.transport?.idleCloseMs??A.transport?.idleCloseMs)},agentDiscovery:{...A.agentDiscovery,...e.agentDiscovery},stability:{...A.stability,...e.stability,maxPersistBytes:fs(e.stability?.maxPersistBytes??A.stability?.maxPersistBytes,Wt.localPersistBytes),maxSnapshotBytes:fs(e.stability?.maxSnapshotBytes??A.stability?.maxSnapshotBytes,Wt.snapshotBytes)},task:{...A.task,...e.task,singleActiveScope:yw(e.task?.singleActiveScope??A.task?.singleActiveScope),tabScope:vw(e.task?.tabScope??A.task?.tabScope),resume:{mode:Qm(e.task?.resume?.mode??A.task?.resume?.mode),ttlMs:su(e.task?.resume?.ttlMs??A.task?.resume?.ttlMs)},followup:{mode:kw(e.task?.followup?.mode??A.task?.followup?.mode),ttlMs:eh(e.task?.followup?.ttlMs??A.task?.followup?.ttlMs),minLexicalOverlap:th(e.task?.followup?.minLexicalOverlap??A.task?.followup?.minLexicalOverlap)},observerInput:Zm(e.task?.observerInput??A.task?.observerInput),autoResumePolicy:Jm(e.task?.autoResumePolicy??A.task?.autoResumePolicy)},chat:{...A.chat,...e.chat,inRun:xw(e.chat?.inRun??A.chat?.inRun),resumeFollowup:{mode:ww(e.chat?.resumeFollowup?.mode??A.chat?.resumeFollowup?.mode),maxTurns:Sw(e.chat?.resumeFollowup?.maxTurns??A.chat?.resumeFollowup?.maxTurns)}},external:{...A.external,...e.external,intentSelection:Tw(e.external?.intentSelection??A.external?.intentSelection),requireUserConfirm:_w(e.external?.requireUserConfirm??A.external?.requireUserConfirm),adversarialGate:Ew(e.external?.adversarialGate??A.external?.adversarialGate)},taskContext:{...A.taskContext,...e.taskContext},features:{...A.features,...e.features,rover_v2_kernel_runtime:Iw(e.features?.rover_v2_kernel_runtime??A.features?.rover_v2_kernel_runtime)},ui:{...A.ui,...e.ui,agent:{...A.ui?.agent,...e.ui?.agent},experience:{...A.ui?.experience,...e.ui?.experience},panel:{...A.ui?.panel,...e.ui?.panel},voice:{...A.ui?.voice,...e.ui?.voice}},tools:{...A.tools,...e.tools,client:e.tools?.client??A.tools?.client,web:{...A.tools?.web,...e.tools?.web}}},Yt=hw(A),Yt&&(A.visitorId=Yt),e.sessionId&&p?(p.sessionId=e.sessionId,Vn=Xd(A.siteId,p.sessionId),Mo=Vn!==rs(A.siteId)?rs(A.siteId):null,vm(A.siteId,Vn),Ze(),pu(A)):(e.sessionScope||e.tabPolicy)&&pu(A),mh(A),wu(A),mo(A);let t=e.apiBase!==void 0||e.publicKey!==void 0||e.authToken!==void 0||e.sessionToken!==void 0||e.siteId!==void 0||e.siteKeyId!==void 0||e.ui?.shortcuts!==void 0||e.ui?.greeting!==void 0;if(Rt){typeof e.allowActions=="boolean"&&Rt.setAllowActions(e.allowActions&&Ft==="controller");let n=Ft==="controller"&&(A?.allowActions??!0),r=Ft==="observer"?"observer":"controller";Rt?.setActionGateContext?.({mode:r,controllerRuntimeId:j?.getCurrentHolderRuntimeId(),activeLogicalTabId:j?.getActiveLogicalTabId(),localLogicalTabId:j?.getLocalLogicalTabId(),reason:Jc(r,n)}),(e.allowedDomains||e.domainScopeMode)&&Rt.setNavigationPolicy({allowedDomains:e.allowedDomains,domainScopeMode:qc(e.domainScopeMode??A.domainScopeMode)})}lt.postMessage({type:"update_config",config:{...e,...ta(),pageConfig:Wc(A),publicKey:void 0,authToken:Fn(A),sessionToken:Rn,sessionId:p?.sessionId,activeRunId:p?.pendingRun?.id,sessionEpoch:Ae?.getEpoch?.()??No,sessionSeq:Ae?.getLastSeq?.()??0}}),gu(A),t?h0(A):Kc(),e.visitor&&vh(e.visitor),typeof e.openOnInit=="boolean"&&(e.openOnInit||Ym(p)?Nn():Mu()),al("update"),il("update"),ks("update"),Yr()}function yu(){Vm(),Wm(),uw(),$m(),au(),Ji(),ir(),os(),gh(!0),ji(!0),ih(),Jt?.markDirty(),Jt?.syncNow({push:!0,pull:!1}),Jt?.stop(),Jt=null,Ae?.stop(),Ae=null,Rn=void 0,uo=0,No=1,ii(void 0),zc="",j?.stop(),j=null,ae?.shutdown(),ae=null,lt?.terminate(),lt=null,de?.destroy(),de=null,Rt=null,A=null,Ar=!1,Gr=!1,Wn=0,Ut&&(clearTimeout(Ut),Ut=null),Jo&&(clearTimeout(Jo),Jo=null),Wd=!1,Bn.clear(),co.clear(),_r.clear(),ao.clear(),Oc(),Hi(),zi="",Nc="",Ec="",uM(),Ga="",Fi="",hu(),Pc="",Ka="",ei=null,vn=!1,si=!1,Hc.clear(),gm=!1,so=!1,Ve="",It="",Yt=void 0,$r=void 0,ai=!1,qi=!1,ol(),Sn=null,lm="",ss=!1,Vd=!1,Ya=!1,nr=[],tw=0,sm=0,cm=0,ru=0,Rc=!1,Do&&(clearTimeout(Do),Do=null),Em="",Va="",Ft="controller",jr=!0,oi=null,Lo=null,ou=null,Ic=0;try{let e=window.rtrvrAIClearObserverPause;typeof e=="function"&&e()}catch{}ni=null;for(let e of ri)try{e.target.removeEventListener(e.event,e.handler,e.options)}catch{}if(ri.length=0,Ja){try{History.prototype.pushState=Ja}catch{}Ja=null}if(Qa){try{History.prototype.replaceState=Qa}catch{}Qa=null}fm=!1,pm=!1,hm=!1,vn=!1,si=!1,mm=!1}function Nn(){ai=!0,ol(),si=!0,de?.show(),de?.open(),p&&(p.uiHidden=!1,p.uiOpen=!0,Ze()),Gn(A)}function Mu(){de?.close(),Ji(),p&&(p.uiOpen=!1,Ze()),Gn(A)}function xh(){de?.show(),p&&(p.uiHidden=!1,Ze()),Gn(A)}function wh(){de?.hide(),Ji(),p&&(p.uiHidden=!0,p.uiOpen=!1,Ze()),Gn(A)}function Sh(e){e?.trim()&&Er(e)}async function Th(e){if(!A)return null;await mo(A);let t=await Ae?.attachLaunch({requestId:e.requestId,attachToken:e.attachToken})||null;if(!t)return null;let n=Xe?.requestId===t.requestId?Xe:null;return Xe={requestId:t.requestId,attachToken:e.attachToken,handleKey:n?.handleKey||`direct_attach:${t.requestId}`,status:t.status,detail:t.detail,executionTarget:t.executionTarget,runId:t.runId,promptDispatchState:mu(t)?"pending":"started",pendingEvents:n?.pendingEvents||[],ingestInFlight:n?.ingestInFlight||!1,lastNeedsInputSignature:n?.lastNeedsInputSignature,finalObservationRunId:n?.finalObservationRunId,attachCompletedAt:Date.now()},Vi(),mu(t)?l0(t):Nn(),t}async function _h(e,t={}){if(!A)throw new Error("Rover is not booted.");await mo(A),await Ae?.ensureSession(!1);let n=Ae?.getSessionToken()||Rn||Fn(A);if(!n)throw new Error("Rover signed request is unavailable without an active Rover session.");let r=new Headers(t.headers||void 0);return r.has("Authorization")||r.set("Authorization",`Bearer ${n}`),p?.sessionId&&!r.has("X-Rover-Session-Id")&&r.set("X-Rover-Session-Id",p.sessionId),A.siteId&&!r.has("X-Rover-Site-Id")&&r.set("X-Rover-Site-Id",A.siteId),typeof window<"u"&&!r.has("X-Rover-Host")&&r.set("X-Rover-Host",window.location.hostname),fetch(e,{...t,headers:r})}function Eh(e){return typeof e!="function"?()=>{}:(Hc.add(e),()=>{Hc.delete(e)})}function cl(e){if(!p)return;let t=e?.reason||"manual_new_task",n=e?.clearUi!==!1;if(Xi=void 0,po=void 0,ds=0,p.pendingRun&&(fi(p.pendingRun.id),lt?.postMessage({type:"cancel_run",runId:p.pendingRun.id}),li(p.pendingRun.id,t,{attemptImmediately:!0}),Ae?.controlRun({action:"cancel",runId:p.pendingRun.id,reason:t}),j?.releaseWorkflowLock(p.pendingRun.id)),Qt&&(clearTimeout(Qt),Qt=null),de?.setRunning(!1),de?.setQuestionPrompt(void 0),Gr=!1,Wn=0,nl(),ae){let i=ae.createTask(t);ae.switchActiveTask(i.taskId),ae.dispatch(i.taskId,{type:"START",reason:t})}let r=mi({type:"new_task",reason:t,at:Date.now()},{syncShared:!1,persist:!1});if(!r)return;let o=Math.max(1,Number(p.taskEpoch)||1);n&&(p.uiMessages=[],p.timeline=[],p.uiStatus=void 0,p.transientStatus=void 0,lh()),j?.startNewTask({taskId:r.taskId,startedAt:r.startedAt,boundaryReason:t,status:"running",lastUserAt:void 0,lastAssistantAt:void 0}),gr({forceReset:!0,persist:!1}),j?.setActiveRun(void 0),j?.setWorkerContext(void 0),qw([]),Xt(void 0),Ze(),lt?.postMessage({type:"start_new_task",taskId:r.taskId,...ta()}),Ae?.controlRun({action:"new_task",reason:t}),bt("visit_started",{visitId:r.taskId,reason:t,taskEpoch:o})}function Nu(e){if(!p)return;let t=e?.reason||"manual_end_task";if(Xi=void 0,po=void 0,ds=0,Gr=!1,Wn=0,Kn=!1,nl(),ae){let o=ae.getActiveTask();o&&ae.dispatch(o.taskId,{type:"CANCEL",reason:t})}let n=p.pendingRun?.id,r=mi({type:"terminal",terminal:"ended",reason:t,at:Date.now()},{syncShared:!1,persist:!1,rotateBoundary:!1});r&&(n&&(fi(n),lt?.postMessage({type:"cancel_run",runId:n}),li(n,t,{attemptImmediately:!0}),Ae?.controlRun({action:"cancel",runId:n,reason:t}),j?.releaseWorkflowLock(n)),Zt(void 0),Ve=Xr(),p.workerState=void 0,p.taskTabScope=void 0,gr({forceReset:!0,persist:!1}),Ir(),Qt&&(clearTimeout(Qt),Qt=null),de?.setRunning(!1),de?.setQuestionPrompt(void 0),ir(),Xt(void 0),Ae?.controlRun({action:"end_task",runId:n,reason:t}),j?.endTask(t),j?.setActiveRun(void 0),j?.setWorkerContext(void 0),Ze(),_t({kind:"info",title:"Task ended",detail:"Start a new task when you are ready.",status:"info"}),bt("visit_ended",{visitId:r.taskId,reason:t,endedAt:r.endedAt}))}function Ih(){let e=z1(Fn()),t=p?ph(p):null,n=ow();return t&&e&&(t.currentAgentAttribution=e),t&&(t.launchBinding=n),{mode:Ft,runtimeId:It,runtimeState:t,sharedState:j?.getState()||null,launchBinding:n,pendingTaskSuggestion:oi,currentAgentAttribution:e}}function Ah(e,t){let n=m1(e);if(!ni||!Rt||!lt){Kd.push({def:n,handler:t});return}Gm({def:n,handler:t})}function HM(e){if(!e)return;let t=String(e);if(t==="init")return"init";if(t==="boot")return"boot";if(t==="update")return"update";if(t==="shutdown")return"shutdown";if(t==="open")return"open";if(t==="close")return"close";if(t==="show")return"show";if(t==="hide")return"hide";if(t==="send")return"send";if(t==="newTask")return"newTask";if(t==="endTask")return"endTask";if(t==="attachLaunch")return"attachLaunch";if(t==="getState")return"getState";if(t==="getAgentCard")return"getAgentCard";if(t==="requestSigned")return"requestSigned";if(t==="registerPromptContextProvider")return"registerPromptContextProvider";if(t==="registerTool")return"registerTool";if(t==="on")return"on"}var jM={normalizePendingRunResumeReason:ic,sanitizeWorkerState:kn,cloneRuntimeStateForCheckpoint:ph,getPersistGovernorConfig:()=>({minPersistIntervalMs:Im,maxCoalesceDelayMs:jw}),getTelemetryFastLaneEvents:()=>Array.from(nw.values()),normalizePromptContextEntry:iw,buildPublicRunStartedPayload:aw,buildPublicRunLifecyclePayload:sw};function g0(){let e=window,t=e.rover,n=((r,...o)=>{let i=HM(r),a=i?n[i]:void 0;if(typeof a=="function")return a(...o)});if(n.boot=Gc,n.init=kh,n.update=bu,n.shutdown=yu,n.open=Nn,n.close=Mu,n.show=xh,n.hide=wh,n.send=Sh,n.attachLaunch=Th,n.newTask=cl,n.endTask=Nu,n.getState=Ih,n.getAgentCard=zm,n.requestSigned=_h,n.registerPromptContextProvider=Eh,n.registerTool=Ah,n.on=cw,e.rover=n,typeof t=="function"&&Array.isArray(t.q))for(let r of t.q){let[o,...i]=Array.isArray(r)?r:Array.from(r);typeof o=="string"&&n(o,...i)}if(!ni){let r=typeof globalThis.__ROVER_SCRIPT_EL__<"u"?globalThis.__ROVER_SCRIPT_EL__:null;if(r){let o=Ep(r);o&&Gc(o)}}}g0();return z0($M);})();
|
|
4594
|
+
`);let n=e.find(r=>r.type==="tool_output"||r.type==="json");if(n){if(typeof n.data=="string"&&n.data.trim())return n.data.trim();if(typeof n.data=="number"||typeof n.data=="boolean")return String(n.data)}}function uC(e){if(e==null)return;let t=typeof e=="object"&&e!==null?e:void 0,n=t?.output??t?.generatedContentRef??t?.schemaHeaderSheetInfo??e,r=Bw(fi([{type:"tool_output",data:n}]));if(dC(n,r))return fi([{type:"tool_output",label:typeof t?.name=="string"?`${t.name} output`:"Tool output",data:n}])}function tr(e){let t=Number(e);if(!(!Number.isFinite(t)||t<=0))return t}function Uw(e){if(!e||typeof e!="object")return[];let t=e,n=[tr(t.tab_id),tr(t.logical_tab_id),tr(t.tabId),tr(t.logicalTabId)].filter(r=>!!r);return hr(n)}function fC(e){if(!e||typeof e!="object")return[];let t=e,n=t.output&&typeof t.output=="object"?t.output:void 0,r=[tr(t.tab_id),tr(t.logical_tab_id),tr(t.tabId),tr(t.logicalTabId),tr(n?.tab_id),tr(n?.logical_tab_id),tr(n?.tabId),tr(n?.logicalTabId)].filter(o=>!!o);return hr(r)}function Fw(e){return(typeof e?.toolCallId=="string"&&e.toolCallId.trim()?e.toolCallId.trim():typeof e?.call?.id=="string"&&e.call.id.trim()?e.call.id.trim():"").slice(0,128)}function mu(e){let t=Fw(e),n=tr(e?.logicalTabId)??tr(e?.logical_tab_id)??Uw(e?.call?.args)[0];if(n)return t&&(Xa.set(t,n),su(Xa,80)),n;let r=t?Xa.get(t):void 0;if(r)return r;let o=j?.getActiveLogicalTabId()??j?.getLocalLogicalTabId();return o&&t&&(Xa.set(t,o),su(Xa,80)),o}function pC(e){let t=Fw(e);t&&Xa.delete(t)}function mC(e){if(!e||typeof e!="object")return!1;let t=e,n=t.output&&typeof t.output=="object"?t.output:void 0,r=String(t.status||t.taskStatus||n?.status||n?.taskStatus||"").trim().toLowerCase();return!!(r==="failure"||r==="failed"||r==="error"||t.success===!1||n?.success===!1||t.error||n?.error)}function zw(e){if(!e||typeof e!="object")return null;let t=e.role,n=e.content;return typeof t!="string"||typeof n!="string"||!n?null:{role:t,content:n}}function gs(e,t){if(!Array.isArray(e))return[];let n=e.length<=t?e:[e[0],...e.slice(-(t-1))],r=[];for(let o of n){let i=lh(o);i!==void 0&&r.push(i)}return r}function Hw(e){if(!Array.isArray(e)||e.length===0)return[];let t=[...e],n=[];for(let o=0;o<t.length;o+=1){let i=t[o]?.accTreeId;typeof i=="string"&&i.trim()&&n.push(o)}if(n.length<=3)return t;let r=new Set([n[0],...n.slice(-2)]);for(let o of n)r.has(o)||t[o]&&typeof t[o]=="object"&&delete t[o].accTreeId;return t}async function hC(e,t){if(!Do)return null;try{let n=await Do.readAsync(e);if(n)return n;for(let r of t||[]){if(!r||r===e)continue;let o=await Do.readAsync(r);if(o)return o}return null}catch{return null}}function Wr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-tu)){let r=n?.role;r!=="user"&&r!=="assistant"&&r!=="system"||t.push({id:typeof n?.id=="string"&&n.id?n.id:Oo("msg"),role:r,text:String(n?.text||""),blocks:fi(n?.blocks),ts:Number(n?.ts)||Date.now(),sourceRuntimeId:typeof n?.sourceRuntimeId=="string"?n.sourceRuntimeId:void 0})}return t.filter(n=>!!n.text||!!n.blocks?.length)}var gC=new Set(["click","type","select","clear","focus","hover","press","scroll","drag","navigate","read","wait","unknown"]);function bC(e){if(!Array.isArray(e))return;let t=new Set,n=[];for(let r of e){let o=Math.trunc(Number(r));!Number.isFinite(o)||o<=0||t.has(o)||(t.add(o),n.push(o))}return n.length?n:void 0}function yC(e){if(!e||typeof e!="object")return;let t=e,n=String(t.kind||"").trim();if(!gC.has(n))return;let r=Math.trunc(Number(t.primaryElementId)),o=Math.trunc(Number(t.logicalTabId)),i=bC(t.elementIds),a=typeof t.toolCallId=="string"&&t.toolCallId.trim()?en(t.toolCallId.trim(),128):void 0,s=typeof t.targetLabel=="string"&&t.targetLabel.trim()?en(t.targetLabel.trim(),64):void 0;return{kind:n,toolCallId:a,primaryElementId:Number.isFinite(r)&&r>0?r:void 0,elementIds:i,logicalTabId:Number.isFinite(o)&&o>0?o:void 0,valueRedacted:typeof t.valueRedacted=="boolean"?t.valueRedacted:void 0,targetLabel:s}}function Kr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-nu)){let r=en(String(n?.title||""),400);if(!r)continue;let o=String(n?.kind||"status"),i=n?.status;t.push({id:typeof n?.id=="string"&&n.id?n.id:Oo("timeline"),kind:o,title:r,detail:n?.detail?String(n.detail):void 0,detailBlocks:fi(n?.detailBlocks),status:i==="pending"||i==="success"||i==="error"||i==="info"?i:void 0,ts:Number(n?.ts)||Date.now(),sourceRuntimeId:typeof n?.sourceRuntimeId=="string"?n.sourceRuntimeId:void 0,elementId:Number.isFinite(Number(n?.elementId))?Math.trunc(Number(n.elementId)):void 0,toolName:typeof n?.toolName=="string"?en(n.toolName,120):void 0,narration:typeof n?.narration=="string"?en(n.narration.replace(/\s+/g," ").trim(),220):void 0,narrationActive:typeof n?.narrationActive=="boolean"?n.narrationActive:void 0,responseKind:Dm(n?.responseKind),actionCue:yC(n?.actionCue)})}return t}function Jr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(-fR)){let r=n?.role==="user"?"user":n?.role==="model"?"model":void 0;if(!r)continue;let o=en(String(n?.message||"").replace(/\s+/g," ").trim(),1500);if(!o)continue;let i=t[t.length-1];i&&i.role===r&&i.message===o||t.push({role:r,message:o})}return t}function tl(e,t){if(!e)return;let n=typeof e=="string"?e:e?.text,r=en(String(n||"").trim(),300);if(!r)return;let o=typeof e?.runId=="string"&&e.runId.trim()?e.runId.trim():typeof t?.runId=="string"&&t.runId.trim()?t.runId.trim():void 0,i=typeof e?.taskId=="string"&&e.taskId.trim()?e.taskId.trim():typeof t?.taskId=="string"&&t.taskId.trim()?t.taskId.trim():void 0,a=typeof e?.stage=="string"&&e.stage.trim()?en(e.stage.trim(),40):void 0;return{text:r,ts:Number(e?.ts)||Date.now(),runId:o,taskId:i,stage:a}}function vC(e,t){let n=Number(e.ts)||0,r=Number(t.ts)||0;if(n!==r)return n-r;let o=Array.isArray(e.blocks)?e.blocks.length:0,i=Array.isArray(t.blocks)?t.blocks.length:0;return o!==i?o-i:String(e.text||"").length-String(t.text||"").length}function kC(e,t){let n=new Map;for(let r of Wr(e))n.set(r.id,r);for(let r of Wr(t)){let o=n.get(r.id);(!o||vC(r,o)>0)&&n.set(r.id,r)}return Wr([...n.values()].sort((r,o)=>{let i=(Number(r.ts)||0)-(Number(o.ts)||0);return i!==0?i:r.id.localeCompare(o.id)}))}function xC(e,t){let n=Number(e.ts)||0,r=Number(t.ts)||0;if(n!==r)return n-r;let o=Array.isArray(e.detailBlocks)?e.detailBlocks.length:0,i=Array.isArray(t.detailBlocks)?t.detailBlocks.length:0;return o!==i?o-i:String(e.detail||"").length-String(t.detail||"").length}function wC(e,t){let n=new Map;for(let r of Kr(e))n.set(r.id,r);for(let r of Kr(t)){let o=n.get(r.id);(!o||xC(r,o)>0)&&n.set(r.id,r)}return Kr([...n.values()].sort((r,o)=>{let i=(Number(r.ts)||0)-(Number(o.ts)||0);return i!==0?i:r.id.localeCompare(o.id)}))}function xn(e){if(!e||typeof e!="object")return;let t=String(e.taskBoundaryId||"").trim(),n=Array.isArray(e.history)?e.history:[],r=Array.isArray(e.plannerHistory)?e.plannerHistory:[],o=Array.isArray(e.agentPrevSteps)?e.agentPrevSteps:Array.isArray(e.lastToolPreviousSteps)?e.lastToolPreviousSteps:[],i=n.slice(-Um).map(b=>zw(b)).filter(b=>!!b),a=gs(r,Fm),s=gs(Hw(o),zm),c=Vr(e?.pendingAskUser?.questions),l=e?.pendingAskUser?.stepRef,d=l&&Number.isFinite(Number(l.stepIndex))&&Number(l.stepIndex)>=0&&Number.isFinite(Number(l.functionIndex))&&Number(l.functionIndex)>=0?{stepIndex:Number(l.stepIndex),functionIndex:Number(l.functionIndex),...typeof l.accTreeId=="string"&&l.accTreeId.trim()?{accTreeId:l.accTreeId.trim()}:{}}:void 0,m=c.length?{questions:c,source:e?.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e?.pendingAskUser?.askedAt)||Date.now(),boundaryId:typeof e?.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...d?{stepRef:d}:{}}:void 0,f=qe(t||void 0),u=qe(m?.boundaryId||f);m&&f&&u&&u!==f&&(m=void 0);let h=typeof e.rootUserInput=="string"?e.rootUserInput.trim():"";return{trajectoryId:typeof e.trajectoryId=="string"?e.trajectoryId:void 0,taskBoundaryId:t||void 0,rootUserInput:h||void 0,seedChatLog:Jr(e.seedChatLog),files:ch(e.files),history:i,plannerHistory:a,agentPrevSteps:s,lastToolPreviousSteps:s,pendingAskUser:m,updatedAt:Number(e.updatedAt)||Date.now()}}function Kc(e,t,n){if(!e||typeof e!="object")return wm(t,n);let r=Xn(),o=hi(e.activeTask,r),i=Ct(e.pendingRun),a=o.status==="running"?i:void 0,s=a?.taskBoundaryId&&String(a.taskBoundaryId).trim()||(typeof e?.workerState?.taskBoundaryId=="string"?String(e.workerState.taskBoundaryId).trim():"")||void 0,c=ks(e.taskTabScope,s),l={version:Bm,sessionId:typeof e.sessionId=="string"&&e.sessionId?e.sessionId:t,runtimeId:typeof e.runtimeId=="string"&&e.runtimeId?e.runtimeId:n,uiOpen:!!e.uiOpen,uiHidden:!!e.uiHidden,uiStatus:typeof e.uiStatus=="string"?en(e.uiStatus,300):void 0,transientStatus:tl(e.transientStatus??e.uiStatus,{runId:i?.id,taskId:o?.taskId}),uiMessages:Wr(e.uiMessages),timeline:Kr(e.timeline),executionMode:e.executionMode==="observer"||e.executionMode==="controller"?e.executionMode:"controller",workerState:xn(e.workerState),pendingRun:a,taskTabScope:c,lastNavigationHandoff:Uo(e.lastNavigationHandoff),taskEpoch:Math.max(1,Number(e.taskEpoch)||1),activeTask:o,lastRoutingDecision:e.lastRoutingDecision&&(e.lastRoutingDecision.mode==="act"||e.lastRoutingDecision.mode==="planner")?{mode:e.lastRoutingDecision.mode,score:Number(e.lastRoutingDecision.score)||void 0,reason:typeof e.lastRoutingDecision.reason=="string"?en(e.lastRoutingDecision.reason,200):void 0,ts:Number(e.lastRoutingDecision.ts)||Date.now()}:void 0,launchBinding:Hm(e.launchBinding),updatedAt:Number(e.updatedAt)||Date.now(),tasks:e.tasks&&typeof e.tasks=="object"?e.tasks:{},activeTaskId:typeof e.activeTaskId=="string"?e.activeTaskId:void 0,taskOrder:Array.isArray(e.taskOrder)?e.taskOrder:[]};if((Number(e.version)||1)<2&&o&&o.taskId){let m=qa.fromV1State(l),{tasks:f,activeTaskId:u,taskOrder:h}=m.toPersistedState();l.tasks=f,l.activeTaskId=u,l.taskOrder=h,m.shutdown()}return l}function hi(e,t){if(!e||typeof e!="object")return t;let n=typeof e.taskId=="string"&&e.taskId.trim()?e.taskId.trim():t.taskId,r=e.status==="ended"||e.status==="completed"||e.status==="cancelled"||e.status==="failed"||e.status==="running"?e.status:"running";return{taskId:n,status:r,startedAt:Number(e.startedAt)||t.startedAt,lastUserAt:Number(e.lastUserAt)||void 0,lastAssistantAt:Number(e.lastAssistantAt)||void 0,boundaryReason:typeof e.boundaryReason=="string"?en(e.boundaryReason,120):t.boundaryReason,endedAt:Number(e.endedAt)||void 0}}function jw(e,t){return hi(e,t)}function nl(e){if(!e)return;let t=Vr(e.pendingAskUser?.questions);return{trajectoryId:e.trajectoryId,taskBoundaryId:typeof e.taskBoundaryId=="string"?e.taskBoundaryId:void 0,rootUserInput:typeof e.rootUserInput=="string"?e.rootUserInput:void 0,seedChatLog:Jr(e.seedChatLog),history:Array.isArray(e.history)?e.history.slice(-Um).map(n=>zw(n)).filter(n=>!!n):[],plannerHistory:gs(e.plannerHistory,Fm),agentPrevSteps:gs(Hw(e.agentPrevSteps),zm),pendingAskUser:t.length?{questions:t,source:e.pendingAskUser?.source==="planner"?"planner":"act",askedAt:Number(e.pendingAskUser?.askedAt)||Date.now(),boundaryId:typeof e.pendingAskUser?.boundaryId=="string"&&e.pendingAskUser.boundaryId.trim()?e.pendingAskUser.boundaryId.trim():void 0,...e.pendingAskUser?.stepRef&&Number.isFinite(Number(e.pendingAskUser.stepRef.stepIndex))&&Number(e.pendingAskUser.stepRef.stepIndex)>=0&&Number.isFinite(Number(e.pendingAskUser.stepRef.functionIndex))&&Number(e.pendingAskUser.stepRef.functionIndex)>=0?{stepRef:{stepIndex:Number(e.pendingAskUser.stepRef.stepIndex),functionIndex:Number(e.pendingAskUser.stepRef.functionIndex),...typeof e.pendingAskUser.stepRef.accTreeId=="string"&&e.pendingAskUser.stepRef.accTreeId.trim()?{accTreeId:e.pendingAskUser.stepRef.accTreeId.trim()}:{}}}:{}}:void 0,updatedAt:Number(e.updatedAt)||Date.now()}}function hr(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){let o=Number(r);!Number.isFinite(o)||o<=0||t.has(o)||(t.add(o),n.push(o))}return n}function ks(e,t){if(!e||typeof e!="object")return;let n=typeof e.boundaryId=="string"&&e.boundaryId.trim()?e.boundaryId.trim():typeof t=="string"&&t.trim()?t.trim():void 0;if(!n)return;let r=Number(e.seedTabId);if(!Number.isFinite(r)||r<=0)return;let o=hr(e.touchedTabIds);return o.includes(r)||o.unshift(r),{boundaryId:n,seedTabId:r,touchedTabIds:o.slice(0,24),updatedAt:Number(e.updatedAt)||Date.now()}}function Ct(e){if(!e||typeof e!="object")return;let t=typeof e.id=="string"&&e.id.trim()?e.id.trim():void 0,n=typeof e.text=="string"?e.text.trim():"",r=typeof e.lastUserInputText=="string"&&e.lastUserInputText.trim()?e.lastUserInputText.trim():typeof Mn=="string"&&Mn.trim()?Mn.trim():"Continue task",o=n||r,i=typeof e.taskBoundaryId=="string"&&e.taskBoundaryId.trim()?e.taskBoundaryId.trim():void 0;if(t)return{id:t,text:o,startedAt:Number(e.startedAt)||Date.now(),attempts:Math.max(0,Number(e.attempts)||0),autoResume:e.autoResume!==!1,taskBoundaryId:i,resumeRequired:e.resumeRequired===!0,resumeReason:sc(e.resumeReason)}}function SC(){return hs(A?.stability?.maxPersistBytes,Wt.localPersistBytes)}function TC(e,t){let n={...e,uiMessages:Wr(e.uiMessages).slice(-tu),timeline:Kr(e.timeline).slice(-nu),workerState:xn(e.workerState)};n.workerState&&(n.workerState={...n.workerState,history:Array.isArray(n.workerState.history)?n.workerState.history.slice(-Um):[],plannerHistory:gs(n.workerState.plannerHistory,Fm),agentPrevSteps:gs(n.workerState.agentPrevSteps,zm)});let r="";try{r=JSON.stringify(n)}catch{return e}if(r.length<=t)return n;let o={...n,uiMessages:[],timeline:[],workerState:void 0};try{if(JSON.stringify(o).length<=t)return o}catch{return o}return{...o,pendingRun:void 0,activeTask:Xn("persist_trim")}}function ss(e){if(!(!p||!Vn))try{if(ae){rl(),ae.enforceMemoryCaps();let{tasks:r,activeTaskId:o,taskOrder:i}=ae.toPersistedState();p.tasks=r,p.activeTaskId=o,p.taskOrder=i}let t=SC();p=TC(p,t);let n=JSON.stringify({s:p.sessionId,p:p.pendingRun?.id,pa:p.pendingRun?.autoResume,t:p.activeTask?.status,te:p.taskEpoch,m:p.uiMessages?.length,tl:p.timeline?.length,o:p.uiOpen,h:p.uiHidden,e:p.executionMode,at:p.activeTaskId});if(n===Am&&!e?.markCheckpointDirty)return;Am=n,p.updatedAt=Date.now(),Do?.write(Vn,p),No&&No!==Vn&&(Do?.remove(No),No=null),!ds&&e?.markCheckpointDirty!==!1&&Jt?.markDirty(),AC("runtime_persist")}catch{}}var zi=!1,Hi=!1,Am="",Tc=0,Ka=0,Rm=2e3,$w=2e3;function cs(e){ss({markCheckpointDirty:!0}),Jt?.syncNow({push:!0,pull:!1}),ot("checkpoint_state",{event:"critical_flush",reason:e})}function Ze(e){e?.markCheckpointDirty!==!1&&(Hi=!0);let t=Date.now();if(!zi)Ka=t;else if(Ka>0&&t-Ka>=$w){zi=!1,Ka=0;let n=Hi;Hi=!1,Tc=t,ss({markCheckpointDirty:n});return}zi||(zi=!0,setTimeout(()=>{zi=!1,Ka=0;let n=Hi;Hi=!1;let r=Date.now();if(r-Tc<Rm){zi=!0,setTimeout(()=>{zi=!1,Ka=0,Tc=Date.now(),ss({markCheckpointDirty:Hi||n}),Hi=!1},Rm-(r-Tc));return}Tc=r,ss({markCheckpointDirty:n})},0))}function _C(){if(mm)return;mm=!0,hm||(hm=!0,Yi(document,"visibilitychange",()=>{Yr()},{passive:!0})),Yi(window,"pagehide",()=>{if(Rn&&A?.siteId)try{sessionStorage.setItem(`rover:sess:${A.siteId}`,JSON.stringify({t:Rn,e:uo}))}catch{}if(p?.pendingRun?.autoResume){let r=p.pendingRun.resumeReason||(so?"agent_navigation":"page_reload"),o=Ct({...p.pendingRun,resumeRequired:!0,resumeReason:r});if(p.pendingRun=o,o&&A?.siteId){let i=Uo(p?.lastNavigationHandoff);P1(A.siteId,{runId:o.id,text:o.text,taskBoundaryId:o.taskBoundaryId||Ve,resumeReason:r,handoffId:i?.handoffId,openIntent:p.uiOpen?"preserve_if_running":void 0,ts:Date.now()})}}let n=Xm();j?.broadcastClosing(pw(n)),p?.pendingRun&&j?.releaseWorkflowLock(p.pendingRun.id),ss(),Wi(!0),sh(),Jt?.markDirty(),Jt?.syncNow({push:!0,pull:!1}),Jt?.stop(),j?.stop()},{capture:!0}),Yi(window,"pageshow",n=>{n.persisted&&(j&&(j.reloadFromStorage(),j.registerCurrentTab(window.location.href,document.title||void 0),j.claimLease(!1)),Gr=!1,Wn=0,A&&Tu(A),Yr(!0))})}function EC(e="implicit"){if(p)return p.activeTask||(p.activeTask=Xn(e),p.taskEpoch=Math.max(1,Number(p.taskEpoch)||1)),p.activeTask}function gi(e,t){if(!p)return;let n=p.activeTask?.status,r=qe(Ve),o=lx({task:p.activeTask,taskEpoch:p.taskEpoch},e,{createTask:(i,a,s)=>Xn(i,a,s)});if(p.activeTask=o.task,p.taskEpoch=o.taskEpoch,o.rotateBoundary&&t?.rotateBoundary!==!1?(Ve=Xr(),gr({forceReset:!0,persist:!1})):gr({persist:!1,appendSeed:!1}),o.clearPendingRun&&p.pendingRun&&Zt(void 0),o.clearWorkerState&&p.workerState&&(p.workerState=void 0,j?.setWorkerContext(void 0)),o.lifecycle==="terminal"&&(Ut&&(clearTimeout(Ut),Ut=null),ol()),t?.syncShared!==!1&&j?.syncTask({...o.task},p.taskEpoch),t?.persist!==!1){let i=qe(Ve);n!==o.task.status?cs("run_status_transition"):!!i&&i!==r?cs("task_boundary_transition"):Ze()}if(Yr(),Cw(),ae){let i=ae.toPersistedState();p.tasks=i.tasks,p.activeTaskId=i.activeTaskId,p.taskOrder=i.taskOrder}return o.task}function lo(){if(!ae||!de)return;rl();let e=ae.listTasks(),t=ae.getActiveTask()?.taskId;de.setConversations(e.map(n=>({id:n.taskId,summary:n.rootUserInput||n.taskId.slice(0,8),status:n.state,updatedAt:n.endedAt||n.lastAssistantAt||n.lastUserAt||n.startedAt,isActive:n.taskId===t}))),t&&de.setActiveConversationId(t)}function qw(e){let t=Number(e.endedAt||e.lastAssistantAt||e.lastUserAt||e.startedAt||Date.now()),n=e.rootUserInput||e.summary||e.taskId;return{conversationId:e.taskId,title:Yo(n),preview:Yo(e.summary||e.rootUserInput||""," "),status:e.state,createdAt:Number(e.startedAt||t),updatedAt:t}}function IC(){if(!ae||!p)return null;rl();let e=ae.getActiveTask();if(!e)return null;let t=p.pendingRun,n=Array.isArray(t?.files)?t.files:[];return{summary:qw(e),payload:{uiMessages:p.uiMessages||e.uiMessages||[],timeline:p.timeline||e.timeline||[],taskRecord:{...e,uiMessages:e.uiMessages||[],timeline:e.timeline||[]},runMeta:{activeTaskId:p.activeTaskId,pendingRun:p.pendingRun?{id:p.pendingRun.id,status:p.pendingRun.status,startedAt:p.pendingRun.startedAt}:void 0},attachments:n.map(r=>({id:String(r?.id||r?.fileId||""),displayName:String(r?.displayName||r?.name||"").slice(0,180),mimeType:String(r?.mimeType||"").slice(0,120),size:Number(r?.size||r?.sizeBytes||0)||void 0,storageRef:r?.storageRef||r?.uri||void 0}))}}}function AC(e="state_persist"){!Tr||!ae||!p||Zp||(Zp=setTimeout(()=>{Zp=null;let t=IC();t&&(Tr?.upsert(t),Ki?.upsert(t).then(n=>{n&&(Tr?.upsert({summary:n,payload:t.payload}),Cm("cloud_upsert").catch(()=>{}))}).catch(()=>{ot("status",{event:"conversation_history_sync_failed",reason:e})}))},1e3))}async function Cm(e="manual"){if(!de||!Tr)return;let t=await Tr.list();if(Ki)try{let o=await Ki.list();for(let i of o.tombstones||[])i?.conversationId&&Tr.remove(i.conversationId,i);for(let i of o.conversations||[])Tr.upsert({summary:i});t=await Tr.list()}catch{ot("status",{event:"conversation_history_list_offline",reason:e})}let n=ae?.getActiveTask()?.taskId||p?.activeTaskId,r=t.map(o=>({id:o.conversationId,summary:o.title||o.preview||o.conversationId,status:o.status||"completed",updatedAt:o.updatedAt||Date.now(),isActive:o.conversationId===n}));if(!r.some(o=>o.id===n)&&ae){let o=ae.getActiveTask();if(o){let i=qw(o);r.unshift({id:i.conversationId,summary:i.title,status:i.status||"running",updatedAt:i.updatedAt,isActive:!0})}}de.setConversations(r)}function bs(){if(ae)return ae.getActiveTask()}function RC(e=p,t){let n=String(t||e?.activeTaskId||e?.activeTask?.taskId||"").trim()||void 0,r=qe(Zi(e)),o=String(Ct(e?.pendingRun)?.id||"").trim()||void 0;return{taskId:n,boundaryId:r,runId:o}}function CC(){let e=Jr(bs()?.seedChatLog);return e.length?e:Jr(p?.workerState?.seedChatLog)}function MC(e,t){let n=t||Xn("task_record_sync");return hi({taskId:e.taskId,status:nx(e.state),startedAt:e.startedAt,lastUserAt:e.lastUserAt,lastAssistantAt:e.lastAssistantAt,boundaryReason:e.blockReason||n.boundaryReason,endedAt:e.endedAt},n)}function Mm(e,t){if(!p)return;let n=qe(e.boundaryId)||qe(e.pendingRun?.taskBoundaryId)||qe(e.workerState?.taskBoundaryId)||or()||Xr(),r=Jr(e.seedChatLog??e.workerState?.seedChatLog),o=qr(xn(e.workerState||r.length||e.rootUserInput?{...e.workerState||{},...e.rootUserInput?{rootUserInput:e.rootUserInput}:{},...r.length?{seedChatLog:r}:{},taskBoundaryId:e.workerState?.taskBoundaryId||n}:void 0),n),i=Ct(e.pendingRun),a=tl(e.transientStatus,{runId:i?.id,taskId:e.taskId});p.activeTaskId=e.taskId,p.activeTask=MC(e,p.activeTask),p.uiMessages=Wr(e.uiMessages),p.timeline=Kr(e.timeline),p.workerState=o,p.pendingRun=i,p.taskTabScope=ks(e.tabScope,n),p.uiStatus=a?.text,p.transientStatus=a,Ve=n,e.rootUserInput?.trim()&&(Mn=e.rootUserInput.trim()),t?.replayUi!==!1&&(uh(),Eu(p.uiMessages,p.timeline),Iu(p),ys(),de?.setRunning(!!p.pendingRun&&p.activeTask?.status==="running"),e.state==="paused"?de?.showPausedTaskBanner({taskId:e.taskId,rootUserInput:e.rootUserInput||"Task"}):de?.hidePausedTaskBanner())}function Vw(e){let t=Jr(e),n=bs();n&&ae&&ae.updateTask(n.taskId,r=>({...r,seedChatLog:t})),p?.workerState&&(p.workerState=xn({...p.workerState,seedChatLog:t,updatedAt:Date.now()}),j?.setWorkerContext(nl(p.workerState)))}function rl(){if(!p||!ae)return;let e=ae.getActiveTask();if(!e)return;let t=vc(p.activeTask?.status||"running",p.activeTask?.boundaryReason),n=Wr(p.uiMessages),r=Kr(p.timeline),o=[...n].reverse().find(m=>m.role==="assistant"),i=xn(p.workerState),a=Ct(p.pendingRun),s=qe(a?.taskBoundaryId)||qe(i?.taskBoundaryId)||qe(e.boundaryId)||or()||Xr(),c=ks(p.taskTabScope,s),l=tl(p.transientStatus,{runId:a?.id,taskId:e.taskId}),d=Jr(e.seedChatLog?.length?e.seedChatLog:i?.seedChatLog);ae.updateTask(e.taskId,m=>({...m,state:t,boundaryId:s,startedAt:Number(p?.activeTask?.startedAt)||m.startedAt,endedAt:Number(p?.activeTask?.endedAt)||void 0,lastUserAt:Number(p?.activeTask?.lastUserAt)||m.lastUserAt,lastAssistantAt:Number(p?.activeTask?.lastAssistantAt)||m.lastAssistantAt,uiMessages:n,timeline:r,workerState:i,pendingRun:a,tabScope:c,rootUserInput:i?.rootUserInput||a?.text||m.rootUserInput||Mn,summary:o?.text||m.summary,seedChatLog:d,transientStatus:l}))}function dh(e){if(!p||!ae)return;let t=RC(p,e?.preferredTaskId),n=fx(ae.listTasks(),t);if(!n&&e?.allowCreate!==!1){let o=t.boundaryId||Xr(),i=vc(p.activeTask?.status||"running",p.activeTask?.boundaryReason);n=ae.createTask("adopted_continuation",{taskId:t.taskId,state:i,boundaryId:o,startedAt:Number(p.activeTask?.startedAt)||Date.now(),endedAt:Number(p.activeTask?.endedAt)||void 0,lastUserAt:Number(p.activeTask?.lastUserAt)||void 0,lastAssistantAt:Number(p.activeTask?.lastAssistantAt)||void 0,rootUserInput:xn(p.workerState)?.rootUserInput||Ct(p.pendingRun)?.text||Mn,seedChatLog:Jr(p.workerState?.seedChatLog),tabIds:ks(p.taskTabScope,o)?.touchedTabIds||[]})}if(!n)return;e?.makeActive!==!1&&ae.getActiveTaskId()!==n.taskId&&ae.switchActiveTask(n.taskId),p.activeTaskId=ae.getActiveTaskId()||n.taskId,p.activeTask=hi({...p.activeTask||Xn("adopted_continuation"),taskId:p.activeTaskId},Xn("adopted_continuation",Date.now(),p.activeTaskId)),rl();let r=ae.toPersistedState();return p.tasks=r.tasks,p.activeTaskId=r.activeTaskId,p.taskOrder=r.taskOrder,lo(),ae.getTask(p.activeTaskId||n.taskId)}function NC(e,t=Date.now()){if(!p||e==="system")return;let n=EC("implicit");n&&n.status==="running"&&(e==="user"&&(n.lastUserAt=t),e==="assistant"&&(n.lastAssistantAt=t))}var tm="[Rover]";function LC(e){if(!(A?.ui?.tabIndicator?.titlePrefix!==!1))return;let n=e||"[Rover: Running]",r=Oc;r||(Pc=document.title),Oc=!0,tm=n;let o=r?document.title.replace(/^\[Rover[^\]]*\]\s*/,"")||Pc||"":document.title;if(document.title=`${n} ${o}`,!is){let i=document.querySelector("title");i&&(is=new MutationObserver(()=>{if(Oc&&!document.title.startsWith(tm)){let a=document.title.replace(/^\[Rover[^\]]*\]\s*/,"");document.title=`${tm} ${a}`}}),is.observe(i,{childList:!0,characterData:!0,subtree:!0}))}A?.ui?.tabIndicator?.faviconBadge===!0&&yx()}function _u(){Oc&&(Oc=!1,is&&(is.disconnect(),is=null),Pc!==void 0?(document.title=Pc,Pc=void 0):document.title.startsWith("[Rover] ")&&(document.title=document.title.slice(8)),vx())}function Ww(e="worker_task_active",t=Date.now()){if(ae){let n=ae.getActiveTask();n&&ae.dispatch(n.taskId,{type:"START",reason:e})}gi({type:"ensure_running",reason:e,at:t}),LC()}function DC(e="worker_task_complete",t=Date.now()){if(ae){let n=ae.getActiveTask();n&&ae.dispatch(n.taskId,{type:"COMPLETE"})}gi({type:"terminal",terminal:"completed",reason:e,at:t}),_u()}function Vd(e="worker_task_failed",t=Date.now()){if(ae){let n=ae.getActiveTask();n&&ae.dispatch(n.taskId,{type:"FAIL",error:e})}gi({type:"terminal",terminal:"failed",reason:e,at:t}),_u()}function PC(e="worker_visit_ended",t=Date.now()){if(ae){let n=ae.getActiveTask();n&&ae.dispatch(n.taskId,{type:"CANCEL",reason:"ended"})}gi({type:"terminal",terminal:"ended",reason:e,at:t}),_u()}function Kw(e="worker_task_cancelled",t=Date.now()){if(ae){let n=ae.getActiveTask();n&&ae.dispatch(n.taskId,{type:"CANCEL",reason:e})}gi({type:"terminal",terminal:"cancelled",reason:e,at:t}),_u()}function ir(){ii=null,de?.setTaskSuggestion({visible:!1})}function OC(e){let t=String(e?.id||"").trim();if(!t||go())return!1;let n=String(e?.text||"").trim()||"Continue task";return ii?.kind==="resume_run"&&ii.runId===t?!1:(ii={kind:"resume_run",runId:t,text:n,createdAt:Date.now()},de?.setTaskSuggestion({visible:!0,text:"Resume your interrupted task or cancel it?",primaryLabel:"Resume",secondaryLabel:"Cancel"}),!0)}function ol(){Un=!1,Kn=!1,ea(),A?.siteId&&(bc(A.siteId),bw(A.siteId)),Jt?.markDirty(),Jt?.syncNow({push:!0,pull:!1})}function uh(){de?.clearMessages(),de?.clearTimeline(),de?.setQuestionPrompt(void 0),ir()}function fh(e){if(!p)return;Ut&&(clearTimeout(Ut),Ut=null),Gr=!1,Wn=0,Un=!1,Kn=!1,Qt&&(clearTimeout(Qt),Qt=null);let t=Ct(p.pendingRun),n=String(e.runId||t?.id||"").trim();n&&(mi(n),j?.releaseWorkflowLock(n),ph(n)||ui(n,e.cancelReason||e.reason,{attemptImmediately:!0})),Zt(void 0),j?.setActiveRun(void 0),de?.setRunning(!1),de?.setQuestionPrompt(void 0),ir(),p.activeTask?.status==="running"?Kw(e.reason):ol(),Xt(void 0),ot("status",{event:"local_run_abandoned",reason:e.reason,runId:n||void 0}),e.timelineTitle&&_t({kind:e.timelineStatus==="error"?"error":"info",title:e.timelineTitle,detail:e.timelineDetail,status:e.timelineStatus||"info"}),e.emitError?.message&&bt("error",{message:e.emitError.message,scope:e.emitError.scope||"resume",code:e.emitError.code,runId:n||void 0})}function BC(e){if(e)return qe(e.pendingAskUser?.boundaryId||e.taskBoundaryId)}function qr(e,t){if(!e)return;let n=qe(t);if(!n)return e;let r=qe(e.taskBoundaryId);if(r&&r!==n)return;let o=qe(e.pendingAskUser?.boundaryId);if(!(o&&o!==n))return e}function ys(){if(p?.activeTask?.status!=="running"){Ga="",de?.setQuestionPrompt(void 0);return}let e=or(),t=BC(p?.workerState);if(e&&t&&t!==qe(e)){Ga="",de?.setQuestionPrompt(void 0);return}let n=Vr(p?.workerState?.pendingAskUser?.questions);if(!n.length){Ga="",Xe&&(Xe.lastNeedsInputSignature=void 0),de?.setQuestionPrompt(void 0);return}let r=`${qe(t||e)||""}:${n.map(o=>`${o.key}:${o.query}`).join("|")}`;r!==Ga&&(Ga=r,cs("question_prompt_boundary")),de?.setQuestionPrompt({questions:n}),l0(n)}function UC(){let e=p?.pendingRun;if(!e)return!1;if(!j)return!0;let t=j?.getState()?.activeRun;if(t?.runId&&t.runId===e.id||t?.runtimeId&&t.runtimeId!==It)return!0;let n=Date.now()-Number(e.startedAt||0);return n>=0&&n<=xR}function FC(){if(!p?.pendingRun||UC()||!j)return;let e=p.pendingRun;if(e.resumeRequired===!0&&Bd(p.activeTask?.status))return;let t=String(Ae?.getActiveRunId()||"").trim();if(t&&t===e.id||go())return;let n=Date.now()-Number(e.startedAt||0);!Number.isFinite(n)||n<wR||(mi(e.id),ui(e.id,"stale_pending_cleanup",{attemptImmediately:!0}),Zt(void 0),j?.releaseWorkflowLock(e.id),j?.setActiveRun(void 0),Ut&&(clearTimeout(Ut),Ut=null))}function Cn(e,t,n=!0,r){let o=String(t||""),i=fi(r?.blocks);if(!o&&(!i||i.length===0))return;let a={id:r?.id||Oo("msg"),role:e,text:o,blocks:i,ts:r?.ts||Date.now(),sourceRuntimeId:r?.sourceRuntimeId};return de?.addMessage(a.role,a.text,{blocks:a.blocks}),p&&n&&(p.uiMessages.push(a),p.uiMessages.length>tu&&(p.uiMessages=p.uiMessages.slice(-tu)),NC(a.role,a.ts),Ze()),j&&r?.publishShared!==!1&&(j.appendMessage({id:a.id,role:a.role,text:a.text,blocks:a.blocks,ts:a.ts}),j.markTaskActivity(a.role,a.ts)),a}function zC(e){for(let t of e)Cn(t.role,t.text,!1,{id:t.id,ts:t.ts,sourceRuntimeId:t.sourceRuntimeId,publishShared:!1,blocks:t.blocks})}function _t(e,t=!0){let n={id:e.id||Oo("timeline"),kind:e.kind,title:en(e.title,400),detail:e.detail?String(e.detail):void 0,detailBlocks:fi(e.detailBlocks),status:e.status,ts:e.ts||Date.now(),sourceRuntimeId:e.sourceRuntimeId,elementId:e.elementId,toolName:e.toolName,narration:e.narration,narrationActive:e.narrationActive,responseKind:e.responseKind,actionCue:e.actionCue};return de?.addTimelineEvent(n),p&&t&&(p.timeline.push(n),p.timeline.length>nu&&(p.timeline=p.timeline.slice(-nu)),Ze({markCheckpointDirty:!1})),j&&e.publishShared!==!1&&j.appendTimeline({id:n.id,kind:n.kind,title:n.title,detail:n.detail,detailBlocks:n.detailBlocks,status:n.status,ts:n.ts,elementId:n.elementId,toolName:n.toolName,narration:n.narration,narrationActive:n.narrationActive,responseKind:n.responseKind,actionCue:n.actionCue}),n}function HC(e=A){try{return Cu(e)?.debugStreaming===!0?!0:al(e)?.discoverySurface?.mode==="debug"}catch{return!1}}function jC(e){_t({kind:"debug",title:"Frame diagnostics",detail:`${e.frameCount} iframe${e.frameCount===1?"":"s"} inspected for child element availability.`,status:"info",detailBlocks:[{type:"json",label:"Frame diagnostics",data:e}],publishShared:!1},!0)}function Nm(e){let t=Date.now();if(t-Lx<n1)return;Lx=t;let n=e instanceof Error?e.message:String(e||"Unknown upload failure");_t({kind:"debug",title:"Frame diagnostics upload failed",detail:en(n,180),status:"error",publishShared:!1},!0)}function $C(e){try{if(!A||!p?.sessionId)return;new Dd({apiBase:A.apiBase,getSessionToken:()=>Fn(A),siteId:A.siteId,sessionId:p.sessionId}).upload({diagnostics:e,runId:p.pendingRun?.id||p.activeTaskId}).then(n=>{n&&_t({kind:"debug",title:"Frame diagnostics stored",detail:"Frame diagnostics artifact uploaded for support debugging.",status:"info",detailBlocks:[{type:"json",label:"Frame diagnostics reference",data:n}],publishShared:!1},!0)}).catch(Nm)}catch(t){Nm(t)}}function Zd(e,t){if(HC())try{let n=Hk(e,{captureId:`${t}-${Date.now().toString(36)}-${Math.random().toString(16).slice(2,8)}`});if(!n?.frames.length)return;let r=jk(n),o=Date.now();if(r===Mx&&o-Nx<t1)return;Mx=r,Nx=o,jC(n),$C(n)}catch(n){Nm(n)}}function qC(e){de?.clearTimeline();for(let t of e)_t({id:t.id,kind:t.kind,title:t.title,detail:t.detail,detailBlocks:t.detailBlocks,status:t.status,ts:t.ts,sourceRuntimeId:t.sourceRuntimeId,elementId:t.elementId,toolName:t.toolName,narration:t.narration,narrationActive:t.narrationActive,responseKind:t.responseKind,actionCue:t.actionCue,publishShared:!1},!1)}function Eu(e=p?.uiMessages||[],t=p?.timeline||[]){if(de){if(typeof de.setTranscript=="function"){de.setTranscript(e,t);return}de.clearMessages(),zC(e),qC(t)}}function Gw(e,t){if(!e?.text||t?.taskStatus&&t.taskStatus!=="running")return;let n=String(t?.activeRunId||"").trim(),r=String(e.runId||"").trim(),o=String(t?.activeTaskId||"").trim(),i=String(e.taskId||"").trim();if(!(r&&!n)&&!(r&&n&&r!==n)&&!(i&&o&&i!==o))return e.text}function Xw(e=p){let t=j?.getState();return px({localPendingRunId:e?.pendingRun?.id,sharedActiveRunId:t?.activeRun?.runId,sharedTaskId:t?.task?.taskId||t?.activeTaskId,activeTaskId:e?.activeTask?.taskId||e?.activeTaskId})}function Xt(e,t){let n=tl(e?{text:e,runId:t?.runId||p?.pendingRun?.id,taskId:t?.taskId||p?.activeTask?.taskId||bs()?.taskId,stage:t?.stage,ts:Date.now()}:void 0,{runId:t?.runId||p?.pendingRun?.id,taskId:t?.taskId||p?.activeTask?.taskId||bs()?.taskId}),r=Gw(n,{activeRunId:Xw(p),activeTaskId:p?.activeTask?.taskId,taskStatus:p?.activeTask?.status});r?de?.setStatus(r):de?.setStatus?.(void 0),p&&(p.uiStatus=n?.text,p.transientStatus=n,rl(),Ze({markCheckpointDirty:!1})),j&&t?.publishShared!==!1&&j.setStatus(n)}function Iu(e=p){let t=Gw(e?.transientStatus,{activeRunId:Xw(e),activeTaskId:e?.activeTask?.taskId,taskStatus:e?.activeTask?.status});t?de?.setStatus(t):de?.setStatus?.(void 0)}function na(e,t){let n=el(e);Ft=n;let r=t?.localLogicalTabId??j?.getLocalLogicalTabId(),o=t?.activeLogicalTabId??j?.getActiveLogicalTabId(),i=t?.holderRuntimeId??j?.getCurrentHolderRuntimeId(),a=n==="controller"&&!!(A?.allowActions??!0);Rt?.setAllowActions(a),Rt?.setActionGateContext?.({mode:n,controllerRuntimeId:i,activeLogicalTabId:o,localLogicalTabId:r,reason:Zc(n,a)}),p&&(p.executionMode=n,Ze()),Yr(),de?.setExecutionMode(n,{controllerRuntimeId:i,localLogicalTabId:r,activeLogicalTabId:o,canTakeControl:!0,canComposeInObserver:Dw(),note:Pw(n)}),bt("mode_change",{mode:n,rawMode:e,...t})}function Zt(e){p&&(e?p.pendingRun=Ct({...e,taskBoundaryId:e.taskBoundaryId||Ve}):(p.pendingRun=void 0,p.uiStatus=void 0,p.transientStatus=void 0,ai(void 0),Qm(p)||ea()),Qc(p),Yr(),Ze())}function nm(e){p&&(p.lastNavigationHandoff=Uo(e),Ze())}function Au(){let e=Number(j?.getLocalLogicalTabId()||j?.getActiveLogicalTabId()||1);return!Number.isFinite(e)||e<=0?1:e}function gr(e){if(!p)return;let t=qe(Ve)||Xr();Ve||(Ve=t);let n=Au(),r=e?.appendSeed!==!1,o=ks(p.taskTabScope,t);if(!!e?.forceReset||!o||qe(o.boundaryId)!==t){let c={boundaryId:t,seedTabId:n,touchedTabIds:[n],updatedAt:Date.now()};return p.taskTabScope=c,e?.persist!==!1&&Ze(),c}let a=hr(o.touchedTabIds);r&&!a.includes(n)&&a.unshift(n);let s={...o,seedTabId:Number.isFinite(Number(o.seedTabId))&&Number(o.seedTabId)>0?Number(o.seedTabId):n,touchedTabIds:a.slice(0,24),updatedAt:Date.now()};return p.taskTabScope=s,e?.persist&&Ze(),s}function Yw(e,t){if(!p)return;let n=gr({persist:!1});if(!n)return;let r=hr([n.seedTabId,...n.touchedTabIds||[],...e]),o={...n,touchedTabIds:r.slice(0,24),updatedAt:Date.now()};return p.taskTabScope=o,t?.persist!==!1&&Ze(),o}function VC(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function ra(e){if(!p)return;let t=gr({persist:!1,appendSeed:!1});if(!t||!j)return t;let n=Date.now(),r=Array.isArray(j.getState()?.tabs)?j.getState().tabs:[],o=new Set;for(let b of r){let v=Number(b?.logicalTabId);if(!Number.isFinite(v)||v<=0)continue;let S=Math.max(Number(b?.updatedAt)||0,Number(b?.openedAt)||0,Number(b?.detachedAt)||0),k=n-S;if(b.runtimeId){o.add(v);continue}if(b.external){k<=BR&&o.add(v);continue}if(b.detachedReason==="navigation_handoff"){k<=UR&&o.add(v);continue}if(b.detachedReason==="opened_pending_attach"){k<=FR&&o.add(v);continue}}let i=Number(j.getLocalLogicalTabId()),a=Number(j.getActiveLogicalTabId()),s=Number(t.seedTabId)>0?Number(t.seedTabId):Au();Number.isFinite(i)&&i>0&&o.add(i),Number.isFinite(a)&&a>0&&o.add(a),o.size===0&&Number.isFinite(s)&&s>0&&o.add(s);let c=hr(t.touchedTabIds),l=c.filter(b=>o.has(b)),d=o.has(t.seedTabId)?t.seedTabId:Number.isFinite(i)&&i>0?i:Number.isFinite(a)&&a>0?a:s;l.includes(d)||l.unshift(d);let m=hr(l).slice(0,24);if(!(d!==t.seedTabId||!VC(m,c)))return t;let u=c.filter(b=>!m.includes(b)),h={...t,seedTabId:d,touchedTabIds:m.length?m:[d],updatedAt:Date.now()};return p.taskTabScope=h,e?.persist!==!1&&Ze(),ot("status",{event:"scoped_tab_reconciled",removedTabIds:u,scopedTabIds:h.touchedTabIds,seedTabId:h.seedTabId}),h}function Qa(){let e=ra({persist:!1})||gr({persist:!1,appendSeed:!1});if(!e)return[Au()];let t=hr(e.touchedTabIds);return t.length?t:[e.seedTabId]}function Jw(){let e=ra({persist:!1})||gr({persist:!1,appendSeed:!1});if(e)return{boundaryId:e.boundaryId,seedTabId:e.seedTabId,touchedTabIds:hr(e.touchedTabIds)}}function WC(e,t){let n=Qi,r=mo,o=ps,i,a=t;if(ae){let l=ae.listTasks(),d=ae.getActiveTask()?.taskId,m=j?.getLocalLogicalTabId(),f=l.filter(b=>b.taskId!==d&&(b.state==="completed"||b.state==="cancelled")&&!!b.endedAt).sort((b,v)=>(Number(v.endedAt)||0)-(Number(b.endedAt)||0)),h=(Number.isFinite(Number(m))&&Number(m)>0?f.filter(b=>Array.isArray(b.tabIds)&&b.tabIds.includes(Number(m))):f)[0];h&&(n=h.rootUserInput||n,r=h.summary||r,o=h.endedAt||o,i=h.uiMessages.map(b=>({role:b.role,text:b.text,ts:b.ts})),a=h.state)}let s=A?.task?.followup,c=Ex({mode:s?.mode,previousTaskStatus:a,previousTaskMessages:i,previousTaskUserInput:n,previousTaskAssistantOutput:r,previousTaskCompletedAt:o,currentPrompt:e,ttlMs:nh(s?.ttlMs),minLexicalOverlap:rh(s?.minLexicalOverlap)});return{chatLog:c.chatLog,reason:c.reason,overlap:c.overlap}}var ao=new Map,Lm=u1;async function KC(e){if(ao.has(e)){let o=ao.get(e);if(Date.now()-o.ts<Lm)return;ao.delete(e)}let t=Date.now();for(let[o,i]of ao)t-i.ts>=Lm&&ao.delete(o);let n=p?.pendingRun?.id;if(!n||!Ae)return;let r=await Ae.fetchExternalContext({runId:n,url:e,source:"direct_url"});r&&(ao.set(e,{data:r,ts:Date.now()}),su(ao,d1))}function GC(e){let t=ao.get(e);if(t){if(Date.now()-t.ts>=Lm){ao.delete(e);return}return t.data}}function XC(e){let t=String(e||"").trim();return t===vm.read||t===vm.act}function _c(e){let t=String(e.code||"EXTERNAL_CONTEXT_FAILED").trim()||"EXTERNAL_CONTEXT_FAILED",n=String(e.message||"External context request failed").trim()||"External context request failed";return{success:!1,error:`${t}: ${n}`,allowFallback:e.retryable!==!1,output:{success:!1,error:{code:t,message:n,retryable:e.retryable===!0,status:Number.isFinite(Number(e.status))?Number(e.status):void 0},details:e.details}}}async function YC(e){let t=String(e.call?.name||"").trim(),n=e.call?.args&&typeof e.call.args=="object"?e.call.args:{},r=t===vm.act?"act":"read_context",o=Number(n.tab_id),i=Number.isFinite(o)&&o>0?Math.trunc(o):Number.isFinite(Number(e.routeTabId))&&Number(e.routeTabId)>0?Math.trunc(Number(e.routeTabId)):void 0,a=j?.listTabs({scope:"all"})||[],s=i?a.find(u=>u.logicalTabId===i):void 0,l=String(n.url||"").trim()||String(s?.url||"").trim(),d=String(n.message||n.user_input||"").trim()||void 0,m=String(n.source||"").trim().toLowerCase()==="google_search"?"google_search":"direct_url";if(!l)return _c({code:"MISSING_URL",message:"External context tools require a target url or tab with a url.",retryable:!1});if(!Ae)return _c({code:"RUNTIME_UNAVAILABLE",message:"Rover server runtime is not initialized.",retryable:!0});let f=String(p?.pendingRun?.id||Ae.getActiveRunId()||Jc||"").trim()||void 0;if(!f)return _c({code:"NO_ACTIVE_RUN",message:"External context tools can only run during an active run.",retryable:!1});try{let u=GC(l);if(u)return u;let h=await Ae.fetchExternalContext({runId:f,tabId:i,url:l,intent:r,message:d,source:m});if(!h)return _c({code:"EMPTY_RESPONSE",message:"Server returned no external context response.",retryable:!0});let v=(h.pageData&&typeof h.pageData=="object"?h.pageData:void 0)||h;return{success:!0,output:{...v,metadata:{...v&&typeof v=="object"?v.metadata||{}:{},external:!0,accessMode:"external_scraped",logicalTabId:i,sourceTool:t},intent:r}}}catch(u){let h=String(u?.code||"").trim().toUpperCase()||"EXTERNAL_CONTEXT_FAILED",b=Number(u?.status),v=b>=500||h==="STALE_SEQ"||h==="STALE_EPOCH";return _c({code:h,message:String(u?.message||"External context request failed"),retryable:v,status:Number.isFinite(b)?b:void 0,details:u?.details})}}function oa(e){let t=Qa(),n=A?al(A):void 0,r=String(n?.siteUrl||A?.agentDiscovery?.siteUrl||(typeof window<"u"?`${window.location.origin}/`:"")).trim(),o=String(n?.siteName||A?.ui?.agent?.name||A?.ui?.experience?.presence?.assistantName||(typeof document<"u"?document.title:"")||"").trim();return{taskBoundaryId:Ve,taskTabScope:Jw(),scopedTabIds:t,...o?{siteName:o.slice(0,120)}:{},...r?{siteUrl:r.slice(0,240)}:{},...e||{}}}var qx="";function Ir(e){if(!lt)return;let t=oa(e),n=JSON.stringify(t);n!==qx&&(qx=n,lt.postMessage({type:"update_config",config:t}))}function Qw(e,t){let n=String(e||"").trim();if(!n||!lt)return;if(Ft==="observer"){if(go()){Cn("system","This tab is read-only while another tab is actively running Rover.",!0),_t({kind:"info",title:"Observer mode",detail:"Input is disabled while the active run is controlled by another tab.",status:"info"});return}if(!(j?.requestControl()??!1)){Cn("system","Unable to take control right now because another tab is still running Rover actions.",!0),_t({kind:"info",title:"Observer mode",detail:"Action execution is currently owned by another tab runtime.",status:"info"});return}let h=j?.getLocalLogicalTabId(),b=j?.getActiveLogicalTabId(),v=j?.getCurrentHolderRuntimeId()||It;na("controller",{localLogicalTabId:h,activeLogicalTabId:b,holderRuntimeId:v});let S=!!(A?.allowActions??!0);Rt?.setAllowActions(S),Rt?.setActionGateContext?.({mode:"controller",controllerRuntimeId:v,activeLogicalTabId:b,localLogicalTabId:h,reason:Zc("controller",S)})}let r=t?.runId||crypto.randomUUID(),o=!!t?.resume,i=t?.appendUserMessage!==!1,s=(t?.askUserAnswers?pu(r):void 0)||n;Tm(r),i&&Cn("user",n,!0);let c=p?.pendingRun?.id===r?p.pendingRun.attempts:0,l=p?.pendingRun?.id===r&&p.pendingRun.taskBoundaryId||Ve;Yw([Au()],{persist:!0});let d=Qa(),m=Jr(Array.isArray(t?.seedChatLog)?t.seedChatLog:CC());so=!1,Zt({id:r,text:s,startedAt:Date.now(),attempts:o?c+1:0,autoResume:t?.autoResume!==!1,taskBoundaryId:l,resumeRequired:!1,resumeReason:void 0}),Ww(o?"worker_task_resumed":"worker_task_active"),Mn=s,p&&(p.workerState=xn({...p.workerState||{},taskBoundaryId:l,rootUserInput:p.workerState?.rootUserInput||s,seedChatLog:m,history:p.workerState?.history||[],plannerHistory:p.workerState?.plannerHistory||[],agentPrevSteps:p.workerState?.agentPrevSteps||[],updatedAt:Date.now()}),j?.setWorkerContext(nl(p.workerState))),Vw(m),j?.acquireWorkflowLock(r),j?.setActiveRun({runId:r,text:s}),lt.postMessage({type:"run",text:n,runId:r,trajectoryId:p?.workerState?.trajectoryId,resume:o,preserveHistory:!!t?.preserveHistory,seedChatLog:m,routing:t?.routing,askUserAnswers:t?.askUserAnswers,files:ch(t?.files),narrationEnabledForRun:t?.narrationEnabledForRun===!0,narrationPreferenceSource:t?.narrationPreferenceSource==="visitor"?"visitor":"default",narrationRunKind:t?.narrationRunKind==="guide"||t?.narrationRunKind==="task"?t.narrationRunKind:void 0,narrationLanguage:t?.narrationLanguage,scopedTabIds:d,taskTabScope:Jw()}),Qt&&clearTimeout(Qt);let f=r;Qt=setTimeout(()=>{p?.pendingRun?.id===f&&(fh({reason:"run_timeout_terminal",statusText:"Task timed out.",runId:f,cancelReason:"run_timeout_terminal",timelineTitle:"Run timed out",timelineDetail:"Task timed out after 5 minutes with no response.",timelineStatus:"error",emitError:{message:"Run safety timeout",scope:"run_timeout",code:"RUN_TIMEOUT"}}),Cn("system","Task timed out after 5 minutes with no response.",!0)),Qt=null},5*6e4)}async function JC(e,t){let n=tC(e,t?.askUserAnswers);if(!n)return;FC();let r=p?.activeTask?.status,o=Vr(p?.workerState?.pendingAskUser?.questions).length,i=p?.workerState?.pendingAskUser?.boundaryId,a=Tx({startNewTask:!!t?.startNewTask,taskStatus:r,pendingAskUserQuestionCount:o,hasAskUserAnswers:!!t?.askUserAnswers,pendingAskUserBoundaryId:i,currentTaskBoundaryId:Ve}),s=!a,c=s?t?.continueRunId||p?.pendingRun?.id||Ae?.getActiveRunId():void 0,l=a?WC(n,r):{reason:"mode_disabled",overlap:0},d=a?await m1({userText:n,isFreshTask:!0,pageUrl:window.location.href,taskId:String(p?.activeTask?.taskId||"").trim()||void 0,taskBoundaryId:qe(Ve),visitorId:Yt,visitor:$r}):[],m=Jr([...d,...l.chatLog||[]]),f=Array.isArray(t?.attachments)?t.attachments.filter(x=>x instanceof File):[];if(ot("status",{event:"task_boundary_decision",startFreshTask:a,askUserContinuation:s,pendingAskUserQuestionCount:o,activeTaskStatus:r||"none"}),ot("status",{event:"followup_chat_cue",attached:m.length>0,reason:l.reason,overlap:l.overlap}),j?.pruneTabs(a?{dropRuntimeDetached:!0,keepOnlyActiveLiveTab:!0,keepRecentExternalPlaceholders:!0}:{dropRuntimeDetached:!0}),a){let x=!!p?.pendingRun,C=t?.reason||(r==="completed"?"auto_after_task_complete":r==="running"?"auto_new_prompt_boundary":"auto_after_task_end");if(ot("status",{event:"task_boundary_reset",reason:C,hadActiveRun:x}),ae&&r==="running"){let _=ae.getActiveTask();_&&(_.uiMessages=p?.uiMessages||[],_.timeline=p?.timeline||[],_.rootUserInput=_.rootUserInput||Mn)}if(dl({reason:C,clearUi:!0}),ae){let _=ae.getActiveTask();_&&(_.rootUserInput=n,_.seedChatLog=m),lo()}x&&Ae&&await new Promise(_=>setTimeout(_,50))}ir();let u=c,h=t?.routing,b=[];if(f.length>0)try{_t({kind:"tool_start",title:f.length===1?"Uploading attachment":"Uploading attachments",detail:f.map(x=>x.name).join(", "),status:"pending"}),b=await sC(f),_t({kind:"tool_result",title:b.length===1?"Attachment ready":`${b.length} attachments ready`,detail:b.map(x=>x.displayName).join(", "),status:"success"})}catch(x){let C=String(x?.message||"attachment upload failed");_t({kind:"error",title:"Attachment upload failed",detail:C,status:"error"}),Cn("system",`Unable to attach files: ${C}`,!0),Xt(`Attachment upload failed (${C})`),bt("error",{message:C,scope:"attachment_upload"});return}if(Ae&&A)try{let x=await Ae.submitRunInput({message:n,files:b,clientEventId:crypto.randomUUID(),continueRun:s,forceNewRun:a,runId:s?c:void 0,requestedMode:t?.routing||A.taskRouting?.mode||"act"});if(!x)throw new Error("Server run/input returned no data; run was not accepted.");Number.isFinite(Number(x.epoch||x.currentEpoch))&&(Lo=Math.max(1,Number(x.epoch||x.currentEpoch)));let C=typeof x.runId=="string"&&x.runId.trim()?x.runId.trim():"";if(!C){let _=String(x?.conflict?.type||"").trim();if(_==="active_run_exists"&&Ae&&a){let I=x?.conflict?.runId||x.runId;if(I){await Ae.controlRun({action:"cancel",runId:I,reason:"stale_run_cleanup"});let M=await Ae.submitRunInput({message:n,files:b,clientEventId:crypto.randomUUID(),continueRun:!1,forceNewRun:!0,requestedMode:t?.routing||A.taskRouting?.mode||"act"});M?.runId&&(u=M.runId.trim(),ai(u),(M.acceptedMode==="act"||M.acceptedMode==="planner")&&(h=M.acceptedMode))}}if(!u){let I=String(x.decisionReason||_||x.message||"run_not_accepted").trim();throw new Error(`Server did not accept this run (${I}).`)}}u||(u=C),ai(u),(x.acceptedMode==="act"||x.acceptedMode==="planner")&&(h=x.acceptedMode)}catch(x){let C=String(x?.message||"server run submission failed");ai(void 0),_t({kind:"error",title:"Run start failed",detail:C,status:"error"}),Cn("system",`Unable to start task: ${C}`,!0),Xt(`Task could not start (${C})`),bt("error",{message:C,scope:"run_input"});return}let v=t?.narrationEnabledForRun??fm,S=t?.narrationPreferenceSource||pm,k=t?.narrationLanguage||us;Qw(n,{runId:u,appendUserMessage:!0,resume:!1,preserveHistory:!1,seedChatLog:m,autoResume:!0,routing:h,askUserAnswers:t?.askUserAnswers,files:b,narrationEnabledForRun:v===!0,narrationPreferenceSource:S==="visitor"?"visitor":"default",narrationRunKind:t?.narrationRunKind==="guide"||t?.narrationRunKind==="task"?t.narrationRunKind:void 0,narrationLanguage:k})}function Er(e,t){JC(e,t)}function Ec(e,t){fh({reason:e,statusText:t||e,cancelReason:e})}function ph(e){let t=String(e||"").trim();if(!t)return!1;let n=j?.getWorkflowLockInfo();if(!n?.locked||!n.holderRuntimeId||n.holderRuntimeId===It||n.runId!==t)return!1;let r=j?.listTabs({scope:"all"}).find(o=>o.runtimeId===n.holderRuntimeId);return r?Number(r.updatedAt)>Date.now()-5e3:!1}function Ic(e=450,t){Ut||(Ut=setTimeout(()=>{Ut=null,fo(t)},Math.max(120,e)))}function QC(e,t){Gr=!0,Un=!1,Kn=!1,ir(),Xt("Resuming interrupted task...");let n=e.text?.trim()||p?.workerState?.rootUserInput?.trim()||Mn?.trim()||"Continue the current task on this page";ot("status",{event:"resume_dispatch",source:t,runId:e.id}),Qw(n,{runId:e.id,resume:!0,appendUserMessage:!1,autoResume:!0})}function fo(e){if(!p?.pendingRun){Ut&&(clearTimeout(Ut),Ut=null),Wn=0;return}let t=Ct(p.pendingRun);if(!t||(Ft==="observer"&&!go()&&na("controller",{localLogicalTabId:j?.getLocalLogicalTabId(),activeLogicalTabId:j?.getActiveLogicalTabId(),holderRuntimeId:j?.getCurrentHolderRuntimeId()}),Ft==="observer")||Gr)return;if(!Ar||!lt){Ic(250,e);return}let n=p.activeTask?.status;if(qp(n)){Ec("terminal_task","Previous task already ended.");return}if(!Bd(n)||!t.autoResume)return;if(eh(A?.task?.resume?.mode)!=="crash_only"){Ec("unsupported_resume_mode","Previous task dismissed.");return}if(t.resumeRequired!==!0){let l=Date.now()-Number(t.startedAt||0),d=lu(A?.task?.resume?.ttlMs);if(Number.isFinite(l)&&l>=0&&l<d)t.resumeRequired=!0,t.resumeReason=t.resumeReason||"worker_interrupted",Zt(t);else{Ut&&(clearTimeout(Ut),Ut=null),Wn=0,ir();return}}let o=Zm(A?.task?.autoResumePolicy),i=ph(t.id),a=ox({policy:o,resumeRequired:t.resumeRequired===!0,hasLiveRemoteController:i});if(a==="prompt_resume"&&(t.resumeReason==="agent_navigation"||t.resumeReason==="cross_host_navigation"||t.resumeReason==="worker_interrupted"||t.resumeReason==="page_reload")&&(a="auto_resume"),e?.overridePolicyAction&&a!=="defer_remote_owner"&&a!=="noop"&&(a=e.overridePolicyAction),a==="defer_remote_owner"){Ic(650,e);return}if(a==="cancel_resume"){Ec("resume_policy_never","Previous task cancelled by resume policy."),_t({kind:"info",title:"Resume cancelled",detail:"Auto-resume policy is set to never, so the interrupted run was cancelled.",status:"info"});return}if(!Kn&&A1(t)&&(Kn=!0),!Kn&&(t.resumeReason==="worker_interrupted"||t.resumeReason==="agent_navigation"||t.resumeReason==="page_reload")&&(Kn=!0),!Kn&&R1(t)){Ic(320,e);return}if(Kn||(Kn=!0),i){Ic(650,e);return}if(Ut&&(clearTimeout(Ut),Ut=null),!fs&&!e?.overridePolicyAction){if(Wn+=1,ot("status",{event:"resume_blocked_no_session",reason:"session_not_ready",attempt:Wn,runId:t.id}),Wn<vR){Xt("Preparing secure resume...");let l=Math.min(2e3,240+Wn*160);Ic(l,e);return}Wn=0,Un=!1,fs=!0}Wn=0;let s=lu(A?.task?.resume?.ttlMs),c=Date.now()-Number(t.startedAt||0);if(!Number.isFinite(c)||c<0||c>s){Ec("resume_ttl_expired","Previous task expired.");return}if(t.attempts>=mR){Ec("resume_attempt_limit","Previous task dismissed.");return}if(a==="prompt_resume"){OC(t)&&(Xt("Resume available. Choose Resume or Cancel."),ot("status",{event:"resume_prompt_shown",runId:t.id}));return}QC(t,e?.overridePolicyAction==="auto_resume"?"manual_resume_confirm":`policy_${o}`)}function Zw(e){if(!Kp({localUpdatedAt:Number(e.localState.updatedAt)||0,incomingUpdatedAt:Number(e.incomingState.updatedAt)||0,localState:e.localState,incomingState:e.incomingState,crossDomainResumeActive:!!e.allowRicherIncomingOnResume&&Un}))return!1;if(!e.allowRicherIncomingOnResume||!Un)return!0;let n=Wp({localState:e.localState,incomingState:e.incomingState});return n.exactRunMatch||n.exactBoundaryMatch?!0:!(n.localRunId||n.localBoundaryId)}function Vx(e,t,n,r,o){return{pendingRun:o?.includePendingIdentity!==!1&&t?{id:t.id,resumeRequired:t.resumeRequired,taskBoundaryId:t.taskBoundaryId}:void 0,activeTask:n?{status:n}:void 0,workerState:e,taskEpoch:r}}function e0(e){return e.incomingWorkerState?e.localWorkerState?Kp({localUpdatedAt:Number(e.localUpdatedAt)||Number(e.localWorkerState.updatedAt)||0,incomingUpdatedAt:Number(e.incomingUpdatedAt)||Number(e.incomingWorkerState.updatedAt)||0,localState:Vx(e.localWorkerState,e.fallbackPendingRun,e.taskStatus,e.taskEpoch,{includePendingIdentity:!0}),incomingState:Vx(e.incomingWorkerState,void 0,e.taskStatus,e.taskEpoch,{includePendingIdentity:!1}),crossDomainResumeActive:!!e.allowRicherIncomingOnResume&&Un}):!0:!1}function t0(e){if(hi(e.localState.activeTask,Xn("compat_local")).status!=="running")return!0;let n=Math.max(1,Number(e.localState.taskEpoch)||1),r=Math.max(1,Number(e.incomingState.taskEpoch)||1);if(r<n)return!1;if(r>n)return!0;let o=qe(Zi(e.localState)),i=qe(Zi(e.incomingState));return o&&i?o===i:!(o&&!i||!o&&i)}async function ZC(e,t){if(!p)return;let n=await hC(e,t);if(!n||!p)return;let r=Kc({...n,sessionId:p.sessionId,runtimeId:It},p.sessionId,It);if(!Zw({localState:p,incomingState:r,allowRicherIncomingOnResume:!0})||!t0({localState:p,incomingState:r}))return;let o=Math.max(1,Number(p.taskEpoch)||1),i=Math.max(1,Number(r.taskEpoch)||1),a=Zi(r);Ji({source:"indexeddb_checkpoint",incomingBoundaryId:a,taskEpochAdvanced:i>o,allowBootstrapAdoption:!0})&&(p=Kc({...p,...r,sessionId:p.sessionId,runtimeId:It},p.sessionId,It),Qc(p),ms({rotateIfMissing:!Ve}),ra({persist:!1}),dh({preferredTaskId:r.activeTaskId||r.activeTask?.taskId}),Ze(),de&&(Eu(p.uiMessages,p.timeline),Iu(p),ys(),p.uiHidden?de.hide():(de.show(),p.uiOpen?de.open():de.close())),Ar&<&&Ir(),Ar&<&&p.workerState&&Ft==="controller"&&(lt.postMessage({type:"hydrate_state",state:p.workerState}),bt("context_restored",{source:"indexeddb_checkpoint",ts:Date.now()})))}var rm=!1;function mh(e,t){if(p&&!rm){rm=!0;try{if(t==="remote"){let r=Math.max(1,Number(p.taskEpoch)||1),o=Math.max(1,Number(e.taskEpoch)||1),i=o>r;p.taskEpoch=Math.max(r,o);let a=p.activeTask||Xn("shared_sync");p.activeTask=jw(e.task,a),i&&(p.uiMessages=[],p.timeline=[],uh(),Zt(void 0),p.workerState=void 0,Ve=Xr(),p.taskTabScope=void 0,gr({forceReset:!0,persist:!1}),Ir(),ir());let s=Wr(e.uiMessages),c=new Set(s.map(x=>x.id)),l=p.uiMessages,d=p.uiMessages.filter(x=>x.role==="user"&&x.sourceRuntimeId===It&&!c.has(x.id)).length;d>0&&ot("status",{event:"local_message_preserved",count:d});let m=kC(l,s),f=m.length!==l.length||m.some((x,C)=>{let _=l[C];return _?_.id!==x.id||_.ts!==x.ts||_.role!==x.role||_.text!==x.text:!0});f&&(p.uiMessages=m);let u=Kr(e.timeline),h=p.timeline,b=wC(h,u),v=b.length!==h.length||b.some((x,C)=>{let _=h[C];return _?_.id!==x.id||_.ts!==x.ts||_.kind!==x.kind||_.title!==x.title||_.detail!==x.detail:!0});v&&(p.timeline=b),(f||v)&&Eu(p.uiMessages,p.timeline),Xt(typeof e.transientStatus?.text=="string"?String(e.transientStatus.text):typeof e.uiStatus=="string"?e.uiStatus:void 0,{publishShared:!1,runId:e.transientStatus?.runId||e.activeRun?.runId,taskId:e.transientStatus?.taskId||e.task?.taskId,stage:e.transientStatus?.stage});let S=p.activeTask?.status,k=e.task?.status;if(e.activeRun&&e.activeRun.runtimeId!==It&&!$p({localTaskStatus:S,remoteTaskStatus:k,mode:Ft,hasRemoteActiveRun:!0}))if(String(e.activeRun.runtimeId||"").trim()!==""||go()||el(Ft)==="observer")Zt(void 0);else{let _=Ct(p.pendingRun),I=qe(e.workerContext?.taskBoundaryId);jp({taskStatus:S,localPendingRunId:_?.id,localPendingTaskBoundaryId:_?.taskBoundaryId,currentTaskBoundaryId:Ve,candidateRunId:e.activeRun.runId,candidateRunText:e.activeRun.text,candidateTaskBoundaryId:I,ignoredRunIds:_r})&&Zt(Ct({id:e.activeRun.runId,text:e.activeRun.text,startedAt:e.activeRun.startedAt,attempts:_?.attempts||0,autoResume:!0,taskBoundaryId:_?.taskBoundaryId||I||Ve,resumeRequired:_?.resumeRequired===!0,resumeReason:_?.resumeReason}))}else{let x=$p({localTaskStatus:S,remoteTaskStatus:k,mode:Ft,hasRemoteActiveRun:!!e.activeRun}),_=Ct(p.pendingRun)?.resumeRequired===!0&&Bd(S);x&&!_&&(p.pendingRun?.id&&mi(p.pendingRun.id),Zt(void 0),k&&k!=="running"&&ol())}if(Ft==="observer"&&na("observer",{localLogicalTabId:j?.getLocalLogicalTabId(),activeLogicalTabId:j?.getActiveLogicalTabId(),holderRuntimeId:j?.getCurrentHolderRuntimeId()}),e.workerContext){let x=xn(e.workerContext),C=Number(p.workerState?.updatedAt)||0,_=Number(x?.updatedAt)||0;x&&e0({localWorkerState:p.workerState,incomingWorkerState:x,fallbackPendingRun:Ct(p.pendingRun),taskStatus:p.activeTask?.status,taskEpoch:p.taskEpoch,localUpdatedAt:C,incomingUpdatedAt:_,allowRicherIncomingOnResume:!0})&&Ji({source:"shared_worker_context",incomingBoundaryId:x.taskBoundaryId,taskEpochAdvanced:i,allowBootstrapAdoption:!0})&&(p.workerState=qr(x,or()),ms(),Ar&<&&Ft==="controller"&&(Ir(),lt.postMessage({type:"hydrate_state",state:p.workerState}),bt("context_restored",{source:"shared_session",ts:Date.now()})))}}if(p.uiMessages=Wr(p.uiMessages),p.timeline=Kr(p.timeline),p.workerState=qr(xn(p.workerState),or()),Qc(p),ms(),ra({persist:!1}),Ar&<&&Ft==="controller"&&Ir(),Yr(),ys(),p.activeTask=hi(p.activeTask,Xn("implicit")),dh(),j&&ae){let r=new Map;for(let o of ae.listTasks())for(let i of o.tabIds)r.set(i,o.taskId);j.setTaskTabMapping(r)}let n=A?.ui?.tabIndicator?.widgetTabBar!==!1;if(de&&e.tabs&&n){let r=j?.getLocalLogicalTabId(),o=j?.getActiveLogicalTabId(),i=(e.tabs||[]).filter(a=>a&&typeof a.logicalTabId=="number").map(a=>({logicalTabId:a.logicalTabId,url:String(a.url||""),title:typeof a.title=="string"?a.title:void 0,isActive:a.logicalTabId===o,isCurrent:a.logicalTabId===r,external:!!a.external,taskId:ae?.getTaskForTab(a.logicalTabId)?.taskId}));i.length>1?de.setTabs(i):de.setTabs([])}else de&&de.setTabs([]);if(t==="local")return;Ze()}finally{rm=!1}}}function hh(e){let t=Xn("checkpoint_clone");return{version:Bm,sessionId:e.sessionId,runtimeId:e.runtimeId,uiOpen:!!e.uiOpen,uiHidden:!!e.uiHidden,uiStatus:typeof e.uiStatus=="string"?en(e.uiStatus,300):void 0,transientStatus:tl(e.transientStatus??e.uiStatus,{runId:e.pendingRun?.id,taskId:e.activeTask?.taskId}),uiMessages:Wr(e.uiMessages),timeline:Kr(e.timeline),executionMode:e.executionMode==="observer"||e.executionMode==="controller"?e.executionMode:"controller",workerState:xn(e.workerState),pendingRun:Ct(e.pendingRun),taskTabScope:ks(e.taskTabScope,Ct(e.pendingRun)?.taskBoundaryId||xn(e.workerState)?.taskBoundaryId),lastNavigationHandoff:Uo(e.lastNavigationHandoff),tasks:e.tasks?{...e.tasks}:{},activeTaskId:e.activeTaskId,taskOrder:e.taskOrder?[...e.taskOrder]:[],taskEpoch:Math.max(1,Number(e.taskEpoch)||1),activeTask:hi(e.activeTask,t),lastRoutingDecision:e.lastRoutingDecision&&(e.lastRoutingDecision.mode==="act"||e.lastRoutingDecision.mode==="planner")?{mode:e.lastRoutingDecision.mode,score:Number(e.lastRoutingDecision.score)||void 0,reason:e.lastRoutingDecision.reason,ts:Number(e.lastRoutingDecision.ts)||Date.now()}:void 0,updatedAt:Number(e.updatedAt)||Date.now()}}function eM(e){return!(e.sessionScope==="tab"||e.checkpointing?.enabled===!1||!Fn(e)||!Yt)}function tM(){if(!p||!A||!Yt)return null;let e=j?.getState(),t=hh(p),n=Math.max(Number(e?.updatedAt||0),Number(t.updatedAt||0)),r=n>0?n:Date.now();return{version:ew,siteId:A.siteId,visitorId:Yt,sessionId:p.sessionId,updatedAt:r,sharedState:e,runtimeState:t}}function n0(e){if(!e||typeof e!="object"||!p||!A||e.siteId&&e.siteId!==A.siteId||Yt&&e.visitorId&&e.visitorId!==Yt)return;let t=typeof e.sessionId=="string"&&e.sessionId.trim()?e.sessionId.trim():p.sessionId;ds=!0;try{if(t&&p.sessionId!==t&&(p.sessionId=t,A={...A,sessionId:t},hu(A),Ir({sessionId:t})),e.sharedState&&j&&j.hydrateExternalState(e.sharedState)&&(mh(j.getState(),"remote"),na(j.getRole(),{localLogicalTabId:j.getLocalLogicalTabId(),activeLogicalTabId:j.getActiveLogicalTabId(),holderRuntimeId:j.getCurrentHolderRuntimeId()})),e.runtimeState&&typeof e.runtimeState=="object"){let n=Kc({...e.runtimeState,sessionId:t,runtimeId:It},t,It);if(Zw({localState:p,incomingState:n,allowRicherIncomingOnResume:!0})){if(!t0({localState:p,incomingState:n}))return;let r=Math.max(1,Number(p.taskEpoch)||1),o=Math.max(1,Number(n.taskEpoch)||1),i=Zi(n);if(!Ji({source:"cloud_checkpoint",incomingBoundaryId:i,taskEpochAdvanced:o>r,allowBootstrapAdoption:!0}))return;p=Kc({...p,...n,sessionId:t,runtimeId:It},t,It),Qc(p),ms(),p.workerState=qr(p.workerState,or()),ra({persist:!1}),dh({preferredTaskId:n.activeTaskId||n.activeTask?.taskId}),Ze(),Iu(p),p.uiHidden?de?.hide():(de?.show(),p.uiOpen?de?.open():de?.close()),Ar&&Ir(),Ar&&p.workerState&&(lt?.postMessage({type:"hydrate_state",state:p.workerState}),bt("context_restored",{source:"cloud_checkpoint",ts:Date.now()})),Ft==="controller"&&fo(),Un=!1}}}finally{ds=!1}}function gh(e){if(Jt?.stop(),Jt=null,!eM(e)||!Yt)return;let t=Fn(e);if(!t){bt("checkpoint_token_missing",{reason:"missing_or_invalid_session_token",expectedPrefix:"rvrsess_",action:"disabled_cloud_checkpoint_client"});return}try{let n=r=>{bt("checkpoint_state",r),e.checkpointing?.onStateChange?.(r)};Jt=new Rd({apiBase:e.apiBase,authToken:t,getSessionToken:()=>Fn(A),shouldSync:()=>Ft==="controller"&&!Un&&!ta(),siteId:e.siteId,visitorId:Yt,ttlHours:e.checkpointing?.ttlHours??1,flushIntervalMs:e.checkpointing?.flushIntervalMs,pullIntervalMs:e.checkpointing?.pullIntervalMs,minFlushIntervalMs:e.checkpointing?.minFlushIntervalMs,maxSnapshotBytes:hs(e.stability?.maxSnapshotBytes,Wt.snapshotBytes),shouldWrite:()=>Ft==="controller"&&!Un&&!ta(),buildCheckpoint:()=>tM(),onCheckpoint:r=>{n0(r)},onStateChange:(r,o)=>{n({state:r,reason:o.reason,action:o.action,code:o.code,message:o.message}),r==="paused_auth"&&bt("checkpoint_error",{action:o.action,code:o.code||"INVALID_API_KEY",message:o.message||"Checkpoint sync paused due to auth failure.",disabled:!0,reason:o.reason||"auth_failed"})},onError:(r,o)=>{e.checkpointing?.onError?.(o),o.paused||bt("checkpoint_error",{action:o.action,code:o.code,message:o.message,status:o.status,disabled:!1,reason:"transient_failure"})}}),Jt.start(),Jt.markDirty(),Cw()}catch{Jt=null}}function hu(e){if(!p)return;if(j?.stop(),j=null,e.sessionScope==="tab"){na("controller");return}j=new gd({siteId:e.siteId,sessionId:p.sessionId,runtimeId:It,leaseMs:e.tabPolicy?.actionLeaseMs,onRoleChange:(r,o)=>{let i=el(r);na(i,o);let a=jr;jr=i==="controller",a!==jr&&(jr?(Yr(!0),A&&ho(A)):Yr(!0));let s=i==="controller"&&(A?.allowActions??!0);if(Rt?.setAllowActions(s),Rt?.setActionGateContext?.({mode:i,controllerRuntimeId:o?.holderRuntimeId??j?.getCurrentHolderRuntimeId(),activeLogicalTabId:o?.activeLogicalTabId??j?.getActiveLogicalTabId(),localLogicalTabId:o?.localLogicalTabId??j?.getLocalLogicalTabId(),reason:Zc(i,s)}),i==="controller"){gr({persist:!0,appendSeed:!1}),ra({persist:!0});let c=j?.getWorkerContext();if(c){let l=xn(c),d=Number(p?.workerState?.updatedAt)||0,m=Number(l?.updatedAt)||0;l&&m>d+100&&Ji({source:"controller_handoff",incomingBoundaryId:l.taskBoundaryId,allowBootstrapAdoption:!0})&&(p&&(p.workerState=qr(l,or()),ms(),Ze()),Ar&<&&(Ir(),lt.postMessage({type:"hydrate_state",state:p?.workerState}),bt("context_restored",{source:"controller_handoff",ts:Date.now()})))}fo()}},onStateChange:(r,o)=>{mh(r,o)},onSwitchRequested:r=>{r>0&&(Nn(),_t({kind:"status",title:`Switched to tab #${r}`,status:"info"}))},onTaskTabsExhausted:r=>{ae&&(ae.dispatch(r,{type:"PAUSE",reason:"all_tabs_closed"}),lo(),Ze(),de?.showPausedTaskBanner({taskId:r,rootUserInput:ae.getTask(r)?.rootUserInput||"Task"}))}}),j.onSessionTokenReceived=(r,o)=>{jr||uu(r,o)},j.onProjectionReceived=r=>{!jr&&r&&Sm(r)};let t=Xm();j.start(pw(t)),gr({persist:!0,appendSeed:!1}),ra({persist:!0}),Ct(p?.pendingRun)?.resumeRequired===!0&&j.requestControl(),p?.lastNavigationHandoff&&t&&(p.lastNavigationHandoff=Uo({...p.lastNavigationHandoff,consumed:!0}),Ze()),j.setRpcRequestHandler(async r=>{if(!Rt)throw new Error("Bridge not available");if(r.method==="getPageData"){let o=await Rt.getPageData(r.params);return Zd(o,"rpc-local"),o}if(r.method==="executeTool")return Rt.executeTool(r.params.call,r.params.payload);throw new Error(`Unknown RPC method: ${r.method}`)}),p?.activeTask&&j.syncTask({...p.activeTask,taskId:p.activeTask.taskId},p.taskEpoch),p?.workerState&&j.setWorkerContext(nl(p.workerState))}function nM(e){e&&co.delete(e),de?.clearTimeline(),p&&(p.timeline=[]),j?.clearTimeline()}function Dm(e){return e==="checkpoint"||e==="final"||e==="question"||e==="error"?e:void 0}function Wx(e){return e==="question"?"Needs input":e==="error"?"Response error":e==="final"?"Final response":"Step response"}function rM(e){if(!(!e||typeof e!="object")&&(typeof e.executionId=="string"&&e.executionId.trim()&&!e.runId&&(e={...e,runId:e.executionId.trim()}),!eC(e))){if(e.type==="assistant"){let t=fi(e.blocks),n=String(e.text||Bw(t)||""),r=Dm(e.responseKind);typeof e.runId=="string"&&e.runId&&(co.set(e.runId,n),su(co,c1)),Cn("assistant",n,!0,{blocks:t}),_t({kind:r?"assistant_response":"tool_result",title:r?Wx(r):"Assistant update",detail:n,detailBlocks:t,status:r==="error"?"error":"success",narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0,responseKind:r}),Hr("assistant_output",{text:n,blocks:t},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="assistant_response"){let t=Dm(e.responseKind)||"checkpoint",n=String(e.text||e.narration||"").trim();_t({kind:"assistant_response",title:typeof e.title=="string"&&e.title.trim()?e.title.trim():Wx(t),detail:n||void 0,status:t==="error"?"error":t==="final"?"success":"info",narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0,responseKind:t}),Hr("assistant_output",{text:n,responseKind:t,narration:typeof e.narration=="string"?e.narration:void 0},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="status"){let t=Rw(e.stage),n=e.message?String(e.message):void 0,r=e.compactThought?String(e.compactThought):void 0,o=V1(n,t,r);if(n&&Xt(n,{runId:typeof e.runId=="string"?e.runId:p?.pendingRun?.id,taskId:p?.activeTask?.taskId,stage:t}),o&&o!==Hd&&(Hd=o,n)){let i=!!(e.thought||r),a=r||(e.thought?String(e.thought):"");if(i&&t!=="analyze"&&t!=="route"&&t!=="complete"&&!W1(a,Mn))_t({kind:"thought",title:a,detail:e.thought?String(e.thought):r,status:"pending",narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0});else{let c=t?`${q1(t)}: ${n}`:n;_t({kind:"status",title:c,detail:r||(e.thought?String(e.thought):void 0),status:t==="complete"?"success":"info",narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0})}}bt("status",e),Hr("status_update",hM(e),{runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="runtime_tabs_diagnostics"){let t=e?.diagnostics&&typeof e.diagnostics=="object"?e.diagnostics:{},n=hr(t.keptScopedTabIds||[]),r=hr(t.listedTabIds||[]),o=hr(t.resolvedTabOrder||[]),i=n.filter(a=>!r.includes(a));i.length>0&&(_t({kind:"status",title:"Scoped tab placeholder retained",detail:`missing_in_listing=${i.join(",")}; resolved_order=${o.join(",")||"none"}`,status:"info"}),ot("status",{event:"scoped_tab_missing_from_listing",missingScopedTabIds:i,listedTabIds:r,resolvedTabOrder:o}));return}if(e.type==="tool_start"){let t=mu(e),n=gc(e.call,e.toolCallId,{logicalTabId:t}),r=n?.primaryElementId??(typeof e.call?.args?.element_id=="number"?e.call.args.element_id:void 0);_t({kind:"tool_start",title:`Running ${e.call?.name||"tool"}`,detailBlocks:Gk(e.call),status:"pending",elementId:r,toolName:e.call?.name,narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0,actionCue:n}),bt("tool_start",e),Hr("tool_start",gM(e),{runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="tool_result"){if(!mC(e.result)){let i=hr([...Uw(e.call?.args),...fC(e.result)]);i.length&&(Yw(i,{persist:!0}),Ir())}let t=fi(e.detailBlocks)||uC(e.result),n=mu(e),r=gc(e.call,e.toolCallId,{logicalTabId:n}),o=r?.primaryElementId??(typeof e.call?.args?.element_id=="number"?e.call.args.element_id:void 0);_t({kind:"tool_result",title:`${e.call?.name||"tool"} completed`,detailBlocks:t,status:e?.result?.success===!1?"error":"success",elementId:o,toolName:e.call?.name,narration:typeof e.narration=="string"?e.narration:void 0,narrationActive:typeof e.narrationActive=="boolean"?e.narrationActive:void 0,actionCue:r}),bt("tool_result",e),Hr("tool_result",bM(e),{runId:typeof e.runId=="string"?e.runId:void 0}),pC(e);return}if(e.type==="auth_required"){bt("auth_required",e.error),e.error?.message&&(Cn("system",`Auth required: ${e.error.message}`,!0),_t({kind:"error",title:"Auth required",detail:String(e.error.message),status:"error"}));return}if(e.type==="navigation_guardrail"){bt("navigation_guardrail",e),_t({kind:"status",title:"Navigation guardrail",detail:yw(e),status:"info"});return}if(e.type==="error"){Cn("system",`Error: ${e.message||"unknown"}`,!0),_t({kind:"error",title:"Execution error",detail:String(e.message||"unknown"),status:"error"}),bt("error",e),Hr("error",{message:String(e.message||"unknown")},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0});return}if(e.type==="state_snapshot"){if(p){let t=xn({...e.state||{},updatedAt:Date.now()});if(!t||!Ji({source:"worker_snapshot",incomingBoundaryId:t.taskBoundaryId,allowBootstrapAdoption:!0}))return;p.workerState=qr(t,or());let n=typeof e?.activeRun?.runId=="string"&&e.activeRun.runId?e.activeRun.runId:void 0,r=typeof e?.activeRun?.text=="string"?e.activeRun.text:void 0,o=Ct(p.pendingRun),i=jp({taskStatus:p.activeTask?.status,localPendingRunId:o?.id,localPendingTaskBoundaryId:o?.taskBoundaryId,currentTaskBoundaryId:Ve,candidateRunId:n,candidateRunText:r,candidateTaskBoundaryId:t.taskBoundaryId,ignoredRunIds:_r});if(i&&Zt(Ct({id:n,text:r,startedAt:e.activeRun.startedAt,attempts:o?.attempts||0,autoResume:!0,taskBoundaryId:o?.taskBoundaryId||t.taskBoundaryId||Ve,resumeRequired:o?.resumeRequired===!0,resumeReason:o?.resumeReason})),n&&r&&i?j?.setActiveRun({runId:n,text:r}):n&&(!Jo()||_r.has(n)||o?.id!==n)&&j?.setActiveRun(void 0),!Jo()&&p.pendingRun&&Zt(void 0),p.workerState&&j?.setWorkerContext(nl(p.workerState)),ae&&t?.taskBoundaryId){let a=ae.getTaskByBoundaryId(t.taskBoundaryId);a&&(a.workerState=p.workerState,n&&(a.pendingRun=p.pendingRun))}ys(),Ze()}return}if(e.type==="execution_started"){if(Hd="",ir(),typeof e.runId=="string"&&e.runId&&co.delete(e.runId),!Jo()){j?.setActiveRun(void 0);return}let t=p?.pendingRun,n=typeof e?.runBoundaryId=="string"?qe(e.runBoundaryId):typeof e?.taskBoundaryId=="string"?qe(e.taskBoundaryId):void 0;typeof e.runId=="string"&&e.runId&&Tm(e.runId),Zt(Ct({id:e.runId,text:e.text,startedAt:t?.startedAt||Date.now(),attempts:t?.attempts||0,autoResume:t?.autoResume!==!1,taskBoundaryId:n||t?.taskBoundaryId||Ve,resumeReason:t?.resumeReason,resumeRequired:t?.resumeRequired})),j?.setActiveRun({runId:e.runId,text:String(e.text||"")}),de?.setRunning(!0),de?.setQuestionPrompt(void 0);let r=`run:${String(e.runId||"")}:start`;if(p?.timeline.some(o=>o.id===r)||_t({id:r,kind:"plan",title:e.resume?"Run resumed":"Run started",detail:String(e.text||""),status:"pending"}),ae&&n){let o=ae.getTaskByBoundaryId(n);o&&(o.pendingRun=p?.pendingRun,ae.dispatch(o.taskId,{type:"START"}))}Hr("state_transition",{status:"running",mode:p?.lastRoutingDecision?.mode,reason:e.resume?"run_resumed":"run_started"},{immediate:!0,runId:typeof e.runId=="string"?e.runId:void 0}),Xe&&(Xe.status="running",Xe.runId=typeof e.runId=="string"&&e.runId?e.runId:Xe.runId,Xe.promptDispatchState="started",Xi()),bt("run_started",sw(e));return}if(e.type==="execution_completed"||e.type==="execution_state_transition"){Hd="",Gr=!1,Wn=0;let t=cC(e),n=cw(e,t),r=t.terminalState,o=t.continuationReason,i=t.needsUserInput?"awaiting_user":r==="completed"?"completed":r==="failed"||e?.ok===!1?"failed":"running",a=e?.ok===!1||r==="completed"||r==="failed",s=!a&&r==="in_progress"&&o!=="awaiting_user";de?.setRunning(s),Qt&&(clearTimeout(Qt),Qt=null);let c=typeof e.runId=="string"&&e.runId?e.runId:void 0,l=typeof e?.runBoundaryId=="string"?qe(e.runBoundaryId):typeof e?.taskBoundaryId=="string"?qe(e.taskBoundaryId):void 0;if(a){let d=Ct(p?.pendingRun),m=String(d?.text||Mn||"").trim(),f=String((c?co.get(c):"")||"").trim();Qi=m||Qi,mo=f||mo,ps=Date.now(),d?.id&&j?.releaseWorkflowLock(d.id),c&&j?.releaseWorkflowLock(c),Zt(void 0),ai(void 0),j?.setActiveRun(void 0),ir(),c&&mi(c)}else if(Jo()&&c){Tm(c),ai(c);let d=p?.pendingRun,m=d?.id===c&&d?.text?d.text:Mn||d?.text||"Continue task";Zt(Ct({id:c,text:m,startedAt:d?.startedAt||Date.now(),attempts:d?.attempts||0,autoResume:d?.autoResume!==!1,taskBoundaryId:l||d?.taskBoundaryId||Ve,resumeRequired:r==="in_progress"&&o==="same_tab_navigation_handoff",resumeReason:r==="in_progress"&&o==="same_tab_navigation_handoff"?d?.resumeReason||"agent_navigation":void 0})),j?.setActiveRun({runId:c,text:m})}if(p&&e?.route&&(e.route.mode==="act"||e.route.mode==="planner")&&(p.lastRoutingDecision={mode:e.route.mode,score:Number(e.route.score)||void 0,reason:typeof e.route.reason=="string"?en(e.route.reason,200):void 0,ts:Date.now()},Ze()),!e.ok&&e.error){if(c&&co.delete(c),c&&(ui(c,"worker_run_failed",{attemptImmediately:!0}),Ae?.controlRun({action:"cancel",runId:c,reason:"worker_run_failed"})),!Jo())return;de?.setQuestionPrompt(void 0),t.contextResetRecommended?(Vd("worker_run_failed_terminal"),j?.resetTabsToCurrent(window.location.href,document.title||void 0),Xt(void 0)):(Vd("worker_run_failed_terminal"),Xt(void 0)),c&&co.delete(c),_t({kind:"error",title:"Run failed",detail:String(e.error),status:"error"})}else if(e.ok){if(!Jo())return;let d=t.runComplete,m=t.needsUserInput,f=t.questions||Vr(e.questions),u=Vr(p?.workerState?.pendingAskUser?.questions),h=f.length?f:m?u:[];if(r==="failed")c&&(ui(c,"worker_terminal_failed",{attemptImmediately:!0}),Ae?.controlRun({action:"cancel",runId:c,reason:"worker_terminal_failed"})),de?.setQuestionPrompt(void 0),t.contextResetRecommended?(Vd("worker_run_failed_terminal"),j?.resetTabsToCurrent(window.location.href,document.title||void 0),Xt(void 0)):(Vd("worker_run_failed_terminal"),Xt(void 0)),_t({kind:"error",title:"Run failed",detail:typeof e.error=="string"?e.error:"Run reported failure state.",status:"error"});else if(d||r==="completed")c&&Ae?.controlRun({action:"end_task",runId:c,reason:"worker_task_complete"}),de?.setQuestionPrompt(void 0),DC("worker_task_complete"),j?.resetTabsToCurrent(window.location.href,document.title||void 0),Xt(void 0),nM(typeof e.runId=="string"?e.runId:void 0);else{let b=m?"worker_waiting_for_input":o==="same_tab_navigation_handoff"?"worker_navigation_handoff":r==="in_progress"?"worker_loop_continue":"worker_task_active";if(m){if(ae){let v=ae.getActiveTask();v&&ae.dispatch(v.taskId,{type:"ASK_USER"})}gi({type:"awaiting_user",reason:b,at:Date.now()})}else Ww(b);m&&h.length>0?de?.setQuestionPrompt({questions:h}):m?ys():de?.setQuestionPrompt(void 0),m?(Xt(void 0),_t({kind:"status",title:"Waiting for your input",detail:h.length?`Please answer: ${h.map(v=>`${v.key} (${v.query})`).join("; ")}`:"Planner requested more information before marking the task complete.",status:"info"})):o==="same_tab_navigation_handoff"?(Xt("Navigating to continue task..."),_t({kind:"status",title:"Navigation handoff",detail:"Rover will resume after same-tab navigation completes.",status:"pending"})):Xt("Working...")}}if(ae&&l){let d=ae.getTaskByBoundaryId(l);if(d)if(a){let m=r==="completed"?{type:"COMPLETE"}:{type:"FAIL",error:typeof e.error=="string"?e.error:void 0};ae.dispatch(d.taskId,m),ae.releaseWorker(d.taskId)}else t.continuationReason==="awaiting_user"&&ae.dispatch(d.taskId,{type:"ASK_USER"})}if(Hr("state_transition",{status:i,mode:e?.route?.mode==="act"||e?.route?.mode==="planner"?e.route.mode:p?.lastRoutingDecision?.mode,reason:typeof e?.error=="string"?e.error:o||r,terminalState:r},{immediate:a||t.needsUserInput,runId:c}),t.needsUserInput){let d=t.questions||Vr(e.questions);d.length&&l0(d)}Xe&&(Xe.status=i,Xe.runId=c||Xe.runId,i==="failed"?Xe.promptDispatchState="failed":(i==="running"||i==="awaiting_user"||i==="completed")&&(Xe.promptDispatchState="started"),Xi()),a&&vM(c),bt("run_state_transition",n),(e.type==="execution_completed"||a)&&bt("run_completed",n),lo();return}if(e.type==="ready"){Ar=!0,Xt(void 0),bt("ready"),A&&g0(A);let t=j?.getWorkerContext(),n=qr(xn(t),or()),r=n&&Ji({source:"ready_hydrate",incomingBoundaryId:n.taskBoundaryId,allowBootstrapAdoption:!0})?n:void 0,o=qr(xn(p?.workerState),or()),i=o&&Ji({source:"ready_hydrate",incomingBoundaryId:o.taskBoundaryId,allowBootstrapAdoption:!0})?o:void 0,a=Number(i?.updatedAt)||0,s=Number(r?.updatedAt)||0,c=r&&e0({localWorkerState:i,incomingWorkerState:r,fallbackPendingRun:Ct(p?.pendingRun),taskStatus:p?.activeTask?.status,taskEpoch:p?.taskEpoch,localUpdatedAt:a,incomingUpdatedAt:s,allowRicherIncomingOnResume:!0})?r:i;p&&(c&&c!==p.workerState?(p.workerState=qr(c,or()),Ze()):!c&&p.workerState&&(p.workerState=void 0,Ze())),c?(lt?.postMessage({type:"hydrate_state",state:c}),bt("context_restored",{source:"runtime_start",ts:Date.now()}),setTimeout(()=>{Gr||fo()},500)):Un&&Jt?(ot("status",{event:"checkpoint_pull_first"}),Jt.syncPullFirst()):fo();return}if(e.type==="hydrated"){fo();return}e.type==="updated"&&bt("updated")}}function Pm(e,t){let n=Number(e);return Number.isFinite(n)?Math.max(t.min,Math.min(t.max,Math.floor(n))):t.fallback}function il(e){if(!e||typeof e!="object")return;let t=Pm(e.shortcutMaxStored,{min:1,max:Vi,fallback:Vi}),n=Pm(e.shortcutMaxRendered,{min:1,max:ou,fallback:ou});return{shortcutMaxStored:t,shortcutMaxRendered:n}}function po(e){return Hl(e)}function oM(e){let t=String(e||"").trim();if(!t)return;let n=t.match(/^#?([0-9a-fA-F]{6})$/);return n?`#${n[1].toUpperCase()}`:void 0}function iM(e){let t=Number(e);if(Number.isFinite(t))return Math.max(NR,Math.min(LR,Math.floor(t)))}function ia(e){if(!e||typeof e!="object")return;let t=e,n={};typeof t.enabled=="boolean"&&(n.enabled=t.enabled);let r=String(t.language||"").trim().replace(/[^a-zA-Z0-9-]/g,"").slice(0,CR);r&&(n.language=r);let o=iM(t.autoStopMs);return o!==void 0&&(n.autoStopMs=o),Object.keys(n).length?n:void 0}function aa(e){if(!e||typeof e!="object")return;let t=e,n={};return typeof t.enabled=="boolean"&&(n.enabled=t.enabled),typeof t.allowCloudBrowser=="boolean"&&(n.allowCloudBrowser=t.allowCloudBrowser),typeof t.allowDelegatedHandoffs=="boolean"&&(n.allowDelegatedHandoffs=t.allowDelegatedHandoffs),typeof t.debugStreaming=="boolean"&&(n.debugStreaming=t.debugStreaming),Object.keys(n).length?n:void 0}function si(e){if(!e||typeof e!="object")return;let t=e,n={};if(t.presence&&typeof t.presence=="object"){let r=t.presence,o={},i=String(r.assistantName||"").trim();i&&(o.assistantName=i.slice(0,160));let a=String(r.ctaText||"").trim();a&&(o.ctaText=a.slice(0,160)),(r.iconMode==="logo"||r.iconMode==="mascot"||r.iconMode==="rover")&&(o.iconMode=r.iconMode),typeof r.draggable=="boolean"&&(o.draggable=r.draggable),(r.defaultAnchor==="bottom-right"||r.defaultAnchor==="bottom-left"||r.defaultAnchor==="top-right"||r.defaultAnchor==="top-left"||r.defaultAnchor==="bottom-center")&&(o.defaultAnchor=r.defaultAnchor),typeof r.persistPosition=="boolean"&&(o.persistPosition=r.persistPosition),(r.idleAnimation==="breathe"||r.idleAnimation==="orbit"||r.idleAnimation==="none")&&(o.idleAnimation=r.idleAnimation),(r.firstRunIntro==="ambient"||r.firstRunIntro==="headline"||r.firstRunIntro==="none")&&(o.firstRunIntro=r.firstRunIntro),Object.keys(o).length&&(n.presence=o)}if(t.shell&&typeof t.shell=="object"){let r=t.shell,o={};r.openMode==="center_stage"&&(o.openMode=r.openMode),r.mobileMode==="fullscreen_sheet"&&(o.mobileMode=r.mobileMode),(r.desktopSize==="compact"||r.desktopSize==="stage"||r.desktopSize==="cinema")&&(o.desktopSize=r.desktopSize),(r.desktopHeight==="tall"||r.desktopHeight==="full")&&(o.desktopHeight=r.desktopHeight),typeof r.dimBackground=="boolean"&&(o.dimBackground=r.dimBackground),typeof r.blurBackground=="boolean"&&(o.blurBackground=r.blurBackground),Number.isFinite(Number(r.safeAreaInsetPx))&&(o.safeAreaInsetPx=Math.max(0,Math.min(48,Math.trunc(Number(r.safeAreaInsetPx))))),Object.keys(o).length&&(n.shell=o)}if(t.stream&&typeof t.stream=="object"){let r=t.stream,o={};r.layout==="single_column"&&(o.layout=r.layout),Number.isFinite(Number(r.maxVisibleLiveCards))&&(o.maxVisibleLiveCards=Math.max(1,Math.min(4,Math.trunc(Number(r.maxVisibleLiveCards))))),typeof r.collapseCompletedSteps=="boolean"&&(o.collapseCompletedSteps=r.collapseCompletedSteps),typeof r.artifactAutoMinimize=="boolean"&&(o.artifactAutoMinimize=r.artifactAutoMinimize),(r.artifactOpenMode==="inline"||r.artifactOpenMode==="overlay")&&(o.artifactOpenMode=r.artifactOpenMode),Object.keys(o).length&&(n.stream=o)}if(t.inputs&&typeof t.inputs=="object"){let r=t.inputs,o={};typeof r.text=="boolean"&&(o.text=r.text),typeof r.voice=="boolean"&&(o.voice=r.voice),typeof r.files=="boolean"&&(o.files=r.files);let i=Array.isArray(r.acceptedMimeGroups)?r.acceptedMimeGroups.filter(a=>a==="images"||a==="pdfs"||a==="office"||a==="text"):[];i.length&&(o.acceptedMimeGroups=Array.from(new Set(i))),typeof r.allowMultipleFiles=="boolean"&&(o.allowMultipleFiles=r.allowMultipleFiles),typeof r.mobileCameraCapture=="boolean"&&(o.mobileCameraCapture=r.mobileCameraCapture),Number.isFinite(Number(r.attachmentLimit))&&(o.attachmentLimit=Math.max(1,Math.min(12,Math.trunc(Number(r.attachmentLimit))))),Number.isFinite(Number(r.maxFileSizeMb))&&(o.maxFileSizeMb=Math.max(1,Math.min(32,Math.trunc(Number(r.maxFileSizeMb))))),Object.keys(o).length&&(n.inputs=o)}if(t.audio&&typeof t.audio=="object"){let r=t.audio,o=r.narration&&typeof r.narration=="object"?r.narration:void 0;if(o){let i={};typeof o.enabled=="boolean"&&(i.enabled=o.enabled),(o.defaultMode==="guided"||o.defaultMode==="always"||o.defaultMode==="off")&&(i.defaultMode=o.defaultMode),Number.isFinite(Number(o.rate))&&(i.rate=Math.max(.85,Math.min(1.15,Number(o.rate))));let a=String(o.language||"").trim();a&&(i.language=a.slice(0,24)),(o.voicePreference==="auto"||o.voicePreference==="system"||o.voicePreference==="natural")&&(i.voicePreference=o.voicePreference),Object.keys(i).length&&(n.audio={narration:i})}}if(t.motion&&typeof t.motion=="object"){let r=t.motion,o={};(r.intensity==="calm"||r.intensity==="balanced"||r.intensity==="expressive")&&(o.intensity=r.intensity),(r.reducedMotionFallback==="reduce"||r.reducedMotionFallback==="remove")&&(o.reducedMotionFallback=r.reducedMotionFallback),(r.performanceBudget==="standard"||r.performanceBudget==="high")&&(o.performanceBudget=r.performanceBudget),typeof r.actionSpotlight=="boolean"&&(o.actionSpotlight=r.actionSpotlight);let i=oM(r.actionSpotlightColor);i&&(o.actionSpotlightColor=i),Object.keys(o).length&&(n.motion=o)}if(t.theme&&typeof t.theme=="object"){let r=t.theme,o={};(r.mode==="auto"||r.mode==="light"||r.mode==="dark")&&(o.mode=r.mode);let i=String(r.accentColor||"").trim();i&&(o.accentColor=i.slice(0,32)),(r.surfaceStyle==="glass"||r.surfaceStyle==="solid")&&(o.surfaceStyle=r.surfaceStyle),(r.radius==="soft"||r.radius==="rounded"||r.radius==="pill")&&(o.radius=r.radius);let a=String(r.fontFamily||"").trim();a&&(o.fontFamily=a.slice(0,120)),Object.keys(o).length&&(n.theme=o)}return Object.keys(n).length?n:void 0}function Ru(e){if(!e)return;let t=si(sn?.experience),n=si(e.ui?.experience),r={...t||{},...n||{}};(t?.presence||n?.presence)&&(r.presence={...t?.presence||{},...n?.presence||{}}),(t?.shell||n?.shell)&&(r.shell={...t?.shell||{},...n?.shell||{}}),(t?.stream||n?.stream)&&(r.stream={...t?.stream||{},...n?.stream||{}}),(t?.inputs||n?.inputs)&&(r.inputs={...t?.inputs||{},...n?.inputs||{}}),(t?.motion||n?.motion)&&(r.motion={...t?.motion||{},...n?.motion||{}}),(t?.theme||n?.theme)&&(r.theme={...t?.theme||{},...n?.theme||{}});let o=pi(sn?.greeting||e.ui?.greeting),i=yh(e),a=al(e),s={};return(a?.discoverySurface?.beaconLabel||o?.disabled===!0)&&(s.presence={...a?.discoverySurface?.beaconLabel?{ctaText:a.discoverySurface.beaconLabel}:{},...o?.disabled===!0?{firstRunIntro:"none"}:{}}),i?.enabled===!1&&(s.inputs={voice:!1}),si({...s,...r,presence:{...s.presence||{},...r.presence||{}},inputs:{...s.inputs||{},...r.inputs||{}},shell:r.shell,stream:r.stream,motion:r.motion,theme:r.theme})}function al(e){if(!e)return;let t=Oi(sn?.agentDiscovery),n=e.agentDiscovery?{...e.agentDiscovery}:void 0;if(!t&&!n)return;let r={...t||{},...n||{}};return(t?.discoverySurface||n?.discoverySurface)&&(r.discoverySurface={...t?.discoverySurface||{},...n?.discoverySurface||{}}),(t?.pageContext||n?.pageContext)&&(r.pageContext={...t?.pageContext||{},...n?.pageContext||{}}),Object.keys(r).length?r:void 0}function Gc(e){if(!e)return;let t=po(sn?.pageConfig),n=po(e.pageConfig);return po({...t||{},...n||{}})}function Cu(e){if(!e)return;let t=aa(sn?.aiAccess),n=aa(e.agentDiscovery?.aiAccess);if(!(!t&&!n))return{...t||{},...n||{}}}function r0(e){return e.cloudSandboxEnabled!==!0?e:{...e,tools:{...e.tools||{},web:{...e.tools?.web||{},enableExternalWebContext:!0,scrapeMode:"on_demand"}}}}function aM(e){if(!lt||!e)return;let t=Gc(e),n=JSON.stringify(t||null);n!==um&&(um=n,lt.postMessage({type:"update_config",config:{...oa(),pageConfig:t}}))}function sl(){Nc&&(clearTimeout(Nc),Nc=null),Lc&&(clearTimeout(Lc),Lc=null)}function sM(e){try{let t=localStorage.getItem(`rover:site-config:${e}`);if(t){let n=JSON.parse(t);return!n||typeof n.ts!="number"||typeof n.data!="object"||!n.data||Date.now()-n.ts>Ix?null:{shortcuts:Bo(n.data.shortcuts),businessType:ws(n.data.businessType),experience:si(n.data.experience),greeting:pi(n.data.greeting),voice:ia(n.data.voice),aiAccess:aa(n.data.aiAccess),limits:il(n.data.limits),pageConfig:po(n.data.pageConfig),agentDiscovery:Oi(n.data.agentDiscovery),version:typeof n.version=="string"?n.version:void 0}}}catch{}try{let t=localStorage.getItem(`rover:shortcuts:${e}`);if(!t)return null;let n=JSON.parse(t);return!n||typeof n.ts!="number"||!Array.isArray(n.data)||Date.now()-n.ts>Ix?null:{shortcuts:Bo(n.data)}}catch{return null}}function o0(e,t){try{localStorage.setItem(`rover:site-config:${e}`,JSON.stringify({ts:Date.now(),version:t.version,data:{shortcuts:Bo(t.shortcuts),businessType:ws(t.businessType),experience:si(t.experience),greeting:pi(t.greeting),voice:ia(t.voice),aiAccess:aa(t.aiAccess),limits:il(t.limits),pageConfig:po(t.pageConfig),agentDiscovery:Oi(t.agentDiscovery)}}))}catch{}}function pi(e){if(!e||typeof e!="object")return;let t={},n=String(e.text||"").trim();n&&(t.text=n.slice(0,RR));let r=Number(e.delay);Number.isFinite(r)&&(t.delay=Math.max(0,Math.min(6e4,Math.floor(r))));let o=Number(e.duration);return Number.isFinite(o)&&(t.duration=Math.max(1200,Math.min(6e4,Math.floor(o)))),typeof e.disabled=="boolean"&&(t.disabled=e.disabled),Object.keys(t).length?t:void 0}function Kx(e,t){if(!Array.isArray(e))return;let n=[],r=new Set;for(let o of e){let i=String(o||"").trim().slice(0,t.maxChars);if(!i)continue;let a=i.toLowerCase();if(!r.has(a)&&(r.add(a),n.push(i),n.length>=t.maxItems))break}return n.length?n:void 0}function cM(e){if(!e||typeof e!="object")return null;let t=String(e.id||"").trim().slice(0,80),n=String(e.label||"").trim().slice(0,_R),r=String(e.prompt||"").trim().slice(0,IR);if(!t||!n||!r)return null;let o={id:t,label:n,prompt:r,enabled:e.enabled!==!1};e.description&&(o.description=String(e.description).trim().slice(0,ER)),e.icon&&(o.icon=String(e.icon).trim().slice(0,AR)),(e.routing==="auto"||e.routing==="act"||e.routing==="planner")&&(o.routing=e.routing),(e.runKind==="guide"||e.runKind==="task")&&(o.runKind=e.runKind);let i=Number(e.order);Number.isFinite(i)&&(o.order=Math.trunc(i));let a=Kx(e.tags,{maxItems:16,maxChars:40});a&&(o.tags=a);let s=Kx(e.examples,{maxItems:6,maxChars:220});return s&&(o.examples=s),e.inputSchema&&typeof e.inputSchema=="object"&&!Array.isArray(e.inputSchema)&&(o.inputSchema=e.inputSchema),e.outputSchema&&typeof e.outputSchema=="object"&&!Array.isArray(e.outputSchema)&&(o.outputSchema=e.outputSchema),(e.sideEffect==="none"||e.sideEffect==="read"||e.sideEffect==="write"||e.sideEffect==="transactional")&&(o.sideEffect=e.sideEffect),typeof e.requiresConfirmation=="boolean"&&(o.requiresConfirmation=e.requiresConfirmation),(e.preferredInterface==="run"||e.preferredInterface==="shortcut"||e.preferredInterface==="client_tool"||e.preferredInterface==="webmcp")&&(o.preferredInterface=e.preferredInterface),o}function Bo(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e){if(t.length>=Vi)break;let o=cM(r);!o||n.has(o.id)||(n.add(o.id),t.push(o))}return t}function Wd(e){return e.map((t,n)=>({item:t,index:n})).sort((t,n)=>{let r=Number.isFinite(t.item.order),o=Number.isFinite(n.item.order);return r&&o?Number(t.item.order)-Number(n.item.order):r?-1:o?1:t.index-n.index}).map(t=>t.item)}function lM(e){return!!e?.ui&&Object.prototype.hasOwnProperty.call(e.ui,"shortcuts")}function Mu(e){if(!e)return[];let t=lM(e),n=Bo(t?e.ui?.shortcuts||[]:sn?.shortcuts||[]);if(t||n.length>0)return Wd(n).slice(0,Vi);let r=BM(sn?.businessType);if(!r.length)return Wd(n).slice(0,Vi);let o=new Set,i=new Set,a=new Set,c=r.filter(l=>{let d=l.label.trim().toLowerCase(),m=l.prompt.trim().toLowerCase();return o.has(l.id)||i.has(d)||a.has(m)?!1:(o.add(l.id),i.add(d),a.add(m),!0)}).slice(0,3);return Wd(c).slice(0,Vi)}function i0(e){let t=Pm(sn?.limits?.shortcutMaxRendered,{min:1,max:ou,fallback:ou});return e.filter(n=>n.enabled!==!1).slice(0,t)}function Uc(){ei&&(clearTimeout(ei),ei=null),Hc=null}function dM(e){return`${window.location.href}::${e.signature}`}function a0(e){let t=`${window.location.pathname}${window.location.search}${window.location.hash}`,n=Zv(window.location.href);if(n!==t)try{history.replaceState(history.state,document.title,n),ot("status",{event:"launch_params_consumed",requestId:e.requestId})}catch{}}function om(e,t,n){let r=Hc;r?.handleKey===e&&r.deadlineAt===n&&ei||(ei&&clearTimeout(ei),Hc={handleKey:e,request:t,deadlineAt:n},ei=setTimeout(()=>{ei=null,cl("attach_retry")},WR))}function s0(){rs&&(clearTimeout(rs),rs=null)}function uM(){s0(),Xe=null}function Cc(e=0){Xe?.pendingEvents.length&&(rs||(rs=setTimeout(()=>{rs=null,bh()},Math.max(0,e))))}async function bh(e=!1){let t=Xe;if(!t||!t.pendingEvents.length||t.ingestInFlight||!Ae)return;if(!e&&ta()){Cc(Qp);return}let n=t.pendingEvents.splice(0,Jp);if(n.length){t.ingestInFlight=!0;try{await Ae.ingestLaunchEvents({requestId:t.requestId,runId:t.runId,events:n})||(t.pendingEvents=[...n,...t.pendingEvents].slice(-Jp*4),Cc(Qp))}catch{t.pendingEvents=[...n,...t.pendingEvents].slice(-Jp*4),Cc(Qp)}finally{t.ingestInFlight=!1}t.pendingEvents.length&&Cc(0)}}function Hr(e,t,n){let r=Xe;if(r){if(n?.runId&&(r.runId=n.runId),r.pendingEvents.push({type:e,ts:Date.now(),data:t}),n?.immediate){s0(),bh(!0);return}Cc(0)}}function fM(e){let t=String(e||"").trim();if(t){let o=String(co.get(t)||"").trim();if(o)return o}let n=[...p?.uiMessages||[]].reverse().find(o=>o.role==="assistant");return String(n?.text||"").trim()||void 0}function pM(){let e=String(jc||"").trim();if(!e)return;let t=e.indexOf(":");return t<0?void 0:e.slice(t+1).trim()||void 0}function c0(){return Xe?.detail==="full"||Xe?.detail==="debug"}function mM(){return Xe?.detail==="debug"}function hM(e){let t={stage:Rw(e?.stage),message:typeof e?.message=="string"?e.message:void 0,compactThought:typeof e?.compactThought=="string"?e.compactThought:void 0};return mM()&&(t.thought=typeof e?.thought=="string"?e.thought:void 0),t}function gM(e){let t=mu(e),n=gc(e?.call,e?.toolCallId,{logicalTabId:t}),r={toolName:typeof e?.call?.name=="string"?e.call.name:"tool",actionKind:n?.kind,logicalTabId:n?.logicalTabId,valueRedacted:n?.valueRedacted,narration:typeof e?.narration=="string"?en(e.narration.replace(/\s+/g," ").trim(),220):void 0};return c0()&&(r.args=e?.call?.args),r}function bM(e){let t=mu(e),n=gc(e?.call,e?.toolCallId,{logicalTabId:t}),r={toolName:typeof e?.call?.name=="string"?e.call.name:"tool",success:e?.result?.success!==!1,actionKind:n?.kind,logicalTabId:n?.logicalTabId,valueRedacted:n?.valueRedacted};return c0()?r.result=e?.result:typeof e?.result?.message=="string"&&(r.message=e.result.message),r}function yM(e){let t=window.location.href,n=String(document.title||"").trim()||void 0,r=String(window.location.hostname||"").trim()||void 0,o=fM(e),i=pM();return{url:t,title:n,host:r,summary:o,snapshotDigest:i}}function l0(e){let t=Xe;if(!t||!e.length)return;let n=e.map(r=>`${r.key}:${r.query}`).join("|");t.lastNeedsInputSignature!==n&&(t.lastNeedsInputSignature=n,Hr("needs_input",{questions:e},{immediate:!0}))}function vM(e){let t=Xe;if(!t)return;let n=String(e||t.runId||"").trim()||void 0;n&&t.finalObservationRunId===n||(n&&(t.finalObservationRunId=n),Hr("page_observation",yM(n),{immediate:!0,runId:n}))}function im(e,t,n,r){Uc(),$i="",r?.openWidget!==!1&&(Nn(),Cn("system",`Rover couldn't start the AI launch: ${n}`,!0)),ot("status",{event:"launch_attach_failed",requestId:e.requestId,message:n}),Dc=t,r?.consume!==!1&&a0(e)}function gu(e){let t=String(e.requestId||"").trim();if(!t)return!1;let n=iw();return n?.requestId!==t?!String(e.runId||"").trim():n.promptDispatchState==="started"?!1:n.promptDispatchState==="failed"?!0:String(n.runId||"").trim()&&String(e.runId||"").trim()?!1:!String(e.runId||"").trim()}function d0(e){let t=e.input;if(!t||typeof t.prompt!="string"||!t.prompt.trim())throw new Error("Launch attach response did not include a prompt.");let n=e.executionTarget==="cloud_browser";n&&ot("status",{event:"hosted_launch_attached",requestId:e.requestId,detail:e.detail}),Xe&&(Xe.status=e.status||Xe.status,Xe.executionTarget=e.executionTarget||Xe.executionTarget,Xe.runId=String(e.runId||Xe.runId||"").trim()||void 0,Xe.promptDispatchState="pending",Xi()),Nn();try{t.kind==="shortcut"?Er(t.prompt,{reason:"launch_shortcut",routing:t.routing,narrationRunKind:t.runKind,narrationLanguage:us}):Er(t.prompt,{reason:"launch_prompt"}),n&&ot("status",{event:"hosted_launch_prompt_dispatched",requestId:e.requestId,detail:e.detail,inputKind:t.kind}),Xe&&(Xe.promptDispatchState="started",Xe.status=e.status==="awaiting_user"?"awaiting_user":e.status||"running",Xe.runId=String(e.runId||Xe.runId||"").trim()||void 0,Xi())}catch(r){throw n&&ot("status",{event:"hosted_launch_prompt_failed",requestId:e.requestId,detail:e.detail,message:String(r?.message||"launch_prompt_dispatch_failed")}),Xe&&(Xe.promptDispatchState="failed",Xe.status="failed",Xi()),r}}function cl(e){if(!A||typeof window>"u")return;let t=Qv(window.location.href);if(!t){Uc(),Dc="",Ac="",$i="";return}let n=dM(t);if(n===Dc||Xe?.handleKey===n||$i===n)return;let r=Cu(A);if(r&&r.enabled===!1){Uc(),Ac!==n&&(ot("status",{event:"launch_ignored_disabled",requestId:t.requestId,source:e}),Ac=n),im(t,n,"AI launch is not enabled for this Rover embed.",{consume:!0,openWidget:!0});return}Ac="";let o=Hc?.handleKey===n?Hc.deadlineAt:Date.now()+VR;if(Date.now()>=o){im(t,n,"Launch attach timed out before Rover finished booting.",{consume:!0,openWidget:!0});return}$i=n,ho(A).then(async()=>{if(!Ae){om(n,t,o);return}let i=await Ae.attachLaunch({requestId:t.requestId,attachToken:t.attachToken});if(!i){om(n,t,o);return}Uc(),Xe={requestId:t.requestId,attachToken:t.attachToken,handleKey:n,status:i.status,detail:i.detail,executionTarget:i.executionTarget,runId:i.runId,promptDispatchState:gu(i)?"pending":"started",pendingEvents:[],attachCompletedAt:Date.now()},Xi(),gu(i)?d0(i):Nn(),Hr("state_transition",{status:i.status==="awaiting_user"?"awaiting_user":"running",executionTarget:i.executionTarget,detail:i.detail,source:"launch_attach"},{immediate:!0,runId:i.runId}),ot("status",{event:"launch_attached",requestId:t.requestId,source:e,executionTarget:i.executionTarget,detail:i.detail}),Dc=n,a0(t)}).catch(i=>{if(Date.now()<o){om(n,t,o);return}im(t,n,i?.message||"Unknown launch attach failure.",{consume:!0,openWidget:!0})}).finally(()=>{$i===n&&($i="")})}function qi(){Zo&&(clearTimeout(Zo),Zo=null),ns=null}function kM(e){return`${window.location.href}::${e.signature}`}function xM(e){return e?!!(du(e)||Fn(e)):!1}function Om(e,t){if(!e.consume)return;let n=`${window.location.pathname}${window.location.search}${window.location.hash}`,r=kp(window.location.href,e);if(r!==n)try{history.replaceState(history.state,document.title,r),ot("status",{event:"deep_link_consumed",kind:t.kind,paramName:t.paramName})}catch{}}function wM(e,t,n){let r=ns;r?.handleKey===e&&r.deadlineAt===n&&Zo||(Zo&&clearTimeout(Zo),ns={handleKey:e,request:t,deadlineAt:n},Zo=setTimeout(()=>{Zo=null,xs("shortcut_retry")},qR))}function SM(e,t,n){qi(),Nn(),Cn("system",`Rover couldn't find shortcut "${e.value}" for this embed. Check the URL or expose that shortcut in the Rover boot config/site config.`,!0),ot("status",{event:"deep_link_shortcut_not_found",shortcutId:e.value,paramName:e.paramName}),Ja=t,Om(n,e)}function u0(){let e=String(A?.apiBase||"https://agent.rtrvr.ai").trim().replace(/\/+$/,"");return e?e.endsWith("/extensionRouter/v2/rover")?e.slice(0,-25):e.endsWith("/v2/rover")?e.slice(0,-9):e:"https://agent.rtrvr.ai"}function vs(e){let t=String(e||"").trim();if(t)try{let n=new URL(t);return String(n.searchParams.get("access")||"").trim()||void 0}catch{return}}function TM(e,t){let n=new URL(`${u0()}/v1/a2w/runs/${encodeURIComponent(e)}`);return t&&n.searchParams.set("access",t),n.toString()}function _M(e,t){let n=new URL(`${u0()}/v1/a2w/workflows/${encodeURIComponent(e)}`);return t&&n.searchParams.set("access",t),n.toString()}function f0(e){let t=String(e.runId||"").trim();if(!t)return;let n=String(e.runAccessToken||vs(e.runUrl)||"").trim()||void 0,r=String(e.workflowId||"").trim()||void 0,o=String(e.workflowAccessToken||vs(e.workflowUrl)||"").trim()||void 0;ti={runId:t,runUrl:String(e.runUrl||TM(t,n)).trim(),runAccessToken:n,workflowId:r,workflowUrl:r?String(e.workflowUrl||_M(r,o)).trim():void 0,workflowAccessToken:o,runBoundaryId:qe(Ve||p?.workerState?.taskBoundaryId),executionId:String(e.executionId||p?.pendingRun?.id||"").trim()||void 0,updatedAt:Date.now()},Gn(A)}function EM(){return qe(Ve||p?.workerState?.taskBoundaryId)||""}function IM(e){let t=String(e||"").trim().toLowerCase();return t==="browser"||t==="cloud"?t:"auto"}function eu(e){let t=String(e||"").trim().toLowerCase();return t==="completed"||t==="failed"||t==="cancelled"||t==="expired"}function p0(e){let t=String(e||"").trim();if(t){if(!/^https?:\/\//i.test(t))return t;try{let r=new URL(t).pathname.split("/").filter(Boolean),o=r.lastIndexOf("runs");if(o>=0&&r[o+1])return decodeURIComponent(r[o+1]);let i=r.lastIndexOf("tasks");if(i>=0&&r[i+1])return decodeURIComponent(r[i+1]);let a=r.lastIndexOf("workflows");if(a>=0&&r[a+1])return decodeURIComponent(r[a+1])}catch{}}}function AM(){let e=String(mo||p?.uiStatus||p?.transientStatus?.text||"").trim();return{url:window.location.href,title:document.title,host:window.location.hostname,...e?{summary:e}:{}}}function RM(){let e=String(document.title||"").trim();return e?`Continue the current Rover workflow on ${e}.`:`Continue the current Rover workflow on ${window.location.hostname}.`}async function CM(){let e=EM(),t=ti;if(t&&t.runId&&t.runAccessToken&&(!e||t.runBoundaryId===e))return t.executionId=String(p?.pendingRun?.id||t.executionId||"").trim()||void 0,t.updatedAt=Date.now(),t;if(!A)throw new Error("Rover is not booted.");if(await ho(A),!Ae)throw new Error("Rover server runtime is unavailable.");let n=pu(p?.pendingRun?.id)||RM(),r=await Ae.createSessionRootRun({url:window.location.href,prompt:n,executionId:String(p?.pendingRun?.id||"").trim()||void 0}),o=String(r?.run||"").trim();if(!r?.id||!o)throw new Error("Failed to create the root A2W workflow run.");if(f0({runId:String(r.runId||r.id||"").trim(),runUrl:o,runAccessToken:vs(o),workflowId:p0(r.workflow||""),workflowUrl:r.workflow,workflowAccessToken:vs(r.workflow),executionId:String(p?.pendingRun?.id||"").trim()||void 0}),!ti?.runAccessToken)throw new Error("Root A2W workflow run is missing an access token.");return ot("status",{event:"handoff_root_run_created",runId:ti.runId,workflowId:ti.workflowId}),ti}async function Gx(e,t,n=zc){if(!A)return null;if(await ho(A),!Ae)throw new Error("Rover server runtime is unavailable.");let r=Date.now()+Math.max(0,n),o=null;for(;;){let i=r-Date.now(),a=i>0?Math.max(1,Math.min(XR,Math.ceil(i/1e3))):0;if(o=await Ae.getPublicRun(e,{accessToken:t,waitSeconds:a}),!o||eu(o.status)||o.status==="input_required"||i<=0)return o}}function Xx(e,t){if(t==="cloud")return{opened:!1};let n=String(e.open||e.browserLink||"").trim();if(!n)return{opened:!1};try{return window.open(n,"_blank","noopener,noreferrer")?{opened:!0,targetUrl:n}:{opened:!1,targetUrl:n,error:"Browser blocked the delegated Rover handoff window."}}catch(r){return{opened:!1,targetUrl:n,error:r?.message||"Unable to open the delegated Rover site."}}}function Yx(e,t){let n=String(e.status||"pending").trim().toLowerCase(),r=String(e.run||"").trim(),o=String(e.workflow||"").trim(),i=String(e.result?.summary||e.result?.text||e.input?.message||"").trim(),a=Vr(e.input?.questions),s=t?.browserOpen,c={success:n==="completed",status:n,run:r||void 0,workflow:o||void 0,open:e.open,browserLink:e.browserLink,result:e.result,handoff:e.handoff,summary:e.result?.summary,text:e.result?.text||i||void 0,observation:e.result?.observation,transcript:e.result?.transcript,artifacts:e.result?.artifacts,runStatus:n,...s?.targetUrl?{browserOpenUrl:s.targetUrl}:{},...s?.opened?{browserOpened:!0}:{},...s?.error?{browserOpenError:s.error}:{}};if(n==="completed")return{...c,runComplete:!0,terminalState:"completed",message:i||"Delegated A2W run completed."};if(n==="input_required")return{...c,success:!1,runComplete:!1,terminalState:"waiting_input",continuationReason:"awaiting_user",needsUserInput:!0,waitingForUserInput:!0,questions:a.length?a:e.input?.questions,input:e.input,message:String(e.input?.message||i||"Delegated A2W run needs more input.").trim()};if(n==="failed"||n==="cancelled"||n==="expired"){let d=String(e.result?.error||i||`Delegated A2W run ${n}.`).trim();return{...c,success:!1,runComplete:!1,terminalState:"failed",error:d,message:d}}return{...c,success:!1,runComplete:!1,terminalState:"in_progress",continuationReason:"loop_continue",message:n==="waiting_browser"?'Delegated A2W run is waiting for a browser attachment. Re-open the returned URL or call again with execution="cloud" for a browserless run.':"Delegated A2W run is still running. Call handoff_to_rover_site again with the returned run URL to keep following it."}}async function MM(e){let t=e&&typeof e=="object"?e:{};if(!A)throw new Error("Rover is not booted.");if(await ho(A),!Ae)throw new Error("Rover server runtime is unavailable.");let n=IM(t.execution),r=String(t.answer||"").trim(),o=String(t.run||"").trim();if(o){let b=vs(o),v=r?await Ae.continuePublicRun(o,r,{accessToken:b}):await Ae.getPublicRun(o,{accessToken:b});if(!v)throw new Error("Delegated A2W run could not be loaded.");let S;return!eu(v.status)&&v.status!=="input_required"&&(S=Xx(v,n),v=await Gx(o,b,zc)||v),Yx(v,S?{browserOpen:S}:void 0)}let i=String(t.url||"").trim(),a=String(t.shortcutId||"").trim(),s=String(t.instruction||"").trim(),c=String(t.prompt||"").trim();if(!i)throw new Error("handoff_to_rover_site requires url or run.");if(!a&&!s&&!c)throw new Error("handoff_to_rover_site requires instruction, prompt, or shortcutId when creating a new handoff.");let l=await CM(),d=await Ae.createRunHandoff({parentRunId:l.runId,runAccessToken:String(l.runAccessToken||"").trim(),url:i,...a?{shortcutId:a}:{},...!a&&s?{instruction:s}:{},...!a&&!s&&c?{prompt:c}:{},...String(t.contextSummary||mo||"").trim()?{contextSummary:String(t.contextSummary||mo).trim()}:{},...String(t.expectedOutput||"").trim()?{expectedOutput:String(t.expectedOutput).trim()}:{},...String(pu(p?.pendingRun?.id)||"").trim()?{originalGoal:String(pu(p?.pendingRun?.id)||"").trim()}:{},lastObservation:AM(),execution:n});if(!d)throw new Error("Delegated Rover handoff could not be created.");let m;!eu(d.status)&&d.status!=="input_required"&&(m=Xx(d,n));let f=String(d.run||"").trim(),u=vs(f),h=!eu(d.status)&&d.status!=="input_required"&&await Gx(f,u,zc)||d;return ot("status",{event:"handoff_run_created",parentRunId:l.runId,childRunId:String(h.runId||h.id||"").trim(),workflowId:p0(h.workflow||"")||l.workflowId,targetHost:(()=>{try{return new URL(i).hostname}catch{return}})()}),Yx(h,m?{browserOpen:m}:void 0)}var NM={name:"handoff_to_rover_site",title:"Delegate To Another Rover Site",description:"Delegate part of the current workflow to Rover on another Rover-enabled site. Use this when the next step belongs to a different Rover-enabled domain and you want structured handoff state, lineage, and recovery instead of opening the target site and improvising with raw DOM actions.",parameters:{url:{type:"string",description:"Absolute URL for the Rover-enabled site that should handle the delegated step."},instruction:{type:"string",description:"Delegation instruction for the target site. Use this for natural-language delegation."},prompt:{type:"string",description:"Prompt alias for instruction when creating a delegated A2W run."},shortcutId:{type:"string",description:"Exact shortcut ID to run on the delegated Rover site instead of a natural-language instruction."},contextSummary:{type:"string",description:"Short structured summary of what the target Rover site should know before continuing."},expectedOutput:{type:"string",description:"Describe the output the delegated site should return to the parent workflow."},execution:{type:"string",enum:["auto","browser","cloud"],description:"Use browser to try a new tab first, cloud for guaranteed browserless execution, or auto for browser-first hybrid behavior."},run:{type:"string",description:"Existing delegated A2W run URL or run ID to keep following or resume after user input."},answer:{type:"string",description:"Answer to send when resuming a delegated run that is waiting for user input."}},outputSchema:{type:"object",properties:{success:{type:"boolean",description:"Whether the delegated A2W run completed or reached a stable state."},status:{type:"string",description:"Current delegated run status."},summary:{type:"string",description:"High-level summary of what the delegated site returned."},run:{type:"string",description:"Canonical delegated A2W run URL."},workflow:{type:"string",description:"Canonical workflow URL spanning the parent and child runs."}}},annotations:{category:"delegation",priority:"secondary",sideEffect:"transactional",requiresConfirmation:!0,preferredInterface:"client_tool",whenToUse:"Use this when the user goal crosses into another Rover-enabled site or domain-specific workflow.",whyUse:"The explicit Rover handoff preserves workflow lineage, structured continuation, and final results better than navigating away and reconstructing the state through generic DOM automation.",examples:["Delegate checkout financing to a Rover-enabled lender site.","Continue identity verification on a partner site without losing workflow state."]},llmCallable:!0};function LM(){ym||!Rt||!lt||(Ym({def:NM,handler:MM}),ym=!0)}function bu(){ni&&(clearTimeout(ni),ni=null),qc=null}function DM(e){return`${window.location.href}::${e.signature}`}function m0(e,t){let n=`${window.location.pathname}${window.location.search}${window.location.hash}`,r=nk(window.location.href);if(t?.consumeDeepLink&&A){let o=new URL(r,window.location.origin).toString();r=kp(o,kd(A.deepLink))}if(r!==n)try{history.replaceState(history.state,document.title,r),ot("status",{event:"browser_receipt_consumed",receipt:e.receipt,consumeDeepLink:t?.consumeDeepLink===!0})}catch{}}function am(e,t){let n=qc;n?.handleKey===e&&n.deadlineAt===t&&ni||(ni&&clearTimeout(ni),qc={handleKey:e,deadlineAt:t},ni=setTimeout(()=>{ni=null,ll("receipt_retry")},KR))}function PM(e){let t=e.input;if(!t||typeof t.prompt!="string"||!t.prompt.trim())throw new Error("Browser receipt claim did not include a prompt.");if(Nn(),t.kind==="shortcut"){Er(t.prompt,{reason:"browser_receipt_shortcut",routing:t.routing,narrationRunKind:t.runKind,narrationLanguage:us});return}Er(t.prompt,{reason:"browser_receipt_prompt"})}function Jx(e,t,n,r){bu(),r?.openWidget&&(Nn(),Cn("system",`Rover couldn't claim the browser receipt: ${n}`,!0)),ot("status",{event:"browser_receipt_claim_failed",message:n}),Bc=t,m0(e,{consumeDeepLink:!1}),r?.fallbackToDeepLink&&xs("receipt_fallback")}function ll(e){if(!A||typeof window>"u")return!1;let t=Ep(window.location.href);if(!t)return bu(),Bc="",Ya="",!1;let n=DM(t);if(n===Bc||Ya===n)return!0;let r=qc?.handleKey===n?qc.deadlineAt:Date.now()+GR;return Date.now()>=r?(Jx(t,n,"Browser receipt claim timed out before Rover finished booting.",{fallbackToDeepLink:!0,openWidget:!0}),!0):(Ya=n,ho(A).then(async()=>{if(!Ae){am(n,r);return}let o=await Ae.claimBrowserRunReceipt({receipt:t.receipt});if(!o){am(n,r);return}bu(),f0({runId:o.runId,runAccessToken:o.runAccessToken,workflowId:o.workflowId,workflowAccessToken:o.workflowAccessToken,executionId:o.executionId}),PM(o),ot("status",{event:"browser_receipt_claimed",source:e,runId:o.runId,executionId:o.executionId}),Bc=n,m0(t,{consumeDeepLink:!0})}).catch(o=>{if(Date.now()<r){am(n,r);return}Jx(t,n,o?.message||"Unknown browser receipt failure.",{fallbackToDeepLink:!0,openWidget:!0})}).finally(()=>{Ya===n&&(Ya="")}),!0)}function xs(e){if(!A||typeof window>"u")return;let t=Kv(A.deepLink,sn?.aiAccess);if(e!=="receipt_fallback"&&Ep(window.location.href))return;let n=Gv(window.location.href,t);if(!n){qi(),Ja="",ji="";return}let r=kM(n);if(!t.enabled){qi(),ji!==r&&(ot("status",{event:"deep_link_ignored_disabled",kind:n.kind,paramName:n.paramName,source:e}),ji=r);return}if(ji="",r===Ja)return;if(!t.enabled){qi(),ji!==r&&(ot("status",{event:"deep_link_ignored_disabled",kind:n.kind,paramName:n.paramName,source:e}),ji=r);return}if(ns?.handleKey===r||ot("status",{event:"deep_link_detected",kind:n.kind,paramName:n.paramName,source:e}),n.kind==="prompt"){qi(),Nn(),Er(n.value,{reason:"deep_link_prompt"}),ot("status",{event:"deep_link_dispatched",kind:n.kind,paramName:n.paramName}),Ja=r,Om(t,n);return}let i=Mu(A).find(s=>s.enabled!==!1&&s.id===n.value);if(i){qi(),Nn(),Er(i.prompt,{reason:"deep_link_shortcut",routing:i.routing,narrationRunKind:i.runKind,narrationLanguage:us}),ot("status",{event:"deep_link_dispatched",kind:n.kind,paramName:n.paramName,shortcutId:i.id,routing:i.routing}),Ja=r,Om(t,n);return}let a=ns?.handleKey===r?ns.deadlineAt:Date.now()+$R;if(Date.now()<a&&xM(A)){wM(r,n,a);return}SM(n,r,t)}function Nu(e){if(!e)return;let t=pi(sn?.greeting),n=pi(e.ui?.greeting);if(!(!t&&!n))return{...t||{},...n||{}}}function yh(e){if(!e)return;let t=ia(sn?.voice),n=ia(e.ui?.voice);if(!t&&!n)return;let r={...t||{},...n||{}};return r.enabled===!0&&r.autoStopMs===void 0&&(r.autoStopMs=MR),r}function vh(e){let t=$r?.name,n=e?.text;return n?n.replace(/\{name\}/g,t||"").trim()||(t?`Hey ${t}! Need any help?`:"Hey! Need any help?"):t?`Hey ${t}! Need any help?`:"Hey! Need any help?"}function Xc(){if(ci||!de||!A||p?.uiOpen)return;let e=Nu(A);if(e?.disabled===!0)return;let t=`rover:greeting-shown:${A.siteId}`;try{if(sessionStorage.getItem(t)){Gi=!0;return}}catch{}if(Gi)return;sl();let n=e?.delay??3e3,r=e?.duration??8e3,o=vh(e);Nc=setTimeout(()=>{if(Nc=null,!(ci||p?.uiOpen)){de?.showGreeting(o),Gi=!0;try{sessionStorage.setItem(t,"1")}catch{}Lc=setTimeout(()=>{Lc=null,de?.dismissGreeting()},r)}},n)}function ws(e){return["ecommerce","travel","saas","finance","healthcare","real_estate","restaurant","education","support","legal","automotive","general"].includes(e)?e:void 0}var h0={ecommerce:["Find the best deal here...","Add this to my cart...","What sizes are available?","Track my order..."],travel:["Book this for me...","Find flights to Paris...","What's the check-in time?","Compare hotel prices..."],saas:["How do I export my data?","Set up an integration...","Help me configure this...","Show me usage analytics..."],finance:["Check my account balance...","Help me apply for a loan...","What are the transfer fees?","Explain this charge..."],healthcare:["Book an appointment...","Refill my prescription...","Find a specialist near me...","What are your office hours?"],real_estate:["Schedule a viewing...","What's the price per sqft?","Find homes near good schools...","Tell me about this property..."],restaurant:["Make a reservation...","What's on the menu today?","Do you have vegan options?","Order delivery to my address..."],education:["Enroll me in this course...","What are the prerequisites?","Show my learning progress...","Find a tutor for calculus..."],support:["I need help with...","Reset my password...","Track my support ticket...","Report a problem..."],legal:["Schedule a consultation...","Explain this clause...","What documents do I need?","Find a lawyer specializing in..."],automotive:["Schedule a test drive...","What's the trade-in value?","Book a service appointment...","Check parts availability..."],general:["Fill this form for me...","Find the best option here...","Help me get started...","What can you do for me?"]},OM=h0.general,Qx={ecommerce:[{id:"biz_ecommerce_compare",label:"Compare pricing",description:"Check plans, bundles, or pricing tiers on this site.",prompt:"Compare the main pricing or product options on this site and summarize the best fit."},{id:"biz_ecommerce_checkout",label:"Complete checkout",description:"Add items, apply a code, and walk through checkout.",prompt:"Help me buy the right item on this site and walk me through checkout."},{id:"biz_ecommerce_support",label:"Track an order",description:"Find order status, shipping, or return information.",prompt:"Find the order tracking or returns flow on this site and help me complete it."}],travel:[{id:"biz_travel_book",label:"Book travel",description:"Search dates, compare options, and complete a booking flow.",prompt:"Help me compare the main travel options on this site and complete the best booking."},{id:"biz_travel_policy",label:"Check policies",description:"Find cancellation, baggage, or check-in rules.",prompt:"Find the important travel policies on this site and summarize them clearly."},{id:"biz_travel_support",label:"Manage reservation",description:"Open the reservation flow and help with changes.",prompt:"Help me find and manage an existing reservation on this site."}],saas:[{id:"biz_saas_pricing",label:"Compare plans",description:"Review pricing, tiers, and feature differences.",prompt:"Compare the pricing plans on this site and recommend the right one for my use case."},{id:"biz_saas_docs",label:"Find setup docs",description:"Locate docs, integrations, and onboarding steps.",prompt:"Find the best setup or integration docs on this site and summarize the next steps."},{id:"biz_saas_contact",label:"Talk to sales",description:"Open demo or contact flows and prepare the form.",prompt:"Find the sales or demo request flow on this site and help me complete it."}],finance:[{id:"biz_finance_rates",label:"Check rates",description:"Compare rates, fees, or account options.",prompt:"Compare the main rates or fees on this site and explain the important differences."},{id:"biz_finance_apply",label:"Start application",description:"Open the relevant application flow and prepare inputs.",prompt:"Help me find the right application flow on this site and get it started."},{id:"biz_finance_support",label:"Resolve account issue",description:"Find support, dispute, or account-help flows.",prompt:"Find the best support or dispute path on this site and help me use it."}],healthcare:[{id:"biz_healthcare_book",label:"Book appointment",description:"Find providers, locations, and scheduling steps.",prompt:"Help me find the right appointment flow on this site and complete the booking steps."},{id:"biz_healthcare_forms",label:"Prepare forms",description:"Locate intake, insurance, or patient forms.",prompt:"Find the forms or patient-prep information I need on this site."},{id:"biz_healthcare_support",label:"Patient portal help",description:"Navigate patient support or portal entry points.",prompt:"Help me find the patient portal or support path on this site."}],real_estate:[{id:"biz_real_estate_search",label:"Explore listings",description:"Search listings, filters, and property details.",prompt:"Help me compare the best matching listings on this site."},{id:"biz_real_estate_tour",label:"Request a tour",description:"Open contact, showing, or inquiry flows.",prompt:"Find the right showing or inquiry flow on this site and help me use it."},{id:"biz_real_estate_market",label:"Research property",description:"Summarize pricing, location, and property facts.",prompt:"Summarize the most important facts and pricing details for this property."}],restaurant:[{id:"biz_restaurant_reserve",label:"Reserve a table",description:"Find reservation or booking steps.",prompt:"Help me make a reservation on this site."},{id:"biz_restaurant_menu",label:"Review the menu",description:"Summarize menu sections, dietary filters, and specials.",prompt:"Summarize the menu on this site and highlight the best options."},{id:"biz_restaurant_order",label:"Start an order",description:"Navigate pickup or delivery ordering flow.",prompt:"Help me place an order on this site."}],education:[{id:"biz_education_course",label:"Compare courses",description:"Review programs, syllabus, and enrollment details.",prompt:"Compare the main courses or programs on this site and summarize the differences."},{id:"biz_education_apply",label:"Start enrollment",description:"Open signup or application flows.",prompt:"Help me find the right enrollment or application flow on this site."},{id:"biz_education_support",label:"Find support",description:"Locate advising, tuition, or admissions help.",prompt:"Find the most useful support or admissions contact path on this site."}],support:[{id:"biz_support_ticket",label:"Open support path",description:"Find the fastest route to help or ticket submission.",prompt:"Help me find the best support path on this site and use it."},{id:"biz_support_docs",label:"Search help docs",description:"Look through troubleshooting or FAQ content.",prompt:"Search the help content on this site and summarize the answer."},{id:"biz_support_status",label:"Check status",description:"Find system status or issue updates.",prompt:"Find the current status or outage information on this site."}],legal:[{id:"biz_legal_consult",label:"Request consultation",description:"Open consultation or contact intake flow.",prompt:"Help me request a consultation on this site."},{id:"biz_legal_pricing",label:"Review services",description:"Compare services, practice areas, or pricing.",prompt:"Compare the main services on this legal site and summarize what matters."},{id:"biz_legal_docs",label:"Find requirements",description:"Locate intake requirements or needed documents.",prompt:"Find the documents or information this site says I need before getting started."}],automotive:[{id:"biz_auto_inventory",label:"Compare inventory",description:"Review vehicles, trims, and availability.",prompt:"Compare the best matching vehicles on this site."},{id:"biz_auto_service",label:"Book service",description:"Find service scheduling and maintenance flows.",prompt:"Help me schedule service on this site."},{id:"biz_auto_financing",label:"Check financing",description:"Compare financing, lease, or trade-in paths.",prompt:"Find the financing or trade-in flow on this site and summarize the options."}],general:[{id:"biz_general_start",label:"Get started",description:"Open the main conversion or onboarding path on this site.",prompt:"Help me complete the main get-started flow on this site."},{id:"biz_general_compare",label:"Compare options",description:"Summarize the main plans, products, or actions here.",prompt:"Compare the main options on this site and tell me which one fits best."},{id:"biz_general_contact",label:"Find the right contact",description:"Locate the best contact, demo, or support path.",prompt:"Find the best contact or support path on this site."}]};function BM(e){let t=ws(e)||"general";return(Qx[t]||Qx.general).map((n,r)=>({...n,id:`suggested_${t}_${n.id}`,enabled:!0,order:1e4+r,preferredInterface:"run"}))}function UM(){let e=sn?.businessType;return(e&&h0[e])??OM}function yu(e){let t=Mu(e);de?.setShortcuts(i0(t)),de?.setExperience?.(Ru(e)),de?.setVoiceConfig(yh(e)),de?.setPlaceholders?.(UM()),aM(e),Gn(e),ll("site_config"),cl("site_config"),xs("site_config")}async function FM(e){let t=null,n=du(e)||Fn(e);if(!n)return null;let r={siteId:e.siteId,sessionId:p?.sessionId||e.sessionId,requestedSessionId:p?.sessionId||e.sessionId,host:window.location.hostname,url:window.location.href,pageUrl:window.location.href};n.startsWith("rvrsess_")?r.sessionToken=n:r.bootstrapToken=n;let o=Di(e.apiBase);for(let i of o)try{let a=await fetch(`${i}/session/open`,{method:"POST",headers:{"Content-Type":"text/plain"},body:JSON.stringify(r)}),s=await a.json().catch(()=>{});if(!a.ok||!s?.success)continue;if(t=s?.data?.siteConfig||null,t)break}catch{}return t?{shortcuts:Bo(t.shortcuts),businessType:ws(t.businessType),experience:si(t.experience),greeting:pi(t.greeting),voice:ia(t.voice),aiAccess:aa(t.aiAccess),limits:il(t.limits),pageConfig:po(t.pageConfig),agentDiscovery:Oi(t.agentDiscovery),version:t.version!=null?String(t.version):void 0}:null}function g0(e){let t=sM(e.siteId);t&&(sn=t),yu(e),Xc(),FM(e).then(n=>{if(n&&(sn=n,o0(e.siteId,n),yu(e),!ci)){let r=Nu(e);Gi&&!p?.uiOpen?de?.showGreeting(vh(r)):Xc()}}).catch(()=>{})}function kh(e){if(!A)return;let t={...$r,...e};t.name&&(t.name=String(t.name).trim().slice(0,120)),t.email&&(t.email=String(t.email).trim().slice(0,240)),$r=t,hw(A.siteId,$r),de?.setVisitorName($r.name||""),ci||(Gi&&!p?.uiOpen?de?.showGreeting(vh(Nu(A))):Xc())}function zM(e){if(hu(e),typeof window<"u"&&Yi(window,e1,()=>{qm(A)}),j){let f=el(j.getRole());Ft=f,jr=f==="controller",p&&(p.executionMode=f)}gh(e),Tu(e),Yr(!0);let t=(e.allowActions??!0)&&(j?j.isController():!0),n=f=>{if(!p)return;let u=Ct(p.pendingRun);if(u){let k=Ct({...u,taskBoundaryId:u.taskBoundaryId||Ve,resumeRequired:!0,resumeReason:f});return p.pendingRun=k,k&&j?.setActiveRun({runId:k.id,text:k.text}),k}let h=j?.getState().activeRun,b=String(Ae?.getActiveRunId()||Jc||h?.runId||"").trim();if(!b)return;let v=String(h?.text||Mn||"Continue task").trim()||"Continue task",S=Ct({id:b,text:v,startedAt:Date.now(),attempts:0,autoResume:!0,taskBoundaryId:Ve,resumeRequired:!0,resumeReason:f});return p.pendingRun=S,S&&j?.setActiveRun({runId:S.id,text:S.text}),S};Rt=new rd({allowActions:t,runtimeId:It,allowedDomains:e.allowedDomains,domainScopeMode:Wc(e.domainScopeMode),navigationDelayMs:e.timing?.navigationDelayMs,domSettle:{debounceMs:vn(e.timing?.domSettleDebounceMs,8,500),maxWaitMs:vn(e.timing?.domSettleMaxWaitMs,80,5e3),retries:vn(e.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:vn(e.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:vn(e.timing?.sparseTreeRetryMaxAttempts,0,4)},registerOpenedTab:f=>j?.registerOpenedTab(f),switchToLogicalTab:f=>j?.switchToLogicalTab(f)||{ok:!1,reason:"No session coordinator"},listKnownTabs:()=>(j?.listTabs({scope:"all"})||[]).map(f=>({logicalTabId:f.logicalTabId,runtimeId:f.runtimeId,url:f.url,title:f.title,external:!!f.external})),onNavigationGuardrail:f=>{if(bt("navigation_guardrail",f),_t({kind:"status",title:"Navigation guardrail",detail:yw(f),status:"info"}),Ae&&f?.blockedUrl){let u=jx();if(!u)return;let h=String(window.location.hostname||"").toLowerCase(),b=(()=>{try{return new URL(String(f.blockedUrl)).hostname.toLowerCase()}catch{return}})();Ae.sendTabEvent({runId:u,currentUrl:String(f.currentUrl||window.location.href),targetUrl:String(f.blockedUrl),message:String(f.reason||""),currentHost:h||void 0,targetHost:b,isCrossHost:!!b&&!!h&&b!==h}).then(v=>{v&&(v.retryAttempted&&bt("tab_event_conflict_retry",{runId:v.runId||u,decisionReason:v.decisionReason,conflict:v.conflict}),v.retryExhausted&&bt("tab_event_conflict_exhausted",{runId:v.runId||u,decisionReason:v.decisionReason,conflict:v.conflict}))}).catch(()=>{})}},onBeforeAgentNavigation:async f=>{let u=jx(),h=String(window.location.hostname||"").toLowerCase();if(f?.targetUrl&&gx(f.targetUrl,h)){let O=Xp(f.targetUrl,h);return ot("navigation_guardrail",{event:"adversarial_blocked",targetUrl:f.targetUrl,score:O.score,reasons:O.reasons}),{decision:"block",reason:`Navigation blocked: suspicious URL detected (adversarial score ${O.score}).`,decisionReason:"adversarial_block"}}if(f?.isCrossHost){let O=Date.now();for(Fi.push(O);Fi.length>0&&Fi[0]<O-Ox;)Fi.shift();if(Fi.length>a1)return ot("navigation_guardrail",{event:"rapid_cross_origin_blocked",targetUrl:f.targetUrl,count:Fi.length}),{decision:"block",reason:`Navigation blocked: too many cross-origin navigations (${Fi.length} in ${Ox/1e3}s).`,decisionReason:"rapid_cross_origin_block"}}let b=(()=>{try{return new URL(String(f?.targetUrl||"")).hostname.toLowerCase()}catch{return}})(),v=!!h&&!!b&&mr(h)!==mr(b),S=!!h&&!!b&&h!==b,k=Gs({host:b,currentHost:h,allowedDomains:A?.allowedDomains,domainScopeMode:A?.domainScopeMode}),x=Sx({targetUrl:f?.targetUrl,currentUrl:window.location.href,currentHost:h,allowedDomains:A?.allowedDomains,domainScopeMode:A?.domainScopeMode,preferredDisposition:f?.preferredDisposition||"auto",knownTabs:(j?.listTabs({scope:"all"})||[]).map(O=>({logicalTabId:O.logicalTabId,url:O.url,external:!!O.external})),taskScopedTabIds:Qa(),sourceLogicalTabId:f?.sourceLogicalTabId}),C=B1(),_=x==="allow_same_tab";if(_&&p){if(so=!0,nm(em(f)),n(f.isCrossHost?"cross_host_navigation":"agent_navigation"),Rn&&A?.siteId)try{sessionStorage.setItem(`rover:sess:${A.siteId}`,JSON.stringify({t:Rn,e:uo}))}catch{}if(ae){let O=ae.getActiveTask();O&&ae.dispatch(O.taskId,{type:"NAVIGATION_STARTED",targetUrl:f.targetUrl,isCrossHost:f.isCrossHost})}cs("same_tab_navigation_handoff_early")}let I=null;if(f?.targetUrl&&Ae&&u){let O=!!b&&!!h&&b!==h;I=await Ae.sendTabEvent({runId:u,currentUrl:window.location.href,targetUrl:f.targetUrl,message:C,currentHost:h||void 0,targetHost:b,isCrossHost:O}).catch(()=>null),I?.retryAttempted&&bt("tab_event_conflict_retry",{runId:I.runId||u,decisionReason:I.decisionReason,conflict:I.conflict,targetUrl:f.targetUrl}),I?.retryExhausted&&bt("tab_event_conflict_exhausted",{runId:I.runId||u,decisionReason:I.decisionReason,conflict:I.conflict,targetUrl:f.targetUrl})}let M=kx({crossRegistrableDomain:v,fallbackDecision:x,serverDecision:I?.decision,serverAvailable:!!I}),X=M.decision;if(X==="block")return _&&(so=!1),{decision:"block",reason:M.failSafeBlocked?"Cross-domain navigation blocked because preflight policy check is unavailable.":I?.reason||"Navigation blocked by policy.",decisionReason:M.failSafeBlocked?"preflight_unavailable_block":I?.decisionReason||"policy_blocked"};if(X==="open_new_tab"){_&&(so=!1),A?.tools?.web?.scrapeMode==="on_demand"&&Ae&&f?.targetUrl&&KC(f.targetUrl).catch(()=>{});let J=M.decisionReason==="preflight_unavailable_fallback"&&!I;return{decision:"open_new_tab",reason:I?.reason||(J?"Preflight is unavailable; Rover will open this page in a new tab and keep the task moving there.":"Rover will open this page in a new tab and keep the task moving there."),decisionReason:I?.decisionReason||M.decisionReason||"open_new_tab"}}return!_&&p?(so=!0,nm(em(f)),n(f.isCrossHost?"cross_host_navigation":"agent_navigation"),cs("same_tab_navigation_handoff")):_||(so=!0),{decision:"allow_same_tab",reason:I?.reason||(M.decisionReason==="preflight_unavailable_fallback"&&!I?"Preflight is unavailable; Rover will continue in the current tab.":"Navigation allowed."),decisionReason:I?.decisionReason||M.decisionReason||"allow_same_tab"}},onBeforeCrossHostNavigation:f=>{if(so=!0,!p||!A)return;nm(em(f));let u=Xm(),h=n("cross_host_navigation");ex(A.siteId,{sessionId:p.sessionId,sessionToken:Rn,sessionTokenExpiresAt:uo,openIntent:p.uiOpen?"preserve_if_running":void 0,targetUrl:String(f?.targetUrl||"").trim()||void 0,sourceHost:String(window.location.hostname||"").trim().toLowerCase()||void 0,handoffId:u?.handoffId||f?.handoffId,pendingRun:h?{id:h.id,text:h.text,startedAt:h.startedAt,attempts:h.attempts,taskBoundaryId:h.taskBoundaryId||Ve}:void 0,handoff:u?{handoffId:u.handoffId,sourceLogicalTabId:u.sourceLogicalTabId,runId:u.runId,targetUrl:u.targetUrl,createdAt:u.createdAt}:void 0,activeTask:p.activeTask?{taskId:p.activeTask.taskId,status:p.activeTask.status}:void 0,taskEpoch:p.taskEpoch,timestamp:Date.now()}),cs("cross_domain_handoff_pre_navigation")},instrumentationOptions:e.mode==="safe"?{observeInlineMutations:!1}:void 0});let r=Ft==="observer"?"observer":"controller";Rt?.setActionGateContext?.({mode:r,controllerRuntimeId:j?.getCurrentHolderRuntimeId(),activeLogicalTabId:j?.getActiveLogicalTabId(),localLogicalTabId:j?.getLocalLogicalTabId(),reason:Zc(r,t)});let o=new MessageChannel;cy(o.port1,{getSnapshot:()=>Rt.getSnapshot(),getPageData:async f=>{let u=A||e,h=Number(f?.tabId),b=j?.getLocalLogicalTabId();if(!Number.isFinite(h)||h<=0||h===b||!j){let k=await Rt.getPageData(f);return Zd(k,"local"),k}let S=j.listTabs().find(k=>k.logicalTabId===h);if(!S){let k=Qa().includes(h);return wc({logicalTabId:h,external:!1},k?"detached_runtime_placeholder":"target_tab_missing")}if(S.runtimeId===It){let k=await Rt.getPageData(f);return Zd(k,"local-target"),k}if(S.external)return wc(S,"external_domain_inaccessible");if(!S.runtimeId||!j.isTabAlive(h))return wc(S,"target_tab_inactive");try{let k=await j.sendCrossTabRpc(S.runtimeId,"getPageData",f,15e3);return Zd(k,"cross-tab"),k}catch{return wc(S,"cross_tab_rpc_failed")}},executeTool:async f=>{let u=A||e,h=f?.payload?.forceLocal===!0,b=String(f?.call?.name||"").trim(),v=Number(f?.call?.args?.tab_id),S=j?.getActiveLogicalTabId(),k=Number.isFinite(v)&&v>0?v:S;if(XC(b)){let I=f?.call?.serverResult;return I?I.success?{success:!0,output:I.data}:{success:!1,error:I.error||"Server-side execution failed"}:YC({call:f?.call,routeTabId:Number.isFinite(Number(k))?Number(k):void 0,runtimeCfg:u})}if(h)return Rt.executeTool(f.call,f.payload);let x=j?.getLocalLogicalTabId();if(!k||k===x||!j)return Rt.executeTool(f.call,f.payload);let _=j.listTabs().find(I=>I.logicalTabId===k);if(!_){let I=Qa().includes(k);return Sc(u,{logicalTabId:k,external:!1},I?"detached_runtime_placeholder":"target_tab_missing")}if(_.external)return Sc(u,_,"external_tab_action_blocked");if(_.runtimeId===It)return Rt.executeTool(f.call,f.payload);if(!_.runtimeId||!j.isTabAlive(k))return Sc(u,_,"target_tab_inactive");try{return await j.sendCrossTabRpc(_.runtimeId,"executeTool",f,2e4)}catch{return Sc(u,_,"cross_tab_execute_failed")}},executeClientTool:f=>Rt.executeClientTool(f.name,f.args),listClientTools:()=>Rt.listClientTools(),getTabContext:()=>{let f=j?.getLocalLogicalTabId(),u=j?.getActiveLogicalTabId();return{id:f||1,logicalTabId:f||1,activeLogicalTabId:u||f||1,runtimeId:It,mode:Ft,url:window.location.href,title:document.title}},listSessionTabs:()=>{if(!j)return[];let f=j.listTabs({scope:"all"}),u=Array.isArray(j.getState()?.tabs)?j.getState().tabs:[],h=new Set(Qa()),b=new Map,v=S=>{let k=Number(S?.logicalTabId||S?.id);!Number.isFinite(k)||k<=0||b.set(k,{...b.get(k)||{},...S,logicalTabId:k,id:k})};for(let S of f)v(S);for(let S of u){let k=Number(S?.logicalTabId);!Number.isFinite(k)||k<=0||(S.runtimeId||S.external||h.has(k))&&v(S)}return[...b.values()].sort((S,k)=>Number(S.logicalTabId)-Number(k.logicalTabId))}}),o.port1.start?.();let i=e.workerUrl?e.workerUrl:new URL("./worker/worker.js",__ROVER_SCRIPT_URL__).toString(),a=i;try{let f=window.location.origin,u=new URL(i).origin;if(f!==u){let h=new Blob([`import '${i}';`],{type:"application/javascript"});a=URL.createObjectURL(h)}}catch{}lt=new Worker(a,{type:"module"}),lt.postMessage({type:"init",config:{...e,...oa(),pageConfig:Gc(A),publicKey:void 0,authToken:Fn(e),sessionToken:Rn,sessionId:p?.sessionId,activeRunId:p?.pendingRun?.id},port:o.port2},[o.port2]);let s=(f="manual_cancel_task")=>{if(!p)return;let u=p.pendingRun;if(u){mi(u.id),lt?.postMessage({type:"cancel_run",runId:u.id}),ui(u.id,f,{attemptImmediately:!0}),Ae?.controlRun({action:"cancel",runId:u.id,reason:f}).catch(()=>{}),j?.releaseWorkflowLock(u.id),j?.setActiveRun(void 0),Zt(void 0),p.workerState=void 0,j?.setWorkerContext(void 0),Ve=Xr(),p.taskTabScope=void 0,gr({forceReset:!0,persist:!1}),Ir(),Qt&&(clearTimeout(Qt),Qt=null),de?.setRunning(!1),de?.setQuestionPrompt(void 0),Kw(f),Xt(void 0),_t({kind:"info",title:"Run cancelled",status:"info"}),Cn("system","Task cancelled.",!0),Qi=void 0,mo=void 0,ps=0,Ze();return}let h=Vr(p.workerState?.pendingAskUser?.questions).length>0,b=p.activeTask?.status;!h&&b!=="running"||(Ve=Xr(),p.workerState=void 0,p.taskTabScope=void 0,gr({forceReset:!0,persist:!1}),Ir(),Qt&&(clearTimeout(Qt),Qt=null),de?.setRunning(!1),de?.setQuestionPrompt(void 0),ir(),Zt(void 0),PC(f),j?.endTask(f),j?.setActiveRun(void 0),j?.setWorkerContext(void 0),Xt(void 0),Qi=void 0,mo=void 0,ps=0,_t({kind:"info",title:f==="question_prompt_cancel"?"Input request cancelled":"Task cancelled",status:"info"}),Ze())},c={siteId:e.siteId,resolveElement:f=>Xk(f),getLocalLogicalTabId:()=>j?.getLocalLogicalTabId(),panel:{resizable:e.ui?.panel?.resizable!==!1},shortcuts:i0(Bo(e.ui?.shortcuts||[])),experience:Ru(e),greeting:Nu(e),voice:yh(e),thoughtStyle:e.ui?.thoughtStyle,visitorName:$r?.name,onVoiceTelemetry:(f,u)=>{$1(f,u)},onShortcutClick:f=>{let u=String(f.prompt||"").trim();u&&Er(u,{routing:f.routing,narrationEnabledForRun:fm,narrationPreferenceSource:pm,narrationRunKind:f.runKind,narrationLanguage:us})},onSend:(f,u)=>{Er(f,{askUserAnswers:u?.askUserAnswers,attachments:u?.attachments,narrationEnabledForRun:u?.narrationEnabledForRun===!0,narrationPreferenceSource:u?.narrationPreferenceSource==="visitor"?"visitor":"default",narrationRunKind:u?.narrationRunKind,narrationLanguage:u?.narrationLanguage})},onOpenConversations:()=>{Cm("drawer_open").catch(()=>{})},onNarrationPreferenceChange:(f,u,h,b)=>{fm=u&&f,pm=h==="visitor"?"visitor":"default",us=b},onRequestControl:()=>{Z1()?_t({kind:"status",title:"Control requested",detail:"This tab is now the active Rover controller for the current task.",status:"info"}):Cn("system","Unable to acquire control right now. Try again in a moment.",!0)},onCancelRun:()=>{s("manual_cancel_task")},onCancelQuestionFlow:()=>{s("question_prompt_cancel")},onNewTask:()=>{dl({reason:"manual_new_task",clearUi:!0})},onEndTask:()=>{Du({reason:"manual_end_task"})},onTaskSuggestionPrimary:()=>{let f=ii;if(f){if(f.kind==="resume_run"){let u=Ct(p?.pendingRun);if(ir(),!u||u.id!==f.runId){Xt("Previous task is no longer resumable.");return}fo({overridePolicyAction:"auto_resume"});return}Er(f.text,{bypassSuggestion:!0,startNewTask:!0,reason:f.reason})}},onTaskSuggestionSecondary:()=>{let f=ii;if(f){if(f.kind==="resume_run"){let u=String(p?.pendingRun?.id||"").trim();if(ir(),!u||u!==f.runId)return;fh({reason:"resume_declined_by_user",statusText:"Resume cancelled. Start a new task when you are ready.",runId:f.runId,cancelReason:"resume_declined_by_user",timelineTitle:"Resume cancelled",timelineDetail:"Interrupted run was cancelled by user action.",timelineStatus:"info"});return}Er(f.text,{bypassSuggestion:!0})}},onSwitchConversation:f=>{if(!ae||!p)return;let u=ae.getActiveTask();u&&de&&(u.scrollPosition=de.getScrollPosition());let h=String(j?.getState()?.activeRun?.runId||"").trim(),v=!!(String(p.pendingRun?.id||"").trim()||h);if(u&&u.taskId!==f&&v){Cn("system","Finish the active run before switching conversations.",!0);return}let S=ae.switchActiveTask(f);if(!S){(async()=>{let k=await Tr?.get(f);!k&&Ki&&(k=await Ki.get(f).catch(()=>null),k&&Tr?.upsert(k));let x=k?.payload?.taskRecord;if(!x)return;ae?.createTask("conversation_history_restore",x);let C=ae?.switchActiveTask(x.taskId);C&&(Mm(C,{replayUi:!0}),p.activeTaskId=C.taskId,de?.setActiveConversationId(C.taskId),lo(),Ze())})().catch(()=>{});return}Mm(S,{replayUi:!0}),p.activeTaskId=f,de&&(requestAnimationFrame(()=>{S.scrollPosition!=null&&de.setScrollPosition(S.scrollPosition)}),de.setActiveConversationId(f)),lo(),Ze()},onDeleteConversation:f=>{ae&&(ae.deleteTask(f),Tr?.remove(f,{deletedAt:Date.now()}),Ki?.delete(f).catch(()=>{}),lo(),Ze())},onResumeTask:f=>{if(!ae)return;ae.dispatch(f,{type:"RESUME"}).accepted&&(de?.hidePausedTaskBanner(),ae.assignWorker(f,{}),lo(),Ze())},onCancelPausedTask:f=>{if(!ae)return;ae.dispatch(f,{type:"CANCEL",reason:"user_cancelled_paused_task"}).accepted&&(de?.hidePausedTaskBanner(),ae.archiveTask(f),lo(),Ze())},onTabClick:f=>{j?.switchToLogicalTab(f)},showTaskControls:e.ui?.showTaskControls!==!1,muted:e.ui?.muted,agent:{name:e.ui?.agent?.name},mascot:{disabled:e.ui?.mascot?.disabled,imageUrl:e.ui?.mascot?.imageUrl,mp4Url:e.ui?.mascot?.mp4Url,webmUrl:e.ui?.mascot?.webmUrl,soundEnabled:e.ui?.mascot?.soundEnabled},onOpen:()=>{ci=!0,sl(),p&&(p.uiOpen=!0,p.uiHidden=!1,Ze()),Gn(A),bt("open")},onClose:()=>{p&&(p.uiOpen=!1,Ze()),Gn(A),bt("close")}};de=Dv(c),ir(),Eu(p?.uiMessages||[],p?.timeline||[]),Iu(p),ys(),lo(),Cm("boot").catch(()=>{}),p?.executionMode&&de.setExecutionMode(p.executionMode,{localLogicalTabId:j?.getLocalLogicalTabId(),activeLogicalTabId:j?.getActiveLogicalTabId(),controllerRuntimeId:j?.getCurrentHolderRuntimeId(),canTakeControl:!0,canComposeInObserver:Dw(),note:Pw(p.executionMode)}),lt.onmessage=f=>{rM(f.data||{})};let l=()=>{j?.registerCurrentTab(window.location.href,document.title),j?.broadcastNavigation(window.location.href,document.title),ll("navigation"),cl("navigation"),xs("navigation")};es||(es=History.prototype.pushState),ts||(ts=History.prototype.replaceState);let d=es.bind(history),m=ts.bind(history);history.pushState=function(...f){let u=d(...f);return setTimeout(l,0),u},history.replaceState=function(...f){let u=m(...f);return setTimeout(l,0),u},Yi(window,"popstate",l),p?.uiHidden?de.hide():(de.show(),p?.uiOpen??!!e.openOnInit?de.open():de.close()),p&&(p.uiHidden=!!p.uiHidden,p.uiOpen=!!p.uiOpen,Ze()),j&&(mh(j.getState(),"remote"),na(j.getRole(),{localLogicalTabId:j.getLocalLogicalTabId(),activeLogicalTabId:j.getActiveLogicalTabId(),holderRuntimeId:j.getCurrentHolderRuntimeId()})),Xc()}function Yc(e){if(e=r0(e),ri)return vu(e),ri;gm&&ku(),gm=!0,Do=Md(),It=C1(e.siteId),Yt=gw(e),Tr=Fk({siteId:e.siteId,visitorId:Yt||It}),Ki=new Nd({apiBase:e.apiBase,getSessionToken:()=>Fn(A),siteId:e.siteId,visitorId:Yt||It}),$r=e.visitor||L1(e.siteId),ci=!1,Gi=!1,sl(),ea(),sn=null,Kn=!1;let t=e.sessionId?.trim(),n=D1(e.siteId),r=!t&&e.sessionScope!=="tab"&&Yt?Fx(e.siteId,Yt):void 0,o=Qd(e.siteId,t||r),i=as(e.siteId),a=Array.from(new Set([t?o:n,o,n,r?Qd(e.siteId,r):void 0,i].filter(x=>!!x))),s=null,c=null;for(let x of a){let C=lC(x);if(C){s=C,c=x;break}}Vn=c||o,No=i!==Vn?i:null;let l=a.filter(x=>x!==Vn);xm(e.siteId,Vn);let d=s?null:Fp(e.siteId,{currentUrl:window.location.href,currentHost:window.location.hostname,requireTargetMatch:!0});!s&&!d&&Fp(e.siteId,{currentHost:window.location.hostname,requireTargetMatch:!1})&&(ot("status",{event:"resume_cookie_rejected",reason:"target_or_host_mismatch"}),bc(e.siteId)),d&&(bc(e.siteId),Un=!0,Kn=!0,d.openIntent==="preserve_if_running"&&zx({runId:d.pendingRun?.id,taskId:d.activeTask?.taskId}),d.sessionToken&&uu(d.sessionToken,d.sessionTokenExpiresAt));let m=e.sessionId?.trim(),f=!m&&!s?.sessionId&&!d?.sessionId&&e.sessionScope!=="tab"&&Yt?Fx(e.siteId,Yt):void 0,u=m||s?.sessionId||d?.sessionId||f||crypto.randomUUID(),h=s;if(!s&&d){let x=wm(d.sessionId,It),C=String(d.activeTask?.status||"").trim().toLowerCase(),_=!C||C==="running";d.pendingRun&&_&&(x.pendingRun=Ct({...d.pendingRun,autoResume:!0,taskBoundaryId:d.pendingRun.taskBoundaryId,resumeRequired:!0,resumeReason:"cross_host_navigation"})),d.handoff&&(x.lastNavigationHandoff=Uo({...d.handoff,createdAt:d.handoff.createdAt})),d.activeTask&&(x.activeTask={...Xn("cross_domain_resume"),taskId:d.activeTask.taskId,status:d.activeTask.status}),x.taskEpoch=d.taskEpoch||1,Gp(d.openIntent)&&(x.uiHidden=!1,x.uiOpen=!0),h=x}p=Kc(h,u,It),m&&p.sessionId!==m&&(p=wm(m,It));let b=O1(e.siteId);Ve=I1(p),b&&p.activeTask?.status==="running"&&(Kn=!0,Gp(b.openIntent)&&(p.uiHidden=!1,p.uiOpen=!0,zx({runId:b.runId,taskId:p.activeTask?.taskId})),p.pendingRun=Ct({...p.pendingRun||{},id:p.pendingRun?.id||b.runId,text:p.pendingRun?.text||b.text||Mn||"Continue task",startedAt:p.pendingRun?.startedAt||Date.now(),attempts:p.pendingRun?.attempts||0,autoResume:!0,taskBoundaryId:p.pendingRun?.taskBoundaryId||b.taskBoundaryId||Ve,resumeRequired:!0,resumeReason:b.resumeReason||p.pendingRun?.resumeReason||"agent_navigation"})),p.pendingRun&&!p.pendingRun.taskBoundaryId&&(p.pendingRun=Ct({...p.pendingRun,taskBoundaryId:Ve})),p.workerState&&!p.workerState.taskBoundaryId&&(p.workerState=qr(xn({...p.workerState,taskBoundaryId:Ve}),Ve)),Qc(p),A={...e,deepLink:ac(e.deepLink),pageConfig:po(e.pageConfig),visitorId:Yt||e.visitorId,sessionId:m||p.sessionId,domainScopeMode:Wc(e.domainScopeMode),taskRouting:{mode:e.taskRouting?.mode||"act",actHeuristicThreshold:e.taskRouting?.actHeuristicThreshold,plannerOnActError:e.taskRouting?.plannerOnActError},timing:{navigationDelayMs:vn(e.timing?.navigationDelayMs,0,3e3),actionTimeoutMs:vn(e.timing?.actionTimeoutMs,zc,12e4),domSettleDebounceMs:vn(e.timing?.domSettleDebounceMs,8,500),domSettleMaxWaitMs:vn(e.timing?.domSettleMaxWaitMs,80,5e3),domSettleRetries:vn(e.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:vn(e.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:vn(e.timing?.sparseTreeRetryMaxAttempts,0,4)},transport:{activation:oh(e.transport?.activation),idleCloseMs:ih(e.transport?.idleCloseMs)},stability:{maxPersistBytes:hs(e.stability?.maxPersistBytes,Wt.localPersistBytes),maxSnapshotBytes:hs(e.stability?.maxSnapshotBytes,Wt.snapshotBytes)},task:{singleActiveScope:vw(e.task?.singleActiveScope),tabScope:kw(e.task?.tabScope),resume:{mode:eh(e.task?.resume?.mode),ttlMs:lu(e.task?.resume?.ttlMs)},followup:{mode:xw(e.task?.followup?.mode),ttlMs:nh(e.task?.followup?.ttlMs),minLexicalOverlap:rh(e.task?.followup?.minLexicalOverlap)},observerInput:th(e.task?.observerInput),autoResumePolicy:Zm(e.task?.autoResumePolicy)},chat:{inRun:ww(e.chat?.inRun),resumeFollowup:{mode:Sw(e.chat?.resumeFollowup?.mode),maxTurns:Tw(e.chat?.resumeFollowup?.maxTurns)}},external:{intentSelection:_w(e.external?.intentSelection),requireUserConfirm:Ew(e.external?.requireUserConfirm),adversarialGate:Iw(e.external?.adversarialGate)},taskContext:{...e.taskContext},features:{rover_v2_kernel_runtime:Aw(e.features?.rover_v2_kernel_runtime)}},p.sessionId=A.sessionId,p.runtimeId=It,Vn=Qd(e.siteId,p.sessionId),No=Vn!==as(e.siteId)?as(e.siteId):null,xm(e.siteId,Vn),p.executionMode=p.executionMode||"controller",p.timeline=Kr(p.timeline),p.uiMessages=Wr(p.uiMessages),p.activeTask=hi(p.activeTask,Xn("boot")),qp(p.activeTask?.status)&&(p.pendingRun=void 0,p.workerState=void 0,Un=!1,Kn=!1,ea(),bc(e.siteId),bw(e.siteId)),p.taskEpoch=Math.max(1,Number(p.taskEpoch)||1),Ft=p.executionMode,$r&&hw(e.siteId,$r);let v={maxConcurrentWorkers:e.task?.maxConcurrentWorkers??2,maxQueuedTasks:e.task?.maxQueuedTasks??5,maxArchivedTasks:e.task?.maxArchivedTasks??10};if(p.tasks&&Object.keys(p.tasks).length>0)ae=qa.fromPersistedState({tasks:p.tasks,activeTaskId:p.activeTaskId,taskOrder:p.taskOrder},v);else{ae=qa.fromV1State(p,v);let{tasks:x,activeTaskId:C,taskOrder:_}=ae.toPersistedState();p.tasks=x,p.activeTaskId=C,p.taskOrder=_}let S=ae.getActiveTask();S&&Mm(S,{replayUi:!1}),Ze();try{sessionStorage.setItem(`rover:tab-alive:${e.siteId}`,"1")}catch{}Ar=!1,fs=!1,Gr=!1,Wn=0,au=null;try{let x=sessionStorage.getItem(`rover:sess:${e.siteId}`);if(x){let{t:C,e:_}=JSON.parse(x);C&&typeof C=="string"&&C.startsWith("rvrsess_")&&Number(_)>Date.now()+2e3&&uu(C,Number(_))}}catch{}zM(A),ho(A),ll("boot"),cl("boot"),xs("boot");let k=!!(Rn&&uo>Date.now()+2e3);if((!Ae||k)&&(fs=!0),Vn&&ZC(Vn,l.length?l:No?[No]:void 0),_C(),Yr(!0),Un&&setTimeout(()=>{Un&&!Gr&&(Un=!1,fo())},OR),ri={boot:Yc,init:xh,update:vu,shutdown:ku,open:Nn,close:Lu,show:wh,hide:Sh,send:Th,newTask:dl,endTask:Du,getState:Ah,getAgentCard:jm,requestSigned:Eh,attachLaunch:_h,registerPromptContextProvider:Ih,registerTool:Rh,identify:kh,on:lw},LM(),Yd.length){for(let x of Yd)Ym(x);Yd.length=0}return ri}function xh(e){return Yc(e)}function vu(e){if(!ri||!lt||!A)return;e=r0(e),A={...A,...e,deepLink:ac({...A.deepLink,...e.deepLink}),pageConfig:e.pageConfig!==void 0?po(e.pageConfig):A.pageConfig,domainScopeMode:Wc(e.domainScopeMode??A.domainScopeMode),taskRouting:{...A.taskRouting,...e.taskRouting},timing:{...A.timing,...e.timing,navigationDelayMs:vn(e.timing?.navigationDelayMs??A.timing?.navigationDelayMs,0,3e3),actionTimeoutMs:vn(e.timing?.actionTimeoutMs??A.timing?.actionTimeoutMs,zc,12e4),domSettleDebounceMs:vn(e.timing?.domSettleDebounceMs??A.timing?.domSettleDebounceMs,8,500),domSettleMaxWaitMs:vn(e.timing?.domSettleMaxWaitMs??A.timing?.domSettleMaxWaitMs,80,5e3),domSettleRetries:vn(e.timing?.domSettleRetries??A.timing?.domSettleRetries,0,6),sparseTreeRetryDelayMs:vn(e.timing?.sparseTreeRetryDelayMs??A.timing?.sparseTreeRetryDelayMs,20,1e3),sparseTreeRetryMaxAttempts:vn(e.timing?.sparseTreeRetryMaxAttempts??A.timing?.sparseTreeRetryMaxAttempts,0,4)},transport:{...A.transport,...e.transport,activation:oh(e.transport?.activation??A.transport?.activation),idleCloseMs:ih(e.transport?.idleCloseMs??A.transport?.idleCloseMs)},agentDiscovery:{...A.agentDiscovery,...e.agentDiscovery},stability:{...A.stability,...e.stability,maxPersistBytes:hs(e.stability?.maxPersistBytes??A.stability?.maxPersistBytes,Wt.localPersistBytes),maxSnapshotBytes:hs(e.stability?.maxSnapshotBytes??A.stability?.maxSnapshotBytes,Wt.snapshotBytes)},task:{...A.task,...e.task,singleActiveScope:vw(e.task?.singleActiveScope??A.task?.singleActiveScope),tabScope:kw(e.task?.tabScope??A.task?.tabScope),resume:{mode:eh(e.task?.resume?.mode??A.task?.resume?.mode),ttlMs:lu(e.task?.resume?.ttlMs??A.task?.resume?.ttlMs)},followup:{mode:xw(e.task?.followup?.mode??A.task?.followup?.mode),ttlMs:nh(e.task?.followup?.ttlMs??A.task?.followup?.ttlMs),minLexicalOverlap:rh(e.task?.followup?.minLexicalOverlap??A.task?.followup?.minLexicalOverlap)},observerInput:th(e.task?.observerInput??A.task?.observerInput),autoResumePolicy:Zm(e.task?.autoResumePolicy??A.task?.autoResumePolicy)},chat:{...A.chat,...e.chat,inRun:ww(e.chat?.inRun??A.chat?.inRun),resumeFollowup:{mode:Sw(e.chat?.resumeFollowup?.mode??A.chat?.resumeFollowup?.mode),maxTurns:Tw(e.chat?.resumeFollowup?.maxTurns??A.chat?.resumeFollowup?.maxTurns)}},external:{...A.external,...e.external,intentSelection:_w(e.external?.intentSelection??A.external?.intentSelection),requireUserConfirm:Ew(e.external?.requireUserConfirm??A.external?.requireUserConfirm),adversarialGate:Iw(e.external?.adversarialGate??A.external?.adversarialGate)},taskContext:{...A.taskContext,...e.taskContext},features:{...A.features,...e.features,rover_v2_kernel_runtime:Aw(e.features?.rover_v2_kernel_runtime??A.features?.rover_v2_kernel_runtime)},ui:{...A.ui,...e.ui,agent:{...A.ui?.agent,...e.ui?.agent},experience:{...A.ui?.experience,...e.ui?.experience},panel:{...A.ui?.panel,...e.ui?.panel},voice:{...A.ui?.voice,...e.ui?.voice}},tools:{...A.tools,...e.tools,client:e.tools?.client??A.tools?.client,web:{...A.tools?.web,...e.tools?.web}}},Yt=gw(A),Yt&&(A.visitorId=Yt),e.sessionId&&p?(p.sessionId=e.sessionId,Vn=Qd(A.siteId,p.sessionId),No=Vn!==as(A.siteId)?as(A.siteId):null,xm(A.siteId,Vn),Ze(),hu(A)):(e.sessionScope||e.tabPolicy)&&hu(A),gh(A),Tu(A),ho(A);let t=e.apiBase!==void 0||e.publicKey!==void 0||e.authToken!==void 0||e.sessionToken!==void 0||e.siteId!==void 0||e.siteKeyId!==void 0||e.ui?.shortcuts!==void 0||e.ui?.greeting!==void 0;if(Rt){typeof e.allowActions=="boolean"&&Rt.setAllowActions(e.allowActions&&Ft==="controller");let n=Ft==="controller"&&(A?.allowActions??!0),r=Ft==="observer"?"observer":"controller";Rt?.setActionGateContext?.({mode:r,controllerRuntimeId:j?.getCurrentHolderRuntimeId(),activeLogicalTabId:j?.getActiveLogicalTabId(),localLogicalTabId:j?.getLocalLogicalTabId(),reason:Zc(r,n)}),(e.allowedDomains||e.domainScopeMode)&&Rt.setNavigationPolicy({allowedDomains:e.allowedDomains,domainScopeMode:Wc(e.domainScopeMode??A.domainScopeMode)})}lt.postMessage({type:"update_config",config:{...e,...oa(),pageConfig:Gc(A),publicKey:void 0,authToken:Fn(A),sessionToken:Rn,sessionId:p?.sessionId,activeRunId:p?.pendingRun?.id,sessionEpoch:Ae?.getEpoch?.()??Lo,sessionSeq:Ae?.getLastSeq?.()??0}}),yu(A),t?g0(A):Xc(),e.visitor&&kh(e.visitor),typeof e.openOnInit=="boolean"&&(e.openOnInit||Qm(p)?Nn():Lu()),ll("update"),cl("update"),xs("update"),Yr()}function ku(){Km(),Gm(),fw(),Vm(),cu(),ea(),ir(),ss(),bh(!0),Wi(!0),sh(),Jt?.markDirty(),Jt?.syncNow({push:!0,pull:!1}),Jt?.stop(),Jt=null,Ae?.stop(),Ae=null,Rn=void 0,uo=0,Lo=1,ai(void 0),jc="",j?.stop(),j=null,ae?.shutdown(),ae=null,lt?.terminate(),lt=null,de?.destroy(),de=null,Rt=null,A=null,Ar=!1,Gr=!1,Wn=0,Ut&&(clearTimeout(Ut),Ut=null),Qo&&(clearTimeout(Qo),Qo=null),Xd=!1,Bn.clear(),co.clear(),_r.clear(),ao.clear(),Uc(),qi(),$i="",Dc="",Ac="",uM(),Ja="",ji="",bu(),Bc="",Ya="",ti=null,kn=!1,li=!1,$c.clear(),ym=!1,so=!1,Ve="",It="",Yt=void 0,$r=void 0,ci=!1,Gi=!1,sl(),sn=null,um="",ds=!1,Gd=!1,Za=!1,nr=[],nw=0,lm=0,dm=0,iu=0,Mc=!1,Po&&(clearTimeout(Po),Po=null),Am="",Ga="",Ft="controller",jr=!0,ii=null,Do=null,au=null,Rc=0;try{let e=window.rtrvrAIClearObserverPause;typeof e=="function"&&e()}catch{}ri=null;for(let e of oi)try{e.target.removeEventListener(e.event,e.handler,e.options)}catch{}if(oi.length=0,es){try{History.prototype.pushState=es}catch{}es=null}if(ts){try{History.prototype.replaceState=ts}catch{}ts=null}mm=!1,hm=!1,bm=!1,kn=!1,li=!1,gm=!1}function Nn(){ci=!0,sl(),li=!0,de?.show(),de?.open(),p&&(p.uiHidden=!1,p.uiOpen=!0,Ze()),Gn(A)}function Lu(){de?.close(),ea(),p&&(p.uiOpen=!1,Ze()),Gn(A)}function wh(){de?.show(),p&&(p.uiHidden=!1,Ze()),Gn(A)}function Sh(){de?.hide(),ea(),p&&(p.uiHidden=!0,p.uiOpen=!1,Ze()),Gn(A)}function Th(e){e?.trim()&&Er(e)}async function _h(e){if(!A)return null;await ho(A);let t=await Ae?.attachLaunch({requestId:e.requestId,attachToken:e.attachToken})||null;if(!t)return null;let n=Xe?.requestId===t.requestId?Xe:null;return Xe={requestId:t.requestId,attachToken:e.attachToken,handleKey:n?.handleKey||`direct_attach:${t.requestId}`,status:t.status,detail:t.detail,executionTarget:t.executionTarget,runId:t.runId,promptDispatchState:gu(t)?"pending":"started",pendingEvents:n?.pendingEvents||[],ingestInFlight:n?.ingestInFlight||!1,lastNeedsInputSignature:n?.lastNeedsInputSignature,finalObservationRunId:n?.finalObservationRunId,attachCompletedAt:Date.now()},Xi(),gu(t)?d0(t):Nn(),t}async function Eh(e,t={}){if(!A)throw new Error("Rover is not booted.");await ho(A),await Ae?.ensureSession(!1);let n=Ae?.getSessionToken()||Rn||Fn(A);if(!n)throw new Error("Rover signed request is unavailable without an active Rover session.");let r=new Headers(t.headers||void 0);return r.has("Authorization")||r.set("Authorization",`Bearer ${n}`),p?.sessionId&&!r.has("X-Rover-Session-Id")&&r.set("X-Rover-Session-Id",p.sessionId),A.siteId&&!r.has("X-Rover-Site-Id")&&r.set("X-Rover-Site-Id",A.siteId),typeof window<"u"&&!r.has("X-Rover-Host")&&r.set("X-Rover-Host",window.location.hostname),fetch(e,{...t,headers:r})}function Ih(e){return typeof e!="function"?()=>{}:($c.add(e),()=>{$c.delete(e)})}function dl(e){if(!p)return;let t=e?.reason||"manual_new_task",n=e?.clearUi!==!1;if(Qi=void 0,mo=void 0,ps=0,p.pendingRun&&(mi(p.pendingRun.id),lt?.postMessage({type:"cancel_run",runId:p.pendingRun.id}),ui(p.pendingRun.id,t,{attemptImmediately:!0}),Ae?.controlRun({action:"cancel",runId:p.pendingRun.id,reason:t}),j?.releaseWorkflowLock(p.pendingRun.id)),Qt&&(clearTimeout(Qt),Qt=null),de?.setRunning(!1),de?.setQuestionPrompt(void 0),Gr=!1,Wn=0,ol(),ae){let i=ae.createTask(t);ae.switchActiveTask(i.taskId),ae.dispatch(i.taskId,{type:"START",reason:t})}let r=gi({type:"new_task",reason:t,at:Date.now()},{syncShared:!1,persist:!1});if(!r)return;let o=Math.max(1,Number(p.taskEpoch)||1);n&&(p.uiMessages=[],p.timeline=[],p.uiStatus=void 0,p.transientStatus=void 0,uh()),j?.startNewTask({taskId:r.taskId,startedAt:r.startedAt,boundaryReason:t,status:"running",lastUserAt:void 0,lastAssistantAt:void 0}),gr({forceReset:!0,persist:!1}),j?.setActiveRun(void 0),j?.setWorkerContext(void 0),Vw([]),Xt(void 0),Ze(),lt?.postMessage({type:"start_new_task",taskId:r.taskId,...oa()}),Ae?.controlRun({action:"new_task",reason:t}),bt("visit_started",{visitId:r.taskId,reason:t,taskEpoch:o})}function Du(e){if(!p)return;let t=e?.reason||"manual_end_task";if(Qi=void 0,mo=void 0,ps=0,Gr=!1,Wn=0,Kn=!1,ol(),ae){let o=ae.getActiveTask();o&&ae.dispatch(o.taskId,{type:"CANCEL",reason:t})}let n=p.pendingRun?.id,r=gi({type:"terminal",terminal:"ended",reason:t,at:Date.now()},{syncShared:!1,persist:!1,rotateBoundary:!1});r&&(n&&(mi(n),lt?.postMessage({type:"cancel_run",runId:n}),ui(n,t,{attemptImmediately:!0}),Ae?.controlRun({action:"cancel",runId:n,reason:t}),j?.releaseWorkflowLock(n)),Zt(void 0),Ve=Xr(),p.workerState=void 0,p.taskTabScope=void 0,gr({forceReset:!0,persist:!1}),Ir(),Qt&&(clearTimeout(Qt),Qt=null),de?.setRunning(!1),de?.setQuestionPrompt(void 0),ir(),Xt(void 0),Ae?.controlRun({action:"end_task",runId:n,reason:t}),j?.endTask(t),j?.setActiveRun(void 0),j?.setWorkerContext(void 0),Ze(),_t({kind:"info",title:"Task ended",detail:"Start a new task when you are ready.",status:"info"}),bt("visit_ended",{visitId:r.taskId,reason:t,endedAt:r.endedAt}))}function Ah(){let e=H1(Fn()),t=p?hh(p):null,n=iw();return t&&e&&(t.currentAgentAttribution=e),t&&(t.launchBinding=n),{mode:Ft,runtimeId:It,runtimeState:t,sharedState:j?.getState()||null,launchBinding:n,pendingTaskSuggestion:ii,currentAgentAttribution:e}}function Rh(e,t){let n=h1(e);if(!ri||!Rt||!lt){Yd.push({def:n,handler:t});return}Ym({def:n,handler:t})}function HM(e){if(!e)return;let t=String(e);if(t==="init")return"init";if(t==="boot")return"boot";if(t==="update")return"update";if(t==="shutdown")return"shutdown";if(t==="open")return"open";if(t==="close")return"close";if(t==="show")return"show";if(t==="hide")return"hide";if(t==="send")return"send";if(t==="newTask")return"newTask";if(t==="endTask")return"endTask";if(t==="attachLaunch")return"attachLaunch";if(t==="getState")return"getState";if(t==="getAgentCard")return"getAgentCard";if(t==="requestSigned")return"requestSigned";if(t==="registerPromptContextProvider")return"registerPromptContextProvider";if(t==="registerTool")return"registerTool";if(t==="on")return"on"}var jM={normalizePendingRunResumeReason:sc,sanitizeWorkerState:xn,cloneRuntimeStateForCheckpoint:hh,getPersistGovernorConfig:()=>({minPersistIntervalMs:Rm,maxCoalesceDelayMs:$w}),getTelemetryFastLaneEvents:()=>Array.from(rw.values()),normalizePromptContextEntry:aw,buildPublicRunStartedPayload:sw,buildPublicRunLifecyclePayload:cw,resolveEffectiveShortcutsForTests:(e,t)=>{let n=sn;sn=t?{shortcuts:Bo(t.shortcuts||[]),businessType:ws(t.businessType),experience:si(t.experience),greeting:pi(t.greeting),voice:ia(t.voice),aiAccess:aa(t.aiAccess),limits:il(t.limits),pageConfig:po(t.pageConfig),agentDiscovery:Oi(t.agentDiscovery),version:typeof t.version=="string"?t.version:void 0}:null;try{return Mu(e)}finally{sn=n}}};function b0(){let e=window,t=e.rover,n=((r,...o)=>{let i=HM(r),a=i?n[i]:void 0;if(typeof a=="function")return a(...o)});if(n.boot=Yc,n.init=xh,n.update=vu,n.shutdown=ku,n.open=Nn,n.close=Lu,n.show=wh,n.hide=Sh,n.send=Th,n.attachLaunch=_h,n.newTask=dl,n.endTask=Du,n.getState=Ah,n.getAgentCard=jm,n.requestSigned=Eh,n.registerPromptContextProvider=Ih,n.registerTool=Rh,n.on=lw,e.rover=n,typeof t=="function"&&Array.isArray(t.q))for(let r of t.q){let[o,...i]=Array.isArray(r)?r:Array.from(r);typeof o=="string"&&n(o,...i)}if(!ri){let r=typeof globalThis.__ROVER_SCRIPT_EL__<"u"?globalThis.__ROVER_SCRIPT_EL__:null;if(r){let o=Ap(r);o&&Yc(o)}}}b0();return H0($M);})();
|